diff options
Diffstat (limited to 'pkgs/development')
235 files changed, 4557 insertions, 1432 deletions
diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix index c419b7f30411..2324d641244f 100644 --- a/pkgs/development/beam-modules/elixir-ls/default.nix +++ b/pkgs/development/beam-modules/elixir-ls/default.nix @@ -37,7 +37,7 @@ mixRelease { # of the no-deps-check requirement buildPhase = '' runHook preBuild - mix do compile --no-deps-check, elixir_ls.release + mix do compile --no-deps-check, elixir_ls.release${lib.optionalString (lib.versionAtLeast elixir.version "1.16.0") "2"} runHook postBuild ''; diff --git a/pkgs/development/compilers/atasm/default.nix b/pkgs/development/compilers/atasm/default.nix index 74f54d8d03cf..d79fc686b269 100644 --- a/pkgs/development/compilers/atasm/default.nix +++ b/pkgs/development/compilers/atasm/default.nix @@ -1,19 +1,22 @@ { lib , stdenv -, fetchurl -, unzip +, fetchFromGitHub , zlib }: stdenv.mkDerivation rec { pname = "atasm"; - version = "1.09"; + version = "1.23"; - src = fetchurl { - url = "https://atari.miribilist.com/${pname}/${pname}${builtins.replaceStrings ["."] [""] version}.zip"; - hash = "sha256-26shhw2r30GZIPz6S1rf6dOLKRpgpLwrqCRZX3+8PvA="; + src = fetchFromGitHub { + owner = "CycoPH"; + repo = "atasm"; + rev = "V${version}"; + hash = "sha256-U1HNYTiXO6WZEQJl2icY0ZEVy82CsL1mKR7Xgj9OZ14="; }; + makefile = "Makefile"; + patches = [ # make install fails because atasm.txt was moved; report to upstream ./0000-file-not-found.diff @@ -23,10 +26,6 @@ stdenv.mkDerivation rec { dontConfigure = true; - nativeBuildInputs = [ - unzip - ]; - buildInputs = [ zlib ]; @@ -42,9 +41,10 @@ stdenv.mkDerivation rec { ''; preInstall = '' + mkdir -p $out/bin/ install -d $out/share/doc/${pname} $out/man/man1 installFlagsArray+=( - DESTDIR=$out + DESTDIR=$out/bin/ DOCDIR=$out/share/doc/${pname} MANDIR=$out/man/man1 ) @@ -55,9 +55,10 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "https://atari.miribilist.com/atasm/"; + homepage = "https://github.com/CycoPH/atasm"; description = "A commandline 6502 assembler compatible with Mac/65"; license = licenses.gpl2Plus; + changelog = "https://github.com/CycoPH/atasm/releases/tag/V${version}"; maintainers = with maintainers; [ AndersonTorres ]; platforms = with platforms; unix; }; diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 44e1459af84d..ca9f37ff5367 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -5,307 +5,52 @@ }: let - fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { }; + fetchElmDeps = pkgs.callPackage ./lib/fetchElmDeps.nix { }; # Haskell packages that require ghc 9.6 - hs96Pkgs = self: pkgs.haskell.packages.ghc96.override { - overrides = self: super: with pkgs.haskell.lib.compose; with lib; - let elmPkgs = rec { - elm = overrideCabal (drv: { - # sadly with parallelism most of the time breaks compilation - enableParallelBuilding = false; - preConfigure = fetchElmDeps { - elmPackages = (import ./packages/elm-srcs.nix); - elmVersion = drv.version; - registryDat = ./registry.dat; - }; - buildTools = drv.buildTools or [] ++ [ makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/elm \ - --prefix PATH ':' ${lib.makeBinPath [ nodejs ]} - ''; - - description = "A delightful language for reliable webapps"; - homepage = "https://elm-lang.org/"; - license = licenses.bsd3; - maintainers = with maintainers; [ domenkozar turbomack ]; - }) (self.callPackage ./packages/elm.nix { }); - - inherit fetchElmDeps; - elmVersion = elmPkgs.elm.version; - }; - in elmPkgs // { - inherit elmPkgs; - - ansi-wl-pprint = overrideCabal (drv: { - jailbreak = true; - }) (self.callPackage ./packages/ansi-wl-pprint.nix {}); - }; - }; + hs96Pkgs = import ./packages/ghc9_6 { inherit pkgs lib makeWrapper nodejs fetchElmDeps; }; # Haskell packages that require ghc 8.10 - hs810Pkgs = self: pkgs.haskell.packages.ghc810.override { - overrides = self: super: with pkgs.haskell.lib.compose; with lib; - let elmPkgs = rec { - elmi-to-json = justStaticExecutables (overrideCabal (drv: { - prePatch = '' - substituteInPlace package.yaml --replace "- -Werror" "" - hpack - ''; - jailbreak = true; - - description = "Tool that reads .elmi files (Elm interface file) generated by the elm compiler"; - homepage = "https://github.com/stoeffel/elmi-to-json"; - license = licenses.bsd3; - maintainers = [ maintainers.turbomack ]; - }) (self.callPackage ./packages/elmi-to-json.nix {})); - - elm-instrument = justStaticExecutables (overrideCabal (drv: { - prePatch = '' - sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place - ''; - jailbreak = true; - # Tests are failing because of missing instances for Eq and Show type classes - doCheck = false; - - description = "Instrument Elm code as a preprocessing step for elm-coverage"; - homepage = "https://github.com/zwilias/elm-instrument"; - license = licenses.bsd3; - maintainers = [ maintainers.turbomack ]; - }) (self.callPackage ./packages/elm-instrument.nix {})); - }; - in elmPkgs // { - inherit elmPkgs; - - # We need attoparsec < 0.14 to build elm for now - attoparsec = self.attoparsec_0_13_2_5; - - # aeson 2.0.3.0 does not build with attoparsec_0_13_2_5 - aeson = doJailbreak self.aeson_1_5_6_0; - - # elm-instrument needs this - indents = self.callPackage ./packages/indents.nix {}; - - # elm-instrument's tests depend on an old version of elm-format, but we set doCheck to false for other reasons above - elm-format = null; - }; - }; + hs810Pkgs = import ./packages/ghc8_10 { inherit pkgs lib; }; # Haskell packages that require ghc 9.2 - hs92Pkgs = self: pkgs.haskell.packages.ghc92.override { - overrides = self: super: with pkgs.haskell.lib.compose; with lib; - let elmPkgs = rec { - /* - The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo: - `package/nix/build.sh` - */ - elm-format = justStaticExecutables (overrideCabal (drv: { - jailbreak = true; - - description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide"; - homepage = "https://github.com/avh4/elm-format"; - license = licenses.bsd3; - maintainers = with maintainers; [ avh4 turbomack ]; - }) (self.callPackage ./packages/elm-format.nix {})); - }; - in elmPkgs // { - inherit elmPkgs; - - # Needed for elm-format - avh4-lib = doJailbreak (self.callPackage ./packages/avh4-lib.nix {}); - elm-format-lib = doJailbreak (self.callPackage ./packages/elm-format-lib.nix {}); - elm-format-test-lib = self.callPackage ./packages/elm-format-test-lib.nix {}; - elm-format-markdown = self.callPackage ./packages/elm-format-markdown.nix {}; - - # elm-format requires text >= 2.0 - text = self.text_2_0_2; - # unorderd-container's tests indirectly depend on text < 2.0 - unordered-containers = overrideCabal (drv: { doCheck = false; }) super.unordered-containers; - # relude-1.1.0.0's tests depend on hedgehog < 1.2, which indirectly depends on text < 2.0 - relude = overrideCabal (drv: { doCheck = false; }) super.relude; - }; - }; - - nodePkgs = pkgs.callPackage ./packages/node-composition.nix { - inherit pkgs nodejs; - inherit (pkgs.stdenv.hostPlatform) system; - }; - -in lib.makeScope pkgs.newScope (self: with self; { - inherit fetchElmDeps nodejs; - - /* Node/NPM based dependencies can be upgraded using script `packages/generate-node-packages.sh`. - - * Packages which rely on `bin-wrap` will fail by default - and can be patched using `patchBinwrap` function defined in `packages/lib.nix`. - - * Packages which depend on npm installation of elm can be patched using - `patchNpmElm` function also defined in `packages/lib.nix`. - */ - elmLib = let - hsElmPkgs = (hs810Pkgs self) // (hs96Pkgs self); - in import ./packages/lib.nix { - inherit lib; - inherit (pkgs) writeScriptBin stdenv; - inherit (hsElmPkgs.elmPkgs) elm; - }; + hs92Pkgs = import ./packages/ghc9_2 { inherit pkgs lib; }; - elm-json = callPackage ./packages/elm-json.nix { }; + # Patched, originally npm-downloaded, packages + patchedNodePkgs = import ./packages/node { inherit pkgs lib nodejs makeWrapper; }; - elm-test-rs = callPackage ./packages/elm-test-rs.nix { }; + assembleScope = self: basics: + (hs96Pkgs self).elmPkgs // (hs92Pkgs self).elmPkgs // (hs810Pkgs self).elmPkgs // (patchedNodePkgs self) // basics; +in +lib.makeScope pkgs.newScope + (self: assembleScope self + (with self; { + inherit fetchElmDeps nodejs; - elm-test = callPackage ./packages/elm-test.nix { }; -} // (hs96Pkgs self).elmPkgs // (hs92Pkgs self).elmPkgs // (hs810Pkgs self).elmPkgs // (with elmLib; with (hs96Pkgs self).elmPkgs; { - elm-verify-examples = let - patched = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples // { - meta = with lib; nodePkgs.elm-verify-examples.meta // { - description = "Verify examples in your docs"; - homepage = "https://github.com/stoeffel/elm-verify-examples"; - license = licenses.bsd3; - maintainers = [ maintainers.turbomack ]; - }; - }; - in patched.override (old: { - preRebuild = (old.preRebuild or "") + '' - # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done - # in case of just this package - # TODO: investigate, same as for elm-coverage below - sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json - ''; - }); + /* Node/NPM based dependencies can be upgraded using script `packages/generate-node-packages.sh`. - elm-coverage = let - patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage); - in patched.override (old: { - # Symlink Elm instrument binary - preRebuild = (old.preRebuild or "") + '' - # Noop custom installation script - sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json + * Packages which rely on `bin-wrap` will fail by default + and can be patched using `patchBinwrap` function defined in `packages/lib.nix`. - # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done - # in case of just this package - # TODO: investigate - sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json - ''; - postInstall = (old.postInstall or "") + '' - mkdir -p unpacked_bin - ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument - ''; - meta = with lib; nodePkgs.elm-coverage.meta // { - description = "Work in progress - Code coverage tooling for Elm"; - homepage = "https://github.com/zwilias/elm-coverage"; - license = licenses.bsd3; - maintainers = [ maintainers.turbomack ]; - }; - }); - - create-elm-app = patchNpmElm - nodePkgs.create-elm-app // { - meta = with lib; nodePkgs.create-elm-app.meta // { - description = "Create Elm apps with no build configuration"; - homepage = "https://github.com/halfzebra/create-elm-app"; - license = licenses.mit; - maintainers = [ maintainers.turbomack ]; - }; - }; - - elm-graphql = - nodePkgs."@dillonkearns/elm-graphql" // { - meta = with lib; nodePkgs."@dillonkearns/elm-graphql".meta // { - description = " Autogenerate type-safe GraphQL queries in Elm."; - license = licenses.bsd3; - maintainers = [ maintainers.pedrohlc ]; - }; - }; - - elm-review = - nodePkgs.elm-review // { - meta = with lib; nodePkgs.elm-review.meta // { - description = "Analyzes Elm projects, to help find mistakes before your users find them"; - homepage = "https://package.elm-lang.org/packages/jfmengels/elm-review/${nodePkgs.elm-review.version}"; - license = licenses.bsd3; - maintainers = [ maintainers.turbomack ]; - }; - }; - - elm-language-server = nodePkgs."@elm-tooling/elm-language-server" // { - meta = with lib; nodePkgs."@elm-tooling/elm-language-server".meta // { - description = "Language server implementation for Elm"; - homepage = "https://github.com/elm-tooling/elm-language-server"; - license = licenses.mit; - maintainers = [ maintainers.turbomack ]; - }; - }; - - elm-spa = nodePkgs."elm-spa".overrideAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ makeWrapper old.nodejs.pkgs.node-gyp-build ]; - - meta = with lib; nodePkgs."elm-spa".meta // { - description = "A tool for building single page apps in Elm"; - homepage = "https://www.elm-spa.dev/"; - license = licenses.bsd3; - maintainers = [ maintainers.ilyakooo0 ]; - }; - } - ); - - elm-optimize-level-2 = nodePkgs."elm-optimize-level-2" // { - meta = with lib; nodePkgs."elm-optimize-level-2".meta // { - description = "A second level of optimization for the Javascript that the Elm Compiler produces"; - homepage = "https://github.com/mdgriffith/elm-optimize-level-2"; - license = licenses.bsd3; - maintainers = [ maintainers.turbomack ]; - }; - }; - - elm-pages = nodePkgs."elm-pages".overrideAttrs ( - old: { - nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ makeWrapper old.nodejs.pkgs.node-gyp-build ]; - - # can't use `patches = [ <patch_file> ]` with a nodePkgs derivation; - # need to patch in one of the build phases instead. - # see upstream issue https://github.com/dillonkearns/elm-pages/issues/305 for dealing with the read-only problem - preFixup = '' - patch $out/lib/node_modules/elm-pages/generator/src/codegen.js ${./packages/elm-pages-fix-read-only.patch} - patch $out/lib/node_modules/elm-pages/generator/src/init.js ${./packages/elm-pages-fix-init-read-only.patch} - ''; - - postFixup = '' - wrapProgram $out/bin/elm-pages --prefix PATH : ${ - with pkgs.elmPackages; lib.makeBinPath [ elm elm-review elm-optimize-level-2 ] - } - ''; - - meta = with lib; nodePkgs."elm-pages".meta // { - description = "A statically typed site generator for Elm."; - homepage = "https://github.com/dillonkearns/elm-pages"; - license = licenses.bsd3; - maintainers = [ maintainers.turbomack maintainers.jali-clarke ]; - }; - } - ); - - elm-land = + * Packages which depend on npm installation of elm can be patched using + `patchNpmElm` function also defined in `packages/lib.nix`. + */ + elmLib = let - patched = patchNpmElm nodePkgs.elm-land; + hsElmPkgs = (hs810Pkgs self) // (hs96Pkgs self); in - patched.override (old: { - meta = with lib; nodePkgs."elm-land".meta // { - description = "A production-ready framework for building Elm applications."; - homepage = "https://elm.land/"; - license = licenses.bsd3; - maintainers = [ maintainers.zupo ]; - }; - } - ); + import ./lib { + inherit lib; + inherit (pkgs) writeScriptBin stdenv; + inherit (self) elm; + }; + + elm-json = callPackage ./packages/elm-json { }; - lamdera = callPackage ./packages/lamdera.nix {}; + elm-test-rs = callPackage ./packages/elm-test-rs { }; - elm-doc-preview = nodePkgs."elm-doc-preview".overrideAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ old.nodejs.pkgs.node-gyp-build ]; - }); + elm-test = callPackage ./packages/elm-test { }; - inherit (nodePkgs) elm-live elm-upgrade elm-xref elm-analyse elm-git-install; + lamdera = callPackage ./packages/lamdera { }; }) ) diff --git a/pkgs/development/compilers/elm/packages/lib.nix b/pkgs/development/compilers/elm/lib/default.nix index 12e0600dc231..12e0600dc231 100644 --- a/pkgs/development/compilers/elm/packages/lib.nix +++ b/pkgs/development/compilers/elm/lib/default.nix diff --git a/pkgs/development/compilers/elm/fetchElmDeps.nix b/pkgs/development/compilers/elm/lib/fetchElmDeps.nix index 9715bfbe037d..9715bfbe037d 100644 --- a/pkgs/development/compilers/elm/fetchElmDeps.nix +++ b/pkgs/development/compilers/elm/lib/fetchElmDeps.nix diff --git a/pkgs/development/compilers/elm/lib/makeDotElm.nix b/pkgs/development/compilers/elm/lib/makeDotElm.nix new file mode 100644 index 000000000000..ab62eb88e220 --- /dev/null +++ b/pkgs/development/compilers/elm/lib/makeDotElm.nix @@ -0,0 +1,36 @@ +{ stdenv, lib, fetchurl, registryDat }: + +ver: deps: +let + cmds = lib.mapAttrsToList + (name: info: + let + pkg = stdenv.mkDerivation { + name = lib.replaceStrings [ "/" ] [ "-" ] name + "-${info.version}"; + + src = fetchurl { + url = "https://github.com/${name}/archive/${info.version}.tar.gz"; + meta.homepage = "https://github.com/${name}/"; + inherit (info) sha256; + }; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + mkdir -p $out + cp -r * $out + ''; + }; + in + '' + mkdir -p .elm/${ver}/packages/${name} + cp -R ${pkg} .elm/${ver}/packages/${name}/${info.version} + '') + deps; +in +(lib.concatStrings cmds) + '' + mkdir -p .elm/${ver}/packages; + cp ${registryDat} .elm/${ver}/packages/registry.dat; + chmod -R +w .elm +'' diff --git a/pkgs/development/compilers/elm/makeDotElm.nix b/pkgs/development/compilers/elm/makeDotElm.nix deleted file mode 100644 index 43252747c3a3..000000000000 --- a/pkgs/development/compilers/elm/makeDotElm.nix +++ /dev/null @@ -1,35 +0,0 @@ -{stdenv, lib, fetchurl, registryDat}: - -ver: deps: - let cmds = lib.mapAttrsToList (name: info: let - pkg = stdenv.mkDerivation { - name = lib.replaceStrings ["/"] ["-"] name + "-${info.version}"; - - src = fetchurl { - url = "https://github.com/${name}/archive/${info.version}.tar.gz"; - meta.homepage = "https://github.com/${name}/"; - inherit (info) sha256; - }; - - configurePhase = '' - true - ''; - - buildPhase = '' - true - ''; - - installPhase = '' - mkdir -p $out - cp -r * $out - ''; - }; - in '' - mkdir -p .elm/${ver}/packages/${name} - cp -R ${pkg} .elm/${ver}/packages/${name}/${info.version} - '') deps; - in (lib.concatStrings cmds) + '' - mkdir -p .elm/${ver}/packages; - cp ${registryDat} .elm/${ver}/packages/registry.dat; - chmod -R +w .elm - '' diff --git a/pkgs/development/compilers/elm/packages/bimap.nix b/pkgs/development/compilers/elm/packages/bimap.nix deleted file mode 100644 index 41412d1639c7..000000000000 --- a/pkgs/development/compilers/elm/packages/bimap.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ mkDerivation, base, containers, exceptions, lib, QuickCheck -, template-haskell -}: -mkDerivation { - pname = "bimap"; - version = "0.3.3"; - sha256 = "73829355c7bcbd3eedba22a382a04a3ab641702b00828790ec082ec2db3a8ad1"; - libraryHaskellDepends = [ base containers exceptions ]; - testHaskellDepends = [ - base containers exceptions QuickCheck template-haskell - ]; - homepage = "https://github.com/joelwilliamson/bimap"; - description = "Bidirectional mapping between two key types"; - license = lib.licenses.bsd3; -} diff --git a/pkgs/development/compilers/elm/packages/elm-json.nix b/pkgs/development/compilers/elm/packages/elm-json/default.nix index 5b988244cc97..16cd7f972ce4 100644 --- a/pkgs/development/compilers/elm/packages/elm-json.nix +++ b/pkgs/development/compilers/elm/packages/elm-json/default.nix @@ -17,12 +17,13 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256:nlpxlPzWk3wwDgczuMI9T6DFY1YtQpQ1R4BhdPbzZBs="; }; - cargoPatches = [ ./elm-json.patch ]; + cargoPatches = [ ./use-system-ssl.patch ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ - curl openssl + curl + openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; cargoSha256 = "sha256:8SOpL8nfhYen9vza0LYpB/5fgVmBwG7vGMmFOaJskIc="; diff --git a/pkgs/development/compilers/elm/packages/elm-json.patch b/pkgs/development/compilers/elm/packages/elm-json/use-system-ssl.patch index 54df03019231..54df03019231 100644 --- a/pkgs/development/compilers/elm/packages/elm-json.patch +++ b/pkgs/development/compilers/elm/packages/elm-json/use-system-ssl.patch diff --git a/pkgs/development/compilers/elm/packages/elm-test-rs.nix b/pkgs/development/compilers/elm/packages/elm-test-rs/default.nix index 02f69c2d2f03..02f69c2d2f03 100644 --- a/pkgs/development/compilers/elm/packages/elm-test-rs.nix +++ b/pkgs/development/compilers/elm/packages/elm-test-rs/default.nix diff --git a/pkgs/development/compilers/elm/packages/elm-test.nix b/pkgs/development/compilers/elm/packages/elm-test/default.nix index eca45395c3df..eca45395c3df 100644 --- a/pkgs/development/compilers/elm/packages/elm-test.nix +++ b/pkgs/development/compilers/elm/packages/elm-test/default.nix diff --git a/pkgs/development/compilers/elm/packages/ghc8_10/default.nix b/pkgs/development/compilers/elm/packages/ghc8_10/default.nix new file mode 100644 index 000000000000..f68e582b3d0b --- /dev/null +++ b/pkgs/development/compilers/elm/packages/ghc8_10/default.nix @@ -0,0 +1,79 @@ +{ pkgs, lib }: + +self: pkgs.haskell.packages.ghc810.override { + overrides = self: super: with pkgs.haskell.lib.compose; with lib; + let + elmPkgs = rec { + elmi-to-json = justStaticExecutables (overrideCabal + (drv: { + version = "unstable-2021-07-19"; + src = pkgs.fetchgit { + url = "https://github.com/stoeffel/elmi-to-json"; + sha256 = "0vy678k15rzpsn0aly90fb01pxsbqkgf86pa86w0gd94lka8acwl"; + rev = "6a42376ef4b6877e130971faf964578cc096e29b"; + fetchSubmodules = true; + }; + + prePatch = '' + substituteInPlace package.yaml --replace "- -Werror" "" + hpack + ''; + jailbreak = true; + + description = "Tool that reads .elmi files (Elm interface file) generated by the elm compiler"; + homepage = "https://github.com/stoeffel/elmi-to-json"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }) + (self.callPackage ./elmi-to-json { })); + + elm-instrument = justStaticExecutables (overrideCabal + (drv: { + version = "unstable-2020-03-16"; + src = pkgs.fetchgit { + url = "https://github.com/zwilias/elm-instrument"; + sha256 = "167d7l2547zxdj7i60r6vazznd9ichwc0bqckh3vrh46glkz06jv"; + rev = "63e15bb5ec5f812e248e61b6944189fa4a0aee4e"; + fetchSubmodules = true; + }; + patches = [ + # Update code after breaking change in optparse-applicative + # https://github.com/zwilias/elm-instrument/pull/5 + (pkgs.fetchpatch { + name = "update-optparse-applicative.patch"; + url = "https://github.com/mdevlamynck/elm-instrument/commit/c548709d4818aeef315528e842eaf4c5b34b59b4.patch"; + sha256 = "0ln7ik09n3r3hk7jmwwm46kz660mvxfa71120rkbbaib2falfhsc"; + }) + ]; + + prePatch = '' + sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place + ''; + jailbreak = true; + # Tests are failing because of missing instances for Eq and Show type classes + doCheck = false; + + description = "Instrument Elm code as a preprocessing step for elm-coverage"; + homepage = "https://github.com/zwilias/elm-instrument"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }) + (self.callPackage ./elm-instrument { })); + }; + in + elmPkgs // { + inherit elmPkgs; + + # We need attoparsec < 0.14 to build elm for now + attoparsec = self.attoparsec_0_13_2_5; + + # aeson 2.0.3.0 does not build with attoparsec_0_13_2_5 + aeson = doJailbreak self.aeson_1_5_6_0; + + # elm-instrument needs this + indents = self.callPackage ./indents { }; + + # elm-instrument's tests depend on an old version of elm-format, but we set doCheck to false for other reasons above + elm-format = null; + }; +} diff --git a/pkgs/development/compilers/elm/packages/elm-instrument.nix b/pkgs/development/compilers/elm/packages/ghc8_10/elm-instrument/default.nix index 02593b855077..7f6a25905e36 100644 --- a/pkgs/development/compilers/elm/packages/elm-instrument.nix +++ b/pkgs/development/compilers/elm/packages/ghc8_10/elm-instrument/default.nix @@ -1,28 +1,18 @@ -{ mkDerivation, fetchpatch, ansi-terminal, ansi-wl-pprint, base, binary +{ mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary , bytestring, Cabal, cmark, containers, directory, elm-format -, fetchgit, filepath, free, HUnit, indents, json, mtl +, fetchgit, filepath, free, HUnit, indents, json, lib, mtl , optparse-applicative, parsec, process, QuickCheck, quickcheck-io -, split, lib, tasty, tasty-golden, tasty-hunit, tasty-quickcheck -, text +, split, tasty, tasty-golden, tasty-hunit, tasty-quickcheck, text }: mkDerivation { pname = "elm-instrument"; version = "0.0.7"; src = fetchgit { url = "https://github.com/zwilias/elm-instrument"; - sha256 = "167d7l2547zxdj7i60r6vazznd9ichwc0bqckh3vrh46glkz06jv"; - rev = "63e15bb5ec5f812e248e61b6944189fa4a0aee4e"; + sha256 = "14yfzwsyvgc6rzn19sdmwk2mc1vma9hcljnmjnmlig8mp0271v56"; + rev = "31b527e405a6afdb25bb87ad7bd14f979e65cff7"; fetchSubmodules = true; }; - patches = [ - # Update code after breaking change in optparse-applicative - # https://github.com/zwilias/elm-instrument/pull/5 - (fetchpatch { - name = "update-optparse-applicative.patch"; - url = "https://github.com/mdevlamynck/elm-instrument/commit/c548709d4818aeef315528e842eaf4c5b34b59b4.patch"; - sha256 = "0ln7ik09n3r3hk7jmwwm46kz660mvxfa71120rkbbaib2falfhsc"; - }) - ]; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal directory filepath process ]; @@ -37,7 +27,7 @@ mkDerivation { quickcheck-io split tasty tasty-golden tasty-hunit tasty-quickcheck text ]; - homepage = "https://elm-lang.org"; + homepage = "http://elm-lang.org"; description = "Instrumentation library for Elm"; license = lib.licenses.bsd3; mainProgram = "elm-instrument"; diff --git a/pkgs/development/compilers/elm/packages/elmi-to-json.nix b/pkgs/development/compilers/elm/packages/ghc8_10/elmi-to-json/default.nix index f82f3e5179ac..fc2c76149a1a 100644 --- a/pkgs/development/compilers/elm/packages/elmi-to-json.nix +++ b/pkgs/development/compilers/elm/packages/ghc8_10/elmi-to-json/default.nix @@ -1,15 +1,15 @@ { mkDerivation, aeson, base, binary, bytestring, containers -, directory, fetchgit, filepath, ghc-prim, hpack -, optparse-applicative, lib, text, unliftio -, unordered-containers +, directory, fetchgit, filepath, ghc-prim, hpack, lib +, optparse-applicative, text, unliftio, unordered-containers }: mkDerivation { pname = "elmi-to-json"; version = "1.3.0"; src = fetchgit { url = "https://github.com/stoeffel/elmi-to-json"; - rev = "bd18efb59d247439b362272b480e67a16a4e424e"; - sha256 = "sha256-9fScXRSyTkqzeXwh/Jjza6mnENCThlU6KI366CLFcgY="; + sha256 = "0vy678k15rzpsn0aly90fb01pxsbqkgf86pa86w0gd94lka8acwl"; + rev = "6a42376ef4b6877e130971faf964578cc096e29b"; + fetchSubmodules = true; }; isLibrary = true; isExecutable = true; @@ -23,4 +23,5 @@ mkDerivation { prePatch = "hpack"; homepage = "https://github.com/stoeffel/elmi-to-json#readme"; license = lib.licenses.bsd3; + mainProgram = "elmi-to-json"; } diff --git a/pkgs/development/compilers/elm/packages/indents.nix b/pkgs/development/compilers/elm/packages/ghc8_10/indents/default.nix index 85e765db3e50..85e765db3e50 100644 --- a/pkgs/development/compilers/elm/packages/indents.nix +++ b/pkgs/development/compilers/elm/packages/ghc8_10/indents/default.nix diff --git a/pkgs/development/compilers/elm/packages/ghc9_2/default.nix b/pkgs/development/compilers/elm/packages/ghc9_2/default.nix new file mode 100644 index 000000000000..5ef5eff3bef1 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/ghc9_2/default.nix @@ -0,0 +1,53 @@ +{ pkgs, lib }: + +self: pkgs.haskell.packages.ghc92.override { + overrides = self: super: with pkgs.haskell.lib.compose; with lib; + let + elmPkgs = rec { + /* + The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo: + `package/nix/build.sh` + */ + elm-format = justStaticExecutables (overrideCabal + (drv: { + jailbreak = true; + doHaddock = false; + postPatch = '' + mkdir -p ./generated + cat <<EOHS > ./generated/Build_elm_format.hs + module Build_elm_format where + gitDescribe :: String + gitDescribe = "${drv.version}" + EOHS + ''; + + description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide"; + homepage = "https://github.com/avh4/elm-format"; + license = licenses.bsd3; + maintainers = with maintainers; [ avh4 turbomack ]; + }) + (self.callPackage ./elm-format/elm-format.nix { })); + }; + + fixHaddock = overrideCabal (_: { + configureFlags = [ "--ghc-option=-Wno-error=unused-packages" ]; + doHaddock = false; + }); + in + elmPkgs // { + inherit elmPkgs; + + # Needed for elm-format + avh4-lib = fixHaddock (doJailbreak (self.callPackage ./elm-format/avh4-lib.nix { })); + elm-format-lib = fixHaddock (doJailbreak (self.callPackage ./elm-format/elm-format-lib.nix { })); + elm-format-test-lib = fixHaddock (self.callPackage ./elm-format/elm-format-test-lib.nix { }); + elm-format-markdown = fixHaddock (self.callPackage ./elm-format/elm-format-markdown.nix { }); + + # elm-format requires text >= 2.0 + text = self.text_2_0_2; + # unorderd-container's tests indirectly depend on text < 2.0 + unordered-containers = overrideCabal (drv: { doCheck = false; }) super.unordered-containers; + # relude-1.1.0.0's tests depend on hedgehog < 1.2, which indirectly depends on text < 2.0 + relude = overrideCabal (drv: { doCheck = false; }) super.relude; + }; +} diff --git a/pkgs/development/compilers/elm/packages/avh4-lib.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/avh4-lib.nix index f7f9381703c6..e320edfd1162 100644 --- a/pkgs/development/compilers/elm/packages/avh4-lib.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/avh4-lib.nix @@ -12,7 +12,6 @@ mkDerivation { fetchSubmodules = true; }; postUnpack = "sourceRoot+=/avh4-lib; echo source root reset to $sourceRoot"; - configureFlags = [ "--ghc-option=-Wno-error=unused-packages" ]; libraryHaskellDepends = [ array base bytestring directory filepath mtl pooled-io process relude text @@ -22,7 +21,6 @@ mkDerivation { relude tasty tasty-hspec tasty-hunit text ]; testToolDepends = [ tasty-discover ]; - doHaddock = false; description = "Common code for haskell projects"; license = lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/elm-format-lib.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-lib.nix index a6b70414143f..290534bbea9a 100644 --- a/pkgs/development/compilers/elm/packages/elm-format-lib.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-lib.nix @@ -24,7 +24,6 @@ mkDerivation { text ]; testToolDepends = [ tasty-discover ]; - doHaddock = false; description = "Common code used by elm-format and elm-refactor"; license = lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/elm-format-markdown.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-markdown.nix index fdeb2e88d384..e57d2127822e 100644 --- a/pkgs/development/compilers/elm/packages/elm-format-markdown.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-markdown.nix @@ -10,7 +10,6 @@ mkDerivation { }; postUnpack = "sourceRoot+=/elm-format-markdown; echo source root reset to $sourceRoot"; libraryHaskellDepends = [ base containers mtl text ]; - doHaddock = false; description = "Markdown parsing for Elm documentation comments"; license = lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/elm-format-test-lib.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-test-lib.nix index ccd6264d6c16..43090abbeae4 100644 --- a/pkgs/development/compilers/elm/packages/elm-format-test-lib.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-test-lib.nix @@ -21,7 +21,6 @@ mkDerivation { split tasty tasty-hspec tasty-hunit text ]; testToolDepends = [ tasty-discover ]; - doHaddock = false; description = "Test helpers used by elm-format-tests and elm-refactor-tests"; license = lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/elm-format.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format.nix index c4448f246425..82ec995e1ecc 100644 --- a/pkgs/development/compilers/elm/packages/elm-format.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format.nix @@ -3,7 +3,7 @@ , optparse-applicative, QuickCheck, quickcheck-io, relude, tasty , tasty-hspec, tasty-hunit, tasty-quickcheck, text }: -mkDerivation rec { +mkDerivation { pname = "elm-format"; version = "0.8.7"; src = fetchgit { @@ -24,18 +24,8 @@ mkDerivation rec { quickcheck-io relude tasty tasty-hspec tasty-hunit tasty-quickcheck text ]; - doHaddock = false; homepage = "https://elm-lang.org"; description = "A source code formatter for Elm"; license = lib.licenses.bsd3; mainProgram = "elm-format"; - postPatch = '' - mkdir -p ./generated - cat <<EOHS > ./generated/Build_elm_format.hs - module Build_elm_format where - - gitDescribe :: String - gitDescribe = "${version}" - EOHS - ''; } diff --git a/pkgs/development/compilers/elm/packages/ansi-wl-pprint.nix b/pkgs/development/compilers/elm/packages/ghc9_6/ansi-wl-pprint/default.nix index 392ca5ab31b1..392ca5ab31b1 100644 --- a/pkgs/development/compilers/elm/packages/ansi-wl-pprint.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_6/ansi-wl-pprint/default.nix diff --git a/pkgs/development/compilers/elm/packages/ghc9_6/default.nix b/pkgs/development/compilers/elm/packages/ghc9_6/default.nix new file mode 100644 index 000000000000..13ba7faa0308 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/ghc9_6/default.nix @@ -0,0 +1,42 @@ +{ pkgs, lib, makeWrapper, nodejs, fetchElmDeps }: + +self: pkgs.haskell.packages.ghc96.override { + overrides = self: super: with pkgs.haskell.lib.compose; with lib; + let + elmPkgs = rec { + elm = overrideCabal + (drv: { + # sadly with parallelism most of the time breaks compilation + enableParallelBuilding = false; + preConfigure = fetchElmDeps { + elmPackages = (import ../elm-srcs.nix); + elmVersion = drv.version; + registryDat = ../../registry.dat; + }; + buildTools = drv.buildTools or [ ] ++ [ makeWrapper ]; + postInstall = '' + wrapProgram $out/bin/elm \ + --prefix PATH ':' ${lib.makeBinPath [ nodejs ]} + ''; + + description = "A delightful language for reliable webapps"; + homepage = "https://elm-lang.org/"; + license = licenses.bsd3; + maintainers = with maintainers; [ domenkozar turbomack ]; + }) + (self.callPackage ./elm { }); + + inherit fetchElmDeps; + elmVersion = elmPkgs.elm.version; + }; + in + elmPkgs // { + inherit elmPkgs; + + ansi-wl-pprint = overrideCabal + (drv: { + jailbreak = true; + }) + (self.callPackage ./ansi-wl-pprint { }); + }; +} diff --git a/pkgs/development/compilers/elm/packages/elm.nix b/pkgs/development/compilers/elm/packages/ghc9_6/elm/default.nix index 1071d50a84c9..1071d50a84c9 100644 --- a/pkgs/development/compilers/elm/packages/elm.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_6/elm/default.nix diff --git a/pkgs/development/compilers/elm/packages/lamdera.nix b/pkgs/development/compilers/elm/packages/lamdera/default.nix index e3dda4c31a52..c92d2d144d4b 100644 --- a/pkgs/development/compilers/elm/packages/lamdera.nix +++ b/pkgs/development/compilers/elm/packages/lamdera/default.nix @@ -1,4 +1,5 @@ -{ stdenv, lib +{ stdenv +, lib , fetchurl }: diff --git a/pkgs/development/compilers/elm/packages/node/default.nix b/pkgs/development/compilers/elm/packages/node/default.nix new file mode 100644 index 000000000000..6d4d38a6d199 --- /dev/null +++ b/pkgs/development/compilers/elm/packages/node/default.nix @@ -0,0 +1,139 @@ +{ pkgs, lib, nodejs, makeWrapper }: self: + +let + # Untouched npm-downloaded packages + nodePkgs = pkgs.callPackage ./node-composition.nix { + inherit pkgs nodejs; + inherit (pkgs.stdenv.hostPlatform) system; + }; +in +with self; with elmLib; { + inherit (nodePkgs) elm-live elm-upgrade elm-xref elm-analyse elm-git-install; + + elm-verify-examples = + let + patched = patchBinwrap [ elmi-to-json ] nodePkgs.elm-verify-examples // { + meta = with lib; nodePkgs.elm-verify-examples.meta // { + description = "Verify examples in your docs"; + homepage = "https://github.com/stoeffel/elm-verify-examples"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; + }; + in + patched.override (old: { + preRebuild = (old.preRebuild or "") + '' + # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done + # in case of just this package + # TODO: investigate, same as for elm-coverage below + sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json + ''; + }); + + elm-coverage = + let + patched = patchNpmElm (patchBinwrap [ elmi-to-json ] nodePkgs.elm-coverage); + in + patched.override (old: { + # Symlink Elm instrument binary + preRebuild = (old.preRebuild or "") + '' + # Noop custom installation script + sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json + + # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done + # in case of just this package + # TODO: investigate + sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json + ''; + postInstall = (old.postInstall or "") + '' + mkdir -p unpacked_bin + ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument + ''; + meta = with lib; nodePkgs.elm-coverage.meta // { + description = "Work in progress - Code coverage tooling for Elm"; + homepage = "https://github.com/zwilias/elm-coverage"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; + }); + + create-elm-app = patchNpmElm + nodePkgs.create-elm-app // { + meta = with lib; nodePkgs.create-elm-app.meta // { + description = "Create Elm apps with no build configuration"; + homepage = "https://github.com/halfzebra/create-elm-app"; + license = licenses.mit; + maintainers = [ maintainers.turbomack ]; + }; + }; + + elm-graphql = + nodePkgs."@dillonkearns/elm-graphql" // { + meta = with lib; nodePkgs."@dillonkearns/elm-graphql".meta // { + description = " Autogenerate type-safe GraphQL queries in Elm."; + license = licenses.bsd3; + maintainers = [ maintainers.pedrohlc ]; + }; + }; + + elm-review = + nodePkgs.elm-review // { + meta = with lib; nodePkgs.elm-review.meta // { + description = "Analyzes Elm projects, to help find mistakes before your users find them"; + homepage = "https://package.elm-lang.org/packages/jfmengels/elm-review/${nodePkgs.elm-review.version}"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; + }; + + elm-language-server = nodePkgs."@elm-tooling/elm-language-server" // { + meta = with lib; nodePkgs."@elm-tooling/elm-language-server".meta // { + description = "Language server implementation for Elm"; + homepage = "https://github.com/elm-tooling/elm-language-server"; + license = licenses.mit; + maintainers = [ maintainers.turbomack ]; + }; + }; + + elm-spa = nodePkgs."elm-spa".overrideAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ makeWrapper old.nodejs.pkgs.node-gyp-build ]; + + meta = with lib; nodePkgs."elm-spa".meta // { + description = "A tool for building single page apps in Elm"; + homepage = "https://www.elm-spa.dev/"; + license = licenses.bsd3; + maintainers = [ maintainers.ilyakooo0 ]; + }; + } + ); + + elm-optimize-level-2 = nodePkgs."elm-optimize-level-2" // { + meta = with lib; nodePkgs."elm-optimize-level-2".meta // { + description = "A second level of optimization for the Javascript that the Elm Compiler produces"; + homepage = "https://github.com/mdgriffith/elm-optimize-level-2"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack ]; + }; + }; + + elm-pages = import ./elm-pages { inherit nodePkgs pkgs lib makeWrapper; }; + + elm-land = + let + patched = patchNpmElm nodePkgs.elm-land; + in + patched.override (old: { + meta = with lib; nodePkgs."elm-land".meta // { + description = "A production-ready framework for building Elm applications."; + homepage = "https://elm.land/"; + license = licenses.bsd3; + maintainers = [ maintainers.zupo ]; + }; + } + ); + + elm-doc-preview = nodePkgs."elm-doc-preview".overrideAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ old.nodejs.pkgs.node-gyp-build ]; + }); +} diff --git a/pkgs/development/compilers/elm/packages/node/elm-pages/default.nix b/pkgs/development/compilers/elm/packages/node/elm-pages/default.nix new file mode 100644 index 000000000000..5502e26b415d --- /dev/null +++ b/pkgs/development/compilers/elm/packages/node/elm-pages/default.nix @@ -0,0 +1,28 @@ +{ nodePkgs, pkgs, lib, makeWrapper }: + +nodePkgs."elm-pages".overrideAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ makeWrapper old.nodejs.pkgs.node-gyp-build ]; + + # can't use `patches = [ <patch_file> ]` with a nodePkgs derivation; + # need to patch in one of the build phases instead. + # see upstream issue https://github.com/dillonkearns/elm-pages/issues/305 for dealing with the read-only problem + preFixup = '' + patch $out/lib/node_modules/elm-pages/generator/src/codegen.js ${./fix-read-only.patch} + patch $out/lib/node_modules/elm-pages/generator/src/init.js ${./fix-init-read-only.patch} + ''; + + postFixup = '' + wrapProgram $out/bin/elm-pages --prefix PATH : ${ + with pkgs.elmPackages; lib.makeBinPath [ elm elm-review elm-optimize-level-2 ] + } + ''; + + meta = with lib; nodePkgs."elm-pages".meta // { + description = "A statically typed site generator for Elm."; + homepage = "https://github.com/dillonkearns/elm-pages"; + license = licenses.bsd3; + maintainers = [ maintainers.turbomack maintainers.jali-clarke ]; + }; + } +) diff --git a/pkgs/development/compilers/elm/packages/elm-pages-fix-init-read-only.patch b/pkgs/development/compilers/elm/packages/node/elm-pages/fix-init-read-only.patch index 9704ef9f7c08..9704ef9f7c08 100644 --- a/pkgs/development/compilers/elm/packages/elm-pages-fix-init-read-only.patch +++ b/pkgs/development/compilers/elm/packages/node/elm-pages/fix-init-read-only.patch diff --git a/pkgs/development/compilers/elm/packages/elm-pages-fix-read-only.patch b/pkgs/development/compilers/elm/packages/node/elm-pages/fix-read-only.patch index 547f89f86f69..547f89f86f69 100644 --- a/pkgs/development/compilers/elm/packages/elm-pages-fix-read-only.patch +++ b/pkgs/development/compilers/elm/packages/node/elm-pages/fix-read-only.patch diff --git a/pkgs/development/compilers/elm/packages/generate-node-packages.sh b/pkgs/development/compilers/elm/packages/node/generate-node-packages.sh index 49e697e43e88..66cc71ca32bb 100755 --- a/pkgs/development/compilers/elm/packages/generate-node-packages.sh +++ b/pkgs/development/compilers/elm/packages/node/generate-node-packages.sh @@ -1,11 +1,12 @@ #!/usr/bin/env bash -ROOT="$(realpath "$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")"/../../../../..)" +ROOT="$(realpath "$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")"/../../../../../..)" set -eu -o pipefail $(nix-build $ROOT -A nodePackages.node2nix --no-out-link)/bin/node2nix \ + --nodejs-18 \ -i node-packages.json \ -o node-packages.nix \ -c node-composition.nix \ - --no-copy-node-env -e ../../../node-packages/node-env.nix + --no-copy-node-env -e ../../../../node-packages/node-env.nix diff --git a/pkgs/development/compilers/elm/packages/node-composition.nix b/pkgs/development/compilers/elm/packages/node/node-composition.nix index c825c6c66349..1f86de75e357 100644 --- a/pkgs/development/compilers/elm/packages/node-composition.nix +++ b/pkgs/development/compilers/elm/packages/node/node-composition.nix @@ -5,7 +5,7 @@ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: let - nodeEnv = import ../../../node-packages/node-env.nix { + nodeEnv = import ../../../../node-packages/node-env.nix { inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; inherit pkgs nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; diff --git a/pkgs/development/compilers/elm/packages/node-packages.json b/pkgs/development/compilers/elm/packages/node/node-packages.json index 8112b01bc9e8..8112b01bc9e8 100644 --- a/pkgs/development/compilers/elm/packages/node-packages.json +++ b/pkgs/development/compilers/elm/packages/node/node-packages.json diff --git a/pkgs/development/compilers/elm/packages/node-packages.nix b/pkgs/development/compilers/elm/packages/node/node-packages.nix index 0efccbb5ff90..0efccbb5ff90 100644 --- a/pkgs/development/compilers/elm/packages/node-packages.nix +++ b/pkgs/development/compilers/elm/packages/node/node-packages.nix diff --git a/pkgs/development/compilers/elm/update.sh b/pkgs/development/compilers/elm/update.sh index 4de11bd8ff5d..d718bd0fbb08 100755 --- a/pkgs/development/compilers/elm/update.sh +++ b/pkgs/development/compilers/elm/update.sh @@ -1,13 +1,21 @@ #!/usr/bin/env nix-shell #!nix-shell -p cabal2nix elm2nix -i bash ../../.. -cabal2nix https://github.com/ekmett/ansi-wl-pprint --revision d16e2f6896d76b87b72af7220c2e93ba15c53280 > packages/ansi-wl-pprint.nix +# Update all cabal packages. +cabal2nix 'https://github.com/zwilias/elm-instrument' --revision '0.0.7' > packages/ghc8_10/elm-instrument/default.nix +for subpath in 'avh4-lib' 'elm-format-lib' 'elm-format-markdown' 'elm-format-test-lib'; do + cabal2nix 'https://github.com/avh4/elm-format' --revision '0.8.7' \ + --subpath $subpath > packages/ghc9_2/elm-format/${subpath}.nix +done +cabal2nix 'https://github.com/avh4/elm-format' --revision '0.8.7' > packages/ghc9_2/elm-format/elm-format.nix +cabal2nix 'https://github.com/stoeffel/elmi-to-json' --revision '1.3.0' > packages/ghc8_10/elmi-to-json/default.nix +cabal2nix 'https://github.com/ekmett/ansi-wl-pprint' --revision 'v0.6.8.1' > packages/ghc9_6/ansi-wl-pprint/default.nix # We're building binaries from commit that npm installer is using since # November 1st release called 0.19.1-6 in npm registry. # These binaries are built with newer ghc version and also support Aarch64 for Linux and Darwin. # Upstream git tag for 0.19.1 is still pointing to original commit from 2019. -cabal2nix https://github.com/elm/compiler --revision 2f6dd29258e880dbb7effd57a829a0470d8da48b > packages/elm.nix +cabal2nix https://github.com/elm/compiler --revision 2f6dd29258e880dbb7effd57a829a0470d8da48b > packages/ghc9_6/elm/default.nix echo "need to manually copy registry.dat from an existing elm project" #elm2nix snapshot > registry.dat diff --git a/pkgs/development/compilers/llvm/17/default.nix b/pkgs/development/compilers/llvm/17/default.nix index a9138e3c79b6..c8d956925345 100644 --- a/pkgs/development/compilers/llvm/17/default.nix +++ b/pkgs/development/compilers/llvm/17/default.nix @@ -213,6 +213,7 @@ in let (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) "-lunwind" ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; + nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; }; clangNoLibcxx = wrapCCWith rec { diff --git a/pkgs/development/compilers/llvm/18/clang/default.nix b/pkgs/development/compilers/llvm/18/clang/default.nix new file mode 100644 index 000000000000..1e777c6132e4 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/clang/default.nix @@ -0,0 +1,139 @@ +{ lib, stdenv, llvm_meta +, monorepoSrc, runCommand +, substituteAll, cmake, ninja, libxml2, libllvm, version, python3 +, buildLlvmTools +, fixDarwinDylibNames +, enableManpages ? false +}: + +let + self = stdenv.mkDerivation (finalAttrs: rec { + pname = "clang"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + cp -r ${monorepoSrc}/clang-tools-extra "$out" + ''; + + sourceRoot = "${src.name}/${pname}"; + + nativeBuildInputs = [ cmake ninja python3 ] + ++ lib.optional (lib.versionAtLeast version "18" && enableManpages) python3.pkgs.myst-parser + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + + buildInputs = [ libxml2 libllvm ]; + + cmakeFlags = [ + "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" + "-DCLANGD_BUILD_XPC=OFF" + "-DLLVM_ENABLE_RTTI=ON" + "-DLLVM_INCLUDE_TESTS=OFF" + ] ++ lib.optionals enableManpages [ + "-DCLANG_INCLUDE_DOCS=ON" + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" + "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" + # Added in LLVM15: + # `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb + # `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7 + "-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen" + "-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen" + ]; + + patches = [ + ./purity.patch + # https://reviews.llvm.org/D51899 + ./gnu-install-dirs.patch + ../../common/clang/add-nostdlibinc-flag.patch + (substituteAll { + src = ../../common/clang/clang-at-least-16-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; + + postPatch = '' + (cd tools && ln -s ../../clang-tools-extra extra) + '' + lib.optionalString stdenv.hostPlatform.isMusl '' + sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp + ''; + + outputs = [ "out" "lib" "dev" "python" ]; + + postInstall = '' + ln -sv $out/bin/clang $out/bin/cpp + + # Move libclang to 'lib' output + moveToOutput "lib/libclang.*" "$lib" + moveToOutput "lib/libclang-cpp.*" "$lib" + substituteInPlace $dev/lib/cmake/clang/ClangTargets-release.cmake \ + --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ + --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." + + mkdir -p $python/bin $python/share/clang/ + mv $out/bin/{git-clang-format,scan-view} $python/bin + if [ -e $out/bin/set-xcode-analyzer ]; then + mv $out/bin/set-xcode-analyzer $python/bin + fi + mv $out/share/clang/*.py $python/share/clang + rm $out/bin/c-index-test + patchShebangs $python/bin + + mkdir -p $dev/bin + cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin + ''; + + passthru = { + inherit libllvm; + isClang = true; + hardeningUnsupportedFlags = [ + "fortify3" + ]; + hardeningUnsupportedFlagsByTargetPlatform = targetPlatform: + lib.optional (!(targetPlatform.isx86_64 || targetPlatform.isAarch64)) "zerocallusedregs" + ++ (finalAttrs.passthru.hardeningUnsupportedFlags or []); + }; + + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; + mainProgram = "clang"; + }; + } // lib.optionalAttrs enableManpages { + pname = "clang-manpages"; + + ninjaFlags = [ "docs-clang-man" ]; + + installPhase = '' + mkdir -p $out/share/man/man1 + # Manually install clang manpage + cp docs/man/*.1 $out/share/man/man1/ + ''; + + outputs = [ "out" ]; + + doCheck = false; + + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; + }); +in self diff --git a/pkgs/development/compilers/llvm/18/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/18/clang/gnu-install-dirs.patch new file mode 100644 index 000000000000..9517df973ad0 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/clang/gnu-install-dirs.patch @@ -0,0 +1,71 @@ +diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake +index 75b0080f6715..c895b884cd27 100644 +--- a/cmake/modules/AddClang.cmake ++++ b/cmake/modules/AddClang.cmake +@@ -119,8 +119,8 @@ macro(add_clang_library name) + install(TARGETS ${lib} + COMPONENT ${lib} + ${export_to_clangtargets} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + if (NOT LLVM_ENABLE_IDE) +diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt +index f2b0c5cddcbb..52f37fc368ce 100644 +--- a/lib/Headers/CMakeLists.txt ++++ b/lib/Headers/CMakeLists.txt +@@ -473,6 +473,7 @@ add_header_target("windows-resource-headers" ${windows_only_files}) + add_header_target("utility-resource-headers" ${utility_files}) + + get_clang_resource_dir(header_install_dir SUBDIR include) ++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR}/include) + + ############################################################# + # Install rules for the catch-all clang-resource-headers target +diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt +index 4f23065a2472..6a0f55991e24 100644 +--- a/tools/libclang/CMakeLists.txt ++++ b/tools/libclang/CMakeLists.txt +@@ -234,7 +234,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS}) + COMPONENT + libclang-python-bindings + DESTINATION +- "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") ++ "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") + endforeach() + if(NOT LLVM_ENABLE_IDE) + add_custom_target(libclang-python-bindings) +diff --git a/tools/scan-build-py/CMakeLists.txt b/tools/scan-build-py/CMakeLists.txt +index 3aca22c0b0a8..3115353e3fe3 100644 +--- a/tools/scan-build-py/CMakeLists.txt ++++ b/tools/scan-build-py/CMakeLists.txt +@@ -88,7 +88,7 @@ foreach(lib ${LibScanbuild}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) + install(FILES lib/libscanbuild/${lib} +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild" + COMPONENT scan-build-py) + endforeach() + +@@ -106,7 +106,7 @@ foreach(resource ${LibScanbuildResources}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) + install(FILES lib/libscanbuild/resources/${resource} +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild/resources ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild/resources" + COMPONENT scan-build-py) + endforeach() + +@@ -122,7 +122,7 @@ foreach(lib ${LibEar}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) + install(FILES lib/libear/${lib} +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libear ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libear" + COMPONENT scan-build-py) + endforeach() + diff --git a/pkgs/development/compilers/llvm/18/clang/purity.patch b/pkgs/development/compilers/llvm/18/clang/purity.patch new file mode 100644 index 000000000000..5ce14a3479a0 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/clang/purity.patch @@ -0,0 +1,25 @@ +From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001 +From: Will Dietz <w@wdtz.org> +Date: Thu, 18 May 2017 11:56:12 -0500 +Subject: [PATCH] "purity" patch for 5.0 + +--- + lib/Driver/ToolChains/Gnu.cpp | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp +index fe3c0191bb..c6a482bece 100644 +--- a/lib/Driver/ToolChains/Gnu.cpp ++++ b/lib/Driver/ToolChains/Gnu.cpp +@@ -446,9 +446,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + ToolChain.isPIEDefault(Args)); + if (IsPIE) + CmdArgs.push_back("-pie"); +- CmdArgs.push_back("-dynamic-linker"); +- CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) + +- ToolChain.getDynamicLinker(Args))); + } + } + +-- +2.11.0 diff --git a/pkgs/development/compilers/llvm/18/compiler-rt/X86-support-extension.patch b/pkgs/development/compilers/llvm/18/compiler-rt/X86-support-extension.patch new file mode 100644 index 000000000000..07013e5a6825 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/compiler-rt/X86-support-extension.patch @@ -0,0 +1,21 @@ +diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt +index 3a66dd9c3fb..7efc85d9f9f 100644 +--- a/lib/builtins/CMakeLists.txt ++++ b/lib/builtins/CMakeLists.txt +@@ -348,4 +348,8 @@ if (NOT MSVC) + ++ set(i486_SOURCES ${i386_SOURCES}) ++ set(i586_SOURCES ${i386_SOURCES}) ++ set(i686_SOURCES ${i386_SOURCES}) ++ + if (WIN32) + set(i386_SOURCES + ${i386_SOURCES} +@@ -723,6 +723,7 @@ else () + endif() + + foreach (arch ${BUILTIN_SUPPORTED_ARCH}) ++ message("arch: ${arch}") + if (CAN_TARGET_${arch}) + # For ARM archs, exclude any VFP builtins if VFP is not supported + if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") diff --git a/pkgs/development/compilers/llvm/18/compiler-rt/darwin-targetconditionals.patch b/pkgs/development/compilers/llvm/18/compiler-rt/darwin-targetconditionals.patch new file mode 100644 index 000000000000..425dc2af01e7 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/compiler-rt/darwin-targetconditionals.patch @@ -0,0 +1,71 @@ +diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp +--- a/lib/sanitizer_common/sanitizer_mac.cpp ++++ b/lib/sanitizer_common/sanitizer_mac.cpp +@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) { + // Offset example: + // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4 + constexpr u16 GetOSMajorKernelOffset() { +- if (TARGET_OS_OSX) return 4; +- if (TARGET_OS_IOS || TARGET_OS_TV) return 6; +- if (TARGET_OS_WATCH) return 13; ++#if TARGET_OS_OSX ++ return 4; ++#endif ++#if TARGET_OS_IOS || TARGET_OS_TV ++ return 6; ++#endif ++#if TARGET_OS_WATCH ++ return 13; ++#endif + } + + using VersStr = char[64]; +@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) { + u16 os_major = kernel_major - offset; + + const char *format = "%d.0"; +- if (TARGET_OS_OSX) { +- if (os_major >= 16) { // macOS 11+ +- os_major -= 5; +- } else { // macOS 10.15 and below +- format = "10.%d"; +- } ++#if TARGET_OS_OSX ++ if (os_major >= 16) { // macOS 11+ ++ os_major -= 5; ++ } else { // macOS 10.15 and below ++ format = "10.%d"; + } ++#endif + return internal_snprintf(vers, sizeof(VersStr), format, os_major); + } + +@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) { + // Aligned versions example: + // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6 + static void MapToMacos(u16 *major, u16 *minor) { +- if (TARGET_OS_OSX) +- return; +- +- if (TARGET_OS_IOS || TARGET_OS_TV) ++#if !TARGET_OS_OSX ++#if TARGET_OS_IOS || TARGET_OS_TV + *major += 2; +- else if (TARGET_OS_WATCH) ++#elif TARGET_OS_WATCH + *major += 9; +- else ++#else + UNREACHABLE("unsupported platform"); ++#endif + + if (*major >= 16) { // macOS 11+ + *major -= 5; +@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) { + *minor = *major; + *major = 10; + } ++#endif + } + + static MacosVersion GetMacosAlignedVersionInternal() { diff --git a/pkgs/development/compilers/llvm/18/compiler-rt/default.nix b/pkgs/development/compilers/llvm/18/compiler-rt/default.nix new file mode 100644 index 000000000000..f51316beb570 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/compiler-rt/default.nix @@ -0,0 +1,157 @@ +{ lib, stdenv, llvm_meta, version +, monorepoSrc, runCommand +, cmake, ninja, python3, xcbuild, libllvm, linuxHeaders, libxcrypt +, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD +}: + +let + + useLLVM = stdenv.hostPlatform.useLLVM or false; + bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + haveLibc = stdenv.cc.libc != null; + isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic; + inherit (stdenv.hostPlatform) isMusl; + + baseName = "compiler-rt"; + + src = runCommand "${baseName}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${baseName} "$out" + ''; +in + +stdenv.mkDerivation { + pname = baseName + lib.optionalString (haveLibc) "-libc"; + inherit version; + + inherit src; + sourceRoot = "${src.name}/${baseName}"; + + nativeBuildInputs = [ cmake ninja python3 libllvm.dev ] + ++ lib.optional stdenv.isDarwin xcbuild.xcrun; + buildInputs = + lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders; + + env.NIX_CFLAGS_COMPILE = toString ([ + "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" + ] ++ lib.optionals (!haveLibc) [ + # The compiler got stricter about this, and there is a usellvm patch below + # which patches out the assert include causing an implicit definition of + # assert. It would be nicer to understand why compiler-rt thinks it should + # be able to #include <assert.h> in the first place; perhaps it's in the + # wrong, or perhaps there is a way to provide an assert.h. + "-Wno-error=implicit-function-declaration" + ]); + + cmakeFlags = [ + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" + "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" + "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" + ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [ + "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" + ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isDarwinStatic) [ + "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" + "-DCOMPILER_RT_BUILD_XRAY=OFF" + "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" + "-DCOMPILER_RT_BUILD_MEMPROF=OFF" + "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary + ] ++ lib.optionals (useLLVM || bareMetal) [ + "-DCOMPILER_RT_BUILD_PROFILE=OFF" + ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic ) [ + "-DCMAKE_CXX_COMPILER_WORKS=ON" + ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ + "-DCMAKE_C_COMPILER_WORKS=ON" + "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" + ] ++ lib.optionals (useLLVM && !haveLibc) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" + ] ++ lib.optionals (useLLVM) [ + "-DCOMPILER_RT_BUILD_BUILTINS=ON" + #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program + "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" + ] ++ lib.optionals (bareMetal) [ + "-DCOMPILER_RT_OS_DIR=baremetal" + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + "-DCMAKE_LIPO=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}lipo" + "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" + "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" + "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" + + # `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin: + # https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153 + "-DCOMPILER_RT_ENABLE_IOS=OFF" + ]; + + outputs = [ "out" "dev" ]; + + patches = [ + ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./normalize-var.patch + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ../../common/compiler-rt/darwin-plistbuddy-workaround.patch + # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 + # ../../common/compiler-rt/armv7l-15.patch + ]; + + # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks + # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra + # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd + # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by + # a flag and turn the flag off during the stdenv build. + postPatch = lib.optionalString (!stdenv.isDarwin) '' + substituteInPlace cmake/builtin-config-ix.cmake \ + --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace cmake/config-ix.cmake \ + --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' + '' + lib.optionalString (useLLVM && !haveLibc) '' + substituteInPlace lib/builtins/aarch64/sme-libc-routines.c \ + --replace "<stdlib.h>" "<stddef.h>" + substituteInPlace lib/builtins/int_util.c \ + --replace "#include <stdlib.h>" "" + substituteInPlace lib/builtins/clear_cache.c \ + --replace "#include <assert.h>" "" + substituteInPlace lib/builtins/cpu_model${lib.optionalString (lib.versionAtLeast version "18") "/x86"}.c \ + --replace "#include <assert.h>" "" + ''; + + # Hack around weird upsream RPATH bug + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin) '' + ln -s "$out/lib"/*/* "$out/lib" + '' + lib.optionalString (useLLVM && stdenv.hostPlatform.isLinux) '' + ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o + ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o + # Note the history of crt{begin,end}S in previous versions of llvm in nixpkg: + # The presence of crtbegin_shared has been added and removed; it's possible + # people have added/removed it to get it working on their platforms. + # Try each in turn for now. + ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbeginS.o + ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtendS.o + ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o + ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o + '' + lib.optionalString doFakeLibgcc '' + ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a + ''; + + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + # compiler-rt requires a Clang stdenv on 32-bit RISC-V: + # https://reviews.llvm.org/D43106#1019077 + broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang; + }; +} diff --git a/pkgs/development/compilers/llvm/18/compiler-rt/normalize-var.patch b/pkgs/development/compilers/llvm/18/compiler-rt/normalize-var.patch new file mode 100644 index 000000000000..2b25fd4a0744 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/compiler-rt/normalize-var.patch @@ -0,0 +1,16 @@ +diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake +index 4c85551d7766..297d7a47c54b 100644 +--- a/cmake/Modules/CompilerRTUtils.cmake ++++ b/cmake/Modules/CompilerRTUtils.cmake +@@ -328,8 +328,9 @@ macro(load_llvm_config) + endif() + endif() + +- set(LLVM_LIBRARY_OUTPUT_INTDIR +- ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) ++ get_filename_component(LLVM_LIBRARY_OUTPUT_INTDIR ++ ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX} ++ REALPATH) + + set(LLVM_MAIN_SRC_DIR "${LLVM_MAIN_SRC_DIR_DEFAULT}" CACHE PATH "Path to LLVM source tree") + message(STATUS "LLVM_MAIN_SRC_DIR: \"${LLVM_MAIN_SRC_DIR}\"") diff --git a/pkgs/development/compilers/llvm/18/default.nix b/pkgs/development/compilers/llvm/18/default.nix new file mode 100644 index 000000000000..dd3000c04259 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/default.nix @@ -0,0 +1,329 @@ +{ lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja +, preLibcCrossHeaders +, libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, buildLlvmTools # tools, but from the previous stage, for cross +, targetLlvmLibraries # libraries, but from the next stage, for cross +, targetLlvm +# This is the default binutils, but with *this* version of LLD rather +# than the default LLVM verion's, if LLD is the choice. We use these for +# the `useLLVM` bootstrapping below. +, bootBintoolsNoLibc ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintoolsNoLibc +, bootBintools ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintools +, darwin +# LLVM release information; specify one of these but not both: +, gitRelease ? null + # i.e.: + # { + # version = /* i.e. "15.0.0" */; + # rev = /* commit SHA */; + # rev-version = /* human readable version; i.e. "unstable-2022-26-07" */; + # sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */; + # } +, officialRelease ? { version = "18.1.1"; sha256 = "sha256-qAPNvEpztJjPz+kr5KcZz4iUTErsD8iXLURKl3yZoC8="; } + # i.e.: + # { + # version = /* i.e. "15.0.0" */; + # candidate = /* optional; if specified, should be: "rcN" */ + # sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */; + # } +# By default, we'll try to fetch a release from `github:llvm/llvm-project` +# corresponding to the `gitRelease` or `officialRelease` specified. +# +# You can provide your own LLVM source by specifying this arg but then it's up +# to you to make sure that the LLVM repo given matches the release configuration +# specified. +, monorepoSrc ? null +}: + +assert let + int = a: if a then 1 else 0; + xor = a: b: ((builtins.bitXor (int a) (int b)) == 1); +in + lib.assertMsg + (xor + (gitRelease != null) + (officialRelease != null)) + ("must specify `gitRelease` or `officialRelease`" + + (lib.optionalString (gitRelease != null) " — not both")); +let + monorepoSrc' = monorepoSrc; +in let + inherit (import ../common/common-let.nix { inherit lib gitRelease officialRelease; }) releaseInfo; + + inherit (releaseInfo) release_version version; + + inherit (import ../common/common-let.nix { inherit lib fetchFromGitHub release_version gitRelease officialRelease monorepoSrc'; }) llvm_meta monorepoSrc; + + tools = lib.makeExtensible (tools: let + callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; }); + major = lib.versions.major release_version; + mkExtraBuildCommands0 = cc: '' + rsrc="$out/resource-root" + mkdir "$rsrc" + ln -s "${cc.lib}/lib/clang/${major}/include" "$rsrc" + echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags + ''; + mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + '' + ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" + ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" + ''; + + bintoolsNoLibc' = + if bootBintoolsNoLibc == null + then tools.bintoolsNoLibc + else bootBintoolsNoLibc; + bintools' = + if bootBintools == null + then tools.bintools + else bootBintools; + + in { + + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; + + # `llvm` historically had the binaries. When choosing an output explicitly, + # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* + llvm = tools.libllvm; + + libclang = callPackage ./clang { + inherit llvm_meta; + }; + + clang-unwrapped = tools.libclang; + + llvm-manpages = lowPrio (tools.libllvm.override { + enableManpages = true; + python3 = pkgs.python3; # don't use python-boot + }); + + clang-manpages = lowPrio (tools.libclang.override { + enableManpages = true; + python3 = pkgs.python3; # don't use python-boot + }); + + lldb-manpages = lowPrio (tools.lldb.override { + enableManpages = true; + python3 = pkgs.python3; # don't use python-boot + }); + + # pick clang appropriate for package set we are targeting + clang = + /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM + else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang + else tools.libcxxClang; + + libstdcxxClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper. + libcxx = null; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + }; + + libcxxClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + }; + + lld = callPackage ./lld { + inherit llvm_meta; + }; + + mlir = callPackage ../common/mlir { + inherit llvm_meta; + }; + + lldb = callPackage ../common/lldb.nix { + src = callPackage ({ runCommand }: runCommand "lldb-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/lldb "$out" + '') { }; + patches = + [ + # FIXME: do we need this? ./procfs.patch + ../common/lldb/gnu-install-dirs.patch + ] + # This is a stopgap solution if/until the macOS SDK used for x86_64 is + # updated. + # + # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h` + # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use + # of this preprocessor symbol in `lldb` with its expansion. + # + # See here for some context: + # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132 + ++ lib.optional ( + stdenv.targetPlatform.isDarwin + && !stdenv.targetPlatform.isAarch64 + && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0") + ) ./lldb/cpu_subtype_arm64e_replacement.patch; + inherit llvm_meta; + }; + + # Below, is the LLVM bootstrapping logic. It handles building a + # fully LLVM toolchain from scratch. No GCC toolchain should be + # pulled in. As a consequence, it is very quick to build different + # targets provided by LLVM and we can also build for what GCC + # doesn’t support like LLVM. Probably we should move to some other + # file. + + bintools-unwrapped = callPackage ../common/bintools.nix { }; + + bintoolsNoLibc = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + libc = preLibcCrossHeaders; + }; + + bintools = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + }; + + clangUseLLVM = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; + bintools = bintools'; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ + targetLlvmLibraries.libunwind + ]; + extraBuildCommands = mkExtraBuildCommands cc; + nixSupport.cc-cflags = + [ "-rtlib=compiler-rt" + "-Wno-unused-command-line-argument" + "-B${targetLlvmLibraries.compiler-rt}/lib" + ] + ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" + ++ lib.optional + (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) + "-lunwind" + ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; + nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; + }; + + clangNoLibcxx = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + nixSupport.cc-cflags = + [ + "-rtlib=compiler-rt" + "-B${targetLlvmLibraries.compiler-rt}/lib" + "-nostdlib++" + ] + ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; + }; + + clangNoLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintoolsNoLibc'; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + nixSupport.cc-cflags = + [ + "-rtlib=compiler-rt" + "-B${targetLlvmLibraries.compiler-rt}/lib" + ] + ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; + }; + + clangNoCompilerRt = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintoolsNoLibc'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + nixSupport.cc-cflags = + [ + "-nostartfiles" + ] + ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; + }; + + clangNoCompilerRtWithLibc = wrapCCWith (rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + } // lib.optionalAttrs stdenv.targetPlatform.isWasm { + nixSupport.cc-cflags = [ "-fno-exceptions" ]; + }); + + # Has to be in tools despite mostly being a library, + # because we use a native helper executable from a + # non-cross build in cross builds. + libclc = callPackage ../common/libclc.nix { + inherit buildLlvmTools; + }; + }); + + libraries = lib.makeExtensible (libraries: let + callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; }); + in { + + compiler-rt-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic) + then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc + else stdenv; + }; + + compiler-rt-no-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRt + else stdenv; + }; + + # N.B. condition is safe because without useLLVM both are the same. + compiler-rt = if stdenv.hostPlatform.isAndroid || stdenv.hostPlatform.isDarwin + then libraries.compiler-rt-libc + else libraries.compiler-rt-no-libc; + + stdenv = overrideCC stdenv buildLlvmTools.clang; + + libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; + + # `libcxx` requires a fairly modern C++ compiler, + # so: we use the clang from this LLVM package set instead of the regular + # stdenv's compiler. + libcxx = callPackage ./libcxx { + inherit llvm_meta; + stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; + }; + + libunwind = callPackage ./libunwind { + inherit llvm_meta; + stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; + }; + + openmp = callPackage ./openmp { + inherit llvm_meta targetLlvm; + }; + }); + noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ]; + +in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools) diff --git a/pkgs/development/compilers/llvm/18/libcxx/0001-darwin-10.12-mbstate_t-fix.patch b/pkgs/development/compilers/llvm/18/libcxx/0001-darwin-10.12-mbstate_t-fix.patch new file mode 100644 index 000000000000..29942f8ed03d --- /dev/null +++ b/pkgs/development/compilers/llvm/18/libcxx/0001-darwin-10.12-mbstate_t-fix.patch @@ -0,0 +1,31 @@ +From 9c1cb26c1dd3f92d1c1177e548107d2cd3c5e616 Mon Sep 17 00:00:00 2001 +From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> +Date: Fri, 23 Feb 2024 22:58:58 +0000 +Subject: [PATCH] darwin 10.12 mbstate_t fix + +https://github.com/llvm/llvm-project/issues/64226 + +removes space from +https://github.com/macports/macports-ports/raw/acd8acb171f1658596ed1cf25da48d5b932e2d19/lang/llvm-17/files/0042-mbstate_t-not-defined.patch +so it applies cleanly +--- + libcxx/include/__mbstate_t.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/libcxx/include/__mbstate_t.h b/libcxx/include/__mbstate_t.h +index bfa6d61..5f51112 100644 +--- a/libcxx/include/__mbstate_t.h ++++ b/libcxx/include/__mbstate_t.h +@@ -42,6 +42,9 @@ + #elif __has_include(<bits/types/mbstate_t.h>) + # include <bits/types/mbstate_t.h> // works on most Unixes + #elif __has_include(<sys/_types/_mbstate_t.h>) ++# if __has_include(<machine/_types.h>) ++# include <machine/_types.h> ++# endif + # include <sys/_types/_mbstate_t.h> // works on Darwin + #elif !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) && __has_include_next(<wchar.h>) + # include_next <wchar.h> // fall back to the C standard provider of mbstate_t +-- +2.43.0 + diff --git a/pkgs/development/compilers/llvm/18/libcxx/default.nix b/pkgs/development/compilers/llvm/18/libcxx/default.nix new file mode 100644 index 000000000000..d6c304c0b476 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/libcxx/default.nix @@ -0,0 +1,130 @@ +{ lib, stdenv, llvm_meta +, monorepoSrc, runCommand +, cmake, lndir, ninja, python3, fixDarwinDylibNames, version +, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null +, libcxxrt, libunwind +, enableShared ? !stdenv.hostPlatform.isStatic +}: + +# external cxxabi is not supported on Darwin as the build will not link libcxx +# properly and not re-export the cxxabi symbols into libcxx +# https://github.com/NixOS/nixpkgs/issues/166205 +# https://github.com/NixOS/nixpkgs/issues/269548 +assert cxxabi == null || !stdenv.hostPlatform.isDarwin; +let + basename = "libcxx"; + cxxabiName = "lib${if cxxabi == null then "cxxabi" else cxxabi.libName}"; + runtimes = [ "libcxx" ] ++ lib.optional (cxxabi == null) "libcxxabi"; + + # Note: useLLVM is likely false for Darwin but true under pkgsLLVM + useLLVM = stdenv.hostPlatform.useLLVM or false; + + cxxabiCMakeFlags = [ + "-DLIBCXXABI_USE_LLVM_UNWINDER=OFF" + ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ + "-DLIBCXXABI_ADDITIONAL_LIBRARIES=unwind" + "-DLIBCXXABI_USE_COMPILER_RT=ON" + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ + "-DLIBCXXABI_ENABLE_THREADS=OFF" + "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" + ] ++ lib.optionals (!enableShared) [ + "-DLIBCXXABI_ENABLE_SHARED=OFF" + ]; + + cxxCMakeFlags = [ + "-DLIBCXX_CXX_ABI=${cxxabiName}" + ] ++ lib.optionals (cxxabi != null) [ + "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${lib.getDev cxxabi}/include" + ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) [ + "-DLIBCXX_HAS_MUSL_LIBC=1" + ] ++ lib.optionals (lib.versionAtLeast version "18" && !useLLVM && stdenv.hostPlatform.libc == "glibc" && !stdenv.hostPlatform.isStatic) [ + "-DLIBCXX_ADDITIONAL_LIBRARIES=gcc_s" + ] ++ lib.optionals useLLVM [ + "-DLIBCXX_USE_COMPILER_RT=ON" + # There's precedent for this in llvm-project/libcxx/cmake/caches. + # In a monorepo build you might do the following in the libcxxabi build: + # -DLLVM_ENABLE_PROJECTS=libcxxabi;libunwinder + # -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=On + # libcxx appears to require unwind and doesn't pull it in via other means. + "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind" + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ + "-DLIBCXX_ENABLE_THREADS=OFF" + "-DLIBCXX_ENABLE_FILESYSTEM=OFF" + "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" + ] ++ lib.optionals (!enableShared) [ + "-DLIBCXX_ENABLE_SHARED=OFF" + ]; + + cmakeFlags = [ + "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" runtimes}" + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ + "-DCMAKE_C_COMPILER_WORKS=ON" + "-DCMAKE_CXX_COMPILER_WORKS=ON" + "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker + ] ++ cxxCMakeFlags + ++ lib.optionals (cxxabi == null) cxxabiCMakeFlags; + +in + +stdenv.mkDerivation rec { + pname = basename; + inherit version cmakeFlags; + + src = runCommand "${pname}-src-${version}" {} ('' + mkdir -p "$out/llvm" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/libcxx "$out" + cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" + cp -r ${monorepoSrc}/llvm/utils "$out/llvm" + cp -r ${monorepoSrc}/third-party "$out" + cp -r ${monorepoSrc}/runtimes "$out" + '' + lib.optionalString (cxxabi == null) '' + cp -r ${monorepoSrc}/libcxxabi "$out" + ''); + + outputs = [ "out" "dev" ]; + + patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ + # https://github.com/llvm/llvm-project/issues/64226 + ./0001-darwin-10.12-mbstate_t-fix.patch + ]; + + postPatch = '' + cd runtimes + ''; + + preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' + patchShebangs utils/cat_files.py + ''; + + nativeBuildInputs = [ cmake ninja python3 ] + ++ lib.optional stdenv.isDarwin fixDarwinDylibNames + ++ lib.optional (cxxabi != null) lndir; + + buildInputs = [ cxxabi ] + ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; + + # libc++.so is a linker script which expands to multiple libraries, + # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't + # support linker scripts so the external cxxabi needs to be symlinked in + postInstall = lib.optionalString (cxxabi != null) '' + lndir ${lib.getDev cxxabi}/include ''${!outputDev}/include/c++/v1 + lndir ${lib.getLib cxxabi}/lib ''${!outputLib}/lib + ''; + + passthru = { + isLLVM = true; + }; + + meta = llvm_meta // { + homepage = "https://libcxx.llvm.org/"; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/18/libunwind/default.nix b/pkgs/development/compilers/llvm/18/libunwind/default.nix new file mode 100644 index 000000000000..e67823ffb85c --- /dev/null +++ b/pkgs/development/compilers/llvm/18/libunwind/default.nix @@ -0,0 +1,54 @@ +{ lib, stdenv, llvm_meta, version +, monorepoSrc, runCommand +, cmake +, ninja +, python3 +, enableShared ? !stdenv.hostPlatform.isStatic +}: + +stdenv.mkDerivation rec { + pname = "libunwind"; + inherit version; + + # I am not so comfortable giving libc++ and friends the whole monorepo as + # requested, so I filter it to what is needed. + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + mkdir -p "$out/libcxx" + cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx" + cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx" + mkdir -p "$out/llvm" + cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" + cp -r ${monorepoSrc}/llvm/utils "$out/llvm" + cp -r ${monorepoSrc}/runtimes "$out" + ''; + + sourceRoot = "${src.name}/runtimes"; + + postInstall = lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin) '' + # libcxxabi wants to link to libunwind_shared.so (?). + ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so + ''; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ cmake ninja python3 ]; + + cmakeFlags = [ + "-DLLVM_ENABLE_RUNTIMES=libunwind" + ] ++ lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. + ''; + }; +} diff --git a/pkgs/development/compilers/llvm/18/lld/default.nix b/pkgs/development/compilers/llvm/18/lld/default.nix new file mode 100644 index 000000000000..24ff0933dd1d --- /dev/null +++ b/pkgs/development/compilers/llvm/18/lld/default.nix @@ -0,0 +1,57 @@ +{ lib, stdenv, llvm_meta +, buildLlvmTools +, monorepoSrc, runCommand +, cmake +, ninja +, libxml2 +, libllvm +, version +}: + +stdenv.mkDerivation rec { + pname = "lld"; + inherit version; + + # Blank llvm dir just so relative path works + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + mkdir -p "$out/libunwind" + cp -r ${monorepoSrc}/libunwind/include "$out/libunwind" + mkdir -p "$out/llvm" + ''; + + sourceRoot = "${src.name}/${pname}"; + + nativeBuildInputs = [ cmake ninja ]; + buildInputs = [ libllvm libxml2 ]; + + patches = [ + ./gnu-install-dirs.patch + ]; + + cmakeFlags = [ + "-DLLD_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/lld" + ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" + ]; + + # Musl's default stack size is too small for lld to be able to link Firefox. + LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152"; + + outputs = [ "out" "lib" "dev" ]; + + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker (unwrapped)"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and + WebAssembly in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; + }; +} diff --git a/pkgs/development/compilers/llvm/18/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/18/lld/gnu-install-dirs.patch new file mode 100644 index 000000000000..6c73a240ab6d --- /dev/null +++ b/pkgs/development/compilers/llvm/18/lld/gnu-install-dirs.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake +index d3924f7243d4..42a7cd62281c 100644 +--- a/cmake/modules/AddLLD.cmake ++++ b/cmake/modules/AddLLD.cmake +@@ -18,8 +18,8 @@ macro(add_lld_library name) + install(TARGETS ${name} + COMPONENT ${name} + ${export_to_lldtargets} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) diff --git a/pkgs/development/compilers/llvm/18/lldb/cpu_subtype_arm64e_replacement.patch b/pkgs/development/compilers/llvm/18/lldb/cpu_subtype_arm64e_replacement.patch new file mode 100644 index 000000000000..20d35c9f3ea9 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/lldb/cpu_subtype_arm64e_replacement.patch @@ -0,0 +1,12 @@ +diff --git a/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/source/Host/macosx/objcxx/HostInfoMacOSX.mm +--- a/source/Host/macosx/objcxx/HostInfoMacOSX.mm ++++ b/source/Host/macosx/objcxx/HostInfoMacOSX.mm +@@ -233,7 +233,7 @@ void HostInfoMacOSX::ComputeHostArchitectureSupport(ArchSpec &arch_32, + len = sizeof(is_64_bit_capable); + ::sysctlbyname("hw.cpu64bit_capable", &is_64_bit_capable, &len, NULL, 0); + +- if (cputype == CPU_TYPE_ARM64 && cpusubtype == CPU_SUBTYPE_ARM64E) { ++ if (cputype == CPU_TYPE_ARM64 && cpusubtype == ((cpu_subtype_t) 2)) { // CPU_SUBTYPE_ARM64E is not available in the macOS 10.12 headers + // The arm64e architecture is a preview. Pretend the host architecture + // is arm64. + cpusubtype = CPU_SUBTYPE_ARM64_ALL; diff --git a/pkgs/development/compilers/llvm/18/lldb/procfs.patch b/pkgs/development/compilers/llvm/18/lldb/procfs.patch new file mode 100644 index 000000000000..7b200e86505c --- /dev/null +++ b/pkgs/development/compilers/llvm/18/lldb/procfs.patch @@ -0,0 +1,46 @@ +--- a/source/Plugins/Process/Linux/Procfs.h ++++ b/source/Plugins/Process/Linux/Procfs.h +@@ -10,6 +10,13 @@ + // sys/procfs.h on Android/Linux for all supported architectures. + + #include <sys/ptrace.h> ++#include <asm/ptrace.h> ++ ++// on i686 preprocessor symbols with these register names are defined as ++// numeric constants; these symbols clash with identifier names used in ++// `llvm/Support/VirtualFileSystem.h` and `llvm/ADT/SmallVector.h` ++#undef FS ++#undef CS + + #include "lldb/lldb-types.h" + +@@ -17,23 +24,13 @@ + + #include <vector> + +-#ifdef __ANDROID__ +-#if defined(__arm64__) || defined(__aarch64__) +-typedef unsigned long elf_greg_t; +-typedef elf_greg_t +- elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))]; +-typedef struct user_fpsimd_state elf_fpregset_t; +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#elif defined(__mips__) +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#endif +-#else // __ANDROID__ ++#if !defined(__GLIBC__) && defined(__powerpc__) ++#define pt_regs musl_pt_regs ++#include <sys/procfs.h> ++#undef pt_regs ++#else + #include <sys/procfs.h> +-#endif // __ANDROID__ ++#endif + + namespace lldb_private { + namespace process_linux { diff --git a/pkgs/development/compilers/llvm/18/llvm/default.nix b/pkgs/development/compilers/llvm/18/llvm/default.nix new file mode 100644 index 000000000000..670171a707f9 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/llvm/default.nix @@ -0,0 +1,439 @@ +{ lib, stdenv, llvm_meta +, pkgsBuildBuild +, monorepoSrc +, runCommand +, cmake +, darwin +, ninja +, python3 +, python3Packages +, libffi +, enableGoldPlugin ? true +, libbfd +, libpfm +, libxml2 +, ncurses +, version +, release_version +, zlib +, which +, sysctl +, buildLlvmTools +, debugVersion ? false +, doCheck ? (!stdenv.isx86_32 /* TODO: why */) && (!stdenv.hostPlatform.isMusl) + && (stdenv.hostPlatform == stdenv.buildPlatform) +, enableManpages ? false +, enableSharedLibraries ? !stdenv.hostPlatform.isStatic +, enablePFM ? stdenv.isLinux /* PFM only supports Linux */ + # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 + # broken for the armv7l builder + && !stdenv.hostPlatform.isAarch +, enablePolly ? true +}: + +let + inherit (lib) optional optionals optionalString; + + # Used when creating a version-suffixed symlink of libLLVM.dylib + shortVersion = with lib; + concatStringsSep "." (take 1 (splitString "." release_version)); + + # Ordinarily we would just the `doCheck` and `checkDeps` functionality + # `mkDerivation` gives us to manage our test dependencies (instead of breaking + # out `doCheck` as a package level attribute). + # + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in + # particular the children it uses to do feature detection. + # + # This means that python deps we add to `checkDeps` (which the python + # interpreter is made aware of via `$PYTHONPATH` – populated by the python + # setup hook) are not picked up by `lit` which causes it to skip tests. + # + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work + # because this package is shadowed in `$PATH` by the regular `python3` + # package. + # + # So, we "manually" assemble one python derivation for the package to depend + # on, taking into account whether checks are enabled or not: + python = if doCheck then + # Note that we _explicitly_ ask for a python interpreter for our host + # platform here; the splicing that would ordinarily take care of this for + # us does not seem to work once we use `withPackages`. + let + checkDeps = ps: with ps; [ psutil ]; + in pkgsBuildBuild.targetPackages.python3.withPackages checkDeps + else python3; + +in + +stdenv.mkDerivation (rec { + pname = "llvm"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} ('' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + cp -r ${monorepoSrc}/third-party "$out" + '' + lib.optionalString enablePolly '' + chmod u+w "$out/${pname}/tools" + cp -r ${monorepoSrc}/polly "$out/${pname}/tools" + ''); + + sourceRoot = "${src.name}/${pname}"; + + outputs = [ "out" "lib" "dev" "python" ]; + + nativeBuildInputs = [ cmake ninja python ] + ++ optionals enableManpages [ + # Note: we intentionally use `python3Packages` instead of `python3.pkgs`; + # splicing does *not* work with the latter. (TODO: fix) + python3Packages.sphinx + ] ++ optionals (lib.versionOlder version "18" && enableManpages) [ + python3Packages.recommonmark + ] ++ optionals (lib.versionAtLeast version "18" && enableManpages) [ + python3Packages.myst-parser + ]; + + buildInputs = [ libxml2 libffi ] + ++ optional enablePFM libpfm; # exegesis + + propagatedBuildInputs = [ ncurses zlib ]; + + nativeCheckInputs = [ + which + ] ++ lib.optional stdenv.isDarwin sysctl; + + patches = [ + ./gnu-install-dirs.patch + + # Running the tests involves invoking binaries (like `opt`) that depend on + # the LLVM dylibs and reference them by absolute install path (i.e. their + # nix store path). + # + # Because we have not yet run the install phase (we're running these tests + # as part of `checkPhase` instead of `installCheckPhase`) these absolute + # paths do not exist yet; to work around this we point the loader (`ld` on + # unix, `dyld` on macOS) at the `lib` directory which will later become this + # package's `lib` output. + # + # Previously we would just set `LD_LIBRARY_PATH` to include the build `lib` + # dir but: + # - this doesn't generalize well to other platforms; `lit` doesn't forward + # `DYLD_LIBRARY_PATH` (macOS): + # + https://github.com/llvm/llvm-project/blob/0d89963df354ee309c15f67dc47c8ab3cb5d0fb2/llvm/utils/lit/lit/TestingConfig.py#L26 + # - even if `lit` forwarded this env var, we actually cannot set + # `DYLD_LIBRARY_PATH` in the child processes `lit` launches because + # `DYLD_LIBRARY_PATH` (and `DYLD_FALLBACK_LIBRARY_PATH`) is cleared for + # "protected processes" (i.e. the python interpreter that runs `lit`): + # https://stackoverflow.com/a/35570229 + # - other LLVM subprojects deal with this issue by having their `lit` + # configuration set these env vars for us; it makes sense to do the same + # for LLVM: + # + https://github.com/llvm/llvm-project/blob/4c106cfdf7cf7eec861ad3983a3dd9a9e8f3a8ae/clang-tools-extra/test/Unit/lit.cfg.py#L22-L31 + # + # !!! TODO: look into upstreaming this patch + ./llvm-lit-cfg-add-libs-to-dylib-path.patch + + # `lit` has a mode where it executes run lines as a shell script which is + # constructs; this is problematic for macOS because it means that there's + # another process in between `lit` and the binaries being tested. As noted + # above, this means that `DYLD_LIBRARY_PATH` is cleared which means that our + # tests fail with dyld errors. + # + # To get around this we patch `lit` to reintroduce `DYLD_LIBRARY_PATH`, when + # present in the test configuration. + # + # It's not clear to me why this isn't an issue for LLVM developers running + # on macOS (nothing about this _seems_ nix specific).. + ./lit-shell-script-runner-set-dyld-library-path.patch + ] ++ lib.optionals enablePolly [ + ./gnu-install-dirs-polly.patch + + # Just like the `llvm-lit-cfg` patch, but for `polly`. + ./polly-lit-cfg-add-libs-to-dylib-path.patch + ]; + + postPatch = optionalString stdenv.isDarwin '' + substituteInPlace cmake/modules/AddLLVM.cmake \ + --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ + --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' "" + + # As of LLVM 15, marked as XFAIL on arm64 macOS but lit doesn't seem to pick + # this up: https://github.com/llvm/llvm-project/blob/c344d97a125b18f8fed0a64aace73c49a870e079/llvm/test/MC/ELF/cfi-version.ll#L7 + rm test/MC/ELF/cfi-version.ll + + # This test tries to call `sw_vers` by absolute path (`/usr/bin/sw_vers`) + # and thus fails under the sandbox: + substituteInPlace unittests/TargetParser/Host.cpp \ + --replace '/usr/bin/sw_vers' "${(builtins.toString darwin.DarwinTools) + "/bin/sw_vers" }" + + # This test tries to call the intrinsics `@llvm.roundeven.f32` and + # `@llvm.roundeven.f64` which seem to (incorrectly?) lower to `roundevenf` + # and `roundeven` on macOS. + # + # However these functions are glibc specific so the test fails: + # - https://www.gnu.org/software/gnulib/manual/html_node/roundevenf.html + # - https://www.gnu.org/software/gnulib/manual/html_node/roundeven.html + # + substituteInPlace test/ExecutionEngine/Interpreter/intrinsics.ll \ + --replace "%roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00)" "" \ + --replace "%roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00)" "" + + # fails when run in sandbox + substituteInPlace unittests/Support/VirtualFileSystemTest.cpp \ + --replace "PhysicalFileSystemWorkingDirFailure" "DISABLED_PhysicalFileSystemWorkingDirFailure" + '' + optionalString (stdenv.isDarwin && stdenv.hostPlatform.isx86) '' + # This test fails on darwin x86_64 because `sw_vers` reports a different + # macOS version than what LLVM finds by reading + # `/System/Library/CoreServices/SystemVersion.plist` (which is passed into + # the sandbox on macOS). + # + # The `sw_vers` provided by nixpkgs reports the macOS version associated + # with the `CoreFoundation` framework with which it was built. Because + # nixpkgs pins the SDK for `aarch64-darwin` and `x86_64-darwin` what + # `sw_vers` reports is not guaranteed to match the macOS version of the host + # that's building this derivation. + # + # Astute readers will note that we only _patch_ this test on aarch64-darwin + # (to use the nixpkgs provided `sw_vers`) instead of disabling it outright. + # So why does this test pass on aarch64? + # + # Well, it seems that `sw_vers` on aarch64 actually links against the _host_ + # CoreFoundation framework instead of the nixpkgs provided one. + # + # Not entirely sure what the right fix is here. I'm assuming aarch64 + # `sw_vers` doesn't intentionally link against the host `CoreFoundation` + # (still digging into how this ends up happening, will follow up) but that + # aside I think the more pertinent question is: should we be patching LLVM's + # macOS version detection logic to use `sw_vers` instead of reading host + # paths? This *is* a way in which details about builder machines can creep + # into the artifacts that are produced, affecting reproducibility, but it's + # not clear to me when/where/for what this even gets used in LLVM. + # + # TODO(@rrbutani): fix/follow-up + substituteInPlace unittests/TargetParser/Host.cpp \ + --replace "getMacOSHostVersion" "DISABLED_getMacOSHostVersion" + + # This test fails with a `dysmutil` crash; have not yet dug into what's + # going on here (TODO(@rrbutani)). + rm test/tools/dsymutil/ARM/obfuscated.test + '' + '' + # FileSystem permissions tests fail with various special bits + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "Path.cpp" "" + rm unittests/Support/Path.cpp + substituteInPlace unittests/IR/CMakeLists.txt \ + --replace "PassBuilderCallbacksTest.cpp" "" + rm unittests/IR/PassBuilderCallbacksTest.cpp + rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test + + # Fails in the presence of anti-virus software or other intrusion-detection software that + # modifies the atime when run. See #284056. + rm test/tools/llvm-objcopy/ELF/strip-preserve-atime.test + '' + optionalString stdenv.hostPlatform.isMusl '' + patch -p1 -i ${../../common/llvm/TLI-musl.patch} + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "add_subdirectory(DynamicLibrary)" "" + rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp + # valgrind unhappy with musl or glibc, but fails w/musl only + rm test/CodeGen/AArch64/wineh4.mir + '' + optionalString stdenv.hostPlatform.isAarch32 '' + # skip failing X86 test cases on 32-bit ARM + rm test/DebugInfo/X86/convert-debugloc.ll + rm test/DebugInfo/X86/convert-inlined.ll + rm test/DebugInfo/X86/convert-linked.ll + rm test/tools/dsymutil/X86/op-convert.test + rm test/tools/gold/X86/split-dwarf.ll + rm test/tools/llvm-dwarfdump/X86/prettyprint_types.s + rm test/tools/llvm-dwarfdump/X86/simplified-template-names.s + rm test/CodeGen/RISCV/attributes.ll + rm test/CodeGen/RISCV/xtheadmempair.ll + '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") '' + # Seems to require certain floating point hardware (NEON?) + rm test/ExecutionEngine/frem.ll + '' + '' + patchShebangs test/BugPoint/compile-custom.ll.py + ''; + + preConfigure = '' + # Workaround for configure flags that need to have spaces + cmakeFlagsArray+=( + -DLLVM_LIT_ARGS="-svj''${NIX_BUILD_CORES} --no-progress-bar" + ) + ''; + + # Defensive check: some paths (that we make symlinks to) depend on the release + # version, for example: + # - https://github.com/llvm/llvm-project/blob/406bde9a15136254f2b10d9ef3a42033b3cb1b16/clang/lib/Headers/CMakeLists.txt#L185 + # + # So we want to sure that the version in the source matches the release + # version we were given. + # + # We do this check here, in the LLVM build, because it happens early. + postConfigure = let + v = lib.versions; + major = v.major release_version; + minor = v.minor release_version; + patch = v.patch release_version; + in '' + # $1: part, $2: expected + check_version() { + part="''${1^^}" + part="$(cat include/llvm/Config/llvm-config.h | grep "#define LLVM_VERSION_''${part} " | cut -d' ' -f3)" + + if [[ "$part" != "$2" ]]; then + echo >&2 \ + "mismatch in the $1 version! we have version ${release_version}" \ + "and expected the $1 version to be '$2'; the source has '$part' instead" + exit 3 + fi + } + + check_version major ${major} + check_version minor ${minor} + check_version patch ${patch} + ''; + + # E.g. mesa.drivers use the build-id as a cache key (see #93946): + LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1"; + + hardeningDisable = [ "trivialautovarinit" ]; + + cmakeBuildType = if debugVersion then "Debug" else "Release"; + + cmakeFlags = with stdenv; let + # These flags influence llvm-config's BuildVariables.inc in addition to the + # general build. We need to make sure these are also passed via + # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native + # will return different results from the cross llvm-config. + # + # Some flags don't need to be repassed because LLVM already does so (like + # CMAKE_BUILD_TYPE), others are irrelevant to the result. + flagsForLlvmConfig = [ + "-DLLVM_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/llvm" + "-DLLVM_ENABLE_RTTI=ON" + ] ++ optionals enableSharedLibraries [ + "-DLLVM_LINK_LLVM_DYLIB=ON" + ]; + in flagsForLlvmConfig ++ [ + "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc + "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + "-DLLVM_ENABLE_DUMP=ON" + ] ++ optionals stdenv.hostPlatform.isStatic [ + # Disables building of shared libs, -fPIC is still injected by cc-wrapper + "-DLLVM_ENABLE_PIC=OFF" + "-DLLVM_BUILD_STATIC=ON" + "-DLLVM_LINK_LLVM_DYLIB=off" + # libxml2 needs to be disabled because the LLVM build system ignores its .la + # file and doesn't link zlib as well. + # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812 + "-DLLVM_ENABLE_LIBXML2=OFF" + ] ++ optionals enableManpages [ + "-DLLVM_BUILD_DOCS=ON" + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] ++ optionals enableGoldPlugin [ + "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" + ] ++ optionals isDarwin [ + "-DLLVM_ENABLE_LIBCXX=ON" + "-DCAN_TARGET_i386=false" + ] ++ optionals ((stdenv.hostPlatform != stdenv.buildPlatform) && !(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) [ + "-DCMAKE_CROSSCOMPILING=True" + "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen" + ( + let + nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc; + nativeBintools = nativeCC.bintools.bintools; + nativeToolchainFlags = [ + "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc" + "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++" + "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar" + "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip" + "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib" + ]; + # We need to repass the custom GNUInstallDirs values, otherwise CMake + # will choose them for us, leading to wrong results in llvm-config-native + nativeInstallFlags = [ + "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" + "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin" + "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include" + "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib" + "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec" + ]; + in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=" + + lib.concatStringsSep ";" (lib.concatLists [ + flagsForLlvmConfig + nativeToolchainFlags + nativeInstallFlags + ]) + ) + ]; + + postInstall = '' + mkdir -p $python/share + mv $out/share/opt-viewer $python/share/opt-viewer + moveToOutput "bin/llvm-config*" "$dev" + substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ + --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \ + --replace "$out/bin/llvm-config" "$dev/bin/llvm-config" + substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \ + --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "'"$lib"'")' + '' + + optionalString (stdenv.isDarwin && enableSharedLibraries) '' + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + '' + + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native + ''; + + inherit doCheck; + + checkTarget = "check-all"; + + # For the update script: + passthru.monorepoSrc = monorepoSrc; + + requiredSystemFeatures = [ "big-parallel" ]; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; + }; +} // lib.optionalAttrs enableManpages { + pname = "llvm-manpages"; + + propagatedBuildInputs = []; + + ninjaFlags = [ "docs-llvm-man" ]; + installTargets = [ "install-docs-llvm-man" ]; + + postPatch = null; + postInstall = null; + + outputs = [ "out" ]; + + doCheck = false; + + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; +}) diff --git a/pkgs/development/compilers/llvm/18/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/18/llvm/gnu-install-dirs-polly.patch new file mode 100644 index 000000000000..6a359bdbefde --- /dev/null +++ b/pkgs/development/compilers/llvm/18/llvm/gnu-install-dirs-polly.patch @@ -0,0 +1,13 @@ +--- a/tools/polly/cmake/polly_macros.cmake 2024-03-15 17:36:20.550893344 -0700 ++++ b/tools/polly/cmake/polly_macros.cmake 2024-03-15 17:37:06.277332960 -0700 +@@ -45,8 +45,8 @@ + install(TARGETS ${name} + COMPONENT ${name} + EXPORT LLVMExports +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) + add_llvm_install_targets(install-${name} + COMPONENT ${name}) + endif() diff --git a/pkgs/development/compilers/llvm/18/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/18/llvm/gnu-install-dirs.patch new file mode 100644 index 000000000000..8b89839490ba --- /dev/null +++ b/pkgs/development/compilers/llvm/18/llvm/gnu-install-dirs.patch @@ -0,0 +1,137 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 471817d68286..c51463304159 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1010,7 +1010,7 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "") + add_subdirectory(${TENSORFLOW_AOT_PATH}/xla_aot_runtime_src + ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/tf_runtime) + install(TARGETS tf_xla_runtime EXPORT LLVMExports +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) + set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS tf_xla_runtime) + # Once we add more modules, we should handle this more automatically. + if (DEFINED LLVM_OVERRIDE_MODEL_HEADER_INLINERSIZEMODEL) +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index 230620c37027..dd16cab1835e 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -876,8 +876,8 @@ macro(add_llvm_library name) + get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella}) + install(TARGETS ${name} + ${export_to_llvmexports} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name} ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) + + if (NOT LLVM_ENABLE_IDE) +@@ -2069,7 +2069,7 @@ function(llvm_install_library_symlink name dest type) + set(LLVM_LINK_OR_COPY copy) + endif() + +- set(output_dir lib${LLVM_LIBDIR_SUFFIX}) ++ set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) + if(WIN32 AND "${type}" STREQUAL "SHARED") + set(output_dir "${CMAKE_INSTALL_BINDIR}") + endif() +@@ -2344,16 +2344,37 @@ function(llvm_setup_rpath name) + + if (APPLE) + set(_install_name_dir INSTALL_NAME_DIR "@rpath") +- set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath ${extra_libdir}) + elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS) + # $ORIGIN is not interpreted at link time by aix ld. + # Since BUILD_SHARED_LIBS is only recommended for use by developers, + # hardcode the rpath to build/install lib dir first in this mode. + # FIXME: update this when there is better solution. +- set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) + elseif(UNIX) +- set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) +- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}") ++ # Note that we add `extra_libdir` (aka `LLVM_LIBRARY_DIR` in our case) back ++ # to `_install_rpath` here. ++ # ++ # In nixpkgs we do not build and install LLVM alongside rdeps of LLVM (i.e. ++ # clang); instead LLVM is its own package and thus lands at its own nix ++ # store path. This makes it so that the default relative rpath (`../lib/`) ++ # does not point at the LLVM shared objects. ++ # ++ # More discussion here: ++ # - https://github.com/NixOS/nixpkgs/pull/235624#discussion_r1220150329 ++ # - https://reviews.llvm.org/D146918 (16.0.5+) ++ # ++ # Note that we leave `extra_libdir` in `_build_rpath`: without FHS there is ++ # no potential that this will result in us pulling in the "wrong" LLVM. ++ # Adding this to the build rpath means we aren't forced to use ++ # `installCheckPhase` instead of `checkPhase` (i.e. binaries in the build ++ # dir, pre-install, will have the right rpath for LLVM). ++ # ++ # As noted in the differential above, an alternative solution is to have ++ # all rdeps of nixpkgs' LLVM (that use the AddLLVM.cmake machinery) set ++ # `CMAKE_INSTALL_RPATH`. ++ set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath ${extra_libdir}) + if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") + set_property(TARGET ${name} APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-z,origin ") +diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake +index 891c9e6d618c..8d963f3b0069 100644 +--- a/cmake/modules/AddOCaml.cmake ++++ b/cmake/modules/AddOCaml.cmake +@@ -147,9 +147,9 @@ function(add_ocaml_library name) + endforeach() + + if( APPLE ) +- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath ${LLVM_LIBRARY_DIR}) + elseif( UNIX ) +- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath ${LLVM_LIBRARY_DIR}) + endif() + list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") + +diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt +index d99af79aa38e..21e794224b99 100644 +--- a/cmake/modules/CMakeLists.txt ++++ b/cmake/modules/CMakeLists.txt +@@ -127,7 +127,7 @@ set(LLVM_CONFIG_INCLUDE_DIRS + ) + list(REMOVE_DUPLICATES LLVM_CONFIG_INCLUDE_DIRS) + +-extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "lib\${LLVM_LIBDIR_SUFFIX}") ++extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") + set(LLVM_CONFIG_LIBRARY_DIRS + "${LLVM_CONFIG_LIBRARY_DIR}" + # FIXME: Should there be other entries here? +diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in +index 370005cd8d7d..7e790bc52111 100644 +--- a/tools/llvm-config/BuildVariables.inc.in ++++ b/tools/llvm-config/BuildVariables.inc.in +@@ -23,6 +23,7 @@ + #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" + #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" + #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" ++#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" + #define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" + #define LLVM_INSTALL_PACKAGE_DIR "@LLVM_INSTALL_PACKAGE_DIR@" + #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" +diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp +index e86eb2b44b10..f63e207e792e 100644 +--- a/tools/llvm-config/llvm-config.cpp ++++ b/tools/llvm-config/llvm-config.cpp +@@ -366,7 +366,11 @@ int main(int argc, char **argv) { + sys::fs::make_absolute(ActivePrefix, Path); + ActiveBinDir = std::string(Path.str()); + } +- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; ++ { ++ SmallString<256> Path(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX); ++ sys::fs::make_absolute(ActivePrefix, Path); ++ ActiveLibDir = std::string(Path.str()); ++ } + { + SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR); + sys::fs::make_absolute(ActivePrefix, Path); diff --git a/pkgs/development/compilers/llvm/18/llvm/lit-shell-script-runner-set-dyld-library-path.patch b/pkgs/development/compilers/llvm/18/llvm/lit-shell-script-runner-set-dyld-library-path.patch new file mode 100644 index 000000000000..e4f049f4b177 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/llvm/lit-shell-script-runner-set-dyld-library-path.patch @@ -0,0 +1,12 @@ +--- a/utils/lit/lit/TestRunner.py 2024-03-15 17:27:53.170780798 -0700 ++++ b/utils/lit/lit/TestRunner.py 2024-03-15 17:28:43.277447791 -0700 +@@ -1183,6 +1183,9 @@ + f.write("@echo on\n") + f.write("\n@if %ERRORLEVEL% NEQ 0 EXIT\n".join(commands)) + else: ++ if "DYLD_LIBRARY_PATH" in test.config.environment: ++ f.write(f'export DYLD_LIBRARY_PATH="{test.config.environment["DYLD_LIBRARY_PATH"]}"\n') ++ + for i, ln in enumerate(commands): + match = re.fullmatch(kPdbgRegex, ln) + if match: diff --git a/pkgs/development/compilers/llvm/18/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/18/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch new file mode 100644 index 000000000000..d4ccb2ae9822 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch @@ -0,0 +1,80 @@ +diff --git a/test/Unit/lit.cfg.py b/test/Unit/lit.cfg.py +index 81e8dc04acea..479ff95681e2 100644 +--- a/test/Unit/lit.cfg.py ++++ b/test/Unit/lit.cfg.py +@@ -3,6 +3,7 @@ + # Configuration file for the 'lit' test runner. + + import os ++import platform + import subprocess + + import lit.formats +@@ -55,3 +56,26 @@ if sys.platform in ["win32", "cygwin"] and os.path.isdir(config.shlibdir): + # Win32 may use %SYSTEMDRIVE% during file system shell operations, so propogate. + if sys.platform == "win32" and "SYSTEMDRIVE" in os.environ: + config.environment["SYSTEMDRIVE"] = os.environ["SYSTEMDRIVE"] ++ ++# Add the LLVM dynamic libs to the platform-specific loader search path env var: ++# ++# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify.. ++def find_shlibpath_var(): ++ if platform.system() in ["Linux", "FreeBSD", "NetBSD", "OpenBSD", "SunOS"]: ++ yield "LD_LIBRARY_PATH" ++ elif platform.system() == "Darwin": ++ yield "DYLD_LIBRARY_PATH" ++ elif platform.system() == "Windows": ++ yield "PATH" ++ elif platform.system() == "AIX": ++ yield "LIBPATH" ++ ++for shlibpath_var in find_shlibpath_var(): ++ shlibpath = os.path.pathsep.join( ++ (config.shlibdir, ++ config.environment.get(shlibpath_var, ''))) ++ config.environment[shlibpath_var] = shlibpath ++ break ++else: ++ lit_config.warning("unable to inject shared library path on '{}'" ++ .format(platform.system())) +diff --git a/test/lit.cfg.py b/test/lit.cfg.py +index 75a38b4c5dad..856fc75c9d74 100644 +--- a/test/lit.cfg.py ++++ b/test/lit.cfg.py +@@ -42,6 +42,26 @@ llvm_config.with_environment("PATH", config.llvm_tools_dir, append_path=True) + llvm_config.with_system_environment( + ["HOME", "INCLUDE", "LIB", "TMP", "TEMP"]) + ++# Add the LLVM dynamic libs to the platform-specific loader search path env var: ++# ++# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify.. ++def find_shlibpath_var(): ++ if platform.system() in ["Linux", "FreeBSD", "NetBSD", "OpenBSD", "SunOS"]: ++ yield "LD_LIBRARY_PATH" ++ elif platform.system() == "Darwin": ++ yield "DYLD_LIBRARY_PATH" ++ elif platform.system() == "Windows": ++ yield "PATH" ++ elif platform.system() == "AIX": ++ yield "LIBPATH" ++ ++for shlibpath_var in find_shlibpath_var(): ++ shlibpath = config.llvm_shlib_dir ++ llvm_config.with_environment(shlibpath_var, shlibpath, append_path = True) ++ break ++else: ++ lit_config.warning("unable to inject shared library path on '{}'" ++ .format(platform.system())) + + # Set up OCAMLPATH to include newly built OCaml libraries. + top_ocaml_lib = os.path.join(config.llvm_lib_dir, "ocaml") +@@ -318,7 +338,7 @@ def have_cxx_shared_library(): + + try: + readobj_cmd = subprocess.Popen( +- [readobj_exe, "--needed-libs", readobj_exe], stdout=subprocess.PIPE ++ [readobj_exe, "--needed-libs", readobj_exe], stdout=subprocess.PIPE, env=config.environment + ) + except OSError: + print("could not exec llvm-readobj") + diff --git a/pkgs/development/compilers/llvm/18/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/18/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch new file mode 100644 index 000000000000..1354ad267314 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch @@ -0,0 +1,24 @@ +diff --git a/tools/polly/test/lit.cfg b/tools/polly/test/lit.cfg +index 41e3a589c61e..09f3b17498b0 100644 +--- a/tools/polly/test/lit.cfg ++++ b/tools/polly/test/lit.cfg +@@ -36,9 +36,17 @@ base_paths = [config.llvm_tools_dir, config.environment['PATH']] + path = os.path.pathsep.join(base_paths + config.extra_paths) + config.environment['PATH'] = path + ++# (Copied from polly/test/Unit/lit.cfg) ++if platform.system() == 'Darwin': ++ shlibpath_var = 'DYLD_LIBRARY_PATH' ++elif platform.system() == 'Windows': ++ shlibpath_var = 'PATH' ++else: ++ shlibpath_var = 'LD_LIBRARY_PATH' ++ + path = os.path.pathsep.join((config.llvm_libs_dir, +- config.environment.get('LD_LIBRARY_PATH',''))) +-config.environment['LD_LIBRARY_PATH'] = path ++ config.environment.get(shlibpath_var,''))) ++config.environment[shlibpath_var] = path + + llvm_config.use_default_substitutions() + diff --git a/pkgs/development/compilers/llvm/18/openmp/default.nix b/pkgs/development/compilers/llvm/18/openmp/default.nix new file mode 100644 index 000000000000..e1c3c2379af2 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/openmp/default.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, llvm_meta +, monorepoSrc +, runCommand +, cmake +, ninja +, llvm +, targetLlvm +, lit +, clang-unwrapped +, perl +, pkg-config +, xcbuild +, version +}: + +stdenv.mkDerivation rec { + pname = "openmp"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + ''; + + sourceRoot = "${src.name}/${pname}"; + + patches = [ + ./fix-find-tool.patch + ./run-lit-directly.patch + ]; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ cmake ninja perl pkg-config lit ]; + buildInputs = [ + (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm) + ]; + + nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin xcbuild.xcrun; + + # Unsup:Pass:XFail:Fail + # 26:267:16:8 + doCheck = false; + checkTarget = "check-openmp"; + + preCheck = '' + patchShebangs ../tools/archer/tests/deflake.bash + ''; + + cmakeFlags = [ + "-DCLANG_TOOL=${clang-unwrapped}/bin/clang" + "-DOPT_TOOL=${llvm}/bin/opt" + "-DLINK_TOOL=${llvm}/bin/llvm-link" + ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/18/openmp/fix-find-tool.patch b/pkgs/development/compilers/llvm/18/openmp/fix-find-tool.patch new file mode 100644 index 000000000000..b7f51196f7ba --- /dev/null +++ b/pkgs/development/compilers/llvm/18/openmp/fix-find-tool.patch @@ -0,0 +1,17 @@ +diff --git a/libomptarget/DeviceRTL/CMakeLists.txt b/libomptarget/DeviceRTL/CMakeLists.txt +index 630947abec7e..9f032dc7bd3f 100644 +--- a/libomptarget/DeviceRTL/CMakeLists.txt ++++ b/libomptarget/DeviceRTL/CMakeLists.txt +@@ -27,10 +27,10 @@ endif() + if (LLVM_DIR) + # Builds that use pre-installed LLVM have LLVM_DIR set. + # A standalone or LLVM_ENABLE_RUNTIMES=openmp build takes this route +- find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR}) + find_program(PACKAGER_TOOL clang-offload-packager PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) + find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) +- find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR}) + if ((NOT CLANG_TOOL) OR (NOT LINK_TOOL) OR (NOT OPT_TOOL) OR (NOT PACKAGER_TOOL)) + libomptarget_say("Not building DeviceRTL. Missing clang: ${CLANG_TOOL}, llvm-link: ${LINK_TOOL}, opt: ${OPT_TOOL}, or clang-offload-packager: ${PACKAGER_TOOL}") + return() diff --git a/pkgs/development/compilers/llvm/18/openmp/run-lit-directly.patch b/pkgs/development/compilers/llvm/18/openmp/run-lit-directly.patch new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/pkgs/development/compilers/llvm/18/openmp/run-lit-directly.patch diff --git a/pkgs/development/compilers/llvm/git/clang/default.nix b/pkgs/development/compilers/llvm/git/clang/default.nix index 01b33c540ca2..1e777c6132e4 100644 --- a/pkgs/development/compilers/llvm/git/clang/default.nix +++ b/pkgs/development/compilers/llvm/git/clang/default.nix @@ -70,9 +70,6 @@ let postInstall = '' ln -sv $out/bin/clang $out/bin/cpp - mkdir -p $lib/lib/clang - mv $lib/lib/${lib.versions.major version} $lib/lib/clang/${lib.versions.major version} - # Move libclang to 'lib' output moveToOutput "lib/libclang.*" "$lib" moveToOutput "lib/libclang-cpp.*" "$lib" diff --git a/pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch index cc8737f35343..9517df973ad0 100644 --- a/pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch @@ -1,30 +1,3 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f7936d72e088..a362fa49b534 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,7 +31,21 @@ if(CLANG_BUILT_STANDALONE) - find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}") - list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}") - -- # Turn into CACHE PATHs for overwritting -+ # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets -+ # LLVM_CONFIG. -+ if (NOT LLVM_CONFIG_FOUND) -+ # Pull values from LLVMConfig.cmake. We can drop this once the llvm-config -+ # path is removed. -+ set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS}) -+ set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}") -+ # N.B. this is just a default value, the CACHE PATHs below can be overriden. -+ set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm") -+ set(TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}") -+ set(LIBRARY_DIR "${LLVM_LIBRARY_DIR}") -+ else() -+ set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}") -+ endif() -+ - set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") - set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree") - set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree") diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake index 75b0080f6715..c895b884cd27 100644 --- a/cmake/modules/AddClang.cmake @@ -48,7 +21,7 @@ index f2b0c5cddcbb..52f37fc368ce 100644 add_header_target("utility-resource-headers" ${utility_files}) get_clang_resource_dir(header_install_dir SUBDIR include) -+set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${CLANG_VERSION_MAJOR}/include) ++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR}/include) ############################################################# # Install rules for the catch-all clang-resource-headers target diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix index 51f4e95ef2b5..f51316beb570 100644 --- a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix @@ -87,12 +87,9 @@ stdenv.mkDerivation { patches = [ ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config - ./gnu-install-dirs.patch # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the # extra `/`. ./normalize-var.patch - # Prevent a compilation error on darwin - ./darwin-targetconditionals.patch # See: https://github.com/NixOS/nixpkgs/pull/186575 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 @@ -111,6 +108,8 @@ stdenv.mkDerivation { substituteInPlace cmake/config-ix.cmake \ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' '' + lib.optionalString (useLLVM && !haveLibc) '' + substituteInPlace lib/builtins/aarch64/sme-libc-routines.c \ + --replace "<stdlib.h>" "<stddef.h>" substituteInPlace lib/builtins/int_util.c \ --replace "#include <stdlib.h>" "" substituteInPlace lib/builtins/clear_cache.c \ diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/compiler-rt/gnu-install-dirs.patch deleted file mode 100644 index f3b1f63a7d71..000000000000 --- a/pkgs/development/compilers/llvm/git/compiler-rt/gnu-install-dirs.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake -index 8a6219568b3f..30ee68a47ccf 100644 ---- a/cmake/base-config-ix.cmake -+++ b/cmake/base-config-ix.cmake -@@ -100,13 +100,13 @@ endif() - if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) - set(COMPILER_RT_OUTPUT_LIBRARY_DIR - ${COMPILER_RT_OUTPUT_DIR}/lib) -- extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib) -+ extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_LIBDIR}") - set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH - "Path where built compiler-rt libraries should be installed.") - else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) - set(COMPILER_RT_OUTPUT_LIBRARY_DIR - ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR}) -- extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}") -+ extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_LIBDIR}/${COMPILER_RT_OS_DIR}") - set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH - "Path where built compiler-rt libraries should be installed.") - endif() diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix index 6ebb2ea9fcc2..80cff85372d0 100644 --- a/pkgs/development/compilers/llvm/git/default.nix +++ b/pkgs/development/compilers/llvm/git/default.nix @@ -17,15 +17,20 @@ else pkgs.bintools , darwin # LLVM release information; specify one of these but not both: -, gitRelease ? null +, gitRelease ? { + version = "19.0.0-git"; + rev = "65058a8d732c3c41664a4dad1a1ae2a504d5c98e"; + rev-version = "19.0.0-unstable-2024-03-16"; + sha256 = "sha256-xV33kx/8OZ2KLtaz25RmudDrlIX7nScauTykf87jyTE="; +} # i.e.: # { # version = /* i.e. "15.0.0" */; # rev = /* commit SHA */; - # rev-version = /* human readable version; i.e. "unstable-2022-26-07" */; + # rev-version = /* human readable version; i.e. "15.0.0-unstable-2022-07-26" */; # sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */; # } -, officialRelease ? { version = "18.1.0-rc4"; sha256 = "sha256-fVpwewbjoPMPslIEZ+WAtaQ+YKc0XWGl8EbP/TbQb8o="; } +, officialRelease ? null # i.e.: # { # version = /* i.e. "15.0.0" */; diff --git a/pkgs/development/compilers/llvm/git/libcxx/default.nix b/pkgs/development/compilers/llvm/git/libcxx/default.nix index 4e3404dbe194..d6c304c0b476 100644 --- a/pkgs/development/compilers/llvm/git/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/git/libcxx/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, llvm_meta -, monorepoSrc, runCommand, fetchpatch +, monorepoSrc, runCommand , cmake, lndir, ninja, python3, fixDarwinDylibNames, version , cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else null , libcxxrt, libunwind @@ -19,11 +19,11 @@ let # Note: useLLVM is likely false for Darwin but true under pkgsLLVM useLLVM = stdenv.hostPlatform.useLLVM or false; - cxxabiCMakeFlags = lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ - "-DLIBCXXABI_USE_COMPILER_RT=ON" - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" - ] ++ lib.optionals (lib.versionAtLeast version "18" && !(useLLVM && !stdenv.hostPlatform.isWasm)) [ + cxxabiCMakeFlags = [ "-DLIBCXXABI_USE_LLVM_UNWINDER=OFF" + ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ + "-DLIBCXXABI_ADDITIONAL_LIBRARIES=unwind" + "-DLIBCXXABI_USE_COMPILER_RT=ON" ] ++ lib.optionals stdenv.hostPlatform.isWasm [ "-DLIBCXXABI_ENABLE_THREADS=OFF" "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" @@ -87,18 +87,6 @@ stdenv.mkDerivation rec { patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ # https://github.com/llvm/llvm-project/issues/64226 ./0001-darwin-10.12-mbstate_t-fix.patch - ] ++ lib.optionals (cxxabi == null && lib.versionAtLeast version "18") [ - # Allow building libcxxabi alone when using LLVM unwinder - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/77610dd10454e87bb387040d2b51100a17ac5755.patch"; - revert = true; - hash = "sha256-jFbC3vBY3nKfjknJ7UzaPyoy0iSYdD3+jUmOFeOaVcA="; - }) - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/48e5b5ea92674ded69b998cf35724d9012c0f57d.patch"; - revert = true; - hash = "sha256-WN63L4T3GxVozPZb6kx21AgNe4rwwSUOeeryIGsvQYY="; - }) ]; postPatch = '' diff --git a/pkgs/development/compilers/llvm/git/libunwind/default.nix b/pkgs/development/compilers/llvm/git/libunwind/default.nix index a3c8e2594f5a..e67823ffb85c 100644 --- a/pkgs/development/compilers/llvm/git/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/git/libunwind/default.nix @@ -27,15 +27,6 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/runtimes"; - prePatch = '' - cd ../${pname} - chmod -R u+w . - ''; - - postPatch = '' - cd ../runtimes - ''; - postInstall = lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin) '' # libcxxabi wants to link to libunwind_shared.so (?). ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so diff --git a/pkgs/development/compilers/llvm/git/lld/default.nix b/pkgs/development/compilers/llvm/git/lld/default.nix index cc18aee76a44..24ff0933dd1d 100644 --- a/pkgs/development/compilers/llvm/git/lld/default.nix +++ b/pkgs/development/compilers/llvm/git/lld/default.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/${pname}"; + nativeBuildInputs = [ cmake ninja ]; + buildInputs = [ libllvm libxml2 ]; + patches = [ ./gnu-install-dirs.patch ]; - nativeBuildInputs = [ cmake ninja ]; - buildInputs = [ libllvm libxml2 ]; - cmakeFlags = [ "-DLLD_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/lld" ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ diff --git a/pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch index 86e76f4a16d8..6c73a240ab6d 100644 --- a/pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch @@ -1,34 +1,3 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3d6225646fe6..9b5d0b15af13 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -33,10 +33,22 @@ if(LLD_BUILT_STANDALONE) - find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}") - list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}") - -- # Turn into CACHE PATHs for overwriting -- set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") -- set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree") -- set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree") -+ # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets -+ # LLVM_CONFIG. -+ if (NOT LLVM_CONFIG_FOUND) -+ # Pull values from LLVMConfig.cmake. We can drop this once the llvm-config -+ # path is removed. -+ set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS}) -+ set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}") -+ # N.B. this is just a default value, the CACHE PATHs below can be overridden. -+ set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm") -+ else() -+ set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}") -+ endif() -+ -+ set(LLVM_INCLUDE_DIRS ${INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") -+ set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree") -+ set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree") - - find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR} - NO_DEFAULT_PATH) diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake index d3924f7243d4..42a7cd62281c 100644 --- a/cmake/modules/AddLLD.cmake diff --git a/pkgs/development/compilers/llvm/git/llvm/default.nix b/pkgs/development/compilers/llvm/git/llvm/default.nix index b8715228ab1c..670171a707f9 100644 --- a/pkgs/development/compilers/llvm/git/llvm/default.nix +++ b/pkgs/development/compilers/llvm/git/llvm/default.nix @@ -179,6 +179,10 @@ stdenv.mkDerivation (rec { substituteInPlace test/ExecutionEngine/Interpreter/intrinsics.ll \ --replace "%roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00)" "" \ --replace "%roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00)" "" + + # fails when run in sandbox + substituteInPlace unittests/Support/VirtualFileSystemTest.cpp \ + --replace "PhysicalFileSystemWorkingDirFailure" "DISABLED_PhysicalFileSystemWorkingDirFailure" '' + optionalString (stdenv.isDarwin && stdenv.hostPlatform.isx86) '' # This test fails on darwin x86_64 because `sw_vers` reports a different # macOS version than what LLVM finds by reading @@ -382,7 +386,6 @@ stdenv.mkDerivation (rec { --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "'"$lib"'")' '' + optionalString (stdenv.isDarwin && enableSharedLibraries) '' - ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib '' + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' diff --git a/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs-polly.patch index 442ebddad3f6..6a359bdbefde 100644 --- a/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs-polly.patch +++ b/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs-polly.patch @@ -1,12 +1,6 @@ -This is the one remaining Polly install dirs related change that hasn't made it -into upstream yet; previously this patch file also included: -https://reviews.llvm.org/D117541 - -diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake -index 518a09b45a42..bd9d6f5542ad 100644 ---- a/tools/polly/cmake/polly_macros.cmake -+++ b/tools/polly/cmake/polly_macros.cmake -@@ -45,8 +45,8 @@ macro(add_polly_library name) +--- a/tools/polly/cmake/polly_macros.cmake 2024-03-15 17:36:20.550893344 -0700 ++++ b/tools/polly/cmake/polly_macros.cmake 2024-03-15 17:37:06.277332960 -0700 +@@ -45,8 +45,8 @@ install(TARGETS ${name} COMPONENT ${name} EXPORT LLVMExports diff --git a/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch index e2122ebf603d..8b89839490ba 100644 --- a/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch @@ -40,7 +40,7 @@ index 230620c37027..dd16cab1835e 100644 if (APPLE) set(_install_name_dir INSTALL_NAME_DIR "@rpath") - set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) -+ set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath ${extra_libdir}) elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS) # $ORIGIN is not interpreted at link time by aix ld. # Since BUILD_SHARED_LIBS is only recommended for use by developers, @@ -72,8 +72,8 @@ index 230620c37027..dd16cab1835e 100644 + # As noted in the differential above, an alternative solution is to have + # all rdeps of nixpkgs' LLVM (that use the AddLLVM.cmake machinery) set + # `CMAKE_INSTALL_RPATH`. -+ set(_build_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) -+ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath ${extra_libdir}) if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-z,origin ") @@ -86,10 +86,10 @@ index 891c9e6d618c..8d963f3b0069 100644 if( APPLE ) - set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") -+ set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath ${LLVM_LIBRARY_DIR}) elseif( UNIX ) - set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") -+ set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath ${LLVM_LIBRARY_DIR}) endif() list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") diff --git a/pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch b/pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch index 82b7b21c55fb..e4f049f4b177 100644 --- a/pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch +++ b/pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch @@ -1,17 +1,12 @@ -diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py -index 0242e0b75af3..d732011306f7 100644 ---- a/utils/lit/lit/TestRunner.py -+++ b/utils/lit/lit/TestRunner.py -@@ -1029,6 +1029,12 @@ def executeScript(test, litConfig, tmpBase, commands, cwd): - f.write('@echo off\n') - f.write('\n@if %ERRORLEVEL% NEQ 0 EXIT\n'.join(commands)) +--- a/utils/lit/lit/TestRunner.py 2024-03-15 17:27:53.170780798 -0700 ++++ b/utils/lit/lit/TestRunner.py 2024-03-15 17:28:43.277447791 -0700 +@@ -1183,6 +1183,9 @@ + f.write("@echo on\n") + f.write("\n@if %ERRORLEVEL% NEQ 0 EXIT\n".join(commands)) else: -+ # This env var is *purged* when invoking subprocesses so we have to -+ # manually set it from within the bash script in order for the commands -+ # in run lines to see this var: + if "DYLD_LIBRARY_PATH" in test.config.environment: + f.write(f'export DYLD_LIBRARY_PATH="{test.config.environment["DYLD_LIBRARY_PATH"]}"\n') + for i, ln in enumerate(commands): - match = re.match(kPdbgRegex, ln) + match = re.fullmatch(kPdbgRegex, ln) if match: diff --git a/pkgs/development/compilers/llvm/git/openmp/default.nix b/pkgs/development/compilers/llvm/git/openmp/default.nix index d51335436ad2..e1c3c2379af2 100644 --- a/pkgs/development/compilers/llvm/git/openmp/default.nix +++ b/pkgs/development/compilers/llvm/git/openmp/default.nix @@ -29,7 +29,6 @@ stdenv.mkDerivation rec { patches = [ ./fix-find-tool.patch - ./gnu-install-dirs.patch ./run-lit-directly.patch ]; diff --git a/pkgs/development/compilers/llvm/git/openmp/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/openmp/gnu-install-dirs.patch deleted file mode 100644 index 0d0d4130c761..000000000000 --- a/pkgs/development/compilers/llvm/git/openmp/gnu-install-dirs.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b6ddbe90516d..311ab1d50e7f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -29,7 +29,7 @@ if (OPENMP_STANDALONE_BUILD) - set(OPENMP_LIBDIR_SUFFIX "" CACHE STRING - "Suffix of lib installation directory, e.g. 64 => lib64") - # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR. -- set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}" CACHE STRING -+ set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${OPENMP_LIBDIR_SUFFIX}" CACHE STRING - "Path where built OpenMP libraries should be installed.") - - # Group test settings. -@@ -47,7 +47,7 @@ if (OPENMP_STANDALONE_BUILD) - else() - set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) - # If building in tree, we honor the same install suffix LLVM uses. -- set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}" CACHE STRING -+ set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" CACHE STRING - "Path where built OpenMP libraries should be installed.") - - if (NOT MSVC) diff --git a/pkgs/development/compilers/llvm/update-git.py b/pkgs/development/compilers/llvm/update-git.py index b5e900df502b..9be43e8e1afb 100755 --- a/pkgs/development/compilers/llvm/update-git.py +++ b/pkgs/development/compilers/llvm/update-git.py @@ -43,7 +43,7 @@ def get_current_revision(): """Get the current revision of llvmPackages_git.""" with open(DEFAULT_NIX) as f: for line in f: - rev = re.search(r'^ rev = "(.*)";', line) + rev = re.search(r'^ rev = "(.*)";', line) if rev: return rev.group(1) sys.exit(1) @@ -75,11 +75,11 @@ hash = nix_prefetch_url(f'https://github.com/llvm/llvm-project/archive/{commit[" print('Updating default.nix...') with fileinput.FileInput(DEFAULT_NIX, inplace=True) as f: for line in f: - if match := re.search(r'^ rev-version = "unstable-(.+)";', line): + if match := re.search(r'^ rev-version = "unstable-(.+)";', line): old_date = match.group(1) - result = re.sub(r'^ release_version = ".+";', f' release_version = "{release_version}";', line) - result = re.sub(r'^ rev = ".*";', f' rev = "{commit["sha"]}";', result) - result = re.sub(r'^ rev-version = ".+";', f' rev-version = "{version}";', result) + result = re.sub(r'^ version = ".+";', f' version = "{release_version}";', line) + result = re.sub(r'^ rev = ".*";', f' rev = "{commit["sha"]}";', result) + result = re.sub(r'^ rev-version = ".+";', f' rev-version = "{version}";', result) result = re.sub(r'^ sha256 = ".+";', f' sha256 = "{hash}";', result) print(result, end='') # Commit the result: diff --git a/pkgs/development/compilers/ocaml/5.2.nix b/pkgs/development/compilers/ocaml/5.2.nix new file mode 100644 index 000000000000..26d77f63044d --- /dev/null +++ b/pkgs/development/compilers/ocaml/5.2.nix @@ -0,0 +1,9 @@ +import ./generic.nix { + major_version = "5"; + minor_version = "2"; + patch_version = "0-beta1"; + src = fetchTarball { + url = "https://caml.inria.fr/pub/distrib/ocaml-5.2/ocaml-5.2.0~beta1.tar.xz"; + sha256 = "sha256:0prf87a41k2y1znnh2pjkggrvhh5cihj68sxqrjn162889rf7wam"; + }; +} diff --git a/pkgs/development/coq-modules/HoTT/default.nix b/pkgs/development/coq-modules/HoTT/default.nix index 970591264d73..426880940070 100644 --- a/pkgs/development/coq-modules/HoTT/default.nix +++ b/pkgs/development/coq-modules/HoTT/default.nix @@ -6,7 +6,7 @@ mkCoqDerivation { owner = "HoTT"; inherit version; defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.18"; out = coq.coq-version; } + { case = range "8.14" "8.19"; out = coq.coq-version; } ] null; releaseRev = v: "V${v}"; release."8.14".sha256 = "sha256-7kXk2pmYsTNodHA+Qts3BoMsewvzmCbYvxw9Sgwyvq0="; @@ -14,6 +14,7 @@ mkCoqDerivation { release."8.16".sha256 = "sha256-xcEbz4ZQ+U7mb0SEJopaczfoRc2GSgF2BGzUSWI0/HY="; release."8.17".sha256 = "sha256-GjTUpzL9UzJm4C2ilCaYEufLG3hcj7rJPc5Op+OMal8="; release."8.18".sha256 = "sha256-URoUoQOsG0432wg9i6pTRomWQZ+ewutq2+V29TBrVzc="; + release."8.19".sha256 = "sha256-igG3mhR6uPXV+SCtPH9PBw/eAtTFFry6HPT5ypWj3tQ="; # versions of HoTT for Coq 8.17 and onwards will use dune # opam-name = if lib.versions.isLe "8.17" coq.coq-version then "coq-hott" else null; diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix index dac3fb2b74df..905dbf1377b6 100644 --- a/pkgs/development/coq-modules/dpdgraph/default.nix +++ b/pkgs/development/coq-modules/dpdgraph/default.nix @@ -8,6 +8,7 @@ mkCoqDerivation { repo = "coq-dpdgraph"; inherit version; defaultVersion = lib.switch coq.coq-version [ + { case = "8.19"; out = "1.0+8.19"; } { case = "8.18"; out = "1.0+8.18"; } { case = "8.17"; out = "1.0+8.17"; } { case = "8.16"; out = "1.0+8.16"; } @@ -22,6 +23,7 @@ mkCoqDerivation { { case = "8.7"; out = "0.6.2"; } ] null; + release."1.0+8.19".sha256 = "sha256-L1vjEydYiwDFTXES3sgfdaO/D50AbTJKBXUKUCgbpto="; release."1.0+8.18".sha256 = "sha256-z14MI1VSYzPqmF1PqDXzymXWRMYoTlQAfR/P3Pdf7fI="; release."1.0+8.17".sha256 = "sha256-gcvL3vseLKEF9xinT0579jXBBaA5E3rJ5KaU8RfKtm4="; release."1.0+8.16".sha256 = "sha256-xy4xcVHaD1OHBdGUzUy3SeZnHtOf1+UIh6YjUYFINm0="; diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 9897a6f2be0c..4d83fac79a5e 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -305,7 +305,13 @@ self: super: builtins.intersectAttrs super { ghc-debug-brick = enableSeparateBinOutput super.ghc-debug-brick; nixfmt = enableSeparateBinOutput super.nixfmt; calligraphy = enableSeparateBinOutput super.calligraphy; - niv = enableSeparateBinOutput (self.generateOptparseApplicativeCompletions [ "niv" ] super.niv); + niv = overrideCabal (drv: { + buildTools = (drv.buildTools or []) ++ [ pkgs.buildPackages.makeWrapper ]; + postInstall = '' + wrapProgram ''${!outputBin}/bin/niv --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.nix ]} + ''; + }) + (enableSeparateBinOutput (self.generateOptparseApplicativeCompletions [ "niv" ] super.niv)); ghcid = enableSeparateBinOutput super.ghcid; ormolu = self.generateOptparseApplicativeCompletions [ "ormolu" ] (enableSeparateBinOutput super.ormolu); hnix = self.generateOptparseApplicativeCompletions [ "hnix" ] super.hnix; diff --git a/pkgs/development/interpreters/expr/default.nix b/pkgs/development/interpreters/expr/default.nix index 4a1dfd8d4f47..20ec87bb53fd 100644 --- a/pkgs/development/interpreters/expr/default.nix +++ b/pkgs/development/interpreters/expr/default.nix @@ -5,18 +5,18 @@ buildGoModule rec { pname = "expr"; - version = "1.16.2"; + version = "1.16.3"; src = fetchFromGitHub { owner = "antonmedv"; repo = "expr"; rev = "v${version}"; - hash = "sha256-U9DlgC3iuYry99A1O5E737680mq1TCf2M4ZYTytm56k="; + hash = "sha256-XTI4TPViNQUPrIPZRWcaxFpkqMUOdGN162f+deFNRR0="; }; sourceRoot = "${src.name}/repl"; - vendorHash = "sha256-olTmfSKLbkH95ArMHJWac7aw+DNKRyw4z+oGvW9j4tw="; + vendorHash = "sha256-ZIF0uCGrzs1nn06ouF/eJY1adOw8diAjMIhygZhrXuM="; ldflags = [ "-s" "-w" ]; diff --git a/pkgs/development/libraries/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix index 654935391602..8019c6cc943f 100644 --- a/pkgs/development/libraries/assimp/default.nix +++ b/pkgs/development/libraries/assimp/default.nix @@ -26,8 +26,6 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = toString ([ # Needed with GCC 12 "-Wno-error=array-bounds" - ] ++ lib.optionals stdenv.hostPlatform.isRiscV [ - "-Wno-error=free-nonheap-object" ]); meta = with lib; { diff --git a/pkgs/development/libraries/ctranslate2/default.nix b/pkgs/development/libraries/ctranslate2/default.nix index c7876a98bd54..029e1cc8d3eb 100644 --- a/pkgs/development/libraries/ctranslate2/default.nix +++ b/pkgs/development/libraries/ctranslate2/default.nix @@ -24,13 +24,13 @@ let in stdenv.mkDerivation rec { pname = "ctranslate2"; - version = "4.0.0"; + version = "4.1.1"; src = fetchFromGitHub { owner = "OpenNMT"; repo = "CTranslate2"; rev = "v${version}"; - hash = "sha256-pySnkDnV41rqr4OcNonPtSgv4AJYcF5vtkBg6Ad/IvU="; + hash = "sha256-vA1KnHRxIX0lYUfwXTbxjnrrBjFmqp2kwpxBNorVf0Y="; fetchSubmodules = true; }; diff --git a/pkgs/development/libraries/libaec/default.nix b/pkgs/development/libraries/libaec/default.nix index 5bc6ad6c5f2e..cd816329a51a 100644 --- a/pkgs/development/libraries/libaec/default.nix +++ b/pkgs/development/libraries/libaec/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "libaec"; - version = "1.1.2"; + version = "1.1.3"; src = fetchFromGitLab { domain = "gitlab.dkrz.de"; owner = "k202009"; repo = "libaec"; rev = "v${version}"; - sha256 = "sha256-mmiPpfUZE7W6Hzalr/tcJUFQe5kF4dYM1uZShjBsoVA="; + sha256 = "sha256-4WS3l79v9CTFBLuJmNMMK7RRNPLSa5KYID3W4aGMTuE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libdwarf/20210528.nix b/pkgs/development/libraries/libdwarf/20210528.nix deleted file mode 100644 index 25d14de99ae2..000000000000 --- a/pkgs/development/libraries/libdwarf/20210528.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ callPackage, zlib, libelf }: -callPackage ./common.nix rec { - version = "20210528"; - url = "https://www.prevanders.net/libdwarf-${version}.tar.gz"; - hash = "sha512-4PnIhVQFPubBsTM5YIkRieeCDEpN3DArfmN1Skzc/CrLG0tgg6ci0SBKdemU//NAHswlG4w7JAkPjLQEbZD4cA=="; - buildInputs = [ zlib libelf ]; - knownVulnerabilities = [ "CVE-2022-32200" "CVE-2022-39170" ]; -} diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix index 6ab33b9e4ccf..eda75bf0b25f 100644 --- a/pkgs/development/libraries/libressl/default.nix +++ b/pkgs/development/libraries/libressl/default.nix @@ -113,5 +113,13 @@ in { libressl_3_8 = generic { version = "3.8.3"; hash = "sha256-pl9A4+9uPJRRyDGObyxFTDZ+Z/CcDN4YSXMaTW7McnI="; + + patches = [ + (fetchpatch { + name = "libtls-pkg-config-static.patch"; + url = "https://github.com/libressl/portable/commit/f7a0f40d52b994d0bca0eacd88b39f71e447c5d9.patch"; + hash = "sha256-2ly6lsIdoV/riVqDViFXDP7nkZ/RUatEdiaSudQKtz0="; + }) + ]; }; } diff --git a/pkgs/development/libraries/openimagedenoise/cuda.patch b/pkgs/development/libraries/openimagedenoise/cuda.patch new file mode 100644 index 000000000000..4bc5172d8830 --- /dev/null +++ b/pkgs/development/libraries/openimagedenoise/cuda.patch @@ -0,0 +1,32 @@ +Remove upstream workarounds for CMake "limitations" that do not appear to exist +in nixpkgs build environment, but rather break the build, presumably because +CMAKE_INSTALL_{BIN,LIB}DIR is an absolute path in our build so +CMAKE_INSTALL_PREFIX has no effect. + +diff --git a/devices/CMakeLists.txt b/devices/CMakeLists.txt +index d5111cd..43986ad 100644 +--- a/devices/CMakeLists.txt ++++ b/devices/CMakeLists.txt +@@ -53,7 +53,6 @@ if(OIDN_DEVICE_CUDA) + -DCMAKE_CXX_COMPILER:FILEPATH=${_host_compiler} + -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} +- -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall + -DCMAKE_INSTALL_BINDIR:PATH=${CMAKE_INSTALL_BINDIR} + -DCMAKE_INSTALL_LIBDIR:PATH=${CMAKE_INSTALL_LIBDIR} + -DCUDAToolkit_ROOT:PATH=${CUDAToolkit_ROOT} +@@ -69,14 +68,6 @@ if(OIDN_DEVICE_CUDA) + DEPENDS + OpenImageDenoise_core + ) +- +- # Due to limitations of CMake, the module is pre-installed at build time to a temporary location, +- # and then copied to the real install location at install time. +- install(DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall/ +- DESTINATION "." +- USE_SOURCE_PERMISSIONS +- ) + endif() + + if(OIDN_DEVICE_HIP) diff --git a/pkgs/development/libraries/openimagedenoise/default.nix b/pkgs/development/libraries/openimagedenoise/default.nix index 532ee7a09571..e2d9b66004ed 100644 --- a/pkgs/development/libraries/openimagedenoise/default.nix +++ b/pkgs/development/libraries/openimagedenoise/default.nix @@ -1,21 +1,45 @@ -{ lib, stdenv, fetchzip, cmake, tbb, python3, ispc }: +{ + cmake, + config, + cudaPackages, + cudaSupport ? config.cudaSupport, + fetchzip, + ispc, + lib, + python3, + stdenv, + tbb, +}: stdenv.mkDerivation rec { pname = "openimagedenoise"; - version = "1.4.3"; + version = "2.2.2"; # The release tarballs include pretrained weights, which would otherwise need to be fetched with git-lfs src = fetchzip { url = "https://github.com/OpenImageDenoise/oidn/releases/download/v${version}/oidn-${version}.src.tar.gz"; - sha256 = "sha256-i73w/Vkr5TPLB1ulPbPU4OVGwdNlky1brfarueD7akE="; + sha256 = "sha256-ZIrs4oEb+PzdMh2x2BUFXKyu/HBlFb3CJX24ciEHy3Q="; }; - nativeBuildInputs = [ cmake python3 ispc ]; - buildInputs = [ tbb ]; + patches = lib.optional cudaSupport ./cuda.patch; + + nativeBuildInputs = [ + cmake + python3 + ispc + ] ++ lib.optional cudaSupport cudaPackages.cuda_nvcc; + + buildInputs = + [ tbb ] + ++ lib.optionals cudaSupport [ + cudaPackages.cuda_cudart + cudaPackages.cuda_cccl + ]; cmakeFlags = [ - "-DTBB_ROOT=${tbb}" - "-DTBB_INCLUDE_DIR=${tbb.dev}/include" + (lib.cmakeBool "OIDN_DEVICE_CUDA" cudaSupport) + (lib.cmakeFeature "TBB_INCLUDE_DIR" "${tbb.dev}/include") + (lib.cmakeFeature "TBB_ROOT" "${tbb}") ]; meta = with lib; { diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix index 17b7c286229b..3ed10ef270f9 100644 --- a/pkgs/development/libraries/opensubdiv/default.nix +++ b/pkgs/development/libraries/opensubdiv/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "opensubdiv"; - version = "3.5.1"; + version = "3.6.0"; src = fetchFromGitHub { owner = "PixarAnimationStudios"; repo = "OpenSubdiv"; rev = "v${lib.replaceStrings ["."] ["_"] version}"; - sha256 = "sha256-uDKCT0Uoa5WQekMUFm2iZmzm+oWAZ6IWMwfpchkUZY0="; + sha256 = "sha256-liy6pQyWMk7rw0usrCoLGzZLO7RAg0z2pV/GF2NnOkE="; }; outputs = [ "out" "dev" "static" ]; diff --git a/pkgs/development/libraries/pdal/default.nix b/pkgs/development/libraries/pdal/default.nix index 6f362967a2a2..86d976531cb3 100644 --- a/pkgs/development/libraries/pdal/default.nix +++ b/pkgs/development/libraries/pdal/default.nix @@ -27,13 +27,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "pdal"; - version = "2.7.0"; + version = "2.7.1"; src = fetchFromGitHub { owner = "PDAL"; repo = "PDAL"; rev = finalAttrs.version; - sha256 = "sha256-knyDVUZH+X563UzKkvDpi08EcXU5s4+Jvya3Xprpt1A="; + sha256 = "sha256-JoHBxJ0hCWH7ZhmeJk4huT2k0AK5CzIV58NWCjWj5T0="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/protobuf/26.nix b/pkgs/development/libraries/protobuf/26.nix new file mode 100644 index 000000000000..7f7c3625699f --- /dev/null +++ b/pkgs/development/libraries/protobuf/26.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix ({ + version = "26.1"; + hash = "sha256-9sA+MYeDqRZl1v6HV4mpy60vqTbVTtinp9er6zkg/Ng="; +} // args) diff --git a/pkgs/development/libraries/quarto/default.nix b/pkgs/development/libraries/quarto/default.nix index 09a44adbe561..99b9ebf79ae8 100644 --- a/pkgs/development/libraries/quarto/default.nix +++ b/pkgs/development/libraries/quarto/default.nix @@ -19,10 +19,10 @@ stdenv.mkDerivation (final: { pname = "quarto"; - version = "1.4.551"; + version = "1.4.552"; src = fetchurl { url = "https://github.com/quarto-dev/quarto-cli/releases/download/v${final.version}/quarto-${final.version}-linux-amd64.tar.gz"; - sha256 = "sha256-RUnlLjJOf8hSj7aRCrmDSXFeNHCXnMY/bdbE3fbbThQ="; + sha256 = "sha256-I6uRqKgwb+VnbghA20BXEGrrLKOERc/IfF1TIDoymBw="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/science/chemistry/dftd4/default.nix b/pkgs/development/libraries/science/chemistry/dftd4/default.nix index 087c6e7d01de..ea7aafd156ae 100644 --- a/pkgs/development/libraries/science/chemistry/dftd4/default.nix +++ b/pkgs/development/libraries/science/chemistry/dftd4/default.nix @@ -1,8 +1,11 @@ { stdenv , lib , fetchFromGitHub -, cmake , gfortran +, meson +, ninja +, pkg-config +, python3 , blas , lapack , mctc-lib @@ -23,23 +26,20 @@ stdenv.mkDerivation rec { hash = "sha256-VIV9953hx0MZupOARdH+P1h7JtZeJmTlqtO8si+lwdU="; }; - nativeBuildInputs = [ cmake gfortran ]; + nativeBuildInputs = [ gfortran meson ninja pkg-config python3 ]; buildInputs = [ blas lapack mctc-lib mstore multicharge ]; outputs = [ "out" "dev" ]; - # Fix the Pkg-Config files for doubled store paths + doCheck = true; + postPatch = '' - substituteInPlace config/template.pc \ - --replace "\''${prefix}/" "" + patchShebangs --build \ + config/install-mod.py \ + app/tester.py ''; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; - - doCheck = true; preCheck = '' export OMP_NUM_THREADS=2 ''; diff --git a/pkgs/development/libraries/science/chemistry/mctc-lib/default.nix b/pkgs/development/libraries/science/chemistry/mctc-lib/default.nix index a8c27b3eec56..58c1fdaf04e2 100644 --- a/pkgs/development/libraries/science/chemistry/mctc-lib/default.nix +++ b/pkgs/development/libraries/science/chemistry/mctc-lib/default.nix @@ -2,9 +2,11 @@ , lib , fetchFromGitHub , gfortran +, meson +, ninja , pkg-config +, python3 , json-fortran -, cmake }: stdenv.mkDerivation rec { @@ -18,24 +20,18 @@ stdenv.mkDerivation rec { hash = "sha256-AXjg/ZsitdDf9fNoGVmVal1iZ4/sxjJb7A9W4yye/rg="; }; - nativeBuildInputs = [ gfortran pkg-config cmake ]; + nativeBuildInputs = [ gfortran meson ninja pkg-config python3 ]; buildInputs = [ json-fortran ]; outputs = [ "out" "dev" ]; - # Fix the Pkg-Config files for doubled store paths + doCheck = true; + postPatch = '' - substituteInPlace config/template.pc \ - --replace "\''${prefix}/" "" + patchShebangs --build config/install-mod.py ''; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; - - doCheck = true; - meta = with lib; { description = "Modular computation tool chain library"; mainProgram = "mctc-convert"; diff --git a/pkgs/development/libraries/science/chemistry/mstore/default.nix b/pkgs/development/libraries/science/chemistry/mstore/default.nix index 948d11435461..e187a9a9833f 100644 --- a/pkgs/development/libraries/science/chemistry/mstore/default.nix +++ b/pkgs/development/libraries/science/chemistry/mstore/default.nix @@ -1,8 +1,11 @@ { stdenv , lib , fetchFromGitHub -, cmake , gfortran +, meson +, ninja +, pkg-config +, python3 , mctc-lib }: @@ -17,22 +20,16 @@ stdenv.mkDerivation rec { hash = "sha256-dN2BulLS/ENRFVdJIrZRxgBV8S4d5+7BjTCGnhBbf4I="; }; - nativeBuildInputs = [ cmake gfortran ]; + nativeBuildInputs = [ gfortran meson ninja pkg-config python3 ]; buildInputs = [ mctc-lib ]; outputs = [ "out" "dev" ]; - # Fix the Pkg-Config files for doubled store paths postPatch = '' - substituteInPlace config/template.pc \ - --replace "\''${prefix}/" "" + patchShebangs --build config/install-mod.py ''; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; - meta = with lib; { description = "Molecular structure store for testing"; license = licenses.asl20; diff --git a/pkgs/development/libraries/science/chemistry/multicharge/default.nix b/pkgs/development/libraries/science/chemistry/multicharge/default.nix index 020390737139..3660705242f6 100644 --- a/pkgs/development/libraries/science/chemistry/multicharge/default.nix +++ b/pkgs/development/libraries/science/chemistry/multicharge/default.nix @@ -1,8 +1,12 @@ { stdenv , lib , fetchFromGitHub -, cmake +, fetchpatch2 , gfortran +, meson +, ninja +, pkg-config +, python3 , blas , lapack , mctc-lib @@ -22,23 +26,28 @@ stdenv.mkDerivation rec { hash = "sha256-oUI5x5/Gd0EZBb1w+0jlJUF9X51FnkHFu8H7KctqXl0="; }; - nativeBuildInputs = [ cmake gfortran ]; + patches = [ + # Fix finding of MKL for Intel 2021 and newer + # Also fix finding mstore + # https://github.com/grimme-lab/multicharge/pull/20 + (fetchpatch2 { + url = "https://github.com/grimme-lab/multicharge/commit/98a11ac524cd2a1bd9e2aeb8f4429adb2d76ee8.patch"; + hash = "sha256-zZ2pcbyaHjN2ZxpMhlqUtIXImrVsLk/8WIcb9IYPgBw="; + }) + ]; + + nativeBuildInputs = [ gfortran meson ninja pkg-config python3 ]; buildInputs = [ blas lapack mctc-lib mstore ]; outputs = [ "out" "dev" ]; - # Fix the Pkg-Config files for doubled store paths + doCheck = true; + postPatch = '' - substituteInPlace config/template.pc \ - --replace "\''${prefix}/" "" + patchShebangs --build config/install-mod.py ''; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; - - doCheck = true; preCheck = '' export OMP_NUM_THREADS=2 ''; diff --git a/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix b/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix index d4f81e3a24cb..eb8fa56455e4 100644 --- a/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix +++ b/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix @@ -2,7 +2,9 @@ , lib , fetchFromGitHub , gfortran -, cmake +, meson +, ninja +, pkg-config , mctc-lib , mstore , toml-f @@ -22,21 +24,12 @@ stdenv.mkDerivation rec { hash = "sha256-dfXiKKCGJ69aExSKpVC3Bp//COy256R9PDyxCNmDsfo="; }; - nativeBuildInputs = [ cmake gfortran ]; + nativeBuildInputs = [ gfortran meson ninja pkg-config ]; buildInputs = [ mctc-lib mstore toml-f blas ]; outputs = [ "out" "dev" ]; - # Fix the Pkg-Config files for doubled store paths - postPatch = '' - substituteInPlace config/template.pc \ - --replace "\''${prefix}/" "" - ''; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; - doCheck = true; preCheck = '' export OMP_NUM_THREADS=2 @@ -47,7 +40,7 @@ stdenv.mkDerivation rec { mainProgram = "s-dftd3"; license = with licenses; [ lgpl3Only gpl3Only ]; homepage = "https://github.com/dftd3/simple-dftd3"; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; }; } diff --git a/pkgs/development/libraries/science/chemistry/tblite/default.nix b/pkgs/development/libraries/science/chemistry/tblite/default.nix index 64374972c295..4f8c43a08e49 100644 --- a/pkgs/development/libraries/science/chemistry/tblite/default.nix +++ b/pkgs/development/libraries/science/chemistry/tblite/default.nix @@ -2,8 +2,10 @@ , lib , fetchFromGitHub , fetchpatch -, cmake , gfortran +, meson +, ninja +, pkg-config , blas , lapack , mctc-lib @@ -35,13 +37,12 @@ stdenv.mkDerivation rec { }) ]; - # Fix the Pkg-Config files for doubled store paths - postPatch = '' - substituteInPlace config/template.pc \ - --replace "\''${prefix}/" "" - ''; - - nativeBuildInputs = [ cmake gfortran ]; + nativeBuildInputs = [ + gfortran + meson + ninja + pkg-config + ]; buildInputs = [ blas @@ -56,10 +57,6 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; - doCheck = true; preCheck = '' export OMP_NUM_THREADS=2 diff --git a/pkgs/development/libraries/science/chemistry/tblite/python.nix b/pkgs/development/libraries/science/chemistry/tblite/python.nix index 3a72cfaaa6a3..cfe8668204e2 100644 --- a/pkgs/development/libraries/science/chemistry/tblite/python.nix +++ b/pkgs/development/libraries/science/chemistry/tblite/python.nix @@ -1,4 +1,6 @@ -{ buildPythonPackage +{ lib +, buildPythonPackage +, pythonAtLeast , fetchpatch , meson , ninja @@ -15,6 +17,7 @@ , toml-f , multicharge , dftd4 +, setuptools }: buildPythonPackage { @@ -27,6 +30,8 @@ buildPythonPackage { pkg-config gfortran mctc-lib + ] ++ lib.optionals (pythonAtLeast "3.12") [ + setuptools ]; buildInputs = [ diff --git a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix index ac08cb876253..84949e0a5344 100644 --- a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix +++ b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { pname = "suitesparse-graphblas"; - version = "9.0.3"; + version = "9.1.0"; outputs = [ "out" "dev" ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { owner = "DrTimothyAldenDavis"; repo = "GraphBLAS"; rev = "v${version}"; - hash = "sha256-qRRrxMshLLEltCzXFv/j6NgRi6x1SHlAuKG5NfLiBFs="; + hash = "sha256-YK0REOqoNa55tQt6NH/0QQ07pzAImDR5kC00sbFILH8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/test-drive/default.nix b/pkgs/development/libraries/test-drive/default.nix index b858f39498c2..639582c3b8ae 100644 --- a/pkgs/development/libraries/test-drive/default.nix +++ b/pkgs/development/libraries/test-drive/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, gfortran, cmake }: +{ stdenv, lib, fetchFromGitHub, gfortran, meson, ninja, mesonEmulatorHook }: stdenv.mkDerivation rec { pname = "test-drive"; @@ -11,21 +11,18 @@ stdenv.mkDerivation rec { hash = "sha256-ObAnHFP1Hp0knf/jtGHynVF0CCqK47eqetePx4NLmlM="; }; - postPatch = '' - substituteInPlace config/template.pc \ - --replace 'libdir=''${prefix}/@CMAKE_INSTALL_LIBDIR@' "libdir=@CMAKE_INSTALL_LIBDIR@" \ - --replace 'includedir=''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@' "includedir=@CMAKE_INSTALL_INCLUDEDIR@" - ''; - nativeBuildInputs = [ gfortran - cmake + meson + ninja + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook ]; meta = with lib; { description = "Procedural Fortran testing framework"; homepage = "https://github.com/fortran-lang/test-drive"; - license = with licenses; [ asl20 mit ] ; + license = with licenses; [ asl20 mit ]; platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; }; diff --git a/pkgs/development/libraries/toml-f/default.nix b/pkgs/development/libraries/toml-f/default.nix index 28fb3dadce48..e24ceec58c07 100644 --- a/pkgs/development/libraries/toml-f/default.nix +++ b/pkgs/development/libraries/toml-f/default.nix @@ -2,7 +2,9 @@ , lib , fetchFromGitHub , gfortran -, cmake +, meson +, ninja +, pkg-config , test-drive }: @@ -17,29 +19,19 @@ stdenv.mkDerivation rec { hash = "sha256-+cac4rUNpd2w3yBdH1XoCKdJ9IgOHZioZg8AhzGY0FE="; }; - nativeBuildInputs = [ gfortran cmake ]; + nativeBuildInputs = [ gfortran meson ninja pkg-config ]; buildInputs = [ test-drive ]; outputs = [ "out" "dev" ]; - # Fix the Pkg-Config files for doubled store paths - postPatch = '' - substituteInPlace config/template.pc \ - --replace "\''${prefix}/" "" - ''; - - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; - doCheck = true; meta = with lib; { description = "TOML parser implementation for data serialization and deserialization in Fortran"; license = with licenses; [ asl20 mit ]; homepage = "https://github.com/toml-f/toml-f"; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; }; } diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 7ca5ffc19020..07fc616efacc 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -20,8 +20,6 @@ , wayland , wayland-protocols , libwebp -, libwpe -, libwpe-fdo , enchant2 , xorg , libxkbcommon @@ -48,7 +46,6 @@ , libintl , lcms2 , libmanette -, openjpeg , geoclue2 , sqlite , gst-plugins-base @@ -56,6 +53,7 @@ , woff2 , bubblewrap , libseccomp +, libbacktrace , systemd , xdg-dbus-proxy , substituteAll @@ -70,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "webkitgtk"; - version = "2.42.5"; + version = "2.44.0"; name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "6.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}"; outputs = [ "out" "dev" "devdoc" ]; @@ -81,7 +79,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz"; - hash = "sha256-tkJ4wfILjP2/tf9XPDfYcaunSh2ybZs5906JU/5h50k="; + hash = "sha256-xmUw5Bulmx7bpO6J7yCyGI4nO+0El+lQhHKePPvjDIc="; }; patches = lib.optionals stdenv.isLinux [ @@ -90,13 +88,6 @@ stdenv.mkDerivation (finalAttrs: { inherit (builtins) storeDir; inherit (addOpenGLRunpath) driverLink; }) - - # Hardcode path to WPE backend - # https://github.com/NixOS/nixpkgs/issues/110468 - (substituteAll { - src = ./fdo-backend-path.patch; - wpebackend_fdo = libwpe-fdo; - }) ]; preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' @@ -150,17 +141,12 @@ stdenv.mkDerivation (finalAttrs: { libxkbcommon libxml2 libxslt + libbacktrace nettle - openjpeg p11-kit sqlite woff2 - ] ++ (with xorg; [ - libXdamage - libXdmcp - libXt - libXtst - ]) ++ lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin [ libedit readline ] ++ lib.optional (stdenv.isDarwin && !stdenv.isAarch64) ( @@ -175,8 +161,7 @@ stdenv.mkDerivation (finalAttrs: { libseccomp libmanette wayland - libwpe - libwpe-fdo + xorg.libX11 ] ++ lib.optionals systemdSupport [ systemd ] ++ lib.optionals enableGeoLocation [ @@ -184,7 +169,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals withLibsecret [ libsecret ] ++ lib.optionals (lib.versionAtLeast gtk3.version "4.0") [ - xorg.libXcomposite wayland-protocols ]; @@ -214,8 +198,8 @@ stdenv.mkDerivation (finalAttrs: { "-DENABLE_X11_TARGET=OFF" "-DUSE_APPLE_ICU=OFF" "-DUSE_OPENGL_OR_ES=OFF" - ] ++ lib.optionals (lib.versionAtLeast gtk3.version "4.0") [ - "-DUSE_GTK4=ON" + ] ++ lib.optionals (lib.versionOlder gtk3.version "4.0") [ + "-DUSE_GTK4=OFF" ] ++ lib.optionals (!systemdSupport) [ "-DENABLE_JOURNALD_LOG=OFF" ]; diff --git a/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch b/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch deleted file mode 100644 index 48e7d9cca745..000000000000 --- a/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp -+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp -@@ -84,7 +84,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process - - #if PLATFORM(WAYLAND) - if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland && parameters.dmaBufRendererBufferMode.isEmpty()) { -- wpe_loader_init("libWPEBackend-fdo-1.0.so.1"); -+ wpe_loader_init("@wpebackend_fdo@/lib/libWPEBackend-fdo-1.0.so.1"); - if (AcceleratedBackingStoreWayland::checkRequirements()) { - parameters.hostClientFileDescriptor = UnixFileDescriptor { wpe_renderer_host_create_client(), UnixFileDescriptor::Adopt }; - parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(String::fromLatin1(wpe_loader_get_loaded_implementation_library_name())); diff --git a/pkgs/development/lisp-modules/packages.nix b/pkgs/development/lisp-modules/packages.nix index 73cc1f35c657..55c4c5abf7f8 100644 --- a/pkgs/development/lisp-modules/packages.nix +++ b/pkgs/development/lisp-modules/packages.nix @@ -201,6 +201,14 @@ let ''; }; + cephes = build-with-compile-into-pwd { + inherit (super.cephes) pname version src lispLibs; + patches = [ ./patches/cephes-make.patch ]; + postConfigure = '' + substituteAllInPlace cephes.asd + ''; + }; + clx-truetype = build-asdf-system { pname = "clx-truetype"; version = "20160825-git"; diff --git a/pkgs/development/lisp-modules/patches/cephes-make.patch b/pkgs/development/lisp-modules/patches/cephes-make.patch new file mode 100644 index 000000000000..b67b5f70ad3c --- /dev/null +++ b/pkgs/development/lisp-modules/patches/cephes-make.patch @@ -0,0 +1,22 @@ +--- a/cephes.asd ++++ b/cephes.asd +@@ -5,7 +5,7 @@ + (defclass makefile (source-file) ((type :initform "m"))) + (defmethod perform ((o load-op) (c makefile)) t) + (defmethod perform ((o compile-op) (c makefile)) +- (let* ((lib-dir (system-relative-pathname "cephes" "scipy-cephes")) ++ (let* ((lib-dir #P"@out@/scipy-cephes") + (lib (make-pathname :directory `(:relative ,(namestring lib-dir)) + :name "libmd" + :type #+darwin "dylib" #+(and unix (not darwin)) "so" #+(or windows win32) "dll")) +@@ -14,7 +14,7 @@ + (format *error-output* "Library ~S exists, skipping build" lib) + (format *error-output* "Building ~S~%" lib)) + (unless built +- (chdir (native-namestring lib-dir)) ++ (chdir "scipy-cephes") + (run-program "make" :output t)))) + + (defsystem "cephes" + +Diff finished. Thu Mar 28 08:13:30 2024 diff --git a/pkgs/development/misc/resholve/README.md b/pkgs/development/misc/resholve/README.md index 439e4ea8188d..0e875a765658 100644 --- a/pkgs/development/misc/resholve/README.md +++ b/pkgs/development/misc/resholve/README.md @@ -99,20 +99,22 @@ trivial, so I'll also link to some real-world examples: - [shell.nix from abathur/tdverpy](https://github.com/abathur/tdverpy/blob/e1f956df3ed1c7097a5164e0c85b178772e277f5/shell.nix#L6-L13) ```nix -resholvedScript = resholve.writeScript "name" { - inputs = [ file ]; - interpreter = "${bash}/bin/bash"; - } '' - echo "Hello" - file . - ''; -resholvedScriptBin = resholve.writeScriptBin "name" { - inputs = [ file ]; - interpreter = "${bash}/bin/bash"; - } '' - echo "Hello" - file . - ''; +{ + resholvedScript = resholve.writeScript "name" { + inputs = [ file ]; + interpreter = "${bash}/bin/bash"; + } '' + echo "Hello" + file . + ''; + resholvedScriptBin = resholve.writeScriptBin "name" { + inputs = [ file ]; + interpreter = "${bash}/bin/bash"; + } '' + echo "Hello" + file . + ''; +} ``` @@ -212,29 +214,31 @@ This will hopefully make more sense when you see it. Here are CLI examples from the manpage, and the Nix equivalents: ```nix -# --fake 'f:setUp;tearDown builtin:setopt source:/etc/bashrc' -fake = { - # fake accepts the initial of valid identifier types as a CLI convenience. - # Use full names in the Nix API. - function = [ "setUp" "tearDown" ]; - builtin = [ "setopt" ]; - source = [ "/etc/bashrc" ]; -}; - -# --fix 'aliases $GIT:gix /bin/bash' -fix = { - # all single-word directives use `true` as value - aliases = true; - "$GIT" = [ "gix" ]; - "/bin/bash"; -}; - -# --keep 'source:$HOME /etc/bashrc ~/.bashrc' -keep = { - source = [ "$HOME" ]; - "/etc/bashrc" = true; - "~/.bashrc" = true; -}; +{ + # --fake 'f:setUp;tearDown builtin:setopt source:/etc/bashrc' + fake = { + # fake accepts the initial of valid identifier types as a CLI convenience. + # Use full names in the Nix API. + function = [ "setUp" "tearDown" ]; + builtin = [ "setopt" ]; + source = [ "/etc/bashrc" ]; + }; + + # --fix 'aliases $GIT:gix /bin/bash' + fix = { + # all single-word directives use `true` as value + aliases = true; + "$GIT" = [ "gix" ]; + interpreter = "/bin/bash"; + }; + + # --keep 'source:$HOME /etc/bashrc ~/.bashrc' + keep = { + source = [ "$HOME" ]; + "/etc/bashrc" = true; + "~/.bashrc" = true; + }; +} ``` @@ -283,27 +287,29 @@ the main lever is the ability to substitute your own lore. This is how you'd do it piecemeal: ```nix -# --execer 'cannot:${openssl.bin}/bin/openssl can:${openssl.bin}/bin/c_rehash' -execer = [ - /* - This is the same verdict binlore will - come up with. It's a no-op just to demo - how to fiddle lore via the Nix API. - */ - "cannot:${openssl.bin}/bin/openssl" - # different verdict, but not used - "can:${openssl.bin}/bin/c_rehash" -]; - -# --wrapper '${gnugrep}/bin/egrep:${gnugrep}/bin/grep' -wrapper = [ - /* - This is the same verdict binlore will - come up with. It's a no-op just to demo - how to fiddle lore via the Nix API. - */ - "${gnugrep}/bin/egrep:${gnugrep}/bin/grep" -]; +{ + # --execer 'cannot:${openssl.bin}/bin/openssl can:${openssl.bin}/bin/c_rehash' + execer = [ + /* + This is the same verdict binlore will + come up with. It's a no-op just to demo + how to fiddle lore via the Nix API. + */ + "cannot:${openssl.bin}/bin/openssl" + # different verdict, but not used + "can:${openssl.bin}/bin/c_rehash" + ]; + + # --wrapper '${gnugrep}/bin/egrep:${gnugrep}/bin/grep' + wrapper = [ + /* + This is the same verdict binlore will + come up with. It's a no-op just to demo + how to fiddle lore via the Nix API. + */ + "${gnugrep}/bin/egrep:${gnugrep}/bin/grep" + ]; +} ``` diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix index e3f79cee61f1..7e83041da136 100644 --- a/pkgs/development/php-packages/mongodb/default.nix +++ b/pkgs/development/php-packages/mongodb/default.nix @@ -15,13 +15,13 @@ buildPecl rec { pname = "mongodb"; - version = "1.17.3"; + version = "1.18.0"; src = fetchFromGitHub { owner = "mongodb"; repo = "mongo-php-driver"; rev = version; - hash = "sha256-5luaCrrnL7l9zhbxYUMSlID7Sx0MQhgFKgl8F6GkGsE="; + hash = "sha256-KrRWogmGMGaMRhU5D5xF5LTvJ6g9XSoDA5KfJxftvws="; fetchSubmodules = true; }; diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix index 9619b26a0b97..5646bf02b8a2 100644 --- a/pkgs/development/python-modules/aioambient/default.nix +++ b/pkgs/development/python-modules/aioambient/default.nix @@ -2,6 +2,7 @@ , aiohttp , aresponses , buildPythonPackage +, certifi , fetchFromGitHub , poetry-core , pytest-aiohttp @@ -27,12 +28,13 @@ buildPythonPackage rec { hash = "sha256-eqZVY0L+2BWF7cCXW/VLQYYXNPtUF6tJHQmeZNW1W5o="; }; - nativeBuildInputs = [ + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp + certifi python-engineio python-socketio websockets diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix index 01879192a82d..ebb61463bf88 100644 --- a/pkgs/development/python-modules/aiounifi/default.nix +++ b/pkgs/development/python-modules/aiounifi/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "aiounifi"; - version = "72"; + version = "73"; pyproject = true; disabled = pythonOlder "3.11"; @@ -24,22 +24,22 @@ buildPythonPackage rec { owner = "Kane610"; repo = "aiounifi"; rev = "refs/tags/v${version}"; - hash = "sha256-PrFI5ncHW4r2Re1BIqRZlz8ns6d5p6y6PASCleSmyNc="; + hash = "sha256-xs3+2f/CNabdXm8g2V+sEIR5kQguxi3nMeJLb8TVrck="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace "setuptools==" "setuptools>=" \ - --replace "wheel==" "wheel>=" + --replace-fail "setuptools==" "setuptools>=" \ + --replace-fail "wheel==" "wheel>=" sed -i '/--cov=/d' pyproject.toml ''; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp orjson segno @@ -63,10 +63,10 @@ buildPythonPackage rec { meta = with lib; { description = "Python library for communicating with Unifi Controller API"; - mainProgram = "aiounifi"; homepage = "https://github.com/Kane610/aiounifi"; changelog = "https://github.com/Kane610/aiounifi/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ ]; + mainProgram = "aiounifi"; }; } diff --git a/pkgs/development/python-modules/asgi-lifespan/default.nix b/pkgs/development/python-modules/asgi-lifespan/default.nix new file mode 100644 index 000000000000..05e21d84585f --- /dev/null +++ b/pkgs/development/python-modules/asgi-lifespan/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, setuptools +, setuptools-scm +, sniffio +}: + +buildPythonPackage rec { + pname = "asgi-lifespan"; + version = "2.1.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "florimondmanca"; + repo = "asgi-lifespan"; + rev = "refs/tags/${version}"; + hash = "sha256-Jgmd/4c1lxHM/qi3MJNN1aSSUJrI7CRNwwHrFwwcCkc="; + }; + + postPatch = '' + sed -i "/--cov/d" setup.cfg + ''; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + sniffio + ]; + + # Circular dependencies, starlette + doCheck = false; + + pythonImportsCheck = [ + "asgi_lifespan" + ]; + + meta = with lib; { + description = "Programmatic startup/shutdown of ASGI apps"; + homepage = "https://github.com/florimondmanca/asgi-lifespan"; + changelog = "https://github.com/florimondmanca/asgi-lifespan/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/asyncstdlib/default.nix b/pkgs/development/python-modules/asyncstdlib/default.nix index 57306bd01a4d..c31beceb1496 100644 --- a/pkgs/development/python-modules/asyncstdlib/default.nix +++ b/pkgs/development/python-modules/asyncstdlib/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "asyncstdlib"; - version = "3.12.1"; + version = "3.12.2"; pyproject = true; disabled = pythonOlder "3.9"; @@ -17,10 +17,10 @@ buildPythonPackage rec { owner = "maxfischer2781"; repo = "asyncstdlib"; rev = "refs/tags/v${version}"; - hash = "sha256-F7jS2EHiq+gK4a6+wJ8CA2YvwR37PP3yvbsLp3uE8R8="; + hash = "sha256-5DQM8m3aeCZAXOi+Rm+iM409juBBYdZDNqBAbhyTm/M="; }; - nativeBuildInputs = [ + build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/awswrangler/default.nix b/pkgs/development/python-modules/awswrangler/default.nix index 7cd356214d56..674b127fcae1 100644 --- a/pkgs/development/python-modules/awswrangler/default.nix +++ b/pkgs/development/python-modules/awswrangler/default.nix @@ -25,8 +25,8 @@ buildPythonPackage rec { pname = "awswrangler"; - version = "3.7.1"; - format = "pyproject"; + version = "3.7.2"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -34,14 +34,14 @@ buildPythonPackage rec { owner = "aws"; repo = "aws-sdk-pandas"; rev = "refs/tags/${version}"; - hash = "sha256-6HocnnPG/Id+49NN3WqnSYEnsijA2r13WM2NJIxVwFs="; + hash = "sha256-1eb2oTiRNxA2XTpkScA5WJutN5P6FX96jC4Ra9VdonI="; }; - nativeBuildInputs = [ + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ boto3 gremlinpython jsonpath-ng diff --git a/pkgs/development/python-modules/bases/default.nix b/pkgs/development/python-modules/bases/default.nix new file mode 100644 index 000000000000..9c25ffaa63f8 --- /dev/null +++ b/pkgs/development/python-modules/bases/default.nix @@ -0,0 +1,73 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub + +, pytestCheckHook + +, pythonOlder + +, setuptools +, wheel +, setuptools-scm + + # for tests +, base58 + +, typing-extensions +, typing-validation +}: + +buildPythonPackage rec { + pname = "bases"; + version = "0.3.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "hashberg-io"; + repo = "bases"; + rev = "refs/tags/v${version}"; + hash = "sha256-CRXVxT9uYud1CKRcdRAD0OX5sTAttrUO9E4BaavTe6A="; + }; + + build-system = [ + setuptools + wheel + setuptools-scm + ]; + + dependencies = [ + typing-extensions + typing-validation + ]; + + nativeCheckInputs = [ + pytestCheckHook + base58 + ]; + + pythonImportsCheck = [ + "bases" + "bases.alphabet" + "bases.alphabet.abstract" + "bases.alphabet.range_alphabet" + "bases.alphabet.string_alphabet" + "bases.encoding" + "bases.encoding.base" + "bases.encoding.block" + "bases.encoding.errors" + "bases.encoding.fixchar" + "bases.encoding.simple" + "bases.encoding.zeropad" + "bases.random" + ]; + + meta = { + description = "Python library for general Base-N encodings"; + homepage = "https://github.com/hashberg-io/bases"; + changelog = "https://github.com/hashberg-io/bases/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vizid ]; + }; +} diff --git a/pkgs/development/python-modules/bidict/default.nix b/pkgs/development/python-modules/bidict/default.nix index c42ebffad538..871e896dbd95 100644 --- a/pkgs/development/python-modules/bidict/default.nix +++ b/pkgs/development/python-modules/bidict/default.nix @@ -50,6 +50,6 @@ buildPythonPackage rec { changelog = "https://bidict.readthedocs.io/changelog.html"; description = "The bidirectional mapping library for Python."; license = licenses.mpl20; - maintainers = with maintainers; [ jakewaksbaum ]; + maintainers = with maintainers; [ jab jakewaksbaum ]; }; } diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index e792f1e6bf93..a5e202469480 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -365,14 +365,14 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.34.70"; + version = "1.34.72"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-WlF4VNAeHKXYEX7NYP0Ehw9uuRAI+tZ13Wr/NinzF7U="; + hash = "sha256-eQPciiA763TWI3smauBk/1qbJ2B0r3UAt9tIVEZJWWo="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/cocotb/0002-Patch-remove-test_unicode_handle_assignment_deprecated-test.patch b/pkgs/development/python-modules/cocotb/0002-Patch-remove-test_unicode_handle_assignment_deprecated-test.patch new file mode 100644 index 000000000000..f1a6c7f975fa --- /dev/null +++ b/pkgs/development/python-modules/cocotb/0002-Patch-remove-test_unicode_handle_assignment_deprecated-test.patch @@ -0,0 +1,25 @@ +diff --git a/tests/test_cases/test_cocotb/test_deprecated.py b/tests/test_cases/test_cocotb/test_deprecated.py +index 523b93ba..b4f1701e 100644 +--- a/tests/test_cases/test_cocotb/test_deprecated.py ++++ b/tests/test_cases/test_cocotb/test_deprecated.py +@@ -26,20 +26,6 @@ async def test_returnvalue_deprecated(dut): + assert val == 42 + + +-# strings are not supported on Icarus (gh-2585) or GHDL (gh-2584) +-@cocotb.test( +- expect_error=AttributeError +- if cocotb.SIM_NAME.lower().startswith("icarus") +- else TypeError +- if cocotb.SIM_NAME.lower().startswith("ghdl") +- else () +-) +-async def test_unicode_handle_assignment_deprecated(dut): +- with pytest.warns(DeprecationWarning, match=".*bytes.*"): +- dut.stream_in_string.value = "Bad idea" +- await cocotb.triggers.ReadWrite() +- +- + @cocotb.test() + async def test_convert_handle_to_string_deprecated(dut): + dut.stream_in_data.value = 0 diff --git a/pkgs/development/python-modules/cocotb/default.nix b/pkgs/development/python-modules/cocotb/default.nix index 0e758490b803..8d996a4ebb04 100644 --- a/pkgs/development/python-modules/cocotb/default.nix +++ b/pkgs/development/python-modules/cocotb/default.nix @@ -52,6 +52,10 @@ buildPythonPackage rec { patches = [ # Fix "can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) file" error ./0001-Patch-LDCXXSHARED-for-macOS-along-with-LDSHARED.patch + + # For the 1.8.1 release only: remove the test_unicode_handle_assignment_deprecated test + # It's more thoroughly removed upstream master with 425e1edb8e7133f4a891f2f87552aa2748cd8d2c + ./0002-Patch-remove-test_unicode_handle_assignment_deprecated-test.patch ]; nativeCheckInputs = [ cocotb-bus pytestCheckHook swig verilog ghdl ]; diff --git a/pkgs/development/python-modules/dbt-bigquery/default.nix b/pkgs/development/python-modules/dbt-bigquery/default.nix index cb1d12bca703..d6401c6502a0 100644 --- a/pkgs/development/python-modules/dbt-bigquery/default.nix +++ b/pkgs/development/python-modules/dbt-bigquery/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "dbt-bigquery"; - version = "1.7.6"; + version = "1.7.7"; pyproject = true; disabled = pythonOlder "3.7"; @@ -24,19 +24,19 @@ buildPythonPackage rec { owner = "dbt-labs"; repo = "dbt-bigquery"; rev = "refs/tags/v${version}"; - hash = "sha256-bF2++Bs4pvqA3GW2xJkRNa1HkqnHBbMnKHHjo1TWboM="; + hash = "sha256-+UF49ReSxKQ8ouutOv1b9JcU/6CNk7Yw8f1/tlRvwnU="; }; - nativeBuildInputs = [ - pythonRelaxDepsHook - setuptools - ]; - pythonRelaxDeps = [ "agate" ]; - propagatedBuildInputs = [ + build-system = [ + pythonRelaxDepsHook + setuptools + ]; + + dependencies = [ agate dbt-core google-cloud-bigquery diff --git a/pkgs/development/python-modules/dbt-core/default.nix b/pkgs/development/python-modules/dbt-core/default.nix index b537da2a3055..9a165b4925ca 100644 --- a/pkgs/development/python-modules/dbt-core/default.nix +++ b/pkgs/development/python-modules/dbt-core/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { pname = "dbt-core"; - version = "1.7.10"; + version = "1.7.11"; pyproject = true; disabled = pythonOlder "3.8"; @@ -42,26 +42,27 @@ buildPythonPackage rec { owner = "dbt-labs"; repo = "dbt-core"; rev = "refs/tags/v${version}"; - hash = "sha256-0cKzQjAnj0JMrHyA/gOgYceM6g1URJFgQtp90m09Nkw="; + hash = "sha256-r51aki1fuHfp6gWkzOMA92xFeM0MXFPrNq77aKTYYWA="; }; sourceRoot = "${src.name}/core"; - nativeBuildInputs = [ - pythonRelaxDepsHook - setuptools - ]; - pythonRelaxDeps = [ "agate" "click" "mashumaro" "networkx" "logbook" + "pathspec" "urllib3" ]; - propagatedBuildInputs = [ + build-system = [ + pythonRelaxDepsHook + setuptools + ]; + + dependencies = [ agate cffi click diff --git a/pkgs/development/python-modules/dbt-postgres/default.nix b/pkgs/development/python-modules/dbt-postgres/default.nix index b2852ce6d214..d2669cb2357e 100644 --- a/pkgs/development/python-modules/dbt-postgres/default.nix +++ b/pkgs/development/python-modules/dbt-postgres/default.nix @@ -19,11 +19,11 @@ buildPythonPackage { env.DBT_PSYCOPG2_NAME = "psycopg2"; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ agate dbt-core psycopg2 diff --git a/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix b/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix index 894dbed29f26..d63a0cee0447 100644 --- a/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix +++ b/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix @@ -36,12 +36,12 @@ buildPythonPackage rec { "importlib-metadata" ]; - nativeBuildInputs = [ + build-system = [ hatchling pythonRelaxDepsHook ]; - propagatedBuildInputs = [ + dependencies = [ click dateutils importlib-metadata @@ -63,9 +63,9 @@ buildPythonPackage rec { ]; meta = with lib; { - changelog = "https://github.com/dbt-labs/dbt-semantic-interfaces/releases/tag/v${version}"; - description = "shared interfaces used by dbt-core and MetricFlow projects"; + description = "Shared interfaces used by dbt-core and MetricFlow projects"; homepage = "https://github.com/dbt-labs/dbt-semantic-interfaces"; + changelog = "https://github.com/dbt-labs/dbt-semantic-interfaces/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ pbsds ]; }; diff --git a/pkgs/development/python-modules/dbt-snowflake/default.nix b/pkgs/development/python-modules/dbt-snowflake/default.nix index ef3cb866c2b2..a25ffaba5581 100644 --- a/pkgs/development/python-modules/dbt-snowflake/default.nix +++ b/pkgs/development/python-modules/dbt-snowflake/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "dbt-snowflake"; - version = "1.7.2"; + version = "1.7.3"; pyproject = true; disabled = pythonOlder "3.7"; @@ -19,14 +19,14 @@ buildPythonPackage rec { owner = "dbt-labs"; repo = "dbt-snowflake"; rev = "refs/tags/v${version}"; - hash = "sha256-OyUBqSNHMedCDsY280O8VAmxeyeF5J0snk5o6XhE2V4="; + hash = "sha256-ksnLQdoXR8KVtYTFdlaWT8UYjAsLNyEVVap/QHtm+j8="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ dbt-core snowflake-connector-python ] ++ snowflake-connector-python.optional-dependencies.secure-local-storage; diff --git a/pkgs/development/python-modules/deal/default.nix b/pkgs/development/python-modules/deal/default.nix index b24d8be44826..41d966c8f1e8 100644 --- a/pkgs/development/python-modules/deal/default.nix +++ b/pkgs/development/python-modules/deal/default.nix @@ -1,49 +1,49 @@ { lib +, astroid , buildPythonPackage -, pythonOlder +, deal-solver +, docstring-parser , fetchFromGitHub , flit-core -, astroid -, pytestCheckHook -, docstring-parser -, marshmallow -, sphinx , hypothesis -, vaa -, deal-solver +, marshmallow , pygments +, pytestCheckHook +, pythonOlder +, sphinx , typeguard , urllib3 -, flake8 +, vaa }: buildPythonPackage rec { pname = "deal"; - version = "4.24.3"; - format = "pyproject"; + version = "4.24.4"; + pyproject = true; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "life4"; - repo = pname; + repo = "deal"; rev = "refs/tags/${version}"; - hash = "sha256-QlM3d/jmg6v3L3D45+cgcCej71U1dl4uZ6sAYGGm3tU="; + hash = "sha256-4orpoYfPGSvquhg9w63uUe8QbBa2RUpxaEJ9uy28+fU="; }; postPatch = '' # don't do coverage substituteInPlace pyproject.toml \ - --replace "\"--cov-fail-under=100\"," "" \ - --replace "\"--cov=deal\"," "" \ - --replace "\"--cov-report=html\"," "" \ - --replace "\"--cov-report=term-missing:skip-covered\"," "" + --replace-fail '"--cov-fail-under=100",' "" \ + --replace-fail '"--cov=deal",' "" \ + --replace-fail '"--cov-report=html",' "" \ + --replace-fail '"--cov-report=term-missing:skip-covered",' "" ''; - nativeBuildInputs = [ + build-system = [ flit-core ]; - propagatedBuildInputs = [ + dependencies = [ astroid deal-solver pygments @@ -51,15 +51,13 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ - pytestCheckHook - docstring-parser + hypothesis marshmallow + pytestCheckHook sphinx - hypothesis - vaa urllib3 - flake8 + vaa ]; pytestFlagsArray = [ @@ -67,7 +65,7 @@ buildPythonPackage rec { ]; disabledTests = [ - # needs internet access + # Tests need internet access "test_smoke_has" "test_pure_offline" "test_raises_doesnt_override_another_contract" @@ -84,25 +82,30 @@ buildPythonPackage rec { # assert errors "test_doctest" "test_no_violations" + "test_source_get_lambda_multiline_splitted_dec" ]; disabledTestPaths = [ - # needs internet access + # Test needs internet access "tests/test_runtime/test_offline.py" # depends on typeguard <4.0.0 for tests, but >=4.0.0 seems fine for runtime # https://github.com/life4/deal/blob/9be70fa1c5a0635880619b2cea83a9f6631eb236/pyproject.toml#L40 "tests/test_testing.py" ]; - pythonImportsCheck = [ "deal" ]; + pythonImportsCheck = [ + "deal" + ]; meta = with lib; { description = "Library for design by contract (DbC) and checking values, exceptions, and side-effects"; longDescription = '' In a nutshell, deal empowers you to write bug-free code. - By adding a few decorators to your code, you get for free tests, static analysis, formal verification, and much more + By adding a few decorators to your code, you get for free tests, static analysis, formal verification, + and much more. ''; homepage = "https://github.com/life4/deal"; + changelog = "https://github.com/life4/deal/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ gador ]; }; diff --git a/pkgs/development/python-modules/deprecat/default.nix b/pkgs/development/python-modules/deprecat/default.nix index 194859ad531a..a87394dea289 100644 --- a/pkgs/development/python-modules/deprecat/default.nix +++ b/pkgs/development/python-modules/deprecat/default.nix @@ -10,22 +10,22 @@ buildPythonPackage rec { pname = "deprecat"; version = "2.1.2"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "mjhajharia"; - repo = pname; + repo = "deprecat"; rev = "refs/tags/v${version}"; hash = "sha256-uAabZAtZDhcX6TfiM0LnrAzxxS64ys+vdodmxO//0x8="; }; - nativeBuildInputs = [ + build-system = [ setuptools-scm ]; - propagatedBuildInputs = [ + dependencies = [ wrapt ]; @@ -37,6 +37,11 @@ buildPythonPackage rec { "deprecat" ]; + disabledTestPaths = [ + # https://github.com/mjhajharia/deprecat/issues/13 + "tests/test_sphinx.py" + ]; + meta = with lib; { description = "Decorator to deprecate old python classes, functions or methods"; homepage = "https://github.com/mjhajharia/deprecat"; diff --git a/pkgs/development/python-modules/dirigera/default.nix b/pkgs/development/python-modules/dirigera/default.nix index a2856ba209ea..96c62ee20089 100644 --- a/pkgs/development/python-modules/dirigera/default.nix +++ b/pkgs/development/python-modules/dirigera/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "dirigera"; - version = "1.0.11"; + version = "1.0.12"; pyproject = true; disabled = pythonOlder "3.7"; @@ -20,14 +20,14 @@ buildPythonPackage rec { owner = "Leggin"; repo = "dirigera"; rev = "refs/tags/v${version}"; - hash = "sha256-kZlmfoGbvSv13+UqCE73ToLfrzzQ9AOxefRTxUvxMCg="; + hash = "sha256-e8kbMP5ih7MBozFbylLEBR9DrS894X4xZh62OLLSgFw="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ pydantic requests websocket-client @@ -43,10 +43,10 @@ buildPythonPackage rec { meta = with lib; { description = "Module for controlling the IKEA Dirigera Smart Home Hub"; - mainProgram = "generate-token"; homepage = "https://github.com/Leggin/dirigera"; changelog = "https://github.com/Leggin/dirigera/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "generate-token"; }; } diff --git a/pkgs/development/python-modules/django/5.nix b/pkgs/development/python-modules/django/5.nix index 7bbc36f27af8..2fe896e3bd3d 100644 --- a/pkgs/development/python-modules/django/5.nix +++ b/pkgs/development/python-modules/django/5.nix @@ -2,7 +2,6 @@ , stdenv , buildPythonPackage , fetchPypi -, fetchpatch2 , pythonOlder , substituteAll @@ -64,11 +63,6 @@ buildPythonPackage rec { # disable test that excpects timezone issues ./django_5_disable_failing_tests.patch - (fetchpatch2 { - # fix test on 3.12; https://github.com/django/django/pull/17843 - url = "https://github.com/django/django/commit/bc8471f0aac8f0c215b9471b594d159783bac19b.patch"; - hash = "sha256-g1T9b73rmQ0uk1lB+iQy1XwK3Qin3mf5wpRsyYISJaw="; - }) ] ++ lib.optionals withGdal [ (substituteAll { src = ./django_5_set_geos_gdal_lib.patch; diff --git a/pkgs/development/python-modules/dnf-plugins-core/default.nix b/pkgs/development/python-modules/dnf-plugins-core/default.nix index 81404145e8b8..70259804158b 100644 --- a/pkgs/development/python-modules/dnf-plugins-core/default.nix +++ b/pkgs/development/python-modules/dnf-plugins-core/default.nix @@ -22,7 +22,7 @@ in buildPythonPackage rec { pname = "dnf-plugins-core"; - version = "4.5.0"; + version = "4.6.0"; format = "other"; outputs = [ "out" "man" ]; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "rpm-software-management"; repo = "dnf-plugins-core"; rev = "refs/tags/${version}"; - hash = "sha256-og20X2AUzoOphwF+508EobGEp/VYLtxWY7N4k327o8o="; + hash = "sha256-7LaI5EungJrOPgxDzK/pi4X+D3PPsrbIjYdCknKIiHA="; }; patches = [ diff --git a/pkgs/development/python-modules/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix index 885e4915d1af..72cb75d784c0 100644 --- a/pkgs/development/python-modules/dvc/default.nix +++ b/pkgs/development/python-modules/dvc/default.nix @@ -57,7 +57,7 @@ buildPythonPackage rec { pname = "dvc"; - version = "3.48.4"; + version = "3.49.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -66,7 +66,7 @@ buildPythonPackage rec { owner = "iterative"; repo = "dvc"; rev = "refs/tags/${version}"; - hash = "sha256-vO+i0BU8mQuLfgb1rcGRmlb8gpHsRxgdwuJHRERA4Pw="; + hash = "sha256-Qu2+zTcTIPxLRZn1GB3Q6465kSEAuN+wessBVgxEdFU="; }; pythonRelaxDeps = [ @@ -76,17 +76,17 @@ buildPythonPackage rec { postPatch = '' substituteInPlace dvc/analytics.py \ - --replace 'enabled = not os.getenv(DVC_NO_ANALYTICS)' 'enabled = False' + --replace-fail 'enabled = not os.getenv(DVC_NO_ANALYTICS)' 'enabled = False' substituteInPlace dvc/daemon.py \ --subst-var-by dvc "$out/bin/dcv" ''; - nativeBuildInputs = [ + build-system = [ pythonRelaxDepsHook setuptools-scm ]; - propagatedBuildInputs = [ + dependencies = [ appdirs colorama configobj @@ -166,10 +166,10 @@ buildPythonPackage rec { meta = with lib; { description = "Version Control System for Machine Learning Projects"; - mainProgram = "dvc"; homepage = "https://dvc.org"; changelog = "https://github.com/iterative/dvc/releases/tag/${version}"; license = licenses.asl20; maintainers = with maintainers; [ cmcdragonkai fab ]; + mainProgram = "dvc"; }; } diff --git a/pkgs/development/python-modules/extract-msg/default.nix b/pkgs/development/python-modules/extract-msg/default.nix index 592172fc3d25..6c6e23370261 100644 --- a/pkgs/development/python-modules/extract-msg/default.nix +++ b/pkgs/development/python-modules/extract-msg/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "extract-msg"; - version = "0.48.3"; + version = "0.48.4"; pyproject = true; disabled = pythonOlder "3.7"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "TeamMsgExtractor"; repo = "msg-extractor"; rev = "refs/tags/v${version}"; - hash = "sha256-oN5blYU8LR2O1LEb6naL33UXjBk9xpINl4h6HSaN7PQ="; + hash = "sha256-xX25RVtkUFn+j9rALOHQOTRzqJXiEMn7i9pxCJ8so4U="; }; pythonRelaxDeps = [ @@ -33,12 +33,12 @@ buildPythonPackage rec { "red-black-tree-mod" ]; - nativeBuildInputs = [ + build-system = [ pythonRelaxDepsHook setuptools ]; - propagatedBuildInputs = [ + dependencies = [ beautifulsoup4 compressed-rtf ebcdic diff --git a/pkgs/development/python-modules/fjaraskupan/default.nix b/pkgs/development/python-modules/fjaraskupan/default.nix index 3068d6542ed7..533847786c89 100644 --- a/pkgs/development/python-modules/fjaraskupan/default.nix +++ b/pkgs/development/python-modules/fjaraskupan/default.nix @@ -5,23 +5,28 @@ , pytest-mock , pytestCheckHook , pythonOlder +, setuptools }: buildPythonPackage rec { pname = "fjaraskupan"; - version = "2.2.0"; - format = "setuptools"; + version = "2.3.0"; + pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "elupus"; - repo = pname; + repo = "fjaraskupan"; rev = "refs/tags/${version}"; - hash = "sha256-0tNLwYckWF9GjhniEkiO+A+xDsUriUsMFZxG/FmUfps="; + hash = "sha256-3jw42lsCwNkFptMNpnhtbrPIkZP/8lUCcMigzq8Hbc4="; }; - propagatedBuildInputs = [ + nativeBuildInputs = [ + setuptools + ]; + + dependencies = [ bleak ]; @@ -37,6 +42,7 @@ buildPythonPackage rec { meta = with lib; { description = "Module for controlling Fjäråskupan kitchen fans"; homepage = "https://github.com/elupus/fjaraskupan"; + changelog = "https://github.com/elupus/fjaraskupan/releases/tag/${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/flask-restx/default.nix b/pkgs/development/python-modules/flask-restx/default.nix index 106f6cc82165..1a9a27dc0315 100644 --- a/pkgs/development/python-modules/flask-restx/default.nix +++ b/pkgs/development/python-modules/flask-restx/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , buildPythonPackage , fetchFromGitHub , pythonOlder @@ -16,24 +17,29 @@ , pytest-mock , pytest-benchmark , pytestCheckHook +, setuptools }: buildPythonPackage rec { pname = "flask-restx"; version = "1.3.0"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.8"; # Tests not included in PyPI tarball src = fetchFromGitHub { owner = "python-restx"; - repo = pname; + repo = "flask-restx"; rev = "refs/tags/${version}"; hash = "sha256-CBReP/u96fsr28lMV1BfLjjdBMXEvsD03wvsxkIcteI="; }; - propagatedBuildInputs = [ + build-system = [ + setuptools + ]; + + dependencies = [ aniso8601 flask importlib-resources @@ -58,6 +64,8 @@ buildPythonPackage rec { "--deselect=tests/test_inputs.py::URLTest::test_check" "--deselect=tests/test_inputs.py::EmailTest::test_valid_value_check" "--deselect=tests/test_logging.py::LoggingTest::test_override_app_level" + ] ++ lib.optionals stdenv.isDarwin [ + "--deselect=tests/test_inputs.py::EmailTest::test_invalid_values_check" ]; disabledTests = [ diff --git a/pkgs/development/python-modules/githubkit/default.nix b/pkgs/development/python-modules/githubkit/default.nix index ad737eb7b3bc..ac9ed0be67d5 100644 --- a/pkgs/development/python-modules/githubkit/default.nix +++ b/pkgs/development/python-modules/githubkit/default.nix @@ -37,7 +37,7 @@ buildPythonPackage rec { --replace-fail "--cov=githubkit --cov-append --cov-report=term-missing" "" ''; - build-systems = [ + build-system = [ poetry-core pythonRelaxDepsHook ]; diff --git a/pkgs/development/python-modules/glean-parser/default.nix b/pkgs/development/python-modules/glean-parser/default.nix index 7f0dfe2d5e87..86a4c6248f5d 100644 --- a/pkgs/development/python-modules/glean-parser/default.nix +++ b/pkgs/development/python-modules/glean-parser/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "glean-parser"; - version = "13.0.0"; + version = "13.0.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "glean_parser"; inherit version; - hash = "sha256-gzeAyrfgVwNLNSeGIDr5TyGvywCUy+1gEEcfXcIaX5E="; + hash = "sha256-/urUy+xpMO04pI31uunrTuSGu0Am3fLzIGuF+AJ50ec="; }; postPatch = '' diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix index c4517465a55c..f69f56fb510d 100644 --- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix +++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "google-cloud-pubsub"; - version = "2.20.3"; + version = "2.21.0"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-dq8PF5UJ5DHSu+P1H0JiVng9yVm49FjBNwyxnW974LE="; + hash = "sha256-lAF/C8moX6P02RPzEukwoP4hd1vWjd5cZm4vGxrd+BE="; }; build-system = [ diff --git a/pkgs/development/python-modules/hishel/default.nix b/pkgs/development/python-modules/hishel/default.nix index 2deba68019e5..112d8759c62c 100644 --- a/pkgs/development/python-modules/hishel/default.nix +++ b/pkgs/development/python-modules/hishel/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "hishel"; - version = "0.0.24"; + version = "0.0.25"; pyproject = true; disabled = pythonOlder "3.8"; @@ -26,15 +26,15 @@ buildPythonPackage rec { owner = "karpetrosyan"; repo = "hishel"; rev = "refs/tags/${version}"; - hash = "sha256-wup1rQ5MHjsBaTdfueP9y7QhutoO0xYeexZPDQpUEJk="; + hash = "sha256-vDzXrAGJUqG9+wOUWXeKLYraUrILJFAQXf60iCAHRPo="; }; - nativeBuildInputs = [ + build-system = [ hatch-fancy-pypi-readme hatchling ]; - propagatedBuildInputs = [ + dependencies = [ httpx ]; diff --git a/pkgs/development/python-modules/icontract/default.nix b/pkgs/development/python-modules/icontract/default.nix index e525cf89cca2..f8b9fd589f18 100644 --- a/pkgs/development/python-modules/icontract/default.nix +++ b/pkgs/development/python-modules/icontract/default.nix @@ -1,26 +1,28 @@ { lib -, buildPythonPackage -, pythonOlder -, fetchFromGitHub , astor , asttokens , asyncstdlib +, buildPythonPackage , deal , dpcontracts +, fetchFromGitHub , numpy , pytestCheckHook +, pythonOlder +, setuptools , typing-extensions }: buildPythonPackage rec { pname = "icontract"; version = "2.6.6"; - format = "setuptools"; + pyproject = true; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "Parquery"; - repo = pname; + repo = "icontract"; rev = "refs/tags/v${version}"; hash = "sha256-R5/FBfuTvXItfTlNZMSnO18Q+etnHbQyXFWpaOpOLes="; }; @@ -32,7 +34,11 @@ buildPythonPackage rec { export ICONTRACT_SLOW=1 ''; - propagatedBuildInputs = [ + build-system = [ + setuptools + ]; + + dependencies = [ asttokens typing-extensions ]; @@ -46,11 +52,16 @@ buildPythonPackage rec { pytestCheckHook ]; + disabledTests = [ + # AssertionError + "test_abstract_method_not_implemented" + ]; + disabledTestPaths = [ # mypy decorator checks don't pass. For some reason mypy # doesn't check the python file provided in the test. "tests/test_mypy_decorators.py" - # those tests seems to simply re-run some typeguard tests + # Those tests seems to simply re-run some typeguard tests "tests/test_typeguard.py" ]; @@ -59,7 +70,9 @@ buildPythonPackage rec { "-W" "ignore::RuntimeWarning" ]; - pythonImportsCheck = [ "icontract" ]; + pythonImportsCheck = [ + "icontract" + ]; meta = with lib; { description = "Provide design-by-contract with informative violation messages"; diff --git a/pkgs/development/python-modules/jupyter-server/default.nix b/pkgs/development/python-modules/jupyter-server/default.nix index 6b0160202d87..fbde4773c80e 100644 --- a/pkgs/development/python-modules/jupyter-server/default.nix +++ b/pkgs/development/python-modules/jupyter-server/default.nix @@ -70,6 +70,9 @@ buildPythonPackage rec { overrides ]; + # https://github.com/NixOS/nixpkgs/issues/299427 + stripExclude = lib.optionals stdenv.isDarwin [ "favicon.ico" ]; + nativeCheckInputs = [ ipykernel pytestCheckHook diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix index 6746fd6eb710..e9c0b9cb07c4 100644 --- a/pkgs/development/python-modules/karton-core/default.nix +++ b/pkgs/development/python-modules/karton-core/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "karton-core"; - version = "5.3.3"; + version = "5.3.4"; pyproject = true; disabled = pythonOlder "3.7"; @@ -20,14 +20,14 @@ buildPythonPackage rec { owner = "CERT-Polska"; repo = "karton"; rev = "refs/tags/v${version}"; - hash = "sha256-RVHhMKoQAqsddziK/vWGynSL9mxMuccNEGzoJTx8KAA="; + hash = "sha256-q12S80GZFyh7zU6iMeCkyIesMK8qXtZ1B69w8H5LpOU="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ boto3 orjson redis diff --git a/pkgs/development/python-modules/kubernetes/default.nix b/pkgs/development/python-modules/kubernetes/default.nix index bb3bd33e469e..7818871db1b7 100644 --- a/pkgs/development/python-modules/kubernetes/default.nix +++ b/pkgs/development/python-modules/kubernetes/default.nix @@ -1,14 +1,15 @@ { lib , stdenv -, buildPythonPackage -, fetchFromGitHub -, pythonOlder - -# propgatedBuildInputs , adal +, buildPythonPackage , certifi +, fetchFromGitHub , google-auth +, mock +, pytestCheckHook , python-dateutil +, pythonOlder +, pythonRelaxDepsHook , pyyaml , requests , requests-oauthlib @@ -16,16 +17,12 @@ , six , urllib3 , websocket-client - -# tests -, pytestCheckHook -, mock }: buildPythonPackage rec { pname = "kubernetes"; version = "28.1.0"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.6"; @@ -36,20 +33,38 @@ buildPythonPackage rec { hash = "sha256-NKrxv5a5gkgpNG7yViTKYBYnU249taWl6fkPJa7/Rzo="; }; - propagatedBuildInputs = [ - adal + postPatch = '' + substituteInPlace kubernetes/base/config/kube_config_test.py \ + --replace-fail "assertEquals" "assertEqual" + ''; + + pythonRelaxDeps = [ + "urllib3" + ]; + + build-system = [ + pythonRelaxDepsHook + setuptools + ]; + + dependencies = [ certifi google-auth python-dateutil pyyaml requests requests-oauthlib - setuptools six urllib3 websocket-client ]; + passthru.optional-dependencies = { + adal = [ + adal + ]; + }; + pythonImportsCheck = [ "kubernetes" ]; @@ -57,7 +72,7 @@ buildPythonPackage rec { nativeCheckInputs = [ mock pytestCheckHook - ]; + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); disabledTests = lib.optionals stdenv.isDarwin [ # AssertionError: <class 'urllib3.poolmanager.ProxyManager'> != <class 'urllib3.poolmanager.Poolmanager'> @@ -67,6 +82,7 @@ buildPythonPackage rec { meta = with lib; { description = "Kubernetes Python client"; homepage = "https://github.com/kubernetes-client/python"; + changelog = "https://github.com/kubernetes-client/python/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ lsix ]; }; diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix index 0f0492c1c4b4..95786643d458 100644 --- a/pkgs/development/python-modules/langchain-community/default.nix +++ b/pkgs/development/python-modules/langchain-community/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "langchain-community"; - version = "0.0.27"; + version = "0.0.29"; pyproject = true; disabled = pythonOlder "3.8"; @@ -25,7 +25,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "langchain_community"; inherit version; - hash = "sha256-Jm3/vUwWZtsYicrZU/pRAtTev/eCM1NTtteGNqdhd40="; + hash = "sha256-2IEH+vqf4sVzPaljDGjZ7lHNM7HIiklQ56LZo49+eqM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index 350e9a903690..d1a48870d255 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "langchain-core"; - version = "0.1.32"; + version = "0.1.36"; pyproject = true; disabled = pythonOlder "3.8"; @@ -24,7 +24,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "langchain_core"; inherit version; - hash = "sha256-1iaDvsvyD1HxKHV5GgQjIPReqgyHomfTC8A7waB/XsI="; + hash = "sha256-qiQyNwyj0qXW3RSoEKpkiL8vYi/3oKPcMPbg7Z1/X6g="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index f9352c5f9876..1fc9cd416ecd 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -52,7 +52,7 @@ buildPythonPackage rec { pname = "langchain"; - version = "0.1.11"; + version = "0.1.13"; pyproject = true; disabled = pythonOlder "3.8"; @@ -61,7 +61,7 @@ buildPythonPackage rec { owner = "langchain-ai"; repo = "langchain"; rev = "refs/tags/v${version}"; - hash = "sha256-I7H8W85WJCt8Dkep5UvFRVuhJS8uAeg0xF9mNPZwm2g="; + hash = "sha256-tBEO0GOY1cqO5FOYnBXAOSupSRhcoI9u4Nu4FieId74="; }; sourceRoot = "${src.name}/libs/langchain"; diff --git a/pkgs/development/python-modules/langsmith/default.nix b/pkgs/development/python-modules/langsmith/default.nix index 33fcdcad63f0..79fbbb1ed893 100644 --- a/pkgs/development/python-modules/langsmith/default.nix +++ b/pkgs/development/python-modules/langsmith/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "langsmith"; - version = "0.1.31"; + version = "0.1.36"; pyproject = true; disabled = pythonOlder "3.8"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "langchain-ai"; repo = "langsmith-sdk"; rev = "refs/tags/v${version}"; - hash = "sha256-eQ2oP1I7uc9s9vrDqKCIqMGuh1+MjUpLFukp3Fg0RM0="; + hash = "sha256-YHYzC4c7VOPBiBgtJcN/hPccZMJBL5E8VsIAwErhWjg="; }; sourceRoot = "${src.name}/python"; @@ -33,12 +33,12 @@ buildPythonPackage rec { "orjson" ]; - nativeBuildInputs = [ + build-system = [ poetry-core pythonRelaxDepsHook ]; - propagatedBuildInputs = [ + dependencies = [ orjson pydantic requests diff --git a/pkgs/development/python-modules/libretranslate/default.nix b/pkgs/development/python-modules/libretranslate/default.nix index 8afdbf97e184..042fd5d404d1 100644 --- a/pkgs/development/python-modules/libretranslate/default.nix +++ b/pkgs/development/python-modules/libretranslate/default.nix @@ -1,7 +1,9 @@ { lib , buildPythonPackage , fetchFromGitHub +, pythonRelaxDepsHook , pytestCheckHook +, hatchling , argostranslate , flask , flask-swagger @@ -11,6 +13,8 @@ , flask-session , waitress , expiringdict +, langdetect +, lexilang , ltpycld2 , morfessor , appdirs @@ -27,8 +31,7 @@ buildPythonPackage rec { pname = "libretranslate"; version = "1.5.6"; - - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "LibreTranslate"; @@ -37,7 +40,14 @@ buildPythonPackage rec { hash = "sha256-43VnxgtapMRKyXxqsvBgSMUxvpbLI+iOfW3FA0/POpE="; }; - propagatedBuildInputs = [ + build-system = [ + hatchling + pythonRelaxDepsHook + ]; + + pythonRelaxDeps = true; + + dependencies = [ argostranslate flask flask-swagger @@ -47,6 +57,8 @@ buildPythonPackage rec { flask-session waitress expiringdict + langdetect + lexilang ltpycld2 morfessor appdirs @@ -59,14 +71,6 @@ buildPythonPackage rec { polib ]; - postPatch = '' - substituteInPlace requirements.txt \ - --replace "==" ">=" - - substituteInPlace setup.py \ - --replace "'pytest-runner'" "" - ''; - postInstall = '' # expose static files to be able to serve them via web-server mkdir -p $out/share/libretranslate diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix index 7204e502d8ec..1d26117e5ba1 100644 --- a/pkgs/development/python-modules/libtmux/default.nix +++ b/pkgs/development/python-modules/libtmux/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "libtmux"; - version = "0.35.0"; + version = "0.36.0"; pyproject = true; src = fetchFromGitHub { owner = "tmux-python"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-1Xt2sl4L56TnveufD2j9k6eQQ+HllDxagv1APrErQYc="; + hash = "sha256-oJ2IGaPFMKA/amUEPZi1UO9vZtjPNQg3SIFjQWzUeSE="; }; postPatch = '' diff --git a/pkgs/development/python-modules/llama-index-agent-openai/default.nix b/pkgs/development/python-modules/llama-index-agent-openai/default.nix index 5663e9f11828..550b08375559 100644 --- a/pkgs/development/python-modules/llama-index-agent-openai/default.nix +++ b/pkgs/development/python-modules/llama-index-agent-openai/default.nix @@ -1,25 +1,36 @@ { lib , buildPythonPackage -, fetchFromGitHub +, fetchPypi , llama-index-core , llama-index-llms-openai , poetry-core +, pythonOlder +, pythonRelaxDepsHook }: buildPythonPackage rec { pname = "llama-index-agent-openai"; + version = "0.2.0"; + pyproject = true; - inherit (llama-index-core) version src meta; + disabled = pythonOlder "3.8"; - pyproject = true; + src = fetchPypi { + pname = "llama_index_agent_openai"; + inherit version; + hash = "sha256-iDHuNk1TeBNAG6LK38JnAdPRrVODhQ9+fdytL1aNlO8="; + }; - sourceRoot = "${src.name}/llama-index-integrations/agent/${pname}"; + pythonRelaxDeps = [ + "llama-index-llms-openai" + ]; - nativeBuildInputs = [ + build-system = [ poetry-core + pythonRelaxDepsHook ]; - propagatedBuildInputs = [ + dependencies = [ llama-index-core llama-index-llms-openai ]; @@ -27,4 +38,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "llama_index.agent.openai" ]; + + meta = with lib; { + description = "LlamaIndex Agent Integration for OpenAI"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/agent/llama-index-agent-openai"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; } diff --git a/pkgs/development/python-modules/llama-index-core/default.nix b/pkgs/development/python-modules/llama-index-core/default.nix index 45b92fdae27b..5146eca9d4d6 100644 --- a/pkgs/development/python-modules/llama-index-core/default.nix +++ b/pkgs/development/python-modules/llama-index-core/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { pname = "llama-index-core"; - version = "0.10.23"; + version = "0.10.25"; pyproject = true; disabled = pythonOlder "3.8"; @@ -39,7 +39,7 @@ buildPythonPackage rec { owner = "run-llama"; repo = "llama_index"; rev = "refs/tags/v${version}"; - hash = "sha256-koFdHpcMX4Qg+LLDcjHx4wYxHnrJaAqebpba0ejINzo="; + hash = "sha256-E06Fxj6dD0BVYpme107IdgGg0Y7vhNR9zFvyKL0Yqws="; }; sourceRoot = "${src.name}/${pname}"; diff --git a/pkgs/development/python-modules/llama-index-embeddings-huggingface/default.nix b/pkgs/development/python-modules/llama-index-embeddings-huggingface/default.nix new file mode 100644 index 000000000000..c30cb3e72e2a --- /dev/null +++ b/pkgs/development/python-modules/llama-index-embeddings-huggingface/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchPypi +, llama-index-core +, poetry-core +, pythonOlder +, sentence-transformers +}: + +buildPythonPackage rec { + pname = "llama-index-embeddings-huggingface"; + version = "0.2.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_embeddings_huggingface"; + inherit version; + hash = "sha256-3PCplFXzfE4aL91c1lyd0aRRu4aMP4DDNcTQybadAHE="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + llama-index-core + sentence-transformers + ]; + + # Tests are only available in the mono repo + doCheck = false; + + pythonImportsCheck = [ + "llama_index.embeddings.huggingface" + ]; + + meta = with lib; { + description = "LlamaIndex Embeddings Integration for Huggingface"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/embeddings/llama-index-embeddings-huggingface"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-embeddings-ollama/default.nix b/pkgs/development/python-modules/llama-index-embeddings-ollama/default.nix new file mode 100644 index 000000000000..509bf54d2872 --- /dev/null +++ b/pkgs/development/python-modules/llama-index-embeddings-ollama/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchPypi +, google-generativeai +, llama-index-core +, poetry-core +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "llama-index-embeddings-ollama"; + version = "0.1.2"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchPypi { + pname = "llama_index_embeddings_ollama"; + inherit version; + hash = "sha256-qeCAm93S5K2IjySVGe3H49M5x05OA/xaQMMGDcQdR6k="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + llama-index-core + ]; + + # Tests are only available in the mono repo + doCheck = false; + + pythonImportsCheck = [ + "llama_index.embeddings.ollama" + ]; + + meta = with lib; { + description = "LlamaIndex Llms Integration for Ollama"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/embeddings/llama-index-embeddings-ollama"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-graph-stores-nebula/default.nix b/pkgs/development/python-modules/llama-index-graph-stores-nebula/default.nix new file mode 100644 index 000000000000..783ace83f656 --- /dev/null +++ b/pkgs/development/python-modules/llama-index-graph-stores-nebula/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchPypi +, llama-index-core +, nebula3-python +, poetry-core +, pythonOlder +}: + +buildPythonPackage rec { + pname = "llama-index-graph-stores-nebula"; + version = "0.1.2"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_graph_stores_nebula"; + inherit version; + hash = "sha256-Xb/0ogj2NlGV4MGC9Be54d/JfalT40jtAe6LOPO1u/8="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + llama-index-core + nebula3-python + ]; + + pythonImportsCheck = [ + "llama_index.graph_stores.nebula" + ]; + + meta = with lib; { + description = "LlamaIndex Graph Store Integration for Nebula"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/graph_stores/llama-index-graph-stores-nebula"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-graph-stores-neo4j/default.nix b/pkgs/development/python-modules/llama-index-graph-stores-neo4j/default.nix new file mode 100644 index 000000000000..8561c2299ebe --- /dev/null +++ b/pkgs/development/python-modules/llama-index-graph-stores-neo4j/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchPypi +, neo4j +, llama-index-core +, poetry-core +, pythonOlder +}: + +buildPythonPackage rec { + pname = "llama-index-graph-stores-neo4j"; + version = "0.1.3"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_graph_stores_neo4j"; + inherit version; + hash = "sha256-AUWezvdONxz5H42VpTjh7NrBkTdWjtBJyMvA8kSh5w4="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + neo4j + llama-index-core + ]; + + pythonImportsCheck = [ + "llama_index.graph_stores.neo4j" + ]; + + meta = with lib; { + description = "LlamaIndex Graph Store Integration for Neo4j"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/graph_stores/llama-index-graph-stores-neo4j"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-graph-stores-neptune/default.nix b/pkgs/development/python-modules/llama-index-graph-stores-neptune/default.nix new file mode 100644 index 000000000000..869116b58c6b --- /dev/null +++ b/pkgs/development/python-modules/llama-index-graph-stores-neptune/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchPypi +, boto3 +, llama-index-core +, poetry-core +, pythonOlder +}: + +buildPythonPackage rec { + pname = "llama-index-graph-stores-neptune"; + version = "0.1.3"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_graph_stores_neptune"; + inherit version; + hash = "sha256-ZveFCJJT7Qal82cuVTs+3AmSuvdc7GsHqqqNvcDb3CY="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + boto3 + llama-index-core + ]; + + pythonImportsCheck = [ + "llama_index.graph_stores.neptune" + ]; + + meta = with lib; { + description = "LlamaIndex Graph Store Integration for Neptune"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/graph_stores/llama-index-graph-stores-neptune"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-llms-ollama/default.nix b/pkgs/development/python-modules/llama-index-llms-ollama/default.nix new file mode 100644 index 000000000000..dd1ccf563b77 --- /dev/null +++ b/pkgs/development/python-modules/llama-index-llms-ollama/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchPypi +, llama-index-core +, poetry-core +, pythonOlder +}: + +buildPythonPackage rec { + pname = "llama-index-llms-ollama"; + version = "0.1.2"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_llms_ollama"; + inherit version; + hash = "sha256-GexyfQSMhzkV1bA32aL+lWUgwBmxHXq4w8QG3RHzTks="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + llama-index-core + ]; + + # Tests are only available in the mono repo + doCheck = false; + + pythonImportsCheck = [ + "llama_index.llms.ollama" + ]; + + meta = with lib; { + description = "LlamaIndex LLMS Integration for ollama"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/llms/llama-index-llms-ollama"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-llms-openai-like/default.nix b/pkgs/development/python-modules/llama-index-llms-openai-like/default.nix new file mode 100644 index 000000000000..ccb32689f530 --- /dev/null +++ b/pkgs/development/python-modules/llama-index-llms-openai-like/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildPythonPackage +, fetchPypi +, llama-index-core +, llama-index-llms-openai +, poetry-core +, pythonOlder +, transformers +}: + +buildPythonPackage rec { + pname = "llama-index-llms-openai-like"; + version = "0.1.3"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_llms_openai_like"; + inherit version; + hash = "sha256-w0EjJQd8dSY+N9YNUBMUub3HcPEtiisW51bn2ayPnj8="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + llama-index-core + llama-index-llms-openai + transformers + ]; + + # Tests are only available in the mono repo + doCheck = false; + + pythonImportsCheck = [ + "llama_index.llms.openai_like" + ]; + + meta = with lib; { + description = "LlamaIndex LLMS Integration for OpenAI like"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/llms/llama-index-llms-openai-like"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-llms-openai/default.nix b/pkgs/development/python-modules/llama-index-llms-openai/default.nix index 8678e80272c1..24085ab77603 100644 --- a/pkgs/development/python-modules/llama-index-llms-openai/default.nix +++ b/pkgs/development/python-modules/llama-index-llms-openai/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "llama-index-llms-openai"; - version = "0.1.12"; + version = "0.1.13"; pyproject = true; disabled = pythonOlder "3.8"; @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "llama_index_llms_openai"; inherit version; - hash = "sha256-QAygCDlRvWaM6Lwkh1znC2NufbMosnxqUObRorCBueY="; + hash = "sha256-wP2TIlWsm/crawLDgR7rvzQxqnYDrqqzHIEVR/REsco="; }; build-system = [ diff --git a/pkgs/development/python-modules/llama-index-program-openai/default.nix b/pkgs/development/python-modules/llama-index-program-openai/default.nix index 12b2f6a7ac9e..70640d4a4bbe 100644 --- a/pkgs/development/python-modules/llama-index-program-openai/default.nix +++ b/pkgs/development/python-modules/llama-index-program-openai/default.nix @@ -6,11 +6,12 @@ , llama-index-llms-openai , poetry-core , pythonOlder +, pythonRelaxDepsHook }: buildPythonPackage rec { pname = "llama-index-program-openai"; - version = "0.1.4"; + version = "0.1.5"; pyproject = true; disabled = pythonOlder "3.8"; @@ -18,11 +19,16 @@ buildPythonPackage rec { src = fetchPypi { pname = "llama_index_program_openai"; inherit version; - hash = "sha256-Vz6Zot0WrTyvOCyKso0awQ6yVxvJSB2EptiYBq1qpdQ="; + hash = "sha256-wzqi0odq0P8fmip1XU59SRckCEfQF057LQuEdEmbtwA="; }; + pythonRelaxDeps = [ + "llama-index-agent-openai" + ]; + build-system = [ poetry-core + pythonRelaxDepsHook ]; dependencies = [ diff --git a/pkgs/development/python-modules/llama-index-vector-stores-google/default.nix b/pkgs/development/python-modules/llama-index-vector-stores-google/default.nix new file mode 100644 index 000000000000..9d5a33ebc7d9 --- /dev/null +++ b/pkgs/development/python-modules/llama-index-vector-stores-google/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, fetchPypi +, google-generativeai +, llama-index-core +, poetry-core +, pythonOlder +, pythonRelaxDepsHook +}: + +buildPythonPackage rec { + pname = "llama-index-vector-stores-google"; + version = "0.1.4"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_vector_stores_google"; + inherit version; + hash = "sha256-5HjbymV7wdcu/C+ndWCxj3j10QIgVqUaSaZ4cRMJ46U="; + }; + + pythonRelaxDeps = [ + "google-generativeai" + ]; + + build-system = [ + poetry-core + pythonRelaxDepsHook + ]; + + dependencies = [ + google-generativeai + llama-index-core + ]; + + pythonImportsCheck = [ + "llama_index.vector_stores.google" + ]; + + meta = with lib; { + description = "LlamaIndex Vector Store Integration for Google"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/vector_stores/llama-index-vector-stores-google"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-vector-stores-postgres/default.nix b/pkgs/development/python-modules/llama-index-vector-stores-postgres/default.nix new file mode 100644 index 000000000000..4751a0fce866 --- /dev/null +++ b/pkgs/development/python-modules/llama-index-vector-stores-postgres/default.nix @@ -0,0 +1,52 @@ +{ lib +, asyncpg +, buildPythonPackage +, fetchPypi +, llama-index-core +, pgvector +, poetry-core +, psycopg2 +, pythonRelaxDepsHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "llama-index-vector-stores-postgres"; + version = "0.1.3"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_vector_stores_postgres"; + inherit version; + hash = "sha256-vWqCcda9dDPLceoOEgMivpBmkLbKs/poEjzCk/q4HwI="; + }; + + pythonRemoveDeps = [ + "psycopg2-binary" + ]; + + build-system = [ + poetry-core + pythonRelaxDepsHook + ]; + + dependencies = [ + asyncpg + llama-index-core + pgvector + psycopg2 + ]; + + pythonImportsCheck = [ + "llama_index.vector_stores.postgres" + ]; + + meta = with lib; { + description = "LlamaIndex Vector Store Integration for Postgres"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/vector_stores/llama-index-vector-stores-postgres"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix b/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix new file mode 100644 index 000000000000..e0c34a935c76 --- /dev/null +++ b/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildPythonPackage +, fetchPypi +, llama-index-core +, qdrant-client +, poetry-core +, grpcio +, pythonOlder +}: + +buildPythonPackage rec { + pname = "llama-index-vector-stores-qdrant"; + version = "0.1.4"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_vector_stores_qdrant"; + inherit version; + hash = "sha256-UIiEL7ZUcGQusyhs9cFsPOZ8qxH7ouoCnQMemlho0lA="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + grpcio + llama-index-core + qdrant-client + ]; + + pythonImportsCheck = [ + "llama_index.vector_stores.qdrant" + ]; + + meta = with lib; { + description = "LlamaIndex Vector Store Integration for Qdrant"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/vector_stores/llama-index-vector-stores-qdrant"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/llama-parse/default.nix b/pkgs/development/python-modules/llama-parse/default.nix index 284f03f67a59..5d63c234fa07 100644 --- a/pkgs/development/python-modules/llama-parse/default.nix +++ b/pkgs/development/python-modules/llama-parse/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "llama-parse"; - version = "0.3.9"; + version = "0.4.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -16,14 +16,14 @@ buildPythonPackage rec { src = fetchPypi { pname = "llama_parse"; inherit version; - hash = "sha256-vra6Tbt6V3CKtvEPfVMUFZjjneGgQKYeb1pxw6XVaxM="; + hash = "sha256-7lIelCLbSNvfADA8tukPEGYTGWC1yk4U9bWm22t5F+I="; }; - nativeBuildInputs = [ + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ llama-index-core ]; diff --git a/pkgs/development/python-modules/llamaindex-py-client/default.nix b/pkgs/development/python-modules/llamaindex-py-client/default.nix index d46e070c9517..fb0cb4ad58ad 100644 --- a/pkgs/development/python-modules/llamaindex-py-client/default.nix +++ b/pkgs/development/python-modules/llamaindex-py-client/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "llamaindex-py-client"; - version = "0.1.13"; + version = "0.1.15"; pyproject = true; disabled = pythonOlder "3.8"; @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "llamaindex_py_client"; inherit version; - hash = "sha256-O9m0Ne4KeBceukEt6lZ02BPrW/NuV308fH6Q7cVJANk="; + hash = "sha256-x84mhVupdhU7tAFXw8GUIjxrdReZNbmI3UvWo/6Dqss="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/lxmf/default.nix b/pkgs/development/python-modules/lxmf/default.nix index 6a3f45b414b7..6682b2b09f64 100644 --- a/pkgs/development/python-modules/lxmf/default.nix +++ b/pkgs/development/python-modules/lxmf/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "lxmf"; - version = "0.4.2"; + version = "0.4.3"; pyproject = true; disabled = pythonOlder "3.7"; @@ -17,14 +17,14 @@ buildPythonPackage rec { owner = "markqvist"; repo = "lxmf"; rev = "refs/tags/${version}"; - hash = "sha256-JDD1X0/5xuqGN/Qw67tTFqfoWUd7Ah80/mimK01tG6Y="; + hash = "sha256-8Usu2fecSnyVfGrEJED4qMBO5RwJjTq5c7svCTu445Q="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ rns ]; @@ -37,10 +37,10 @@ buildPythonPackage rec { meta = with lib; { description = "Lightweight Extensible Message Format for Reticulum"; - mainProgram = "lxmd"; homepage = "https://github.com/markqvist/lxmf"; changelog = "https://github.com/markqvist/LXMF/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "lxmd"; }; } diff --git a/pkgs/development/python-modules/manifest-ml/default.nix b/pkgs/development/python-modules/manifest-ml/default.nix index 0d3e02ed732c..4465066682c9 100644 --- a/pkgs/development/python-modules/manifest-ml/default.nix +++ b/pkgs/development/python-modules/manifest-ml/default.nix @@ -1,34 +1,35 @@ { lib +, accelerate +, aiohttp , buildPythonPackage +, fastapi , fetchFromGitHub -, pythonOlder +, flask , numpy +, pg8000 +, pillow , pydantic +, pytestCheckHook +, pythonOlder +, pythonRelaxDepsHook , redis , requests -, aiohttp +, sentence-transformers +, setuptools +, sqlalchemy , sqlitedict , tenacity , tiktoken -, xxhash -, # optional dependencies - accelerate -, flask -, sentence-transformers , torch , transformers -, fastapi , uvicorn -, pillow -, pg8000 -, sqlalchemy -, pytestCheckHook +, xxhash }: buildPythonPackage rec { pname = "manifest-ml"; version = "0.1.9"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -41,7 +42,16 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; - propagatedBuildInputs = [ + pythonRelaxDeps = [ + "pydantic" + ]; + + build-system = [ + pythonRelaxDepsHook + setuptools + ]; + + dependencies = [ numpy pydantic redis @@ -51,7 +61,7 @@ buildPythonPackage rec { tenacity tiktoken xxhash - ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies); + ]; passthru.optional-dependencies = { api = [ @@ -79,7 +89,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook - ]; + ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies); preCheck = '' export HOME=$TMPDIR @@ -91,12 +101,17 @@ buildPythonPackage rec { ]; disabledTests = [ - # these tests have db access + # Tests require DB access "test_init" "test_key_get_and_set" "test_get" - # this test has network access + # Tests require network access + "test_abatch_run" + "test_batch_run" "test_retry_handling" + "test_run_chat" + "test_run" + "test_score_run" # Test is time-senstive "test_timing" ]; diff --git a/pkgs/development/python-modules/marimo/default.nix b/pkgs/development/python-modules/marimo/default.nix index 8873ac724c68..55b3e6c68172 100644 --- a/pkgs/development/python-modules/marimo/default.nix +++ b/pkgs/development/python-modules/marimo/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "marimo"; - version = "0.3.4"; + version = "0.3.5"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-nCH8JmeU81aJHHGJ1DOOCL9iarBXTBGauQKyHpU66Rk="; + hash = "sha256-XBOffkPJaGeyuK/mesN1nXXARRpoZpmiu5WVYS1tFvI="; }; build-system = [ @@ -58,6 +58,7 @@ buildPythonPackage rec { meta = with lib; { description = "A reactive Python notebook that's reproducible, git-friendly, and deployable as scripts or apps"; homepage = "https://github.com/marimo-team/marimo"; + changelog = "https://github.com/marimo-team/marimo/releases/tag/${version}"; license = licenses.asl20; mainProgram = "marimo"; maintainers = with maintainers; [ akshayka dmadisetti ]; diff --git a/pkgs/development/python-modules/markdownify/default.nix b/pkgs/development/python-modules/markdownify/default.nix index 19f842938007..e6b09592073a 100644 --- a/pkgs/development/python-modules/markdownify/default.nix +++ b/pkgs/development/python-modules/markdownify/default.nix @@ -1,29 +1,48 @@ { lib +, beautifulsoup4 , buildPythonPackage , fetchPypi , pytestCheckHook -, beautifulsoup4 +, pythonOlder +, setuptools , six }: buildPythonPackage rec { pname = "markdownify"; - version = "0.11.6"; - format = "setuptools"; + version = "0.12.1"; + pyproject = true; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-AJskDgyfTI6vHQhWJdzUAR4S8PjOxV3t+epvdlXkm/4="; + hash = "sha256-H7CMYYsw4O56MaObmY9EoY+yirJU9V9K8GttNaIXnic="; }; - propagatedBuildInputs = [ beautifulsoup4 six ]; - nativeCheckInputs = [ pytestCheckHook ]; + build-system = [ + setuptools + ]; + + dependencies = [ + beautifulsoup4 + six + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "markdownify" + ]; meta = with lib; { description = "HTML to Markdown converter"; - mainProgram = "markdownify"; homepage = "https://github.com/matthewwithanm/python-markdownify"; + changelog = "https://github.com/matthewwithanm/python-markdownify/releases/tag/${version}"; license = licenses.mit; - maintainers = [ maintainers.McSinyx ]; + maintainers = with maintainers; [ McSinyx ]; + mainProgram = "markdownify"; }; } diff --git a/pkgs/development/python-modules/metakernel/default.nix b/pkgs/development/python-modules/metakernel/default.nix index 3c8396bef797..e888ccfe98f8 100644 --- a/pkgs/development/python-modules/metakernel/default.nix +++ b/pkgs/development/python-modules/metakernel/default.nix @@ -11,21 +11,21 @@ buildPythonPackage rec { pname = "metakernel"; - version = "0.30.1"; - format = "pyproject"; + version = "0.30.2"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-TKBvuGh8DnPDLaOpwOvLZHdj1kBOTE/JLda1nQ6J//U="; + hash = "sha256-Siff2FO4SfASgkLFUgTuWXpajYZClPJghLry+8gU1aQ="; }; - nativeBuildInputs = [ + build-system = [ hatchling ]; - propagatedBuildInputs = [ + dependencies = [ ipykernel jedi jupyter-core diff --git a/pkgs/development/python-modules/microsoft-kiota-abstractions/default.nix b/pkgs/development/python-modules/microsoft-kiota-abstractions/default.nix index 1ffc27845241..61b8d7804f51 100644 --- a/pkgs/development/python-modules/microsoft-kiota-abstractions/default.nix +++ b/pkgs/development/python-modules/microsoft-kiota-abstractions/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "microsoft-kiota-abstractions"; - version = "1.3.1"; + version = "1.3.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -22,14 +22,14 @@ buildPythonPackage rec { owner = "microsoft"; repo = "kiota-abstractions-python"; rev = "refs/tags/v${version}"; - hash = "sha256-AsJHKoA50JZBDQ7vob4lI0gEmfhRUELKtgq17tHegUY="; + hash = "sha256-n9Erm21slKm+zDblhSHA5Cwxkyrcyx0w09ua3bUc5XI="; }; - nativeBuildInputs = [ + build-system = [ flit-core ]; - propagatedBuildInputs = [ + dependencies = [ opentelemetry-api opentelemetry-sdk std-uritemplate diff --git a/pkgs/development/python-modules/mkdocs-autolinks-plugin/default.nix b/pkgs/development/python-modules/mkdocs-autolinks-plugin/default.nix new file mode 100644 index 000000000000..35d3e5c9cc16 --- /dev/null +++ b/pkgs/development/python-modules/mkdocs-autolinks-plugin/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, mkdocs +, pythonOlder +, setuptools +}: + +buildPythonPackage rec { + pname = "mkdocs-autolinks-plugin"; + version = "0.7.1"; + pyproject = true; + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "zachhannum"; + repo = "mkdocs-autolinks-plugin"; + # The commit messages mention version 0.7.1, but the tag is v_071. + rev = "e2b649eb4db23459bcec121838f27c92c81f9ce1"; + hash = "sha256-mEbuB9VwK7po1TqtJfBSkItOVlI3/W3nD2LYRHgPpTA="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ mkdocs ]; + + # Module has no tests. + doCheck = false; + + pythonImportsCheck = [ "mkdocs_autolinks_plugin" ]; + + meta = with lib; { + description = "An MkDocs plugin that simplifies relative linking between documents"; + homepage = "https://github.com/zachhannum/mkdocs-autolinks-plugin"; + license = licenses.mit; + maintainers = with maintainers; [ lucas-deangelis ]; + }; +} diff --git a/pkgs/development/python-modules/mscerts/default.nix b/pkgs/development/python-modules/mscerts/default.nix index 9dc16828c869..6d7642c89470 100644 --- a/pkgs/development/python-modules/mscerts/default.nix +++ b/pkgs/development/python-modules/mscerts/default.nix @@ -2,12 +2,13 @@ , buildPythonPackage , fetchFromGitHub , pythonOlder +, setuptools }: buildPythonPackage rec { pname = "mscerts"; - version = "2024.2.28"; - format = "setuptools"; + version = "2024.3.27"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -15,9 +16,13 @@ buildPythonPackage rec { owner = "ralphje"; repo = "mscerts"; rev = "refs/tags/${version}"; - hash = "sha256-ReUDpax4tvw4ZCH8zOipelIPtHi7BdgLHI/r3FNpo1c="; + hash = "sha256-Hucf3tToYm3P6ebKNlUs5V+X1B95u9P2UC1yOItZOhc="; }; + build-system = [ + setuptools + ]; + # extras_require contains signify -> circular dependency # Module has no tests diff --git a/pkgs/development/python-modules/myjwt/default.nix b/pkgs/development/python-modules/myjwt/default.nix index c310c7efe1a1..d0d39dc9d087 100644 --- a/pkgs/development/python-modules/myjwt/default.nix +++ b/pkgs/development/python-modules/myjwt/default.nix @@ -34,20 +34,21 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pyproject.toml \ - --replace-warn "1.6.0" "${version}" + --replace-fail "1.6.0" "${version}" ''; pythonRelaxDeps = [ "cryptography" + "pyopenssl" "questionary" ]; - nativeBuildInputs = [ + build-system = [ poetry-core pythonRelaxDepsHook ]; - propagatedBuildInputs = [ + dependencies = [ click colorama cryptography diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 74b48b53458e..8a8d53bc1c49 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -111,7 +111,7 @@ rec { mypy-boto3-backupstorage = buildMypyBoto3Package "backupstorage" "1.34.0" "sha256-Y8kjZ+ov8OsiJ8Sm1LlvP8YbgVc+AkLkbZIhOh4y7ZY="; - mypy-boto3-batch = buildMypyBoto3Package "batch" "1.34.59" "sha256-rsXdh8f3KRAROftePejdLxChRqtiaDFsJyhctX7jRUQ="; + mypy-boto3-batch = buildMypyBoto3Package "batch" "1.34.72" "sha256-ha5OZVVcO/+slxQOPIrd+D1Ehaw6YpGqCWofSgFj5JI="; mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.34.1" "sha256-uXxQkoe2u3idcYta9YFbjxoK8HsvUiRQSyYrYhVi1kU="; @@ -119,7 +119,7 @@ rec { mypy-boto3-budgets = buildMypyBoto3Package "budgets" "1.34.0" "sha256-gs8JYnpFNOMWppBO2R3DO+c6RecQC0vzaox5DqXCKOA="; - mypy-boto3-ce = buildMypyBoto3Package "ce" "1.34.52" "sha256-KHimN6KC8V6nyp6ZQbv0XAuWMjGZkg/bPrQ6do5QQE0="; + mypy-boto3-ce = buildMypyBoto3Package "ce" "1.34.71" "sha256-VfB823/q+ie97Bv5GXhsBaGxAuXSDbfFq2rO6TjThXY="; mypy-boto3-chime = buildMypyBoto3Package "chime" "1.34.0" "sha256-/IBkHJf4t1K/Ubdf/hUw5XToNBTCziMfTSdksxMwA2Q="; @@ -161,7 +161,7 @@ rec { mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.34.68" "sha256-Ey0cmx0OxN1/VXIyvn0EOBP9qYIuc/XyFVZniHLaNEY="; - mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.34.67" "sha256-Kvd8zAHfepA4dulpiQCaT2pfKCH567d6CYd5QlweXIY="; + mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.34.70" "sha256-lv69lhMKJHRnooVrmGinfDEi7eVEe7O12GNNo5uZQQc="; mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.34.0" "sha256-TsXVy8bx6kaj84PJiNNU+075Tx3WW0mrtZFOyLx9yT4="; @@ -251,7 +251,7 @@ rec { mypy-boto3-ebs = buildMypyBoto3Package "ebs" "1.34.0" "sha256-xIrrXOayZed+Jcn4CFXXNgKz/G+RdiuwA04wq+Ry/fs="; - mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.34.66" "sha256-Io0ExXqdar+5A4H66ryaApWIQnEcspQysfBsOit4WyY="; + mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.34.71" "sha256-hjEJNB8/m1yE9f0yxoKZeVySRfCun1NGmL8UeqP8AXs="; mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.34.63" "sha256-kExmGXEJ5jrvOewmWx7AjVb3boD5GU0cEUp/2PQhzlw="; @@ -259,7 +259,7 @@ rec { mypy-boto3-ecr-public = buildMypyBoto3Package "ecr-public" "1.34.0" "sha256-38ZiRVPr9L+KUF6oL23xsIiKMW0pT/nIngFkhSS3z2Y="; - mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.34.39" "sha256-s3YTAoZSgDHenHa54DwSNRRAnfCNMcdmZP1FX0hTygE="; + mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.34.71" "sha256-Ka2nMhArorYcIx+MoLN7bIbKl4ptNER6uC9FdLWZBfI="; mypy-boto3-efs = buildMypyBoto3Package "efs" "1.34.0" "sha256-VAK7mfnPBPDC8Azm6Bxl86E8CkeArTmfgqYkIcSblYA="; @@ -267,7 +267,7 @@ rec { mypy-boto3-elastic-inference = buildMypyBoto3Package "elastic-inference" "1.34.0" "sha256-gbWKw0zDQf3qBlp1KeO7MX1j/GqRUpFAxLG0BKFrHBk="; - mypy-boto3-elasticache = buildMypyBoto3Package "elasticache" "1.34.60" "sha256-D3WLH1FS8dddD6WKUmQApvtehGMmjWYzdaMwTHzvzYk="; + mypy-boto3-elasticache = buildMypyBoto3Package "elasticache" "1.34.72" "sha256-yZd2KB7wIw23PybblyIlCo/5IEFYxAUfbLD2J91eOzw="; mypy-boto3-elasticbeanstalk = buildMypyBoto3Package "elasticbeanstalk" "1.34.0" "sha256-ftVFUwY81mg/9zJ4xxVjhXF1HgKpzj1koIS32cMKRLw="; @@ -279,7 +279,7 @@ rec { mypy-boto3-emr = buildMypyBoto3Package "emr" "1.34.44" "sha256-zM1VpAaBSxqdZiSrNiaAKfvliNRXMLEmvFvXcFmkZO0="; - mypy-boto3-emr-containers = buildMypyBoto3Package "emr-containers" "1.34.0" "sha256-tGHWoMVrfH35hLgzDGMSJs5kRTWQqjM/e0IAPe4EfiU="; + mypy-boto3-emr-containers = buildMypyBoto3Package "emr-containers" "1.34.70" "sha256-uZADsQWfrkoVrQZosfqogcKERWsykIqdk+tJpgmcai4="; mypy-boto3-emr-serverless = buildMypyBoto3Package "emr-serverless" "1.34.0" "sha256-YgccYi2+XhKiPGCMimrCooYPRV+iRuA1h120UdqJKUc="; @@ -291,7 +291,7 @@ rec { mypy-boto3-evidently = buildMypyBoto3Package "evidently" "1.34.0" "sha256-MkBB5iTYJYg2cWFYHR3Qu7TcsDglLPEw0MnoHqij6+A="; - mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.34.66" "sha256-G5FMKm9HymvRPtkjvYZt6NVhPUVuBwCR4kQq8/naUFs="; + mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.34.71" "sha256-bgPwDXqu73DjQCADmjTig6kLNOWvQ39flwhyYAbTai4="; mypy-boto3-finspace-data = buildMypyBoto3Package "finspace-data" "1.34.0" "sha256-8mND5BbdKY5srFwdpxSyfCUTIP4fa9hztP4daUJOB8k="; @@ -315,7 +315,7 @@ rec { mypy-boto3-glacier = buildMypyBoto3Package "glacier" "1.34.0" "sha256-j8LUD8EjjRL1av7UEXBqNPEARaSFgstaioGJtbel4oM="; - mypy-boto3-globalaccelerator = buildMypyBoto3Package "globalaccelerator" "1.34.0" "sha256-hvQeuu1TuLO9aB1+lWTGPgpGqoZlC8d3Ru5S4OVLgys="; + mypy-boto3-globalaccelerator = buildMypyBoto3Package "globalaccelerator" "1.34.70" "sha256-7Su+rgV6KD9I4j630Qybufwn39rp/8tYQ2ldEe2Untc="; mypy-boto3-glue = buildMypyBoto3Package "glue" "1.34.35" "sha256-+Kvk8uB9KZp7mw3sMAM6mHdBTnkO5J8nSVClttndMDY="; @@ -469,7 +469,7 @@ rec { mypy-boto3-mediaconvert = buildMypyBoto3Package "mediaconvert" "1.34.33" "sha256-7OwfjcWDE1AHvpyOu3fE5YBwjQscpa+VnE7eylk1unA="; - mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.34.47" "sha256-kE93r3oDtz+uwUDeWBJA2yQBx4HFAL49FdpIexVMbrc="; + mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.34.70" "sha256-WMBmgEckAoWpwe/YMJsVRZnbkT8dbr8F1S3AW1PRF+4="; mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.34.0" "sha256-4DJ2zVk0satmVn+TZdDExx/+ClJpc1bdmbvl72Joe5U="; @@ -625,7 +625,7 @@ rec { mypy-boto3-s3outposts = buildMypyBoto3Package "s3outposts" "1.34.0" "sha256-xLuGP9Fe0S7zRimt1AKd9KOrytmNd/GTRg5OVi5Xpos="; - mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.34.64" "sha256-Sf1T1aqRMIEZmuA2KH5tzuhTDN8yfFID/+h0DCWxws0="; + mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.34.70" "sha256-WON2j0ZQ9x3qq1mOOzMvT8jJSuJipDHDp4IxsB88GCg="; mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.34.0" "sha256-jMZ3aWKQPhNec4A/02S1waQi6Mx9JVdENc3kblhsKjA="; @@ -647,7 +647,7 @@ rec { mypy-boto3-sdb = buildMypyBoto3Package "sdb" "1.34.0" "sha256-13BuAQD8uDwwDhCw+8O3V882H6/oor5Z8mBmjb7HHAU="; - mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.34.63" "sha256-oZM3PXGPdH1Th4tcx/7y6bj944kuR4isaQ/SsWo1Vkw="; + mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.34.72" "sha256-0HM8W1Potee9oA9LQu2ErxLjaiDISJF+ScFzoEIu8Dw="; mypy-boto3-securityhub = buildMypyBoto3Package "securityhub" "1.34.69" "sha256-2fJx1VaOhYSjTXAEboBhHhMdTH697zcGHmrJsGknDTI="; diff --git a/pkgs/development/python-modules/mypy-boto3/update.sh b/pkgs/development/python-modules/mypy-boto3/update.sh index f45789baecb2..f45789baecb2 100644..100755 --- a/pkgs/development/python-modules/mypy-boto3/update.sh +++ b/pkgs/development/python-modules/mypy-boto3/update.sh diff --git a/pkgs/development/python-modules/nbdime/749.patch b/pkgs/development/python-modules/nbdime/749.patch new file mode 100644 index 000000000000..b88aec0f67e3 --- /dev/null +++ b/pkgs/development/python-modules/nbdime/749.patch @@ -0,0 +1,10 @@ +--- a/nbdime/webapp/nbdimeserver.py ++++ b/nbdime/webapp/nbdimeserver.py +@@ -388,6 +388,7 @@ + 'jinja2_env': env, + 'local_hostnames': ['localhost', '127.0.0.1'], + 'cookie_secret': base64.encodebytes(os.urandom(32)), # Needed even for an unsecured server. ++ 'allow_unauthenticated_access': True, + } + + try: diff --git a/pkgs/development/python-modules/nbdime/default.nix b/pkgs/development/python-modules/nbdime/default.nix index 3f58201e2c92..855192fa5ec5 100644 --- a/pkgs/development/python-modules/nbdime/default.nix +++ b/pkgs/development/python-modules/nbdime/default.nix @@ -31,6 +31,12 @@ buildPythonPackage rec { hash = "sha256-8adgwLAMG6m0lFwWzpJXfzk/tR0YTzUbdoW6boUCCY4="; }; + patches = [ + # this fixes the webserver (nbdiff-web) when jupyter-server >=2.13 is used + # see https://github.com/jupyter/nbdime/issues/749 + ./749.patch + ]; + nativeBuildInputs = [ hatch-jupyter-builder hatchling diff --git a/pkgs/development/python-modules/nebula3-python/default.nix b/pkgs/development/python-modules/nebula3-python/default.nix new file mode 100644 index 000000000000..c352f732ef20 --- /dev/null +++ b/pkgs/development/python-modules/nebula3-python/default.nix @@ -0,0 +1,67 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pdm-backend +, future +, httplib2 +, pythonOlder +, pytz +, pytestCheckHook +, six +}: + +buildPythonPackage rec { + pname = "nebula3-python"; + version = "3.5.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "vesoft-inc"; + repo = "nebula-python"; + rev = "refs/tags/v${version}"; + hash = "sha256-T9lZVYov6tQ8QRM2QtOGyolHk3O5FSb3xq70nS2Rr6c="; + }; + + build-system = [ + pdm-backend + ]; + + dependencies = [ + future + httplib2 + pytz + six + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "nebula3" + ]; + + disabledTestPaths = [ + # Tests require a running thrift instance + "tests/test_connection.py" + "tests/test_data_from_server.py" + "tests/test_graph_storage_client.py" + "tests/test_meta_cache.py" + "tests/test_parameter.py" + "tests/test_pool.py" + "tests/test_session.py" + "tests/test_session_pool.py" + "tests/test_ssl_connection.py" + "tests/test_ssl_pool.py" + ]; + + meta = with lib; { + description = "Client API of Nebula Graph in Python"; + homepage = "https://github.com/vesoft-inc/nebula-python"; + changelog = "https://github.com/vesoft-inc/nebula-python/blob/${version}/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/ntc-templates/default.nix b/pkgs/development/python-modules/ntc-templates/default.nix index dc4ba155bedb..04b2c8c17f1a 100644 --- a/pkgs/development/python-modules/ntc-templates/default.nix +++ b/pkgs/development/python-modules/ntc-templates/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "ntc-templates"; - version = "4.3.0"; + version = "4.4.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "networktocode"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-zTJNatg5s5Y9uJ/42uhBltvP69qDsdTRIOCt5OuLwQc="; + hash = "sha256-8Lzh6ku2TUQFatqbOb5JIc/WkRPegx/gNnT53DErMuk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix index c57a77771098..b4ad1c942d45 100644 --- a/pkgs/development/python-modules/oci/default.nix +++ b/pkgs/development/python-modules/oci/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "oci"; - version = "2.124.2"; + version = "2.125.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "oracle"; repo = "oci-python-sdk"; rev = "refs/tags/v${version}"; - hash = "sha256-IYINga1qCCmdu1j6ix2GcZtx6twPwfHCxU8fPOqF4eE="; + hash = "sha256-H4LGMl2SuXAGD2cdaDQYkWkYqhjp+EDFOnrku6cG6jk="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/ollama/default.nix b/pkgs/development/python-modules/ollama/default.nix index 5e46474e1129..8bc0639b016d 100644 --- a/pkgs/development/python-modules/ollama/default.nix +++ b/pkgs/development/python-modules/ollama/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "ollama"; - version = "0.1.7"; + version = "0.1.8"; pyproject = true; disabled = pythonOlder "3.8"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "ollama"; repo = "ollama-python"; rev = "refs/tags/v${version}"; - hash = "sha256-xNH9kAjSdVXrCI7zkyR7tYxJ/NG8/08ykkDZQJI8Za4="; + hash = "sha256-hMNoWalUL+5FzmV5ICj7Zl6cTWzE6xGWfTf5++c36+E="; }; postPatch = '' @@ -34,12 +34,12 @@ buildPythonPackage rec { "httpx" ]; - nativeBuildInputs = [ + build-system = [ poetry-core pythonRelaxDepsHook ]; - propagatedBuildInputs = [ + dependencies = [ httpx ]; diff --git a/pkgs/development/python-modules/pathlib-abc/default.nix b/pkgs/development/python-modules/pathlib-abc/default.nix index b048fc3748c1..891b6d348561 100644 --- a/pkgs/development/python-modules/pathlib-abc/default.nix +++ b/pkgs/development/python-modules/pathlib-abc/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "pathlib-abc"; - version = "0.2.0"; + version = "0.1.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "pathlib_abc"; inherit version; - hash = "sha256-ua9rOf1RMhSFZ47DgD0KEeAqIuhp6AUsrLbo9l3nuGI="; + hash = "sha256-CE573ZGbD3d0kUqeZM2GobOYYPgfeB3XJCWGMfKRWr4="; }; build-system = [ diff --git a/pkgs/development/python-modules/pathtools/default.nix b/pkgs/development/python-modules/pathtools/default.nix index 754669eb42fe..453dc9df36ef 100644 --- a/pkgs/development/python-modules/pathtools/default.nix +++ b/pkgs/development/python-modules/pathtools/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, pythonAtLeast }: buildPythonPackage rec { @@ -8,6 +9,9 @@ buildPythonPackage rec { version = "0.1.2"; format = "setuptools"; + # imp and distuils usage, last commit in 2016 + disabled = pythonAtLeast "3.12"; + src = fetchPypi { inherit pname version; sha256 = "1h7iam33vwxk8bvslfj4qlsdprdnwf8bvzhqh3jq5frr391cadbw"; diff --git a/pkgs/development/python-modules/plantuml-markdown/default.nix b/pkgs/development/python-modules/plantuml-markdown/default.nix index 600131e2f5ec..50e6bb2cf941 100644 --- a/pkgs/development/python-modules/plantuml-markdown/default.nix +++ b/pkgs/development/python-modules/plantuml-markdown/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "plantuml-markdown"; - version = "3.9.3"; + version = "3.9.4"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "mikitex70"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-2nZV/bYRN1SKI6OmpOhK7KUuBwmwhTt/ErTYqVQ9Dps="; + hash = "sha256-DSR4/PEs1uzGHgtw5p3HMlquOIYHPWbTHrw6QGx7t4o="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/plotnine/default.nix b/pkgs/development/python-modules/plotnine/default.nix index cc446f300bf1..bb39cae86c25 100644 --- a/pkgs/development/python-modules/plotnine/default.nix +++ b/pkgs/development/python-modules/plotnine/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "plotnine"; - version = "0.13.2"; + version = "0.13.3"; pyproject = true; disabled = pythonOlder "3.9"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "has2k1"; repo = "plotnine"; rev = "refs/tags/v${version}"; - hash = "sha256-GgkaFiRRVpr0TreAetpaiOjpsyLV2wfGQWvUdHJN2mg="; + hash = "sha256-dbfbXYYmVdufTtrrllrqwe87LL1nYRar4RMLef7ajTQ="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix index 7d8b5f666515..0e53ee17e04a 100644 --- a/pkgs/development/python-modules/plugwise/default.nix +++ b/pkgs/development/python-modules/plugwise/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "plugwise"; - version = "0.37.1"; + version = "0.37.2"; pyproject = true; disabled = pythonOlder "3.11"; @@ -30,21 +30,22 @@ buildPythonPackage rec { owner = "plugwise"; repo = "python-plugwise"; rev = "refs/tags/v${version}"; - hash = "sha256-6o0g3il4GV6E8avp9V2YrkaVPf2z37asdJOxf6Phbmc="; + hash = "sha256-zPh4yko35aMhiTTIDbaBgVruRDyolhtvTzTIhF5fo+Y="; }; postPatch = '' - substituteInPlace pyproject.toml \ - --replace "setuptools~=68.0" "setuptools" \ - --replace "wheel~=0.40.0" "wheel" + # setuptools + sed -i -e "s/~=[0-9.]*//" pyproject.toml + # wheel + sed -i -e "s/~=[0-9.]*//" pyproject.toml ''; - nativeBuildInputs = [ + build-system = [ setuptools wheel ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp async-timeout crcmod diff --git a/pkgs/development/python-modules/preshed/default.nix b/pkgs/development/python-modules/preshed/default.nix index 557045649425..2314555fcb58 100644 --- a/pkgs/development/python-modules/preshed/default.nix +++ b/pkgs/development/python-modules/preshed/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "preshed"; - version = "4.0.0"; + version = "3.0.9"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-XisLKgfdGo3uqtZhIBmEXGAu4kkH9pNuqvF6q9VuVEw="; + hash = "sha256-chhjxSRP/NJlGtCSiVGix8d7EC9OEaJRrYXTfudiFmA="; }; nativeBuildInputs = [ @@ -41,6 +41,9 @@ buildPythonPackage rec { "preshed" ]; + # don't update to 4.0.0, version was yanked + passthru.skipBulkUpdate = true; + meta = with lib; { description = "Cython hash tables that assume keys are pre-hashed"; homepage = "https://github.com/explosion/preshed"; diff --git a/pkgs/development/python-modules/pyecoforest/default.nix b/pkgs/development/python-modules/pyecoforest/default.nix index 2021b4e414b9..a116a3542089 100644 --- a/pkgs/development/python-modules/pyecoforest/default.nix +++ b/pkgs/development/python-modules/pyecoforest/default.nix @@ -25,14 +25,14 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pyproject.toml \ - --replace "--cov=pyecoforest --cov-report=term-missing:skip-covered" "" + --replace-fail "--cov=pyecoforest --cov-report=term-missing:skip-covered" "" ''; - nativeBuildInputs = [ + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ httpx ]; diff --git a/pkgs/development/python-modules/pyenphase/default.nix b/pkgs/development/python-modules/pyenphase/default.nix index 549d0b8e8263..b3e4863f2472 100644 --- a/pkgs/development/python-modules/pyenphase/default.nix +++ b/pkgs/development/python-modules/pyenphase/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "pyenphase"; - version = "1.20.0"; + version = "1.20.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "pyenphase"; repo = "pyenphase"; rev = "refs/tags/v${version}"; - hash = "sha256-/TyQ6oSA361at1VSr6dLefOOmbZP4otBgb/JDA2sNWo="; + hash = "sha256-Bxwd8qHsvq9BuBMSu5JI/Yk/KC5aQ7b7lnXuIoNQ6EI="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix index 9c4d50843e22..e85c985b6c5a 100644 --- a/pkgs/development/python-modules/pygls/default.nix +++ b/pkgs/development/python-modules/pygls/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "pygls"; - version = "1.3.0"; + version = "1.3.1"; pyproject = true; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "openlawlibrary"; repo = "pygls"; rev = "refs/tags/v${version}"; - hash = "sha256-6+SMlBTi+jw+bAUYqbaxXT5QygZFj4FeeEp6bch8M1s="; + hash = "sha256-AvrGoQ0Be1xKZhFn9XXYJpt5w+ITbDbj6NFZpaDPKao="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix index e2e25aa18dcd..22242ee62bf4 100644 --- a/pkgs/development/python-modules/pyinsteon/default.nix +++ b/pkgs/development/python-modules/pyinsteon/default.nix @@ -1,6 +1,7 @@ { lib , aiofiles , aiohttp +, async-timeout , async-generator , buildPythonPackage , fetchFromGitHub @@ -12,31 +13,30 @@ , pythonOlder , setuptools , voluptuous -, wheel }: buildPythonPackage rec { pname = "pyinsteon"; version = "1.5.3"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { - owner = pname; - repo = pname; + owner = "pyinsteon"; + repo = "pyinsteon"; rev = "refs/tags/${version}"; hash = "sha256-9d6QbekUv63sjKdK+ZogYOkGfFXVW+JB6ITHnehLwtM="; }; - nativeBuildInputs = [ + build-system = [ setuptools - wheel ]; - propagatedBuildInputs = [ + dependencies = [ aiofiles aiohttp + async-timeout pypubsub pyserial pyserial-asyncio @@ -48,20 +48,9 @@ buildPythonPackage rec { pytestCheckHook ]; - disabledTests = lib.optionals (pythonAtLeast "3.12") [ - # AssertionError: Failed test 'read_eeprom_response' with argument 'group' value X vs expected value Z - "test_async_send" - "test_nak_response" - "test_no_direct_ack" - "test_on_level" - "test_on_level_group" - "test_on_level_nak" - # AssertionError: Failed test 'read_eeprom_response' with argument 'target' value X vs expected value Y - "test_other_status" - "test_status_command" - "test_status_request_hub" - # stuck in epoll - "test_read_all_peek" + disabledTestPaths = lib.optionals (pythonAtLeast "3.12") [ + # Tests are blocking or failing + "tests/test_handlers/" ]; pythonImportsCheck = [ @@ -70,7 +59,6 @@ buildPythonPackage rec { meta = with lib; { description = "Python library to support Insteon home automation projects"; - mainProgram = "insteon_tools"; longDescription = '' This is a Python package to interface with an Insteon Modem. It has been tested to work with most USB or RS-232 serial based devices such as the @@ -80,5 +68,6 @@ buildPythonPackage rec { changelog = "https://github.com/pyinsteon/pyinsteon/releases/tag/${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; + mainProgram = "insteon_tools"; }; } diff --git a/pkgs/development/python-modules/pyleri/default.nix b/pkgs/development/python-modules/pyleri/default.nix index 98c71d06f55a..2ff3abf5978d 100644 --- a/pkgs/development/python-modules/pyleri/default.nix +++ b/pkgs/development/python-modules/pyleri/default.nix @@ -3,12 +3,13 @@ , fetchFromGitHub , pythonOlder , unittestCheckHook +, setuptools }: buildPythonPackage rec { pname = "pyleri"; - version = "1.4.2"; - format = "setuptools"; + version = "1.4.3"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -16,9 +17,13 @@ buildPythonPackage rec { owner = "cesbit"; repo = "pyleri"; rev = "refs/tags/${version}"; - hash = "sha256-52Q2iTrXFNbDzXL0FM+Gypipvo5ciNqAtZa5sKOwQRc="; + hash = "sha256-4t+6wtYzJbmL0TB/OXr89uZ2s8DeGlUdWwHd4YPsCW0="; }; + build-system = [ + setuptools + ]; + nativeCheckInputs = [ unittestCheckHook ]; diff --git a/pkgs/development/python-modules/pymaven-patch/default.nix b/pkgs/development/python-modules/pymaven-patch/default.nix index 8218ccddcc61..4d98ded89637 100644 --- a/pkgs/development/python-modules/pymaven-patch/default.nix +++ b/pkgs/development/python-modules/pymaven-patch/default.nix @@ -11,12 +11,12 @@ }: buildPythonPackage rec { pname = "pymaven-patch"; - version = "0.3.0"; + version = "0.3.2"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "d55b29bd4aeef3510904a12885eb6856b5bd48f3e29925a123461429f9ad85c0"; + sha256 = "sha256-DPfJPonwHwQI62Vu7FjLSiKMleA7PUfLc9MfiZBVzVA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pynobo/default.nix b/pkgs/development/python-modules/pynobo/default.nix index 783415a2c2fb..c4da63a0e333 100644 --- a/pkgs/development/python-modules/pynobo/default.nix +++ b/pkgs/development/python-modules/pynobo/default.nix @@ -2,22 +2,27 @@ , buildPythonPackage , fetchFromGitHub , pythonOlder +, setuptools }: buildPythonPackage rec { pname = "pynobo"; - version = "1.7.0"; - format = "setuptools"; + version = "1.8.0"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "echoromeo"; - repo = pname; + repo = "pynobo"; rev = "refs/tags/v${version}"; - hash = "sha256-LJS4NJM+f+j53YzH8LradBDzHAsOprd4F7nH1cfC3B0="; + hash = "sha256-Hfyf7XGleDWTKKWNlItcBFuiS3UEwsYed7v5FPRdC0w="; }; + build-system = [ + setuptools + ]; + # Project has no tests doCheck = false; diff --git a/pkgs/development/python-modules/pyscf/default.nix b/pkgs/development/python-modules/pyscf/default.nix index 7b60a47c44c3..a8c0911276b4 100644 --- a/pkgs/development/python-modules/pyscf/default.nix +++ b/pkgs/development/python-modules/pyscf/default.nix @@ -84,6 +84,7 @@ buildPythonPackage rec { "test_n3_cis_ewald" "test_veff" "test_collinear_kgks_gga" + "test_libxc_gga_deriv4" ]; pytestFlagsArray = [ diff --git a/pkgs/development/python-modules/pysigma/default.nix b/pkgs/development/python-modules/pysigma/default.nix index b883c5ea147f..bf7a00dd8fe1 100644 --- a/pkgs/development/python-modules/pysigma/default.nix +++ b/pkgs/development/python-modules/pysigma/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "pysigma"; - version = "0.11.3"; + version = "0.11.4"; pyproject = true; disabled = pythonOlder "3.8"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "SigmaHQ"; repo = "pySigma"; rev = "refs/tags/v${version}"; - hash = "sha256-G3/ksQXAN981i8iZC8/Ho0r/iHQqqtBPg/VdDTWxC9Y="; + hash = "sha256-tlFrUAwOTK+O/YJjfA6nwsVAcZrMNXFmCYoxHc2ykVY="; }; pythonRelaxDeps = [ @@ -32,12 +32,12 @@ buildPythonPackage rec { "packaging" ]; - nativeBuildInputs = [ + build-system = [ poetry-core pythonRelaxDepsHook ]; - propagatedBuildInputs = [ + dependencies = [ jinja2 packaging pyparsing diff --git a/pkgs/development/python-modules/pyunifiprotect/default.nix b/pkgs/development/python-modules/pyunifiprotect/default.nix index 9cf0773b0cb5..5356fd2e4ac0 100644 --- a/pkgs/development/python-modules/pyunifiprotect/default.nix +++ b/pkgs/development/python-modules/pyunifiprotect/default.nix @@ -13,6 +13,7 @@ , orjson , packaging , pillow +, platformdirs , poetry-core , py , pydantic @@ -32,7 +33,7 @@ buildPythonPackage rec { pname = "pyunifiprotect"; - version = "5.0.2"; + version = "5.1.1"; pyproject = true; disabled = pythonOlder "3.9"; @@ -41,22 +42,22 @@ buildPythonPackage rec { owner = "briis"; repo = "pyunifiprotect"; rev = "refs/tags/v${version}"; - hash = "sha256-bZjfpatw4lcOgMCqung/DMfRijxwtuIht6QusIYaCQ0="; + hash = "sha256-7D6/mIU3M4dfIa+lCgcc3APKVPCsZei+4Er+sxIxcHo="; }; env.SETUPTOOLS_SCM_PRETEND_VERSION = version; postPatch = '' substituteInPlace pyproject.toml \ - --replace "--strict-markers -ra -Wd --ignore=.* --no-cov-on-fail --cov=pyunifiprotect --cov-append --maxfail=10 -n=auto" "" + --replace-fail "--strict-markers -ra -Wd --ignore=.* --no-cov-on-fail --cov=pyunifiprotect --cov-append --maxfail=10 -n=auto" "" ''; - nativeBuildInputs = [ + build-system = [ hatch-vcs hatchling ]; - propagatedBuildInputs = [ + dependencies = [ aiofiles aiohttp aioshutil @@ -64,6 +65,7 @@ buildPythonPackage rec { orjson packaging pillow + platformdirs pydantic pyjwt pytz diff --git a/pkgs/development/python-modules/redis-om/default.nix b/pkgs/development/python-modules/redis-om/default.nix index 551a251bc174..1549b891636f 100644 --- a/pkgs/development/python-modules/redis-om/default.nix +++ b/pkgs/development/python-modules/redis-om/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "redis-om"; - version = "0.2.1"; + version = "0.2.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -30,10 +30,10 @@ buildPythonPackage rec { owner = "redis"; repo = "redis-om-python"; rev = "refs/tags/v${version}"; - hash = "sha256-jQS0VTYZeAj3+OVFy+JP4mUFBPo+a5D/kdJKagFraaA="; + hash = "sha256-E11wpTrE+HIT+jgn1zMC8L7RGas83DAJd1R0WWHp7Jc="; }; - nativeBuildInputs = [ + build-system = [ pythonRelaxDepsHook unasync poetry-core @@ -44,7 +44,7 @@ buildPythonPackage rec { # https://github.com/redis/redis-om-python/pull/577 pythonRelaxDeps = true; - propagatedBuildInputs = [ + dependencies = [ click hiredis more-itertools diff --git a/pkgs/development/python-modules/requirements-parser/default.nix b/pkgs/development/python-modules/requirements-parser/default.nix index 11fe8edf6a10..b2b7697a464a 100644 --- a/pkgs/development/python-modules/requirements-parser/default.nix +++ b/pkgs/development/python-modules/requirements-parser/default.nix @@ -10,23 +10,23 @@ buildPythonPackage rec { pname = "requirements-parser"; - version = "0.5.0"; - format = "pyproject"; + version = "0.6.0"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "madpah"; - repo = pname; - rev = "v${version}"; - hash = "sha256-e2dfVBMh1uGRMDw7OdPefO4/eRxc3BGwvy/D7u5ipkk="; + repo = "requirements-parser"; + rev = "refs/tags/v${version}"; + hash = "sha256-fUx6NBD6qxAyArGgCiB2J1Ak7pudx/LI0+rCHjLnc1M="; }; - nativeBuildInputs = [ + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ setuptools types-setuptools ]; @@ -42,7 +42,8 @@ buildPythonPackage rec { meta = with lib; { description = "Pip requirements file parser"; homepage = "https://github.com/davidfischer/requirements-parser"; + changelog = "https://github.com/madpah/requirements-parser/blob/v${version}/CHANGELOG.md"; license = licenses.bsd2; - maintainers = [ ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/rpyc/default.nix b/pkgs/development/python-modules/rpyc/default.nix index 7c9a13fc4d17..9d3d66b46f25 100644 --- a/pkgs/development/python-modules/rpyc/default.nix +++ b/pkgs/development/python-modules/rpyc/default.nix @@ -11,22 +11,22 @@ buildPythonPackage rec { pname = "rpyc"; version = "6.0.0"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "tomerfiliba"; - repo = pname; + repo = "rpyc"; rev = "refs/tags/${version}"; hash = "sha256-BvXEXZlVbOmKBwnSBCDksUkbT7JPcMX48KZe/Gd5Y8Q="; }; - nativeBuildInputs = [ + build-system = [ hatchling ]; - propagatedBuildInputs = [ + dependencies = [ plumbum ]; @@ -42,11 +42,22 @@ buildPythonPackage rec { "test_listing" "test_pruning" "test_rpyc" + "test_instancecheck_across_connections" + # Internal import error + "test_modules" # Test is outdated # ssl.SSLError: [SSL: NO_CIPHERS_AVAILABLE] no ciphers available (_ssl.c:997) "test_ssl_conenction" ]; + disabledTestPaths = [ + # Internal import issue + "tests/test_attributes.py" + "tests/test_service_pickle.py" + "tests/test_affinity.py" + "tests/test_magic.py" + ]; + pythonImportsCheck = [ "rpyc" ]; diff --git a/pkgs/development/python-modules/rtfde/default.nix b/pkgs/development/python-modules/rtfde/default.nix index c986d7b0c5e3..3b11adc34a1a 100644 --- a/pkgs/development/python-modules/rtfde/default.nix +++ b/pkgs/development/python-modules/rtfde/default.nix @@ -23,11 +23,17 @@ buildPythonPackage rec { hash = "sha256-ai9JQ3gphY/IievBNdHiblIpc0IPS9wp7CVvBIRzG/4="; }; - nativeBuildInputs = [ + postPatch = '' + # https://github.com/seamustuohy/RTFDE/issues/31 + substituteInPlace setup.py \ + --replace-fail "==" ">=" + ''; + + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ lark oletools ]; diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix index 13bee07a1859..47f7eb93a349 100644 --- a/pkgs/development/python-modules/scancode-toolkit/default.nix +++ b/pkgs/development/python-modules/scancode-toolkit/default.nix @@ -60,23 +60,23 @@ buildPythonPackage rec { pname = "scancode-toolkit"; - version = "32.0.8"; + version = "32.1.0"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-W6Ev1MV8cZU4bauAfmuZsBzMJKz7xpw8siO3Afn5mc8="; + hash = "sha256-WjVtE+3KtFdtBLqNUzFwDrWAUQLblE+DNGjABH+5zWc="; }; dontConfigure = true; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ attrs beautifulsoup4 bitarray diff --git a/pkgs/development/python-modules/scikit-hep-testdata/default.nix b/pkgs/development/python-modules/scikit-hep-testdata/default.nix index 58e8ceadd0d4..b7571c828ab0 100644 --- a/pkgs/development/python-modules/scikit-hep-testdata/default.nix +++ b/pkgs/development/python-modules/scikit-hep-testdata/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "scikit-hep-testdata"; - version = "0.4.42"; + version = "0.4.43"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "scikit-hep"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-2zUo/uGIQl0wSFWWxoTmttzUNq9rFGJRYr95PQJH/I8="; + hash = "sha256-+CJyo6motrS89eDJct1zh6zOOrrw+yfAODA/BaVm00A="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/sentence-transformers/default.nix b/pkgs/development/python-modules/sentence-transformers/default.nix index 3803dc4d29c6..d0174236cebd 100644 --- a/pkgs/development/python-modules/sentence-transformers/default.nix +++ b/pkgs/development/python-modules/sentence-transformers/default.nix @@ -4,9 +4,12 @@ , huggingface-hub , nltk , numpy +, pytestCheckHook +, pythonOlder , scikit-learn , scipy , sentencepiece +, setuptools , tokenizers , torch , torchvision @@ -16,17 +19,23 @@ buildPythonPackage rec { pname = "sentence-transformers"; - version = "2.5.1"; - format = "setuptools"; + version = "2.6.1"; + pyproject = true; + + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "UKPLab"; repo = "sentence-transformers"; rev = "refs/tags/v${version}"; - hash = "sha256-HIOizBf8YnPAj95cG1HopO9B/bhAmT0u3q5CM6POEjQ="; + hash = "sha256-09AAuv/yXTbBvjA4gu5ueZrQkVja0BTIGNLZ2tLSyh8="; }; - propagatedBuildInputs = [ + build-system = [ + setuptools + ]; + + dependencies = [ huggingface-hub nltk numpy @@ -40,14 +49,37 @@ buildPythonPackage rec { transformers ]; - pythonImportsCheck = [ "sentence_transformers" ]; + nativeCheckInputs = [ + pytestCheckHook + ]; - doCheck = false; # tests fail at build_ext + pythonImportsCheck = [ + "sentence_transformers" + ]; + + disabledTests = [ + # Tests require network access + "test_simple_encode" + "test_paraphrase_mining" + "test_cmnrl_same_grad" + "test_LabelAccuracyEvaluator" + "test_ParaphraseMiningEvaluator" + ]; + + disabledTestPaths = [ + # Tests require network access + "tests/test_pretrained_stsb.py" + "tests/test_sentence_transformer.py" + "tests/test_compute_embeddings.py" + "tests/test_multi_process.py" + "tests/test_cross_encoder.py" + "tests/test_train_stsb.py" + ]; meta = with lib; { description = "Multilingual Sentence & Image Embeddings with BERT"; homepage = "https://github.com/UKPLab/sentence-transformers"; - changelog = "https://github.com/UKPLab/sentence-transformers/releases/tag/${src.rev}"; + changelog = "https://github.com/UKPLab/sentence-transformers/releases/tag/${version}"; license = licenses.asl20; maintainers = with maintainers; [ dit7ya ]; }; diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix index 1055f45f55b7..fa1c101ecb38 100644 --- a/pkgs/development/python-modules/spacy/default.nix +++ b/pkgs/development/python-modules/spacy/default.nix @@ -51,6 +51,7 @@ buildPythonPackage rec { }; pythonRelaxDeps = [ + "smart-open" "typer" ]; diff --git a/pkgs/development/python-modules/sse-starlette/default.nix b/pkgs/development/python-modules/sse-starlette/default.nix new file mode 100644 index 000000000000..149a37886ca0 --- /dev/null +++ b/pkgs/development/python-modules/sse-starlette/default.nix @@ -0,0 +1,67 @@ +{ lib +, anyio +, asgi-lifespan +, buildPythonPackage +, fastapi +, fetchFromGitHub +, httpx +, pdm-backend +, psutil +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, starlette +, uvicorn +}: + +buildPythonPackage rec { + pname = "sse-starlette"; + version = "2.0.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "sysid"; + repo = "sse-starlette"; + rev = "refs/tags/v${version}"; + hash = "sha256-kDcSG/3foP7fMZKYrkKx6FHvT9c9rSzxyv2EHjQ2WSA="; + }; + + build-system = [ + pdm-backend + ]; + + dependencies = [ + anyio + starlette + uvicorn + ]; + + nativeCheckInputs = [ + asgi-lifespan + fastapi + httpx + psutil + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ + "sse_starlette" + ]; + + disabledTests = [ + # AssertionError + "test_stop_server_with_many_consumers" + "test_stop_server_conditional" + ]; + + meta = with lib; { + description = "Server Sent Events for Starlette and FastAPI"; + homepage = "https://github.com/sysid/sse-starlette"; + changelog = "https://github.com/sysid/sse-starlette/blob/${version}/CHANGELOG.md"; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/starlette-context/default.nix b/pkgs/development/python-modules/starlette-context/default.nix new file mode 100644 index 000000000000..2657e9740a60 --- /dev/null +++ b/pkgs/development/python-modules/starlette-context/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, httpx +, poetry-core +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, starlette +}: + +buildPythonPackage rec { + pname = "starlette-context"; + version = "0.3.6"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "tomwojcik"; + repo = "starlette-context"; + rev = "refs/tags/v${version}"; + hash = "sha256-ZKwE2M86clYKdptd0o/j8VYUOj/Y/72uUnpxFbJ65vw="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + starlette + ]; + + nativeCheckInputs = [ + httpx + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ + "starlette_context" + ]; + + meta = with lib; { + description = "Middleware for Starlette that allows you to store and access the context data of a request"; + homepage = "https://github.com/tomwojcik/starlette-context"; + changelog = "https://github.com/tomwojcik/starlette-context/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/tendo/default.nix b/pkgs/development/python-modules/tendo/default.nix new file mode 100644 index 000000000000..fe02bc0aed29 --- /dev/null +++ b/pkgs/development/python-modules/tendo/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, setuptools +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "tendo"; + version = "0.4.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pycontribs"; + repo = "tendo"; + rev = "refs/tags/v${version}"; + hash = "sha256-ZOozMGxAKcEtmUEzHCFSojKc+9Ha+T2MOTmMvdMqNuQ="; + }; + + postPatch = '' + # marken broken and not required + sed -i '/setuptools_scm_git_archive/d' pyproject.toml + # unused + substituteInPlace setup.cfg \ + --replace-fail "six" "" + ''; + + nativeBuildInputs = [ + setuptools + setuptools-scm + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "tendo" + ]; + + meta = with lib; { + description = "Adds basic functionality that is not provided by Python"; + homepage = "https://github.com/pycontribs/tendo"; + changelog = "https://github.com/pycontribs/tendo/releases/tag/v${version}"; + license = licenses.psfl; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix index 0dbcd6bddc49..ab2315c1d9c8 100644 --- a/pkgs/development/python-modules/teslajsonpy/default.nix +++ b/pkgs/development/python-modules/teslajsonpy/default.nix @@ -17,23 +17,23 @@ buildPythonPackage rec { pname = "teslajsonpy"; - version = "3.10.1"; - format = "pyproject"; + version = "3.10.2"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "zabuldon"; - repo = pname; + repo = "teslajsonpy"; rev = "refs/tags/v${version}"; - hash = "sha256-Eez8ktPhbWauFNsIuwoxMkGpI7hnYsBwStmU80IDFw4="; + hash = "sha256-M3/1J73C3gUqyZYsu10O6FnACKYVbGuMH+8Ns0s2Rwc="; }; - nativeBuildInputs = [ + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ authcaptureproxy aiohttp backoff diff --git a/pkgs/development/python-modules/tilequant/default.nix b/pkgs/development/python-modules/tilequant/default.nix index 064b73707ad0..c25c9ff2659c 100644 --- a/pkgs/development/python-modules/tilequant/default.nix +++ b/pkgs/development/python-modules/tilequant/default.nix @@ -1,13 +1,14 @@ { lib , buildPythonPackage -, fetchPypi , click +, fetchPypi , ordered-set +, pillow , pythonOlder , pythonRelaxDepsHook -, pillow -, sortedcollections +, setuptools , setuptools-dso +, sortedcollections }: buildPythonPackage rec { @@ -22,15 +23,16 @@ buildPythonPackage rec { hash = "sha256-uW1g3nlT6Y+1beifo/MOlGxsGL7on/jcAROxSddySHk="; }; - nativeBuildInputs = [ - pythonRelaxDepsHook - ]; - pythonRelaxDeps = [ "pillow" ]; - propagatedBuildInputs = [ + build-system = [ + pythonRelaxDepsHook + setuptools + ]; + + dependencies = [ click ordered-set pillow @@ -46,9 +48,10 @@ buildPythonPackage rec { meta = with lib; { description = "Tool for quantizing image colors using tile-based palette restrictions"; - mainProgram = "tilequant"; homepage = "https://github.com/SkyTemple/tilequant"; + changelog = "https://github.com/SkyTemple/tilequant/releases/tag/${version}"; license = licenses.gpl3Plus; maintainers = with maintainers; [ marius851000 xfix ]; + mainProgram = "tilequant"; }; } diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix index ac2af381ff02..86f39fff7938 100644 --- a/pkgs/development/python-modules/transformers/default.nix +++ b/pkgs/development/python-modules/transformers/default.nix @@ -53,7 +53,7 @@ buildPythonPackage rec { pname = "transformers"; - version = "4.39.1"; + version = "4.39.2"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -62,7 +62,7 @@ buildPythonPackage rec { owner = "huggingface"; repo = "transformers"; rev = "refs/tags/v${version}"; - hash = "sha256-OzuiKzhgI9eRTPq3l7x4aw3fxvCe4080pK1RKzcC1RQ="; + hash = "sha256-eOtXHKTGVV3hYdSK+p2mTgCaG4akivnuMnB/lSh8Lxc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/typing-validation/default.nix b/pkgs/development/python-modules/typing-validation/default.nix new file mode 100644 index 000000000000..975119b3be1b --- /dev/null +++ b/pkgs/development/python-modules/typing-validation/default.nix @@ -0,0 +1,58 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub + +, pytestCheckHook + +, pythonOlder + +, setuptools +, setuptools-scm +, wheel + +, numpy + +, typing-extensions +}: + +buildPythonPackage rec { + pname = "typing-validation"; + version = "1.2.11"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "hashberg-io"; + repo = "typing-validation"; + rev = "refs/tags/v${version}"; + hash = "sha256-0scXoAPkx/VBIbNRMtFoRRbmGpC2RzNRmQG4mRXSxrs="; + }; + + build-system = [ + setuptools + setuptools-scm + wheel + ]; + + dependencies = [ + typing-extensions + ]; + + nativeCheckInputs = [ + pytestCheckHook + numpy + ]; + + pythonImportsCheck = [ + "typing_validation" + ]; + + meta = with lib; { + description = "A simple library for runtime type-checking"; + homepage = "https://github.com/hashberg-io/typing-validation"; + changelog = "https://github.com/hashberg-io/typing-validation/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ vizid ]; + }; +} diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index 6a457c6051ed..555c7ddf4307 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "checkov"; - version = "3.2.47"; + version = "3.2.48"; pyproject = true; src = fetchFromGitHub { owner = "bridgecrewio"; repo = "checkov"; rev = "refs/tags/${version}"; - hash = "sha256-vwkTbHhgXaGeHrAkOM8gRDJ2VgbSmqt9Ia+qdOMxkko="; + hash = "sha256-B0wvUd94J+Q+ZuWitYMKYgOTSNGC4njPrUAhs1QPCuQ="; }; patches = [ diff --git a/pkgs/development/tools/analysis/snyk/default.nix b/pkgs/development/tools/analysis/snyk/default.nix index 67f8516c49b9..11ee2297e61d 100644 --- a/pkgs/development/tools/analysis/snyk/default.nix +++ b/pkgs/development/tools/analysis/snyk/default.nix @@ -1,20 +1,27 @@ -{ buildNpmPackage, fetchFromGitHub, lib, stdenv, testers, snyk }: +{ lib +, buildNpmPackage +, fetchFromGitHub +, stdenv +, testers +, snyk +}: buildNpmPackage rec { pname = "snyk"; - version = "1.1284.0"; + version = "1.1286.0"; src = fetchFromGitHub { owner = "snyk"; repo = "cli"; - rev = "v${version}"; - hash = "sha256-CM9172gSeWf+12e6tsro6O1NtiZqUAT0EsA6LAhZ+8s="; + rev = "refs/tags/v${version}"; + hash = "sha256-tckifLV+HC7NqTeBtZI+VjZveeVbRS5+63vL8k8qE4s="; }; - npmDepsHash = "sha256-aode80HyGSyZoEiCdsnEPrVo8KSqTW0GxxsGdRyNdiQ="; + npmDepsHash = "sha256-deBtINc+P0NnCIb0jI0Mvn2zbWS6qLqCXL6nKSFGqOI="; postPatch = '' - substituteInPlace package.json --replace '"version": "1.0.0-monorepo"' '"version": "${version}"' + substituteInPlace package.json \ + --replace-fail '"version": "1.0.0-monorepo"' '"version": "${version}"' ''; env.NIX_CFLAGS_COMPILE = @@ -29,9 +36,10 @@ buildNpmPackage rec { meta = with lib; { description = "Scans and monitors projects for security vulnerabilities"; - mainProgram = "snyk"; homepage = "https://snyk.io"; + changelog = "https://github.com/snyk/cli/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ ]; + mainProgram = "snyk"; }; } diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix index ed7db536bd83..b6074198be3c 100644 --- a/pkgs/development/tools/azcopy/default.nix +++ b/pkgs/development/tools/azcopy/default.nix @@ -6,18 +6,18 @@ buildGoModule rec { pname = "azure-storage-azcopy"; - version = "10.23.0"; + version = "10.24.0"; src = fetchFromGitHub { owner = "Azure"; repo = "azure-storage-azcopy"; rev = "refs/tags/v${version}"; - hash = "sha256-Df45DHGA7EM4hx3iAmYNNUHjrUrkW6QniJkHaN7wNZM="; + hash = "sha256-K/Q0vlcMX6YKjvdWNzsJe1uUSS9WY8pN6SD5yiVF1Sg="; }; subPackages = [ "." ]; - vendorHash = "sha256-afqDnrmbTR6yZHT7NysysORci4b0Oh0sjpftgAXJ5Uk="; + vendorHash = "sha256-VWSr7K2WrBY4jzFv8B9ocp7GdBxTBSePMX8mLeSbKow="; doCheck = false; diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix index 76301b5f4820..3ed49c05bec9 100644 --- a/pkgs/development/tools/backblaze-b2/default.nix +++ b/pkgs/development/tools/backblaze-b2/default.nix @@ -46,7 +46,9 @@ python3Packages.buildPythonApplication rec { backoff more-itertools pexpect - pytestCheckHook + + # backblaze-b2 requires pytest 7 to complete tests. + (pytestCheckHook.override { pytest = pytest_7; }) ]; preCheck = '' diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix index 997eff21adf6..e6ae2f2f8ba6 100644 --- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix +++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "cirrus-cli"; - version = "0.113.0"; + version = "0.113.1"; src = fetchFromGitHub { owner = "cirruslabs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ws1OFcAz41uBgRIjLVU19nRdIIgdGnnBs6xthztyDmE="; + sha256 = "sha256-RAka5uYNsTq/zBT9sjdrZFY1CmJ5Vzdj1gfWvMERcPA="; }; vendorHash = "sha256-NPtQM4nm8QiHY2wSd7VHx6T5LRb7EB39x+xFzHOUcNs="; diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix index 9ff5cc631b1f..ee9af03bb888 100644 --- a/pkgs/development/tools/cue/default.nix +++ b/pkgs/development/tools/cue/default.nix @@ -8,18 +8,18 @@ buildGoModule rec { pname = "cue"; - version = "0.7.1"; + version = "0.8.0"; src = fetchFromGitHub { owner = "cue-lang"; repo = "cue"; rev = "v${version}"; - hash = "sha256-x8DXAKrkqrZE6mxkIfjMhxZBnFbQnqWhmrvjrFjnQuc="; + hash = "sha256-7gn8/35rpbyzSP4ZM21ig6Wsq5Tp18x1Ex/IVb2iE7k="; }; - vendorHash = "sha256-Eq51sydt2eu3pSCRjepvxpU01T0vr0axx9XEk34db28="; + vendorHash = "sha256-0OZtKIDdEnQLnSj109EpGvaZvMIy7gPAZ+weHzYKGSg="; - subPackages = [ "cmd/cue" ]; + subPackages = [ "cmd/*" ]; nativeBuildInputs = [ installShellFiles ]; @@ -45,9 +45,9 @@ buildGoModule rec { meta = with lib; { description = "A data constraint language which aims to simplify tasks involving defining and using data"; - mainProgram = "cue"; homepage = "https://cuelang.org/"; license = lib.licenses.asl20; maintainers = with maintainers; [ aaronjheng ]; + mainProgram = "cue"; }; } diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix index 8db953a8dca5..dcea75d51071 100644 --- a/pkgs/development/tools/database/sqlfluff/default.nix +++ b/pkgs/development/tools/database/sqlfluff/default.nix @@ -5,21 +5,21 @@ python3.pkgs.buildPythonApplication rec { pname = "sqlfluff"; - version = "3.0.2"; + version = "3.0.3"; pyproject = true; src = fetchFromGitHub { owner = "sqlfluff"; repo = "sqlfluff"; rev = "refs/tags/${version}"; - hash = "sha256-GJpSBDxgI0UpIIVeF9dl9XzKJ2TuwWf/IOCzoTGJNRQ="; + hash = "sha256-/Zp/iAX6Y6MaXMjpk3dRYgZNhjJtl3cr/FiCyhGK9X4="; }; - nativeBuildInputs = with python3.pkgs; [ + build-system = with python3.pkgs; [ setuptools ]; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3.pkgs; [ appdirs cached-property chardet diff --git a/pkgs/development/tools/database/timescaledb-tune/default.nix b/pkgs/development/tools/database/timescaledb-tune/default.nix index 444e947cdf4b..b0737ce85684 100644 --- a/pkgs/development/tools/database/timescaledb-tune/default.nix +++ b/pkgs/development/tools/database/timescaledb-tune/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "timescaledb-tune"; - version = "0.15.0"; + version = "0.16.0"; src = fetchFromGitHub { owner = "timescale"; repo = pname; rev = "v${version}"; - sha256 = "sha256-YgG8yuHnJrhrqJHNUkMjJvKNzEQ3ClY9OQzt+ET4LEk="; + sha256 = "sha256-rOAXCru3m31lVFUyxywkuyKWUOJneA7ECMPyvAfw4mg="; }; vendorHash = "sha256-8Q+KMYu1yiHEYS035NmCvxSgIS/+oRhhcZa6SwmvGgk="; diff --git a/pkgs/development/tools/firebase-tools/default.nix b/pkgs/development/tools/firebase-tools/default.nix index 68968222bd3e..ebcf8abf0fea 100644 --- a/pkgs/development/tools/firebase-tools/default.nix +++ b/pkgs/development/tools/firebase-tools/default.nix @@ -8,16 +8,16 @@ buildNpmPackage rec { pname = "firebase-tools"; - version = "13.5.2"; + version = "13.6.0"; src = fetchFromGitHub { owner = "firebase"; repo = "firebase-tools"; rev = "v${version}"; - hash = "sha256-uHh9schpVs9PNivZkIp8geG60MrEDwrlo58WN3499OM="; + hash = "sha256-69fIejqLs/27nISW7b7+kPRoUiEGQF0DSGz5nkus6Us="; }; - npmDepsHash = "sha256-O3+9qqXbNLVqMP6Grh7p5rHWjOc3stG1e6zBxZSt/5M="; + npmDepsHash = "sha256-m9mAuR0lqC83uHY+b1rOLuv6bRSl9eVnYVE7pvLi9+s="; postPatch = '' ln -s npm-shrinkwrap.json package-lock.json diff --git a/pkgs/development/tools/iferr/default.nix b/pkgs/development/tools/iferr/default.nix index 9a7b25a4cb40..bf970ce1e9de 100644 --- a/pkgs/development/tools/iferr/default.nix +++ b/pkgs/development/tools/iferr/default.nix @@ -1,29 +1,28 @@ -{ buildGoPackage +{ buildGoModule , lib , fetchFromGitHub }: -buildGoPackage rec { - pname = "iferr-unstable"; - version = "2018-06-15"; - rev = "bb332a3b1d9129b6486c7ddcb7030c11b05cfc88"; - - goPackagePath = "github.com/koron/iferr"; +buildGoModule { + pname = "iferr"; + version = "0-unstable-2024-01-22"; src = fetchFromGitHub { - inherit rev; - owner = "koron"; repo = "iferr"; - sha256 = "1nyqy1sgq2afiama4wy7wap8s03c0hiwwa0f6kwq3y59097rfc0c"; + rev = "9c3e2fbe4bd19a7f0338e42bb483562ed4cf4d50"; + hash = "sha256-qGuSsdQorb407rDl2o7w7kPCLng3W7YQsqo5JpoZFW8="; }; + vendorHash = null; + + ldflags = [ "-s" "-w" ]; + meta = with lib; { description = ''Generate "if err != nil {" block''; - mainProgram = "iferr"; homepage = "https://github.com/koron/iferr"; license = licenses.mit; maintainers = with maintainers; [ kalbasit ]; - platforms = platforms.linux ++ platforms.darwin; + mainProgram = "iferr"; }; } diff --git a/pkgs/development/tools/language-servers/gopls/default.nix b/pkgs/development/tools/language-servers/gopls/default.nix index 63937dbfe865..509eb290c2e8 100644 --- a/pkgs/development/tools/language-servers/gopls/default.nix +++ b/pkgs/development/tools/language-servers/gopls/default.nix @@ -14,6 +14,9 @@ buildGoModule rec { modRoot = "gopls"; vendorHash = "sha256-q7vWiXJAX4u8B4RyFc7kg1BvMCPaTBFOVkWXeE78Emo="; + # https://github.com/golang/tools/blob/9ed98faa/gopls/main.go#L27-L30 + ldflags = [ "-X main.version=v${version}" ]; + doCheck = false; # Only build gopls, and not the integration tests or documentation generator. diff --git a/pkgs/development/tools/language-servers/jq-lsp/default.nix b/pkgs/development/tools/language-servers/jq-lsp/default.nix index 13f852790662..6952bea00d63 100644 --- a/pkgs/development/tools/language-servers/jq-lsp/default.nix +++ b/pkgs/development/tools/language-servers/jq-lsp/default.nix @@ -18,7 +18,7 @@ buildGoModule rec { # based on https://github.com/wader/jq-lsp/blob/master/.goreleaser.yml CGO_ENABLED = 0; - GOFLAGS = [ "-trimpath" ]; + ldflags = [ "-s" "-w" diff --git a/pkgs/development/tools/language-servers/postgres-lsp/default.nix b/pkgs/development/tools/language-servers/postgres-lsp/default.nix index 6f9e41cb3c86..33855391ea5a 100644 --- a/pkgs/development/tools/language-servers/postgres-lsp/default.nix +++ b/pkgs/development/tools/language-servers/postgres-lsp/default.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "postgres-lsp"; - version = "unstable-2024-01-11"; + version = "0-unstable-2024-03-24"; src = fetchFromGitHub { owner = "supabase"; repo = "postgres_lsp"; - rev = "bbc24cc541cd1619997193ed81ad887252c7e467"; - hash = "sha256-llVsHSEUDRsqjSTGr3hGUK6jYlKPX60rpjngBk1TG2Y="; + rev = "43ca9b675cb152ca7f38cfa6aff6dd2131dfa9a2"; + hash = "sha256-n7Qbt9fGzC0CcleAtTWDInPz4oaPjI+pvIPrR5EYJ9U="; fetchSubmodules = true; }; - cargoHash = "sha256-Npx/sSbMr4PKnNPslvjpOyKH0bpQLzW6cLNW+7H/TQ0="; + cargoHash = "sha256-UEcHlkbYMA6xETMryWXsDHyAZYtLncRJn2jA6tvw7gQ="; nativeBuildInputs = [ protobuf diff --git a/pkgs/development/tools/misc/grpc-client-cli/default.nix b/pkgs/development/tools/misc/grpc-client-cli/default.nix index 5a337aafb9e9..aac07b56e2d5 100644 --- a/pkgs/development/tools/misc/grpc-client-cli/default.nix +++ b/pkgs/development/tools/misc/grpc-client-cli/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "grpc-client-cli"; - version = "1.20.0"; + version = "1.20.1"; src = fetchFromGitHub { owner = "vadimi"; repo = "grpc-client-cli"; rev = "v${version}"; - sha256 = "sha256-MqzuVPY/IuJWfdzHvC/keTe5yi0aMhvq8SoKDlRAI0w="; + sha256 = "sha256-r3gbQntlWZ8Y2KiJOVkpzdakKnQUX2NIhk3eAyjnIV4="; }; - vendorHash = "sha256-eRT1xMy9lsvF5sUF9jyDUWfNyLThIDTksaXff7xqyic="; + vendorHash = "sha256-23DdG/lLwzpgSRk9S6p1aNMh+AFzhO2qX2EE1EUovz8="; meta = with lib; { description = "generic gRPC command line client"; diff --git a/pkgs/development/tools/misc/terser/default.nix b/pkgs/development/tools/misc/terser/default.nix index 2b9052ad79e6..ba30c6a4ffcd 100644 --- a/pkgs/development/tools/misc/terser/default.nix +++ b/pkgs/development/tools/misc/terser/default.nix @@ -2,16 +2,16 @@ buildNpmPackage rec { pname = "terser"; - version = "5.29.2"; + version = "5.30.0"; src = fetchFromGitHub { owner = "terser"; repo = "terser"; rev = "v${version}"; - hash = "sha256-VGQ/mgMeeNA0koYgmb6PAZqBdVljgqY3MwuG0RLllCU="; + hash = "sha256-d3vnCEb9HzydpxsuoX66KqUtgYYt/+L2AcpZNFDleoY="; }; - npmDepsHash = "sha256-8wKvV3vSzF6WdHzox1LXVi2FmeZf7qSo2rg93uCN3fI="; + npmDepsHash = "sha256-wrxa6/TKYb/pqT4zjTVbfONSYqko12pVzBQ9Ojm7H2o="; meta = with lib; { description = "JavaScript parser, mangler and compressor toolkit for ES6+"; diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix index afd4a23688ec..6c3b1707a405 100644 --- a/pkgs/development/tools/misc/texlab/default.nix +++ b/pkgs/development/tools/misc/texlab/default.nix @@ -15,16 +15,16 @@ let in rustPlatform.buildRustPackage rec { pname = "texlab"; - version = "5.14.0"; + version = "5.14.1"; src = fetchFromGitHub { owner = "latex-lsp"; repo = "texlab"; rev = "refs/tags/v${version}"; - hash = "sha256-/VXhL03wZz0B0qoQe7JqmtzN020LSmcWB5QOkZFboz0="; + hash = "sha256-OqnV0ZpriiH69cTlmqPxorCgeO3x5h15e5Crn7DPwBM="; }; - cargoHash = "sha256-hIQeo4FCEbgpa99ho5cwJgiXtAYbqgzyj6kW8fNtTWA="; + cargoHash = "sha256-V5FP24Cz1umffFD1Am4/IG3c7zKpT7MdghLpKvDxZwA="; outputs = [ "out" ] ++ lib.optional (!isCross) "man"; @@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec { # generate the man page postInstall = lib.optionalString (!isCross) '' # TexLab builds man page separately in CI: - # https://github.com/latex-lsp/texlab/blob/v5.13.1/.github/workflows/publish.yml#L117-L121 + # https://github.com/latex-lsp/texlab/blob/v5.14.1/.github/workflows/publish.yml#L117-L121 help2man --no-info "$out/bin/texlab" > texlab.1 installManPage texlab.1 ''; @@ -50,11 +50,11 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "An implementation of the Language Server Protocol for LaTeX"; - mainProgram = "texlab"; homepage = "https://github.com/latex-lsp/texlab"; changelog = "https://github.com/latex-lsp/texlab/blob/v${version}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ doronbehar kira-bruneau ]; platforms = platforms.all; + mainProgram = "texlab"; }; } diff --git a/pkgs/development/tools/mongosh/package-lock.json b/pkgs/development/tools/mongosh/package-lock.json index f0fae4c8e245..13dcac0bb514 100644 --- a/pkgs/development/tools/mongosh/package-lock.json +++ b/pkgs/development/tools/mongosh/package-lock.json @@ -1,15 +1,15 @@ { "name": "mongosh", - "version": "2.2.1", + "version": "2.2.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mongosh", - "version": "2.2.1", + "version": "2.2.2", "license": "Apache-2.0", "dependencies": { - "@mongosh/cli-repl": "2.2.1" + "@mongosh/cli-repl": "2.2.2" }, "bin": { "mongosh": "bin/mongosh.js" @@ -122,22 +122,22 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.535.0.tgz", - "integrity": "sha512-7n9WAXAQzDgdaNkZlgdX+dmCW30tCrq3NpPs/f1WFWcF6g+s06ULkuWywTU+usG6ZTuRtajFKy2oMkMv9Wor0g==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.540.0.tgz", + "integrity": "sha512-03vUaIKjvdcOmjDi8Fv9JgY+VQrt9QBpRkI8A1lrdPNgWqTEZXZi/zBsFRsxTe6hgsrZtxVnxLu6krSRILuqtw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.535.0", + "@aws-sdk/client-sts": "3.540.0", "@aws-sdk/core": "3.535.0", - "@aws-sdk/credential-provider-node": "3.535.0", + "@aws-sdk/credential-provider-node": "3.540.0", "@aws-sdk/middleware-host-header": "3.535.0", "@aws-sdk/middleware-logger": "3.535.0", "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", "@aws-sdk/region-config-resolver": "3.535.0", "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", "@aws-sdk/util-user-agent-browser": "3.535.0", "@aws-sdk/util-user-agent-node": "3.535.0", "@smithy/config-resolver": "^2.2.0", @@ -172,9 +172,9 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso/-/client-sso-3.535.0.tgz", - "integrity": "sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso/-/client-sso-3.540.0.tgz", + "integrity": "sha512-rrQZMuw4sxIo3eyAUUzPQRA336mPRnrAeSlSdVHBKZD8Fjvoy0lYry2vNhkPLpFZLso1J66KRyuIv4LzRR3v1Q==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", @@ -182,10 +182,10 @@ "@aws-sdk/middleware-host-header": "3.535.0", "@aws-sdk/middleware-logger": "3.535.0", "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", "@aws-sdk/region-config-resolver": "3.535.0", "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", "@aws-sdk/util-user-agent-browser": "3.535.0", "@aws-sdk/util-user-agent-node": "3.535.0", "@smithy/config-resolver": "^2.2.0", @@ -220,21 +220,21 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.535.0.tgz", - "integrity": "sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.540.0.tgz", + "integrity": "sha512-LZYK0lBRQK8D8M3Sqc96XiXkAV2v70zhTtF6weyzEpgwxZMfSuFJjs0jFyhaeZBZbZv7BBghIdhJ5TPavNxGMQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.535.0", + "@aws-sdk/client-sts": "3.540.0", "@aws-sdk/core": "3.535.0", "@aws-sdk/middleware-host-header": "3.535.0", "@aws-sdk/middleware-logger": "3.535.0", "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", "@aws-sdk/region-config-resolver": "3.535.0", "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", "@aws-sdk/util-user-agent-browser": "3.535.0", "@aws-sdk/util-user-agent-node": "3.535.0", "@smithy/config-resolver": "^2.2.0", @@ -268,13 +268,13 @@ "node": ">=14.0.0" }, "peerDependencies": { - "@aws-sdk/credential-provider-node": "^3.535.0" + "@aws-sdk/credential-provider-node": "^3.540.0" } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sts/-/client-sts-3.535.0.tgz", - "integrity": "sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz", + "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", @@ -282,10 +282,10 @@ "@aws-sdk/middleware-host-header": "3.535.0", "@aws-sdk/middleware-logger": "3.535.0", "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", "@aws-sdk/region-config-resolver": "3.535.0", "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", "@aws-sdk/util-user-agent-browser": "3.535.0", "@aws-sdk/util-user-agent-node": "3.535.0", "@smithy/config-resolver": "^2.2.0", @@ -319,7 +319,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "@aws-sdk/credential-provider-node": "^3.535.0" + "@aws-sdk/credential-provider-node": "^3.540.0" } }, "node_modules/@aws-sdk/core": { @@ -340,11 +340,11 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.535.0.tgz", - "integrity": "sha512-Lc+RJTNzp22H31W/O7iSmCZUP+KYZMuzK8hKU4/RXo7D8t/cFLb4VpvvcCCa4UOZqdmxVqEhwc1oXyMkoszITQ==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.540.0.tgz", + "integrity": "sha512-XOTAIuVgticX+43GMpRbi5OHmJAhHfoHYsVGu0eRLhri1yFqUHXJgHUd51QQtlA8cFQN7JnFFM6sF5EDCPF49g==", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.535.0", + "@aws-sdk/client-cognito-identity": "3.540.0", "@aws-sdk/types": "3.535.0", "@smithy/property-provider": "^2.2.0", "@smithy/types": "^2.12.0", @@ -388,15 +388,15 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.535.0.tgz", - "integrity": "sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.540.0.tgz", + "integrity": "sha512-igN/RbsnulIBwqXbwsWmR3srqmtbPF1dm+JteGvUY31FW65fTVvWvSr945Y/cf1UbhPmIQXntlsqESqpkhTHwg==", "dependencies": { - "@aws-sdk/client-sts": "3.535.0", + "@aws-sdk/client-sts": "3.540.0", "@aws-sdk/credential-provider-env": "3.535.0", "@aws-sdk/credential-provider-process": "3.535.0", - "@aws-sdk/credential-provider-sso": "3.535.0", - "@aws-sdk/credential-provider-web-identity": "3.535.0", + "@aws-sdk/credential-provider-sso": "3.540.0", + "@aws-sdk/credential-provider-web-identity": "3.540.0", "@aws-sdk/types": "3.535.0", "@smithy/credential-provider-imds": "^2.3.0", "@smithy/property-provider": "^2.2.0", @@ -409,16 +409,16 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.535.0.tgz", - "integrity": "sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.540.0.tgz", + "integrity": "sha512-HKQZJbLHlrHX9A0B1poiYNXIIQfy8whTjuosTCYKPDBhhUyVAQfxy/KG726j0v43IhaNPLgTGZCJve4hAsazSw==", "dependencies": { "@aws-sdk/credential-provider-env": "3.535.0", "@aws-sdk/credential-provider-http": "3.535.0", - "@aws-sdk/credential-provider-ini": "3.535.0", + "@aws-sdk/credential-provider-ini": "3.540.0", "@aws-sdk/credential-provider-process": "3.535.0", - "@aws-sdk/credential-provider-sso": "3.535.0", - "@aws-sdk/credential-provider-web-identity": "3.535.0", + "@aws-sdk/credential-provider-sso": "3.540.0", + "@aws-sdk/credential-provider-web-identity": "3.540.0", "@aws-sdk/types": "3.535.0", "@smithy/credential-provider-imds": "^2.3.0", "@smithy/property-provider": "^2.2.0", @@ -446,12 +446,12 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.535.0.tgz", - "integrity": "sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.540.0.tgz", + "integrity": "sha512-tKkFqK227LF5ajc5EL6asXS32p3nkofpP8G7NRpU7zOEOQCg01KUc4JRX+ItI0T007CiN1J19yNoFqHLT/SqHg==", "dependencies": { - "@aws-sdk/client-sso": "3.535.0", - "@aws-sdk/token-providers": "3.535.0", + "@aws-sdk/client-sso": "3.540.0", + "@aws-sdk/token-providers": "3.540.0", "@aws-sdk/types": "3.535.0", "@smithy/property-provider": "^2.2.0", "@smithy/shared-ini-file-loader": "^2.4.0", @@ -463,11 +463,11 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.535.0.tgz", - "integrity": "sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.540.0.tgz", + "integrity": "sha512-OpDm9w3A168B44hSjpnvECP4rvnFzD86rN4VYdGADuCvEa5uEcdA/JuT5WclFPDqdWEmFBqS1pxBIJBf0g2Q9Q==", "dependencies": { - "@aws-sdk/client-sts": "3.535.0", + "@aws-sdk/client-sts": "3.540.0", "@aws-sdk/types": "3.535.0", "@smithy/property-provider": "^2.2.0", "@smithy/types": "^2.12.0", @@ -478,21 +478,21 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-providers/-/credential-providers-3.535.0.tgz", - "integrity": "sha512-rC3TguTFbeua3EyTwGm84xeARKE1RO0oIWdtuTmSS5ZCPwllcePGkOVg7gQiPRc01Ebj816S/6P2QbvAfSUxqA==", - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.535.0", - "@aws-sdk/client-sso": "3.535.0", - "@aws-sdk/client-sts": "3.535.0", - "@aws-sdk/credential-provider-cognito-identity": "3.535.0", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-providers/-/credential-providers-3.540.0.tgz", + "integrity": "sha512-tAmvqdZngCrER5/AAwTmDSjO05LGIshKL+lwcJr2OUV5jtQVzfbFrorf+b5dnI+3i8+zGcEAV9omra4XGrO9Kg==", + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.540.0", + "@aws-sdk/client-sso": "3.540.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/credential-provider-cognito-identity": "3.540.0", "@aws-sdk/credential-provider-env": "3.535.0", "@aws-sdk/credential-provider-http": "3.535.0", - "@aws-sdk/credential-provider-ini": "3.535.0", - "@aws-sdk/credential-provider-node": "3.535.0", + "@aws-sdk/credential-provider-ini": "3.540.0", + "@aws-sdk/credential-provider-node": "3.540.0", "@aws-sdk/credential-provider-process": "3.535.0", - "@aws-sdk/credential-provider-sso": "3.535.0", - "@aws-sdk/credential-provider-web-identity": "3.535.0", + "@aws-sdk/credential-provider-sso": "3.540.0", + "@aws-sdk/credential-provider-web-identity": "3.540.0", "@aws-sdk/types": "3.535.0", "@smithy/credential-provider-imds": "^2.3.0", "@smithy/property-provider": "^2.2.0", @@ -545,12 +545,12 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.535.0.tgz", - "integrity": "sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.540.0.tgz", + "integrity": "sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==", "dependencies": { "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", "@smithy/protocol-http": "^3.3.0", "@smithy/types": "^2.12.0", "tslib": "^2.6.2" @@ -576,11 +576,11 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/token-providers/-/token-providers-3.535.0.tgz", - "integrity": "sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/token-providers/-/token-providers-3.540.0.tgz", + "integrity": "sha512-9BvtiVEZe5Ev88Wa4ZIUbtT6BVcPwhxmVInQ6c12MYNb0WNL54BN6wLy/eknAfF05gpX2/NDU2pUDOyMPdm/+g==", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.535.0", + "@aws-sdk/client-sso-oidc": "3.540.0", "@aws-sdk/types": "3.535.0", "@smithy/property-provider": "^2.2.0", "@smithy/shared-ini-file-loader": "^2.4.0", @@ -604,9 +604,9 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.535.0", - "resolved": "https://registry.npmmirror.com/@aws-sdk/util-endpoints/-/util-endpoints-3.535.0.tgz", - "integrity": "sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg==", + "version": "3.540.0", + "resolved": "https://registry.npmmirror.com/@aws-sdk/util-endpoints/-/util-endpoints-3.540.0.tgz", + "integrity": "sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==", "dependencies": { "@aws-sdk/types": "3.535.0", "@smithy/types": "^2.12.0", @@ -690,12 +690,12 @@ } }, "node_modules/@babel/core": { - "version": "7.24.1", - "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.1.tgz", - "integrity": "sha512-F82udohVyIgGAY2VVj/g34TpFUG606rumIHjTfVbssPg2zTR7PuuEpZcX8JA6sgBfIYmJrFtWgPvHQuJamVqZQ==", + "version": "7.24.3", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.1", + "@babel/code-frame": "^7.24.2", "@babel/generator": "^7.24.1", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", @@ -791,9 +791,9 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.1", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.1.tgz", - "integrity": "sha512-HfEWzysMyOa7xI5uQHc/OcZf67/jc+xe/RZlznWQHhbb8Pg1SkRdbK4yEi61aY8wxQA7PkSfoojtLQP/Kpe3og==", + "version": "7.24.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dependencies": { "@babel/types": "^7.24.0" }, @@ -1168,12 +1168,12 @@ } }, "node_modules/@mongosh/arg-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/arg-parser/-/arg-parser-2.2.1.tgz", - "integrity": "sha512-qz/RDf0go1irs/c/B5ZjN1OwPNplm8cQJU8eB037NVg0jCuDn/V+ERw3cSkinYdN1iZgLDtE/l3rgmEvkxz9Yg==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/arg-parser/-/arg-parser-2.2.2.tgz", + "integrity": "sha512-jonJbUjRBmMTgd1y3loyG09GJoYRZW/heWCbRGq5K9Gc4QHYDKwWPS8yaGTaw168UaBkCoCsSySNRs9MI0wJWA==", "dependencies": { - "@mongosh/errors": "2.2.1", - "@mongosh/i18n": "2.2.1", + "@mongosh/errors": "2.2.2", + "@mongosh/i18n": "2.2.2", "mongodb-connection-string-url": "^3.0.0" }, "engines": { @@ -1181,9 +1181,9 @@ } }, "node_modules/@mongosh/async-rewriter2": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/async-rewriter2/-/async-rewriter2-2.2.1.tgz", - "integrity": "sha512-xlSoweQUlX5nwW2FTOssQPpoJGZX1gZhfkaZ8qoanUdUMGDN+FfwjhUxMf8vUlOP8s899PUqDktCfc4UYo31mQ==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/async-rewriter2/-/async-rewriter2-2.2.2.tgz", + "integrity": "sha512-9F/rVauIZlxMFtVzddW5fs2a8Sr5/54Bc4qoBbwUjkGkV/I62Zx2fwoUm/JUM8iwnJwmXbjA/z0aK7div1OOdg==", "dependencies": { "@babel/core": "^7.22.8", "@babel/plugin-transform-destructuring": "^7.22.5", @@ -1200,12 +1200,12 @@ } }, "node_modules/@mongosh/autocomplete": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/autocomplete/-/autocomplete-2.2.1.tgz", - "integrity": "sha512-M02TfYQvIXy7HWWXT36aEvZ/LfkurET4F1M7y4J9aVb5GL6j3pkSmubOjJNzwkt9vEIJlHFlJFQfPDgq5DWFUA==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/autocomplete/-/autocomplete-2.2.2.tgz", + "integrity": "sha512-S7awMS1OBQHXyjpU7QglzwuzcYbkb+emFA+ox7rAEGUFfjxnHT+TN69SiNO6Hm63ryq+2w/lXyuAnLzml8ZdTA==", "dependencies": { "@mongodb-js/mongodb-constants": "^0.8.10", - "@mongosh/shell-api": "2.2.1", + "@mongosh/shell-api": "2.2.2", "semver": "^7.5.4" }, "engines": { @@ -1213,25 +1213,25 @@ } }, "node_modules/@mongosh/cli-repl": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/cli-repl/-/cli-repl-2.2.1.tgz", - "integrity": "sha512-KrnRS5IzdIvWG46n274Ay2c9ZhiMJqJryExNjs00H56VjepGq2HY7hop3U9vY31eQ/s+xLjzChR9qNJ+2E9WwA==", - "dependencies": { - "@mongosh/arg-parser": "2.2.1", - "@mongosh/autocomplete": "2.2.1", - "@mongosh/editor": "2.2.1", - "@mongosh/errors": "2.2.1", - "@mongosh/history": "2.2.1", - "@mongosh/i18n": "2.2.1", - "@mongosh/import-node-fetch": "2.2.1", - "@mongosh/js-multiline-to-singleline": "2.2.1", - "@mongosh/logging": "2.2.1", - "@mongosh/service-provider-core": "2.2.1", - "@mongosh/service-provider-server": "2.2.1", - "@mongosh/shell-api": "2.2.1", - "@mongosh/shell-evaluator": "2.2.1", - "@mongosh/snippet-manager": "2.2.1", - "@mongosh/types": "2.2.1", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/cli-repl/-/cli-repl-2.2.2.tgz", + "integrity": "sha512-dPzJ+PN+xFzJ+11iGSMwzeQRcm8i+gUicc+BH2Oj5Y6pw4/Zljuk7uycu6nf5MMqxgzVyozaHfEUocOox59+1g==", + "dependencies": { + "@mongosh/arg-parser": "2.2.2", + "@mongosh/autocomplete": "2.2.2", + "@mongosh/editor": "2.2.2", + "@mongosh/errors": "2.2.2", + "@mongosh/history": "2.2.2", + "@mongosh/i18n": "2.2.2", + "@mongosh/import-node-fetch": "2.2.2", + "@mongosh/js-multiline-to-singleline": "2.2.2", + "@mongosh/logging": "2.2.2", + "@mongosh/service-provider-core": "2.2.2", + "@mongosh/service-provider-server": "2.2.2", + "@mongosh/shell-api": "2.2.2", + "@mongosh/shell-evaluator": "2.2.2", + "@mongosh/snippet-manager": "2.2.2", + "@mongosh/types": "2.2.2", "@segment/analytics-node": "^1.3.0", "ansi-escape-sequences": "^5.1.2", "askcharacter": "^1.0.0", @@ -1262,15 +1262,15 @@ } }, "node_modules/@mongosh/editor": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/editor/-/editor-2.2.1.tgz", - "integrity": "sha512-z0nxSIVvCiR+kG2md24diMNou/9NBQvhn5334OeGyNk6y3/EEp52VN9Grmk9HL70d1tfr0A8F7c3kUpwJ6Q3XQ==", - "dependencies": { - "@mongosh/js-multiline-to-singleline": "2.2.1", - "@mongosh/service-provider-core": "2.2.1", - "@mongosh/shell-api": "2.2.1", - "@mongosh/shell-evaluator": "2.2.1", - "@mongosh/types": "2.2.1", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/editor/-/editor-2.2.2.tgz", + "integrity": "sha512-loUUjTtUnzWo/LTRUrEdvENVTHXNS+ohhuKd65mbT/n5XciVamozYhuLuTTsrGUMbVpHeaPXquryIKLEOqgi6w==", + "dependencies": { + "@mongosh/js-multiline-to-singleline": "2.2.2", + "@mongosh/service-provider-core": "2.2.2", + "@mongosh/shell-api": "2.2.2", + "@mongosh/shell-evaluator": "2.2.2", + "@mongosh/types": "2.2.2", "js-beautify": "^1.14.0" }, "engines": { @@ -1278,17 +1278,17 @@ } }, "node_modules/@mongosh/errors": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/errors/-/errors-2.2.1.tgz", - "integrity": "sha512-pwBI8Bv1KWYUSBoY2gh48dzvabCH8WlWYfo3Kzci7DPVK1vOccZpzr4PZony6ajvJ0KUswGGSaRFVdS54lO9QA==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/errors/-/errors-2.2.2.tgz", + "integrity": "sha512-FA4xuRZrYiYl9MxNzwl1adXZqQGXDHrVZyrL8Qrz28mGpvhfaQCENkE11C3DOpT2G/bHIFfiCxsmKs3ko7rwXw==", "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/history": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/history/-/history-2.2.1.tgz", - "integrity": "sha512-AfqtzjrfvJl0EwM3co4fTYGs12E76WUOfJbRejaBI1aLZZ7h36cjQjOG0bAckEuPYRw0sygkql5X0DLjZHDB/A==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/history/-/history-2.2.2.tgz", + "integrity": "sha512-llgGAt9ErtutDo5bQAYw+bpN0mOUHwh4rztIs0wT5vNplIkTxPOQMRXCYe1naXjyUV+2cFZN9aoNV1BuIH/9Gw==", "dependencies": { "mongodb-connection-string-url": "^3.0.0", "mongodb-redact": "^0.2.2" @@ -1298,21 +1298,20 @@ } }, "node_modules/@mongosh/i18n": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/i18n/-/i18n-2.2.1.tgz", - "integrity": "sha512-ZbWV4Sykz4WIsLLGq9MfKR5baNXo5caM2pdBFVF6fwJMOcR87meBFcQ3SkbI7ZKezrMaQi/o9l6o6amI0vr2Rg==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/i18n/-/i18n-2.2.2.tgz", + "integrity": "sha512-FHUbQ7W02uN0ZRM/5tW3v9H0khooJGoxh5i9RaKU1SD8MVeyVToWP5LMIRdD1VQqJhQrEo8lB9G6nOjkXBNrgw==", "dependencies": { - "@mongosh/errors": "2.2.1", - "mustache": "^4.0.0" + "@mongosh/errors": "2.2.2" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/import-node-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/import-node-fetch/-/import-node-fetch-2.2.1.tgz", - "integrity": "sha512-rN9BBe3Z/zhnNjTc4cBYpt4oDa+JS7Th5grg/rYurb6Bs8f68Rzn1BTDACix7jzzHM6pVtptuk+b2QXIb2sAlw==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/import-node-fetch/-/import-node-fetch-2.2.2.tgz", + "integrity": "sha512-jKLAj5uHGC0Znn/KYlkj18naeup0gJxAVz9wJ9qcw7Sjk+zFXix4FR7J4kFw4OvVRVli2+lrQJxqRNOWdSC9Pg==", "dependencies": { "node-fetch": "^3.3.2" }, @@ -1321,9 +1320,9 @@ } }, "node_modules/@mongosh/js-multiline-to-singleline": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.2.1.tgz", - "integrity": "sha512-e3F8ukzBfJibVaT22lqNdTKMW2UnOTGwEGmAgJC6MLElNjo+zR2z+OBWdLbuOdkY5nsXFDYB2IWgPYbKFiWu/A==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.2.2.tgz", + "integrity": "sha512-Bbjn2dkxuW1PETNZkPIE/vybNe1fiAAdY7Kp4zy+hExiPb0bxalJVhh91kX5tGllGtk4lhcXgNHVpQvn44+UCw==", "dependencies": { "@babel/core": "^7.16.12", "@babel/types": "^7.21.2" @@ -1333,14 +1332,14 @@ } }, "node_modules/@mongosh/logging": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/logging/-/logging-2.2.1.tgz", - "integrity": "sha512-2YYLnBvx5GI4zof0sQw8bqLULGf/hOsn8rNIhosfbHKNUPrCCyWlPnjeFD3npaAt7zffkI7Acpev6hWlEDuulA==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/logging/-/logging-2.2.2.tgz", + "integrity": "sha512-q7YtlypGHFxvrTXc62elQXoQjcpUzTcEpldAtB3LyJ/q4Tw09+Fu4ypgLwXQ+sdFodd0qpAsk/EXJL79mGVokA==", "dependencies": { "@mongodb-js/devtools-connect": "^2.6.0", - "@mongosh/errors": "2.2.1", - "@mongosh/history": "2.2.1", - "@mongosh/types": "2.2.1", + "@mongosh/errors": "2.2.2", + "@mongosh/history": "2.2.2", + "@mongosh/types": "2.2.2", "mongodb-log-writer": "^1.4.0", "mongodb-redact": "^0.2.2" }, @@ -1349,12 +1348,12 @@ } }, "node_modules/@mongosh/service-provider-core": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-core/-/service-provider-core-2.2.1.tgz", - "integrity": "sha512-D+sGmdKjeuTln5vTDqgg3Yx6DfidNuS/8keM14VGafRpVV8CEBD0My8F3kHpimV9w7xZnrAMKBqczcL1ZcJeww==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-core/-/service-provider-core-2.2.2.tgz", + "integrity": "sha512-6E8qCRmV0lmO/9rRF6/L9zWt4XWbZuQWrh+xo3aceGD4jaBat16yZ0bqO+HTId7CxdZnOD9MqAXoBqXAWi4o3A==", "dependencies": { "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.2.1", + "@mongosh/errors": "2.2.2", "bson": "^6.5.0", "mongodb": "^6.5.0", "mongodb-build-info": "^1.7.1" @@ -1367,15 +1366,15 @@ } }, "node_modules/@mongosh/service-provider-server": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-server/-/service-provider-server-2.2.1.tgz", - "integrity": "sha512-dZ2YlTWANFnfwSjDNxpMbdbFDAqru2pMXoxIyPzEW3ISnathRfJjObiSO0+i56AoGPPG0lTFEdHAb0r9lPgxew==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-server/-/service-provider-server-2.2.2.tgz", + "integrity": "sha512-Gaps3+FosBcVNW36KcLa6iQV0Ynbnq4Xw/0Eddd6IF2UZTrqyZDhl9pOicP5d1G6xjS833dlWy6cRSYki+rQIQ==", "dependencies": { "@mongodb-js/devtools-connect": "^2.6.0", "@mongodb-js/oidc-plugin": "^0.4.0", - "@mongosh/errors": "2.2.1", - "@mongosh/service-provider-core": "2.2.1", - "@mongosh/types": "2.2.1", + "@mongosh/errors": "2.2.2", + "@mongosh/service-provider-core": "2.2.2", + "@mongosh/types": "2.2.2", "@types/sinon-chai": "^3.2.4", "aws4": "^1.12.0", "mongodb": "^6.5.0", @@ -1391,15 +1390,15 @@ } }, "node_modules/@mongosh/shell-api": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/shell-api/-/shell-api-2.2.1.tgz", - "integrity": "sha512-v7SNBBYms8SoHgDdDqN+jkG6V9GlpEJe5pY7tpLwlrQJ7ioBc8SOidsmHviStYP4oMzhkWQMXWETayWO92Fn+g==", - "dependencies": { - "@mongosh/arg-parser": "2.2.1", - "@mongosh/errors": "2.2.1", - "@mongosh/history": "2.2.1", - "@mongosh/i18n": "2.2.1", - "@mongosh/service-provider-core": "2.2.1", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/shell-api/-/shell-api-2.2.2.tgz", + "integrity": "sha512-VzgYSzcA6uceo3moQXchgpnbiY/ZVCOKqiJxRufPP9ALWmxvii7qnmIL1NjLZzqqYdeJ5ZReRqX8WWMOSZvLSg==", + "dependencies": { + "@mongosh/arg-parser": "2.2.2", + "@mongosh/errors": "2.2.2", + "@mongosh/history": "2.2.2", + "@mongosh/i18n": "2.2.2", + "@mongosh/service-provider-core": "2.2.2", "mongodb-redact": "^0.2.2" }, "engines": { @@ -1407,27 +1406,27 @@ } }, "node_modules/@mongosh/shell-evaluator": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/shell-evaluator/-/shell-evaluator-2.2.1.tgz", - "integrity": "sha512-drs0wUGjMwsh5RCcTatuUE+xOcggASmMnRfJTrCF/qq/Zvt4Jdx2g0VYfU6QjwPU7X1xqRC+0efMo9ixEVIDVQ==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/shell-evaluator/-/shell-evaluator-2.2.2.tgz", + "integrity": "sha512-38AegwWGi/6U51JJQWW8y2yfs0Tbr75BZFF7HeLwqGnf4ASpNdB/bVAaRxz5x7v/GcIBmPNcyj7zjLrq2IP2Cg==", "dependencies": { - "@mongosh/async-rewriter2": "2.2.1", - "@mongosh/history": "2.2.1", - "@mongosh/shell-api": "2.2.1" + "@mongosh/async-rewriter2": "2.2.2", + "@mongosh/history": "2.2.2", + "@mongosh/shell-api": "2.2.2" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/snippet-manager": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/snippet-manager/-/snippet-manager-2.2.1.tgz", - "integrity": "sha512-jjDAjaPCdWQAmlbWhZ1Jso7D19oKaxuEl3avn6vkxMIQIMML4IWrNOHoqWkfx5Z3NPteyx4grVfPyzjvipi94g==", - "dependencies": { - "@mongosh/errors": "2.2.1", - "@mongosh/import-node-fetch": "2.2.1", - "@mongosh/shell-api": "2.2.1", - "@mongosh/types": "2.2.1", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/snippet-manager/-/snippet-manager-2.2.2.tgz", + "integrity": "sha512-6ARX2s8XeieyLAh7ManT8e4f8CXj+copeMgNfgLR2KTsUVImHSaGk75rp1/haEed0NieHivPJnLjxdckhve3wA==", + "dependencies": { + "@mongosh/errors": "2.2.2", + "@mongosh/import-node-fetch": "2.2.2", + "@mongosh/shell-api": "2.2.2", + "@mongosh/types": "2.2.2", "bson": "^6.5.0", "cross-spawn": "^7.0.3", "escape-string-regexp": "^4.0.0", @@ -1439,9 +1438,9 @@ } }, "node_modules/@mongosh/types": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@mongosh/types/-/types-2.2.1.tgz", - "integrity": "sha512-lV1khTdJ8s3ldithGRa06nl4wlmKZm6eDnILPqW3QrZa0j6a2GBBe0GSUFo8kZkq4x3Y6SkT05ZHe1mnhh1gJQ==", + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@mongosh/types/-/types-2.2.2.tgz", + "integrity": "sha512-nFJlltmiDXryIrsJUvYvoU69P38j5u0plOtsxjhi4zlghQVt9qgjycdAD5F8E2tlV+dKUvQD4vulU7lASQcrBg==", "dependencies": { "@mongodb-js/devtools-connect": "^2.6.0" }, @@ -2115,9 +2114,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.13", - "resolved": "https://registry.npmmirror.com/@types/chai/-/chai-4.3.13.tgz", - "integrity": "sha512-+LxQEbg4BDUf88utmhpUpTyYn1zHao443aGnXIAQak9ZMt9Rtsic0Oig0OS1xyIqdDXc5uMekoC6NaiUlkT/qA==" + "version": "4.3.14", + "resolved": "https://registry.npmmirror.com/@types/chai/-/chai-4.3.14.tgz", + "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==" }, "node_modules/@types/sinon": { "version": "17.0.3", @@ -2508,9 +2507,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001599", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001599.tgz", - "integrity": "sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==" + "version": "1.0.30001600", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", + "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==" }, "node_modules/chalk": { "version": "2.4.2", @@ -2596,9 +2595,9 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } @@ -2775,9 +2774,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.711", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.711.tgz", - "integrity": "sha512-hRg81qzvUEibX2lDxnFlVCHACa+LtrCPIsWAxo161LDYIB3jauf57RGsMZV9mvGwE98yGH06icj3zBEoOkxd/w==" + "version": "1.4.717", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.717.tgz", + "integrity": "sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -2959,16 +2958,16 @@ } }, "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmmirror.com/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.2", + "resolved": "https://registry.npmmirror.com/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -3898,14 +3897,6 @@ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "bin": { - "mustache": "bin/mustache" - } - }, "node_modules/napi-build-utils": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -4805,9 +4796,9 @@ } }, "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", diff --git a/pkgs/development/tools/mongosh/source.json b/pkgs/development/tools/mongosh/source.json index 8f771e9917ee..3a9d6a9a0ab1 100644 --- a/pkgs/development/tools/mongosh/source.json +++ b/pkgs/development/tools/mongosh/source.json @@ -1,6 +1,6 @@ { - "version": "2.2.1", - "integrity": "sha512-jqgOlNl5ZE/jasl6LIDZ8lKP658I+XFZh1e16eYo+c9UfL+NqRXwVJCRWKaZ/tph9Hc3dzCd9dKCN7OC0T50iQ==", - "filename": "mongosh-2.2.1.tgz", - "deps": "sha256-sZ2zSFi2tuYhjLHHrewNHcmSxwIHggL+wbHvEScK38Y=" + "version": "2.2.2", + "integrity": "sha512-IfPcqu5xPfNKGmrk+zprDhHkKzAeiyI4QjHbbmrVFiXFg6J2Dk7i25NvndNxOALRqxnQ/bWnfl1qrEZJmWerWQ==", + "filename": "mongosh-2.2.2.tgz", + "deps": "sha256-96EVcBanbCyNg18T3jgryhP2hA7Gmcmf2EiGfzIju28=" } diff --git a/pkgs/development/tools/reshape/default.nix b/pkgs/development/tools/reshape/default.nix index 82eeb6e7b0b6..d7c4701b9983 100644 --- a/pkgs/development/tools/reshape/default.nix +++ b/pkgs/development/tools/reshape/default.nix @@ -1,8 +1,10 @@ { lib , rustPlatform , fetchCrate +, darwin , postgresqlTestHook , postgresql +, stdenv }: rustPlatform.buildRustPackage rec { @@ -16,6 +18,9 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-VTJ3FNhVLgxo/VVBhk1yF9UUktLXcbrEkYwoyoWFhXA="; + buildInputs = + lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + nativeCheckInputs = [ postgresqlTestHook postgresql diff --git a/pkgs/development/tools/rstfmt/default.nix b/pkgs/development/tools/rstfmt/default.nix index e09b18a138d1..25b20365a309 100644 --- a/pkgs/development/tools/rstfmt/default.nix +++ b/pkgs/development/tools/rstfmt/default.nix @@ -5,17 +5,21 @@ python3.pkgs.buildPythonApplication rec { pname = "rstfmt"; - version = "0.0.13"; - format = "pyproject"; + version = "0.0.14"; + pyproject = true; src = fetchFromGitHub { owner = "dzhu"; repo = "rstfmt"; rev = "refs/tags/v${version}"; - hash = "sha256-SJRA14CfoT8XMt3hMB7cLdmuLwsJnBSwhKkD1pJvQCI="; + hash = "sha256-zvmKgNzfxyWYHoaD+q84I48r1Mpp4kU4oIGAwMSRRlA="; }; - propagatedBuildInputs = with python3.pkgs; [ + build-system = with python3.pkgs; [ + setuptools + ]; + + dependencies = with python3.pkgs; [ black docutils sphinx @@ -31,6 +35,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "A formatter for reStructuredText"; homepage = "https://github.com/dzhu/rstfmt"; + changelog = "https://github.com/dzhu/rstfmt/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix index f4bdb252d400..cfeec591f672 100644 --- a/pkgs/development/tools/rust/cargo-deny/default.nix +++ b/pkgs/development/tools/rust/cargo-deny/default.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-deny"; - version = "0.14.18"; + version = "0.14.20"; src = fetchFromGitHub { owner = "EmbarkStudios"; repo = "cargo-deny"; rev = version; - hash = "sha256-aVWr7YXGpRDItub4CaUg9LYxj9Nf0Pe1L0FUr9bJoG0="; + hash = "sha256-KThJynV/LrT1CYHIs/B3yS6ylNr9AezoHhVPe1m/eiU="; }; - cargoHash = "sha256-AD4WFM0yAIKgi9y8015qxukAa3YBJmPnkUhV7qp0quk="; + cargoHash = "sha256-S5aRucNq5vgUIsu4ToRqLVZZ8/IXkbniJXInhnybTNY="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/development/tools/rust/cargo-generate/default.nix b/pkgs/development/tools/rust/cargo-generate/default.nix index 4cf34bbe6a3d..dd6630d8d309 100644 --- a/pkgs/development/tools/rust/cargo-generate/default.nix +++ b/pkgs/development/tools/rust/cargo-generate/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-generate"; - version = "0.19.0"; + version = "0.20.0"; src = fetchFromGitHub { owner = "cargo-generate"; repo = "cargo-generate"; rev = "v${version}"; - sha256 = "sha256-OT2cjNYcEKk6Thnlq7SZvK2RJ6M1Zn62GrqpKbtrUdM="; + sha256 = "sha256-k4bTuTRZMWx8mMi/hdAr4YPCWqe39fG8nkmHH2D80ew="; }; - cargoHash = "sha256-DAJsW3uKrSyIju7K13dMQFNOwE9WDuBuPx8imdPAxqk="; + cargoHash = "sha256-wi1Y1eU+v9Q/4nkLNCUluPlDGfz6ld8nuVWR9orkDV4="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix index 06b77135d484..92711b2d72df 100644 --- a/pkgs/development/tools/sentry-cli/default.nix +++ b/pkgs/development/tools/sentry-cli/default.nix @@ -11,13 +11,13 @@ }: rustPlatform.buildRustPackage rec { pname = "sentry-cli"; - version = "2.30.2"; + version = "2.30.4"; src = fetchFromGitHub { owner = "getsentry"; repo = "sentry-cli"; rev = version; - sha256 = "sha256-ThZb6/Mprz9qgEGsJ+EbENvjmgehDsjVgFGBq4PZMRM="; + sha256 = "sha256-J+8/sCFSd2BYQgKOl8OZoxlFLB8scDY5Bl7GAQ54/RM="; }; doCheck = false; @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ]; nativeBuildInputs = [ installShellFiles pkg-config ]; - cargoHash = "sha256-yoBoPk5PvMLGvhU/kg+WwO5WgwEnfKQlnkCC6IctfAI="; + cargoHash = "sha256-622cEaHEMmVspabsIYgQ5ySbaDr9qB1FjxJ5NwbeGx8="; postInstall = '' installShellCompletion --cmd sentry-cli \ diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix index 0d7f9f2c38f6..84caa116eea4 100644 --- a/pkgs/development/web/flyctl/default.nix +++ b/pkgs/development/web/flyctl/default.nix @@ -2,16 +2,16 @@ buildGo122Module rec { pname = "flyctl"; - version = "0.2.17"; + version = "0.2.25"; src = fetchFromGitHub { owner = "superfly"; repo = "flyctl"; rev = "v${version}"; - hash = "sha256-XE1kZdR9ZbWMqp0neouZBvNtIJbOdzp/aMe+uA85zL8="; + hash = "sha256-yMkTLUM/1P9VrsYaF4m9YyRLV6qz6uMiYlhUN5S58uU="; }; - vendorHash = "sha256-ZX7hcxQJdSLwY37DnV3vKcBW+K9F5RMPUeMtWzm48Dc="; + vendorHash = "sha256-TMlJbh9tMRNdeZlem27lgknuJ/YNFkVaWS9BNTTuXic="; subPackages = [ "." ]; diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix index 3fffdf909e6c..a4121b9575fd 100644 --- a/pkgs/development/web/nodejs/v18.nix +++ b/pkgs/development/web/nodejs/v18.nix @@ -19,8 +19,11 @@ let in buildNodejs { inherit enableNpm; - version = "18.20.0"; - sha256 = "sha256-BMhneaLMfu/fzzeanYWIOqHTsdyJCbYiGxY2hIF4VqQ="; + # The change to minor version 18.20.0 breaks compatibility with ffi-napi + # This breaks the compilation of some nix packages. + # While this is investigated and fixed, do not upgrade the minor version. + version = "18.19.1"; + sha256 = "sha256-CQ+WouzeCAtrOCxtZCvKXQvkcCp4y1Vb578CsgvRbe0="; patches = [ ./disable-darwin-v8-system-instrumentation.patch ./bypass-darwin-xcrun-node16.patch |