diff --git a/lib/systems/default.nix b/lib/systems/default.nix index ce257d5307b6..eab2561678e3 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -531,6 +531,35 @@ let "-uefi" ]; }; + } + // { + go = { + # See https://pkg.go.dev/internal/platform for a list of known platforms + GOARCH = + { + "aarch64" = "arm64"; + "arm" = "arm"; + "armv5tel" = "arm"; + "armv6l" = "arm"; + "armv7l" = "arm"; + "i686" = "386"; + "loongarch64" = "loong64"; + "mips" = "mips"; + "mips64el" = "mips64le"; + "mipsel" = "mipsle"; + "powerpc64" = "ppc64"; + "powerpc64le" = "ppc64le"; + "riscv64" = "riscv64"; + "s390x" = "s390x"; + "x86_64" = "amd64"; + "wasm32" = "wasm"; + } + .${final.parsed.cpu.name} or (throw "Unknown CPU variant ${final.parsed.cpu.name} by Go"); + GOOS = if final.isWasi then "wasip1" else final.parsed.kernel.name; + + # See https://go.dev/wiki/GoArm + GOARM = toString (lib.intersectLists [ (final.parsed.cpu.version or "") ] [ "5" "6" "7" ]); + }; }; in assert final.useAndroidPrebuilt -> final.isAndroid; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 18664befdbbe..353b28d3d332 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -25826,6 +25826,12 @@ name = "Vinicius Bernardino"; keys = [ { fingerprint = "F0D3 920C 722A 541F 0CCD 66E3 A7BA BA05 3D78 E7CA"; } ]; }; + vnpower = { + email = "vnpower@loang.net"; + github = "vntsuyo"; + githubId = 209139160; + name = "VnPower"; + }; vog = { email = "v@njh.eu"; github = "vog"; diff --git a/nixos/modules/services/matrix/lk-jwt-service.nix b/nixos/modules/services/matrix/lk-jwt-service.nix index 9092b68a58bf..2be1fe806d5c 100644 --- a/nixos/modules/services/matrix/lk-jwt-service.nix +++ b/nixos/modules/services/matrix/lk-jwt-service.nix @@ -10,7 +10,7 @@ in { meta.maintainers = [ lib.maintainers.quadradical ]; options.services.lk-jwt-service = { - enable = lib.mkEnableOption "Enable lk-jwt-service"; + enable = lib.mkEnableOption "lk-jwt-service"; package = lib.mkPackageOption pkgs "lk-jwt-service" { }; livekitUrl = lib.mkOption { @@ -28,9 +28,7 @@ in Path to a file containing the credential mapping (`: `) to access LiveKit. Example: - ``` - lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE - ``` + `lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE` For more information, see . ''; diff --git a/nixos/modules/services/networking/livekit.nix b/nixos/modules/services/networking/livekit.nix index b34fc3b61d86..523e84094ebd 100644 --- a/nixos/modules/services/networking/livekit.nix +++ b/nixos/modules/services/networking/livekit.nix @@ -12,7 +12,7 @@ in { meta.maintainers = with lib.maintainers; [ quadradical ]; options.services.livekit = { - enable = lib.mkEnableOption "Enable the livekit server"; + enable = lib.mkEnableOption "the livekit server"; package = lib.mkPackageOption pkgs "livekit" { }; keyFile = lib.mkOption { @@ -20,10 +20,9 @@ in description = '' LiveKit key file holding one or multiple application secrets. Use `livekit-server generate-keys` to generate a random key name and secret. - The file should have the format `: `. Example: - ``` - lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE - ``` + The file should have the format `: `. + Example: + `lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE` Individual key/secret pairs need to be passed to clients to connect to this instance. ''; diff --git a/pkgs/applications/misc/stork/default.nix b/pkgs/applications/misc/stork/default.nix index 7051c11cc9eb..de81e69aa228 100644 --- a/pkgs/applications/misc/stork/default.nix +++ b/pkgs/applications/misc/stork/default.nix @@ -4,21 +4,23 @@ fetchFromGitHub, openssl, pkg-config, + versionCheckHook, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "stork"; version = "1.6.0"; src = fetchFromGitHub { owner = "jameslittle230"; repo = "stork"; - rev = "v${version}"; - sha256 = "sha256-qGcEhoytkCkcaA5eHc8GVgWvbOIyrO6BCp+EHva6wTw="; + tag = "v${finalAttrs.version}"; + hash = "sha256-qGcEhoytkCkcaA5eHc8GVgWvbOIyrO6BCp+EHva6wTw="; }; - useFetchCargoVendor = true; - cargoHash = "sha256-nN2aNNBq2YDOY9H9682hvwrlI5WTg7s1EPi68UuBTBM="; + cargoPatches = [ ./update-wasm-bindgen.patch ]; + + cargoHash = "sha256-d6PLrs/n9riQ9oQTWn+6Ec1E5JhJZ7akDg8/UB21GzI="; checkFlags = [ # Fails for 1.6.0, but binary works fine @@ -29,11 +31,14 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ]; - meta = with lib; { + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + meta = { description = "Impossibly fast web search, made for static sites"; homepage = "https://github.com/jameslittle230/stork"; - license = with licenses; [ asl20 ]; - maintainers = with maintainers; [ chuahou ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ chuahou ]; mainProgram = "stork"; }; -} +}) diff --git a/pkgs/applications/misc/stork/update-wasm-bindgen.patch b/pkgs/applications/misc/stork/update-wasm-bindgen.patch new file mode 100644 index 000000000000..56e276302323 --- /dev/null +++ b/pkgs/applications/misc/stork/update-wasm-bindgen.patch @@ -0,0 +1,253 @@ +diff --git a/Cargo.lock b/Cargo.lock +index df6305c..ec55cb0 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1,6 +1,6 @@ + # This file is automatically @generated by Cargo. + # It is not intended for manual editing. +-version = 3 ++version = 4 + + [[package]] + name = "aho-corasick" +@@ -292,7 +292,7 @@ dependencies = [ + "proc-macro2", + "quote", + "smallvec", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -302,7 +302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" + dependencies = [ + "quote", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -334,7 +334,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa" + dependencies = [ + "quote", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -347,7 +347,7 @@ dependencies = [ + "proc-macro2", + "quote", + "rustc_version", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -585,7 +585,7 @@ dependencies = [ + "markup5ever", + "proc-macro2", + "quote", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -911,9 +911,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + + [[package]] + name = "once_cell" +-version = "1.8.0" ++version = "1.21.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" ++checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + + [[package]] + name = "oorandom" +@@ -1036,7 +1036,7 @@ dependencies = [ + "proc-macro-hack", + "proc-macro2", + "quote", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -1135,11 +1135,11 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + + [[package]] + name = "proc-macro2" +-version = "1.0.32" ++version = "1.0.95" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" ++checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" + dependencies = [ +- "unicode-xid", ++ "unicode-ident", + ] + + [[package]] +@@ -1156,9 +1156,9 @@ dependencies = [ + + [[package]] + name = "quote" +-version = "1.0.9" ++version = "1.0.40" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" ++checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" + dependencies = [ + "proc-macro2", + ] +@@ -1357,6 +1357,12 @@ dependencies = [ + "semver", + ] + ++[[package]] ++name = "rustversion" ++version = "1.0.20" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" ++ + [[package]] + name = "ryu" + version = "1.0.5" +@@ -1464,7 +1470,7 @@ checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" + dependencies = [ + "proc-macro2", + "quote", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -1535,7 +1541,7 @@ checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" + dependencies = [ + "proc-macro2", + "quote", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -1671,6 +1677,17 @@ dependencies = [ + "unicode-xid", + ] + ++[[package]] ++name = "syn" ++version = "2.0.101" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "unicode-ident", ++] ++ + [[package]] + name = "tempfile" + version = "3.3.0" +@@ -1750,7 +1767,7 @@ checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" + dependencies = [ + "proc-macro2", + "quote", +- "syn", ++ "syn 1.0.82", + ] + + [[package]] +@@ -1885,6 +1902,12 @@ version = "0.3.7" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" + ++[[package]] ++name = "unicode-ident" ++version = "1.0.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" ++ + [[package]] + name = "unicode-linebreak" + version = "0.1.2" +@@ -1992,26 +2015,27 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + + [[package]] + name = "wasm-bindgen" +-version = "0.2.78" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" ++checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" + dependencies = [ + "cfg-if", ++ "once_cell", ++ "rustversion", + "wasm-bindgen-macro", + ] + + [[package]] + name = "wasm-bindgen-backend" +-version = "0.2.78" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" ++checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" + dependencies = [ + "bumpalo", +- "lazy_static", + "log", + "proc-macro2", + "quote", +- "syn", ++ "syn 2.0.101", + "wasm-bindgen-shared", + ] + +@@ -2029,9 +2053,9 @@ dependencies = [ + + [[package]] + name = "wasm-bindgen-macro" +-version = "0.2.78" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" ++checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" + dependencies = [ + "quote", + "wasm-bindgen-macro-support", +@@ -2039,22 +2063,25 @@ dependencies = [ + + [[package]] + name = "wasm-bindgen-macro-support" +-version = "0.2.78" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" ++checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" + dependencies = [ + "proc-macro2", + "quote", +- "syn", ++ "syn 2.0.101", + "wasm-bindgen-backend", + "wasm-bindgen-shared", + ] + + [[package]] + name = "wasm-bindgen-shared" +-version = "0.2.78" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" ++checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" ++dependencies = [ ++ "unicode-ident", ++] + + [[package]] + name = "web-sys" diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index 2694f9ab05da..1933c831b660 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -24,6 +24,7 @@ xvfb-run, gitUpdater, md4c, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { @@ -37,19 +38,27 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-rbnGSdzPuFdSqWPaKtF3n4oLZ9l+4jX7KtnmcrTvwbs="; }; - postPatch = - '' - substituteInPlace CMakeLists.txt \ - --replace-fail 'CPMAddPackage(NAME md4c' \ - 'CPMFindPackage(NAME md4c' - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace CMakeLists.txt \ - --replace-fail 'SET(CMAKE_INSTALL_PREFIX "''${PROJECT_BINARY_DIR}/Stellarium.app/Contents")' \ - 'SET(CMAKE_INSTALL_PREFIX "${placeholder "out"}/Applications/Stellarium.app/Contents")' - substituteInPlace src/CMakeLists.txt \ - --replace-fail "\''${_qt_bin_dir}/../" "${qtmultimedia}/lib/qt-6/" - ''; + patches = [ + # Patch from upstream to fix compilation with Qt 6.9 + (fetchpatch { + url = "https://github.com/Stellarium/stellarium/commit/bbcd60ae52b6f1395ef2390a2d2ba9d0f98db548.patch"; + hash = "sha256-9VaqLASxn1udUApDZRI5SCqCXNGOHUcdbM+pKhW8ZAg="; + }) + + # Upstream patch to support building with a locally provided md4c package + (fetchpatch { + url = "https://github.com/Stellarium/stellarium/commit/972c6ba72f575964fbf2049a22d51b4d1fd3983c.patch"; + hash = "sha256-ef1Jw5NeT0KLVKQt7VcvQh83n2ujMFK+Nv0165ZQ2r8="; + }) + ]; + + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace CMakeLists.txt \ + --replace-fail 'SET(CMAKE_INSTALL_PREFIX "''${PROJECT_BINARY_DIR}/Stellarium.app/Contents")' \ + 'SET(CMAKE_INSTALL_PREFIX "${placeholder "out"}/Applications/Stellarium.app/Contents")' + substituteInPlace src/CMakeLists.txt \ + --replace-fail "\''${_qt_bin_dir}/../" "${qtmultimedia}/lib/qt-6/" + ''; nativeBuildInputs = [ cmake diff --git a/pkgs/applications/video/haruna/default.nix b/pkgs/applications/video/haruna/default.nix index 94c4b9342fcd..4d4fbee44a14 100644 --- a/pkgs/applications/video/haruna/default.nix +++ b/pkgs/applications/video/haruna/default.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation rec { pname = "haruna"; - version = "1.3.3"; + version = "1.4.0"; src = fetchFromGitLab { owner = "multimedia"; repo = "haruna"; rev = "v${version}"; - hash = "sha256-EoB8qoCiB6jvHqfhkGHhiq9/79MBLt6GguvRIwY90B0="; + hash = "sha256-7983qZ7c3i8Ilyvu36t02zeIcVO96PXGNLH3wq6JsvI="; domain = "invent.kde.org"; }; diff --git a/pkgs/by-name/az/azurite/package.nix b/pkgs/by-name/az/azurite/package.nix index db06e0ef5dff..24fb96652f95 100644 --- a/pkgs/by-name/az/azurite/package.nix +++ b/pkgs/by-name/az/azurite/package.nix @@ -10,16 +10,16 @@ buildNpmPackage rec { pname = "azurite"; - version = "3.33.0"; + version = "3.34.0"; src = fetchFromGitHub { owner = "Azure"; repo = "Azurite"; rev = "v${version}"; - hash = "sha256-aH9FAT49y4k87lzerQdgLqi+ZlucORQX4w1NBFtEfMw="; + hash = "sha256-6NECduq2ewed8bR4rlF5MW8mGcsgu8bqgA/DBt8ywtM="; }; - npmDepsHash = "sha256-jfa04iWz0aOiFD1YkXn5YEXqQcrY+rIDbVmmUaA5sYc="; + npmDepsHash = "sha256-WRaD99CsIuH3BrO01eVuoEZo40VjuScnVzmlFcKpj8g="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/cr/crengine-ng/package.nix b/pkgs/by-name/cr/crengine-ng/package.nix new file mode 100644 index 000000000000..13746edacd89 --- /dev/null +++ b/pkgs/by-name/cr/crengine-ng/package.nix @@ -0,0 +1,58 @@ +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + pkg-config, + fribidi, + libunibreak, + freetype, + fontconfig, + harfbuzz, + zlib, + zstd, + libpng, + libjpeg, + utf8proc, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "crengine-ng"; + version = "0.9.12"; + + src = fetchFromGitLab { + owner = "coolreader-ng"; + repo = "crengine-ng"; + tag = finalAttrs.version; + hash = "sha256-sNExFNnUKfl+4VCWeqK/Pt2Qy6DtYn7GYnwz5hHkjZw="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + fribidi + libunibreak + freetype + fontconfig + harfbuzz + zlib + zstd + libpng + libjpeg + utf8proc + ]; + + postPatch = '' + substituteInPlace crengine/crengine-ng.pc.cmake \ + --replace-fail '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ + ''; + + meta = { + homepage = "https://gitlab.com/coolreader-ng/crengine-ng"; + description = "Cross-platform library designed to implement text viewers and e-book readers"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ vnpower ]; + }; +}) diff --git a/pkgs/by-name/kl/klipperscreen/package.nix b/pkgs/by-name/kl/klipperscreen/package.nix index 3a242ab34729..31593b21b9be 100644 --- a/pkgs/by-name/kl/klipperscreen/package.nix +++ b/pkgs/by-name/kl/klipperscreen/package.nix @@ -8,14 +8,14 @@ }: python3.pkgs.buildPythonApplication rec { pname = "KlipperScreen"; - version = "0.4.4"; + version = "0.4.5"; format = "other"; src = fetchFromGitHub { owner = "KlipperScreen"; repo = "KlipperScreen"; rev = "v${version}"; - hash = "sha256-MxuUmkuEnfFC0iPwNUc0Wh8bIEl1J1FMgGEYMjHePZ8="; + hash = "sha256-lKGMz5N4lKSqA614wjJiUfP5fUY+WqFDPxeX/Iyp2TQ="; }; nativeBuildInputs = [ @@ -33,6 +33,7 @@ python3.pkgs.buildPythonApplication rec { mpv six dbus-python + sdbus-networkmanager ]; dontWrapGApps = true; diff --git a/pkgs/by-name/mo/mopidy-argos/package.nix b/pkgs/by-name/mo/mopidy-argos/package.nix index 1b7435b05ac6..3bf527af6138 100644 --- a/pkgs/by-name/mo/mopidy-argos/package.nix +++ b/pkgs/by-name/mo/mopidy-argos/package.nix @@ -13,14 +13,14 @@ }: python3Packages.buildPythonApplication rec { pname = "mopidy-argos"; - version = "1.15.0"; + version = "1.16.0"; pyproject = false; # Built with meson src = fetchFromGitHub { owner = "orontee"; repo = "argos"; tag = "v${version}"; - hash = "sha256-fHdaYFq38t4uzpVD4qoAeVm5yWgj2O7hy4LDgZ1bZj4="; + hash = "sha256-wmAGzURFPseBxBD6mW4rAHPrxmQHx03DQxvTBF3T/pg="; }; postPatch = '' patchShebangs build-aux/meson/postinstall.py diff --git a/pkgs/by-name/oc/ocl-icd/package.nix b/pkgs/by-name/oc/ocl-icd/package.nix index ba360ae32f75..3c44fa98db25 100644 --- a/pkgs/by-name/oc/ocl-icd/package.nix +++ b/pkgs/by-name/oc/ocl-icd/package.nix @@ -26,9 +26,14 @@ stdenv.mkDerivation rec { buildInputs = [ opencl-headers ] ++ lib.optionals stdenv.hostPlatform.isWindows [ windows.dlfcn ]; - configureFlags = [ - "--enable-custom-vendordir=/run/opengl-driver/etc/OpenCL/vendors" - ]; + configureFlags = + [ + "--enable-custom-vendordir=/run/opengl-driver/etc/OpenCL/vendors" + ] + ++ lib.optionals (!lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform) [ + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes" + ]; # fixes: can't build x86_64-w64-mingw32 shared library unless -no-undefined is specified makeFlags = lib.optionals stdenv.hostPlatform.isWindows [ "LDFLAGS=-no-undefined" ]; diff --git a/pkgs/by-name/op/openclonk/package.nix b/pkgs/by-name/op/openclonk/package.nix index aec87ac14830..0626cf498086 100644 --- a/pkgs/by-name/op/openclonk/package.nix +++ b/pkgs/by-name/op/openclonk/package.nix @@ -1,44 +1,53 @@ { lib, stdenv, + + # sources fetchurl, fetchFromGitHub, fetchDebianPatch, + + # nativeBuildInputs cmake, + ninja, pkg-config, - SDL2, - libvorbis, - libogg, - libjpeg, - libpng, - freetype, - glew, - tinyxml, - openal, - libepoxy, + + # buildInputs curl, freealut, - readline, + freetype, + glew, libb2, - gcc-unwrapped, - enableSoundtrack ? false, # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther + libepoxy, + libjpeg, + libogg, + libpng, + libvorbis, + libXrandr, + openal, + readline, + SDL2, + tinyxml, + + # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther + enableSoundtrack ? false, }: let soundtrack_src = fetchurl { url = "http://www.openclonk.org/download/Music.ocg"; - sha256 = "1ckj0dlpp5zsnkbb5qxxfxpkiq76jj2fgj91fyf3ll7n0gbwcgw5"; + hash = "sha256-Mye6pl1eSgEQ/vOLfDsdHDjp2ljb3euGKBr7s36+2W4="; }; in stdenv.mkDerivation { - version = "unstable-2023-10-30"; + version = "9.0-unstable-2025-01-11"; pname = "openclonk"; src = fetchFromGitHub { owner = "openclonk"; repo = "openclonk"; - rev = "5275334a11ef7c23ce809f35d6b443abd91b415f"; - sha256 = "14x5b2rh739156l4072rbsnv9n862jz1zafi6ng158ja5fwl16l2"; + rev = "db975b4a887883f4413d1ce3181f303d83ee0ab5"; + hash = "sha256-Vt7umsfe2TVZAeKJOXCi2ZCbSv6wAotuMflS7ii7Y/E="; }; patches = [ @@ -51,52 +60,47 @@ stdenv.mkDerivation { }) ]; - enableParallelInstalling = false; - postInstall = - '''' + '' + mv $out/games/openclonk $out/bin + rm -r $out/games + '' + lib.optionalString enableSoundtrack '' ln -sv ${soundtrack_src} $out/share/games/openclonk/Music.ocg ''; nativeBuildInputs = [ cmake + ninja pkg-config ]; buildInputs = [ - SDL2 - libvorbis - libogg - libjpeg - libpng + curl + freealut freetype glew - tinyxml - openal - freealut - libepoxy - curl - readline libb2 - ]; - - cmakeFlags = [ - "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" - "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" + libepoxy + libjpeg + libogg + libpng + libvorbis + libXrandr + openal + readline + SDL2 + tinyxml ]; cmakeBuildType = "RelWithDebInfo"; - meta = with lib; { + meta = { description = "Free multiplayer action game in which you control clonks, small but witty and nimble humanoid beings"; homepage = "https://www.openclonk.org"; - license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc; + license = with lib.licenses; [ isc ] ++ lib.optional enableSoundtrack unfreeRedistributable; mainProgram = "openclonk"; - maintainers = [ ]; - platforms = [ - "x86_64-linux" - "i686-linux" - ]; + maintainers = with lib.maintainers; [ wolfgangwalther ]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix b/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix index 61456293a84a..0c51f82571a2 100644 --- a/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix +++ b/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "roddhjav-apparmor-rules"; - version = "0-unstable-2025-04-25"; + version = "0-unstable-2025-05-03"; src = fetchFromGitHub { owner = "roddhjav"; repo = "apparmor.d"; - rev = "3295a1334a7bbbe66b1f857a43d414ed96534455"; - hash = "sha256-5RZzqblfRheqzEWvyPsDLJdG7IImblOpz5bIsooIrAo="; + rev = "6d8eda6b8735626d5c2d25a810fb7600a4e3d60e"; + hash = "sha256-y0qdiijSZligYPpt5qbK36KAt+q6mHN03lOqq6HPSRA="; }; dontConfigure = true; diff --git a/pkgs/by-name/un/unnamed-sdvx-clone/package.nix b/pkgs/by-name/un/unnamed-sdvx-clone/package.nix index 5324043fb5d1..1ac3eac42581 100644 --- a/pkgs/by-name/un/unnamed-sdvx-clone/package.nix +++ b/pkgs/by-name/un/unnamed-sdvx-clone/package.nix @@ -16,12 +16,13 @@ curl, libcpr, rapidjson, + libX11, + libGL, writeShellScriptBin, makeDesktopItem, lib, copyDesktopItems, }: - stdenv.mkDerivation (finalAttrs: { pname = "unnamed-sdvx-clone"; version = "0.6.0"; @@ -54,6 +55,8 @@ stdenv.mkDerivation (finalAttrs: { curl libcpr rapidjson + libX11 + libGL ]; cmakeFlags = [ diff --git a/pkgs/development/compilers/go/1.23.nix b/pkgs/development/compilers/go/1.23.nix index 54ba330d6c7f..ba9cf4e3d8ff 100644 --- a/pkgs/development/compilers/go/1.23.nix +++ b/pkgs/development/compilers/go/1.23.nix @@ -19,28 +19,6 @@ let skopeoTest = skopeo.override { buildGoModule = buildGo123Module; }; - goarch = - platform: - { - "aarch64" = "arm64"; - "arm" = "arm"; - "armv5tel" = "arm"; - "armv6l" = "arm"; - "armv7l" = "arm"; - "i686" = "386"; - "loongarch64" = "loong64"; - "mips" = "mips"; - "mips64el" = "mips64le"; - "mipsel" = "mipsle"; - "powerpc64" = "ppc64"; - "powerpc64le" = "ppc64le"; - "riscv64" = "riscv64"; - "s390x" = "s390x"; - "x86_64" = "amd64"; - "wasm32" = "wasm"; - } - .${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); - # We need a target compiler which is still runnable at build time, # to handle the cross-building case where build != host == target targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; @@ -88,22 +66,18 @@ stdenv.mkDerivation (finalAttrs: { ./go_no_vendor_checks-1.23.patch ]; - GOOS = if stdenv.targetPlatform.isWasi then "wasip1" else stdenv.targetPlatform.parsed.kernel.name; - GOARCH = goarch stdenv.targetPlatform; + inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. # Go will nevertheless build a for host system that we will copy over in # the install phase. - GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name; - GOHOSTARCH = goarch stdenv.buildPlatform; + GOHOSTOS = stdenv.buildPlatform.go.GOOS; + GOHOSTARCH = stdenv.buildPlatform.go.GOARCH; # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those # to be different from CC/CXX CC_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}cc" else null; CXX_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}c++" else null; - GOARM = toString ( - lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ] - ); GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 # Wasi does not support CGO CGO_ENABLED = if stdenv.targetPlatform.isWasi then 0 else 1; diff --git a/pkgs/development/compilers/go/1.24.nix b/pkgs/development/compilers/go/1.24.nix index a6c33a4a67d1..6991b06118b6 100644 --- a/pkgs/development/compilers/go/1.24.nix +++ b/pkgs/development/compilers/go/1.24.nix @@ -19,28 +19,6 @@ let skopeoTest = skopeo.override { buildGoModule = buildGo124Module; }; - goarch = - platform: - { - "aarch64" = "arm64"; - "arm" = "arm"; - "armv5tel" = "arm"; - "armv6l" = "arm"; - "armv7l" = "arm"; - "i686" = "386"; - "loongarch64" = "loong64"; - "mips" = "mips"; - "mips64el" = "mips64le"; - "mipsel" = "mipsle"; - "powerpc64" = "ppc64"; - "powerpc64le" = "ppc64le"; - "riscv64" = "riscv64"; - "s390x" = "s390x"; - "x86_64" = "amd64"; - "wasm32" = "wasm"; - } - .${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); - # We need a target compiler which is still runnable at build time, # to handle the cross-building case where build != host == target targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; @@ -88,22 +66,18 @@ stdenv.mkDerivation (finalAttrs: { ./go_no_vendor_checks-1.23.patch ]; - GOOS = if stdenv.targetPlatform.isWasi then "wasip1" else stdenv.targetPlatform.parsed.kernel.name; - GOARCH = goarch stdenv.targetPlatform; + inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. # Go will nevertheless build a for host system that we will copy over in # the install phase. - GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name; - GOHOSTARCH = goarch stdenv.buildPlatform; + GOHOSTOS = stdenv.buildPlatform.go.GOOS; + GOHOSTARCH = stdenv.buildPlatform.go.GOARCH; # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those # to be different from CC/CXX CC_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}cc" else null; CXX_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}c++" else null; - GOARM = toString ( - lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ] - ); GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 # Wasi does not support CGO CGO_ENABLED = if stdenv.targetPlatform.isWasi then 0 else 1; diff --git a/pkgs/development/compilers/go/binary.nix b/pkgs/development/compilers/go/binary.nix index 8c6fbeddfbb3..b32b70a392ec 100644 --- a/pkgs/development/compilers/go/binary.nix +++ b/pkgs/development/compilers/go/binary.nix @@ -6,25 +6,7 @@ hashes, }: let - toGoKernel = platform: if platform.isDarwin then "darwin" else platform.parsed.kernel.name; - - toGoCPU = - platform: - { - "i686" = "386"; - "x86_64" = "amd64"; - "aarch64" = "arm64"; - "armv6l" = "armv6l"; - "armv7l" = "armv6l"; - "powerpc64le" = "ppc64le"; - "riscv64" = "riscv64"; - "loongarch64" = "loong64"; - } - .${platform.parsed.cpu.name} or (throw "Unsupported CPU ${platform.parsed.cpu.name}"); - - toGoPlatform = platform: "${toGoKernel platform}-${toGoCPU platform}"; - - platform = toGoPlatform stdenv.hostPlatform; + platform = with stdenv.hostPlatform.go; "${GOOS}-${if GOARCH == "arm" then "armv6l" else GOARCH}"; in stdenv.mkDerivation { name = "go-${version}-${platform}-bootstrap"; diff --git a/pkgs/development/python-modules/deepdiff/default.nix b/pkgs/development/python-modules/deepdiff/default.nix index c8a341dab571..a4bcc20e3041 100644 --- a/pkgs/development/python-modules/deepdiff/default.nix +++ b/pkgs/development/python-modules/deepdiff/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + stdenv, # build-system setuptools, @@ -19,7 +20,6 @@ numpy, pytestCheckHook, python-dateutil, - toml, tomli-w, polars, pandas, @@ -65,14 +65,19 @@ buildPythonPackage rec { pandas ] ++ lib.flatten (lib.attrValues optional-dependencies); - disabledTests = [ - # not compatible with pydantic 2.x - "test_pydantic1" - "test_pydantic2" - # Require pytest-benchmark - "test_cache_deeply_nested_a1" - "test_lfu" - ]; + disabledTests = + [ + # not compatible with pydantic 2.x + "test_pydantic1" + "test_pydantic2" + # Require pytest-benchmark + "test_cache_deeply_nested_a1" + "test_lfu" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Times out on darwin in Hydra + "test_repeated_timer" + ]; pythonImportsCheck = [ "deepdiff" ]; diff --git a/pkgs/development/python-modules/pygccxml/default.nix b/pkgs/development/python-modules/pygccxml/default.nix index ed0f5cbbfb5f..fccceadcb4e4 100644 --- a/pkgs/development/python-modules/pygccxml/default.nix +++ b/pkgs/development/python-modules/pygccxml/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pygccxml"; - version = "2.6.1"; + version = "3.0.2"; pyproject = true; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "gccxml"; repo = "pygccxml"; tag = "v${version}"; - hash = "sha256-SVlzgIlaKVbnestxTJX2yjVaspZ6fq5bBokRy8jzD3Q="; + hash = "sha256-pIo25/tKiXpyiWUkpILPDPTNWIUEGK4uRSTpvoGwS1Q="; }; nativeBuildInputs = [ setuptools ]; @@ -36,7 +36,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python package for easy C++ declarations navigation"; homepage = "https://github.com/gccxml/pygccxml"; - changelog = "https://github.com/CastXML/pygccxml/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/CastXML/pygccxml/blob/${src.tag}/CHANGELOG.md"; license = licenses.boost; maintainers = with maintainers; [ teto ]; }; diff --git a/pkgs/development/python-modules/sdbus-networkmanager/default.nix b/pkgs/development/python-modules/sdbus-networkmanager/default.nix new file mode 100644 index 000000000000..e00c15665d21 --- /dev/null +++ b/pkgs/development/python-modules/sdbus-networkmanager/default.nix @@ -0,0 +1,20 @@ +{ + buildPythonPackage, + fetchPypi, + sdbus, +}: + +let + pname = "sdbus-networkmanager"; + version = "2.0.0"; +in +buildPythonPackage { + inherit pname version; + + propagatedBuildInputs = [ sdbus ]; + + src = fetchPypi { + inherit pname version; + hash = "sha256-NXKsOoGJxoPsBBassUh2F3Oo8Iga09eLbW9oZO/5xQs="; + }; +} diff --git a/pkgs/development/python-modules/sdbus/default.nix b/pkgs/development/python-modules/sdbus/default.nix new file mode 100644 index 000000000000..a51f3cd84360 --- /dev/null +++ b/pkgs/development/python-modules/sdbus/default.nix @@ -0,0 +1,22 @@ +{ + pkgs, + buildPythonPackage, + fetchPypi, + pkg-config, +}: + +let + pname = "sdbus"; + version = "0.14.0"; +in +buildPythonPackage { + inherit pname version; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ pkgs.systemd ]; + + src = fetchPypi { + inherit pname version; + hash = "sha256-QdYbdswFqepB0Q1woR6fmobtlfQPcTYwxeGDQODkx28="; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 90ee78dc1df1..70a7b14906c3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15528,6 +15528,10 @@ self: super: with self; { scspell = callPackage ../development/python-modules/scspell { }; + sdbus = callPackage ../development/python-modules/sdbus { }; + + sdbus-networkmanager = callPackage ../development/python-modules/sdbus-networkmanager { }; + sdds = callPackage ../development/python-modules/sdds { }; sdjson = callPackage ../development/python-modules/sdjson { };