diff options
author | Martin Weinelt <hexa@darmstadt.ccc.de> | 2024-01-10 16:09:42 +0100 |
---|---|---|
committer | Martin Weinelt <hexa@darmstadt.ccc.de> | 2024-01-10 16:09:52 +0100 |
commit | 10b01dcc8907eb56a67a14fb210f7c5be1c8a2e5 (patch) | |
tree | daeae66b677e82faa252f0721af6f2e40411e39b | |
parent | 3c4b68b54d7123b14ff0c5c40e67883c32afe3dd (diff) | |
parent | fb8c64e6a1d68202edc93d284eb491fd266db0d0 (diff) |
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/types-setuptools/default.nix
30 files changed, 447 insertions, 173 deletions
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index ca6910b795d8..d8e4aab4feea 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -1359,6 +1359,7 @@ in { '' else '' jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \ + '${if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.9" then ".production.main as $main | del(.production.main) | .production |= {main: $main} + ." else ""}' \ >'${cfg.statePath}/config/database.yml' '' } diff --git a/nixos/modules/services/web-apps/dokuwiki.nix b/nixos/modules/services/web-apps/dokuwiki.nix index 1df1cbf9f0e1..256ab3229ea6 100644 --- a/nixos/modules/services/web-apps/dokuwiki.nix +++ b/nixos/modules/services/web-apps/dokuwiki.nix @@ -122,62 +122,8 @@ let }; }; - # The current implementations of `doRename`, `mkRenamedOptionModule` do not provide the full options path when used with submodules. - # They would only show `settings.useacl' instead of `services.dokuwiki.sites."site1.local".settings.useacl' - # The partial re-implementation of these functions is done to help users in debugging by showing the full path. - mkRenamed = from: to: { config, options, name, ... }: let - pathPrefix = [ "services" "dokuwiki" "sites" name ]; - fromPath = pathPrefix ++ from; - fromOpt = getAttrFromPath from options; - toOp = getAttrsFromPath to config; - toPath = pathPrefix ++ to; - in { - options = setAttrByPath from (mkOption { - visible = false; - description = lib.mdDoc "Alias of {option}${showOption toPath}"; - apply = x: builtins.trace "Obsolete option `${showOption fromPath}' is used. It was renamed to ${showOption toPath}" toOp; - }); - config = mkMerge [ - { - warnings = optional fromOpt.isDefined - "The option `${showOption fromPath}' defined in ${showFiles fromOpt.files} has been renamed to `${showOption toPath}'."; - } - (lib.modules.mkAliasAndWrapDefsWithPriority (setAttrByPath to) fromOpt) - ]; - }; - siteOpts = { options, config, lib, name, ... }: { - imports = [ - (mkRenamed [ "aclUse" ] [ "settings" "useacl" ]) - (mkRenamed [ "superUser" ] [ "settings" "superuser" ]) - (mkRenamed [ "disableActions" ] [ "settings" "disableactions" ]) - ({ config, options, ... }: let - showPath = suffix: lib.options.showOption ([ "services" "dokuwiki" "sites" name ] ++ suffix); - replaceExtraConfig = "Please use `${showPath ["settings"]}' to pass structured settings instead."; - ecOpt = options.extraConfig; - ecPath = showPath [ "extraConfig" ]; - in { - options.extraConfig = mkOption { - visible = false; - apply = x: throw "The option ${ecPath} can no longer be used since it's been removed.\n${replaceExtraConfig}"; - }; - config.assertions = [ - { - assertion = !ecOpt.isDefined; - message = "The option definition `${ecPath}' in ${showFiles ecOpt.files} no longer has any effect; please remove it.\n${replaceExtraConfig}"; - } - { - assertion = config.mergedConfig.useacl -> (config.acl != null || config.aclFile != null); - message = "Either ${showPath [ "acl" ]} or ${showPath [ "aclFile" ]} is mandatory if ${showPath [ "settings" "useacl" ]} is true"; - } - { - assertion = config.usersFile != null -> config.mergedConfig.useacl != false; - message = "${showPath [ "settings" "useacl" ]} is required when ${showPath [ "usersFile" ]} is set (Currently defined as `${config.usersFile}' in ${showFiles options.usersFile.files})."; - } - ]; - }) - ]; options = { enable = mkEnableOption (lib.mdDoc "DokuWiki web application"); @@ -392,21 +338,6 @@ let ''; }; - # Required for the mkRenamedOptionModule - # TODO: Remove me once https://github.com/NixOS/nixpkgs/issues/96006 is fixed - # or we don't have any more notes about the removal of extraConfig, ... - warnings = mkOption { - type = types.listOf types.unspecified; - default = [ ]; - visible = false; - internal = true; - }; - assertions = mkOption { - type = types.listOf types.unspecified; - default = [ ]; - visible = false; - internal = true; - }; }; }; in @@ -440,10 +371,6 @@ in # implementation config = mkIf (eachSite != {}) (mkMerge [{ - warnings = flatten (mapAttrsToList (_: cfg: cfg.warnings) eachSite); - - assertions = flatten (mapAttrsToList (_: cfg: cfg.assertions) eachSite); - services.phpfpm.pools = mapAttrs' (hostName: cfg: ( nameValuePair "dokuwiki-${hostName}" { inherit user; diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix index 895b39bb9cc2..d299148e6ade 100644 --- a/pkgs/applications/audio/ft2-clone/default.nix +++ b/pkgs/applications/audio/ft2-clone/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "ft2-clone"; - version = "1.74"; + version = "1.75"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - hash = "sha256-plr5vmtYL0adeocY4/3hRI2RQ7lDkLvBbQPq2Jw6MvU="; + hash = "sha256-K+RUsRr19fc0E9VhZWIawxkGXCTwqXl3a13pRiRxDPg="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/misc/archivebox/default.nix b/pkgs/applications/misc/archivebox/default.nix index 42f9feb421fe..4979a683ebe0 100644 --- a/pkgs/applications/misc/archivebox/default.nix +++ b/pkgs/applications/misc/archivebox/default.nix @@ -1,7 +1,16 @@ { lib +, stdenv , python3 , fetchFromGitHub , fetchPypi +, curl +, wget +, git +, ripgrep +, postlight-parser +, readability-extractor +, chromium +, yt-dlp }: let @@ -34,6 +43,8 @@ let rev = "e43f383dae3a35237e42f6acfe1207a8e7e7bdf5"; hash = "sha256-NAMa78KhAuoJfp0Cb0Codz84sRfRQ1JhSLNYRI4GBPM="; }; + # possibly a real issue, but that version is not supported anymore + disabledTests = [ "test_should_highlight_bash_syntax_without_name" ]; }); }; }; @@ -41,31 +52,51 @@ in python.pkgs.buildPythonApplication rec { pname = "archivebox"; - version = "0.6.2"; + version = "0.7.2"; + pyproject = true; src = fetchPypi { inherit pname version; - sha256 = "sha256-zHty7lTra6yab9d0q3EqsPG3F+lrnZL6PjQAbL1A2NY="; + hash = "sha256-hdBUEX2tOWN2b11w6aG3x7MP7KQTj4Rwc2w8XvABGf4="; }; + nativeBuildInputs = with python.pkgs; [ + pdm-backend + ]; + propagatedBuildInputs = with python.pkgs; [ - requests - mypy-extensions + croniter + dateparser django django-extensions - dateparser - youtube-dl + ipython + mypy-extensions python-crontab - croniter + requests w3lib - ipython + yt-dlp ]; + makeWrapperArgs = [ + "--set USE_NODE True" # used through dependencies, not needed explicitly + "--set READABILITY_BINARY ${lib.meta.getExe readability-extractor}" + "--set MERCURY_BINARY ${lib.meta.getExe postlight-parser}" + "--set CURL_BINARY ${lib.meta.getExe curl}" + "--set RIPGREP_BINARY ${lib.meta.getExe ripgrep}" + "--set WGET_BINARY ${lib.meta.getExe wget}" + "--set GIT_BINARY ${lib.meta.getExe git}" + "--set YOUTUBEDL_BINARY ${lib.meta.getExe yt-dlp}" + ] ++ (if (lib.meta.availableOn stdenv.hostPlatform chromium) then [ + "--set CHROME_BINARY ${chromium}/bin/chromium-browser" + ] else [ + "--set-default USE_CHROME False" + ]); + meta = with lib; { description = "Open source self-hosted web archiving"; homepage = "https://archivebox.io"; license = licenses.mit; - maintainers = with maintainers; [ siraben ]; + maintainers = with maintainers; [ siraben viraptor ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/bazecor/default.nix b/pkgs/applications/misc/bazecor/default.nix index 894f2af320dd..0767c3c03818 100644 --- a/pkgs/applications/misc/bazecor/default.nix +++ b/pkgs/applications/misc/bazecor/default.nix @@ -5,13 +5,13 @@ appimageTools.wrapAppImage rec { pname = "bazecor"; - version = "1.3.8"; + version = "1.3.9"; src = appimageTools.extract { inherit pname version; src = fetchurl { url = "https://github.com/Dygmalab/Bazecor/releases/download/v${version}/Bazecor-${version}-x64.AppImage"; - hash = "sha256-SwlSH5z0p9ZVoDQzj4GxO3g/iHG8zQZndE4TmqdMtZQ="; + hash = "sha256-qve5xxhhyVej8dPDkZ7QQdeDUmqGO4pHJTykbS4RhAk="; }; # Workaround for https://github.com/Dygmalab/Bazecor/issues/370 @@ -26,7 +26,7 @@ appimageTools.wrapAppImage rec { # also make sure to update the udev rules in ./10-dygma.rules; most recently # taken from - # https://github.com/Dygmalab/Bazecor/blob/v1.3.8/src/main/utils/udev.ts#L6 + # https://github.com/Dygmalab/Bazecor/blob/v1.3.9/src/main/utils/udev.ts#L6 extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.glib @@ -39,6 +39,12 @@ appimageTools.wrapAppImage rec { extraInstallCommands = '' mv $out/bin/bazecor-* $out/bin/bazecor + install -m 444 -D ${src}/Bazecor.desktop -t $out/share/applications + substituteInPlace $out/share/applications/Bazecor.desktop \ + --replace 'Exec=Bazecor' 'Exec=bazecor' + + install -m 444 -D ${src}/bazecor.png -t $out/share/pixmaps + mkdir -p $out/lib/udev/rules.d ln -s --target-directory=$out/lib/udev/rules.d ${./10-dygma.rules} ''; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index b42880020653..0f848d77c678 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -15,9 +15,9 @@ version = "2023-10-23"; }; }; - hash = "sha256-lT1CCwYj0hT4tCJb689mZwNecUsEwcfn2Ot8r9LBT+M="; - hash_deb_amd64 = "sha256-4BWLn0+gYNWG4DsolbY6WlTvXWl7tZIZrnqXlrGUGjQ="; - version = "120.0.6099.199"; + hash = "sha256-yqk0bh68onWqML20Q8eDsTT9o+eKtta7kS9HL74do6Q="; + hash_deb_amd64 = "sha256-MxIyOXssQ1Ke5WZbBbB4FpDec+rn46m8+PbMdmxaQCA="; + version = "120.0.6099.216"; }; ungoogled-chromium = { deps = { diff --git a/pkgs/applications/networking/cluster/atlantis/default.nix b/pkgs/applications/networking/cluster/atlantis/default.nix index ba99106c0960..1f90627aa2ad 100644 --- a/pkgs/applications/networking/cluster/atlantis/default.nix +++ b/pkgs/applications/networking/cluster/atlantis/default.nix @@ -2,16 +2,20 @@ buildGoModule rec { pname = "atlantis"; - version = "0.22.3"; + version = "0.27.0"; src = fetchFromGitHub { owner = "runatlantis"; repo = "atlantis"; rev = "v${version}"; - sha256 = "sha256-A/FT9t5Z+Iw1mVwS3d5Cc86A9e6jVbEtmEWroVUhhtw="; + hash = "sha256-a+xrmEHkSh5kicxIIxnoXgF9ep2ay5kCXwMR2sAVJIA="; }; + ldflags = [ + "-X=main.version=${version}" + "-X=main.date=1970-01-01T00:00:00Z" + ]; - vendorHash = "sha256-KUkh5yx+v5g0N4yIpgpt3i+uCtOtR0Jvf2PFQcGWtm8="; + vendorHash = "sha256-ZbCNHARgliw9TMkHyS9k+cnWgbdCCJ+8nMdJMu66Uvo="; subPackages = [ "." ]; diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix index a859efd3fae7..6aa4ea71b6a1 100644 --- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix +++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , makeWrapper , makeDesktopItem , copyDesktopItems @@ -20,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "teams-for-linux"; - version = "1.4.1"; + version = "1.4.2"; src = fetchFromGitHub { owner = "IsmaelMartinez"; repo = "teams-for-linux"; rev = "v${finalAttrs.version}"; - hash = "sha256-1URS9VPqV58p8RUA47j8sdqYqps1Ruo0aqdZXedvPX8="; + hash = "sha256-Y1SVUcBRDM+nyWuT0r0WS/PfKNkQd9x9DYlmJUFoeoo="; }; offlineCache = fetchYarnDeps { @@ -34,16 +33,6 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ef+JW5ud9LlRxaCJC2iOT5N7FgZO7IkAABJcMQPvIBA="; }; - patches = [ - # remove when IsmaelMartinez/teams-for-linux#1058 is merged - (fetchpatch { - name = "teams-for-linux-fix-version.patch"; - url = "https://github.com/IsmaelMartinez/teams-for-linux/commit/1d14947eef35c6a2e0cbdfcce405820f8dd36c68.diff"; - hash = "sha256-kj2jEAqgZ0frUw85hY23mFYFcXz95z/WQSDymsheDfg="; - }) - ]; - - nativeBuildInputs = [ yarn prefetch-yarn-deps nodejs copyDesktopItems makeWrapper ]; configurePhase = '' diff --git a/pkgs/applications/networking/instant-messengers/webcord/default.nix b/pkgs/applications/networking/instant-messengers/webcord/default.nix index 6549c533c26f..5e76ac99e277 100644 --- a/pkgs/applications/networking/instant-messengers/webcord/default.nix +++ b/pkgs/applications/networking/instant-messengers/webcord/default.nix @@ -5,6 +5,7 @@ , python3 , pipewire , libpulseaudio +, libnotify , xdg-utils , electron_28 , makeDesktopItem @@ -44,6 +45,7 @@ buildNpmPackage rec { libPath = lib.makeLibraryPath [ libpulseaudio pipewire + libnotify ]; binPath = lib.makeBinPath [ xdg-utils ]; in diff --git a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix index 235991396f57..79b553a5dc92 100644 --- a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, mercury, pandoc, ncurses, gpgme }: +{ lib, stdenv, fetchFromGitHub, mercury, pandoc, ncurses, gpgme, coreutils, file }: stdenv.mkDerivation rec { pname = "notmuch-bower"; @@ -12,6 +12,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ mercury pandoc ]; + postPatch = '' + substituteInPlace src/compose.m --replace 'shell_quoted("base64' 'shell_quoted("${coreutils}/bin/base64' + substituteInPlace src/detect_mime_type.m --replace 'shell_quoted("file' 'shell_quoted("${file}/bin/file' + ''; buildInputs = [ ncurses gpgme ]; diff --git a/pkgs/by-name/po/postlight-parser/package.json b/pkgs/by-name/po/postlight-parser/package.json new file mode 100644 index 000000000000..11b49c9e686e --- /dev/null +++ b/pkgs/by-name/po/postlight-parser/package.json @@ -0,0 +1,165 @@ +{ + "name": "@postlight/parser", + "version": "2.2.3", + "description": "Postlight Parser transforms web pages into clean text. Publishers and programmers use it to make the web make sense, and readers use it to read any web article comfortably.", + "author": "Postlight <mercury@postlight.com>", + "homepage": "https://reader.postlight.com", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/postlight/parser.git" + }, + "bugs": { + "url": "https://github.com/postlight/parser/issues" + }, + "keywords": [ + "mercury", + "parser", + "reader", + "web", + "content" + ], + "files": [ + "dist", + "cli.js", + "src/shims/" + ], + "main": "./dist/mercury.js", + "bin": { + "mercury-parser": "./cli.js", + "postlight-parser": "./cli.js" + }, + "scripts": { + "lint": "eslint . --fix", + "lint:ci": "remark . && eslint .", + "lint-fix-quiet": "eslint --fix --quiet", + "build": "yarn lint && rollup -c && yarn test:build", + "build:ci": "rollup -c && yarn test:build", + "build:web": "yarn lint && rollup -c rollup.config.web.js && yarn test:build:web", + "build:esm": "yarn lint && rollup -c rollup.config.esm.js && yarn test:build:esm", + "build:esm:ci": "rollup -c rollup.config.esm.js && yarn test:build:esm", + "build:web:ci": "rollup -c rollup.config.web.js && yarn test:build:web", + "release": "yarn build && yarn build:web", + "build:generator": "rollup -c scripts/rollup.config.js", + "test_build": "rollup -c", + "test": "yarn test:node && yarn test:web", + "test:node": "jest --json --outputFile test-output.json", + "test:web": "node ./node_modules/karma/bin/karma start karma.conf.js --auto-watch", + "test:build": "cd ./scripts && jest check-build.test.js", + "test:build:web": "node ./scripts/proxy-browser-test.js", + "test:build:esm": "node ./scripts/proxy-browser-test.js", + "watch:test": "jest --watch", + "generate-parser": "node ./dist/generate-custom-parser.js" + }, + "engines": { + "node": ">=10" + }, + "devDependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/polyfill": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "@babel/runtime": "^7.0.0", + "@jesses/circle-github-bot": "^2.1.0", + "@octokit/rest": "^16.9.0", + "babel-core": "^7.0.0-bridge.0", + "babel-eslint": "^10.0.1", + "babel-jest": "^23.4.2", + "babel-plugin-module-alias": "^1.6.0", + "babel-plugin-module-resolver": "^3.1.2", + "babelify": "^10.0.0", + "babelrc-rollup": "^3.0.0", + "brfs": "^2.0.1", + "brfs-babel": "^2.0.0", + "browserify": "^16.2.3", + "changelog-maker": "^2.3.0", + "eslint": "^5.12.0", + "eslint-config-airbnb": "^17.1.0", + "eslint-config-prettier": "^6.1.0", + "eslint-import-resolver-babel-module": "^2.2.1", + "eslint-plugin-babel": "^5.3.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-jsx-a11y": "^6.1.2", + "eslint-plugin-react": "^7.12.3", + "express": "^4.16.4", + "husky": "^3.0.0", + "inquirer": "^7.0.0", + "jasmine-core": "^2.5.2", + "jest": "^23.6.0", + "jest-cli": "^23.6.0", + "karma": "^6.3.16", + "karma-browserify": "8.1.0", + "karma-chrome-launcher": "^3.0.0", + "karma-cli": "^2.0.0", + "karma-jasmine": "^1.0.2", + "karma-mocha": "^1.3.0", + "karma-requirejs": "^1.1.0", + "lint-staged": "^8.1.0", + "mocha": "^6.0.0", + "nock": "^10.0.6", + "ora": "^4.0.0", + "prettier": "^1.15.3", + "remark-cli": "^7.0.0", + "remark-lint": "^6.0.4", + "remark-preset-lint-recommended": "^3.0.2", + "request": "^2.88.2", + "requirejs": "^2.3.6", + "rollup": "^1.1.0", + "rollup-plugin-babel": "^4.0.1", + "rollup-plugin-commonjs": "^9.2.0", + "rollup-plugin-node-globals": "^1.4.0", + "rollup-plugin-node-resolve": "^2.0.0", + "rollup-plugin-terser": "^6.1.0", + "rollup-plugin-uglify": "^6.0.1", + "watchify": "^3.11.1" + }, + "dependencies": { + "@babel/runtime-corejs2": "^7.2.0", + "@postlight/ci-failed-test-reporter": "^1.0", + "browser-request": "github:postlight/browser-request#feat-add-headers-to-response", + "cheerio": "^0.22.0", + "difflib": "github:postlight/difflib.js", + "ellipsize": "0.1.0", + "iconv-lite": "0.5.0", + "jquery": "^3.5.0", + "moment": "^2.23.0", + "moment-parseformat": "3.0.0", + "moment-timezone": "0.5.37", + "postman-request": "^2.88.1-postman.31", + "string-direction": "^0.1.2", + "turndown": "^7.1.1", + "valid-url": "^1.0.9", + "wuzzy": "^0.1.4", + "yargs-parser": "^15.0.1" + }, + "bundleDependencies": [ + "jquery", + "moment-timezone", + "browser-request" + ], + "browser": { + "main": "./dist/mercury.web.js", + "cheerio": "./src/shims/cheerio-query", + "jquery": "./node_modules/jquery/dist/jquery.min.js", + "postman-request": "browser-request", + "iconv-lite": "./src/shims/iconv-lite", + "moment-timezone": "./node_modules/moment-timezone/builds/moment-timezone-with-data-2012-2022.min.js" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.js": [ + "eslint --fix", + "prettier --write", + "git add" + ], + "*.{json,css,md}": [ + "remark .", + "prettier --write", + "git add" + ] + } +} diff --git a/pkgs/by-name/po/postlight-parser/package.nix b/pkgs/by-name/po/postlight-parser/package.nix new file mode 100644 index 000000000000..c00028b9a401 --- /dev/null +++ b/pkgs/by-name/po/postlight-parser/package.nix @@ -0,0 +1,36 @@ +{ lib +, stdenv +, mkYarnPackage +, fetchFromGitHub +, fetchYarnDeps +}: + +mkYarnPackage rec { + pname = "postlight-parser"; + version = "2.2.3"; + + src = fetchFromGitHub { + owner = "postlight"; + repo = "parser"; + rev = "v${version}"; + hash = "sha256-k6m95FHeJ+iiWSeY++1zds/bo1RtNXbnv2spaY/M+L0="; + }; + + packageJSON = ./package.json; + + doDist = false; + + offlineCache = fetchYarnDeps { + yarnLock = "${src}/yarn.lock"; + hash = "sha256-Vs8bfkhEbPv33ew//HBeDnpQcyWveByHi1gUsdl2CNI="; + }; + + meta = with lib; { + changelog = "https://github.com/postlight/parser/blob/${src.rev}/CHANGELOG.md"; + homepage = "https://reader.postlight.com"; + description = "Extracts the bits that humans care about from any URL you give it"; + license = licenses.mit; + maintainers = with maintainers; [ viraptor ]; + mainProgram = "postlight-parser"; + }; +} diff --git a/pkgs/by-name/re/readability-extractor/package.nix b/pkgs/by-name/re/readability-extractor/package.nix new file mode 100644 index 000000000000..49d8333dd8e8 --- /dev/null +++ b/pkgs/by-name/re/readability-extractor/package.nix @@ -0,0 +1,29 @@ +{ lib +, stdenv +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage { + pname = "readability-extractor"; + version = "0.0.10"; + + src = fetchFromGitHub { + owner = "ArchiveBox"; + repo = "readability-extractor"; + rev = "be5c3222990d4f0459b21e74802565309bdd1d52"; + hash = "sha256-KX9mtvwDUIV2XsH6Hgx5/W34AlM4QtZuzxp4QofPcyg="; + }; + + dontNpmBuild = true; + + npmDepsHash = "sha256-bQHID9c2Ioyectx6t/GjTR/4cCyfwDfpT0aEQZoYCiU="; + + meta = with lib; { + homepage = "https://github.com/ArchiveBox/readability-extractor"; + description = "Javascript wrapper around Mozilla Readability for ArchiveBox to call as a oneshot CLI to extract article text"; + license = licenses.mit; + maintainers = with maintainers; [ viraptor ]; + mainProgram = "readability-extractor"; + }; +} diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index 70d46dc46061..1b5f21ddef79 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -147,7 +147,7 @@ in { ln -sf $out/nim/bin/nim $out/bin/nim ln -sf $out/nim/lib $out/lib ./install.sh $out - cp -a tools $out/nim/ + cp -a tools dist $out/nim/ runHook postInstall ''; diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py index d9b539926b83..9e46a11141a6 100755 --- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py +++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py @@ -210,7 +210,7 @@ def _determine_latest_version(current_version, target, versions): return (max(sorted(versions))).raw_version -def _get_latest_version_pypi(package, extension, current_version, target): +def _get_latest_version_pypi(attr_path, package, extension, current_version, target): """Get latest version and hash from PyPI.""" url = "{}/{}/json".format(INDEX, package) json = _fetch_page(url) @@ -234,7 +234,7 @@ def _get_latest_version_pypi(package, extension, current_version, target): return version, sha256, None -def _get_latest_version_github(package, extension, current_version, target): +def _get_latest_version_github(attr_path, package, extension, current_version, target): def strip_prefix(tag): return re.sub("^[^0-9]*", "", tag) @@ -242,9 +242,6 @@ def _get_latest_version_github(package, extension, current_version, target): matches = re.findall(r"^([^0-9]*)", string) return next(iter(matches), "") - # when invoked as an updateScript, UPDATE_NIX_ATTR_PATH will be set - # this allows us to work with packages which live outside of python-modules - attr_path = os.environ.get("UPDATE_NIX_ATTR_PATH", f"python3Packages.{package}") try: homepage = subprocess.check_output( [ @@ -421,13 +418,17 @@ def _update_package(path, target): # Attempt a fetch using each pname, e.g. backports-zoneinfo vs backports.zoneinfo successful_fetch = False for pname in pnames: - if BULK_UPDATE and _skip_bulk_update(f"python3Packages.{pname}"): + # when invoked as an updateScript, UPDATE_NIX_ATTR_PATH will be set + # this allows us to work with packages which live outside of python-modules |