diff --git a/doc/build-helpers/fetchers.chapter.md b/doc/build-helpers/fetchers.chapter.md index 09c8b9168959..9e199bda1c28 100644 --- a/doc/build-helpers/fetchers.chapter.md +++ b/doc/build-helpers/fetchers.chapter.md @@ -3,7 +3,7 @@ Building software with Nix often requires downloading source code and other files from the internet. To this end, we use functions that we call _fetchers_, which obtain remote sources via various protocols and services. -Nix provides built-in fetchers such as [`builtins.fetchTarball`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-fetchTarball). +Nix provides built-in fetchers such as [`fetchTarball`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-fetchTarball). Nixpkgs provides its own fetchers, which work differently: - A built-in fetcher will download and cache files at evaluation time and produce a [store path](https://nixos.org/manual/nix/stable/glossary#gloss-store-path). diff --git a/doc/build-helpers/trivial-build-helpers.chapter.md b/doc/build-helpers/trivial-build-helpers.chapter.md index 90fa4bb15d2b..25c49a79ee6b 100644 --- a/doc/build-helpers/trivial-build-helpers.chapter.md +++ b/doc/build-helpers/trivial-build-helpers.chapter.md @@ -163,7 +163,7 @@ Nixpkgs provides the following functions for producing derivations which write t They are useful for creating files from Nix expression, and are all implemented as convenience wrappers around `writeTextFile`. Each of these functions will cause a derivation to be produced. -When you coerce the result of each of these functions to a string with [string interpolation](https://nixos.org/manual/nix/stable/language/string-interpolation) or [`builtins.toString`](https://nixos.org/manual/nix/stable/language/builtins#builtins-toString), it will evaluate to the [store path](https://nixos.org/manual/nix/stable/store/store-path) of this derivation. +When you coerce the result of each of these functions to a string with [string interpolation](https://nixos.org/manual/nix/stable/language/string-interpolation) or [`toString`](https://nixos.org/manual/nix/stable/language/builtins#builtins-toString), it will evaluate to the [store path](https://nixos.org/manual/nix/stable/store/store-path) of this derivation. :::: {.note} Some of these functions will put the resulting files within a directory inside the [derivation output](https://nixos.org/manual/nix/stable/language/derivations#attr-outputs). @@ -344,7 +344,7 @@ Write a text file to the Nix store. `allowSubstitutes` (Bool, _optional_) : Whether to allow substituting from a binary cache. - Passed through to [`allowSubstitutes`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-allowSubstitutes) of the underlying call to `builtins.derivation`. + Passed through to [`allowSubstitutes`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-allowSubstitutes) of the underlying call to `derivation`. It defaults to `false`, as running the derivation's simple `builder` executable locally is assumed to be faster than network operations. Set it to true if the `checkPhase` step is expensive. @@ -355,7 +355,7 @@ Write a text file to the Nix store. : Whether to prefer building locally, even if faster [remote build machines](https://nixos.org/manual/nix/stable/command-ref/conf-file#conf-substituters) are available. - Passed through to [`preferLocalBuild`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-preferLocalBuild) of the underlying call to `builtins.derivation`. + Passed through to [`preferLocalBuild`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-preferLocalBuild) of the underlying call to `derivation`. It defaults to `true` for the same reason `allowSubstitutes` defaults to `false`. diff --git a/doc/doc-support/lib-function-locations.nix b/doc/doc-support/lib-function-locations.nix index 0bc79d7a639d..64a320f3f0cc 100644 --- a/doc/doc-support/lib-function-locations.nix +++ b/doc/doc-support/lib-function-locations.nix @@ -24,19 +24,19 @@ let libset = toplib: - builtins.map (subsetname: { + map (subsetname: { subsetname = subsetname; functions = libDefPos [ ] toplib.${subsetname}; - }) (builtins.map (x: x.name) libsets); + }) (map (x: x.name) libsets); flattenedLibSubset = { subsetname, functions }: - builtins.map (fn: { + map (fn: { name = "lib.${subsetname}.${fn.name}"; value = fn.location; }) functions; - locatedlibsets = libs: builtins.map flattenedLibSubset (libset libs); + locatedlibsets = libs: map flattenedLibSubset (libset libs); removeFilenamePrefix = prefix: filename: let @@ -46,7 +46,7 @@ let in substr; - removeNixpkgs = removeFilenamePrefix (builtins.toString nixpkgsPath); + removeNixpkgs = removeFilenamePrefix (toString nixpkgsPath); liblocations = builtins.filter (elem: elem.value != null) (lib.lists.flatten (locatedlibsets lib)); @@ -59,19 +59,19 @@ let }; }; - relativeLocs = (builtins.map fnLocationRelative liblocations); + relativeLocs = (map fnLocationRelative liblocations); sanitizeId = builtins.replaceStrings [ "'" ] [ "-prime" ]; urlPrefix = "https://github.com/NixOS/nixpkgs/blob/${revision}"; jsonLocs = builtins.listToAttrs ( - builtins.map ( + map ( { name, value }: { name = sanitizeId name; value = let - text = "${value.file}:${builtins.toString value.line}"; - target = "${urlPrefix}/${value.file}#L${builtins.toString value.line}"; + text = "${value.file}:${toString value.line}"; + target = "${urlPrefix}/${value.file}#L${toString value.line}"; in "[${text}](${target}) in ``"; } diff --git a/doc/languages-frameworks/dhall.section.md b/doc/languages-frameworks/dhall.section.md index 5e896aaacb6c..7c91078770ff 100644 --- a/doc/languages-frameworks/dhall.section.md +++ b/doc/languages-frameworks/dhall.section.md @@ -89,7 +89,7 @@ buildDhallPackage { # ./example.nix let - nixpkgs = builtins.fetchTarball { + nixpkgs = fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/94b2848559b12a8ed1fe433084686b2a81123c99.tar.gz"; hash = "sha256-B4Q3c6IvTLg3Q92qYa8y+i4uTaphtFdjp+Ir3QQjdN0="; }; diff --git a/doc/languages-frameworks/javascript.section.md b/doc/languages-frameworks/javascript.section.md index cd17ec1a11ab..d19884154438 100644 --- a/doc/languages-frameworks/javascript.section.md +++ b/doc/languages-frameworks/javascript.section.md @@ -316,7 +316,7 @@ buildNpmPackage { `importNpmLock` uses the following fetchers: - `pkgs.fetchurl` for `http(s)` dependencies -- `builtins.fetchGit` for `git` dependencies +- `fetchGit` for `git` dependencies It is possible to provide additional arguments to individual fetchers as needed: diff --git a/doc/languages-frameworks/maven.section.md b/doc/languages-frameworks/maven.section.md index 09f7a786d52d..095eaba4e648 100644 --- a/doc/languages-frameworks/maven.section.md +++ b/doc/languages-frameworks/maven.section.md @@ -374,7 +374,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "maven-demo"; version = "1.0"; - src = builtins.fetchTarball "https://github.com/fzakaria/nixos-maven-example/archive/main.tar.gz"; + src = fetchTarball "https://github.com/fzakaria/nixos-maven-example/archive/main.tar.gz"; buildInputs = [ maven ]; buildPhase = '' @@ -445,7 +445,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "maven-demo"; version = "1.0"; - src = builtins.fetchTarball "https://github.com/fzakaria/nixos-maven-example/archive/main.tar.gz"; + src = fetchTarball "https://github.com/fzakaria/nixos-maven-example/archive/main.tar.gz"; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ maven ]; @@ -538,7 +538,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "maven-demo"; version = "1.0"; - src = builtins.fetchTarball "https://github.com/fzakaria/nixos-maven-example/archive/main.tar.gz"; + src = fetchTarball "https://github.com/fzakaria/nixos-maven-example/archive/main.tar.gz"; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ maven ]; diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index f986cd8da99b..70a731b6fcbc 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -55,6 +55,8 @@ - `uw-ttyp0` has been updated to version 2.1. The filenames of the OTB and PSF fonts have been changed to match the upstream naming convention. If you were loading a font by path, for example in the `console.font` NixOS option, remember to update the filename accordingly. +- `adminneo` has been updated to version 5.1.1. Version 5 breaks compatibility with `adminer` and changes how plugins and configuration work. See the [Upgrade Guide](https://www.adminneo.org/upgrade#v5.0.0) for details. Those changes also led to changes in the arguments of the package. + - `base16-builder` node package has been removed due to lack of upstream maintenance. - `python3Packages.bjoern` has been removed, as the upstream is unmaintained and it depends on a 14-year-old version of http-parser with numerous vulnerabilities. diff --git a/lib/asserts.nix b/lib/asserts.nix index 41908d00a812..c93254084b83 100644 --- a/lib/asserts.nix +++ b/lib/asserts.nix @@ -47,7 +47,7 @@ rec { ::: */ # TODO(Profpatsch): add tests that check stderr - assertMsg = pred: msg: pred || builtins.throw msg; + assertMsg = pred: msg: pred || throw msg; /** Specialized `assertMsg` for checking if `val` is one of the elements diff --git a/lib/attrsets.nix b/lib/attrsets.nix index b13a3f6ef637..de7859921c8c 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -2149,7 +2149,7 @@ rec { chooseDevOutputs :: [Derivation] -> [Derivation] ``` */ - chooseDevOutputs = builtins.map getDev; + chooseDevOutputs = map getDev; /** Make various Nix tools consider the contents of the resulting @@ -2230,7 +2230,7 @@ rec { intersection = builtins.intersectAttrs x y; collisions = lib.concatStringsSep " " (builtins.attrNames intersection); mask = builtins.mapAttrs ( - name: value: builtins.throw "unionOfDisjoint: collision on ${name}; complete list: ${collisions}" + name: value: throw "unionOfDisjoint: collision on ${name}; complete list: ${collisions}" ) intersection; in (x // y) // mask; diff --git a/lib/deprecated/misc.nix b/lib/deprecated/misc.nix index 22015c9b20aa..b5511e949a41 100644 --- a/lib/deprecated/misc.nix +++ b/lib/deprecated/misc.nix @@ -250,9 +250,9 @@ let # See https://github.com/NixOS/nixpkgs/pull/194391 for details. closePropagationFast = list: - builtins.map (x: x.val) ( + map (x: x.val) ( builtins.genericClosure { - startSet = builtins.map (x: { + startSet = map (x: { key = x.outPath; val = x; }) (builtins.filter (x: x != null) list); diff --git a/lib/fileset/tests.sh b/lib/fileset/tests.sh index 043c1156a43f..78170ebc8391 100755 --- a/lib/fileset/tests.sh +++ b/lib/fileset/tests.sh @@ -1406,10 +1406,10 @@ echo '{ fs }: fs.toSource { root = ./.; fileset = fs.gitTracked ./.; }' > defaul git add . ## We can evaluate it locally just fine, `fetchGit` is used underneath to filter git-tracked files -expectEqual '(import ./. { fs = lib.fileset; }).outPath' '(builtins.fetchGit ./.).outPath' +expectEqual '(import ./. { fs = lib.fileset; }).outPath' '(fetchGit ./.).outPath' ## We can also evaluate when importing from fetched store paths -storePath=$(expectStorePath 'builtins.fetchGit ./.') +storePath=$(expectStorePath 'fetchGit ./.') expectEqual '(import '"$storePath"' { fs = lib.fileset; }).outPath' \""$storePath"\" ## But it fails if the path is imported with a fetcher that doesn't remove .git (like just using "${./.}") @@ -1429,13 +1429,13 @@ echo '{ fs }: fs.toSource { root = ./.; fileset = fs.gitTracked ./.; }' > sub/de git -C sub add . ## We can evaluate it locally just fine, `fetchGit` is used underneath to filter git-tracked files -expectEqual '(import ./. { fs = lib.fileset; }).outPath' '(builtins.fetchGit { url = ./.; submodules = true; }).outPath' -expectEqual '(import ./sub { fs = lib.fileset; }).outPath' '(builtins.fetchGit ./sub).outPath' +expectEqual '(import ./. { fs = lib.fileset; }).outPath' '(fetchGit { url = ./.; submodules = true; }).outPath' +expectEqual '(import ./sub { fs = lib.fileset; }).outPath' '(fetchGit ./sub).outPath' ## We can also evaluate when importing from fetched store paths -storePathWithSub=$(expectStorePath 'builtins.fetchGit { url = ./.; submodules = true; }') +storePathWithSub=$(expectStorePath 'fetchGit { url = ./.; submodules = true; }') expectEqual '(import '"$storePathWithSub"' { fs = lib.fileset; }).outPath' \""$storePathWithSub"\" -storePathSub=$(expectStorePath 'builtins.fetchGit ./sub') +storePathSub=$(expectStorePath 'fetchGit ./sub') expectEqual '(import '"$storePathSub"' { fs = lib.fileset; }).outPath' \""$storePathSub"\" ## But it fails if the path is imported with a fetcher that doesn't remove .git (like just using "${./.}") diff --git a/lib/gvariant.nix b/lib/gvariant.nix index e66217db8188..db2a33553ab7 100644 --- a/lib/gvariant.nix +++ b/lib/gvariant.nix @@ -150,7 +150,7 @@ rec { ) intConstructors; in throw '' - The GVariant type for number “${builtins.toString v}” is unclear. + The GVariant type for number “${toString v}” is unclear. Please wrap the value with one of the following, depending on the value type in GSettings schema: ${lib.concatMapStringsSep "\n" ( diff --git a/lib/meta.nix b/lib/meta.nix index 85e800a7d8f6..d60cb9287e3e 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -399,7 +399,7 @@ rec { => true lib.getLicenseFromSpdxIdOr "MY LICENSE" null => null - lib.getLicenseFromSpdxIdOr "MY LICENSE" (builtins.throw "No SPDX ID matches MY LICENSE") + lib.getLicenseFromSpdxIdOr "MY LICENSE" (throw "No SPDX ID matches MY LICENSE") => error: No SPDX ID matches MY LICENSE ``` ::: diff --git a/lib/strings.nix b/lib/strings.nix index 359e1a4cd8db..dcffacfcb420 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -1135,7 +1135,7 @@ rec { "." "~" ]; - toEscape = builtins.removeAttrs asciiTable unreserved; + toEscape = removeAttrs asciiTable unreserved; in replaceStrings (builtins.attrNames toEscape) ( lib.mapAttrsToList (_: c: "%${fixedWidthString 2 "0" (lib.toHexString c)}") toEscape diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 77247d269808..7e78ceb4827a 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -75,7 +75,7 @@ let # Those two will always be derived from "config", if given, so they should NOT # be overridden further down with "// args". - args = builtins.removeAttrs allArgs [ + args = removeAttrs allArgs [ "parsed" "system" ]; @@ -124,6 +124,8 @@ let "ucrt" else if final.isMinGW then "msvcrt" + else if final.isCygwin then + "cygwin" else if final.isWasi then "wasilibc" else if final.isWasm && !final.isWasi then @@ -183,7 +185,7 @@ let sharedLibrary = if final.isDarwin then ".dylib" - else if final.isWindows then + else if (final.isWindows || final.isCygwin) then ".dll" else ".so"; @@ -191,7 +193,7 @@ let // { staticLibrary = if final.isWindows then ".lib" else ".a"; library = if final.isStatic then final.extensions.staticLibrary else final.extensions.sharedLibrary; - executable = if final.isWindows then ".exe" else ""; + executable = if (final.isWindows || final.isCygwin) then ".exe" else ""; }; # Misc boolean options useAndroidPrebuilt = false; @@ -204,6 +206,7 @@ let { linux = "Linux"; windows = "Windows"; + cygwin = "CYGWIN_NT"; darwin = "Darwin"; netbsd = "NetBSD"; freebsd = "FreeBSD"; @@ -603,7 +606,7 @@ let "openbsd" else if final.isSunOS then "sunos" - else if final.isWindows then + else if (final.isWindows || final.isCygwin) then "win32" else null; diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 9a53dac073ae..cdd28b1ddde1 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -388,6 +388,10 @@ rec { useLLVM = true; }; + x86_64-cygwin = { + config = "x86_64-pc-cygwin"; + }; + # BSDs aarch64-freebsd = { diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 65fdb9ee1959..ad6ff2b380a8 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -337,8 +337,7 @@ rec { kernel = kernels.windows; }; isCygwin = { - kernel = kernels.windows; - abi = abis.cygnus; + kernel = kernels.cygwin; }; isMinGW = { kernel = kernels.windows; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 0dfd91b7bb76..bbb0fa9d5582 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -42,6 +42,7 @@ let isLinux isPower64 isWindows + isCygwin ; inherit (lib.types) @@ -617,6 +618,10 @@ rec { execFormat = pe; families = { }; }; + cygwin = { + execFormat = pe; + families = { }; + }; ghcjs = { execFormat = unknown; families = { }; @@ -650,7 +655,6 @@ rec { types.abi = enum (attrValues abis); abis = setTypes types.openAbi { - cygnus = { }; msvc = { }; # Note: eabi is specific to ARM and PowerPC. @@ -783,11 +787,11 @@ rec { throw "system string '${lib.concatStringsSep "-" l}' with 1 component is ambiguous"; "2" = # We only do 2-part hacks for things Nix already supports if elemAt l 1 == "cygwin" then - { - cpu = elemAt l 0; - kernel = "windows"; - abi = "cygnus"; - } + mkSkeletonFromList [ + (elemAt l 0) + "pc" + "cygwin" + ] # MSVC ought to be the default ABI so this case isn't needed. But then it # becomes difficult to handle the gnu* variants for Aarch32 correctly for # minGW. So it's easier to make gnu* the default for the MinGW, but @@ -851,6 +855,13 @@ rec { else elemAt l 2; } + # lots of tools expect a triplet for Cygwin, even though the vendor is just "pc" + else if elemAt l 2 == "cygwin" then + { + cpu = elemAt l 0; + vendor = elemAt l 1; + kernel = "cygwin"; + } else throw "system string '${lib.concatStringsSep "-" l}' with 3 components is ambiguous"; "4" = { @@ -891,7 +902,7 @@ rec { getVendor args.vendor else if isDarwin parsed then vendors.apple - else if isWindows parsed then + else if (isWindows parsed || isCygwin parsed) then vendors.pc else vendors.unknown; @@ -933,12 +944,7 @@ rec { abi, ... }: - if abi == abis.cygnus then - "${cpu.name}-cygwin" - else if kernel.families ? darwin then - "${cpu.name}-darwin" - else - "${cpu.name}-${kernelName kernel}"; + if kernel.families ? darwin then "${cpu.name}-darwin" else "${cpu.name}-${kernelName kernel}"; tripleFromSystem = { diff --git a/lib/tests/checkAndMergeCompat.nix b/lib/tests/checkAndMergeCompat.nix index dc6f26fbf917..f21c9789e8b6 100644 --- a/lib/tests/checkAndMergeCompat.nix +++ b/lib/tests/checkAndMergeCompat.nix @@ -326,7 +326,7 @@ in coerce_str_to_int_coercer_ouput = getMatrix { outerTypeName = "coercedTo"; innerTypeName = "int->str"; - getType = a: b: a.coercedTo b.int builtins.toString a.str; + getType = a: b: a.coercedTo b.int toString a.str; value = [ ]; testAttrs = { expectedError = { diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index a9c78defdffb..e6252c17b67c 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -4488,7 +4488,7 @@ runTests { expr = packagesFromDirectoryRecursive { callPackage = path: overrides: import path overrides; # Do NOT remove the `builtins.toString` call here!!! - directory = builtins.toString ./packages-from-directory/plain; + directory = toString ./packages-from-directory/plain; }; expected = { a = "a"; diff --git a/lib/tests/modules/declare-coerced-value-no-default.nix b/lib/tests/modules/declare-coerced-value-no-default.nix index 820913f920c3..cc929f9585b6 100644 --- a/lib/tests/modules/declare-coerced-value-no-default.nix +++ b/lib/tests/modules/declare-coerced-value-no-default.nix @@ -3,7 +3,7 @@ { options = { value = lib.mkOption { - type = lib.types.coercedTo lib.types.int builtins.toString lib.types.str; + type = lib.types.coercedTo lib.types.int toString lib.types.str; }; }; } diff --git a/lib/tests/modules/declare-coerced-value.nix b/lib/tests/modules/declare-coerced-value.nix index 76b12ad53f00..65a35669a2e8 100644 --- a/lib/tests/modules/declare-coerced-value.nix +++ b/lib/tests/modules/declare-coerced-value.nix @@ -4,7 +4,7 @@ options = { value = lib.mkOption { default = 42; - type = lib.types.coercedTo lib.types.int builtins.toString lib.types.str; + type = lib.types.coercedTo lib.types.int toString lib.types.str; }; }; } diff --git a/lib/tests/modules/define-freeform-keywords-shorthand.nix b/lib/tests/modules/define-freeform-keywords-shorthand.nix index 3481cb52e5e3..9d0e8c871b4e 100644 --- a/lib/tests/modules/define-freeform-keywords-shorthand.nix +++ b/lib/tests/modules/define-freeform-keywords-shorthand.nix @@ -9,7 +9,7 @@ _module.args.result = let - r = builtins.removeAttrs config [ "_module" ]; + r = removeAttrs config [ "_module" ]; in builtins.trace (builtins.deepSeq r r) ( r == { diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix index 3bddf78dea19..642339e792fd 100644 --- a/lib/tests/systems.nix +++ b/lib/tests/systems.nix @@ -49,6 +49,7 @@ lib.runTests ( ++ illumos ++ wasi ++ windows + ++ cygwin ++ embedded ++ mmix ++ js @@ -202,8 +203,6 @@ lib.runTests ( "x86_64-openbsd" ]; testwindows = mseteq windows [ - "i686-cygwin" - "x86_64-cygwin" "aarch64-windows" "i686-windows" "x86_64-windows" diff --git a/lib/trivial.nix b/lib/trivial.nix index 9c4deafb402c..6a0fb87dc03b 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -769,7 +769,7 @@ in importTOML :: path -> any ``` */ - importTOML = path: builtins.fromTOML (builtins.readFile path); + importTOML = path: fromTOML (builtins.readFile path); /** `warn` *`message`* *`value`* @@ -975,7 +975,7 @@ in unexpected = lib.subtractLists valid given; in lib.throwIfNot (unexpected == [ ]) - "${msg}: ${builtins.concatStringsSep ", " (builtins.map builtins.toString unexpected)} unexpected; valid ones: ${builtins.concatStringsSep ", " (builtins.map builtins.toString valid)}"; + "${msg}: ${builtins.concatStringsSep ", " (map toString unexpected)} unexpected; valid ones: ${builtins.concatStringsSep ", " (map toString valid)}"; info = msg: builtins.trace "INFO: ${msg}"; @@ -1144,7 +1144,7 @@ in match = builtins.match "(0x)?([0-7]?[0-9A-Fa-f]{1,15})" str; in if match != null then - (builtins.fromTOML "v=0x${builtins.elemAt match 1}").v + (fromTOML "v=0x${builtins.elemAt match 1}").v else # TODO: Turn this into a `throw` in 26.05. assert lib.warn "fromHexString: ${ @@ -1153,7 +1153,7 @@ in let noPrefix = lib.strings.removePrefix "0x" (lib.strings.toLower str); in - (builtins.fromTOML "v=0x${noPrefix}").v; + (fromTOML "v=0x${noPrefix}").v; /** Convert the given positive integer to a string of its hexadecimal diff --git a/lib/types.nix b/lib/types.nix index 1de5afef1be9..c23581c5281c 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -1373,7 +1373,7 @@ let if builtins.isString v then ''"${v}"'' else if builtins.isInt v then - builtins.toString v + toString v else if builtins.isBool v then boolToString v else diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 674a0e8bd0e3..0390d67afa8f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18050,6 +18050,12 @@ matrix = "@n3t:matrix.org"; name = "Adrian Sadłocha"; }; + Necoro = { + email = "nix@necoro.dev"; + github = "Necoro"; + githubId = 68708; + name = "René Neumann"; + }; necrophcodr = { email = "nc@scalehost.eu"; github = "necrophcodr"; @@ -24473,14 +24479,6 @@ githubId = 18124752; email = "m@rvinvogt.com"; }; - srxl = { - name = "Ruby Iris Juric"; - email = "ruby@srxl.me"; - matrix = "@ruby:isincredibly.gay"; - github = "Sorixelle"; - githubId = 38685302; - keys = [ { fingerprint = "2D76 76C7 A28E 16FC 75C7 268D 1B55 6ED8 4B0E 303A"; } ]; - }; Srylax = { name = "Srylax"; email = "srylax+nixpkgs@srylax.dev"; diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 16584a7d8a27..85e56d3207cc 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -174,7 +174,7 @@ - The zookeeper project changed their logging tool to logback, therefore `services.zookeeper.logging` option has been updated to expect a logback compatible string. - The `dovecot` systemd service was renamed from `dovecot2` to `dovecot`. The former is now just an alias. Update any overrides on the systemd unit to the new name. -- Configurations with `boot.initrd.systend.enable && !boot.initrd.enable` will have their `init` script at `$toplevel/init` instead of `$toplevel/prepare-root`. This is because it does not make sense for systemd stage 1 to affect the `init` script when stage 1 is entirely disabled (e.g. containers). +- Configurations with `boot.initrd.systemd.enable && !boot.initrd.enable` will have their `init` script at `$toplevel/init` instead of `$toplevel/prepare-root`. This is because it does not make sense for systemd stage 1 to affect the `init` script when stage 1 is entirely disabled (e.g. containers). - `programs.goldwarden` has been removed, due to the software not working with newer versions of the Bitwarden and Vaultwarden servers, as well as it being abandoned upstream. diff --git a/nixos/modules/services/hardware/hddfancontrol.nix b/nixos/modules/services/hardware/hddfancontrol.nix index 999fb3cc5317..567d6295ed1c 100644 --- a/nixos/modules/services/hardware/hddfancontrol.nix +++ b/nixos/modules/services/hardware/hddfancontrol.nix @@ -42,6 +42,7 @@ in options = { services.hddfancontrol.enable = lib.mkEnableOption "hddfancontrol daemon"; + services.hddfancontrol.package = lib.mkPackageOption pkgs "hddfancontrol" { }; services.hddfancontrol.settings = lib.mkOption { type = lib.types.attrsWith { @@ -164,7 +165,7 @@ in let argString = lib.strings.concatStringsSep " " (args cnf); in - "${lib.getExe pkgs.hddfancontrol} -v ${cnf.logVerbosity} daemon ${argString}"; + "${lib.getExe cfg.package} -v ${cnf.logVerbosity} daemon ${argString}"; serviceConfig = { CPUSchedulingPolicy = "rr"; CPUSchedulingPriority = 49; @@ -189,7 +190,7 @@ in ]; in { - systemd.packages = [ pkgs.hddfancontrol ]; + systemd.packages = [ cfg.package ]; hardware.sensor.hddtemp = { enable = true; diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index 2c93754b781b..9715c8645dc3 100644 --- a/nixos/modules/services/mail/postfix.nix +++ b/nixos/modules/services/mail/postfix.nix @@ -1250,7 +1250,7 @@ in [ "services" "postfix" "settings" "main" "mynetworks" ] ) (lib.mkRenamedOptionModule - [ "services" "postfix" "networkStyle" ] + [ "services" "postfix" "networksStyle" ] [ "services" "postfix" "settings" "main" "mynetworks_style" ] ) (lib.mkRenamedOptionModule diff --git a/nixos/modules/services/networking/pangolin.nix b/nixos/modules/services/networking/pangolin.nix index d612f6953904..9b5bdb9d3690 100644 --- a/nixos/modules/services/networking/pangolin.nix +++ b/nixos/modules/services/networking/pangolin.nix @@ -515,34 +515,38 @@ in tls.certResolver = "letsencrypt"; }; # Integration API router - int-api-router-redirect = lib.mkIf (finalSettings.flags.enable_integration_api) { + int-api-router-redirect = { rule = "Host(`api.${cfg.baseDomain}`)"; service = "int-api-service"; entryPoints = [ "web" ]; middlewares = [ "redirect-to-https" ]; }; - int-api-router = lib.mkIf (finalSettings.flags.enable_integration_api) { + int-api-router = { rule = "Host(`api.${cfg.baseDomain}`)"; service = "int-api-service"; entryPoints = [ "websecure" ]; tls.certResolver = "letsencrypt"; }; }; - # could be map - services = { - # Next.js server - next-service.loadBalancer.servers = [ - { url = "http://localhost:${toString finalSettings.server.next_port}"; } - ]; - # API/WebSocket server - api-service.loadBalancer.servers = [ - { url = "http://localhost:${toString finalSettings.server.external_port}"; } - ]; - # Integration API server - int-api-service.loadBalancer.servers = lib.mkIf (finalSettings.flags.enable_integration_api) [ - { url = "http://localhost:${toString finalSettings.server.integration_port}"; } - ]; - }; + # needs to be a mkMerge otherwise will give error about standalone element + services = lib.mkMerge [ + { + # Next.js server + next-service.loadBalancer.servers = [ + { url = "http://localhost:${toString finalSettings.server.next_port}"; } + ]; + # API/WebSocket server + api-service.loadBalancer.servers = [ + { url = "http://localhost:${toString finalSettings.server.external_port}"; } + ]; + } + (lib.mkIf (finalSettings.flags.enable_integration_api) { + # Integration API server + int-api-service.loadBalancer.servers = [ + { url = "http://localhost:${toString finalSettings.server.integration_port}"; } + ]; + }) + ]; }; }; }; diff --git a/nixos/modules/services/search/meilisearch.nix b/nixos/modules/services/search/meilisearch.nix index 8a32cf302fa1..fb5370a297b2 100644 --- a/nixos/modules/services/search/meilisearch.nix +++ b/nixos/modules/services/search/meilisearch.nix @@ -223,6 +223,9 @@ in ); serviceConfig = { + Type = "simple"; + DynamicUser = true; + Restart = "always"; LoadCredential = lib.mkMerge ( [ (lib.mkIf (cfg.masterKeyFile != null) [ "master_key:${cfg.masterKeyFile}" ]) @@ -232,11 +235,15 @@ in ) secrets-with-path ); ExecStart = "${lib.getExe cfg.package} --config-file-path \${RUNTIME_DIRECTORY}/config.toml"; - DynamicUser = true; StateDirectory = "meilisearch"; WorkingDirectory = "%S/meilisearch"; RuntimeDirectory = "meilisearch"; RuntimeDirectoryMode = "0700"; + ReadWritePaths = [ + cfg.settings.db_path + cfg.settings.dump_dir + cfg.settings.snapshot_dir + ]; ProtectSystem = "strict"; ProtectHome = true; @@ -255,6 +262,7 @@ in RestrictSUIDSGID = true; LockPersonality = true; MemoryDenyWriteExecute = true; + RemoveIPC = true; # Meilisearch needs to determine cgroup memory limits to set its own memory limits. # This means this can't be set to "pid" diff --git a/nixos/modules/services/web-apps/sharkey.nix b/nixos/modules/services/web-apps/sharkey.nix index 6cbc43f27aa8..61dc97d56dc8 100644 --- a/nixos/modules/services/web-apps/sharkey.nix +++ b/nixos/modules/services/web-apps/sharkey.nix @@ -297,7 +297,6 @@ in ]); meta.maintainers = with lib.maintainers; [ - srxl tmarkus ]; } diff --git a/nixos/tests/k3s/etcd.nix b/nixos/tests/k3s/etcd.nix index c858dd4e0283..a44de1f6233f 100644 --- a/nixos/tests/k3s/etcd.nix +++ b/nixos/tests/k3s/etcd.nix @@ -50,6 +50,7 @@ import ../make-test-python.nix ( services.k3s = { enable = true; role = "server"; + package = k3s; extraFlags = [ "--datastore-endpoint=\"http://192.168.1.1:2379\"" "--disable coredns" diff --git a/nixos/tests/radicle.nix b/nixos/tests/radicle.nix index 397a3b5a7b8f..0c7c93359dae 100644 --- a/nixos/tests/radicle.nix +++ b/nixos/tests/radicle.nix @@ -203,7 +203,7 @@ in with subtest("alice can receive the patch"): alice.wait_until_succeeds("test 1 = \"$(rad stats | jq .local.patches)\"") alice.succeed( - f"cd /tmp/repo && rad patch show {bob_repo_patch1_pid} | grep 'opened by bob'", + f"cd /tmp/repo && rad patch show {bob_repo_patch1_pid} | grep -E '{bob_repo_patch1_pid[:7]} @ .+ by bob'", f"cd /tmp/repo && rad patch checkout {bob_repo_patch1_pid}" ) assert alice.succeed("cat /tmp/repo/testfile") == "hello alice\n" diff --git a/nixos/tests/web-apps/sharkey.nix b/nixos/tests/web-apps/sharkey.nix index 3a07493178b5..4811cd06ab97 100644 --- a/nixos/tests/web-apps/sharkey.nix +++ b/nixos/tests/web-apps/sharkey.nix @@ -50,7 +50,6 @@ in ''; meta.maintainers = with lib.maintainers; [ - srxl tmarkus ]; } diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 346501691d98..4c7bfd58c56d 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -5208,6 +5208,22 @@ let }; }; + vytautassurvila.csharp-ls = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "csharp-ls"; + publisher = "vytautassurvila"; + version = "0.0.27"; + hash = "sha256-kl6W1UQ36cNQNj3cOsMyZbxD6glaRm3W0Z1W+xuEcjs="; + }; + meta = { + changelog = "https://github.com/vytautassurvila/vscode-csharp-ls/blob/master/CHANGELOG.md"; + description = "Visual Studio Code Extension - C# LSP client for csharp-language-server"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=vytautassurvila.csharp-ls"; + homepage = "https://github.com/vytautassurvila/vscode-csharp-ls"; + license = lib.licenses.mit; + }; + }; + waderyan.gitblame = buildVscodeMarketplaceExtension { mktplcRef = { name = "gitblame"; diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix index c39f04f22148..817036f96933 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix @@ -5,13 +5,13 @@ }: buildGoModule rec { pname = "helm-dt"; - version = "0.4.8"; + version = "0.4.9"; src = fetchFromGitHub { owner = "vmware-labs"; repo = "distribution-tooling-for-helm"; rev = "refs/tags/v${version}"; - hash = "sha256-G2gJNsrw3NIQaZf+htSLHHCPeKWtbXQw5B7d+yI53uE="; + hash = "sha256-3zEu4fnvjM1SvyOyj6NzQteyfEh5X7ro/G0gkzt7ghY="; }; vendorHash = "sha256-CIVgNS74V75etC9WBzoxu6aoMHlUYxWd22h2NG1uNn0="; diff --git a/pkgs/applications/networking/cluster/k3s/1_31/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_31/images-versions.json index 6f9adbdf9ea3..61f642c70b4a 100644 --- a/pkgs/applications/networking/cluster/k3s/1_31/images-versions.json +++ b/pkgs/applications/networking/cluster/k3s/1_31/images-versions.json @@ -1,26 +1,26 @@ { "airgap-images-amd64-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.12%2Bk3s1/k3s-airgap-images-amd64.tar.gz", - "sha256": "a6899f064a179d0681b5e18f5b82fa10120badf8e74c79a4eedebe000a9eaa56" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.13%2Bk3s1/k3s-airgap-images-amd64.tar.gz", + "sha256": "22972425bc5554ce4d9958a3b7b5b3c1d4d80d9e6dd9494e9853fc659b944724" }, "airgap-images-amd64-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.12%2Bk3s1/k3s-airgap-images-amd64.tar.zst", - "sha256": "d253cfce051c549a3ed0826d60e5c7bec7bbd9f8a64f98a9d5ec8238e9914cc3" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.13%2Bk3s1/k3s-airgap-images-amd64.tar.zst", + "sha256": "2b89cf256067bb292cc24e0a93688c2e4704387910a37cda38ef83727121c780" }, "airgap-images-arm-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.12%2Bk3s1/k3s-airgap-images-arm.tar.gz", - "sha256": "74e897222e53a2750b3ee8249964e0e47fa5c5caae9d611a18499be6b51cdee3" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.13%2Bk3s1/k3s-airgap-images-arm.tar.gz", + "sha256": "2437c19cfe19a8d62097430e8f51cab2ed740b42b18ee060bc7a18a7421f8ac9" }, "airgap-images-arm-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.12%2Bk3s1/k3s-airgap-images-arm.tar.zst", - "sha256": "162a158c191591ec4ca3b7f446fdf9e23eb8366407091b992087abdc6349325f" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.13%2Bk3s1/k3s-airgap-images-arm.tar.zst", + "sha256": "e7ba4d17e439863f71f303d871f6c700fdafc3b96fb69323cb59f2319ab844d4" }, "airgap-images-arm64-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.12%2Bk3s1/k3s-airgap-images-arm64.tar.gz", - "sha256": "313e268ab348dd8d4708928e7bc0fb45b7f518aeb7dfaa9631d3d7d61ba1f8be" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.13%2Bk3s1/k3s-airgap-images-arm64.tar.gz", + "sha256": "90abbf66bae88eec6016c2a5053523dcbcdf94d215775b4bd773d322b236fc84" }, "airgap-images-arm64-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.12%2Bk3s1/k3s-airgap-images-arm64.tar.zst", - "sha256": "60f19d4935f5b4b2b776c634eb9701268b94ccd100fc9c2968c096ba1fb5154f" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.31.13%2Bk3s1/k3s-airgap-images-arm64.tar.zst", + "sha256": "fd166a50cbe9be3e3a41d5e3292357168578622a5d1211642206b9afd6cf1ddc" } } diff --git a/pkgs/applications/networking/cluster/k3s/1_31/versions.nix b/pkgs/applications/networking/cluster/k3s/1_31/versions.nix index 165a8aac3278..49d730df7498 100644 --- a/pkgs/applications/networking/cluster/k3s/1_31/versions.nix +++ b/pkgs/applications/networking/cluster/k3s/1_31/versions.nix @@ -1,15 +1,15 @@ { - k3sVersion = "1.31.12+k3s1"; - k3sCommit = "2b53c7e4c81742fbb2b0e7e90e3bb907d1fe0e24"; - k3sRepoSha256 = "07pi1vjpm01q2riq0dic6p27nqj4wzwwzllxgmr7gfim1xx643gd"; - k3sVendorHash = "sha256-osqhQJq+Qst3LpYdhXkAY6Pxay381PmoxD5Ji/ZV86Q="; + k3sVersion = "1.31.13+k3s1"; + k3sCommit = "a4ca1794628ec6d699b5768ef9fc1b99e1694efc"; + k3sRepoSha256 = "0zlvbkidan1jpdbcqqvpr46701rcnch4q7iczbpadbx7ixq7qmwj"; + k3sVendorHash = "sha256-wR4GNGd9QK/6IVdoXmcPDQwj0dvA/ofwVBgWXDmHz1U="; chartVersions = import ./chart-versions.nix; imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json); - k3sRootVersion = "0.14.1"; - k3sRootSha256 = "0svbi42agqxqh5q2ri7xmaw2a2c70s7q5y587ls0qkflw5vx4sl7"; + k3sRootVersion = "0.15.0"; + k3sRootSha256 = "008n8xx7x36y9y4r24hx39xagf1dxbp3pqq2j53s9zkaiqc62hd0"; k3sCNIVersion = "1.7.1-k3s1"; k3sCNISha256 = "0k1qfmsi5bqgwd5ap8ndimw09hsxn0cqf4m5ad5a4mgl6akw6dqz"; - containerdVersion = "2.0.5-k3s2.32"; - containerdSha256 = "1q285ijgxhf4w9xgqqg7yi29mb4jqpifk6bqkjih456qxxkiyk2z"; + containerdVersion = "2.1.4-k3s1.32"; + containerdSha256 = "05dcyv5kxic99ghi8wb1b544kmq0ccc06yiln2yfh49h11hngw50"; criCtlVersion = "1.31.0-k3s2"; } diff --git a/pkgs/applications/networking/cluster/k3s/1_32/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_32/images-versions.json index 7056eec19db2..86876032dbbd 100644 --- a/pkgs/applications/networking/cluster/k3s/1_32/images-versions.json +++ b/pkgs/applications/networking/cluster/k3s/1_32/images-versions.json @@ -1,26 +1,26 @@ { "airgap-images-amd64-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.8%2Bk3s1/k3s-airgap-images-amd64.tar.gz", - "sha256": "b2b652c75ad0e2138ed3925e43c12bd9b79be8a42a577dde9dcb518933e5501b" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.9%2Bk3s1/k3s-airgap-images-amd64.tar.gz", + "sha256": "50ba2c60c4541a2f09436e7fd91b8b782b2055f91b60ee668d70b29b9f6f1783" }, "airgap-images-amd64-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.8%2Bk3s1/k3s-airgap-images-amd64.tar.zst", - "sha256": "3f690edd5e28c28ea3a52beb3ec009726f6e72f4a67096f2ce2b1a4fa3b01e3d" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.9%2Bk3s1/k3s-airgap-images-amd64.tar.zst", + "sha256": "079ef47f09b80397402a818c748aeebd6ba41a405f04c81c80ef05fbffc11dee" }, "airgap-images-arm-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.8%2Bk3s1/k3s-airgap-images-arm.tar.gz", - "sha256": "343fa41d0c67b1b1bb4cd962b0f8d5f9cf175ef1b3bca4348cdbf91670a1d782" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.9%2Bk3s1/k3s-airgap-images-arm.tar.gz", + "sha256": "7718b0be16c4cd336ca79df2bb1a0688fe1d76fdb83c584adb47a44ce70a630e" }, "airgap-images-arm-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.8%2Bk3s1/k3s-airgap-images-arm.tar.zst", - "sha256": "efc96a222a2fd0b13104e6fd87dd6bbda9a96abeb20a1a1cc203044ce0a38749" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.9%2Bk3s1/k3s-airgap-images-arm.tar.zst", + "sha256": "2dcb0dcbb9d50ceef87be1125b6d6ca7a7f7ac233c3715d67db0680153486ed6" }, "airgap-images-arm64-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.8%2Bk3s1/k3s-airgap-images-arm64.tar.gz", - "sha256": "04ac1b2f03bceb238ad600ef70ca7a78672d741e8ce430749b8eedbb1dd0ac47" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.9%2Bk3s1/k3s-airgap-images-arm64.tar.gz", + "sha256": "dfe042271ed97ef15a418cb219d31952914b4e78027d8dd871382e5e6bdbc7d1" }, "airgap-images-arm64-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.8%2Bk3s1/k3s-airgap-images-arm64.tar.zst", - "sha256": "d76ec4a39d66da2a98e7c55dc6811350b4333a2eeae9c0bd4fc401203d92d9e8" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.32.9%2Bk3s1/k3s-airgap-images-arm64.tar.zst", + "sha256": "b92d129d8e182fd8079be5fa1442116e47cb8e298f9a3ced0e401b2d02929675" } } diff --git a/pkgs/applications/networking/cluster/k3s/1_32/versions.nix b/pkgs/applications/networking/cluster/k3s/1_32/versions.nix index d024b3754349..f8c20d143a40 100644 --- a/pkgs/applications/networking/cluster/k3s/1_32/versions.nix +++ b/pkgs/applications/networking/cluster/k3s/1_32/versions.nix @@ -1,15 +1,15 @@ { - k3sVersion = "1.32.8+k3s1"; - k3sCommit = "fe896f7e7cf8be1cfffe7151c6860deb08e2a005"; - k3sRepoSha256 = "1knj7jzxb70zvqjn7pbjz78cm06w0402id5frib94y0i4rsmqd6g"; - k3sVendorHash = "sha256-MbXTUvdnoLFVGYKEGBYWNkuL2Es0Io4q2E5qaUptwRQ="; + k3sVersion = "1.32.9+k3s1"; + k3sCommit = "062b953493abc18cbf3a85d76a71d70a9ea4b5cd"; + k3sRepoSha256 = "0hsdkrdqb9dbi60k8fczxg23n72mp191qmpd0kqa0x1s6hq2pjw2"; + k3sVendorHash = "sha256-ou169BNhsrY66iLVPufvOp1lYdiqR5e7mzNGDLOlW2I="; chartVersions = import ./chart-versions.nix; imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json); - k3sRootVersion = "0.14.1"; - k3sRootSha256 = "0svbi42agqxqh5q2ri7xmaw2a2c70s7q5y587ls0qkflw5vx4sl7"; + k3sRootVersion = "0.15.0"; + k3sRootSha256 = "008n8xx7x36y9y4r24hx39xagf1dxbp3pqq2j53s9zkaiqc62hd0"; k3sCNIVersion = "1.7.1-k3s1"; k3sCNISha256 = "0k1qfmsi5bqgwd5ap8ndimw09hsxn0cqf4m5ad5a4mgl6akw6dqz"; - containerdVersion = "2.0.5-k3s2.32"; - containerdSha256 = "1q285ijgxhf4w9xgqqg7yi29mb4jqpifk6bqkjih456qxxkiyk2z"; + containerdVersion = "2.1.4-k3s1.32"; + containerdSha256 = "05dcyv5kxic99ghi8wb1b544kmq0ccc06yiln2yfh49h11hngw50"; criCtlVersion = "1.31.0-k3s2"; } diff --git a/pkgs/applications/networking/cluster/k3s/1_33/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_33/images-versions.json index fed1f0404194..ad770df1ac81 100644 --- a/pkgs/applications/networking/cluster/k3s/1_33/images-versions.json +++ b/pkgs/applications/networking/cluster/k3s/1_33/images-versions.json @@ -1,26 +1,26 @@ { "airgap-images-amd64-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.4%2Bk3s1/k3s-airgap-images-amd64.tar.gz", - "sha256": "13832518d409f950121a9c681b878f868120c73d42d3823f55cea49f61b69497" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.5%2Bk3s1/k3s-airgap-images-amd64.tar.gz", + "sha256": "580c09a6f8c088de023ff8ce256371e807edb45d60db9e53505db263e8987110" }, "airgap-images-amd64-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.4%2Bk3s1/k3s-airgap-images-amd64.tar.zst", - "sha256": "1a3738a77c4a3fef4a85c16d7f2eadcd337605f9279fcddbc3eb4f982fbd2238" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.5%2Bk3s1/k3s-airgap-images-amd64.tar.zst", + "sha256": "c1d71ab864b6b7de087d0827a1810c5fd271134e317af8730ec9211eaf34b097" }, "airgap-images-arm-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.4%2Bk3s1/k3s-airgap-images-arm.tar.gz", - "sha256": "94b084b7f9756e986855301658af957042e3ebb7c71848860f823b35844e98fa" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.5%2Bk3s1/k3s-airgap-images-arm.tar.gz", + "sha256": "940581b495178e35865db8bc7791052bfc3f62bc01fc960e7de27807b50473bd" }, "airgap-images-arm-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.4%2Bk3s1/k3s-airgap-images-arm.tar.zst", - "sha256": "1be4d940daea065ad97bc254882b12fb30af2f13ed2b26a7cd16aeacec29f048" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.5%2Bk3s1/k3s-airgap-images-arm.tar.zst", + "sha256": "7a31e2d1d3bb220fe9073bf58051046745dfb871ca51230e56ec5789cb97d875" }, "airgap-images-arm64-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.4%2Bk3s1/k3s-airgap-images-arm64.tar.gz", - "sha256": "a89d7916b65ed066e761fe07831aa157b91b30bc1369ea9be3d1e5f0fe1dc74c" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.5%2Bk3s1/k3s-airgap-images-arm64.tar.gz", + "sha256": "2ea460f5c783cec0479e6cf8d82e11ed6b6fee6c8e7622243fadd5f8b7476beb" }, "airgap-images-arm64-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.4%2Bk3s1/k3s-airgap-images-arm64.tar.zst", - "sha256": "6d898c35a9dc96d427f4258605ce61daf7587f26ea2822b711896224b746b38f" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.33.5%2Bk3s1/k3s-airgap-images-arm64.tar.zst", + "sha256": "b0408ae107ce0ddbd47b62242d8e2e97532b1cfeeef1a38cad0cc54dfd289edc" } } diff --git a/pkgs/applications/networking/cluster/k3s/1_33/versions.nix b/pkgs/applications/networking/cluster/k3s/1_33/versions.nix index 6a79967ddd7b..5da897e2b304 100644 --- a/pkgs/applications/networking/cluster/k3s/1_33/versions.nix +++ b/pkgs/applications/networking/cluster/k3s/1_33/versions.nix @@ -1,15 +1,15 @@ { - k3sVersion = "1.33.4+k3s1"; - k3sCommit = "148243c49519922720fe1b340008dbce8fb02516"; - k3sRepoSha256 = "1870l3mq5nsh8i82wvwsz7nqiv1xzyqypm66rfmp999s2qlssyaa"; - k3sVendorHash = "sha256-JbnoV8huyOS7Q91QjqTKvPEtkYQxjR10o0d5z25Ycsg="; + k3sVersion = "1.33.5+k3s1"; + k3sCommit = "fab4a5c3de46748494cf7ad5dccc89b213965b08"; + k3sRepoSha256 = "0c0phxnx09gainay4cgbcc2j1ddci73a9i0q92zf32whkbp06112"; + k3sVendorHash = "sha256-v+tfVL9sDyiDRB3/IDDfyDekFAdjdUtTTChu6l5Qvg0="; chartVersions = import ./chart-versions.nix; imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json); - k3sRootVersion = "0.14.1"; - k3sRootSha256 = "0svbi42agqxqh5q2ri7xmaw2a2c70s7q5y587ls0qkflw5vx4sl7"; + k3sRootVersion = "0.15.0"; + k3sRootSha256 = "008n8xx7x36y9y4r24hx39xagf1dxbp3pqq2j53s9zkaiqc62hd0"; k3sCNIVersion = "1.7.1-k3s1"; k3sCNISha256 = "0k1qfmsi5bqgwd5ap8ndimw09hsxn0cqf4m5ad5a4mgl6akw6dqz"; - containerdVersion = "2.0.5-k3s2"; - containerdSha256 = "0011p1905jsswz1zqzkylzjfvi50mc60ifgjnjxwnjrk2rnwbmbz"; - criCtlVersion = "1.31.0-k3s2"; + containerdVersion = "2.1.4-k3s1"; + containerdSha256 = "0fg9py52hac5bdmrabvkcpc1aawxl5xc0ij9zx964qkkc7fa19ca"; + criCtlVersion = "1.33.0-k3s2"; } diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 05f6980f0be4..178607421f09 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -346,6 +346,9 @@ stdenvNoCC.mkDerivation { } fi '' + + optionalString (libc.w32api or null != null) '' + echo '-L${lib.getLib libc.w32api}${libc.libdir or "/lib/w32api"}' >> $out/nix-support/libc-ldflags + '' ) ## diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 50ff90609a5e..e2dd121ec93a 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -126,6 +126,7 @@ let libc_dev = optionalString (libc != null) (getDev libc); libc_lib = optionalString (libc != null) (getLib libc); cc_solib = getLib cc + optionalString (targetPlatform != hostPlatform) "/${targetPlatform.config}"; + cc_bin = getBin cc + optionalString (targetPlatform != hostPlatform) "/${targetPlatform.config}"; # The wrapper scripts use 'cat' and 'grep', so we may need coreutils. coreutils_bin = optionalString (!nativeTools) (getBin coreutils); @@ -590,15 +591,21 @@ stdenvNoCC.mkDerivation { ] ++ optional (cc.langC or true) ./setup-hook.sh ++ optional (cc.langFortran or false) ./fortran-hook.sh - ++ optional (targetPlatform.isWindows) ( + ++ optional (targetPlatform.isWindows || targetPlatform.isCygwin) ( stdenvNoCC.mkDerivation { name = "win-dll-hook.sh"; dontUnpack = true; - installPhase = '' - echo addToSearchPath "LINK_DLL_FOLDERS" "${cc_solib}/lib" > $out - echo addToSearchPath "LINK_DLL_FOLDERS" "${cc_solib}/lib64" >> $out - echo addToSearchPath "LINK_DLL_FOLDERS" "${cc_solib}/lib32" >> $out - ''; + installPhase = + if targetPlatform.isCygwin then + '' + echo addToSearchPath "LINK_DLL_FOLDERS" "${cc_bin}/lib" >> $out + '' + else + '' + echo addToSearchPath "LINK_DLL_FOLDERS" "${cc_solib}/lib" > $out + echo addToSearchPath "LINK_DLL_FOLDERS" "${cc_solib}/lib64" >> $out + echo addToSearchPath "LINK_DLL_FOLDERS" "${cc_solib}/lib32" >> $out + ''; } ); @@ -705,6 +712,11 @@ stdenvNoCC.mkDerivation { include '-idirafter' ''${dir} >> $out/nix-support/libc-cflags done '' + + optionalString (libc.w32api or null != null) '' + echo '-idirafter ${lib.getDev libc.w32api}${ + libc.incdir or "/include/w32api" + }' >> $out/nix-support/libc-cflags + '' + '' echo "${libc_lib}" > $out/nix-support/orig-libc diff --git a/pkgs/build-support/setup-hooks/cygwin-dll-link.sh b/pkgs/build-support/setup-hooks/cygwin-dll-link.sh new file mode 100644 index 000000000000..d5724794921d --- /dev/null +++ b/pkgs/build-support/setup-hooks/cygwin-dll-link.sh @@ -0,0 +1,73 @@ +addLinkDLLPaths() { + addToSearchPath "LINK_DLL_FOLDERS" "$1/lib" + addToSearchPath "LINK_DLL_FOLDERS" "$1/bin" +} + +addEnvHooks "$targetOffset" addLinkDLLPaths + +addOutputDLLPaths() { + for output in $(getAllOutputNames); do + addToSearchPath "LINK_DLL_FOLDERS" "${!output}/lib" + addToSearchPath "LINK_DLL_FOLDERS" "${!output}/bin" + done +} + +postInstallHooks+=(addOutputDLLPaths) + +_dllDeps() { + "$OBJDUMP" -p "$1" \ + | sed -n 's/.*DLL Name: \(.*\)/\1/p' \ + | sort -u +} + +_linkDeps() { + local target="$1" dir="$2" check="$3" + echo 'target:' "$target" + local dll + _dllDeps "$target" | while read dll; do + echo ' dll:' "$dll" + if [[ -e "$dir/$dll" ]]; then continue; fi + # Locate the DLL - it should be an *executable* file on $LINK_DLL_FOLDERS. + local dllPath="$(PATH="$(dirname "$target"):$LINK_DLL_FOLDERS" type -P "$dll")" + if [[ -z "$dllPath" ]]; then + if [[ -z "$check" || -n "${allowedImpureDLLsMap[$dll]}" ]]; then + continue + fi + echo unable to find $dll in $LINK_DLL_FOLDERS >&2 + exit 1 + fi + echo ' linking to:' "$dllPath" + CYGWIN+=\ winsymlinks:nativestrict ln -sr "$dllPath" "$dir" + # That DLL might have its own (transitive) dependencies, + # so add also all DLLs from its directory to be sure. + _linkDeps "$dllPath" "$dir" "" + done +} + +linkDLLs() { + if [ ! -d "$prefix" ]; then return; fi + ( + set -e + shopt -s globstar nullglob + + local -a allowedImpureDLLsArray + concatTo allowedImpureDLLsArray allowedImpureDLLs + + local -A allowedImpureDLLsMap; + + for dll in "${allowedImpureDLLsArray[@]}"; do + allowedImpureDLLsMap[$dll]=1 + done + + cd "$prefix" + + # Iterate over any DLL that we depend on. + local target + for target in {bin,libexec}/**/*.{exe,dll}; do + [[ ! -f "$target" || ! -x "$target" ]] || + _linkDeps "$target" "$(dirname "$target")" "1" + done + ) +} + +fixupOutputHooks+=(linkDLLs) diff --git a/pkgs/by-name/_1/_1password-gui/sources.json b/pkgs/by-name/_1/_1password-gui/sources.json index 68df9b533b2a..a135023eec1b 100644 --- a/pkgs/by-name/_1/_1password-gui/sources.json +++ b/pkgs/by-name/_1/_1password-gui/sources.json @@ -1,28 +1,28 @@ { "stable": { "linux": { - "version": "8.11.10", + "version": "8.11.12", "sources": { "x86_64": { - "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.10.x64.tar.gz", - "hash": "sha256-AKqr1jMTFXPYYYJu8wD9P+xXwxobSbpjXwmBQhWYVhg=" + "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.12.x64.tar.gz", + "hash": "sha256-znzmaEYOLVw6nUBk20oMdSngkO8iiSTHvM1y/t3Z55Y=" }, "aarch64": { - "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.10.arm64.tar.gz", - "hash": "sha256-Xz66LYXgX64P9TTmI8D8Wtrz7qKTBrZx+rP26yJqcTw=" + "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.12.arm64.tar.gz", + "hash": "sha256-ENuvB8GExhHWjJ97JV0qc2cIn9HqXb202dzIxu1fz2A=" } } }, "darwin": { - "version": "8.11.10", + "version": "8.11.12", "sources": { "x86_64": { - "url": "https://downloads.1password.com/mac/1Password-8.11.10-x86_64.zip", - "hash": "sha256-sQK+qHdGvpIi+h2az8PYq6kROmiaGKBbNGFGXJSe1eg=" + "url": "https://downloads.1password.com/mac/1Password-8.11.12-x86_64.zip", + "hash": "sha256-mr7DsYIEh21pHQX0cq9JlTZ4lHhkyYHCmwMaxEiK+5g=" }, "aarch64": { - "url": "https://downloads.1password.com/mac/1Password-8.11.10-aarch64.zip", - "hash": "sha256-Hb+DEGM7ymDuf71uKTy8L/9bUWZ2+QD+w7h2tNvp0Pk=" + "url": "https://downloads.1password.com/mac/1Password-8.11.12-aarch64.zip", + "hash": "sha256-34ylS5Xq9By6nuUkEmLoi0wR5hAQx1vBhrYFq4mjSDs=" } } } diff --git a/pkgs/by-name/_3/_3proxy/package.nix b/pkgs/by-name/_3/_3proxy/package.nix index c85a8cb392c2..2403efe6b346 100644 --- a/pkgs/by-name/_3/_3proxy/package.nix +++ b/pkgs/by-name/_3/_3proxy/package.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "3proxy"; repo = "3proxy"; - rev = version; + tag = version; sha256 = "sha256-uy6flZ1a7o02pr5O0pgl9zCjh8mE9W5JxotJeBMB16A="; }; diff --git a/pkgs/by-name/_6/_6tunnel/package.nix b/pkgs/by-name/_6/_6tunnel/package.nix index ac9b5d2f3881..4e4da7039586 100644 --- a/pkgs/by-name/_6/_6tunnel/package.nix +++ b/pkgs/by-name/_6/_6tunnel/package.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "wojtekka"; repo = "6tunnel"; - rev = version; + tag = version; sha256 = "sha256-ftTAFjHlXRrXH6co8bX0RY092lAmv15svZn4BKGVuq0="; }; diff --git a/pkgs/by-name/_9/_9pfs/package.nix b/pkgs/by-name/_9/_9pfs/package.nix index 7305505aecb2..9d31973a4a52 100644 --- a/pkgs/by-name/_9/_9pfs/package.nix +++ b/pkgs/by-name/_9/_9pfs/package.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "ftrvxmtrx"; repo = "9pfs"; - rev = version; + tag = version; sha256 = "sha256-nlJ4Zh13T78r0Dn3Ky/XLhipeMbMFbn0qGCJnUCBd3Y="; }; diff --git a/pkgs/by-name/aa/aarch64-esr-decoder/package.nix b/pkgs/by-name/aa/aarch64-esr-decoder/package.nix index c47ce2d356b3..e64a4e7adaa5 100644 --- a/pkgs/by-name/aa/aarch64-esr-decoder/package.nix +++ b/pkgs/by-name/aa/aarch64-esr-decoder/package.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "google"; repo = "aarch64-esr-decoder"; - rev = version; + tag = version; hash = "sha256-ZpSrz7iwwzNrK+bFTMn5MPx4Zjceao9NKhjAyjuPLWY="; }; @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec { meta = { description = "Utility for decoding aarch64 ESR register values"; homepage = "https://github.com/google/aarch64-esr-decoder"; - changelog = "https://github.com/google/aarch64-esr-decoder/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/google/aarch64-esr-decoder/blob/${version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ jmbaur ]; mainProgram = "aarch64-esr-decoder"; diff --git a/pkgs/by-name/ab/aba/package.nix b/pkgs/by-name/ab/aba/package.nix index 768b176a3429..50b022ae117f 100644 --- a/pkgs/by-name/ab/aba/package.nix +++ b/pkgs/by-name/ab/aba/package.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage { src = fetchFromSourcehut { owner = "~onemoresuza"; repo = "aba"; - rev = version; + tag = version; hash = "sha256-2zVQNchL4DFh2v2/kwupJTBSmXiKqlxzUMrP9TbfCMs="; }; diff --git a/pkgs/by-name/ab/abi-compliance-checker/package.nix b/pkgs/by-name/ab/abi-compliance-checker/package.nix index 4351670a8c6e..08b0161b220f 100644 --- a/pkgs/by-name/ab/abi-compliance-checker/package.nix +++ b/pkgs/by-name/ab/abi-compliance-checker/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "lvc"; repo = "abi-compliance-checker"; - rev = version; + tag = version; sha256 = "1f1f9j2nf9j83sfl2ljadch99v6ha8rq8xm7ax5akc05hjpyckij"; }; diff --git a/pkgs/by-name/ab/abi-dumper/package.nix b/pkgs/by-name/ab/abi-dumper/package.nix index 863a42df406d..fc0eaffc4e55 100644 --- a/pkgs/by-name/ab/abi-dumper/package.nix +++ b/pkgs/by-name/ab/abi-dumper/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "lvc"; repo = "abi-dumper"; - rev = version; + tag = version; sha256 = "sha256-BefDMeKHx4MNU6SyX5UpQnwdI+zqap7zunsgdWG/2xc="; }; diff --git a/pkgs/by-name/ad/adapta-backgrounds/package.nix b/pkgs/by-name/ad/adapta-backgrounds/package.nix index bf4cc0ab8f10..18aac63bf065 100644 --- a/pkgs/by-name/ad/adapta-backgrounds/package.nix +++ b/pkgs/by-name/ad/adapta-backgrounds/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "adapta-project"; repo = "adapta-backgrounds"; - rev = version; + tag = version; sha256 = "04hmbmzf97rsii8gpwy3wkljy5xhxmlsl34d63s6hfy05knclydj"; }; diff --git a/pkgs/by-name/ad/adapta-gtk-theme/package.nix b/pkgs/by-name/ad/adapta-gtk-theme/package.nix index 02542511e9e8..7bb6862f0463 100644 --- a/pkgs/by-name/ad/adapta-gtk-theme/package.nix +++ b/pkgs/by-name/ad/adapta-gtk-theme/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "adapta-project"; repo = "adapta-gtk-theme"; - rev = version; + tag = version; sha256 = "19skrhp10xx07hbd0lr3d619vj2im35d8p9rmb4v4zacci804q04"; }; diff --git a/pkgs/by-name/ad/adapta-kde-theme/package.nix b/pkgs/by-name/ad/adapta-kde-theme/package.nix index 67ba82d42556..54c5cb2de524 100644 --- a/pkgs/by-name/ad/adapta-kde-theme/package.nix +++ b/pkgs/by-name/ad/adapta-kde-theme/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "PapirusDevelopmentTeam"; repo = "adapta-kde"; - rev = version; + tag = version; sha256 = "1q85678sff8is2kwvgd703ckcns42gdga2c1rqlp61gb6bqf09j8"; }; diff --git a/pkgs/by-name/ad/adementary-theme/package.nix b/pkgs/by-name/ad/adementary-theme/package.nix index 9c844a14655f..f3602d778131 100644 --- a/pkgs/by-name/ad/adementary-theme/package.nix +++ b/pkgs/by-name/ad/adementary-theme/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "hrdwrrsk"; repo = "adementary-theme"; - rev = version; + tag = version; sha256 = "14y5s18g9r2c1ciw1skfksn09gvqgy8vjvwbr0z8gacf0jc2apqk"; }; diff --git a/pkgs/by-name/ad/adguardian/package.nix b/pkgs/by-name/ad/adguardian/package.nix index 1e3331099c55..803b80a15027 100644 --- a/pkgs/by-name/ad/adguardian/package.nix +++ b/pkgs/by-name/ad/adguardian/package.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "Lissy93"; repo = "AdGuardian-Term"; - rev = version; + tag = version; hash = "sha256-WxrSmCwLnXXs5g/hN3xWE66P5n0RD/L9MJpf5N2iNtY="; }; diff --git a/pkgs/by-name/ad/adminneo/index.php b/pkgs/by-name/ad/adminneo/index.php deleted file mode 100644 index ea45735f92fc..000000000000 --- a/pkgs/by-name/ad/adminneo/index.php +++ /dev/null @@ -1,45 +0,0 @@ -) -> Result<()> { // a procfs in a chroot would. const MODPROBE_PATH: &str = "/proc/sys/kernel/modprobe"; - fs::write( - MODPROBE_PATH, - modprobe_binary.as_ref().as_os_str().as_encoded_bytes(), - ) - .with_context(|| { - format!( - "Failed to populate modprobe path with {}", - modprobe_binary.as_ref().display() + if Path::new(MODPROBE_PATH).exists() { + fs::write( + MODPROBE_PATH, + modprobe_binary.as_ref().as_os_str().as_encoded_bytes(), ) - })?; + .with_context(|| { + format!( + "Failed to populate modprobe path with {}", + modprobe_binary.as_ref().display() + ) + })?; + } else { + log::info!("{MODPROBE_PATH} doesn't exist. Not populating it..."); + } + Ok(()) } @@ -74,6 +79,8 @@ fn setup_firmware_search_path(firmware: impl AsRef) -> Result<()> { firmware.as_ref().display() ) })?; + } else { + log::info!("{FIRMWARE_SERCH_PATH} doesn't exist. Not populating it..."); } Ok(()) diff --git a/pkgs/by-name/op/open-vm-tools/package.nix b/pkgs/by-name/op/open-vm-tools/package.nix index 8cd5040ace23..cede42911834 100644 --- a/pkgs/by-name/op/open-vm-tools/package.nix +++ b/pkgs/by-name/op/open-vm-tools/package.nix @@ -53,13 +53,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "open-vm-tools"; - version = "13.0.0"; + version = "13.0.5"; src = fetchFromGitHub { owner = "vmware"; repo = "open-vm-tools"; tag = "stable-${finalAttrs.version}"; - hash = "sha256-1ZW1edwKW3okKNdWw6rBgfeOt9afESbhe1L1TNp0+Kc="; + hash = "sha256-N0z7OpJP8ubYOeb0KHEQkITlWkKP04rpm79VXRnCe0I="; }; sourceRoot = "${finalAttrs.src.name}/open-vm-tools"; diff --git a/pkgs/by-name/op/opengist/package.nix b/pkgs/by-name/op/opengist/package.nix index d1f4254b7d08..4e25e98dffdd 100644 --- a/pkgs/by-name/op/opengist/package.nix +++ b/pkgs/by-name/op/opengist/package.nix @@ -13,13 +13,13 @@ buildGoModule (finalAttrs: { pname = "opengist"; - version = "1.10.0"; + version = "1.11.1"; src = fetchFromGitHub { owner = "thomiceli"; repo = "opengist"; tag = "v${finalAttrs.version}"; - hash = "sha256-cSPKtcD1V+WTSCkgi8eKhGbtW+WdCoetbiSrNvEVRW4="; + hash = "sha256-TlUaen8uCj4Ba2gOWG32Gk4KIDvitXai5qv4PTeizYo="; }; frontend = buildNpmPackage { @@ -43,10 +43,10 @@ buildGoModule (finalAttrs: { cp -R public $out ''; - npmDepsHash = "sha256-Uh+oXd//G/lPAMXRxijjEOpQNmeXK/XCIU7DJN3ujaY="; + npmDepsHash = "sha256-zBao/EoAolkgMvqQPqN0P2VC4tT6gkQPqIk4HyfXC7o="; }; - vendorHash = "sha256-m2f9+PEMjVhlXs7b1neEWO0VY1fQSfe+T1aNEdtML28="; + vendorHash = "sha256-NGRJuNSypmIc8G0wMW7HT+LkP5i5n/p3QH8FyU9pF5w="; tags = [ "fs_embed" ]; diff --git a/pkgs/by-name/pa/parabolic/package.nix b/pkgs/by-name/pa/parabolic/package.nix index 12ae8ffefb93..e1d979b44321 100644 --- a/pkgs/by-name/pa/parabolic/package.nix +++ b/pkgs/by-name/pa/parabolic/package.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "parabolic"; - version = "2025.8.1"; + version = "2025.9.0"; src = fetchFromGitHub { owner = "NickvisionApps"; repo = "Parabolic"; tag = finalAttrs.version; - hash = "sha256-Xft9yqkJzWu4eGPDtRl4tV4594HjJp17Osnv0kG0IMk="; + hash = "sha256-19lsgoAKk9mjTrEcbQ8GjSzGEep0zUxW8unn7euNS6w="; }; # Patches desktop file/dbus service bypassing wrapped executable diff --git a/pkgs/by-name/po/pocket-casts/package.nix b/pkgs/by-name/po/pocket-casts/package.nix index 2cb63dabe04a..0d54ee676202 100644 --- a/pkgs/by-name/po/pocket-casts/package.nix +++ b/pkgs/by-name/po/pocket-casts/package.nix @@ -5,9 +5,11 @@ makeDesktopItem, copyDesktopItems, makeWrapper, - electron, + electron_36, }: - +let + electron = electron_36; +in buildNpmPackage rec { pname = "pocket-casts"; version = "0.10.4"; diff --git a/pkgs/by-name/po/portfolio/package.nix b/pkgs/by-name/po/portfolio/package.nix index 410fa276bb5d..ca2c05c9e186 100644 --- a/pkgs/by-name/po/portfolio/package.nix +++ b/pkgs/by-name/po/portfolio/package.nix @@ -34,11 +34,11 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "PortfolioPerformance"; - version = "0.80.0"; + version = "0.80.2"; src = fetchurl { url = "https://github.com/buchen/portfolio/releases/download/${finalAttrs.version}/PortfolioPerformance-${finalAttrs.version}-linux.gtk.x86_64.tar.gz"; - hash = "sha256-2Qpyc4SXjQQtvDxYxrZrFt91BptlzFNC7Psl9MxII6I="; + hash = "sha256-v6XtXClqihubYSr8trX4w9sNpRqaBsTFf0mI7a1m7Jc="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/pkgs/by-name/pr/prometheus-mysqld-exporter/package.nix similarity index 75% rename from pkgs/servers/monitoring/prometheus/mysqld-exporter.nix rename to pkgs/by-name/pr/prometheus-mysqld-exporter/package.nix index ff8e33b3ad41..9c89d8ac0842 100644 --- a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix +++ b/pkgs/by-name/pr/prometheus-mysqld-exporter/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "mysqld_exporter"; - version = "0.17.2"; + version = "0.18.0"; src = fetchFromGitHub { owner = "prometheus"; repo = "mysqld_exporter"; - rev = "v${version}"; - sha256 = "sha256-vkbjOWVV79fDBdCa6/ueY9QhPDkFCApR/EZn20SYHYU="; + tag = "v${version}"; + hash = "sha256-uHr9hVjnQx1DIr7ByaqgmR4YOvCYo49+b+Ikh+Vlh+o="; }; - vendorHash = "sha256-pdxIW800vnKK0l84bDVkl2JHBb0e9zkQnn3O8ls04R0="; + vendorHash = "sha256-fM3CqyOEKYJOFkEwBE7/yIQEKUUIbBIbmHQp12/psas="; ldflags = let @@ -37,6 +37,7 @@ buildGoModule rec { ]; meta = with lib; { + changelog = "https://github.com/prometheus/mysqld_exporter/blob/${src.tag}/CHANGELOG.md"; description = "Prometheus exporter for MySQL server metrics"; mainProgram = "mysqld_exporter"; homepage = "https://github.com/prometheus/mysqld_exporter"; diff --git a/pkgs/by-name/ra/radicle-node/package.nix b/pkgs/by-name/ra/radicle-node/package.nix index 83afa3b0755f..ee91336d5ada 100644 --- a/pkgs/by-name/ra/radicle-node/package.nix +++ b/pkgs/by-name/ra/radicle-node/package.nix @@ -21,13 +21,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "radicle-node"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromRadicle { seed = "seed.radicle.xyz"; repo = "z3gqcJUoA1n9HaHKufZs5FCSGazv5"; tag = "releases/${finalAttrs.version}"; - hash = "sha256-e5Zelu3g8m9u5NtyABkIV4wOed9cq58xSaxginoDb2Q="; + hash = "sha256-/dWeG2jKCnfg7fwPP+BbRmEvM7rCppGYh2aeftcg3SY="; leaveDotGit = true; postFetch = '' git -C $out rev-parse HEAD > $out/.git_head @@ -36,7 +36,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; }; - cargoHash = "sha256-64SDz0wHKcp/tPGDDOlCRFr3Z1q6cWOafhP0howSFhA="; + cargoHash = "sha256-4URBtN5lyzFPaLJUf/HPAL2ugRUa6sZhpDeiFR0W7cc="; env.RADICLE_VERSION = finalAttrs.version; diff --git a/pkgs/by-name/re/restic/package.nix b/pkgs/by-name/re/restic/package.nix index 47d67bfbd56c..a8fff4d80bde 100644 --- a/pkgs/by-name/re/restic/package.nix +++ b/pkgs/by-name/re/restic/package.nix @@ -4,8 +4,10 @@ buildGoModule, fetchFromGitHub, installShellFiles, - makeWrapper, + makeBinaryWrapper, + versionCheckHook, nixosTests, + openssh, rclone, python3, }: @@ -32,11 +34,15 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles - makeWrapper + makeBinaryWrapper ]; nativeCheckInputs = [ python3 ]; + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "version"; + passthru.tests = lib.optionalAttrs stdenv.hostPlatform.isLinux { restic = nixosTests.restic; }; @@ -46,7 +52,13 @@ buildGoModule rec { ''; postInstall = '' - wrapProgram $out/bin/restic --prefix PATH : '${rclone}/bin' + wrapProgram $out/bin/restic \ + --prefix PATH : "${ + lib.makeBinPath [ + openssh + rclone + ] + }" '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' $out/bin/restic generate \ @@ -58,13 +70,13 @@ buildGoModule rec { installManPage *.1 ''; - meta = with lib; { + meta = { homepage = "https://restic.net"; changelog = "https://github.com/restic/restic/blob/${src.rev}/CHANGELOG.md"; description = "Backup program that is fast, efficient and secure"; - platforms = platforms.linux ++ platforms.darwin; - license = licenses.bsd2; - maintainers = with maintainers; [ + platforms = with lib.platforms; linux ++ darwin; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ mbrgm dotlambda ryan4yin diff --git a/pkgs/by-name/ro/roon-server/package.nix b/pkgs/by-name/ro/roon-server/package.nix index c86f168f2e38..7622cb01527b 100644 --- a/pkgs/by-name/ro/roon-server/package.nix +++ b/pkgs/by-name/ro/roon-server/package.nix @@ -16,7 +16,7 @@ stdenv, }: let - version = "2.54.1554"; + version = "2.55.1559"; urlVersion = builtins.replaceStrings [ "." ] [ "0" ] version; in stdenv.mkDerivation { @@ -25,7 +25,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://download.roonlabs.com/updates/production/RoonServer_linuxx64_${urlVersion}.tar.bz2"; - hash = "sha256-tE+WhsXJn1fVkD8wCuu5ZVaBDwsm9hss2KA0nocME+E="; + hash = "sha256-eeQ6Gci63GRdN5HOtT5+RFgWcnpTeCG6hBk1bNKXYoE="; }; dontConfigure = true; diff --git a/pkgs/by-name/sa/sage/patches/sphinx-docbuild-subprocesses.patch b/pkgs/by-name/sa/sage/patches/sphinx-docbuild-subprocesses.patch index 77c49e2eb011..4010c6e6fcb7 100644 --- a/pkgs/by-name/sa/sage/patches/sphinx-docbuild-subprocesses.patch +++ b/pkgs/by-name/sa/sage/patches/sphinx-docbuild-subprocesses.patch @@ -1,40 +1,8 @@ diff --git a/src/sage_docbuild/builders.py b/src/sage_docbuild/builders.py -index ab39d93c280..e6501c083d5 100644 +index 91035a01f1c..24f3d0c7c12 100644 --- a/src/sage_docbuild/builders.py +++ b/src/sage_docbuild/builders.py -@@ -106,31 +106,6 @@ def builder_helper(type): - """ - Return a function which builds the documentation for - output type ``type``. -- -- TESTS: -- -- Check that :issue:`25161` has been resolved:: -- -- sage: from sage_docbuild.builders import DocBuilder -- sage: from sage_docbuild.__main__ import setup_parser -- sage: DocBuilder._options = setup_parser().parse_args([]) # builder_helper needs _options to be set -- -- sage: import sage_docbuild.sphinxbuild -- sage: def raiseBaseException(): -- ....: raise BaseException("abort pool operation") -- sage: original_runsphinx, sage_docbuild.sphinxbuild.runsphinx = sage_docbuild.sphinxbuild.runsphinx, raiseBaseException -- -- sage: from sage.misc.temporary_file import tmp_dir -- sage: os.environ['SAGE_DOC'] = tmp_dir() -- sage: sage.env.var('SAGE_DOC') # random -- sage: from sage_docbuild.builders import builder_helper, build_ref_doc -- sage: from sage_docbuild.builders import _build_many as build_many -- sage: helper = builder_helper("html") -- sage: try: # optional - sagemath_doc_html -- ....: build_many(build_ref_doc, [("docname", "en", "html", {})]) -- ....: except Exception as E: -- ....: "Non-exception during docbuild: abort pool operation" in str(E) -- True - """ - def f(self, *args, **kwds): - output_dir = self._output_dir(type) -@@ -157,10 +132,9 @@ def builder_helper(type): +@@ -130,10 +130,9 @@ def builder_helper(type): logger.debug(build_command) # Run Sphinx with Sage's special logger diff --git a/pkgs/by-name/sa/sage/sage-src.nix b/pkgs/by-name/sa/sage/sage-src.nix index ad3fb2438cd5..706e178e6300 100644 --- a/pkgs/by-name/sa/sage/sage-src.nix +++ b/pkgs/by-name/sa/sage/sage-src.nix @@ -2,7 +2,6 @@ stdenv, lib, fetchFromGitHub, - fetchpatch, fetchpatch2, fetchurl, }: @@ -13,14 +12,14 @@ # all get the same sources with the same patches applied. stdenv.mkDerivation rec { - version = "10.6"; + version = "10.7"; pname = "sage-src"; src = fetchFromGitHub { owner = "sagemath"; repo = "sage"; rev = version; - hash = "sha256-ZDYFq2lJXjnADFdX6y7sskaF0rkT5EIcdN8/bs00TlQ="; + hash = "sha256-nYlBmKQ9TD5EAVvNwo8YzqAd5IUCpTU3kBTqUH21IxQ="; }; # contains essential files (e.g., setup.cfg) generated by the bootstrap script. @@ -28,8 +27,8 @@ stdenv.mkDerivation rec { configure-src = fetchurl { # the hash below is the tagged commit's _parent_. it can also be found by looking for # the "configure" asset at https://github.com/sagemath/sage/releases/tag/${version} - url = "mirror://sageupstream/configure/configure-10741006a4794b7db82942db55b97033d5905431.tar.gz"; - hash = "sha256-7LqY+vwBlyukDfcRtuR99vpC3hcBo8WRUuJjiFFq9xk="; + url = "mirror://sageupstream/configure/configure-858268b40010e5ed6da13488ad0f52cda4d1f70e.tar.gz"; + hash = "sha256-TsVX+wUWr+keCXmGQp1OHGXgNc7luajyGxfTwduSEtc="; }; # Patches needed because of particularities of nix or the way this is packaged. @@ -60,6 +59,13 @@ stdenv.mkDerivation rec { # compile libs/gap/element.pyx with -O1 # a more conservative version of https://github.com/sagemath/sage/pull/37951 ./patches/gap-element-crash.patch + + # https://github.com/sagemath/sage/pull/40895, positively reviewed + (fetchpatch2 { + name = "doctest-absolute-path.patch"; + url = "https://github.com/sagemath/sage/commit/3de32dccd2e32e5452ca3adf5bd63cbacb64ba9d.patch?full_index=1"; + hash = "sha256-rp+9d8Y6kifWzufE07GWU68txPn//w7uMn4LcpITaBs="; + }) ]; # Patches needed because of package updates. We could just pin the versions of @@ -69,33 +75,6 @@ stdenv.mkDerivation rec { # should come from or be proposed to upstream. This list will probably never # be empty since dependencies update all the time. packageUpgradePatches = [ - # https://github.com/sagemath/sage/pull/39737, positively reviewed - (fetchpatch { - name = "sphinx-8.2-update.patch"; - url = "https://github.com/sagemath/sage/pull/39737/commits/4e485497fb5e20a056ffd2178360b88f482447d8.patch"; - hash = "sha256-oIcFeol0SW5dE/iE6mbYyas3kXIjOwsG1k+h99R94x8="; - }) - - # https://github.com/sagemath/sage/pull/40285, landed in 10.7.beta7 - (fetchpatch2 { - name = "scipy-1.16-update.patch"; - url = "https://github.com/sagemath/sage/commit/d0cbe9d353722580f98a327694f1a361c9b83ccd.patch?full_index=1"; - hash = "sha256-uV2nttxCKDsNqMf1O+lUmuoiDrx7/CfiS00JBb9kiM8="; - }) - - # https://github.com/sagemath/sage/pull/40156, landed in 10.7.beta5 - (fetchpatch2 { - name = "cython-3.1-update.patch"; - url = "https://github.com/sagemath/sage/commit/5ea8db28977ec113aec3c4c4b208d1783e3937a7.patch?full_index=1"; - hash = "sha256-5DPPxMuidPpVHrjK8j0UVZzuwiVy9vQzFd6hBYwNAok="; - }) - - # https://github.com/sagemath/sage/pull/40175, landed in 10.7.beta8 - (fetchpatch2 { - name = "rpy2-3.6-update.patch"; - url = "https://github.com/sagemath/sage/commit/db2d8db99d9a7dfa1972d534ecd89e3d2ba5c55b.patch?full_index=1"; - hash = "sha256-6Bk0uGlKFsiDsgv+ljMC1YnmAT+g+he6aFNkpvw2on0="; - }) ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; diff --git a/pkgs/by-name/sa/sage/sagedoc.nix b/pkgs/by-name/sa/sage/sagedoc.nix index 7db4d6b4e07e..83fa1807b95e 100644 --- a/pkgs/by-name/sa/sage/sagedoc.nix +++ b/pkgs/by-name/sa/sage/sagedoc.nix @@ -20,8 +20,9 @@ stdenv.mkDerivation rec { chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE" ''; - buildPhase = '' - export SAGE_NUM_THREADS="$NIX_BUILD_CORES" + preBuild = '' + export SAGE_ROOT="${sage-with-env.env.lib.src}" + export PATH="${sage-with-env}/bin:$PATH" export HOME="$TMPDIR/sage_home" mkdir -p "$HOME" @@ -31,12 +32,14 @@ stdenv.mkDerivation rec { # jupyter-sphinx calls the sagemath jupyter kernel during docbuild export JUPYTER_PATH=${jupyter-kernel-specs} - ${sage-with-env}/bin/sage --docbuild \ - --mathjax \ - --no-pdf-links \ - all html + # the Makefile tries to guess SAGE_DOC, but in a buggy way (changed in 10.8) + export SAGE_DOC="$SAGE_DOC_OVERRIDE" + + cd docsrc ''; + enableParallelBuilding = true; + installPhase = '' cd "$SAGE_DOC_OVERRIDE" diff --git a/pkgs/by-name/sc/scopehal-apps/package.nix b/pkgs/by-name/sc/scopehal-apps/package.nix index 6f1b7c147bcd..4ddd8ddc9fe6 100644 --- a/pkgs/by-name/sc/scopehal-apps/package.nix +++ b/pkgs/by-name/sc/scopehal-apps/package.nix @@ -13,7 +13,9 @@ libsigcxx, glew, zstd, - wrapGAppsHook4, + wrapGAppsHook3, + makeBinaryWrapper, + writeDarwinBundle, shaderc, vulkan-headers, vulkan-loader, @@ -23,17 +25,22 @@ ffts, moltenvk, llvmPackages, + hidapi, }: -stdenv.mkDerivation { +let pname = "scopehal-apps"; - version = "0-unstable-2024-09-16"; + version = "0.1"; +in +stdenv.mkDerivation { + pname = "${pname}"; + version = "${version}"; src = fetchFromGitHub { owner = "ngscopeclient"; - repo = "scopehal-apps"; - rev = "d2a1a2f17e9398a3f60c99483dd2f6dbc2e62efc"; - hash = "sha256-FQoaTuL6mEqnH8oNXwHpDcOEAPGExqj6lhrUhZ9VAQ4="; + repo = "${pname}"; + tag = "v${version}"; + hash = "sha256-AfO6JaWA9ECMI6FkMg/LaAG4QMeZmG9VxHiw0dSJYNM="; fetchSubmodules = true; }; @@ -46,7 +53,11 @@ stdenv.mkDerivation { spirv-tools ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - wrapGAppsHook4 + wrapGAppsHook3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + makeBinaryWrapper + writeDarwinBundle ]; buildInputs = [ @@ -61,6 +72,7 @@ stdenv.mkDerivation { vulkan-tools yaml-cpp zstd + hidapi ] ++ lib.optionals stdenv.hostPlatform.isLinux [ ffts @@ -72,15 +84,30 @@ stdenv.mkDerivation { moltenvk ]; - # Targets InitializeSearchPaths - postPatch = '' - substituteInPlace lib/scopehal/scopehal.cpp \ - --replace-fail '"/share/' '"/../share/' + cmakeFlags = [ + "-DNGSCOPECLIENT_VERSION=${version}" + ]; + + patches = [ + ./remove-git-derived-version.patch + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ./remove-brew-molten-vk-lookup.patch + ]; + + postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' + mv -v $out/bin/ngscopeclient $out/bin/.ngscopeclient-unwrapped + makeWrapper $out/bin/.ngscopeclient-unwrapped $out/bin/ngscopeclient \ + --prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath ([ vulkan-loader ])}" ''; - cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_INSTALL_RPATH=${lib.strings.makeLibraryPath [ vulkan-loader ]}" - ]; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications/ngscopeclient.app/Contents/{MacOS,Resources} + + install -m644 {../src/ngscopeclient/icons/macos,$out/Applications/ngscopeclient.app/Contents/Resources}/ngscopeclient.icns + + write-darwin-bundle $out ngscopeclient ngscopeclient ngscopeclient + ''; meta = { description = "Advanced test & measurement remote control and analysis suite"; diff --git a/pkgs/by-name/sc/scopehal-apps/remove-brew-molten-vk-lookup.patch b/pkgs/by-name/sc/scopehal-apps/remove-brew-molten-vk-lookup.patch new file mode 100644 index 000000000000..015ebe8ed294 --- /dev/null +++ b/pkgs/by-name/sc/scopehal-apps/remove-brew-molten-vk-lookup.patch @@ -0,0 +1,36 @@ +diff --git a/src/ngscopeclient/CMakeLists.txt b/src/ngscopeclient/CMakeLists.txt +index fb6d19fa..25611981 100644 +--- a/src/ngscopeclient/CMakeLists.txt ++++ b/src/ngscopeclient/CMakeLists.txt +@@ -249,31 +249,6 @@ if(LINUX) + DESTINATION share/mime/packages) + endif() + +-if(APPLE) +- set(APPS "\${CMAKE_INSTALL_PREFIX}/bin/ngscopeclient") +- set(DIRS "\${CMAKE_INSTALL_PREFIX}/lib") +- set(FRAMEWORKS "\${CMAKE_INSTALL_PREFIX}/Frameworks") +- execute_process( +- COMMAND brew --prefix molten-vk +- RESULT_VARIABLE MOLTEN_VK_RESULT +- OUTPUT_VARIABLE MOLTEN_VK_OUTPUT +- ERROR_QUIET +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ) +- if(NOT MOLTEN_VK_RESULT EQUAL 0) +- message(FATAL_ERROR "failed to find Homebrew prefix for molten-vk") +- endif() +- # https://vulkan.lunarg.com/doc/view/1.3.275.0/mac/getting_started.html#application-bundle-structure-on-macos +- install(FILES "${CMAKE_SOURCE_DIR}/src/ngscopeclient/macos/MoltenVK_icd.json" +- DESTINATION bin/vulkan/icd.d/) +- install(FILES "${MOLTEN_VK_OUTPUT}/lib/libMoltenVK.dylib" DESTINATION lib) +- install(CODE " +- include(BundleUtilities) +- fixup_bundle(\"${APPS}\" \"lib/libMoltenVK.dylib\" \"${DIRS}\") +- include(\"${CMAKE_SOURCE_DIR}/src/ngscopeclient/macos/signing.cmake\") +- ") +-endif() +- + # ngscopeclient Windows portable zip/MSI installer build + if(WIXPATH AND WIN32) + # Run the command to get /mingw64/bin full path using where gcc diff --git a/pkgs/by-name/sc/scopehal-apps/remove-git-derived-version.patch b/pkgs/by-name/sc/scopehal-apps/remove-git-derived-version.patch new file mode 100644 index 000000000000..9facccfe0be9 --- /dev/null +++ b/pkgs/by-name/sc/scopehal-apps/remove-git-derived-version.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d362165d..7e3dfd09 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,45 +23,6 @@ if(DEFINED ENV{VULKAN_SDK}) + endif() + endif() + +-# Git is used for git-describe based version generation if we have it +-find_package(Git) +- +-#Set up versioning (with a dummy string for now if Git isn't present) +-if(Git_FOUND) +- execute_process( +- COMMAND ${GIT_EXECUTABLE} describe --always --tags +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +- OUTPUT_VARIABLE NGSCOPECLIENT_VERSION +- OUTPUT_STRIP_TRAILING_WHITESPACE) +- message("Git reports scopehal-apps version ${NGSCOPECLIENT_VERSION}") +- +- +- execute_process( +- COMMAND ${GIT_EXECUTABLE} describe --always --tags --long +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +- OUTPUT_VARIABLE NGSCOPECLIENT_VERSION_LONG +- OUTPUT_STRIP_TRAILING_WHITESPACE) +- +- # TODO: if/when we have a point release, make MSI version 10x+9 +- # ex: 0.1.2-rc2 is 0.1.22 +- # ex: 0.1.2 is 0.1.29 +- +- # Ugly string parsing to make windows build happy +- # First path: release candidate tags +- if(NGSCOPECLIENT_VERSION_LONG MATCHES "v([0-9]*).([0-9]*)-rc([0-9])-([0-9]*)") +- set(MSI_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}.${CMAKE_MATCH_4}") +- +- # Release tags +- elseif(NGSCOPECLIENT_VERSION_LONG MATCHES "v([0-9]*).([0-9]*)-([0-9]*)") +- set(MSI_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.9.${CMAKE_MATCH_3}") +- endif() +- +-else() +- set(NGSCOPECLIENT_VERSION "unknown") +- set(MSI_VERSION "0.1") +- message("Git not detected, scopehal-apps version unknown") +-endif() +- + set(PROJECT_VERSION "${NGSCOPECLIENT_VERSION}") + + include(CTest) diff --git a/pkgs/by-name/se/seaweedfs/package.nix b/pkgs/by-name/se/seaweedfs/package.nix index 1e3ced96b2a8..657e512b5a20 100644 --- a/pkgs/by-name/se/seaweedfs/package.nix +++ b/pkgs/by-name/se/seaweedfs/package.nix @@ -1,23 +1,28 @@ { lib, - fetchFromGitHub, + stdenv, buildGoModule, + fetchFromGitHub, + libredirect, + iana-etc, testers, seaweedfs, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "seaweedfs"; - version = "3.94"; + version = "3.97"; src = fetchFromGitHub { owner = "seaweedfs"; repo = "seaweedfs"; - rev = version; - hash = "sha256-d8N9py3khwjg/tRyKUfImLy1CwtjoDvWzQB6F+tM5kQ="; + tag = finalAttrs.version; + hash = "sha256-h8pyjC/hbKfvt4hEKuq0v5osLMWNU+6mYqFGqsZFqXs="; }; - vendorHash = "sha256-WURNRNjUylLsf3+AMfb48VHbqfiPIT0lPmLfNjWphSU="; + vendorHash = "sha256-KRO0aDGOVx1neXcGsYYqcpD0tAqtR3GSBDhFz5TbQBs="; + + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libredirect.hook ]; subPackages = [ "weed" ]; @@ -42,25 +47,31 @@ buildGoModule rec { preCheck = '' # Test all targets. unset subPackages - - # Remove unmaintained tests ahd those that require additional services. - rm -rf unmaintained test/s3 + # Remove unmaintained tests and those that require additional services. + rm -rf unmaintained test/s3 test/fuse_integration + # TestECEncodingVolumeLocationTimingBug, TestECEncodingMasterTimingRaceCondition: weed binary not found + export PATH=$PATH:$NIX_BUILD_TOP/go/bin + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/services=${iana-etc}/etc/services ''; + __darwinAllowLocalNetworking = true; + passthru.tests.version = testers.testVersion { package = seaweedfs; command = "weed version"; }; - meta = with lib; { + meta = { description = "Simple and highly scalable distributed file system"; homepage = "https://github.com/chrislusf/seaweedfs"; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ azahi cmacrae wozeparrot ]; mainProgram = "weed"; - license = licenses.asl20; + license = lib.licenses.asl20; }; -} +}) diff --git a/pkgs/by-name/sh/sharkey/package.nix b/pkgs/by-name/sh/sharkey/package.nix index f2aed7b9541d..fad377864486 100644 --- a/pkgs/by-name/sh/sharkey/package.nix +++ b/pkgs/by-name/sh/sharkey/package.nix @@ -165,7 +165,6 @@ stdenv.mkDerivation (finalAttrs: { platforms = with lib.platforms; linux ++ darwin; mainProgram = "sharkey"; maintainers = with lib.maintainers; [ - srxl tmarkus ]; }; diff --git a/pkgs/by-name/so/solanum/package.nix b/pkgs/by-name/so/solanum/package.nix index f171d45dc089..fb624bffbd3e 100644 --- a/pkgs/by-name/so/solanum/package.nix +++ b/pkgs/by-name/so/solanum/package.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation { pname = "solanum"; - version = "0-unstable-2025-09-11"; + version = "0-unstable-2025-09-20"; src = fetchFromGitHub { owner = "solanum-ircd"; repo = "solanum"; - rev = "994e753fed3916b159b4bc4945b7de700643b0ad"; - hash = "sha256-hJOM7ZiJDAgkQ2/tqeHF6Qiw7M+cuBgUAIMiuwX7DYk="; + rev = "380dca67c2f270f1b60634b6ed9a90c80884684d"; + hash = "sha256-R+TXRFzTVWxWVRSmPgmFjYplEonDKszsBckPWUS+gOU="; }; patches = [ diff --git a/pkgs/by-name/st/stats/package.nix b/pkgs/by-name/st/stats/package.nix index 75657e93be4e..3d5f7e311e18 100644 --- a/pkgs/by-name/st/stats/package.nix +++ b/pkgs/by-name/st/stats/package.nix @@ -8,11 +8,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "stats"; - version = "2.11.51"; + version = "2.11.54"; src = fetchurl { url = "https://github.com/exelban/stats/releases/download/v${finalAttrs.version}/Stats.dmg"; - hash = "sha256-oFRS60LPIscqBPMUfK1WvWi7eDv3VpAUaaAKyrpzN2s="; + hash = "sha256-Oo/4/xXwweFh01e19NN5HgfUBHkr/AxyoxMyfN6D93g="; }; sourceRoot = "."; @@ -37,6 +37,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ FlameFlag emilytrau + iedame ]; platforms = lib.platforms.darwin; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/build.rs b/pkgs/by-name/sw/switch-to-configuration-ng/src/build.rs index bc07ec47a661..41fed3086e69 100644 --- a/pkgs/by-name/sw/switch-to-configuration-ng/src/build.rs +++ b/pkgs/by-name/sw/switch-to-configuration-ng/src/build.rs @@ -18,10 +18,6 @@ fn main() { let out_path = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap()); - let fdo_dbus_code = code_for_dbus_xml("org.freedesktop.DBus.xml"); - let mut file = std::fs::File::create(out_path.join("fdo_dbus.rs")).unwrap(); - file.write_all(fdo_dbus_code.as_bytes()).unwrap(); - let systemd_manager_code = code_for_dbus_xml(systemd_dbus_interface_dir.join("org.freedesktop.systemd1.Manager.xml")); let mut file = std::fs::File::create(out_path.join("systemd_manager.rs")).unwrap(); diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/org.freedesktop.DBus.xml b/pkgs/by-name/sw/switch-to-configuration-ng/src/org.freedesktop.DBus.xml deleted file mode 100644 index 6ab33de9dc40..000000000000 --- a/pkgs/by-name/sw/switch-to-configuration-ng/src/org.freedesktop.DBus.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/src/main.rs b/pkgs/by-name/sw/switch-to-configuration-ng/src/src/main.rs index 4e84e8d1ae09..705b9284f6a1 100644 --- a/pkgs/by-name/sw/switch-to-configuration-ng/src/src/main.rs +++ b/pkgs/by-name/sw/switch-to-configuration-ng/src/src/main.rs @@ -17,8 +17,6 @@ use std::{ use anyhow::{anyhow, bail, Context, Result}; use dbus::{ blocking::{stdintf::org_freedesktop_dbus::Properties, LocalConnection, Proxy}, - channel::Sender, - strings::{BusName, Interface, Member}, Message, }; use glob::glob; @@ -34,15 +32,6 @@ use nix::{ use regex::Regex; use syslog::Facility; -mod fdo_dbus { - #![allow(non_upper_case_globals)] - #![allow(non_camel_case_types)] - #![allow(non_snake_case)] - #![allow(unused)] - #![allow(clippy::all)] - include!(concat!(env!("OUT_DIR"), "/fdo_dbus.rs")); -} - mod systemd_manager { #![allow(non_upper_case_globals)] #![allow(non_camel_case_types)] @@ -61,9 +50,7 @@ mod logind_manager { include!(concat!(env!("OUT_DIR"), "/logind_manager.rs")); } -use crate::{ - fdo_dbus::OrgFreedesktopDBusNameOwnerChanged, systemd_manager::OrgFreedesktopSystemd1Manager, -}; +use crate::systemd_manager::OrgFreedesktopSystemd1Manager; use crate::{ logind_manager::OrgFreedesktopLogin1Manager, systemd_manager::{ @@ -907,14 +894,6 @@ impl std::fmt::Display for Job { } } -fn fdo_dbus_proxy(conn: &LocalConnection) -> Proxy<'_, &LocalConnection> { - conn.with_proxy( - "org.freedesktop.DBus", - "/org/freedesktop/DBus", - Duration::from_millis(500), - ) -} - fn systemd1_proxy(conn: &LocalConnection) -> Proxy<'_, &LocalConnection> { conn.with_proxy( "org.freedesktop.systemd1", @@ -951,54 +930,6 @@ fn remove_file_if_exists(p: impl AsRef) -> std::io::Result<()> { } } -fn reexecute_systemd_manager( - dbus_conn: &LocalConnection, - fdo_dbus: &Proxy<'_, &LocalConnection>, -) -> anyhow::Result<()> { - let reexecute_done = Rc::new(RefCell::new(false)); - let _reexecute_done = reexecute_done.clone(); - let owner_changed_token = fdo_dbus - .match_signal( - move |signal: OrgFreedesktopDBusNameOwnerChanged, _: &LocalConnection, _: &Message| { - if signal.name.as_str() == "org.freedesktop.systemd1" { - *_reexecute_done.borrow_mut() = true; - } - - true - }, - ) - .context("Failed to add signal match for DBus name owner changes")?; - - let bus_name = BusName::from("org.freedesktop.systemd1"); - let object_path = dbus::Path::from("/org/freedesktop/systemd1"); - let interface = Interface::new("org.freedesktop.systemd1.Manager") - .expect("the org.freedesktop.systemd1.Manager interface name should be valid"); - let method_name = Member::new("Reexecute").expect("the Reexecute method name should be valid"); - - // Systemd does not reply to the Reexecute method. - let _serial = dbus_conn - .send(Message::method_call( - &bus_name, - &object_path, - &interface, - &method_name, - )) - .map_err(|_err| anyhow!("Failed to send org.freedesktop.systemd1.Manager.Reexecute"))?; - - log::debug!("waiting for systemd to finish reexecuting"); - while !*reexecute_done.borrow() { - _ = dbus_conn - .process(Duration::from_secs(500)) - .context("Failed to process dbus messages")?; - } - - dbus_conn - .remove_match(owner_changed_token) - .context("Failed to remove jobs token")?; - - Ok(()) -} - /// Performs switch-to-configuration functionality for a single non-root user fn do_user_switch(parent_exe: String) -> anyhow::Result<()> { if Path::new(&parent_exe) @@ -1014,11 +945,8 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> { } let dbus_conn = LocalConnection::new_session().context("Failed to open dbus connection")?; - let fdo_dbus = fdo_dbus_proxy(&dbus_conn); let systemd = systemd1_proxy(&dbus_conn); - reexecute_systemd_manager(&dbus_conn, &fdo_dbus)?; - let nixos_activation_done = Rc::new(RefCell::new(false)); let _nixos_activation_done = nixos_activation_done.clone(); let jobs_token = systemd @@ -1035,6 +963,10 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> { ) .context("Failed to add signal match for systemd removed jobs")?; + // The systemd user session seems to not send a Reloaded signal, so we don't have anything to + // wait on here. + _ = systemd.reexecute(); + systemd .restart_unit("nixos-activation.service", "replace") .context("Failed to restart nixos-activation.service")?; @@ -1207,7 +1139,6 @@ won't take effect until you reboot the system. let mut units_to_reload = map_from_list_file(RELOAD_LIST_FILE); let dbus_conn = LocalConnection::new_system().context("Failed to open dbus connection")?; - let fdo_dbus = fdo_dbus_proxy(&dbus_conn); let systemd = systemd1_proxy(&dbus_conn); let logind = login1_proxy(&dbus_conn); @@ -1733,7 +1664,7 @@ won't take effect until you reboot the system. // just in case the new one has trouble communicating with the running pid 1. if restart_systemd { eprintln!("restarting systemd..."); - reexecute_systemd_manager(&dbus_conn, &fdo_dbus)?; + _ = systemd.reexecute(); // we don't get a dbus reply here log::debug!("waiting for systemd restart to finish"); while !*systemd_reload_status.borrow() { diff --git a/pkgs/by-name/te/tektoncd-cli-pac/package.nix b/pkgs/by-name/te/tektoncd-cli-pac/package.nix index d205e517dcc8..718643366ae2 100644 --- a/pkgs/by-name/te/tektoncd-cli-pac/package.nix +++ b/pkgs/by-name/te/tektoncd-cli-pac/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "tektoncd-cli-pac"; - version = "0.37.0"; + version = "0.38.0"; src = fetchFromGitHub { owner = "openshift-pipelines"; repo = "pipelines-as-code"; tag = "v${finalAttrs.version}"; - hash = "sha256-ti8IDslgSPTITrzjVRio1zsV92u505ySr16GfRKxtp8="; + hash = "sha256-ti2IVI6ECXOhSxeeW7ufD1XjsOtr1R2J5Beq/ADRHaA="; }; vendorHash = null; diff --git a/pkgs/by-name/te/terragrunt/package.nix b/pkgs/by-name/te/terragrunt/package.nix index e06d140d7c0c..956cfb531afd 100644 --- a/pkgs/by-name/te/terragrunt/package.nix +++ b/pkgs/by-name/te/terragrunt/package.nix @@ -7,13 +7,13 @@ }: buildGo125Module (finalAttrs: { pname = "terragrunt"; - version = "0.86.3"; + version = "0.88.1"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = "terragrunt"; tag = "v${finalAttrs.version}"; - hash = "sha256-sa0Jp9Lb6ECboYDySJcFx6eQDtpChnrIxcCo0UYdhuY="; + hash = "sha256-+AGxB13XgyClWu8xsVTCnRknPleiijoRRRdgedL88IQ="; }; nativeBuildInputs = [ @@ -25,7 +25,7 @@ buildGo125Module (finalAttrs: { make generate-mocks ''; - vendorHash = "sha256-X6lF18eIn5PtBH48rgxuSJfj5QiML1Bi1330PUDEsOs="; + vendorHash = "sha256-+4mDmC1B4YmExOJqS/vlTxBiI5/rKcn3Vyw53BfvAxA="; doCheck = false; diff --git a/pkgs/by-name/tr/trelby/package.nix b/pkgs/by-name/tr/trelby/package.nix index 597f40fb7899..bce17334a878 100644 --- a/pkgs/by-name/tr/trelby/package.nix +++ b/pkgs/by-name/tr/trelby/package.nix @@ -51,7 +51,7 @@ python3Packages.buildPythonApplication rec { meta = { description = "Free, multiplatform, feature-rich screenwriting program"; - homepage = "www.trelby.org"; + homepage = "https://www.trelby.org"; downloadPage = "https://github.com/trelby/trelby"; mainProgram = "trelby"; license = lib.licenses.gpl2Only; diff --git a/pkgs/by-name/tu/tuist/package.nix b/pkgs/by-name/tu/tuist/package.nix index 44a9edf5f70c..7b7cb6d22bb1 100644 --- a/pkgs/by-name/tu/tuist/package.nix +++ b/pkgs/by-name/tu/tuist/package.nix @@ -8,11 +8,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "tuist"; - version = "4.53.4"; + version = "4.79.7"; src = fetchurl { url = "https://github.com/tuist/tuist/releases/download/${finalAttrs.version}/tuist.zip"; - hash = "sha256-4YQY94/uWh/H4cCzhdQ3KxIh19D8mmUCCDKMF8ZwA4E="; + hash = "sha256-afZToryR7SXLlS/MKFuQFoBv2JQAaF4bHvEk5tO6xiw="; }; dontUnpack = true; @@ -35,14 +35,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; - passthru = { - updateScript = nix-update-script { }; - }; + passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=^([0-9.]+)$" ]; }; meta = { description = "Command line tool that helps you generate, maintain and interact with Xcode projects"; homepage = "https://tuist.dev"; - changelog = "https://github.com/tuist/tuist/blob/${finalAttrs.version}/CHANGELOG.md"; + changelog = "https://github.com/tuist/tuist/blob/${finalAttrs.version}/cli/CHANGELOG.md"; license = lib.licenses.mit; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; maintainers = [ lib.maintainers.DimitarNestorov ]; diff --git a/pkgs/by-name/un/unison-ucm/package.nix b/pkgs/by-name/un/unison-ucm/package.nix index d7c653248e85..4d97de94dacb 100644 --- a/pkgs/by-name/un/unison-ucm/package.nix +++ b/pkgs/by-name/un/unison-ucm/package.nix @@ -14,25 +14,25 @@ stdenv.mkDerivation (finalAttrs: { pname = "unison-code-manager"; - version = "0.5.48"; + version = "0.5.49"; src = { aarch64-darwin = fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-arm64.tar.gz"; - hash = "sha256-HtgVPgxwOYvsv6Z+qG0GMnRyqzm/AlLDdIrypjzCBHo="; + hash = "sha256-ydrSqSaHJcL5DX2voAcUfHn3Y0QRo8CyvYHNZrTMmhI="; }; x86_64-darwin = fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-x64.tar.gz"; - hash = "sha256-xtn8ozF2UdoSSYYCoYPh4AgbrYm+3vtmIRSXD8OWams="; + hash = "sha256-qd+cDB9FnfOija0xeF0GMBIZu2JAjlax/nPtfORzhlM="; }; aarch64-linux = fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-arm64.tar.gz"; - hash = "sha256-xiEEkzdCS/HSEPLzuuDLh4iITsF2fuR51ACYQoQnzKQ="; + hash = "sha256-5QPG6JkciD3iI7WVPB6p3NEO/ZNEBgpRe30XT1op4K8="; }; x86_64-linux = fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-x64.tar.gz"; - hash = "sha256-CMiheW4z27awGIpAk/DQN+JAAU7ZvIyFAEAI+ZaQhpY="; + hash = "sha256-LiW1Ugaaz1LzVDmfpSkiwtRYMhuv7XeNGEnFc9HndWg="; }; } .${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); diff --git a/pkgs/by-name/va/vagrant/package.nix b/pkgs/by-name/va/vagrant/package.nix index 6c3c4344ebce..b7c3fb89c1ef 100644 --- a/pkgs/by-name/va/vagrant/package.nix +++ b/pkgs/by-name/va/vagrant/package.nix @@ -21,7 +21,7 @@ let owner = "hashicorp"; repo = "vagrant"; rev = "v${version}"; - hash = "sha256-xlL0YLY5yG9Q2L93Ag1pO/F8LOp+JdcgrvWyw+bZP/I="; + hash = "sha256-8csEIkXI5LPf5aZUuKYKALgwtG/skXFvMBimbCerEPY="; }; ruby = ruby_3_4; @@ -32,6 +32,7 @@ let inherit version; inherit ruby; + gemdir = src; gemfile = writeText "Gemfile" ""; lockfile = writeText "Gemfile.lock" ""; gemset = lib.recursiveUpdate (import ./gemset.nix) ( diff --git a/pkgs/by-name/vi/virtnbdbackup/package.nix b/pkgs/by-name/vi/virtnbdbackup/package.nix index 74f277e6a71d..5e502efc2162 100644 --- a/pkgs/by-name/vi/virtnbdbackup/package.nix +++ b/pkgs/by-name/vi/virtnbdbackup/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication rec { pname = "virtnbdbackup"; - version = "2.35"; + version = "2.37"; pyproject = true; src = fetchFromGitHub { owner = "abbbi"; repo = "virtnbdbackup"; tag = "v${version}"; - hash = "sha256-wWRtOXCagpxcpwbTXhqVVRxbOSdELv2ZgnidSXdt7Ao="; + hash = "sha256-G3nDaAIWxSA6EsqiVpdouBRWprSbogcMTTroquK8Big="; }; build-system = with python3Packages; [ diff --git a/pkgs/by-name/we/wechat/package.nix b/pkgs/by-name/we/wechat/package.nix index 1849187a4b0c..945a202f9c78 100644 --- a/pkgs/by-name/we/wechat/package.nix +++ b/pkgs/by-name/we/wechat/package.nix @@ -45,17 +45,17 @@ let aarch64-darwin = any-darwin; x86_64-darwin = any-darwin; aarch64-linux = { - version = "4.0.1.11"; + version = "4.1.0.10"; src = fetchurl { - url = "https://web.archive.org/web/20250512112413if_/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_arm64.AppImage"; - hash = "sha256-Rg+FWNgOPC02ILUskQqQmlz1qNb9AMdvLcRWv7NQhGk="; + url = "https://web.archive.org/web/20250930121708/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_arm64.AppImage"; + hash = "sha256-qkNLA8nILsIi2ciIzr9pb3PejhbEvZ5fe4GlmjyjrEI="; }; }; x86_64-linux = { - version = "4.0.1.11"; + version = "4.1.0.10"; src = fetchurl { - url = "https://web.archive.org/web/20250512110825if_/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.AppImage"; - hash = "sha256-gBWcNQ1o1AZfNsmu1Vi1Kilqv3YbR+wqOod4XYAeVKo="; + url = "https://web.archive.org/web/20250930121506/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.AppImage"; + hash = "sha256-d/zdb69gmIcgAFCbWLKGfmD8ZFfuDlYdOy7vUJ7SiXc="; }; }; }; diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix index 6757fbcfd17c..adac56501409 100644 --- a/pkgs/development/compilers/emscripten/default.nix +++ b/pkgs/development/compilers/emscripten/default.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, python3, nodejs, closurecompiler, @@ -51,10 +50,14 @@ stdenv.mkDerivation rec { rev = version; }; - nativeBuildInputs = [ makeWrapper ]; + strictDeps = true; + + nativeBuildInputs = [ + makeWrapper + python3 + ]; buildInputs = [ nodejs - python3 ]; patches = [ diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix index a633d1f4d47d..98da0be6322e 100644 --- a/pkgs/development/compilers/gcc/common/configure-flags.nix +++ b/pkgs/development/compilers/gcc/common/configure-flags.nix @@ -259,7 +259,7 @@ let ++ lib.optional ( lib.systems.equals targetPlatform hostPlatform && targetPlatform.isx86_32 ) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" - ++ lib.optional targetPlatform.isNetBSD "--disable-libssp" # Provided by libc. + ++ lib.optional (targetPlatform.isNetBSD || targetPlatform.isCygwin) "--disable-libssp" # Provided by libc. ++ lib.optionals hostPlatform.isSunOS [ "--enable-long-long" "--enable-libssp" diff --git a/pkgs/development/compilers/gcc/common/extra-target-flags.nix b/pkgs/development/compilers/gcc/common/extra-target-flags.nix index da2ab3029561..437a015dbf7b 100644 --- a/pkgs/development/compilers/gcc/common/extra-target-flags.nix +++ b/pkgs/development/compilers/gcc/common/extra-target-flags.nix @@ -27,7 +27,9 @@ in ] ); in - mkFlags libcCross ++ lib.optionals (!withoutTargetLibc) (mkFlags (threadsCross.package or null)); + mkFlags libcCross + ++ lib.optionals (!withoutTargetLibc) (mkFlags (threadsCross.package or null)) + ++ mkFlags (libcCross.w32api or null); EXTRA_LDFLAGS_FOR_TARGET = let @@ -50,5 +52,7 @@ in ) ); in - mkFlags libcCross ++ lib.optionals (!withoutTargetLibc) (mkFlags (threadsCross.package or null)); + mkFlags libcCross + ++ lib.optionals (!withoutTargetLibc) (mkFlags (threadsCross.package or null)) + ++ mkFlags (libcCross.w32api or null); } diff --git a/pkgs/development/compilers/gcc/common/libgcc.nix b/pkgs/development/compilers/gcc/common/libgcc.nix index e0437bc6e6e0..ead87e5e6630 100644 --- a/pkgs/development/compilers/gcc/common/libgcc.nix +++ b/pkgs/development/compilers/gcc/common/libgcc.nix @@ -53,7 +53,10 @@ lib.pipe drv useLibgccFromTargetLibc = libcCross != null && libcCross ? passthru.libgcc; enableLibGccOutput = - (!stdenv.targetPlatform.isWindows || (lib.systems.equals stdenv.targetPlatform stdenv.hostPlatform)) + ( + !(stdenv.targetPlatform.isWindows || stdenv.targetPlatform.isCygwin) + || (lib.systems.equals stdenv.targetPlatform stdenv.hostPlatform) + ) && !langJit && !stdenv.hostPlatform.isDarwin && enableShared diff --git a/pkgs/development/compilers/gcc/patches/default.nix b/pkgs/development/compilers/gcc/patches/default.nix index 1b52cd4903da..2c0fa1b40852 100644 --- a/pkgs/development/compilers/gcc/patches/default.nix +++ b/pkgs/development/compilers/gcc/patches/default.nix @@ -223,3 +223,17 @@ in } .${majorVersion} or [ ] ) + +++ optional targetPlatform.isCygwin (fetchpatch { + name = "libstdc-fix-compilation-in-freestanding-win32.patch"; + url = "https://inbox.sourceware.org/gcc-patches/20250922182808.2599390-2-corngood@gmail.com/raw"; + hash = "sha256-+EYW9lG8CviVX7RyNHp+iX+8BRHUjt5b07k940khbbY="; +}) + +++ optionals targetPlatform.isCygwin [ + (fetchpatch { + name = "cygwin-fix-compilation-with-inhibit_libc.patch"; + url = "https://inbox.sourceware.org/gcc-patches/20250926170154.2222977-1-corngood@gmail.com/raw"; + hash = "sha256-mgzMRvgPdhj+Q2VRsFhpE2WQzg0CvWsc5/FRAsSU1Es="; + }) +] diff --git a/pkgs/development/compilers/llvm/common/libunwind/default.nix b/pkgs/development/compilers/llvm/common/libunwind/default.nix index cc73f02be4e6..f0e39e7ed391 100644 --- a/pkgs/development/compilers/llvm/common/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/common/libunwind/default.nix @@ -12,7 +12,7 @@ python3, libcxx, enableShared ? !stdenv.hostPlatform.isStatic, - doFakeLibgcc ? stdenv.hostPlatform.useLLVM, + doFakeLibgcc ? stdenv.hostPlatform.useLLVM && !stdenv.hostPlatform.isStatic, devExtraCmakeFlags ? [ ], getVersionFile, }: diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index d5d7764926e1..05207dd04f10 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -295,6 +295,8 @@ let cat ${conf} > $etc/etc/ssl/openssl.cnf ''; + allowedImpureDLLs = [ "CRYPT32.dll" ]; + postFixup = lib.optionalString (!stdenv.hostPlatform.isWindows) '' # Check to make sure the main output and the static runtime dependencies diff --git a/pkgs/development/php-packages/php-codesniffer/default.nix b/pkgs/development/php-packages/php-codesniffer/default.nix index fb77f15451b1..c05c79048294 100644 --- a/pkgs/development/php-packages/php-codesniffer/default.nix +++ b/pkgs/development/php-packages/php-codesniffer/default.nix @@ -6,16 +6,16 @@ php.buildComposerProject2 (finalAttrs: { pname = "php-codesniffer"; - version = "3.13.2"; + version = "4.0.0"; src = fetchFromGitHub { owner = "PHPCSStandards"; repo = "PHP_CodeSniffer"; tag = finalAttrs.version; - hash = "sha256-W+svoVatRY53KM7ZJQmFxyDf+N738TrCljv1erZUFuU="; + hash = "sha256-2fubJMn44pS+++QgK66vm4YTT+0zdgtAJVHKvvWO/QA="; }; - vendorHash = "sha256-y1tC9owXaa/l6M4RH/DEIuqTWgcU7zjrWi//zjwMvuo="; + vendorHash = "sha256-SswaHYkDhuW2HZX7QiBd7K6wTmt42z2/TpB7HP68b7k="; meta = { changelog = "https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/tag/${finalAttrs.version}"; diff --git a/pkgs/development/python-modules/exifread/default.nix b/pkgs/development/python-modules/exifread/default.nix index d1d3198525fa..681730794e01 100644 --- a/pkgs/development/python-modules/exifread/default.nix +++ b/pkgs/development/python-modules/exifread/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "exifread"; - version = "3.4.0"; + version = "3.5.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-3H+Np3OWcJykFKDu4cJikC9xOvycBDuqi4IzfXYwb/w="; + hash = "sha256-n5mPgNMGJ0HJdt/E/QM0JLxAkyk3mU5NIYHrcMS2rt0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/groq/default.nix b/pkgs/development/python-modules/groq/default.nix index cef446d47c18..70db8134153d 100644 --- a/pkgs/development/python-modules/groq/default.nix +++ b/pkgs/development/python-modules/groq/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "groq"; - version = "0.31.1"; + version = "0.32.0"; pyproject = true; src = fetchFromGitHub { owner = "groq"; repo = "groq-python"; tag = "v${version}"; - hash = "sha256-vckFFnk66gkxaoqKpjykkpQIbiWqUyuTDgSvhKqsC4A="; + hash = "sha256-31doHBwdZWlEb1tk0OjfLciPhde0kfiMY6heiXDvnWI="; }; postPatch = '' diff --git a/pkgs/development/python-modules/ipyvue/default.nix b/pkgs/development/python-modules/ipyvue/default.nix index f2e7585def44..8a7991648d02 100644 --- a/pkgs/development/python-modules/ipyvue/default.nix +++ b/pkgs/development/python-modules/ipyvue/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "ipyvue"; - version = "1.11.2"; + version = "1.11.3"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-OxOBvRIBhPlwpdZt6sM7hZKmZsjhq3pa/TPs/zQuCpU="; + hash = "sha256-gLO2EItEjrF7fJ6ww5ta04Rxir3NJKgvhTrTBiuDtBs="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/livekit-api/default.nix b/pkgs/development/python-modules/livekit-api/default.nix index 6dc8377f023a..601095a58b82 100644 --- a/pkgs/development/python-modules/livekit-api/default.nix +++ b/pkgs/development/python-modules/livekit-api/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "livekit-api"; - version = "1.0.12"; + version = "1.0.6"; pyproject = true; src = fetchFromGitHub { owner = "livekit"; repo = "python-sdks"; - tag = "rtc-v${version}"; - hash = "sha256-NfFlj44aRMA7oUXyIKljNdtb/2MLvjIJGcAvIGNbNxM="; + tag = "api-v${version}"; + hash = "sha256-AsTJC0j8dztua7B6JvAYQlHGsE1RCIGoCzfGgbHSnGU="; }; pypaBuildFlags = [ "livekit-api" ]; diff --git a/pkgs/development/python-modules/llm-gemini/default.nix b/pkgs/development/python-modules/llm-gemini/default.nix index 6282a686260d..a0a26213c5b6 100644 --- a/pkgs/development/python-modules/llm-gemini/default.nix +++ b/pkgs/development/python-modules/llm-gemini/default.nix @@ -50,6 +50,9 @@ buildPythonPackage rec { homepage = "https://github.com/simonw/llm-gemini"; changelog = "https://github.com/simonw/llm-gemini/releases/tag/${src.tag}"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ josh ]; + maintainers = with lib.maintainers; [ + josh + philiptaron + ]; }; } diff --git a/pkgs/development/python-modules/llm-jq/default.nix b/pkgs/development/python-modules/llm-jq/default.nix index f88e6ae566f4..4769b5b6a99b 100644 --- a/pkgs/development/python-modules/llm-jq/default.nix +++ b/pkgs/development/python-modules/llm-jq/default.nix @@ -31,6 +31,10 @@ buildPythonPackage rec { homepage = "https://github.com/simonw/llm-jq"; changelog = "https://github.com/simonw/llm-jq/releases/tag/${version}"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ josh ]; + maintainers = with lib.maintainers; [ + erethon + josh + philiptaron + ]; }; } diff --git a/pkgs/development/python-modules/llm-openai-plugin/default.nix b/pkgs/development/python-modules/llm-openai-plugin/default.nix index f6e673366d81..20a97ffb81a1 100644 --- a/pkgs/development/python-modules/llm-openai-plugin/default.nix +++ b/pkgs/development/python-modules/llm-openai-plugin/default.nix @@ -50,6 +50,9 @@ buildPythonPackage rec { homepage = "https://github.com/simonw/llm-openai-plugin"; changelog = "https://github.com/simonw/llm-openai-plugin/releases/tag/${src.tag}"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ josh ]; + maintainers = with lib.maintainers; [ + josh + philiptaron + ]; }; } diff --git a/pkgs/development/python-modules/ntc-templates/default.nix b/pkgs/development/python-modules/ntc-templates/default.nix index ec8ebb7cfce5..892a20b56dce 100644 --- a/pkgs/development/python-modules/ntc-templates/default.nix +++ b/pkgs/development/python-modules/ntc-templates/default.nix @@ -40,12 +40,6 @@ buildPythonPackage rec { yamllint ]; - # https://github.com/networktocode/ntc-templates/issues/743 - disabledTests = [ - "test_raw_data_against_mock" - "test_verify_parsed_and_reference_data_exists" - ]; - meta = with lib; { description = "TextFSM templates for parsing show commands of network devices"; homepage = "https://github.com/networktocode/ntc-templates"; diff --git a/pkgs/development/python-modules/nuitka/default.nix b/pkgs/development/python-modules/nuitka/default.nix index 6410beb3aa20..a1cc5706074f 100644 --- a/pkgs/development/python-modules/nuitka/default.nix +++ b/pkgs/development/python-modules/nuitka/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, isPyPy, @@ -12,14 +13,14 @@ buildPythonPackage rec { pname = "nuitka"; - version = "2.6.9"; + version = "2.7.15"; pyproject = true; src = fetchFromGitHub { owner = "Nuitka"; repo = "Nuitka"; rev = version; - hash = "sha256-QKJAMDVXO78VQ0P+nuuQ4dxCKEJLtcqCinJYs018rTA="; + hash = "sha256-o+rXk8Qh9SeBpuSppPBap9TL69gy9ag7PCArFSNSv7g="; }; build-system = [ @@ -49,5 +50,7 @@ buildPythonPackage rec { description = "Python compiler with full language support and CPython compatibility"; license = licenses.asl20; homepage = "https://nuitka.net/"; + # never built on darwin since first introduction in nixpkgs + broken = stdenv.hostPlatform.isDarwin; }; } diff --git a/pkgs/development/python-modules/plux/default.nix b/pkgs/development/python-modules/plux/default.nix index 7f63915d1aee..4bacb6954ab8 100644 --- a/pkgs/development/python-modules/plux/default.nix +++ b/pkgs/development/python-modules/plux/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "plux"; - version = "1.12.0"; + version = "1.13.0"; pyproject = true; # Tests are not available from PyPi @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "localstack"; repo = "plux"; tag = "v${version}"; - hash = "sha256-2Sxn/LuiwTzByAAz7VlNLsxEiPIyJWXr86/76Anx+EU="; + hash = "sha256-daAFv5tIekWDq0iI/yolmuak0MMXXVCfAcbHcYY7Qd4="; }; build-system = [ diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix index f27f7ba4f426..931db4ee8f56 100644 --- a/pkgs/development/python-modules/pyaxmlparser/default.nix +++ b/pkgs/development/python-modules/pyaxmlparser/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - version = "0.3.27"; + version = "0.3.31"; format = "setuptools"; pname = "pyaxmlparser"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "appknox"; repo = "pyaxmlparser"; rev = "v${version}"; - hash = "sha256-NtAsO/I1jDEv676yhAgLguQnB/kHdAqPoLt2QFWbvmw="; + hash = "sha256-ZV2PyWQfK9xidzGUz7XPAReaVjlB8tMUKQiXoGcFCGs="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pyvisa-py/default.nix b/pkgs/development/python-modules/pyvisa-py/default.nix index aa05ec2c606e..fe994e8fdaea 100644 --- a/pkgs/development/python-modules/pyvisa-py/default.nix +++ b/pkgs/development/python-modules/pyvisa-py/default.nix @@ -12,21 +12,18 @@ psutil, zeroconf, pytestCheckHook, - pythonOlder, }: buildPythonPackage rec { pname = "pyvisa-py"; - version = "0.8.0"; + version = "0.8.1"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "pyvisa"; repo = "pyvisa-py"; tag = version; - hash = "sha256-bYxl7zJ36uorEasAKvPiVWLaG2ISQGBHrQZJcnkbfzU="; + hash = "sha256-fXLT3W48HQ744LkwZn784KKmUE8gxDCR+lkcL9xX45g="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/rkm-codes/default.nix b/pkgs/development/python-modules/rkm-codes/default.nix index 7e06e06bc3b7..c4e96a449cb0 100644 --- a/pkgs/development/python-modules/rkm-codes/default.nix +++ b/pkgs/development/python-modules/rkm-codes/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "rkm-codes"; - version = "0.6"; - format = "pyproject"; + version = "1.0"; + pyproject = true; src = fetchFromGitHub { owner = "KenKundert"; repo = "rkm_codes"; tag = "v${version}"; - hash = "sha256-CkLLZuWcNL8sqAupc7lHXu0DXUXrX3qwd1g/ekyHdw4="; + hash = "sha256-S1ng2eTR+dNg7TkkpLTtJvX105FOqCi2eiMdRaqQrVg="; }; nativeBuildInputs = [ flit-core ]; @@ -36,7 +36,7 @@ buildPythonPackage rec { meta = with lib; { description = "QuantiPhy support for RKM codes"; homepage = "https://github.com/kenkundert/rkm_codes/"; - license = licenses.gpl3Plus; + license = licenses.mit; maintainers = with maintainers; [ jpetrucciani ]; }; } diff --git a/pkgs/development/python-modules/sdbus/default.nix b/pkgs/development/python-modules/sdbus/default.nix index 00b53c5c4e60..3af1b04b1aad 100644 --- a/pkgs/development/python-modules/sdbus/default.nix +++ b/pkgs/development/python-modules/sdbus/default.nix @@ -8,7 +8,7 @@ let pname = "sdbus"; - version = "0.14.0"; + version = "0.14.1.post0"; in buildPythonPackage { format = "setuptools"; @@ -19,7 +19,7 @@ buildPythonPackage { src = fetchPypi { inherit pname version; - hash = "sha256-QdYbdswFqepB0Q1woR6fmobtlfQPcTYwxeGDQODkx28="; + hash = "sha256-rjkVqz4/ChFmMuHlh235krlSnoKwtJIAbrIvh5Htbes="; }; meta = with lib; { diff --git a/pkgs/development/python-modules/superqt/default.nix b/pkgs/development/python-modules/superqt/default.nix index a602032cfb9d..bcbbc502495d 100644 --- a/pkgs/development/python-modules/superqt/default.nix +++ b/pkgs/development/python-modules/superqt/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "superqt"; - version = "0.7.5"; + version = "0.7.6"; pyproject = true; disabled = pythonOlder "3.9"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "pyapp-kit"; repo = "superqt"; tag = "v${version}"; - hash = "sha256-fLlItQRCxam7wlQZKKY+9/qAm8IFsVQZzyz3Ro5tDuU="; + hash = "sha256-Hdi1aTMZeQqaqeK7B4yynTOBc6Cy1QcX5BHsr6g1xwM="; }; build-system = [ diff --git a/pkgs/development/python-modules/textfsm/default.nix b/pkgs/development/python-modules/textfsm/default.nix index 397b1cb2ce27..26b8053d859d 100644 --- a/pkgs/development/python-modules/textfsm/default.nix +++ b/pkgs/development/python-modules/textfsm/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "google"; - repo = pname; + repo = "textfsm"; tag = "v${version}"; hash = "sha256-ygVcDdT85mRN+qYfTZqraRVyp2JlLwwujBW1e/pPJNc="; }; @@ -23,6 +23,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; meta = with lib; { + changelog = "https://github.com/google/textfsm/releases/tag/${src.tag}"; description = "Python module for parsing semi-structured text into python tables"; mainProgram = "textfsm"; homepage = "https://github.com/google/textfsm"; diff --git a/pkgs/development/python-modules/textx/default.nix b/pkgs/development/python-modules/textx/default.nix index 41d6f6e6596f..0e54101b44e4 100644 --- a/pkgs/development/python-modules/textx/default.nix +++ b/pkgs/development/python-modules/textx/default.nix @@ -12,14 +12,14 @@ let textx = buildPythonPackage rec { pname = "textx"; - version = "4.0.1"; + version = "4.2.2"; pyproject = true; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - hash = "sha256-qiKOG6B7yWWzkL7bmcRAVv6AOHKTWmrlrsJlXD5RoaQ="; + hash = "sha256-AlFXaB+D03GAsXNd2GnFOLxo2g5BjWAu6K1/GsncwLw="; }; outputs = [ diff --git a/pkgs/development/python-modules/ubelt/default.nix b/pkgs/development/python-modules/ubelt/default.nix index 9aa0967b06ed..ba8c0ac03ab8 100644 --- a/pkgs/development/python-modules/ubelt/default.nix +++ b/pkgs/development/python-modules/ubelt/default.nix @@ -16,16 +16,16 @@ buildPythonPackage rec { pname = "ubelt"; - version = "1.3.7"; + version = "1.4.0"; pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "Erotemic"; repo = "ubelt"; tag = "v${version}"; - hash = "sha256-LGcCJCP3iBjwDxMN/qqkvcUt1ry5OMEJ9xqTp27rk0A="; + hash = "sha256-9f22hNi/YrxAVoEOGojdziogUN/YNCrpUuOfib9nqfQ="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/uv-dynamic-versioning/default.nix b/pkgs/development/python-modules/uv-dynamic-versioning/default.nix index 8f252dfd22ab..0c0d0ff317d7 100644 --- a/pkgs/development/python-modules/uv-dynamic-versioning/default.nix +++ b/pkgs/development/python-modules/uv-dynamic-versioning/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "uv-dynamic-versioning"; - version = "0.11.1"; + version = "0.11.2"; pyproject = true; src = fetchFromGitHub { @@ -28,7 +28,7 @@ buildPythonPackage rec { tag = "v${version}"; # Tests perform mock operations on the local repo leaveDotGit = true; - hash = "sha256-lnEi1supRlVGgMGpjG2DcWtX/bga9mE5jMDE0o26XM0="; + hash = "sha256-KB5EhXXQfaxAWM3DpkRxpBbelJc25btTtTppSn38b3o="; }; build-system = [ diff --git a/pkgs/development/python-modules/wagtail/default.nix b/pkgs/development/python-modules/wagtail/default.nix index 18e4aba217eb..888375a07d14 100644 --- a/pkgs/development/python-modules/wagtail/default.nix +++ b/pkgs/development/python-modules/wagtail/default.nix @@ -31,7 +31,7 @@ buildPythonPackage rec { pname = "wagtail"; - version = "7.1"; + version = "7.1.1"; pyproject = true; # The GitHub source requires some assets to be compiled, which in turn @@ -39,7 +39,7 @@ buildPythonPackage rec { # until https://github.com/wagtail/wagtail/pull/13136 gets merged. src = fetchPypi { inherit pname version; - hash = "sha256-4d4q+Ctiy/TTt3qTxVd5vGetezF5trT4JOxPIU1XDAE="; + hash = "sha256-e90eWww0VDeYXAHwp/YKYX5114jzfH2DlVj05qElGvk="; }; build-system = [ diff --git a/pkgs/development/python-modules/xdoctest/default.nix b/pkgs/development/python-modules/xdoctest/default.nix index 4c22f44105a4..101b0376a41c 100644 --- a/pkgs/development/python-modules/xdoctest/default.nix +++ b/pkgs/development/python-modules/xdoctest/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "xdoctest"; - version = "1.2.0"; + version = "1.3.0"; pyproject = true; src = fetchFromGitHub { owner = "Erotemic"; repo = "xdoctest"; tag = "v${version}"; - hash = "sha256-1c3wnQ30J2OfnBffzGfPPt9St8VpLGmFGbifzbw+cOc="; + hash = "sha256-kxisUcpfAxhB7wd2QLY5jkoUXXDYrkJx7bNB1wMVB30="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix index 9dcab589024c..836faaa40936 100644 --- a/pkgs/development/tools/buildah/default.nix +++ b/pkgs/development/tools/buildah/default.nix @@ -17,13 +17,13 @@ buildGoModule (finalAttrs: { pname = "buildah"; - version = "1.41.4"; + version = "1.41.5"; src = fetchFromGitHub { owner = "containers"; repo = "buildah"; tag = "v${finalAttrs.version}"; - hash = "sha256-8I8njiMayfpodX2rj8MqYIhah3lvMgOY+agwlPYPij0="; + hash = "sha256-NQ5nCU1uiw3SzPMo2rH4+GnAIbIzM9O0bJaXJg/rfZM="; }; outputs = [ diff --git a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix index 68b4218a60e0..af9f7c1aba2c 100644 --- a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix +++ b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix @@ -1,4 +1,10 @@ -{ buildGoModule, callPackage }: +{ + buildGoModule, + callPackage, + installShellFiles, + lib, + stdenv, +}: let common = callPackage ./common.nix { }; in @@ -8,13 +14,23 @@ buildGoModule { version src ldflags - postInstall vendorHash ; subPackages = "cmd/cli"; + nativeBuildInputs = [ installShellFiles ]; + env.CGO_ENABLED = 0; + postInstall = '' + ${common.postInstall} + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd woodpecker-cli \ + --bash <($out/bin/woodpecker-cli completion bash) \ + --fish <($out/bin/woodpecker-cli completion fish ) \ + --zsh <($out/bin/woodpecker-cli completion zsh) + ''; meta = common.meta // { description = "Command line client for the Woodpecker Continuous Integration server"; diff --git a/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/pkgs/development/tools/continuous-integration/woodpecker/common.nix index e2c7da621116..daa6598b0184 100644 --- a/pkgs/development/tools/continuous-integration/woodpecker/common.nix +++ b/pkgs/development/tools/continuous-integration/woodpecker/common.nix @@ -1,7 +1,7 @@ { lib, fetchzip }: let - version = "3.9.0"; - srcHash = "sha256-Ymg6nJr83jt2EAv/p1B1wmZv3jvpx/3xRVRii3S1cNU="; + version = "3.10.0"; + srcHash = "sha256-Z9EGm14q9DySZ0lgw/wwam3NjvicltWBkVJ3cwi/eds="; # The tarball contains vendored dependencies vendorHash = null; in diff --git a/pkgs/development/tools/godot/Linux-fix-missing-library-with-builtin_glslang-false.patch b/pkgs/development/tools/godot/Linux-fix-missing-library-with-builtin_glslang-false.patch new file mode 100644 index 000000000000..cdf6b4fab261 --- /dev/null +++ b/pkgs/development/tools/godot/Linux-fix-missing-library-with-builtin_glslang-false.patch @@ -0,0 +1,25 @@ +From 6d43e80c0a455fea5dcb656967e73f755ecdd645 Mon Sep 17 00:00:00 2001 +From: David McFarland +Date: Sun, 9 Mar 2025 19:42:33 -0300 +Subject: [PATCH] Linux: fix missing library with builtin_glslang=false + +--- + platform/linuxbsd/detect.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py +index b5e80f4a4d..8389096e26 100644 +--- a/platform/linuxbsd/detect.py ++++ b/platform/linuxbsd/detect.py +@@ -472,7 +472,7 @@ def configure(env: "SConsEnvironment"): + env.ParseConfig("pkg-config vulkan --cflags --libs") + if not env["builtin_glslang"]: + # No pkgconfig file so far, hardcode expected lib name. +- env.Append(LIBS=["glslang", "SPIRV"]) ++ env.Append(LIBS=["glslang", "glslang-default-resource-limits", "SPIRV"]) + + if env["opengl3"]: + env.Append(CPPDEFINES=["GLES3_ENABLED"]) +-- +2.47.1 + diff --git a/pkgs/development/tools/godot/common.nix b/pkgs/development/tools/godot/common.nix index e2b8edfa63c7..f1cd98a46ce7 100644 --- a/pkgs/development/tools/godot/common.nix +++ b/pkgs/development/tools/godot/common.nix @@ -5,17 +5,27 @@ callPackage, dbus, dotnetCorePackages, + embree, + enet, exportTemplatesHash, fetchFromGitHub, fetchpatch, fontconfig, + freetype, glib, + glslang, + graphite2, + harfbuzz, hash, + icu, installShellFiles, lib, libdecor, libGL, + libjpeg_turbo, libpulseaudio, + libtheora, + libwebp, libX11, libXcursor, libXext, @@ -26,10 +36,16 @@ libXrandr, libXrender, makeWrapper, + mbedtls, + miniupnpc, + openxr-loader, + pcre2, perl, pkg-config, + recastnavigation, runCommand, scons, + sdl3, speechd-minimal, stdenv, stdenvNoCC, @@ -55,6 +71,8 @@ # https://github.com/godotengine/godot/pull/73504 withWayland ? true, withX11 ? true, + wslay, + zstd, }: assert lib.asserts.assertOneOf "withPrecision" withPrecision [ "single" @@ -369,8 +387,24 @@ let ccflags = "-fno-strict-aliasing"; linkflags = "-Wl,--build-id"; + # libraries that aren't available in nixpkgs + builtin_msdfgen = true; + builtin_rvo2_2d = true; + builtin_rvo2_3d = true; + builtin_xatlas = true; + + # using system clipper2 is currently not implemented + builtin_clipper2 = true; + use_sowrap = false; } + // lib.optionalAttrs (lib.versionOlder version "4.4") { + # libraries that aren't available in nixpkgs + builtin_squish = true; + + # broken with system packages + builtin_miniupnpc = true; + } // lib.optionalAttrs (lib.versionAtLeast version "4.5") { redirect_build_objects = false; # Avoid copying build objects to output } @@ -380,23 +414,31 @@ let strictDeps = true; - patches = - lib.optionals (lib.versionOlder version "4.4") [ - (fetchpatch { - name = "wayland-header-fix.patch"; - url = "https://github.com/godotengine/godot/commit/6ce71f0fb0a091cffb6adb4af8ab3f716ad8930b.patch"; - hash = "sha256-hgAtAtCghF5InyGLdE9M+9PjPS1BWXWGKgIAyeuqkoU="; - }) - # Fix a crash in the mono test project build. It no longer seems to - # happen in 4.4, but an existing fix couldn't be identified. - ./CSharpLanguage-fix-crash-in-reload_assemblies-after-.patch - ] - ++ lib.optional (lib.versionAtLeast version "4.5") ./fix-freetype-link-error.patch; + patches = [ + ./Linux-fix-missing-library-with-builtin_glslang-false.patch + ] + ++ lib.optionals (lib.versionOlder version "4.4") [ + (fetchpatch { + name = "wayland-header-fix.patch"; + url = "https://github.com/godotengine/godot/commit/6ce71f0fb0a091cffb6adb4af8ab3f716ad8930b.patch"; + hash = "sha256-hgAtAtCghF5InyGLdE9M+9PjPS1BWXWGKgIAyeuqkoU="; + }) + # Fix a crash in the mono test project build. It no longer seems to + # happen in 4.4, but an existing fix couldn't be identified. + ./CSharpLanguage-fix-crash-in-reload_assemblies-after-.patch + ] + ++ lib.optional (lib.versionAtLeast version "4.5") ./fix-freetype-link-error.patch; postPatch = '' # this stops scons from hiding e.g. NIX_CFLAGS_COMPILE perl -pi -e '{ $r += s:(env = Environment\(.*):\1\nenv["ENV"] = os.environ: } END { exit ($r != 1) }' SConstruct + # disable all builtin libraries by default + perl -pi -e '{ $r |= s:(opts.Add\(BoolVariable\("builtin_.*, )True(\)\)):\1False\2: } END { exit ($r != 1) }' SConstruct + + substituteInPlace platform/linuxbsd/detect.py \ + --replace-fail /usr/include/recastnavigation ${lib.escapeShellArg (lib.getDev recastnavigation)}/include/recastnavigation + substituteInPlace thirdparty/glad/egl.c \ --replace-fail \ 'static const char *NAMES[] = {"libEGL.so.1", "libEGL.so"}' \ @@ -423,36 +465,57 @@ let pkg-config ]; - buildInputs = - lib.optionals (editor && withMono) dotnet-sdk.packages - ++ lib.optional withAlsa alsa-lib - ++ lib.optional (withX11 || withWayland) libxkbcommon - ++ lib.optionals withX11 [ - libX11 - libXcursor - libXext - libXfixes - libXi - libXinerama - libXrandr - libXrender - ] - ++ lib.optionals withWayland [ - # libdecor - wayland - ] - ++ lib.optionals withDbus [ - dbus - ] - ++ lib.optionals withFontconfig [ - fontconfig - ] - ++ lib.optional withPulseaudio libpulseaudio - ++ lib.optionals withSpeechd [ - speechd-minimal - glib - ] - ++ lib.optional withUdev udev; + buildInputs = [ + embree + enet + freetype + glslang + graphite2 + (harfbuzz.override { withIcu = true; }) + icu + libtheora + libwebp + mbedtls + miniupnpc + openxr-loader + pcre2 + recastnavigation + wslay + zstd + ] + ++ lib.optionals (lib.versionAtLeast version "4.5") [ + libjpeg_turbo + sdl3 + ] + ++ lib.optionals (editor && withMono) dotnet-sdk.packages + ++ lib.optional withAlsa alsa-lib + ++ lib.optional (withX11 || withWayland) libxkbcommon + ++ lib.optionals withX11 [ + libX11 + libXcursor + libXext + libXfixes + libXi + libXinerama + libXrandr + libXrender + ] + ++ lib.optionals withWayland [ + libdecor + wayland + ] + ++ lib.optionals withDbus [ + dbus + ] + ++ lib.optionals withFontconfig [ + fontconfig + ] + ++ lib.optional withPulseaudio libpulseaudio + ++ lib.optionals withSpeechd [ + speechd-minimal + glib + ] + ++ lib.optional withUdev udev; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/os-specific/cygwin/default.nix b/pkgs/os-specific/cygwin/default.nix new file mode 100644 index 000000000000..09f69ff9f9b2 --- /dev/null +++ b/pkgs/os-specific/cygwin/default.nix @@ -0,0 +1,25 @@ +{ + makeScopeWithSplicing', + generateSplicesForMkScope, +}: + +let + otherSplices = generateSplicesForMkScope "cygwin"; +in +makeScopeWithSplicing' { + inherit otherSplices; + f = + self: + let + callPackage = self.callPackage; + in + { + w32api = callPackage ./w32api { }; + w32api-headers = callPackage ./w32api { headersOnly = true; }; + + newlib-cygwin = callPackage ./newlib-cygwin { }; + # this is here to avoid symlinks being made to cygwin1.dll in /nix/store + newlib-cygwin-nobin = callPackage ./newlib-cygwin/nobin.nix { }; + newlib-cygwin-headers = callPackage ./newlib-cygwin { headersOnly = true; }; + }; +} diff --git a/pkgs/os-specific/cygwin/newlib-cygwin/default.nix b/pkgs/os-specific/cygwin/newlib-cygwin/default.nix new file mode 100644 index 000000000000..9869493c3be8 --- /dev/null +++ b/pkgs/os-specific/cygwin/newlib-cygwin/default.nix @@ -0,0 +1,168 @@ +{ + lib, + stdenv, + stdenvNoCC, + stdenvNoLibc, + autoreconfHook, + bison, + buildPackages, + cocom-tool-set, + flex, + perl, + w32api, + w32api-headers, + + headersOnly ? false, +}: + +(if headersOnly then stdenvNoCC else stdenvNoLibc).mkDerivation ( + finalAttrs: + { + pname = "newlib-cygwin${lib.optionalString headersOnly "-headers"}"; + version = "3.6.4"; + + src = buildPackages.fetchgit { + url = "https://cygwin.com/git/newlib-cygwin.git"; + rev = "cygwin-${finalAttrs.version}"; + hash = "sha256-+WYKwqcDAc7286GzbgKKAxNJCOf3AeNnF8XEVPoor+g="; + }; + + outputs = [ + "out" + ] + ++ lib.optionals (!headersOnly) [ + "bin" + "dev" + "man" + ]; + + patches = [ + # Newer versions of gcc don't like struct winsize being used before being + # declared. Backport of https://cygwin.com/cgit/newlib-cygwin/commit/?id=73600d68227e125af24b7de7c3fccbd4eb66ee03 + ./fix-winsize.patch + ] + ++ lib.optional (!headersOnly) [ + # https://cygwin.com/pipermail/cygwin-developers/2020-September/011970.html + # This is required for boost coroutines to work. After we get to the point + # where nix runs on cygwin, we can attempt to upstream this again. + ./store-tls-pointer-in-win32-tls.patch + ] + # After cygwin hosted builds are working, we should upstream this + ++ lib.optional ( + !headersOnly && stdenvNoLibc.hostPlatform != stdenvNoLibc.buildPlatform + ) ./fix-cross.patch; + + passthru.w32api = if headersOnly then w32api-headers else w32api; + + meta = { + homepage = "https://cygwin.com/"; + description = "A DLL which provides substantial POSIX API functionality on Windows."; + license = with lib.licenses; [ + # newlib + gpl2 + # winsup + gpl3 + ]; + platforms = lib.platforms.cygwin; + maintainers = [ lib.maintainers.corngood ]; + }; + } + // ( + if headersOnly then + { + dontConfigure = true; + dontBuild = true; + + installPhase = '' + mkdir -p $out/include/ + cp -r newlib/libc/include/* $out/include/ + cp -r winsup/cygwin/include/* $out/include/ + ''; + } + else + { + postPatch = '' + patchShebangs --build winsup/cygwin/scripts + ''; + + autoreconfFlags = [ + "winsup" + ] + # Only reconfigure root when fix-cross.patch is applied. Otherwise the + # autoconf version check will fail. + ++ lib.optional (stdenvNoLibc.hostPlatform != stdenvNoLibc.buildPlatform) "."; + + env = + let + libflag = "-Wl,-L${lib.getLib w32api}${w32api.libdir or "/lib/w32api"}"; + in + { + CFLAGS_FOR_TARGET = toString [ + libflag + ]; + + CXXFLAGS_FOR_TARGET = toString [ + "-Wno-error=register" + libflag + ]; + }; + + strictDeps = true; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + nativeBuildInputs = [ + autoreconfHook + bison + cocom-tool-set + flex + perl + ]; + + buildInputs = [ w32api ]; + + makeFlags = [ + "tooldir=${placeholder "out"}" + ]; + + enableParallelBuilding = true; + + # this is explicitly -j1 in cygwin.cygport + # without it the install order is non-deterministic + enableParallelInstalling = false; + + hardeningDisable = [ + # conflicts with internal definition of 'bzero' + "fortify" + "stackprotector" + ]; + + configurePlatforms = [ + "build" + "target" + ]; + + configureFlags = [ + "--disable-shared" + "--disable-doc" + "--enable-static" + "--disable-dumper" + "--with-cross-bootstrap" + ] + ++ lib.optional (stdenvNoLibc.hostPlatform != stdenvNoLibc.buildPlatform) [ + "ac_cv_prog_CC=gcc" + ]; + + allowedImpureDLLs = [ + "ADVAPI32.dll" + "PSAPI.DLL" + "NETAPI32.dll" + "SHELL32.dll" + "USER32.dll" + "USERENV.dll" + "dbghelp.dll" + "ntdll.dll" + ]; + } + ) +) diff --git a/pkgs/os-specific/cygwin/newlib-cygwin/fix-cross.patch b/pkgs/os-specific/cygwin/newlib-cygwin/fix-cross.patch new file mode 100644 index 000000000000..cba24ab12c40 --- /dev/null +++ b/pkgs/os-specific/cygwin/newlib-cygwin/fix-cross.patch @@ -0,0 +1,55 @@ +Disable strict autoconf version check so we can autoreconf in nixpkgs. + +diff --git a/config/override.m4 b/config/override.m4 +index 8b954d3cb..60c4cfd12 100644 +--- a/config/override.m4 ++++ b/config/override.m4 +@@ -44,7 +44,6 @@ AC_DEFUN([_GCC_AUTOCONF_VERSION_CHECK], + [m4_fatal([Please use exactly Autoconf ]_GCC_AUTOCONF_VERSION[ instead of ]m4_defn([m4_PACKAGE_VERSION])[.])]) + ]) + m4_define([AC_INIT], m4_defn([AC_INIT])[ +-_GCC_AUTOCONF_VERSION_CHECK + ]) + + + +This is needed for target linking to find e.g. crt0.o. +diff --git a/configure.ac b/configure.ac +index 05ddf6987..f5bbd5c72 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3166,7 +3166,7 @@ case " $target_configdirs " in + *" --with-newlib "*) + case "$target" in + *-cygwin*) +- FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -isystem $$s/winsup/cygwin/include' ++ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/winsup/cygwin -isystem $$s/winsup/cygwin/include' + ;; + esac + + +Autoconf clears EXEEXT= in cross, which breaks installation of utils/cygserver. + +AC_CHECK_LIB is disabled in cross after AC_NO_EXECUTABLES. +diff --git a/winsup/configure.ac b/winsup/configure.ac +index e7ac814b1..14b56e130 100644 +--- a/winsup/configure.ac ++++ b/winsup/configure.ac +@@ -40,6 +40,8 @@ AM_PROG_AS + AC_LANG(C) + AC_LANG(C++) + ++EXEEXT=.exe ++ + AC_ARG_WITH([cross-bootstrap],[AS_HELP_STRING([--with-cross-bootstrap],[do not build programs using the MinGW toolchain or check for MinGW libraries (useful for bootstrapping a cross-compiler)])],[],[with_cross_bootstrap=no]) + + AC_CYGWIN_INCLUDES +@@ -135,8 +137,6 @@ AM_CONDITIONAL(BUILD_DUMPER, [test "x$build_dumper" = "xyes"]) + # libbfd.a doesn't have a pkgconfig file, so we guess what it's dependencies + # are, based on what's present in the build environment + BFD_LIBS="-lintl -liconv -liberty -lz" +-AC_CHECK_LIB([sframe], [sframe_decode], [BFD_LIBS="${BFD_LIBS} -lsframe"]) +-AC_CHECK_LIB([zstd], [ZSTD_isError], [BFD_LIBS="${BFD_LIBS} -lzstd"]) + AC_SUBST([BFD_LIBS]) + + AC_CONFIG_FILES([ diff --git a/pkgs/os-specific/cygwin/newlib-cygwin/fix-winsize.patch b/pkgs/os-specific/cygwin/newlib-cygwin/fix-winsize.patch new file mode 100644 index 000000000000..0ac6b7499336 --- /dev/null +++ b/pkgs/os-specific/cygwin/newlib-cygwin/fix-winsize.patch @@ -0,0 +1,31 @@ +diff --git a/winsup/cygwin/include/sys/termios.h b/winsup/cygwin/include/sys/termios.h +index d1b4a0af5..75e0c5348 100644 +--- a/winsup/cygwin/include/sys/termios.h ++++ b/winsup/cygwin/include/sys/termios.h +@@ -282,6 +282,12 @@ struct termios + speed_t c_ospeed; + }; + ++struct winsize ++{ ++ unsigned short ws_row, ws_col; ++ unsigned short ws_xpixel, ws_ypixel; ++}; ++ + #define termio termios + + #ifdef __cplusplus +@@ -313,13 +319,6 @@ int tcsetwinsize(int fd, const struct winsize *winsz); + #define cfgetospeed(tp) ((tp)->c_ospeed) + #endif + +-/* Extra stuff to make porting stuff easier. */ +-struct winsize +-{ +- unsigned short ws_row, ws_col; +- unsigned short ws_xpixel, ws_ypixel; +-}; +- + #define TIOCGWINSZ (('T' << 8) | 1) + #define TIOCSWINSZ (('T' << 8) | 2) + #define TIOCLINUX (('T' << 8) | 3) diff --git a/pkgs/os-specific/cygwin/newlib-cygwin/nobin.nix b/pkgs/os-specific/cygwin/newlib-cygwin/nobin.nix new file mode 100644 index 000000000000..8745261b9815 --- /dev/null +++ b/pkgs/os-specific/cygwin/newlib-cygwin/nobin.nix @@ -0,0 +1,9 @@ +{ + emptyDirectory, + newlib-cygwin, +}: + +newlib-cygwin +// { + bin = emptyDirectory; +} diff --git a/pkgs/os-specific/cygwin/newlib-cygwin/remove-definitions-that-conflict-with-mingw.patch b/pkgs/os-specific/cygwin/newlib-cygwin/remove-definitions-that-conflict-with-mingw.patch new file mode 100644 index 000000000000..313ff2873910 --- /dev/null +++ b/pkgs/os-specific/cygwin/newlib-cygwin/remove-definitions-that-conflict-with-mingw.patch @@ -0,0 +1,88 @@ +From cc95494ed527e64fcd1ade7ed7ae44f9e0a6fa8a Mon Sep 17 00:00:00 2001 +From: David McFarland +Date: Tue, 9 Sep 2025 15:04:45 -0300 +Subject: [PATCH] remove definitions that conflict with mingw + +--- + winsup/cygwin/fhandler/socket_inet.cc | 2 ++ + winsup/cygwin/fhandler/socket_local.cc | 2 ++ + winsup/cygwin/local_includes/ntdll.h | 20 -------------------- + winsup/cygwin/net.cc | 2 ++ + 4 files changed, 6 insertions(+), 20 deletions(-) + +diff --git a/winsup/cygwin/fhandler/socket_inet.cc b/winsup/cygwin/fhandler/socket_inet.cc +index 63cc498f1..03681c07b 100644 +--- a/winsup/cygwin/fhandler/socket_inet.cc ++++ b/winsup/cygwin/fhandler/socket_inet.cc +@@ -20,7 +20,9 @@ + #undef u_long + #define u_long __ms_u_long + #include ++#define cmsghdr __ms_cmsghdr + #include ++#undef cmsghdr + #include + #include + #include +diff --git a/winsup/cygwin/fhandler/socket_local.cc b/winsup/cygwin/fhandler/socket_local.cc +index e4a88169b..b832d8a84 100644 +--- a/winsup/cygwin/fhandler/socket_local.cc ++++ b/winsup/cygwin/fhandler/socket_local.cc +@@ -21,7 +21,9 @@ + #define u_long __ms_u_long + #include "ntsecapi.h" + #include ++#define cmsghdr __ms_cmsghdr + #include ++#undef cmsghdr + #include + #include + #include +diff --git a/winsup/cygwin/local_includes/ntdll.h b/winsup/cygwin/local_includes/ntdll.h +index 4497fe53f..bf86a8293 100644 +--- a/winsup/cygwin/local_includes/ntdll.h ++++ b/winsup/cygwin/local_includes/ntdll.h +@@ -489,26 +489,6 @@ typedef struct _FILE_DISPOSITION_INFORMATION_EX // 64 + ULONG Flags; + } FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX; + +-typedef struct _FILE_STAT_INFORMATION // 68 +-{ +- LARGE_INTEGER FileId; +- LARGE_INTEGER CreationTime; +- LARGE_INTEGER LastAccessTime; +- LARGE_INTEGER LastWriteTime; +- LARGE_INTEGER ChangeTime; +- LARGE_INTEGER AllocationSize; +- LARGE_INTEGER EndOfFile; +- ULONG FileAttributes; +- ULONG ReparseTag; +- ULONG NumberOfLinks; +- ACCESS_MASK EffectiveAccess; +-} FILE_STAT_INFORMATION, *PFILE_STAT_INFORMATION; +- +-typedef struct _FILE_CASE_SENSITIVE_INFORMATION // 71 +-{ +- ULONG Flags; +-} FILE_CASE_SENSITIVE_INFORMATION, *PFILE_CASE_SENSITIVE_INFORMATION; +- + enum { + FILE_LINK_REPLACE_IF_EXISTS = 0x01, + FILE_LINK_POSIX_SEMANTICS = 0x02, +diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc +index 737e494f8..6a1a0d079 100644 +--- a/winsup/cygwin/net.cc ++++ b/winsup/cygwin/net.cc +@@ -18,7 +18,9 @@ details. */ + #undef u_long + #define u_long __ms_u_long + #include ++#define cmsghdr __ms_cmsghdr + #include ++#undef cmsghdr + #include + #define gethostname cygwin_gethostname + #include +-- +2.50.1 + diff --git a/pkgs/os-specific/cygwin/newlib-cygwin/store-tls-pointer-in-win32-tls.patch b/pkgs/os-specific/cygwin/newlib-cygwin/store-tls-pointer-in-win32-tls.patch new file mode 100644 index 000000000000..5ef61d65875c --- /dev/null +++ b/pkgs/os-specific/cygwin/newlib-cygwin/store-tls-pointer-in-win32-tls.patch @@ -0,0 +1,246 @@ +From f74059ffbcf53d8ff4db59ca9e7b07d58bd3e3c6 Mon Sep 17 00:00:00 2001 +From: David McFarland +Date: Fri, 4 Sep 2020 10:15:57 -0300 +Subject: [PATCH] Cygwin: store tls pointer in win32 tls + +Use WIN32 TLS instead of stack-relative pointers for TLS. This allows windows +fibers and boost coroutines to be used without crashing whenever a syscall is +made from a fiber. + +NOTE: This should be submitted upstream, but there is a blocker first. In the +main branch there are conflicts with new ARM64 support. In addition to fixing +the conflicts, we should actually test whether ARM64 builds work too, first. +--- + winsup/cygwin/create_posix_thread.cc | 2 ++ + winsup/cygwin/cygtls.cc | 15 +++++++++++++++ + winsup/cygwin/dcrt0.cc | 1 + + winsup/cygwin/fork.cc | 1 + + winsup/cygwin/include/cygwin/config.h | 2 +- + winsup/cygwin/init.cc | 12 ++++++++---- + winsup/cygwin/local_includes/cygtls.h | 7 +++++-- + winsup/cygwin/scripts/gendef | 15 ++++++++++----- + 8 files changed, 43 insertions(+), 12 deletions(-) + +diff --git a/winsup/cygwin/create_posix_thread.cc b/winsup/cygwin/create_posix_thread.cc +index 3fcd61707..85c1a8af3 100644 +--- a/winsup/cygwin/create_posix_thread.cc ++++ b/winsup/cygwin/create_posix_thread.cc +@@ -52,6 +52,7 @@ pthread_wrapper (PVOID arg) + /* Set stack values in TEB */ + PTEB teb = NtCurrentTeb (); + teb->Tib.StackBase = wrapper_arg.stackbase; ++ _set_tls(); + teb->Tib.StackLimit = wrapper_arg.stacklimit ?: wrapper_arg.stackaddr; + /* Set DeallocationStack value. If we have an application-provided stack, + we set DeallocationStack to NULL, so NtTerminateThread does not deallocate +@@ -250,6 +251,7 @@ create_new_main_thread_stack (PVOID &allocationbase) + return NULL; + NtCurrentTeb()->Tib.StackBase = ((PBYTE) allocationbase + stacksize); + NtCurrentTeb()->Tib.StackLimit = stacklimit; ++ _set_tls(); + return ((PBYTE) allocationbase + stacksize - 16); + } + +diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc +index 13d133f47..d23f9b42a 100644 +--- a/winsup/cygwin/cygtls.cc ++++ b/winsup/cygwin/cygtls.cc +@@ -17,6 +17,20 @@ details. */ + #include "sigproc.h" + #include "exception.h" + ++extern DWORD cygtls_slot; ++ ++void _set_tls(TEB *teb) ++{ ++ TlsSetValue(cygtls_slot, teb->Tib.StackBase); ++} ++ ++_cygtls* _current_tls() ++{ ++ register void *ret; ++ __asm __volatile__ ("movl cygtls_slot(%%rip),%%r10d\nmovq %%gs:0x1480(,%%r10d,8),%0" : "=r" (ret) : : "r10"); ++ return (_cygtls *) ((PBYTE) ret - __CYGTLS_PADSIZE__); ++} ++ + /* Two calls to get the stack right... */ + void + _cygtls::call (DWORD (*func) (void *, void *), void *arg) +@@ -25,6 +39,7 @@ _cygtls::call (DWORD (*func) (void *, void *), void *arg) + /* Initialize this thread's ability to respond to things like + SIGSEGV or SIGFPE. */ + exception protect; ++ _set_tls(); + _my_tls.call2 (func, arg, buf); + } + +diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc +index f4c09befd..e6ba488f2 100644 +--- a/winsup/cygwin/dcrt0.cc ++++ b/winsup/cygwin/dcrt0.cc +@@ -462,6 +462,7 @@ child_info_fork::alloc_stack () + StackBase in the child to be the same as in the parent, so that the + computation of _my_tls is correct. */ + teb->Tib.StackBase = (PVOID) stackbase; ++ _set_tls(teb); + } + } + +diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc +index f88acdbbf..582f1a454 100644 +--- a/winsup/cygwin/fork.cc ++++ b/winsup/cygwin/fork.cc +@@ -141,6 +141,7 @@ frok::child (volatile char * volatile here) + myself->pid, myself->ppid, __builtin_frame_address (0)); + sigproc_printf ("hParent %p, load_dlls %d", hParent, load_dlls); + ++ _set_tls(); + /* Make sure threadinfo information is properly set up. */ + if (&_my_tls != _main_tls) + { +diff --git a/winsup/cygwin/include/cygwin/config.h b/winsup/cygwin/include/cygwin/config.h +index 2a7083278..21ce484cf 100644 +--- a/winsup/cygwin/include/cygwin/config.h ++++ b/winsup/cygwin/include/cygwin/config.h +@@ -37,7 +37,7 @@ extern inline struct _reent *__getreent (void) + { + register char *ret; + #ifdef __x86_64__ +- __asm __volatile__ ("movq %%gs:8,%0" : "=r" (ret)); ++ __asm __volatile__ ("movl cygtls_slot(%%rip),%%r10d\nmovq %%gs:0x1480(,%%r10d,8),%0" : "=r" (ret) : : "r10"); + #else + #error unimplemented for this target + #endif +diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc +index ce6484aff..392ac8600 100644 +--- a/winsup/cygwin/init.cc ++++ b/winsup/cygwin/init.cc +@@ -11,7 +11,7 @@ details. */ + #include "ntdll.h" + #include "shared_info.h" + +-static DWORD _my_oldfunc; ++DWORD NO_COPY cygtls_slot; + + static char *search_for = (char *) cygthread::stub; + unsigned threadfunc_ix[8]; +@@ -22,7 +22,9 @@ static bool dll_finished_loading; + static void + threadfunc_fe (VOID *arg) + { +- _cygtls::call ((DWORD (*) (void *, void *)) TlsGetValue (_my_oldfunc), arg); ++ PVOID f = TlsGetValue (cygtls_slot); ++ _set_tls(); ++ _cygtls::call ((DWORD (*) (void *, void *)) f, arg); + } + + /* If possible, redirect the thread entry point to a cygwin routine which +@@ -59,7 +61,7 @@ munge_threadfunc () + for (i = 0; threadfunc_ix[i]; i++) + if (!threadfunc || ebp[threadfunc_ix[i]] == threadfunc) + ebp[threadfunc_ix[i]] = (char *) threadfunc_fe; +- TlsSetValue (_my_oldfunc, threadfunc); ++ TlsSetValue (cygtls_slot, threadfunc); + } + } + } +@@ -78,6 +80,8 @@ dll_entry (HANDLE h, DWORD reason, void *static_load) + switch (reason) + { + case DLL_PROCESS_ATTACH: ++ cygtls_slot = TlsAlloc (); ++ _set_tls(); + init_console_handler (false); + + cygwin_hmodule = (HMODULE) h; +@@ -94,7 +98,6 @@ dll_entry (HANDLE h, DWORD reason, void *static_load) + memcpy (_REENT, _GLOBAL_REENT, sizeof (struct _reent)); + + dll_crt0_0 (); +- _my_oldfunc = TlsAlloc (); + dll_finished_loading = true; + break; + case DLL_PROCESS_DETACH: +@@ -102,6 +105,7 @@ dll_entry (HANDLE h, DWORD reason, void *static_load) + shared_destroy (); + break; + case DLL_THREAD_ATTACH: ++ _set_tls(); + if (dll_finished_loading) + munge_threadfunc (); + break; +diff --git a/winsup/cygwin/local_includes/cygtls.h b/winsup/cygwin/local_includes/cygtls.h +index 306497a33..e3a216280 100644 +--- a/winsup/cygwin/local_includes/cygtls.h ++++ b/winsup/cygwin/local_includes/cygtls.h +@@ -301,8 +301,11 @@ private: + #include "cygerrno.h" + #include "ntdll.h" + +-#define _my_tls (*((_cygtls *) ((PBYTE) NtCurrentTeb()->Tib.StackBase \ +- - __CYGTLS_PADSIZE__))) ++void _set_tls(TEB*); ++inline void _set_tls() { _set_tls(NtCurrentTeb()); } ++_cygtls* _current_tls(); ++ ++#define _my_tls (*_current_tls()) + extern _cygtls *_main_tls; + extern _cygtls *_sig_tls; + +diff --git a/winsup/cygwin/scripts/gendef b/winsup/cygwin/scripts/gendef +index 861a2405b..9a4479bd8 100755 +--- a/winsup/cygwin/scripts/gendef ++++ b/winsup/cygwin/scripts/gendef +@@ -118,7 +118,8 @@ EOF + .seh_proc _sigfe_maybe + _sigfe_maybe: # stack is aligned on entry! + .seh_endprologue +- movq %gs:8,%r10 # location of bottom of stack ++ movl cygtls_slot(%rip),%r10d ++ movq %gs:0x1480(,%r10d,8),%r10 # location of bottom of stack + leaq _cygtls.initialized(%r10),%r11 # where we will be looking + cmpq %r11,%rsp # stack loc > than tls + jge 0f # yep. we don't have a tls. +@@ -131,7 +132,8 @@ _sigfe_maybe: # stack is aligned on entry! + .seh_proc _sigfe + _sigfe: # stack is aligned on entry! + .seh_endprologue +- movq %gs:8,%r10 # location of bottom of stack ++ movl cygtls_slot(%rip),%r10d ++ movq %gs:0x1480(,%r10d,8),%r10 # location of bottom of stack + 1: movl \$1,%r11d + xchgl %r11d,_cygtls.stacklock(%r10) # try to acquire lock + testl %r11d,%r11d # it will be zero +@@ -154,7 +156,8 @@ _sigfe: # stack is aligned on entry! + _sigbe: # return here after cygwin syscall + # stack is aligned on entry! + .seh_endprologue +- movq %gs:8,%r10 # address of bottom of tls ++ movl cygtls_slot(%rip),%r10d ++ movq %gs:0x1480(,%r10d,8),%r10 # address of bottom of tls + 1: movl \$1,%r11d + xchgl %r11d,_cygtls.stacklock(%r10) # try to acquire lock + testl %r11d,%r11d # it will be zero +@@ -249,7 +252,8 @@ sigdelayed: + 2: + .seh_endprologue + +- movq %gs:8,%r12 # get tls ++ movl cygtls_slot(%rip),%r12d ++ movq %gs:0x1480(,%r12d,8),%r12 # get tls + movl _cygtls.saved_errno(%r12),%r15d # temporarily save saved_errno + movq \$_cygtls.start_offset,%rcx # point to beginning of tls block + addq %r12,%rcx # and store as first arg to method +@@ -316,7 +320,8 @@ stabilize_sig_stack: + subq \$0x20,%rsp + .seh_stackalloc 32 + .seh_endprologue +- movq %gs:8,%r12 ++ movl cygtls_slot(%rip),%r12d ++ movq %gs:0x1480(,%r12d,8),%r12 + 1: movl \$1,%r10d + xchgl %r10d,_cygtls.stacklock(%r12) # try to acquire lock + testl %r10d,%r10d +-- +2.50.1 + diff --git a/pkgs/os-specific/cygwin/w32api/default.nix b/pkgs/os-specific/cygwin/w32api/default.nix new file mode 100644 index 000000000000..4950da53116d --- /dev/null +++ b/pkgs/os-specific/cygwin/w32api/default.nix @@ -0,0 +1,62 @@ +{ + lib, + stdenvNoCC, + stdenvNoLibc, + autoreconfHook, + windows, + + headersOnly ? false, +}: + +(if headersOnly then stdenvNoCC else stdenvNoLibc).mkDerivation ( + { + pname = "w32api${lib.optionalString headersOnly "-headers"}"; + + inherit (windows.mingw_w64_headers) + version + src + ; + + outputs = [ + "out" + ] + ++ lib.optional (!headersOnly) "dev"; + + configureFlags = [ (lib.enableFeature true "w32api") ]; + + enableParallelBuilding = true; + + passthru = { + incdir = "/include/w32api/"; + libdir = "/lib/w32api/"; + }; + + meta = { + description = "MinGW w32api package for Cygwin"; + inherit (windows.mingw_w64_headers.meta) + homepage + downloadPage + license + ; + platforms = lib.platforms.unix ++ lib.platforms.windows; + teams = [ lib.maintainers.corngood ]; + }; + } + // ( + if headersOnly then + { + preConfigure = '' + cd mingw-w64-headers + ''; + } + else + { + nativeBuildInputs = [ autoreconfHook ]; + + hardeningDisable = [ + "stackprotector" + "fortify" + ]; + } + ) +) diff --git a/pkgs/os-specific/linux/freeipa/default.nix b/pkgs/os-specific/linux/freeipa/default.nix index fba09bc4c2ca..1cc4f2109f5f 100644 --- a/pkgs/os-specific/linux/freeipa/default.nix +++ b/pkgs/os-specific/linux/freeipa/default.nix @@ -67,11 +67,11 @@ let in stdenv.mkDerivation rec { pname = "freeipa"; - version = "4.12.4"; + version = "4.12.5"; src = fetchurl { url = "https://releases.pagure.org/freeipa/freeipa-${version}.tar.gz"; - hash = "sha256-Nn3dHoaAt6+MZ0gMFCJniXginq4guNM8HjChren9adY="; + hash = "sha256-jvXS9Hx9VGFccFL19HogfH15JVIW7pc3/TY1pOvJglM="; }; patches = [ diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix index 3a8813b15aaa..98f438554ac0 100644 --- a/pkgs/os-specific/windows/default.nix +++ b/pkgs/os-specific/windows/default.nix @@ -7,6 +7,7 @@ newScope, overrideCC, stdenvNoLibc, + emptyDirectory, }: lib.makeScope newScope ( diff --git a/pkgs/servers/sql/postgresql/ext/omnigres.nix b/pkgs/servers/sql/postgresql/ext/omnigres.nix index b42885f42948..eca3b8721e85 100644 --- a/pkgs/servers/sql/postgresql/ext/omnigres.nix +++ b/pkgs/servers/sql/postgresql/ext/omnigres.nix @@ -21,13 +21,13 @@ let in postgresqlBuildExtension (finalAttrs: { pname = "omnigres"; - version = "0-unstable-2025-09-15"; + version = "0-unstable-2025-09-26"; src = fetchFromGitHub { owner = "omnigres"; repo = "omnigres"; - rev = "5535ce27d6c80b3e0cf891d93e3ee07af492346c"; - hash = "sha256-Ha5orh/6tvaNhGWmFpC/+ZV7WcD+nqkjwf3grhKUPys="; + rev = "247383198a95d045df0d97ece5a81adffb5c08e8"; + hash = "sha256-RrdtUtrs0Mh1VyMbF89qJhr2fnCVcQy2l1/85/mJ/4Y="; }; # This matches postInstall of PostgreSQL's generic.nix, which does this for the PGXS Makefile. diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 7cd7257db484..bbd4c0a14f65 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -176,6 +176,7 @@ let "disallowedRequisites" "allowedReferences" "allowedRequisites" + "allowedImpureDLLs" ]; inherit (stdenv) @@ -198,6 +199,7 @@ let isLinux isDarwin isWindows + isCygwin isOpenBSD isStatic isMusl @@ -358,6 +360,8 @@ let sandboxProfile ? "", propagatedSandboxProfile ? "", + allowedImpureDLLs ? [ ], + hardeningEnable ? [ ], hardeningDisable ? [ ], @@ -479,6 +483,7 @@ let nativeBuildInputs ++ optional separateDebugInfo' ../../build-support/setup-hooks/separate-debug-info.sh ++ optional isWindows ../../build-support/setup-hooks/win-dll-link.sh + ++ optional isCygwin ../../build-support/setup-hooks/cygwin-dll-link.sh ++ optionals doCheck nativeCheckInputs ++ optionals doInstallCheck nativeInstallCheckInputs; @@ -701,6 +706,19 @@ let __propagatedImpureHostDeps = computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps; } ) + // optionalAttrs (isWindows || isCygwin) ( + let + dlls = + allowedImpureDLLs + ++ lib.optionals isCygwin [ + "KERNEL32.dll" + "cygwin1.dll" + ]; + in + { + allowedImpureDLLs = if dlls != [ ] then dlls else null; + } + ) // ( if !__structuredAttrs then makeOutputChecks attrs diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 866b93d7100b..642fcc14bdf7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2239,10 +2239,6 @@ with pkgs; patool = with python3Packages; toPythonApplication patool; - pocket-casts = callPackage ../by-name/po/pocket-casts/package.nix { - electron = electron_35; - }; - pixcat = with python3Packages; toPythonApplication pixcat; pyznap = python3Packages.callPackage ../tools/backup/pyznap { }; @@ -4790,7 +4786,7 @@ with pkgs; isl = if !stdenv.hostPlatform.isDarwin then isl_0_20 else null; withoutTargetLibc = true; - langCC = false; + langCC = stdenv.targetPlatform.isCygwin; # can't compile libcygwin1.a without C++ libcCross = libc1; targetPackages.stdenv.cc.bintools = binutilsNoLibc; enableShared = @@ -4799,6 +4795,7 @@ with pkgs; # temporarily disabled due to breakage; # see https://github.com/NixOS/nixpkgs/pull/243249 && !stdenv.targetPlatform.isWindows + && !stdenv.targetPlatform.isCygwin && !(stdenv.targetPlatform.useLLVM or false); }; bintools = binutilsNoLibc; @@ -7482,6 +7479,8 @@ with pkgs; windows.mingw_w64_headers or fallback else if libc == "nblibc" then netbsd.headers + else if libc == "cygwin" then + cygwin.newlib-cygwin-headers else null; @@ -7518,6 +7517,8 @@ with pkgs; if stdenv.hostPlatform.isMinGW then windows.mingw_w64 else windows.sdk else if libc == "ucrt" then if stdenv.hostPlatform.isMinGW then windows.mingw_w64 else windows.sdk + else if libc == "cygwin" then + cygwin.newlib-cygwin-nobin else if libc == "libSystem" then if stdenv.hostPlatform.useiOSPrebuilt then darwin.iosSdkPkgs.libraries else darwin.libSystem else if libc == "fblibc" then @@ -9898,7 +9899,6 @@ with pkgs; callPackage ../servers/monitoring/prometheus/modemmanager-exporter.nix { }; prometheus-mongodb-exporter = callPackage ../servers/monitoring/prometheus/mongodb-exporter.nix { }; - prometheus-mysqld-exporter = callPackage ../servers/monitoring/prometheus/mysqld-exporter.nix { }; prometheus-nats-exporter = callPackage ../servers/monitoring/prometheus/nats-exporter.nix { }; prometheus-nextcloud-exporter = callPackage ../servers/monitoring/prometheus/nextcloud-exporter.nix @@ -10615,6 +10615,8 @@ with pkgs; windows = recurseIntoAttrs (callPackages ../os-specific/windows { }); + cygwin = recurseIntoAttrs (callPackages ../os-specific/cygwin { }); + wpa_supplicant = callPackage ../os-specific/linux/wpa_supplicant { }; wpa_supplicant_gui = libsForQt5.callPackage ../os-specific/linux/wpa_supplicant/gui.nix { }; @@ -11838,10 +11840,6 @@ with pkgs; callPackage ../applications/networking/cluster/kubectl-view-allocations { }; - kubelogin-oidc = callPackage ../by-name/ku/kubelogin-oidc/package.nix { - buildGoModule = buildGo124Module; - }; - kthxbye = callPackage ../servers/monitoring/prometheus/kthxbye.nix { }; linkerd = callPackage ../applications/networking/cluster/linkerd { }; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index ec753700a532..c40423412adc 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -112,6 +112,10 @@ let windows.pthreads = nativePlatforms; }; + cygwinCommon = { + hello = nativePlatforms; + }; + wasiCommon = { gmp = nativePlatforms; boehmgc = nativePlatforms; @@ -206,6 +210,8 @@ in # Test some cross builds on 64 bit mingw-w64 crossMingwW64 = mapTestOnCross systems.examples.mingwW64 windowsCommon; + x86_64-cygwin = mapTestOnCross systems.examples.x86_64-cygwin cygwinCommon; + # Linux on mipsel fuloongminipc = mapTestOnCross systems.examples.fuloongminipc linuxCommon; ben-nanonote = mapTestOnCross systems.examples.ben-nanonote linuxCommon;