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 - python-crontab - croniter - w3lib ipython + mypy-extensions + python-crontab + requests + w3lib + 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 ", + "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 + attr_path = os.environ.get("UPDATE_NIX_ATTR_PATH", f"python3Packages.{pname}") + + if BULK_UPDATE and _skip_bulk_update(attr_path): raise ValueError(f"Bulk update skipped for {pname}") - elif _get_attr_value(f"python3Packages.{pname}.cargoDeps") is not None: + elif _get_attr_value(f"{attr_path}.cargoDeps") is not None: raise ValueError(f"Cargo dependencies are unsupported, skipping {pname}") try: new_version, new_sha256, prefix = FETCHERS[fetcher]( - pname, extension, version, target + attr_path, pname, extension, version, target ) successful_fetch = True break @@ -452,7 +453,7 @@ def _update_package(path, target): sri_hash = _hash_to_sri("sha256", new_sha256) # retrieve the old output hash for a more precise match - if old_hash := _get_attr_value(f"python3Packages.{pname}.src.outputHash"): + if old_hash := _get_attr_value(f"{attr_path}.src.outputHash"): # fetchers can specify a sha256, or a sri hash try: text = _replace_value("hash", sri_hash, text, old_hash) diff --git a/pkgs/development/python-modules/epion/default.nix b/pkgs/development/python-modules/epion/default.nix index f286e67ba267..3f3a88f2fd43 100644 --- a/pkgs/development/python-modules/epion/default.nix +++ b/pkgs/development/python-modules/epion/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "epion"; - version = "0.0.1"; + version = "0.0.2"; pyproject = true; disabled = pythonOlder "3.7"; @@ -18,9 +18,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "devenzo-com"; repo = "epion_python"; - # https://github.com/devenzo-com/epion_python/issues/1 - rev = "d8759951fc7bfd1507abe725b2bc98754cbbf505"; - hash = "sha256-uC227rlu4NB5lpca02QLi2JZ5SKklLfv7rXvvJA1aCA="; + rev = "refs/tags/${version}"; + hash = "sha256-XyYjbr0EPRrwWsXhZT2oWcoDPZoZCuT9aZ2UHSSt0E8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/gql/default.nix b/pkgs/development/python-modules/gql/default.nix index 9827f8d5a71a..37fa70e28efe 100644 --- a/pkgs/development/python-modules/gql/default.nix +++ b/pkgs/development/python-modules/gql/default.nix @@ -1,11 +1,13 @@ { lib , aiofiles , aiohttp +, anyio , backoff , botocore , buildPythonPackage , fetchFromGitHub , graphql-core +, httpx , mock , parse , pytest-asyncio @@ -14,6 +16,7 @@ , pythonOlder , requests , requests-toolbelt +, setuptools , urllib3 , vcrpy , websockets @@ -22,25 +25,26 @@ buildPythonPackage rec { pname = "gql"; - version = "3.4.1"; - format = "setuptools"; + version = "3.6.0b0"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "graphql-python"; - repo = pname; + repo = "gql"; rev = "refs/tags/v${version}"; - hash = "sha256-/uPaRju2AJCjMCfA29IKQ4Hu71RBu/Yz8jHwk9EE1Eg="; + hash = "sha256-yX6NbtGxBa3lL/bS3j2ouTPku6a4obqNGx1xRzx+Skk="; }; - postPatch = '' - substituteInPlace setup.py --replace \ - "websockets>=10,<11;python_version>'3.6'" \ - "websockets>=10,<12;python_version>'3.6'" - ''; + __darwinAllowLocalNetworking = true; + + nativeBuildInputs = [ + setuptools + ]; propagatedBuildInputs = [ + anyio backoff graphql-core yarl @@ -60,6 +64,7 @@ buildPythonPackage rec { all = [ aiohttp botocore + httpx requests requests-toolbelt urllib3 @@ -68,6 +73,9 @@ buildPythonPackage rec { aiohttp = [ aiohttp ]; + httpx = [ + httpx + ]; requests = [ requests requests-toolbelt diff --git a/pkgs/development/python-modules/pynetbox/default.nix b/pkgs/development/python-modules/pynetbox/default.nix index 04e0bea22d67..0a08f4affa59 100644 --- a/pkgs/development/python-modules/pynetbox/default.nix +++ b/pkgs/development/python-modules/pynetbox/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pynetbox"; - version = "7.3.0"; + version = "7.3.3"; format = "setuptools"; src = fetchFromGitHub { owner = "netbox-community"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-/ptLsV+3EYDBjM+D1VO75VqvCYe6PTlpKAJuQskazJc="; + hash = "sha256-QIvh24ZqnF8uF9HOuY0yt3QT/jHgJ2C916d+rBqezWQ="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pytest-check/default.nix b/pkgs/development/python-modules/pytest-check/default.nix index 9981c7c8ce8f..ed62f69d4818 100644 --- a/pkgs/development/python-modules/pytest-check/default.nix +++ b/pkgs/development/python-modules/pytest-check/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "pytest-check"; - version = "2.2.3"; + version = "2.2.4"; format = "pyproject"; src = fetchPypi { pname = "pytest_check"; inherit version; - hash = "sha256-bfAyZLa7zyXNhhUSDNoDtObRH9srfI3eapyP7xinSVw="; + hash = "sha256-0uaWYDFB9bLekFuTWD5FmE7DxhzscCZJ3rEL2XSFYLs="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix index ead249a9a722..75090e8d243a 100644 --- a/pkgs/development/python-modules/slackclient/default.nix +++ b/pkgs/development/python-modules/slackclient/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "slackclient"; - version = "3.26.1"; + version = "3.26.2"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "slackapi"; repo = "python-slack-sdk"; rev = "refs/tags/v${version}"; - hash = "sha256-jg4mUVT1sB9hxRqhLOeZxQHTpBK/N76b2XUaFe/nBKY="; + hash = "sha256-pvD86kbNOnuNT6+WTAKziJDUTx3ebJUq029UbSVuxdw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix index 8af9b7e22e62..d98aea408b94 100644 --- a/pkgs/development/python-modules/types-setuptools/default.nix +++ b/pkgs/development/python-modules/types-setuptools/default.nix @@ -1,18 +1,23 @@ { lib , buildPythonPackage , fetchPypi +, setuptools }: buildPythonPackage rec { pname = "types-setuptools"; - version = "69.0.0.0"; - format = "setuptools"; + version = "68.2.0.2"; + pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-sKBiGfYoxlJ7L4zncKT0dVDgDT6MOtg+LcMbxubtqV0="; + hash = "sha256-Ce/DgK1cf3jjC8oVRvcGRpVozyYITPq3Ps+D3qHShEY="; }; + nativeBuildInputs = [ + setuptools + ]; + # Module doesn't have tests doCheck = false; diff --git a/pkgs/development/python-modules/zamg/default.nix b/pkgs/development/python-modules/zamg/default.nix index 5138ebd1319a..294fbc4197d9 100644 --- a/pkgs/development/python-modules/zamg/default.nix +++ b/pkgs/development/python-modules/zamg/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "zamg"; - version = "0.3.3"; + version = "0.3.4"; pyproject = true; disabled = pythonOlder "3.8"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "killer0071234"; repo = "python-zamg"; rev = "refs/tags/v${version}"; - hash = "sha256-hgJtM208xsDh9RbxOFu5DOiKonLMj8aWyu9+EhpE6TA="; + hash = "sha256-MomqMgL3axMdT/ckx2IG9k0IIDlNq0bod0ukjIvkM7Y="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zm-py/default.nix b/pkgs/development/python-modules/zm-py/default.nix index 633cf9c15f6b..ddd5b72b929d 100644 --- a/pkgs/development/python-modules/zm-py/default.nix +++ b/pkgs/development/python-modules/zm-py/default.nix @@ -1,29 +1,46 @@ -{ lib, fetchPypi, buildPythonPackage, isPy3k -, pytest, requests }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pytestCheckHook +, pythonOlder +, requests +}: buildPythonPackage rec { pname = "zm-py"; - version = "0.5.2"; - format = "setuptools"; + version = "0.5.4"; + pyproject = true; - src = fetchPypi { - inherit pname version; - sha256 = "b391cca0e52f2a887aa7a46c314b73335b7e3341c428b425fcf314983e5ebb36"; + disabled = pythonOlder "3.11"; + + src = fetchFromGitHub { + owner = "rohankapoorcom"; + repo = "zm-py"; + rev = "refs/tags/v${version}"; + hash = "sha256-n9FRX2Pnn96H0HVT4SHLJgONc0XzQ005itMNpvl9IYg="; }; - disabled = !isPy3k; + nativeBuildInputs = [ + poetry-core + ]; - propagatedBuildInputs = [ requests ]; + propagatedBuildInputs = [ + requests + ]; - nativeCheckInputs = [ pytest ]; + nativeCheckInputs = [ + pytestCheckHook + ]; - checkPhase = '' - PYTHONPATH="./zoneminder:$PYTHONPATH" pytest - ''; + pythonImportsCheck = [ + "zoneminder" + ]; meta = with lib; { description = "A loose python wrapper around the ZoneMinder REST API"; homepage = "https://github.com/rohankapoorcom/zm-py"; + changelog = "https://github.com/rohankapoorcom/zm-py/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ peterhoeg ]; }; diff --git a/pkgs/games/frotz/default.nix b/pkgs/games/frotz/default.nix index 9b5256fc1c72..9bc7ae5ae512 100644 --- a/pkgs/games/frotz/default.nix +++ b/pkgs/games/frotz/default.nix @@ -1,4 +1,7 @@ -{ fetchFromGitLab +{ lib +, stdenv +, fetchFromGitLab +, fetchpatch , libao , libmodplug , libsamplerate @@ -7,29 +10,31 @@ , ncurses , which , pkg-config -, lib, stdenv }: +}: stdenv.mkDerivation rec { - version = "2.53"; pname = "frotz"; + version = "2.54"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "DavidGriffith"; repo = "frotz"; rev = version; - sha256 = "sha256-xVC/iE71W/Wdy5aPGH9DtcVAHWCcg3HkEA3iDV6OYUo="; + hash = "sha256-GvGxojD8d5GVy/d8h3q6K7KJroz2lsKbfE0F0acjBl8="; }; + patches = [ + (fetchpatch { + url = "https://github.com/macports/macports-ports/raw/496e5b91e3b6c9dc6820d77ab60dbe400d1924ee/games/frotz/files/Makefile.patch"; + extraPrefix = ""; + hash = "sha256-P83ZzSi3bhncQ52Y38Q3F/7v1SJKr5614tytt862HRg="; + }) + ]; + nativeBuildInputs = [ which pkg-config ]; buildInputs = [ libao libmodplug libsamplerate libsndfile libvorbis ncurses ]; - preBuild = '' - makeFlagsArray+=( - CC="cc" - CFLAGS="-D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600" - LDFLAGS="-lncursesw -ltinfo" - ) - ''; + installFlags = [ "PREFIX=$(out)" ]; meta = with lib; { @@ -37,7 +42,7 @@ stdenv.mkDerivation rec { changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${version}/NEWS"; description = "A z-machine interpreter for Infocom games and other interactive fiction"; platforms = platforms.unix; - maintainers = with maintainers; [ nicknovitski ddelabru ]; + maintainers = with maintainers; [ nicknovitski ddelabru ]; license = licenses.gpl2; }; } diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 526533e44222..b2aca67a7c9b 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -4,9 +4,9 @@ let # comments with variant added for update script # ./update-zen.py zen zenVariant = { - version = "6.6.10"; #zen + version = "6.7"; #zen suffix = "zen1"; #zen - sha256 = "1hhy5jp1s65vpvrw9xylx3xl7mmagzmm5r9bq81hvvr7bhf754ny"; #zen + sha256 = "005m4qjhbvn4jmm37sad9bmrrk2qfkxlaq3s7k296hjfkrqnbvlw"; #zen isLqx = false; }; # ./update-zen.py lqx diff --git a/pkgs/servers/geospatial/mapserver/default.nix b/pkgs/servers/geospatial/mapserver/default.nix index c46aa3d48d0d..922f0864b841 100644 --- a/pkgs/servers/geospatial/mapserver/default.nix +++ b/pkgs/servers/geospatial/mapserver/default.nix @@ -15,6 +15,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-fAf4kOe/6bQW0i46+EZbD/6iWI2Bjkn2no6XeR/+mg4="; }; + patches = [ + # drop this patch for version 8.0.2 + ./fix-build-w-libxml2-12.patch + ]; + nativeBuildInputs = [ cmake pkg-config diff --git a/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch b/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch new file mode 100644 index 000000000000..e33a7f7bc44c --- /dev/null +++ b/pkgs/servers/geospatial/mapserver/fix-build-w-libxml2-12.patch @@ -0,0 +1,39 @@ +diff --git a/mapows.c b/mapows.c +index f141a7b..5a94ecb 100644 +--- a/mapows.c ++++ b/mapows.c +@@ -168,7 +168,7 @@ static int msOWSPreParseRequest(cgiRequestObj *request, + #endif + if (ows_request->document == NULL + || (root = xmlDocGetRootElement(ows_request->document)) == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_OWSERR, "XML parsing error: %s", + "msOWSPreParseRequest()", error->message); + return MS_FAILURE; +diff --git a/mapwcs.cpp b/mapwcs.cpp +index 70e63b8..19afa79 100644 +--- a/mapwcs.cpp ++++ b/mapwcs.cpp +@@ -362,7 +362,7 @@ static int msWCSParseRequest(cgiRequestObj *request, wcsParamsObj *params, mapOb + /* parse to DOM-Structure and get root element */ + if((doc = xmlParseMemory(request->postrequest, strlen(request->postrequest))) + == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_WCSERR, "XML parsing error: %s", + "msWCSParseRequest()", error->message); + return MS_FAILURE; +diff --git a/mapwcs20.cpp b/mapwcs20.cpp +index b35e803..2431bdc 100644 +--- a/mapwcs20.cpp ++++ b/mapwcs20.cpp +@@ -1446,7 +1446,7 @@ int msWCSParseRequest20(mapObj *map, + + /* parse to DOM-Structure and get root element */ + if(doc == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_WCSERR, "XML parsing error: %s", + "msWCSParseRequest20()", error->message); + return MS_FAILURE; diff --git a/pkgs/servers/home-assistant/custom-components/README.md b/pkgs/servers/home-assistant/custom-components/README.md index d7137e5c62f7..888ea97e4553 100644 --- a/pkgs/servers/home-assistant/custom-components/README.md +++ b/pkgs/servers/home-assistant/custom-components/README.md @@ -39,6 +39,7 @@ buildHomeAssistantComponent { # changelog, description, homepage, license, maintainers } } +``` ## Package attribute diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix index 96487015df8c..02a263aa8e16 100644 --- a/pkgs/servers/monitoring/grafana-agent/default.nix +++ b/pkgs/servers/monitoring/grafana-agent/default.nix @@ -14,16 +14,16 @@ buildGoModule rec { pname = "grafana-agent"; - version = "0.38.1"; + version = "0.39.0"; src = fetchFromGitHub { owner = "grafana"; repo = "agent"; rev = "v${version}"; - hash = "sha256-caqJE92yEzqU/UQS7Cgxe+4+wGqBqPshhhPAyPP2WPQ="; + hash = "sha256-mUPWww7RnrCwJKGWXIsX7vnTmxj2h31AzM8a0eKa15g="; }; - vendorHash = "sha256-aN/vIBbezieMhWG/czwXxx+/M40mDySZmM8pxVVs3Vs="; + vendorHash = "sha256-nOuinJXTiTumHlOWcuGTBcrw9ArIdb/R8jIT/5+i0vM="; proxyVendor = true; # darwin/linux hash mismatch frontendYarnOfflineCache = fetchYarnDeps { diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix index efc0f64f3583..4f34c9f0b73a 100644 --- a/pkgs/servers/sabnzbd/default.nix +++ b/pkgs/servers/sabnzbd/default.nix @@ -47,14 +47,14 @@ let ]); path = lib.makeBinPath [ coreutils par2cmdline unrar unzip p7zip util-linux ]; in stdenv.mkDerivation rec { - version = "4.2.0"; + version = "4.2.1"; pname = "sabnzbd"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-ub8CwFcmxfsfhR45M5lVZvCHyzN/7CK4ElS4Q0U4qu8="; + sha256 = "sha256-M9DvwizNeCXkV07dkgiComdjoceUACCuccZb+y9RMdw="; }; nativeBuildInputs = [ makeWrapper ];