diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index dd9e22e9a689..a4b757e9b4f4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -7,34 +7,44 @@ assignees: '' --- -### Describe the bug -A clear and concise description of what the bug is. +## Describe the bug + + + +## Steps To Reproduce -### Steps To Reproduce Steps to reproduce the behavior: + 1. ... 2. ... 3. ... -### Expected behavior -A clear and concise description of what you expected to happen. +## Expected behavior -### Screenshots -If applicable, add screenshots to help explain your problem. + -### Additional context -Add any other context about the problem here. +## Screenshots -### Notify maintainers + + +## Additional context + + + +## Metadata + + + +## Notify maintainers -### Metadata +--- - +Note for maintainers: Please tag this issue in your PR. --- diff --git a/.github/ISSUE_TEMPLATE/build_failure.md b/.github/ISSUE_TEMPLATE/build_failure.md index 5e6c300b56d3..6df42832765b 100644 --- a/.github/ISSUE_TEMPLATE/build_failure.md +++ b/.github/ISSUE_TEMPLATE/build_failure.md @@ -7,31 +7,43 @@ assignees: '' --- -### Steps To Reproduce +## Steps To Reproduce Steps to reproduce the behavior: + 1. build *X* -### Build log +## Build log + + + +
+ +Build Log ``` -log here if short otherwise a link to a gist ``` -### Additional context +
-Add any other context about the problem here. +## Additional context -### Notify maintainers + + +## Metadata + + + +## Notify maintainers -### Metadata +--- - +Note for maintainers: Please tag this issue in your PR. --- diff --git a/.github/ISSUE_TEMPLATE/missing_documentation.md b/.github/ISSUE_TEMPLATE/missing_documentation.md index 6f8e583bd346..a7f0fd83c5bc 100644 --- a/.github/ISSUE_TEMPLATE/missing_documentation.md +++ b/.github/ISSUE_TEMPLATE/missing_documentation.md @@ -23,12 +23,9 @@ assignees: '' - [ ] checked [open documentation issues] for possible duplicates - [ ] checked [open documentation pull requests] for possible solutions -[latest Nixpkgs manual]: https://nixos.org/manual/nixpkgs/unstable/ -[latest NixOS manual]: https://nixos.org/manual/nixos/unstable/ -[nixpkgs-source]: https://github.com/NixOS/nixpkgs/tree/master/doc -[nixos-source]: https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual -[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22 -[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22 +--- + +Note for maintainers: Please tag this issue in your PR. --- @@ -36,3 +33,9 @@ Add a :+1: [reaction] to [issues you find important]. [reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/ [issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc +[latest Nixpkgs manual]: https://nixos.org/manual/nixpkgs/unstable/ +[latest NixOS manual]: https://nixos.org/manual/nixos/unstable/ +[nixpkgs-source]: https://github.com/NixOS/nixpkgs/tree/master/doc +[nixos-source]: https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual +[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22 +[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22 diff --git a/.github/ISSUE_TEMPLATE/module_request.md b/.github/ISSUE_TEMPLATE/module_request.md index db0b68cfe453..752011fb5449 100644 --- a/.github/ISSUE_TEMPLATE/module_request.md +++ b/.github/ISSUE_TEMPLATE/module_request.md @@ -7,11 +7,11 @@ assignees: '' --- -### Description +## Description -### Notify maintainers +## Notify maintainers diff --git a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md index 802f47935aee..da42c82ca4ea 100644 --- a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md +++ b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md @@ -7,23 +7,30 @@ assignees: '' --- +## Package Information + + + - Package name: - Latest released version: - - Current version on the unstable channel: - Current version on the stable/release channel: + +## Checklist + + - [ ] Checked the [nixpkgs pull requests](https://github.com/NixOS/nixpkgs/pulls) -**Notify maintainers** +## Notify maintainers ------ +--- Note for maintainers: Please tag this issue in your PR. diff --git a/.github/ISSUE_TEMPLATE/packaging_request.md b/.github/ISSUE_TEMPLATE/packaging_request.md index 021c9060ebe5..91175402bed3 100644 --- a/.github/ISSUE_TEMPLATE/packaging_request.md +++ b/.github/ISSUE_TEMPLATE/packaging_request.md @@ -7,11 +7,11 @@ assignees: '' --- -**Project description** +## Project description -**Metadata** +## Metadata * homepage URL: * source URL: @@ -20,6 +20,10 @@ assignees: '' --- +Note for maintainers: Please tag this issue in your PR. + +--- + Add a :+1: [reaction] to [issues you find important]. [reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/ diff --git a/.github/ISSUE_TEMPLATE/unreproducible_package.md b/.github/ISSUE_TEMPLATE/unreproducible_package.md index dd19abaf7588..83b672be31b3 100644 --- a/.github/ISSUE_TEMPLATE/unreproducible_package.md +++ b/.github/ISSUE_TEMPLATE/unreproducible_package.md @@ -31,12 +31,12 @@ Fixing bit-by-bit reproducibility also has additional advantages, such as avoiding hard-to-reproduce bugs, making content-addressed storage more effective and reducing rebuilds in such systems. -### Steps To Reproduce +## Steps To Reproduce In the following steps, replace `` with the canonical name of the package. -#### 1. Build the package +### 1. Build the package This step will build the package. Specific arguments are passed to the command to keep the build artifacts so we can compare them in case of differences. @@ -53,7 +53,7 @@ Or using the new command line style: nix build nixpkgs# && nix build nixpkgs# --rebuild --keep-failed ``` -#### 2. Compare the build artifacts +### 2. Compare the build artifacts If the previous command completes successfully, no differences were found and there's nothing to do, builds are reproducible. @@ -67,7 +67,7 @@ metadata (*e.g. timestamp*) differences. nix run nixpkgs#diffoscopeMinimal -- --exclude-directory-metadata recursive ``` -#### 3. Examine the build log +### 3. Examine the build log To examine the build log, use: @@ -81,10 +81,20 @@ Or with the new command line style: nix log $(nix path-info --derivation nixpkgs#) ``` -### Additional context +## Additional context -(please share the relevant fragment of the diffoscope output here, and any -additional analysis you may have done) +(please share the relevant fragment of the diffoscope output here, and any additional analysis you may have done) + +## Notify maintainers + + + +--- + +Note for maintainers: Please tag this issue in your PR. --- diff --git a/.github/labeler.yml b/.github/labeler.yml index 1d8e612d4ed3..9b4ae79ce188 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -358,8 +358,9 @@ - changed-files: - any-glob-to-any-file: - doc/languages-frameworks/php.section.md + - nixos/tests/php/**/* - pkgs/build-support/php/**/* - - pkgs/development/interpreters/php/* + - pkgs/development/interpreters/php/**/* - pkgs/development/php-packages/**/* - pkgs/test/php/default.nix - pkgs/top-level/php-packages.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0827d8ddec1b..4e7365e5d520 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11483,6 +11483,13 @@ name = "Khushraj Rathod"; keys = [ { fingerprint = "1988 3FD8 EA2E B4EC 0A93 1E22 B77B 2A40 E770 2F19"; } ]; }; + kiara = { + name = "kiara"; + email = "cinereal@riseup.net"; + github = "KiaraGrouwstra"; + githubId = 3059397; + matrix = "@cinerealkiara:matrix.org"; + }; KibaFox = { email = "kiba.fox@foxypossibilities.com"; github = "KibaFox"; @@ -14556,12 +14563,6 @@ githubId = 16974598; name = "Mike Playle"; }; - mkaito = { - email = "chris@mkaito.net"; - github = "mkaito"; - githubId = 20434; - name = "Christian Höppner"; - }; mkazulak = { email = "kazulakm@gmail.com"; github = "mulderr"; diff --git a/nixos/tests/oci-containers.nix b/nixos/tests/oci-containers.nix index 9adceb11f18c..bc80f2d9b5db 100644 --- a/nixos/tests/oci-containers.nix +++ b/nixos/tests/oci-containers.nix @@ -12,7 +12,7 @@ let name = "oci-containers-${backend}"; meta.maintainers = lib.teams.serokell.members - ++ (with lib.maintainers; [ benley mkaito ]); + ++ (with lib.maintainers; [ benley ]); nodes = { ${backend} = { pkgs, ... }: { diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix index 84de0229497d..18eff60feb24 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.86"; + version = "1.88"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - hash = "sha256-/sdMBRCZvuKTp8ygCrLmIy0DiWJC6lLWdsY+ZxRY+pY="; + hash = "sha256-3ylzroIp3d5u6meP7guu+NlYGTqy9UUjIi9box7NbXI="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/misc/pagefind/default.nix b/pkgs/applications/misc/pagefind/default.nix index 8caf7c0fbe17..9bdeb864ca95 100644 --- a/pkgs/applications/misc/pagefind/default.nix +++ b/pkgs/applications/misc/pagefind/default.nix @@ -16,6 +16,8 @@ wasm-pack, }: +# TODO: package python bindings + let wasm-bindgen-92 = wasm-bindgen-cli.override { @@ -36,16 +38,16 @@ in rustPlatform.buildRustPackage rec { pname = "pagefind"; - version = "1.1.1"; + version = "1.2.0"; src = fetchFromGitHub { owner = "cloudcannon"; repo = "pagefind"; rev = "refs/tags/v${version}"; - hash = "sha256-4NfosDp5Wwz2lnqaFNcaIbWpjWiaQ4WCL6TcKEkfPck="; + hash = "sha256-OKZYy+Mm9xOEBBD/tI2GwP2+Myt5aELosRP8Tbi5bqY="; }; - cargoHash = "sha256-hnT9w3j8/YuN00x0LBPr75BKGWSnIYUNFTWIgtghJP4"; + cargoHash = "sha256-k50RyGuS66r+wWIij7yOOSlDxXYY1y+lTJgCkMREllc="; env.npmDeps_web_js = fetchNpmDeps { name = "npm-deps-web-js"; diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix deleted file mode 100644 index 8385e3b2f52f..000000000000 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ /dev/null @@ -1,125 +0,0 @@ -{ stdenv, lib, callPackage, fetchurl, fetchpatch, nixosTests, buildMozillaMach -, python311 -}: - -{ - firefox = buildMozillaMach rec { - pname = "firefox"; - version = "132.0.2"; - src = fetchurl { - url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "9ea95d9fb1a941ac5a5b50da67e224f3ccf8c401f26cb61bb74ad7f4e1e8706d469c4b6325714f2cb9cdf50c32710377d6bca18dd65b55db2c39ef2b27a57fae"; - }; - - extraPatches = [ - ]; - - meta = { - changelog = "https://www.mozilla.org/en-US/firefox/${version}/releasenotes/"; - description = "Web browser built from Firefox source tree"; - homepage = "http://www.mozilla.com/en-US/firefox/"; - maintainers = with lib.maintainers; [ lovesegfault hexa ]; - platforms = lib.platforms.unix; - badPlatforms = lib.platforms.darwin; - broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". - # not in `badPlatforms` because cross-compilation on 64-bit machine might work. - maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) - license = lib.licenses.mpl20; - mainProgram = "firefox"; - }; - tests = { inherit (nixosTests) firefox; }; - updateScript = callPackage ./update.nix { - attrPath = "firefox-unwrapped"; - }; - }; - - firefox-beta = buildMozillaMach rec { - pname = "firefox-beta"; - version = "133.0b1"; - applicationName = "Mozilla Firefox Beta"; - src = fetchurl { - url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "c4a85a72b2891c5b6c6e200cd7ef13abe0f5ad090f8ef1d8243a489791f3542b2cd390c141118c4745c4ca677d1e9bf1e564e4a45e066d27ed53e6bd92844727"; - }; - - meta = { - changelog = "https://www.mozilla.org/en-US/firefox/${lib.versions.majorMinor version}beta/releasenotes/"; - description = "Web browser built from Firefox Beta Release source tree"; - homepage = "http://www.mozilla.com/en-US/firefox/"; - maintainers = with lib.maintainers; [ jopejoe1 ]; - platforms = lib.platforms.unix; - badPlatforms = lib.platforms.darwin; - broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". - # not in `badPlatforms` because cross-compilation on 64-bit machine might work. - maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) - license = lib.licenses.mpl20; - mainProgram = "firefox"; - }; - tests = { inherit (nixosTests) firefox-beta; }; - updateScript = callPackage ./update.nix { - attrPath = "firefox-beta-unwrapped"; - versionSuffix = "b[0-9]*"; - }; - }; - - firefox-devedition = buildMozillaMach rec { - pname = "firefox-devedition"; - version = "133.0b1"; - applicationName = "Mozilla Firefox Developer Edition"; - requireSigning = false; - branding = "browser/branding/aurora"; - src = fetchurl { - url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "dced4aba71b07b68ee31c283945e7d62a7032f08f5cf71aa261fc7ba32f58277acbe9fdbdd28777d7f4b824e411815b069cab0ce791438088c9ad19c3d2de62e"; - }; - - meta = { - changelog = "https://www.mozilla.org/en-US/firefox/${lib.versions.majorMinor version}beta/releasenotes/"; - description = "Web browser built from Firefox Developer Edition source tree"; - homepage = "http://www.mozilla.com/en-US/firefox/"; - maintainers = with lib.maintainers; [ jopejoe1 ]; - platforms = lib.platforms.unix; - badPlatforms = lib.platforms.darwin; - broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". - # not in `badPlatforms` because cross-compilation on 64-bit machine might work. - maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) - license = lib.licenses.mpl20; - mainProgram = "firefox"; - }; - tests = { inherit (nixosTests) firefox-devedition; }; - updateScript = callPackage ./update.nix { - attrPath = "firefox-devedition-unwrapped"; - versionSuffix = "b[0-9]*"; - baseUrl = "https://archive.mozilla.org/pub/devedition/releases/"; - }; - }; - - firefox-esr-128 = buildMozillaMach rec { - pname = "firefox"; - version = "128.4.0esr"; - src = fetchurl { - url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3"; - }; - - meta = { - changelog = "https://www.mozilla.org/en-US/firefox/${lib.removeSuffix "esr" version}/releasenotes/"; - description = "Web browser built from Firefox source tree"; - homepage = "http://www.mozilla.com/en-US/firefox/"; - maintainers = with lib.maintainers; [ hexa ]; - platforms = lib.platforms.unix; - badPlatforms = lib.platforms.darwin; - broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". - # not in `badPlatforms` because cross-compilation on 64-bit machine might work. - maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) - license = lib.licenses.mpl20; - mainProgram = "firefox"; - }; - tests = { inherit (nixosTests) firefox-esr-128; }; - updateScript = callPackage ./update.nix { - attrPath = "firefox-esr-128-unwrapped"; - versionPrefix = "128"; - versionSuffix = "esr"; - }; - }; -} diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix new file mode 100644 index 000000000000..a2226073fe21 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix @@ -0,0 +1,40 @@ +{ + stdenv, + lib, + callPackage, + fetchurl, + nixosTests, + buildMozillaMach, +}: + +buildMozillaMach rec { + pname = "firefox-beta"; + version = "133.0b1"; + applicationName = "Mozilla Firefox Beta"; + src = fetchurl { + url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; + sha512 = "c4a85a72b2891c5b6c6e200cd7ef13abe0f5ad090f8ef1d8243a489791f3542b2cd390c141118c4745c4ca677d1e9bf1e564e4a45e066d27ed53e6bd92844727"; + }; + + meta = { + changelog = "https://www.mozilla.org/en-US/firefox/${lib.versions.majorMinor version}beta/releasenotes/"; + description = "Web browser built from Firefox Beta Release source tree"; + homepage = "http://www.mozilla.com/en-US/firefox/"; + maintainers = with lib.maintainers; [ jopejoe1 ]; + platforms = lib.platforms.unix; + badPlatforms = lib.platforms.darwin; + broken = stdenv.buildPlatform.is32bit; + # since Firefox 60, build on 32-bit platforms fails with "out of memory". + # not in `badPlatforms` because cross-compilation on 64-bit machine might work. + maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) + license = lib.licenses.mpl20; + mainProgram = "firefox"; + }; + tests = { + inherit (nixosTests) firefox-beta; + }; + updateScript = callPackage ./update.nix { + attrPath = "firefox-beta-unwrapped"; + versionSuffix = "b[0-9]*"; + }; +} diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix new file mode 100644 index 000000000000..0497854f56b4 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix @@ -0,0 +1,43 @@ +{ + stdenv, + lib, + callPackage, + fetchurl, + nixosTests, + buildMozillaMach, +}: + +buildMozillaMach rec { + pname = "firefox-devedition"; + version = "133.0b1"; + applicationName = "Mozilla Firefox Developer Edition"; + requireSigning = false; + branding = "browser/branding/aurora"; + src = fetchurl { + url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz"; + sha512 = "dced4aba71b07b68ee31c283945e7d62a7032f08f5cf71aa261fc7ba32f58277acbe9fdbdd28777d7f4b824e411815b069cab0ce791438088c9ad19c3d2de62e"; + }; + + meta = { + changelog = "https://www.mozilla.org/en-US/firefox/${lib.versions.majorMinor version}beta/releasenotes/"; + description = "Web browser built from Firefox Developer Edition source tree"; + homepage = "http://www.mozilla.com/en-US/firefox/"; + maintainers = with lib.maintainers; [ jopejoe1 ]; + platforms = lib.platforms.unix; + badPlatforms = lib.platforms.darwin; + broken = stdenv.buildPlatform.is32bit; + # since Firefox 60, build on 32-bit platforms fails with "out of memory". + # not in `badPlatforms` because cross-compilation on 64-bit machine might work. + maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) + license = lib.licenses.mpl20; + mainProgram = "firefox"; + }; + tests = { + inherit (nixosTests) firefox-devedition; + }; + updateScript = callPackage ./update.nix { + attrPath = "firefox-devedition-unwrapped"; + versionSuffix = "b[0-9]*"; + baseUrl = "https://archive.mozilla.org/pub/devedition/releases/"; + }; +} diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-128.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-128.nix new file mode 100644 index 000000000000..3fa5c6afc375 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-128.nix @@ -0,0 +1,40 @@ +{ + stdenv, + lib, + callPackage, + fetchurl, + nixosTests, + buildMozillaMach, +}: + +buildMozillaMach rec { + pname = "firefox"; + version = "128.4.0esr"; + src = fetchurl { + url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; + sha512 = "e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3"; + }; + + meta = { + changelog = "https://www.mozilla.org/en-US/firefox/${lib.removeSuffix "esr" version}/releasenotes/"; + description = "Web browser built from Firefox source tree"; + homepage = "http://www.mozilla.com/en-US/firefox/"; + maintainers = with lib.maintainers; [ hexa ]; + platforms = lib.platforms.unix; + badPlatforms = lib.platforms.darwin; + broken = stdenv.buildPlatform.is32bit; + # since Firefox 60, build on 32-bit platforms fails with "out of memory". + # not in `badPlatforms` because cross-compilation on 64-bit machine might work. + maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) + license = lib.licenses.mpl20; + mainProgram = "firefox"; + }; + tests = { + inherit (nixosTests) firefox-esr-128; + }; + updateScript = callPackage ./update.nix { + attrPath = "firefox-esr-128-unwrapped"; + versionPrefix = "128"; + versionSuffix = "esr"; + }; +} diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox.nix new file mode 100644 index 000000000000..41da0ebdfce1 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox.nix @@ -0,0 +1,41 @@ +{ + stdenv, + lib, + callPackage, + fetchurl, + nixosTests, + buildMozillaMach, +}: + +buildMozillaMach rec { + pname = "firefox"; + version = "132.0.2"; + src = fetchurl { + url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; + sha512 = "9ea95d9fb1a941ac5a5b50da67e224f3ccf8c401f26cb61bb74ad7f4e1e8706d469c4b6325714f2cb9cdf50c32710377d6bca18dd65b55db2c39ef2b27a57fae"; + }; + + meta = { + changelog = "https://www.mozilla.org/en-US/firefox/${version}/releasenotes/"; + description = "Web browser built from Firefox source tree"; + homepage = "http://www.mozilla.com/en-US/firefox/"; + maintainers = with lib.maintainers; [ + lovesegfault + hexa + ]; + platforms = lib.platforms.unix; + badPlatforms = lib.platforms.darwin; + broken = stdenv.buildPlatform.is32bit; + # since Firefox 60, build on 32-bit platforms fails with "out of memory". + # not in `badPlatforms` because cross-compilation on 64-bit machine might work. + maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) + license = lib.licenses.mpl20; + mainProgram = "firefox"; + }; + tests = { + inherit (nixosTests) firefox; + }; + updateScript = callPackage ./update.nix { + attrPath = "firefox-unwrapped"; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index fd26b32f7bf6..eeab969c6512 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1246,13 +1246,13 @@ "vendorHash": "sha256-tb9raTGqEuvqfMO/5s4Oc7x/EAk4qBWWDiOgRMB3uAU=" }, "temporalcloud": { - "hash": "sha256-UaWz9VKyzYtEjOC0hbRrGSB0yP7H7AFP3uKnXcvASwQ=", + "hash": "sha256-PXXjhxB0pU1dZkfFKH+GBma1uYwMpLHTUJk/GUivNhE=", "homepage": "https://registry.terraform.io/providers/temporalio/temporalcloud", "owner": "temporalio", "repo": "terraform-provider-temporalcloud", - "rev": "v0.0.13", + "rev": "v0.0.14", "spdx": "MPL-2.0", - "vendorHash": "sha256-UlR5J1Gk+ATwytBoxp6DBVGOo8MAQeGOWxD2Sgg4qJ4=" + "vendorHash": "sha256-6dQFkmkjoVz1Z5AoD8bvAF0elsk7V1G8yT5ur1WegWE=" }, "tencentcloud": { "hash": "sha256-vj6yGrd9Fqd+XQwlXWS0BV0CZY1gcgE+YyEm/rm6o6o=", diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 67b80ef18649..9d1772a0b731 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -9,7 +9,7 @@ let versions = if stdenv.hostPlatform.isLinux then { - stable = "0.0.73"; + stable = "0.0.74"; ptb = "0.0.114"; canary = "0.0.511"; development = "0.0.42"; @@ -26,7 +26,7 @@ let x86_64-linux = { stable = fetchurl { url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"; - hash = "sha256-LZ3IgtGr94NWbykYS5Xllkl4OOHLG66+ZqQ+OrpnVzs="; + hash = "sha256-yf2gLvDgzF13cgpKFiiCHGYVR+p7jZOAR37L1F6MZvc="; }; ptb = fetchurl { url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; diff --git a/pkgs/build-support/xen/default.nix b/pkgs/build-support/xen/default.nix index fa40fdc6d066..efff9b304544 100644 --- a/pkgs/build-support/xen/default.nix +++ b/pkgs/build-support/xen/default.nix @@ -60,6 +60,7 @@ branch ? lib.versions.majorMinor version, version, vendor ? "nixos", + upstreamVersion, withFlask ? false, withSeaBIOS ? true, withOVMF ? true, @@ -71,17 +72,21 @@ }: let - inherit (lib.meta) getExe'; - inherit (lib.lists) optional optionals; - inherit (lib.systems.inspect.patterns) isLinux isAarch64; - inherit (lib) teams; - inherit (lib.strings) + inherit (lib) enableFeature + getExe' + licenses makeSearchPathOutput + optional optionalString + optionals + systems + teams versionOlder + warn ; - inherit (lib.licenses) + inherit (systems.inspect.patterns) isLinux isAarch64; + inherit (licenses) cc-by-40 gpl2Only lgpl21Only @@ -287,10 +292,10 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { - efi = "boot/xen-${version}.efi"; + efi = "boot/xen-${upstreamVersion}.efi"; flaskPolicy = if withFlask then - "boot/xenpolicy-${version}" + warn "This Xen was compiled with FLASK support, but the FLASK file does not match the Xen version number. Please hardcode the path to the FLASK file instead." "boot/xenpolicy-${version}" else throw "This Xen was compiled without FLASK support."; # This test suite is very simple, as Xen's userspace @@ -335,7 +340,7 @@ stdenv.mkDerivation (finalAttrs: { Use with the `qemu_xen` package. '' + "\nIncludes:\n* `xen.efi`: The Xen Project's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package." - + optionalString withFlask "\n* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${version}` file is available on the `boot` output of this package." + + optionalString withFlask "\n* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${upstreamVersion}` file is available on the `boot` output of this package." + optionalString withSeaBIOS "\n* `seabios`: Support for the SeaBIOS boot firmware on HVM domains." + optionalString withOVMF "\n* `ovmf`: Support for the OVMF UEFI boot firmware on HVM domains." + optionalString withIPXE "\n* `ipxe`: Support for the iPXE boot firmware on HVM domains."; diff --git a/pkgs/by-name/ab/abiword/package.nix b/pkgs/by-name/ab/abiword/package.nix index 87918b9e854f..f960a41531a3 100644 --- a/pkgs/by-name/ab/abiword/package.nix +++ b/pkgs/by-name/ab/abiword/package.nix @@ -20,28 +20,21 @@ , libxslt , goffice , wrapGAppsHook3 +, gitUpdater }: stdenv.mkDerivation rec { pname = "abiword"; - version = "3.0.5"; + version = "3.0.6"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "World"; repo = "AbiWord"; rev = "refs/tags/release-${version}"; - hash = "sha256-Z55qPm4MYwbG8bvXpX2TH8bxQaJjvb3Em1ymM1XwGqo="; + hash = "sha256-PPK4O+NKXdl7DKPOgGlVyCFTol8hhmtq0wdTTtwKQ/4="; }; - patches = [ - # Fix build with libxml2 2.12 - (fetchpatch { - url = "https://gitlab.gnome.org/World/AbiWord/-/commit/2a06be6a10a0718f8a3d8e00c317f5042c99a467.patch"; - hash = "sha256-vfh81tGXe9dgnjcAtoWHOK8CtW7MZ75FFjnfKTkiKkk="; - }) - ]; - nativeBuildInputs = [ autoreconfHook269 autoconf-archive @@ -77,6 +70,10 @@ stdenv.mkDerivation rec { ./autogen-common.sh ''; + passthru.updateScript = gitUpdater { + rev-prefix = "release-"; + }; + meta = with lib; { description = "Word processing program, similar to Microsoft Word"; mainProgram = "abiword"; diff --git a/pkgs/by-name/ac/acme-sh/package.nix b/pkgs/by-name/ac/acme-sh/package.nix index c79bcebda086..d0b8eadbbd00 100644 --- a/pkgs/by-name/ac/acme-sh/package.nix +++ b/pkgs/by-name/ac/acme-sh/package.nix @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { - Cron job notifications for renewal or error etc. ''; license = licenses.gpl3Only; - maintainers = with lib.maintainers; [ mkaito ] ++ teams.serokell.members; + maintainers = lib.teams.serokell.members; inherit (coreutils.meta) platforms; mainProgram = "acme.sh"; }; diff --git a/pkgs/by-name/ca/cargo-llvm-cov/package.nix b/pkgs/by-name/ca/cargo-llvm-cov/package.nix index 2672d165b26d..7f55d8e7f814 100644 --- a/pkgs/by-name/ca/cargo-llvm-cov/package.nix +++ b/pkgs/by-name/ca/cargo-llvm-cov/package.nix @@ -1,9 +1,7 @@ # If the tests are broken, it's probably for one of two reasons: # # 1. The version of llvm used doesn't match the expectations of rustc and/or -# cargo-llvm-cov. This is relatively unlikely because we pull llvm out of -# rustc's attrset, so it *should* be the right version as long as this is the -# case. +# cargo-llvm-cov. # 2. Nixpkgs has changed its rust infrastructure in a way that causes # cargo-llvm-cov to misbehave under test. It's likely that even though the # tests are failing, cargo-llvm-cov will still function properly in actual @@ -20,24 +18,24 @@ , fetchurl , fetchFromGitHub , rustPlatform -, rustc +, llvmPackages_19 , git }: let pname = "cargo-llvm-cov"; - version = "0.6.12"; + version = "0.6.14"; owner = "taiki-e"; homepage = "https://github.com/${owner}/${pname}"; - llvm = rustc.llvmPackages.llvm; + inherit (llvmPackages_19) llvm; # Download `Cargo.lock` from crates.io so we don't clutter up Nixpkgs cargoLock = fetchurl { name = "Cargo.lock"; url = "https://crates.io/api/v1/crates/${pname}/${version}/download"; - sha256 = "sha256-QMO5J5c8MQr84w6X74oQrHV99cjSUVfpC8Ub1csQ0gI="; + sha256 = "sha256-f0xO+UxB9f6q6q8QyjtP+z+U146+8GLmLKgGmAs/YYA="; downloadToTemp = true; postFetch = '' tar xzf $downloadedFile ${pname}-${version}/Cargo.lock @@ -55,7 +53,7 @@ rustPlatform.buildRustPackage { inherit owner; repo = pname; rev = "v${version}"; - sha256 = "sha256-BlXgbCWjGya/I94nqfjBqQPSWnVhyhNn0oSRL9xiS6k="; + sha256 = "sha256-iJrnNDSMich5OzEbPgnQWLVz6Zj/MUIzEsaBzqVdoDg="; }; # Upstream doesn't include the lockfile so we need to add it back @@ -63,7 +61,7 @@ rustPlatform.buildRustPackage { cp ${cargoLock} source/Cargo.lock ''; - cargoHash = "sha256-nabO19JePQRuhxsbm5wVIU4+5si6p0VgqR2QLmLeivU="; + cargoHash = "sha256-kYKQ7ddgoSvarF0HG/yESu5cU87DUgYm9tDkem5a/gw="; # `cargo-llvm-cov` reads these environment variables to find these binaries, # which are needed to run the tests diff --git a/pkgs/by-name/fa/fabric-ai/package.nix b/pkgs/by-name/fa/fabric-ai/package.nix index 8ec2686ddc43..0951610b3274 100644 --- a/pkgs/by-name/fa/fabric-ai/package.nix +++ b/pkgs/by-name/fa/fabric-ai/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "fabric-ai"; - version = "1.4.54"; + version = "1.4.99"; src = fetchFromGitHub { owner = "danielmiessler"; repo = "fabric"; rev = "v${version}"; - hash = "sha256-93kOJLzCoJgj5kApQyzGOZOGDlz6G/aNO7bT7eAs5o8="; + hash = "sha256-nf1tBnnRgLDg63a6SmTJPwMKCREr/hfCyYtAyyOCUQU="; }; - vendorHash = "sha256-ef5fn3D0DcvluLIlwfZFGS/6bZgkduQhRXvjCrghBL8="; + vendorHash = "sha256-cdopwdIynWJQJO2K6wLZNBT/0JbCRH2tD2UgnNeQTDY="; ldflags = [ "-s" diff --git a/pkgs/by-name/ff/ffsubsync/package.nix b/pkgs/by-name/ff/ffsubsync/package.nix index f247edf6e2aa..35885e0f725b 100644 --- a/pkgs/by-name/ff/ffsubsync/package.nix +++ b/pkgs/by-name/ff/ffsubsync/package.nix @@ -34,9 +34,11 @@ python3.pkgs.buildPythonApplication rec { ffmpeg-python future numpy + pkgs.ffmpeg pysubs2 chardet rich + setuptools six srt tqdm diff --git a/pkgs/by-name/gd/gdtoolkit_4/package.nix b/pkgs/by-name/gd/gdtoolkit_4/package.nix index 0f54bd3385ed..13735386293b 100644 --- a/pkgs/by-name/gd/gdtoolkit_4/package.nix +++ b/pkgs/by-name/gd/gdtoolkit_4/package.nix @@ -24,13 +24,13 @@ let in python.pkgs.buildPythonApplication rec { pname = "gdtoolkit"; - version = "4.2.2"; + version = "4.3.1"; src = fetchFromGitHub { owner = "Scony"; repo = "godot-gdscript-toolkit"; rev = version; - hash = "sha256-SvEKKuDnfxV+5AArg5ssrQzgIwRITdek4KYEs3d0n4Y="; + hash = "sha256-XK6s/WnbTzjCAtV8dbRPLe5olpKUglPLQdttRRMvX70="; }; disabled = python.pythonOlder "3.7"; @@ -50,12 +50,12 @@ python.pkgs.buildPythonApplication rec { ]; preCheck = '' - # The tests want to run the installed executables - export PATH=$out/bin:$PATH + # The tests want to run the installed executables + export PATH=$out/bin:$PATH - # gdtoolkit tries to write cache variables to $HOME/.cache - export HOME=$TMP - ''; + # gdtoolkit tries to write cache variables to $HOME/.cache + export HOME=$TMP + ''; # The tests are not working on NixOS disabledTestPaths = [ diff --git a/pkgs/by-name/gp/gptscript/package.nix b/pkgs/by-name/gp/gptscript/package.nix index a034a08aa721..81fc45b2bf90 100644 --- a/pkgs/by-name/gp/gptscript/package.nix +++ b/pkgs/by-name/gp/gptscript/package.nix @@ -7,16 +7,16 @@ }: buildGoModule rec { pname = "gptscript"; - version = "0.9.4"; + version = "0.9.5"; src = fetchFromGitHub { owner = "gptscript-ai"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-s7AKpoIFRcZfAM6K1MMovzOqgXdAWtnnFR3m+84L3rQ="; + hash = "sha256-9wyDcvY5JCjtvx6XtvHwOsZLCiN1fRn0wBGaIaw2iRQ="; }; - vendorHash = "sha256-Kf/ckUuG+SA8WQN2MKL+Xrz91RGPuA7X2/MjryRXsts="; + vendorHash = "sha256-ajglXWGJhSJtcrbSBmxmriXFTT+Vb4xYq0Ec9SYRlQk="; propagatedBuildInputs = with darwin; lib.optionals stdenv.hostPlatform.isDarwin [Security]; diff --git a/pkgs/by-name/hu/hullcaster/package.nix b/pkgs/by-name/hu/hullcaster/package.nix new file mode 100644 index 000000000000..ec7d11575aec --- /dev/null +++ b/pkgs/by-name/hu/hullcaster/package.nix @@ -0,0 +1,31 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: + +rustPlatform.buildRustPackage rec { + pname = "hullcaster"; + version = "v0.1.2"; + + src = fetchFromGitHub { + owner = "gilcu3"; + repo = "hullcaster"; + rev = version; + hash = "sha256-TaELX/xMxm7OTmVnvkgEmdhnVrIlxSNqlE73+I5qxCc="; + }; + + cargoHash = "sha256-FeIZu/9yEk8U4a1AhqHyJBhpTP453km33FemwfhZckc="; + + # work around error: Could not create filepath: /homeless-shelter/.local/share + checkFlags = [ + "--skip gpodder::tests::gpodder" + ]; + + meta = { + description = "Terminal-based podcast manager built in Rust"; + homepage = "https://github.com/gilcu3/hullcaster"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ kiara ]; + }; +} diff --git a/pkgs/by-name/li/libgweather/package.nix b/pkgs/by-name/li/libgweather/package.nix index 838ad727b739..c528a2198ddc 100644 --- a/pkgs/by-name/li/libgweather/package.nix +++ b/pkgs/by-name/li/libgweather/package.nix @@ -1,6 +1,8 @@ { lib , stdenv +, buildPackages , fetchurl +, makeWrapper , meson , ninja , pkg-config @@ -16,7 +18,7 @@ , geocode-glib_2 , vala , gnome -, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform +, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages }: stdenv.mkDerivation rec { @@ -38,6 +40,7 @@ stdenv.mkDerivation rec { ]; depsBuildBuild = [ + makeWrapper pkg-config ]; @@ -70,19 +73,25 @@ stdenv.mkDerivation rec { ]; postPatch = '' - patchShebangs build-aux/meson/gen_locations_variant.py + patchShebangs --build build-aux/meson/gen_locations_variant.py + wrapProgram $PWD/build-aux/meson/gen_locations_variant.py \ + --prefix GI_TYPELIB_PATH : ${lib.getLib buildPackages.glib}/lib/girepository-1.0 \ # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) # it should be a build-time dep for build # TODO: send upstream substituteInPlace doc/meson.build \ - --replace "'gi-docgen', ver" "'gi-docgen', native:true, ver" \ - --replace "'gi-docgen', req" "'gi-docgen', native:true, req" + --replace-fail "'gi-docgen', ver" "'gi-docgen', native:true, ver" \ + --replace-fail "'gi-docgen', req" "'gi-docgen', native:true, req" # gir works for us even when cross-compiling # TODO: send upstream because downstream users can use the option to disable gir if they don't have it working - substituteInPlace libgweather/meson.build \ - --replace "g_ir_scanner.found() and not meson.is_cross_build()" "g_ir_scanner.found()" + substituteInPlace meson.build \ + --replace-fail "g_ir_scanner.found() and not meson.is_cross_build()" "g_ir_scanner.found()" + + substituteInPlace libgweather/meson.build --replace-fail \ + "dependency('vapigen', required: enable_vala == 'true')" \ + "dependency('vapigen', native: true, required: enable_vala == 'true')" ''; postFixup = '' @@ -90,6 +99,8 @@ stdenv.mkDerivation rec { moveToOutput "share/doc" "$devdoc" ''; + strictDeps = true; + passthru = { updateScript = gnome.updateScript { packageName = pname; diff --git a/pkgs/by-name/me/mergiraf/Cargo.lock b/pkgs/by-name/me/mergiraf/Cargo.lock index 84be0981f768..a7e2ac84ca83 100644 --- a/pkgs/by-name/me/mergiraf/Cargo.lock +++ b/pkgs/by-name/me/mergiraf/Cargo.lock @@ -687,7 +687,7 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "mergiraf" -version = "0.1.1" +version = "0.3.0" dependencies = [ "cc", "clap", @@ -705,6 +705,7 @@ dependencies = [ "tree-sitter", "tree-sitter-c-sharp", "tree-sitter-cpp", + "tree-sitter-dart", "tree-sitter-go", "tree-sitter-html", "tree-sitter-java", @@ -1180,10 +1181,21 @@ dependencies = [ "tree-sitter-language", ] +[[package]] +name = "tree-sitter-dart" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19f1f70b80ce41343e14aafcef67b5ba2e9de89587535b4aabbabb8036f4e38a" +dependencies = [ + "cc", + "tree-sitter", +] + [[package]] name = "tree-sitter-go" -version = "0.23.1" -source = "git+https://github.com/tree-sitter/tree-sitter-go.git?rev=ecc20866d1bd4d80f3aef06456ed3014d4d598e6#ecc20866d1bd4d80f3aef06456ed3014d4d598e6" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a83995691e929d60d7946ab29a6cace465f0cf5bfdb62d7721f76278537d59ad" dependencies = [ "cc", "tree-sitter-language", @@ -1257,10 +1269,11 @@ dependencies = [ [[package]] name = "tree-sitter-yaml" version = "0.6.1" -source = "git+https://github.com/wetneb/tree-sitter-yaml.git?rev=7b5199133abceb03d6d1d8f1672f49b4f2a71442#7b5199133abceb03d6d1d8f1672f49b4f2a71442" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aad27ec46ad343d8b514f64dd3fdffb478c592ece561b6c935d90ef55589c6b6" dependencies = [ "cc", - "tree-sitter-language", + "tree-sitter", ] [[package]] diff --git a/pkgs/by-name/me/mergiraf/package.nix b/pkgs/by-name/me/mergiraf/package.nix index d0437be51e6f..6e888e0bfa21 100644 --- a/pkgs/by-name/me/mergiraf/package.nix +++ b/pkgs/by-name/me/mergiraf/package.nix @@ -6,36 +6,44 @@ # native check inputs git, + versionCheckHook, }: rustPlatform.buildRustPackage rec { pname = "mergiraf"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "mergiraf"; repo = "mergiraf"; rev = "refs/tags/v${version}"; - hash = "sha256-egtX2daCbPXi5rX2OxbEZA/VI9R4HMj5LRKbUEBFo+E="; + hash = "sha256-yBLSN5+rPPoxA6Bn1O2NNGNo9cDfowZdaOtVvvUmNAM="; }; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "tree-sitter-go-0.23.1" = "sha256-elPqkvVYs0vADOuN/umDteWP5hqcXhQAoSkqYDtTxaU="; "tree-sitter-xml-0.7.0" = "sha256-RTWvOUAs3Uql9DKsP1jf9FZZHaZORE40GXd+6g6RQZw="; - "tree-sitter-yaml-0.6.1" = "sha256-gS+SjOnGl/86U9VV/y1ca7naYIe7DAOvOv++jCRLTKo="; }; }; - nativeCheckInputs = [ git ]; + nativeCheckInputs = [ + git + versionCheckHook + ]; + + versionCheckProgramArg = [ "--version" ]; meta = { description = "Syntax-aware git merge driver for a growing collection of programming languages and file formats"; - mainProgram = "mergiraf"; homepage = "https://mergiraf.org/"; + changelog = "https://codeberg.org/mergiraf/mergiraf/releases/v${version}"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ zimbatm ]; + maintainers = with lib.maintainers; [ + zimbatm + genga898 + ]; + mainProgram = "mergiraf"; }; } diff --git a/pkgs/by-name/mo/mollysocket/package.nix b/pkgs/by-name/mo/mollysocket/package.nix index c282bbba2630..f5cdf5c75231 100644 --- a/pkgs/by-name/mo/mollysocket/package.nix +++ b/pkgs/by-name/mo/mollysocket/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "mollysocket"; - version = "1.5.1"; + version = "1.5.2"; src = fetchFromGitHub { owner = "mollyim"; repo = "mollysocket"; rev = version; - hash = "sha256-RRnMmdyr4FZHsdLjGvTRiSw+YC+OutWqsoEId7ZlSX0="; + hash = "sha256-6SS1OyAkjL2K87wbUmDs+dDSLp3xL65CkM2AziuN0JQ="; }; - cargoHash = "sha256-BXllzuw01ANrk+osUsAlMyLRAptvxGO+rl0ygsCfewU="; + cargoHash = "sha256-gdHd10MfY7owKsLCsYCy4KIClnsgBzak6ZfghYuVDOc="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/nb/nbsdgames/package.nix b/pkgs/by-name/nb/nbsdgames/package.nix new file mode 100644 index 000000000000..552694601833 --- /dev/null +++ b/pkgs/by-name/nb/nbsdgames/package.nix @@ -0,0 +1,50 @@ +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + pkg-config, + ncurses, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "nbsdgames"; + version = "5-unstable-2023-03-13"; + + src = fetchFromGitHub { + owner = "abakh"; + repo = "nbsdgames"; + rev = "b7530749f7d7cc1aba9dcf202543ed6f638592f8"; + hash = "sha256-/GK2FVV/JKh+bU/FSnY6Hr3PWxSr5CW8XerfGF+FPls="; + }; + + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; + + buildInputs = [ ncurses ]; + + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + "GAMES_DIR=bin" + ]; + + preInstall = '' + mkdir -p $out/bin + ''; + + postInstall = '' + installManPage man/* + ''; + + meta = { + description = "A package of 18 text-based modern games"; + homepage = "https://github.com/abakh/nbsdgames"; + license = lib.licenses.cc0; + maintainers = with lib.maintainers; [ sarcasticadmin ]; + mainProgram = "nbsdgames"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix b/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix index 232d4dcbfac7..ab8d1dc8120a 100644 --- a/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix +++ b/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix @@ -7,10 +7,10 @@ nim-unwrapped-2_2.overrideAttrs ( finalAttrs: previousAttrs: { - version = "2.0.10"; + version = "2.0.12"; src = fetchurl { url = "https://nim-lang.org/download/nim-${finalAttrs.version}.tar.xz"; - hash = "sha256-8UVDwjOpLHub0np9mEx4yfnBvXMyAwrBa+fFQMdbDqA="; + hash = "sha256-xIh5ScXrjX+an1bwrrK/IUD6vwruDwWAoxnioJgVczo="; }; patches = lib.lists.unique ( builtins.filter ( diff --git a/pkgs/by-name/pi/picom-pijulius/package.nix b/pkgs/by-name/pi/picom-pijulius/package.nix index 098e7a68be1a..442e32fda0dc 100644 --- a/pkgs/by-name/pi/picom-pijulius/package.nix +++ b/pkgs/by-name/pi/picom-pijulius/package.nix @@ -3,41 +3,41 @@ lib, writeShellScript, fetchFromGitHub, - pcre, - asciidoctor, - unstableGitUpdater + unstableGitUpdater, }: + picom.overrideAttrs (previousAttrs: { pname = "picom-pijulius"; - version = "8.2-unstable-2024-10-30"; + version = "8.2-unstable-2024-11-12"; src = fetchFromGitHub { owner = "pijulius"; repo = "picom"; - rev = "bdbcae085c1ba6c2ec6f21712ed140daaa630d89"; - hash = "sha256-3S8p4vXfryL3IfWPpjhp1GxqJelHRw5aFI3a+ysRKTU="; + rev = "136ee8d0704753b535d59a4aea03d494929ce081"; + hash = "sha256-om4vHKXA1FFy6b6DrmVunfOMco3SZxiNoIYyXK+j7k8="; }; - buildInputs = (previousAttrs.buildInputs or [ ]) ++ [ pcre ]; - nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ asciidoctor ]; - - meta = { - inherit (previousAttrs.meta) - license - platforms - mainProgram - longDescription - ; - - description = "Pijulius's picom fork with extensive animation support"; - homepage = "https://github.com/pijulius/picom"; - maintainers = with lib.maintainers; [ YvesStraten ]; - }; + dontVersionCheck = true; passthru.updateScript = unstableGitUpdater { tagFormat = "v([A-Z]+)([a-z]+)|v([1-9]).([1-9])|v([1-9])-rc([1-9])"; tagConverter = writeShellScript "picom-pijulius-tag-converter.sh" '' -sed -e 's/v//g' -e 's/([A-Z])([a-z])+/8.2/g' -e 's/-rc([1-9])|-rc//g' -e 's/0/8.2/g' -''; + sed -e 's/v//g' -e 's/([A-Z])([a-z])+/8.2/g' -e 's/-rc([1-9])|-rc//g' -e 's/0/8.2/g' + ''; + }; + + meta = { + inherit (previousAttrs.meta) + license + longDescription + mainProgram + platforms + ; + + description = "Pijulius's picom fork with extensive animation support"; + homepage = "https://github.com/pijulius/picom"; + maintainers = with lib.maintainers; [ + YvesStraten + ]; }; }) diff --git a/pkgs/by-name/pi/picom/package.nix b/pkgs/by-name/pi/picom/package.nix index ae649d49c456..1e07ef86231f 100644 --- a/pkgs/by-name/pi/picom/package.nix +++ b/pkgs/by-name/pi/picom/package.nix @@ -1,45 +1,48 @@ -{ asciidoctor -, dbus -, docbook_xml_dtd_45 -, docbook_xsl -, fetchFromGitHub -, lib -, libconfig -, libdrm -, libev -, libGL -, libepoxy -, libX11 -, libxcb -, libxdg_basedir -, libXext -, libxml2 -, libxslt -, makeWrapper -, meson -, ninja -, pcre2 -, pixman -, pkg-config -, stdenv -, uthash -, xcbutil -, xcbutilimage -, xcbutilrenderutil -, xorgproto -, xwininfo -, withDebug ? false +{ + asciidoctor, + dbus, + docbook_xml_dtd_45, + docbook_xsl, + fetchFromGitHub, + lib, + libconfig, + libdrm, + libev, + libGL, + libepoxy, + libX11, + libxcb, + libxdg_basedir, + libXext, + libxml2, + libxslt, + makeWrapper, + meson, + ninja, + pcre2, + pixman, + pkg-config, + stdenv, + uthash, + xcbutil, + xcbutilimage, + xcbutilrenderutil, + xorgproto, + xwininfo, + withDebug ? false, + versionCheckHook, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "picom"; - version = "12.4"; + version = "12.5"; src = fetchFromGitHub { owner = "yshui"; repo = "picom"; rev = "v${finalAttrs.version}"; - hash = "sha256-5kScnKUHck86fsYrraeV2O2r6fsVFllRMp4GeNT627A="; + hash = "sha256-H8IbzzrzF1c63MXbw5mqoll3H+vgcSVpijrlSDNkc+o="; fetchSubmodules = true; }; @@ -90,15 +93,28 @@ stdenv.mkDerivation (finalAttrs: { # In debug mode, also copy src directory to store. If you then run `gdb picom` # in the bin directory of picom store path, gdb finds the source files. - postInstall = '' - wrapProgram $out/bin/picom-trans \ - --prefix PATH : ${lib.makeBinPath [ xwininfo ]} - '' + lib.optionalString withDebug '' - cp -r ../src $out/ - ''; + postInstall = + '' + wrapProgram $out/bin/picom-trans \ + --prefix PATH : ${lib.makeBinPath [ xwininfo ]} + '' + + lib.optionalString withDebug '' + cp -r ../src $out/ + ''; - meta = with lib; { + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + doInstallCheck = true; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { description = "Fork of XCompMgr, a sample compositing manager for X servers"; + license = lib.licenses.mit; longDescription = '' A fork of XCompMgr, which is a sample compositing manager for X servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE @@ -113,10 +129,14 @@ stdenv.mkDerivation (finalAttrs: { For gdb to find the source files, you need to run gdb in the bin directory of picom package in the nix store. ''; - license = licenses.mit; homepage = "https://github.com/yshui/picom"; - maintainers = with maintainers; [ ertes gepbird twey thiagokokada ]; - platforms = platforms.linux; mainProgram = "picom"; + maintainers = with lib.maintainers; [ + ertes + gepbird + thiagokokada + twey + ]; + platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/pi/pinact/package.nix b/pkgs/by-name/pi/pinact/package.nix index 133688d22693..4c2f34a45043 100644 --- a/pkgs/by-name/pi/pinact/package.nix +++ b/pkgs/by-name/pi/pinact/package.nix @@ -7,18 +7,18 @@ let pname = "pinact"; - version = "0.2.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "suzuki-shunsuke"; repo = "pinact"; rev = "v${version}"; - hash = "sha256-HfeHfKXDBHPgxisWSVnrLOQf/4NXtnehkIjQqiCoFIc="; + hash = "sha256-fOmQDfqG1aWzpL80Nc8JA6HWQR+z9mhqtwU4rC2g2Gg="; }; in buildGoModule { inherit pname version src; - vendorHash = "sha256-L9EGygiJ40f7Yw46KdaAof5O/ren6inTK7XerB/uv1g="; + vendorHash = "sha256-AFlkzs5mL/x9CwfF2apLcQbiu60GD33oFH6lQDHAL1M="; doCheck = true; diff --git a/pkgs/by-name/pr/proton-pass/package.nix b/pkgs/by-name/pr/proton-pass/package.nix index 82ab6501009e..8869d038d435 100644 --- a/pkgs/by-name/pr/proton-pass/package.nix +++ b/pkgs/by-name/pr/proton-pass/package.nix @@ -9,11 +9,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "proton-pass"; - version = "1.23.1"; + version = "1.24.1"; src = fetchurl { url = "https://proton.me/download/pass/linux/x64/proton-pass_${finalAttrs.version}_amd64.deb"; - hash = "sha256-D4OFHL9AS8oAwMZHoXaDpHKfMBQEaOd18eWAwVW4EJA="; + hash = "sha256-NtSZ3TSF3nBD+mEU6+uW2x8nqv0dz3jpankyTjJ8xvE="; }; dontConfigure = true; @@ -25,11 +25,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { asar ]; - # Rebuild the ASAR archive with the assets embedded + # Rebuild the ASAR archive, hardcoding the resourcesPath preInstall = '' asar extract usr/lib/proton-pass/resources/app.asar tmp - cp -r usr/lib/proton-pass/resources/assets/ tmp/ rm usr/lib/proton-pass/resources/app.asar + substituteInPlace tmp/.webpack/main/index.js \ + --replace-fail "process.resourcesPath" "'$out/share/proton-pass'" asar pack tmp/ usr/lib/proton-pass/resources/app.asar rm -fr tmp ''; @@ -38,7 +39,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook preInstall mkdir -p $out/share/proton-pass cp -r usr/share/ $out/ - cp -r usr/lib/proton-pass/resources/app.asar $out/share/proton-pass/ + cp -r usr/lib/proton-pass/resources/{app.asar,assets} $out/share/proton-pass/ runHook postInstall ''; @@ -46,6 +47,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { makeWrapper ${lib.getExe electron} $out/bin/proton-pass \ --add-flags $out/share/proton-pass/app.asar \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --set-default ELECTRON_FORCE_IS_PACKAGED 1 \ --set-default ELECTRON_IS_DEV 0 \ --inherit-argv0 ''; diff --git a/pkgs/by-name/pr/prs/package.nix b/pkgs/by-name/pr/prs/package.nix index 02f6d0725f90..38924b4faf58 100644 --- a/pkgs/by-name/pr/prs/package.nix +++ b/pkgs/by-name/pr/prs/package.nix @@ -1,48 +1,45 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, installShellFiles -, pkg-config -, python3 -, dbus -, glib -, gpgme -, gtk3 -, libxcb -, libxkbcommon -, stdenv +{ + lib, + rustPlatform, + fetchFromGitLab, + installShellFiles, + pkg-config, + python3, + glib, + gpgme, + gtk3, + stdenv, }: rustPlatform.buildRustPackage rec { pname = "prs"; - version = "0.5.1"; + version = "0.5.2"; src = fetchFromGitLab { owner = "timvisee"; repo = "prs"; rev = "refs/tags/v${version}"; - hash = "sha256-MvQ0B35NF/AuGHBMa201FkFlU/UX0WXMcBRxTJwpUFw="; + hash = "sha256-W5wNmZWjSsM6Xe50fCpa/aGsJ8PDyh2INs1Oj86et04="; }; - cargoHash = "sha256-YDcAjBIdUboOKvGSnGW6b1JVbhQaB3ccXcSmK78M7DI="; + cargoHash = "sha256-T57RqIzurpYLHyeFhvqxmC+DoB6zUf+iTu1YkMmwtp8="; - postPatch = '' - # The GPGME backend is recommended - for f in "gtk3/Cargo.toml" "cli/Cargo.toml"; do - substituteInPlace "$f" --replace \ - 'default = ["backend-gnupg-bin"' 'default = ["backend-gpgme"' - done - ''; + nativeBuildInputs = [ + gpgme + installShellFiles + pkg-config + python3 + ]; - nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ]; + cargoBuildFlags = [ + "--no-default-features" + "--features=alias,backend-gpgme,clipboard,notify,select-fzf-bin,select-skim-bin,tomb,totp" + ]; buildInputs = [ - dbus glib gpgme gtk3 - libxcb - libxkbcommon ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' @@ -57,7 +54,7 @@ rustPlatform.buildRustPackage rec { changelog = "https://gitlab.com/timvisee/prs/-/blob/v${version}/CHANGELOG.md"; license = with licenses; [ lgpl3Only # lib - gpl3Only # everything else + gpl3Only # everything else ]; maintainers = with maintainers; [ dotlambda ]; mainProgram = "prs"; diff --git a/pkgs/by-name/sm/smlfut/package.nix b/pkgs/by-name/sm/smlfut/package.nix index 7caafc4db345..97ade088ed57 100644 --- a/pkgs/by-name/sm/smlfut/package.nix +++ b/pkgs/by-name/sm/smlfut/package.nix @@ -1,14 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, mlton, futhark }: +{ lib, stdenv, fetchFromGitHub, mlton, mlkit, futhark }: stdenv.mkDerivation rec { pname = "smlfut"; - version = "1.3.0"; + version = "1.6.2"; src = fetchFromGitHub { owner = "diku-dk"; repo = "smlfut"; rev = "v${version}"; - hash = "sha256-Oj5+UNtV2GKB2GNsSFKePVpa1msSZwwJI/YElwBSH98="; + hash = "sha256-0Bqgoyp43Y961BMghJFBUx+1lcM2HHlPDjPyLHquWiE="; }; enableParallelBuilding = true; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { doCheck = true; - nativeCheckInputs = [ futhark ]; + nativeCheckInputs = [ futhark mlkit ]; checkTarget = "run_test"; diff --git a/pkgs/by-name/su/sus-compiler/Cargo.lock b/pkgs/by-name/su/sus-compiler/Cargo.lock index 56bc269bde50..6f70ec513dab 100644 --- a/pkgs/by-name/su/sus-compiler/Cargo.lock +++ b/pkgs/by-name/su/sus-compiler/Cargo.lock @@ -21,6 +21,12 @@ dependencies = [ "yansi", ] +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + [[package]] name = "atty" version = "0.2.14" @@ -34,9 +40,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "bitflags" @@ -45,14 +51,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] -name = "cc" -version = "1.1.19" +name = "bitflags" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d74707dde2ba56f86ae90effb3b43ddd369504387e718014de010cec7959800" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "cc" +version = "1.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baee610e9452a8f6f0a1b6194ec09ff9e2d85dea54432acdae41aa0761c95d70" dependencies = [ "shlex", ] +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + [[package]] name = "clap" version = "3.2.25" @@ -60,7 +78,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", - "bitflags", + "bitflags 1.3.2", "clap_lex", "indexmap", "strsim", @@ -92,6 +110,38 @@ version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -101,6 +151,17 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -117,13 +178,142 @@ dependencies = [ ] [[package]] -name = "idna" -version = "0.5.0" +name = "icu_collections" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -144,9 +334,25 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" [[package]] name = "log" @@ -172,7 +378,7 @@ version = "0.94.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1" dependencies = [ - "bitflags", + "bitflags 1.3.2", "serde", "serde_json", "serde_repr", @@ -272,9 +478,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -289,10 +495,21 @@ dependencies = [ ] [[package]] -name = "regex" -version = "1.10.6" +name = "redox_users" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -302,9 +519,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", @@ -313,9 +530,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "ryu" @@ -325,29 +542,29 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.87", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ "itoa", "memchr", @@ -363,7 +580,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.87", ] [[package]] @@ -372,6 +589,18 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "strsim" version = "0.10.0" @@ -380,7 +609,7 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "sus-proc-macro" -version = "0.0.1" +version = "0.1.0" dependencies = [ "quote", "syn 1.0.109", @@ -390,10 +619,12 @@ dependencies = [ [[package]] name = "sus_compiler" -version = "0.0.2" +version = "0.1.1" dependencies = [ "ariadne", + "arrayvec", "clap", + "dirs-next", "lsp-server", "lsp-types", "num", @@ -417,15 +648,26 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.77" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -442,19 +684,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] -name = "tinyvec" -version = "1.8.0" +name = "thiserror" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" dependencies = [ - "tinyvec_macros", + "thiserror-impl", ] [[package]] -name = "tinyvec_macros" -version = "0.1.1" +name = "thiserror-impl" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] [[package]] name = "tree-sitter" @@ -468,44 +725,29 @@ dependencies = [ [[package]] name = "tree-sitter-sus" -version = "0.0.2" +version = "0.1.0" dependencies = [ "cc", "tree-sitter", ] -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "url" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" dependencies = [ "form_urlencoded", "idna", @@ -513,6 +755,24 @@ dependencies = [ "serde", ] +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + [[package]] name = "winapi" version = "0.3.9" @@ -617,8 +877,87 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "yansi" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] diff --git a/pkgs/by-name/su/sus-compiler/package.nix b/pkgs/by-name/su/sus-compiler/package.nix index adc2bf9b4e7d..c7f38a8fe4f3 100644 --- a/pkgs/by-name/su/sus-compiler/package.nix +++ b/pkgs/by-name/su/sus-compiler/package.nix @@ -7,19 +7,23 @@ rustPlatform.buildRustPackage rec { pname = "sus-compiler"; - version = "0.0.2"; + version = "0.1.1"; src = fetchFromGitHub { owner = "pc2"; repo = "sus-compiler"; rev = "v${version}"; - hash = "sha256-f93uT6ELW3T2Xd539EfZCf2LSbxcYnEX+smmLzBAxqc="; + hash = "sha256-VSoroUultjBn2KxfvyhS923RQ/1v9AXb15k4/MoR+oM="; fetchSubmodules = true; }; # no lockfile upstream cargoLock.lockFile = ./Cargo.lock; + preBuild = '' + export HOME="$TMPDIR"; + ''; + postPatch = '' ln -s ${./Cargo.lock} Cargo.lock ''; diff --git a/pkgs/by-name/sw/sword/package.nix b/pkgs/by-name/sw/sword/package.nix index c8382ccbaa7c..d2be17e78d92 100644 --- a/pkgs/by-name/sw/sword/package.nix +++ b/pkgs/by-name/sw/sword/package.nix @@ -5,60 +5,122 @@ pkg-config, icu, clucene_core, + + autoreconfHook, + bzip2, curl, + xz, }: -stdenv.mkDerivation (finalAttrs: { - pname = "sword"; - version = "1.9.0"; +stdenv.mkDerivation ( + finalAttrs: + let + # Used on Windows, where libpsl doesn't compile, yet + curlDep = curl.override { pslSupport = false; }; + in + { + pname = "sword"; + version = "1.9.0"; - src = fetchurl { - url = "https://www.crosswire.org/ftpmirror/pub/sword/source/v${lib.versions.majorMinor finalAttrs.version}/sword-${finalAttrs.version}.tar.gz"; - hash = "sha256-QkCc894vrxEIUj4sWsB0XSH57SpceO2HjuncwwNCa4o="; - }; + src = fetchurl { + url = "https://www.crosswire.org/ftpmirror/pub/sword/source/v${lib.versions.majorMinor finalAttrs.version}/sword-${finalAttrs.version}.tar.gz"; + hash = "sha256-QkCc894vrxEIUj4sWsB0XSH57SpceO2HjuncwwNCa4o="; + }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - icu - clucene_core - curl - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ (lib.optionals stdenv.hostPlatform.isWindows [ + autoreconfHook # The Windows patch modifies autotools files + ]); - outputs = [ - "out" - "dev" - ]; + buildInputs = + [ + icu + ] + ++ (lib.optionals stdenv.hostPlatform.isUnix [ + clucene_core + curl + ]) + ++ (lib.optionals stdenv.hostPlatform.isWindows [ + bzip2 + curlDep + xz + ]); - prePatch = '' - patchShebangs .; - ''; + outputs = [ + "out" + "dev" + ]; - configureFlags = [ - "--without-conf" - "--enable-tests=no" - ]; - - CXXFLAGS = [ - "-Wno-unused-but-set-variable" - "-Wno-unknown-warning-option" - # compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554 - "-DU_USING_ICU_NAMESPACE=1" - ]; - - meta = { - description = "Software framework that allows research manipulation of Biblical texts"; - homepage = "https://www.crosswire.org/sword/"; - longDescription = '' - The SWORD Project is the CrossWire Bible Society's free Bible software - project. Its purpose is to create cross-platform open-source tools -- - covered by the GNU General Public License -- that allow programmers and - Bible societies to write new Bible software more quickly and easily. We - also create Bible study software for all readers, students, scholars, and - translators of the Bible, and have a growing collection of many hundred - texts in around 100 languages. + prePatch = '' + patchShebangs .; ''; - license = lib.licenses.gpl2; - maintainers = with lib.maintainers; [ AndersonTorres ]; - platforms = lib.platforms.unix; - }; -}) + + preConfigure = lib.optionalString stdenv.hostPlatform.isWindows '' + substituteInPlace configure --replace-fail "-no-undefined" "-Wl,-no-undefined" + ''; + + patches = lib.optional stdenv.hostPlatform.isWindows ./sword-1.9.0-diatheke-includes.patch; + + configureFlags = + [ + "--without-conf" + "--enable-tests=no" + ] + ++ (lib.optionals stdenv.hostPlatform.isWindows [ + "--with-xz" + "--with-bzip2" + "--with-icuregex" + ]); + + makeFlags = lib.optionals stdenv.hostPlatform.isWindows [ + "LDFLAGS=-no-undefined" + ]; + + env = { + # When placed in nativeBuildInputs, icu.dev is finding the native ICU libs, but setting it + # explicitly here has it finding the platform appropriate version + ICU_CONFIG = lib.optionalString stdenv.hostPlatform.isWindows "${icu.dev}/bin/icu-config --noverify"; + CURL_CONFIG = lib.optionalString stdenv.hostPlatform.isWindows "${lib.getDev curlDep}/bin/curl-config"; + + CXXFLAGS = ( + builtins.concatStringsSep " " ( + [ + "-Wno-unused-but-set-variable" + "-Wno-unknown-warning-option" + # compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554 + "-DU_USING_ICU_NAMESPACE=1" + ] + ++ (lib.optionals stdenv.hostPlatform.isWindows [ + "-Wint-to-pointer-cast" + "-fpermissive" + "-D_ICUSWORD_" + "-DCURL_STATICLIB" + ]) + ) + ); + }; + + meta = { + description = "Software framework that allows research manipulation of Biblical texts"; + homepage = "https://www.crosswire.org/sword/"; + longDescription = '' + The SWORD Project is the CrossWire Bible Society's free Bible software + project. Its purpose is to create cross-platform open-source tools -- + covered by the GNU General Public License -- that allow programmers and + Bible societies to write new Bible software more quickly and easily. We + also create Bible study software for all readers, students, scholars, and + translators of the Bible, and have a growing collection of many hundred + texts in around 100 languages. + ''; + license = lib.licenses.gpl2; + maintainers = with lib.maintainers; [ + AndersonTorres + greg + ]; + platforms = lib.platforms.all; + }; + } +) diff --git a/pkgs/by-name/sw/sword/sword-1.9.0-diatheke-includes.patch b/pkgs/by-name/sw/sword/sword-1.9.0-diatheke-includes.patch new file mode 100644 index 000000000000..182ec53d2183 --- /dev/null +++ b/pkgs/by-name/sw/sword/sword-1.9.0-diatheke-includes.patch @@ -0,0 +1,13 @@ +diff --git a/utilities/diatheke/Makefile.am b/utilities/diatheke/Makefile.am +index 8ba34e5..545af2c 100644 +--- a/utilities/diatheke/Makefile.am ++++ b/utilities/diatheke/Makefile.am +@@ -1,5 +1,8 @@ + AUTOMAKE_OPTIONS = 1.6 + ++if USE_INTERNAL_REGEX ++AM_CPPFLAGS = -I$(top_srcdir)/include/internal/regex ++endif + LDADD = $(top_builddir)/lib/libsword.la + + bin_PROGRAMS = diatheke diff --git a/pkgs/by-name/ta/taterclient-ddnet/package.nix b/pkgs/by-name/ta/taterclient-ddnet/package.nix index 9c912e0799e1..0b46b3614771 100644 --- a/pkgs/by-name/ta/taterclient-ddnet/package.nix +++ b/pkgs/by-name/ta/taterclient-ddnet/package.nix @@ -27,7 +27,7 @@ glslang, spirv-tools, gtest, - darwin, + apple-sdk_11, }: let clientExecutable = "TaterClient-DDNet"; @@ -80,15 +80,9 @@ stdenv.mkDerivation (finalAttrs: { spirv-tools ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin ( - with darwin.apple_sdk.frameworks; - [ - Carbon - Cocoa - OpenGL - Security - ] - ); + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + ]; postPatch = '' substituteInPlace src/engine/shared/storage.cpp \ diff --git a/pkgs/by-name/td/tdnf/package.nix b/pkgs/by-name/td/tdnf/package.nix index 745f6af0eeee..315b53a8fe2f 100644 --- a/pkgs/by-name/td/tdnf/package.nix +++ b/pkgs/by-name/td/tdnf/package.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch2 , cmake , curl , gpgme @@ -23,6 +24,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-p9g+b7Fqq8V6QSaikEQMMHWqBf4UtRA9a/VtH+s5JUM="; }; + patches = [ + # Support for rpm >= 4.19 + (fetchpatch2 { + url = "https://patch-diff.githubusercontent.com/raw/vmware/tdnf/pull/410.patch"; + hash = "sha256-p/ix5O1J/lj2fw7qJokT+wPN4ROoulnVqByfxgFvuEo="; + }) + ]; + nativeBuildInputs = [ cmake pkg-config diff --git a/pkgs/by-name/te/telegraf/package.nix b/pkgs/by-name/te/telegraf/package.nix index d2fac7003969..ae2f74c44773 100644 --- a/pkgs/by-name/te/telegraf/package.nix +++ b/pkgs/by-name/te/telegraf/package.nix @@ -9,7 +9,7 @@ buildGo123Module rec { pname = "telegraf"; - version = "1.32.1"; + version = "1.32.2"; subPackages = [ "cmd/telegraf" ]; @@ -17,10 +17,10 @@ buildGo123Module rec { owner = "influxdata"; repo = "telegraf"; rev = "v${version}"; - hash = "sha256-CtfPREsU2LU7Ptn3FzEDlPeWVWP/OdtIITdUL7qKbgI="; + hash = "sha256-hqYBoaklrdCkTwnkwqkZAvGLyWkUB3CVu4cg3Ujbyto="; }; - vendorHash = "sha256-WQbgGsGfyUGcgjXWjuyyCapeKgujoZD6HpKoFiIA//M="; + vendorHash = "sha256-KRZ5Rrdp69DTHtNu8vXuD7QKy2n6Sx7myNpB5TSZpRk="; proxyVendor = true; ldflags = [ diff --git a/pkgs/by-name/te/terragrunt/package.nix b/pkgs/by-name/te/terragrunt/package.nix index 43edfeb3999c..964a95d4d725 100644 --- a/pkgs/by-name/te/terragrunt/package.nix +++ b/pkgs/by-name/te/terragrunt/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "terragrunt"; - version = "0.67.9"; + version = "0.68.7"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-TDYYPR+Sak2Kv89Fp+sCi2XC8eYrwVS5RIgzUTXaCRc="; + hash = "sha256-+66+qntwEILB0wbO/J5S6ED5W8JoE0C1KSGmGwIYGM0="; }; nativeBuildInputs = [ go-mockery ]; @@ -21,7 +21,7 @@ buildGoModule rec { make generate-mocks ''; - vendorHash = "sha256-NERvQoxT01ew/rCkEXrthsqF1mXjhxZANBL9ApTyd7o="; + vendorHash = "sha256-MLIj+/FUw7C4sOWby9nmcQFAvjVNvnf6bKs3pmlhzRQ="; doCheck = false; @@ -29,6 +29,7 @@ buildGoModule rec { "-s" "-w" "-X github.com/gruntwork-io/go-commons/version.Version=v${version}" + "-extldflags '-static'" ]; doInstallCheck = true; diff --git a/pkgs/by-name/va/vault-bin/package.nix b/pkgs/by-name/va/vault-bin/package.nix index b852097eee14..2e5d4f322f3a 100644 --- a/pkgs/by-name/va/vault-bin/package.nix +++ b/pkgs/by-name/va/vault-bin/package.nix @@ -69,7 +69,6 @@ stdenv.mkDerivation rec { psyanticy Chili-Man techknowlogick - mkaito ]; mainProgram = "vault"; platforms = [ diff --git a/pkgs/by-name/xe/xen/package.nix b/pkgs/by-name/xe/xen/package.nix index 8c574d141ad4..d20abea06ecb 100644 --- a/pkgs/by-name/xe/xen/package.nix +++ b/pkgs/by-name/xe/xen/package.nix @@ -6,6 +6,7 @@ buildXenPackage.override { inherit python3Packages; } { pname = "xen"; version = "4.19.0-unstable-2024-11-12"; + upstreamVersion = "4.19.1-pre"; # We track the stable branches. Despite the version number, this is actually 4.19.0, not 4.19.1. rev = "251a9496485a86f302980a3f8d3c656831b5a62f"; hash = "sha256-kHuB6kagH3AU+Wsx4oD7HnNsZpxCu7x3v/m4/1xi6lY="; } diff --git a/pkgs/by-name/ya/yamlscript/package.nix b/pkgs/by-name/ya/yamlscript/package.nix index 2bdc0ed09ebd..005a28b2cd62 100644 --- a/pkgs/by-name/ya/yamlscript/package.nix +++ b/pkgs/by-name/ya/yamlscript/package.nix @@ -2,11 +2,11 @@ buildGraalvmNativeImage rec { pname = "yamlscript"; - version = "0.1.79"; + version = "0.1.83"; src = fetchurl { url = "https://github.com/yaml/yamlscript/releases/download/${version}/yamlscript.cli-${version}-standalone.jar"; - hash = "sha256-Jx3mnAgsTi/5nqcy6DVYPoM4GlQJf+10uuQzhUWp5ZU="; + hash = "sha256-c38jNaQSFTQA6+P2joduGe2fqSZmNiokKVf91vkJtEA="; }; executable = "ys"; diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index eab578cf931f..33cebfb2a9a3 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -34,7 +34,7 @@ # Feature flags , withAlsa ? withHeadlessDeps && stdenv.hostPlatform.isLinux # Alsa in/output supporT -, withAmf ? lib.meta.availableOn stdenv.hostPlatform amf # AMD Media Framework video encoding +, withAmf ? withHeadlessDeps && lib.meta.availableOn stdenv.hostPlatform amf # AMD Media Framework video encoding , withAom ? withHeadlessDeps # AV1 reference encoder , withAribb24 ? withFullDeps # ARIB text and caption decoding , withAribcaption ? withFullDeps && lib.versionAtLeast version "6.1" # ARIB STD-B24 Caption Decoder/Renderer diff --git a/pkgs/development/libraries/gobject-introspection/wrapper.nix b/pkgs/development/libraries/gobject-introspection/wrapper.nix index 53b1a35f8212..5d6547a2b67d 100644 --- a/pkgs/development/libraries/gobject-introspection/wrapper.nix +++ b/pkgs/development/libraries/gobject-introspection/wrapper.nix @@ -94,7 +94,10 @@ else unwrapped = overriddenUnwrappedGir; }; dontStrip = true; - depsTargetTargetPropagated = [ overridenTargetUnwrappedGir ]; + # Conditional is for `pkgsCross.x86_64-freebsd.pkgsBuildHost.gobject-introspection` `error: Don't know how to run x86_64-unknown-freebsd executables.` + # `pkgsCross.x86_64-freebsd.buildPackages.python3.withPackages (pp: [ pp.pygobject3 ])` + # Using the python module does not need this propagation + depsTargetTargetPropagated = lib.optionals (stdenv.targetPlatform.emulatorAvailable buildPackages) [ overridenTargetUnwrappedGir ]; buildCommand = '' eval fixupPhase ${lib.concatMapStrings (output: '' diff --git a/pkgs/development/perl-modules/ImageExifTool/default.nix b/pkgs/development/perl-modules/ImageExifTool/default.nix index 46efb33f23ca..7a282e4acf7e 100644 --- a/pkgs/development/perl-modules/ImageExifTool/default.nix +++ b/pkgs/development/perl-modules/ImageExifTool/default.nix @@ -11,15 +11,19 @@ buildPerlPackage rec { pname = "Image-ExifTool"; - version = "12.84"; + version = "13.00"; src = fetchurl { url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz"; - hash = "sha256-sfSnx5bS7vI0KIhBOpB5VYzP6g8oi0rR7mUTxxNWEA0="; + hash = "sha256-SJV4jzT4NHZfhr5KWtWjJDP1ctdXFg7Ne2Eur17TfoQ="; }; nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; + postPatch = '' + patchShebangs exiftool + ''; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' shortenPerlShebang $out/bin/exiftool ''; diff --git a/pkgs/development/python-modules/gftools/default.nix b/pkgs/development/python-modules/gftools/default.nix index dbed4711f54f..c997cee039ff 100644 --- a/pkgs/development/python-modules/gftools/default.nix +++ b/pkgs/development/python-modules/gftools/default.nix @@ -61,14 +61,14 @@ let in buildPythonPackage rec { pname = "gftools"; - version = "0.9.71"; + version = "0.9.74"; pyproject = true; src = fetchFromGitHub { owner = "googlefonts"; repo = "gftools"; rev = "refs/tags/v${version}"; - hash = "sha256-YVuTozuONZbBtrst4Q+NmHxqEZa/YPVRMiagjmjcW9U="; + hash = "sha256-AIE2b2BgW4LYtnS76t4vu6B2POmqKgMzLLqRs9K40Gg="; }; postPatch = '' diff --git a/pkgs/development/python-modules/mygpoclient/default.nix b/pkgs/development/python-modules/mygpoclient/default.nix index 8205ba66befe..badf6d899708 100644 --- a/pkgs/development/python-modules/mygpoclient/default.nix +++ b/pkgs/development/python-modules/mygpoclient/default.nix @@ -8,7 +8,7 @@ }: buildPythonPackage rec { - pname = "mypgoclient"; + pname = "mygpoclient"; version = "1.9"; pyproject = true; diff --git a/pkgs/development/python-modules/nanobind/default.nix b/pkgs/development/python-modules/nanobind/default.nix index f08378fdec68..63070760c9b4 100644 --- a/pkgs/development/python-modules/nanobind/default.nix +++ b/pkgs/development/python-modules/nanobind/default.nix @@ -53,17 +53,18 @@ buildPythonPackage rec { make -j $NIX_BUILD_CORES ''; - # skip testing on platforms disabled for tensorflow-bin - doCheck = !(builtins.elem stdenv.hostPlatform.system tensorflow-bin.meta.badPlatforms); - nativeCheckInputs = [ - pytestCheckHook - numpy - scipy - torch - tensorflow-bin - jax - jaxlib - ]; + nativeCheckInputs = + [ + pytestCheckHook + numpy + scipy + torch + ] + ++ lib.optionals (!(builtins.elem stdenv.hostPlatform.system tensorflow-bin.meta.badPlatforms)) [ + tensorflow-bin + jax + jaxlib + ]; meta = { homepage = "https://github.com/wjakob/nanobind"; diff --git a/pkgs/development/python-modules/nextcord/default.nix b/pkgs/development/python-modules/nextcord/default.nix index 83b34084a0a5..d9c1fcc82742 100644 --- a/pkgs/development/python-modules/nextcord/default.nix +++ b/pkgs/development/python-modules/nextcord/default.nix @@ -13,13 +13,13 @@ faust-cchardet, orjson, pynacl, + setuptools, }: buildPythonPackage rec { pname = "nextcord"; version = "2.6.1"; - - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -38,13 +38,18 @@ buildPythonPackage rec { }) ]; - propagatedBuildInputs = [ + build-system = [ + setuptools + ]; + + dependencies = [ aiodns aiohttp brotli faust-cchardet orjson pynacl + setuptools # for pkg_resources, remove with next release ]; # upstream has no tests diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix index b6d276c64a3f..7ab1ef89e2e7 100644 --- a/pkgs/games/ddnet/default.nix +++ b/pkgs/games/ddnet/default.nix @@ -1,36 +1,34 @@ -{ lib -, stdenv -, fetchFromGitHub -, cargo -, cmake -, ninja -, pkg-config -, rustPlatform -, rustc -, curl -, freetype -, libGLU -, libnotify -, libogg -, libX11 -, opusfile -, pcre -, python3 -, SDL2 -, sqlite -, wavpack -, ffmpeg -, x264 -, vulkan-headers -, vulkan-loader -, glslang -, spirv-tools -, gtest -, Carbon -, Cocoa -, OpenGL -, Security -, buildClient ? true +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + cmake, + ninja, + pkg-config, + rustPlatform, + rustc, + apple-sdk_11, + curl, + freetype, + libGLU, + libnotify, + libogg, + libX11, + opusfile, + pcre, + python3, + SDL2, + sqlite, + wavpack, + ffmpeg, + x264, + vulkan-headers, + vulkan-loader, + glslang, + spirv-tools, + gtest, + buildClient ? true, }: stdenv.mkDerivation rec { @@ -63,33 +61,36 @@ stdenv.mkDerivation rec { gtest ]; - buildInputs = [ - curl - libnotify - pcre - python3 - sqlite - ] ++ lib.optionals buildClient ([ - freetype - libGLU - libogg - opusfile - SDL2 - wavpack - ffmpeg - x264 - vulkan-loader - vulkan-headers - glslang - spirv-tools - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libX11 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon - Cocoa - OpenGL - Security - ]); + buildInputs = + [ + curl + libnotify + pcre + python3 + sqlite + ] + ++ lib.optionals buildClient ( + [ + freetype + libGLU + libogg + opusfile + SDL2 + wavpack + ffmpeg + x264 + vulkan-loader + vulkan-headers + glslang + spirv-tools + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + ] + ); postPatch = '' substituteInPlace src/engine/shared/storage.cpp \ @@ -130,7 +131,11 @@ stdenv.mkDerivation rec { ''; homepage = "https://ddnet.org"; license = licenses.asl20; - maintainers = with maintainers; [ sirseruju lom ncfavier ]; + maintainers = with maintainers; [ + sirseruju + lom + ncfavier + ]; mainProgram = "DDNet"; }; } diff --git a/pkgs/tools/nix/nixos-option/default.nix b/pkgs/tools/nix/nixos-option/default.nix index b01ee138170f..db6c974288c8 100644 --- a/pkgs/tools/nix/nixos-option/default.nix +++ b/pkgs/tools/nix/nixos-option/default.nix @@ -1,24 +1,28 @@ -{ lib -, stdenv -, boost -, cmake -, pkg-config -, installShellFiles -, nix +{ + lib, + stdenv, + boost, + meson, + ninja, + pkg-config, + installShellFiles, + nix, }: stdenv.mkDerivation { name = "nixos-option"; - src = ./src; + src = ./.; postInstall = '' - installManPage ${./nixos-option.8} + installManPage ../nixos-option.8 ''; strictDeps = true; + nativeBuildInputs = [ - cmake + meson + ninja pkg-config installShellFiles ]; @@ -26,9 +30,6 @@ stdenv.mkDerivation { boost nix ]; - cmakeFlags = [ - "-DNIX_DEV_INCLUDEPATH=${nix.dev}/include/nix" - ]; meta = with lib; { license = licenses.lgpl2Plus; diff --git a/pkgs/tools/nix/nixos-option/meson.build b/pkgs/tools/nix/nixos-option/meson.build new file mode 100644 index 000000000000..ff88cf3fbf89 --- /dev/null +++ b/pkgs/tools/nix/nixos-option/meson.build @@ -0,0 +1,15 @@ +project('nixos-option', 'cpp', + version : '0.1.6', + license : 'GPL-3.0', +) + +nix_main_dep = dependency('nix-main', required: true) +nix_store_dep = dependency('nix-store', required: true) +nix_expr_dep = dependency('nix-expr', required: true) +nix_cmd_dep = dependency('nix-cmd', required: true) +nix_flake_dep = dependency('nix-flake', required: true) +threads_dep = dependency('threads', required: true) +nlohmann_json_dep = dependency('nlohmann_json', required: true) +boost_dep = dependency('boost', required: true) + +subdir('src') diff --git a/pkgs/tools/nix/nixos-option/src/CMakeLists.txt b/pkgs/tools/nix/nixos-option/src/CMakeLists.txt deleted file mode 100644 index 9aee9e6ccada..000000000000 --- a/pkgs/tools/nix/nixos-option/src/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required (VERSION 2.6) -project (nixos-option) - -set(NIX_DEV_INCLUDEPATH "" CACHE STRING "path to nix include directory") - -add_executable(nixos-option nixos-option.cc libnix-copy-paste.cc) -target_include_directories(nixos-option PUBLIC "${NIX_DEV_INCLUDEPATH}") -target_link_libraries(nixos-option PRIVATE -lnixmain -lnixexpr -lnixstore -lnixutil -lnixcmd) -target_compile_features(nixos-option PRIVATE cxx_std_20) - -install (TARGETS nixos-option DESTINATION bin) diff --git a/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.cc b/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.cc index ad6084844e57..b5ae1b495884 100644 --- a/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.cc +++ b/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.cc @@ -2,79 +2,21 @@ // Since they are not, copy/paste them here. // TODO: Delete these and use the ones in the library as they become available. -#include // for nix/globals.hh's reference to SYSTEM - #include "libnix-copy-paste.hh" -#include // for basic_altstringbuf... -#include // for basic_altstringbuf... -#include // for get_pointer -#include // for operator<<, basic_... -#include // for Strings -#include // for Error -#include // for string, basic_string - -using nix::Error; -using nix::Strings; -using std::string; - -// From nix/src/libexpr/attr-path.cc -Strings parseAttrPath(const string & s) -{ - Strings res; - string cur; - string::const_iterator i = s.begin(); - while (i != s.end()) { - if (*i == '.') { - res.push_back(cur); - cur.clear(); - } else if (*i == '"') { - ++i; - while (1) { - if (i == s.end()) - throw Error("missing closing quote in selection path '%1%'", s); - if (*i == '"') - break; - cur.push_back(*i++); - } - } else - cur.push_back(*i); - ++i; - } - if (!cur.empty()) - res.push_back(cur); - return res; -} +#include // for Strings // From nix/src/nix/repl.cc -bool isVarName(const string & s) +bool isVarName(const std::string_view & s) { - if (s.size() == 0) - return false; + if (s.size() == 0) return false; + if (nix::isReservedKeyword(s)) return false; char c = s[0]; - if ((c >= '0' && c <= '9') || c == '-' || c == '\'') - return false; + if ((c >= '0' && c <= '9') || c == '-' || c == '\'') return false; for (auto & i : s) - if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || (i >= '0' && i <= '9') || i == '_' || i == '-' || - i == '\'')) + if (!((i >= 'a' && i <= 'z') || + (i >= 'A' && i <= 'Z') || + (i >= '0' && i <= '9') || + i == '_' || i == '-' || i == '\'')) return false; return true; } - -// From nix/src/nix/repl.cc -std::ostream & printStringValue(std::ostream & str, const char * string) -{ - str << "\""; - for (const char * i = string; *i; i++) - if (*i == '\"' || *i == '\\') - str << "\\" << *i; - else if (*i == '\n') - str << "\\n"; - else if (*i == '\r') - str << "\\r"; - else if (*i == '\t') - str << "\\t"; - else - str << *i; - str << "\""; - return str; -} diff --git a/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.hh b/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.hh index 2274e9a0f853..f680b4c1a718 100644 --- a/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.hh +++ b/pkgs/tools/nix/nixos-option/src/libnix-copy-paste.hh @@ -1,9 +1,5 @@ #pragma once -#include #include -#include -nix::Strings parseAttrPath(const std::string & s); -bool isVarName(const std::string & s); -std::ostream & printStringValue(std::ostream & str, const char * string); +bool isVarName(const std::string_view & s); diff --git a/pkgs/tools/nix/nixos-option/src/meson.build b/pkgs/tools/nix/nixos-option/src/meson.build new file mode 100644 index 000000000000..8ee9765ce239 --- /dev/null +++ b/pkgs/tools/nix/nixos-option/src/meson.build @@ -0,0 +1,20 @@ +src = [ + 'nixos-option.cc', + 'libnix-copy-paste.cc', +] + +cc = meson.get_compiler('cpp') + +executable('nixos-option', src, + dependencies : [ + nix_main_dep, + nix_store_dep, + nix_expr_dep, + nix_cmd_dep, + nix_flake_dep, + boost_dep, + nlohmann_json_dep, + threads_dep + ], + install: true, + cpp_args: ['-std=c++2a', '--include', 'nix/config.h']) diff --git a/pkgs/tools/nix/nixos-option/src/nixos-option.cc b/pkgs/tools/nix/nixos-option/src/nixos-option.cc index 658b836d491a..977ea83d1973 100644 --- a/pkgs/tools/nix/nixos-option/src/nixos-option.cc +++ b/pkgs/tools/nix/nixos-option/src/nixos-option.cc @@ -1,16 +1,8 @@ -#include // for nix/globals.hh's reference to SYSTEM - -#include // for exception_ptr, current_exception -#include // for function -#include // for operator<<, basic_ostream, ostrin... -#include // for next -#include // for _List_iterator -#include // for allocator, unique_ptr, make_unique -#include // for operator new #include // for argvToStrings, UsageError -#include // for findAlongAttrPath +#include // for findAlongAttrPath, parseAttrPath #include // for Attr, Bindings, Bindings::iterator #include // for MixEvalArgs +#include // for initGC, initNix #include // for EvalState::forceValue #include // for EvalState, initGC, operator<< #include // for initPlugins, Settings, settings @@ -23,8 +15,6 @@ #include // for Value, Value::(anonymous), Value:... #include // for string, operator+, operator== #include // for move -#include // for get, holds_alternative, variant -#include // for vector<>::iterator, vector #include "libnix-copy-paste.hh" @@ -119,7 +109,7 @@ Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy Value evaluateValue(Context & ctx, Value & v) { - ctx.state.forceValue(v, [&]() { return v.determinePos(nix::noPos); }); + ctx.state.forceValue(v, v.determinePos(nix::noPos)); if (ctx.autoArgs.empty()) { return v; } @@ -133,8 +123,8 @@ bool isOption(Context & ctx, const Value & v) if (v.type() != nAttrs) { return false; } - const auto & actualType = v.attrs->find(ctx.underscoreType); - if (actualType == v.attrs->end()) { + const auto & actualType = v.attrs()->find(ctx.underscoreType); + if (actualType == v.attrs()->end()) { return false; } try { @@ -142,7 +132,7 @@ bool isOption(Context & ctx, const Value & v) if (evaluatedType.type() != nString) { return false; } - return static_cast(evaluatedType.string.s) == "option"; + return evaluatedType.string_view() == "option"; } catch (Error &) { return false; } @@ -152,17 +142,17 @@ bool isOption(Context & ctx, const Value & v) // These are needed for paths like: // fileSystems."/".fsType // systemd.units."dbus.service".text -std::string quoteAttribute(const std::string & attribute) +std::string quoteAttribute(const std::string_view & attribute) { if (isVarName(attribute)) { - return attribute; + return std::string(attribute); } std::ostringstream buf; - printStringValue(buf, attribute.c_str()); + nix::printLiteralString(buf, attribute); return buf.str(); } -const std::string appendPath(const std::string & prefix, const std::string & suffix) +const std::string appendPath(const std::string & prefix, const std::string_view & suffix) { if (prefix.empty()) { return quoteAttribute(suffix); @@ -174,7 +164,7 @@ bool forbiddenRecursionName(const nix::Symbol symbol, const nix::SymbolTable & s // note: this is created from a pointer // According to standard, it may never point to null, and hence attempts to check against nullptr are not allowed. // However, at the time of writing, I am not certain about the full implications of the omission of a nullptr check here. - const std::string & name = symbolTable[symbol]; + const std::string_view & name = symbolTable[symbol]; // TODO: figure out why haskellPackages is not recursed here return (!name.empty() && name[0] == '_') || name == "haskellPackages"; } @@ -198,34 +188,35 @@ void recurse(const std::functionlexicographicOrder(ctx.state.symbols)) { + for (const auto & child : evaluated_value.attrs()->lexicographicOrder(ctx.state.symbols)) { if (forbiddenRecursionName(child->name, ctx.state.symbols)) { continue; } - recurse(f, ctx, *child->value, appendPath(path, ctx.state.symbols[child->name])); + std::string_view name = ctx.state.symbols[child->name]; + recurse(f, ctx, *child->value, appendPath(path, name)); } } bool optionTypeIs(Context & ctx, Value & v, const std::string & soughtType) { try { - const auto & typeLookup = v.attrs->find(ctx.state.sType); - if (typeLookup == v.attrs->end()) { + const auto & typeLookup = v.attrs()->find(ctx.state.sType); + if (typeLookup == v.attrs()->end()) { return false; } Value type = evaluateValue(ctx, *typeLookup->value); if (type.type() != nAttrs) { return false; } - const auto & nameLookup = type.attrs->find(ctx.state.sName); - if (nameLookup == type.attrs->end()) { + const auto & nameLookup = type.attrs()->find(ctx.state.sName); + if (nameLookup == type.attrs()->end()) { return false; } Value name = evaluateValue(ctx, *nameLookup->value); if (name.type() != nString) { return false; } - return name.string.s == soughtType; + return name.string_view() == soughtType; } catch (Error &) { return false; } @@ -242,7 +233,7 @@ Value getSubOptions(Context & ctx, Value & option) { Value getSubOptions = evaluateValue(ctx, *findAlongAttrPath(ctx.state, "type.getSubOptions", ctx.autoArgs, option).first); if (getSubOptions.isLambda()) { - throw OptionPathError("Option's type.getSubOptions isn't a function"); + throw OptionPathError(ctx.state, "Option's type.getSubOptions isn't a function"); } Value emptyString{}; emptyString.mkString(""); @@ -260,40 +251,40 @@ struct FindAlongOptionPathRet }; FindAlongOptionPathRet findAlongOptionPath(Context & ctx, const std::string & path) { - Strings tokens = parseAttrPath(path); + std::vector tokens = nix::parseAttrPath(ctx.state, path); Value v = ctx.optionsRoot; std::string processedPath; for (auto i = tokens.begin(); i != tokens.end(); i++) { - const auto & attr = *i; + const std::string_view attr = ctx.state.symbols[*i]; try { bool lastAttribute = std::next(i) == tokens.end(); v = evaluateValue(ctx, v); if (attr.empty()) { - throw OptionPathError("empty attribute name"); + throw OptionPathError(ctx.state, "empty attribute name"); } if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) { v = getSubOptions(ctx, v); } if (isOption(ctx, v) && isAggregateOptionType(ctx, v)) { auto subOptions = getSubOptions(ctx, v); - if (lastAttribute && subOptions.attrs->empty()) { + if (lastAttribute && subOptions.attrs()->empty()) { break; } v = subOptions; // Note that we've consumed attr, but didn't actually use it. This is the path component that's looked // up in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name". } else if (v.type() != nAttrs) { - throw OptionPathError("Value is %s while a set was expected", showType(v)); + throw OptionPathError(ctx.state, "Value is %s while a set was expected", showType(v)); } else { - const auto & next = v.attrs->find(ctx.state.symbols.create(attr)); - if (next == v.attrs->end()) { - throw OptionPathError("Attribute not found", attr, path); + const auto & next = v.attrs()->find(ctx.state.symbols.create(attr)); + if (next == v.attrs()->end()) { + throw OptionPathError(ctx.state, "Attribute not found", attr, path); } v = *next->value; } processedPath = appendPath(processedPath, attr); } catch (OptionPathError & e) { - throw OptionPathError("At '%s' in path '%s': %s", attr, path, e.msg()); + throw OptionPathError(ctx.state, "At '%s' in path '%s': %s", attr, path, e.msg()); } } return {v, processedPath}; @@ -367,21 +358,23 @@ std::string describeError(const Error & e) { return "«error: " + e.msg() + "»" void describeDerivation(Context & ctx, Out & out, Value v) { - // Copy-pasted from nix/src/nix/repl.cc :( + // Copy-pasted from nix/src/nix/repl.cc printDerivation() :( + std::optional storePath = std::nullopt; + if (auto i = v.attrs()->get(ctx.state.sDrvPath)) { + nix::NixStringContext context; + storePath = ctx.state.coerceToStorePath(i->pos, *i->value, context, "while evaluating the drvPath of a derivation"); + } out << "«derivation "; - Bindings::iterator i = v.attrs->find(ctx.state.sDrvPath); - nix::NixStringContext strContext; - if (i != v.attrs->end()) - out << ctx.state.store->printStorePath(ctx.state.coerceToStorePath(i->pos, *i->value, strContext, "while evaluating the drvPath of a derivation")); - else - out << "???"; + if (storePath) { + out << " " << ctx.state.store->printStorePath(*storePath); + } out << "»"; } Value parseAndEval(EvalState & state, const std::string & expression, const std::string & path) { Value v{}; - state.eval(state.parseExprFromString(expression, nix::SourcePath(nix::CanonPath::fromCwd(path))), v); + state.eval(state.parseExprFromString(expression, state.rootPath(".")), v); return v; } @@ -398,10 +391,10 @@ void printList(Context & ctx, Out & out, Value & v) void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path) { - Out attrsOut(out, "{", "}", v.attrs->size()); - for (const auto & a : v.attrs->lexicographicOrder(ctx.state.symbols)) { + Out attrsOut(out, "{", "}", v.attrs()->size()); + for (const auto & a : v.attrs()->lexicographicOrder(ctx.state.symbols)) { if (!forbiddenRecursionName(a->name, ctx.state.symbols)) { - const std::string name = ctx.state.symbols[a->name]; + std::string_view name = ctx.state.symbols[a->name]; attrsOut << name << " = "; printValue(ctx, attrsOut, *a->value, appendPath(path, name)); attrsOut << ";" << Out::sep; @@ -409,9 +402,9 @@ void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path) } } -void multiLineStringEscape(Out & out, const std::string & s) +void multiLineStringEscape(Out & out, const std::string_view & s) { - int i; + size_t i; for (i = 1; i < s.size(); i++) { if (s[i - 1] == '$' && s[i] == '{') { out << "''${"; @@ -430,7 +423,7 @@ void multiLineStringEscape(Out & out, const std::string & s) void printMultiLineString(Out & out, const Value & v) { - std::string s = v.string.s; + std::string_view s = v.string_view(); Out strOut(out, "''", "''", Out::MULTI_LINE); std::string::size_type begin = 0; while (begin < s.size()) { @@ -458,11 +451,11 @@ void printValue(Context & ctx, Out & out, std::variantlexicographicOrder(ctx.state.symbols)) { - const std::string & name = ctx.state.symbols[a->name]; + for (const auto & a : v.attrs()->lexicographicOrder(ctx.state.symbols)) { + const std::string_view & name = ctx.state.symbols[a->name]; if (!name.empty() && name[0] != '_') { out << name << "\n"; } @@ -630,7 +623,11 @@ int main(int argc, char ** argv) nix::initGC(); nix::settings.readOnlyMode = true; auto store = nix::openStore(); - auto state = std::make_unique(myArgs.searchPath, store); + + auto evalStore = myArgs.evalStoreUrl ? nix::openStore(*myArgs.evalStoreUrl) + : nix::openStore(); + auto state = nix::make_ref( + myArgs.lookupPath, evalStore, nix::fetchSettings, nix::evalSettings); Value optionsRoot = parseAndEval(*state, optionsExpr, path); Value configRoot = parseAndEval(*state, configExpr, path); @@ -646,7 +643,7 @@ int main(int argc, char ** argv) print(ctx, out, arg); } - ctx.state.printStats(); + ctx.state.maybePrintStats(); return 0; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2e1ec01a5d9..3c459fdffa8d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14140,13 +14140,11 @@ with pkgs; buildMozillaMach = opts: callPackage (import ../applications/networking/browsers/firefox/common.nix opts) { }; - firefoxPackages = recurseIntoAttrs (callPackage ../applications/networking/browsers/firefox/packages.nix {}); - - firefox-unwrapped = firefoxPackages.firefox; - firefox-beta-unwrapped = firefoxPackages.firefox-beta; - firefox-devedition-unwrapped = firefoxPackages.firefox-devedition; - firefox-esr-128-unwrapped = firefoxPackages.firefox-esr-128; - firefox-esr-unwrapped = firefoxPackages.firefox-esr-128; + firefox-unwrapped = callPackage ../applications/networking/browsers/firefox/packages/firefox.nix { }; + firefox-beta-unwrapped = callPackage ../applications/networking/browsers/firefox/packages/firefox-beta.nix { }; + firefox-devedition-unwrapped = callPackage ../applications/networking/browsers/firefox/packages/firefox-devedition.nix { }; + firefox-esr-128-unwrapped = callPackage ../applications/networking/browsers/firefox/packages/firefox-esr-128.nix { }; + firefox-esr-unwrapped = firefox-esr-128-unwrapped; firefox = wrapFirefox firefox-unwrapped { }; firefox-beta = wrapFirefox firefox-beta-unwrapped { @@ -17029,9 +17027,7 @@ with pkgs; deliantra-maps = callPackage ../games/deliantra/maps.nix { }; deliantra-data = callPackage ../games/deliantra/data.nix { }; - ddnet = callPackage ../games/ddnet { - inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL Security; - }; + ddnet = callPackage ../games/ddnet {}; ddnet-server = ddnet.override { buildClient = false; }; devilutionx = callPackage ../games/devilutionx { @@ -18689,9 +18685,7 @@ with pkgs; nix-linter = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-linter); - nixos-option = callPackage ../tools/nix/nixos-option { - nix = nixVersions.nix_2_18; - }; + nixos-option = callPackage ../tools/nix/nixos-option { }; nix-pin = callPackage ../tools/package-management/nix-pin { };