Merge master into staging-next

This commit is contained in:
Vladimír Čunát 2025-05-04 08:07:53 +02:00
commit 7aeb16e7ff
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
24 changed files with 530 additions and 179 deletions

View file

@ -531,6 +531,35 @@ let
"-uefi" "-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 in
assert final.useAndroidPrebuilt -> final.isAndroid; assert final.useAndroidPrebuilt -> final.isAndroid;

View file

@ -25826,6 +25826,12 @@
name = "Vinicius Bernardino"; name = "Vinicius Bernardino";
keys = [ { fingerprint = "F0D3 920C 722A 541F 0CCD 66E3 A7BA BA05 3D78 E7CA"; } ]; keys = [ { fingerprint = "F0D3 920C 722A 541F 0CCD 66E3 A7BA BA05 3D78 E7CA"; } ];
}; };
vnpower = {
email = "vnpower@loang.net";
github = "vntsuyo";
githubId = 209139160;
name = "VnPower";
};
vog = { vog = {
email = "v@njh.eu"; email = "v@njh.eu";
github = "vog"; github = "vog";

View file

@ -10,7 +10,7 @@ in
{ {
meta.maintainers = [ lib.maintainers.quadradical ]; meta.maintainers = [ lib.maintainers.quadradical ];
options.services.lk-jwt-service = { 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" { }; package = lib.mkPackageOption pkgs "lk-jwt-service" { };
livekitUrl = lib.mkOption { livekitUrl = lib.mkOption {
@ -28,9 +28,7 @@ in
Path to a file containing the credential mapping (`<keyname>: <secret>`) to access LiveKit. Path to a file containing the credential mapping (`<keyname>: <secret>`) to access LiveKit.
Example: Example:
``` `lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE`
lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE
```
For more information, see <https://github.com/element-hq/lk-jwt-service#configuration>. For more information, see <https://github.com/element-hq/lk-jwt-service#configuration>.
''; '';

View file

@ -12,7 +12,7 @@ in
{ {
meta.maintainers = with lib.maintainers; [ quadradical ]; meta.maintainers = with lib.maintainers; [ quadradical ];
options.services.livekit = { options.services.livekit = {
enable = lib.mkEnableOption "Enable the livekit server"; enable = lib.mkEnableOption "the livekit server";
package = lib.mkPackageOption pkgs "livekit" { }; package = lib.mkPackageOption pkgs "livekit" { };
keyFile = lib.mkOption { keyFile = lib.mkOption {
@ -20,10 +20,9 @@ in
description = '' description = ''
LiveKit key file holding one or multiple application secrets. Use `livekit-server generate-keys` to generate a random key name and secret. 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 `<keyname>: <secret>`. Example: The file should have the format `<keyname>: <secret>`.
``` Example:
lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE `lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE`
```
Individual key/secret pairs need to be passed to clients to connect to this instance. Individual key/secret pairs need to be passed to clients to connect to this instance.
''; '';

View file

@ -4,21 +4,23 @@
fetchFromGitHub, fetchFromGitHub,
openssl, openssl,
pkg-config, pkg-config,
versionCheckHook,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage (finalAttrs: {
pname = "stork"; pname = "stork";
version = "1.6.0"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jameslittle230"; owner = "jameslittle230";
repo = "stork"; repo = "stork";
rev = "v${version}"; tag = "v${finalAttrs.version}";
sha256 = "sha256-qGcEhoytkCkcaA5eHc8GVgWvbOIyrO6BCp+EHva6wTw="; hash = "sha256-qGcEhoytkCkcaA5eHc8GVgWvbOIyrO6BCp+EHva6wTw=";
}; };
useFetchCargoVendor = true; cargoPatches = [ ./update-wasm-bindgen.patch ];
cargoHash = "sha256-nN2aNNBq2YDOY9H9682hvwrlI5WTg7s1EPi68UuBTBM=";
cargoHash = "sha256-d6PLrs/n9riQ9oQTWn+6Ec1E5JhJZ7akDg8/UB21GzI=";
checkFlags = [ checkFlags = [
# Fails for 1.6.0, but binary works fine # Fails for 1.6.0, but binary works fine
@ -29,11 +31,14 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ]; buildInputs = [ openssl ];
meta = with lib; { doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
meta = {
description = "Impossibly fast web search, made for static sites"; description = "Impossibly fast web search, made for static sites";
homepage = "https://github.com/jameslittle230/stork"; homepage = "https://github.com/jameslittle230/stork";
license = with licenses; [ asl20 ]; license = lib.licenses.asl20;
maintainers = with maintainers; [ chuahou ]; maintainers = with lib.maintainers; [ chuahou ];
mainProgram = "stork"; mainProgram = "stork";
}; };
} })

View file

@ -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"

View file

@ -24,6 +24,7 @@
xvfb-run, xvfb-run,
gitUpdater, gitUpdater,
md4c, md4c,
fetchpatch,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -37,13 +38,21 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-rbnGSdzPuFdSqWPaKtF3n4oLZ9l+4jX7KtnmcrTvwbs="; hash = "sha256-rbnGSdzPuFdSqWPaKtF3n4oLZ9l+4jX7KtnmcrTvwbs=";
}; };
postPatch = patches = [
'' # Patch from upstream to fix compilation with Qt 6.9
substituteInPlace CMakeLists.txt \ (fetchpatch {
--replace-fail 'CPMAddPackage(NAME md4c' \ url = "https://github.com/Stellarium/stellarium/commit/bbcd60ae52b6f1395ef2390a2d2ba9d0f98db548.patch";
'CPMFindPackage(NAME md4c' hash = "sha256-9VaqLASxn1udUApDZRI5SCqCXNGOHUcdbM+pKhW8ZAg=";
'' })
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
# 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 \ substituteInPlace CMakeLists.txt \
--replace-fail 'SET(CMAKE_INSTALL_PREFIX "''${PROJECT_BINARY_DIR}/Stellarium.app/Contents")' \ --replace-fail 'SET(CMAKE_INSTALL_PREFIX "''${PROJECT_BINARY_DIR}/Stellarium.app/Contents")' \
'SET(CMAKE_INSTALL_PREFIX "${placeholder "out"}/Applications/Stellarium.app/Contents")' 'SET(CMAKE_INSTALL_PREFIX "${placeholder "out"}/Applications/Stellarium.app/Contents")'

View file

@ -26,13 +26,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "haruna"; pname = "haruna";
version = "1.3.3"; version = "1.4.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "multimedia"; owner = "multimedia";
repo = "haruna"; repo = "haruna";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-EoB8qoCiB6jvHqfhkGHhiq9/79MBLt6GguvRIwY90B0="; hash = "sha256-7983qZ7c3i8Ilyvu36t02zeIcVO96PXGNLH3wq6JsvI=";
domain = "invent.kde.org"; domain = "invent.kde.org";
}; };

View file

@ -10,16 +10,16 @@
buildNpmPackage rec { buildNpmPackage rec {
pname = "azurite"; pname = "azurite";
version = "3.33.0"; version = "3.34.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Azure"; owner = "Azure";
repo = "Azurite"; repo = "Azurite";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-aH9FAT49y4k87lzerQdgLqi+ZlucORQX4w1NBFtEfMw="; hash = "sha256-6NECduq2ewed8bR4rlF5MW8mGcsgu8bqgA/DBt8ywtM=";
}; };
npmDepsHash = "sha256-jfa04iWz0aOiFD1YkXn5YEXqQcrY+rIDbVmmUaA5sYc="; npmDepsHash = "sha256-WRaD99CsIuH3BrO01eVuoEZo40VjuScnVzmlFcKpj8g=";
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config

View file

@ -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 ];
};
})

View file

@ -8,14 +8,14 @@
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "KlipperScreen"; pname = "KlipperScreen";
version = "0.4.4"; version = "0.4.5";
format = "other"; format = "other";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "KlipperScreen"; owner = "KlipperScreen";
repo = "KlipperScreen"; repo = "KlipperScreen";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-MxuUmkuEnfFC0iPwNUc0Wh8bIEl1J1FMgGEYMjHePZ8="; hash = "sha256-lKGMz5N4lKSqA614wjJiUfP5fUY+WqFDPxeX/Iyp2TQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -33,6 +33,7 @@ python3.pkgs.buildPythonApplication rec {
mpv mpv
six six
dbus-python dbus-python
sdbus-networkmanager
]; ];
dontWrapGApps = true; dontWrapGApps = true;

View file

@ -13,14 +13,14 @@
}: }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "mopidy-argos"; pname = "mopidy-argos";
version = "1.15.0"; version = "1.16.0";
pyproject = false; # Built with meson pyproject = false; # Built with meson
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "orontee"; owner = "orontee";
repo = "argos"; repo = "argos";
tag = "v${version}"; tag = "v${version}";
hash = "sha256-fHdaYFq38t4uzpVD4qoAeVm5yWgj2O7hy4LDgZ1bZj4="; hash = "sha256-wmAGzURFPseBxBD6mW4rAHPrxmQHx03DQxvTBF3T/pg=";
}; };
postPatch = '' postPatch = ''
patchShebangs build-aux/meson/postinstall.py patchShebangs build-aux/meson/postinstall.py

View file

@ -26,8 +26,13 @@ stdenv.mkDerivation rec {
buildInputs = [ opencl-headers ] ++ lib.optionals stdenv.hostPlatform.isWindows [ windows.dlfcn ]; buildInputs = [ opencl-headers ] ++ lib.optionals stdenv.hostPlatform.isWindows [ windows.dlfcn ];
configureFlags = [ configureFlags =
[
"--enable-custom-vendordir=/run/opengl-driver/etc/OpenCL/vendors" "--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 # fixes: can't build x86_64-w64-mingw32 shared library unless -no-undefined is specified

View file

@ -1,44 +1,53 @@
{ {
lib, lib,
stdenv, stdenv,
# sources
fetchurl, fetchurl,
fetchFromGitHub, fetchFromGitHub,
fetchDebianPatch, fetchDebianPatch,
# nativeBuildInputs
cmake, cmake,
ninja,
pkg-config, pkg-config,
SDL2,
libvorbis, # buildInputs
libogg,
libjpeg,
libpng,
freetype,
glew,
tinyxml,
openal,
libepoxy,
curl, curl,
freealut, freealut,
readline, freetype,
glew,
libb2, libb2,
gcc-unwrapped, libepoxy,
enableSoundtrack ? false, # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther libjpeg,
libogg,
libpng,
libvorbis,
libXrandr,
openal,
readline,
SDL2,
tinyxml,
# Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther
enableSoundtrack ? false,
}: }:
let let
soundtrack_src = fetchurl { soundtrack_src = fetchurl {
url = "http://www.openclonk.org/download/Music.ocg"; url = "http://www.openclonk.org/download/Music.ocg";
sha256 = "1ckj0dlpp5zsnkbb5qxxfxpkiq76jj2fgj91fyf3ll7n0gbwcgw5"; hash = "sha256-Mye6pl1eSgEQ/vOLfDsdHDjp2ljb3euGKBr7s36+2W4=";
}; };
in in
stdenv.mkDerivation { stdenv.mkDerivation {
version = "unstable-2023-10-30"; version = "9.0-unstable-2025-01-11";
pname = "openclonk"; pname = "openclonk";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openclonk"; owner = "openclonk";
repo = "openclonk"; repo = "openclonk";
rev = "5275334a11ef7c23ce809f35d6b443abd91b415f"; rev = "db975b4a887883f4413d1ce3181f303d83ee0ab5";
sha256 = "14x5b2rh739156l4072rbsnv9n862jz1zafi6ng158ja5fwl16l2"; hash = "sha256-Vt7umsfe2TVZAeKJOXCi2ZCbSv6wAotuMflS7ii7Y/E=";
}; };
patches = [ patches = [
@ -51,52 +60,47 @@ stdenv.mkDerivation {
}) })
]; ];
enableParallelInstalling = false;
postInstall = postInstall =
'''' ''
mv $out/games/openclonk $out/bin
rm -r $out/games
''
+ lib.optionalString enableSoundtrack '' + lib.optionalString enableSoundtrack ''
ln -sv ${soundtrack_src} $out/share/games/openclonk/Music.ocg ln -sv ${soundtrack_src} $out/share/games/openclonk/Music.ocg
''; '';
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
ninja
pkg-config pkg-config
]; ];
buildInputs = [ buildInputs = [
SDL2 curl
libvorbis freealut
libogg
libjpeg
libpng
freetype freetype
glew glew
tinyxml
openal
freealut
libepoxy
curl
readline
libb2 libb2
]; libepoxy
libjpeg
cmakeFlags = [ libogg
"-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" libpng
"-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" libvorbis
libXrandr
openal
readline
SDL2
tinyxml
]; ];
cmakeBuildType = "RelWithDebInfo"; cmakeBuildType = "RelWithDebInfo";
meta = with lib; { meta = {
description = "Free multiplayer action game in which you control clonks, small but witty and nimble humanoid beings"; description = "Free multiplayer action game in which you control clonks, small but witty and nimble humanoid beings";
homepage = "https://www.openclonk.org"; 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"; mainProgram = "openclonk";
maintainers = [ ]; maintainers = with lib.maintainers; [ wolfgangwalther ];
platforms = [ platforms = lib.platforms.linux;
"x86_64-linux"
"i686-linux"
];
}; };
} }

View file

@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation {
pname = "roddhjav-apparmor-rules"; pname = "roddhjav-apparmor-rules";
version = "0-unstable-2025-04-25"; version = "0-unstable-2025-05-03";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "roddhjav"; owner = "roddhjav";
repo = "apparmor.d"; repo = "apparmor.d";
rev = "3295a1334a7bbbe66b1f857a43d414ed96534455"; rev = "6d8eda6b8735626d5c2d25a810fb7600a4e3d60e";
hash = "sha256-5RZzqblfRheqzEWvyPsDLJdG7IImblOpz5bIsooIrAo="; hash = "sha256-y0qdiijSZligYPpt5qbK36KAt+q6mHN03lOqq6HPSRA=";
}; };
dontConfigure = true; dontConfigure = true;

View file

@ -16,12 +16,13 @@
curl, curl,
libcpr, libcpr,
rapidjson, rapidjson,
libX11,
libGL,
writeShellScriptBin, writeShellScriptBin,
makeDesktopItem, makeDesktopItem,
lib, lib,
copyDesktopItems, copyDesktopItems,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "unnamed-sdvx-clone"; pname = "unnamed-sdvx-clone";
version = "0.6.0"; version = "0.6.0";
@ -54,6 +55,8 @@ stdenv.mkDerivation (finalAttrs: {
curl curl
libcpr libcpr
rapidjson rapidjson
libX11
libGL
]; ];
cmakeFlags = [ cmakeFlags = [

View file

@ -19,28 +19,6 @@ let
skopeoTest = skopeo.override { buildGoModule = buildGo123Module; }; 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, # We need a target compiler which is still runnable at build time,
# to handle the cross-building case where build != host == target # to handle the cross-building case where build != host == target
targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; targetCC = pkgsBuildTarget.targetPackages.stdenv.cc;
@ -88,22 +66,18 @@ stdenv.mkDerivation (finalAttrs: {
./go_no_vendor_checks-1.23.patch ./go_no_vendor_checks-1.23.patch
]; ];
GOOS = if stdenv.targetPlatform.isWasi then "wasip1" else stdenv.targetPlatform.parsed.kernel.name; inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM;
GOARCH = goarch stdenv.targetPlatform;
# GOHOSTOS/GOHOSTARCH must match the building system, not the host system. # 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 # Go will nevertheless build a for host system that we will copy over in
# the install phase. # the install phase.
GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name; GOHOSTOS = stdenv.buildPlatform.go.GOOS;
GOHOSTARCH = goarch stdenv.buildPlatform; GOHOSTARCH = stdenv.buildPlatform.go.GOARCH;
# {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
# to be different from CC/CXX # to be different from CC/CXX
CC_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}cc" else null; 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; 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 GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
# Wasi does not support CGO # Wasi does not support CGO
CGO_ENABLED = if stdenv.targetPlatform.isWasi then 0 else 1; CGO_ENABLED = if stdenv.targetPlatform.isWasi then 0 else 1;

View file

@ -19,28 +19,6 @@ let
skopeoTest = skopeo.override { buildGoModule = buildGo124Module; }; 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, # We need a target compiler which is still runnable at build time,
# to handle the cross-building case where build != host == target # to handle the cross-building case where build != host == target
targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; targetCC = pkgsBuildTarget.targetPackages.stdenv.cc;
@ -88,22 +66,18 @@ stdenv.mkDerivation (finalAttrs: {
./go_no_vendor_checks-1.23.patch ./go_no_vendor_checks-1.23.patch
]; ];
GOOS = if stdenv.targetPlatform.isWasi then "wasip1" else stdenv.targetPlatform.parsed.kernel.name; inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM;
GOARCH = goarch stdenv.targetPlatform;
# GOHOSTOS/GOHOSTARCH must match the building system, not the host system. # 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 # Go will nevertheless build a for host system that we will copy over in
# the install phase. # the install phase.
GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name; GOHOSTOS = stdenv.buildPlatform.go.GOOS;
GOHOSTARCH = goarch stdenv.buildPlatform; GOHOSTARCH = stdenv.buildPlatform.go.GOARCH;
# {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
# to be different from CC/CXX # to be different from CC/CXX
CC_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}cc" else null; 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; 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 GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
# Wasi does not support CGO # Wasi does not support CGO
CGO_ENABLED = if stdenv.targetPlatform.isWasi then 0 else 1; CGO_ENABLED = if stdenv.targetPlatform.isWasi then 0 else 1;

View file

@ -6,25 +6,7 @@
hashes, hashes,
}: }:
let let
toGoKernel = platform: if platform.isDarwin then "darwin" else platform.parsed.kernel.name; platform = with stdenv.hostPlatform.go; "${GOOS}-${if GOARCH == "arm" then "armv6l" else GOARCH}";
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;
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "go-${version}-${platform}-bootstrap"; name = "go-${version}-${platform}-bootstrap";

View file

@ -2,6 +2,7 @@
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
stdenv,
# build-system # build-system
setuptools, setuptools,
@ -19,7 +20,6 @@
numpy, numpy,
pytestCheckHook, pytestCheckHook,
python-dateutil, python-dateutil,
toml,
tomli-w, tomli-w,
polars, polars,
pandas, pandas,
@ -65,13 +65,18 @@ buildPythonPackage rec {
pandas pandas
] ++ lib.flatten (lib.attrValues optional-dependencies); ] ++ lib.flatten (lib.attrValues optional-dependencies);
disabledTests = [ disabledTests =
[
# not compatible with pydantic 2.x # not compatible with pydantic 2.x
"test_pydantic1" "test_pydantic1"
"test_pydantic2" "test_pydantic2"
# Require pytest-benchmark # Require pytest-benchmark
"test_cache_deeply_nested_a1" "test_cache_deeply_nested_a1"
"test_lfu" "test_lfu"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Times out on darwin in Hydra
"test_repeated_timer"
]; ];
pythonImportsCheck = [ "deepdiff" ]; pythonImportsCheck = [ "deepdiff" ];

View file

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pygccxml"; pname = "pygccxml";
version = "2.6.1"; version = "3.0.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "gccxml"; owner = "gccxml";
repo = "pygccxml"; repo = "pygccxml";
tag = "v${version}"; tag = "v${version}";
hash = "sha256-SVlzgIlaKVbnestxTJX2yjVaspZ6fq5bBokRy8jzD3Q="; hash = "sha256-pIo25/tKiXpyiWUkpILPDPTNWIUEGK4uRSTpvoGwS1Q=";
}; };
nativeBuildInputs = [ setuptools ]; nativeBuildInputs = [ setuptools ];
@ -36,7 +36,7 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Python package for easy C++ declarations navigation"; description = "Python package for easy C++ declarations navigation";
homepage = "https://github.com/gccxml/pygccxml"; 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; license = licenses.boost;
maintainers = with maintainers; [ teto ]; maintainers = with maintainers; [ teto ];
}; };

View file

@ -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=";
};
}

View file

@ -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=";
};
}

View file

@ -15528,6 +15528,10 @@ self: super: with self; {
scspell = callPackage ../development/python-modules/scspell { }; 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 { }; sdds = callPackage ../development/python-modules/sdds { };
sdjson = callPackage ../development/python-modules/sdjson { }; sdjson = callPackage ../development/python-modules/sdjson { };