Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-09-21 12:05:48 +00:00
committed by GitHub
46 changed files with 440 additions and 367 deletions
+1 -7
View File
@@ -4261,12 +4261,6 @@
github = "carlthome";
githubId = 1595907;
};
cartr = {
email = "carter.sande@duodecima.technology";
github = "cartr";
githubId = 5241813;
name = "Carter Sande";
};
casaca = {
name = "J McNutt";
email = "jmacasac@hotmail.com";
@@ -11612,7 +11606,7 @@
name = "jasonxue";
keys = [
{
fingerprint = "067A 9B58 DAC4 1C31 D688 81A9 EC23 DBDD B617 6861";
fingerprint = "D6D8 A0A8 6FAC 3D8E D85C 523D F7BA 32A3 FCB0 260A";
}
];
};
+1
View File
@@ -254,6 +254,7 @@ in
ayatana-indicators = runTest ./ayatana-indicators.nix;
babeld = runTest ./babeld.nix;
bazarr = runTest ./bazarr.nix;
bcache = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./bcache.nix;
bcachefs = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./bcachefs.nix;
beanstalkd = runTest ./beanstalkd.nix;
bees = runTest ./bees.nix;
+40
View File
@@ -0,0 +1,40 @@
{ pkgs, ... }:
{
name = "bcache";
meta.maintainers = with pkgs.lib.maintainers; [ pineapplehunter ];
nodes.machine =
{ pkgs, ... }:
{
virtualisation.emptyDiskImages = [ 4096 ];
networking.hostId = "deadbeef";
boot.supportedFilesystems = [ "ext4" ];
environment.systemPackages = [ pkgs.parted ];
};
testScript = ''
machine.succeed("modprobe bcache")
machine.succeed("bcache version")
machine.succeed("ls /dev")
machine.succeed(
"mkdir /tmp/mnt",
"udevadm settle",
"parted --script /dev/vdb mklabel gpt",
"parted --script /dev/vdb mkpart primary 0% 50% mkpart primary 50% 100%",
"udevadm settle",
"bcache make -C /dev/vdb1",
"bcache make -B /dev/vdb2",
"udevadm settle",
"bcache attach /dev/vdb1 /dev/vdb2",
"bcache set-cachemode /dev/vdb2 writeback",
"udevadm settle",
"bcache show",
"ls /sys/fs/bcache",
"mkfs.ext4 /dev/bcache0",
"mount /dev/bcache0 /tmp/mnt",
"umount /tmp/mnt",
"udevadm settle",
)
'';
}
+1 -1
View File
@@ -1096,7 +1096,7 @@ let
${
if systemdStage1 then
''
target.wait_for_text("Enter key for rpool/root")
target.wait_for_text("Enter key for rpool${optionalString (!parentDataset) "/root"}")
''
else
''
@@ -18,18 +18,18 @@
nix-update-script,
}:
let
version = "1.3.18";
version = "1.3.19";
src = fetchFromGitHub {
owner = "michaelb";
repo = "sniprun";
tag = "v${version}";
hash = "sha256-2Q7Jnt7pVCuNne442KPh2cSjA6V6WSZkgUj99UpmnOM=";
hash = "sha256-a2hEV83NOnt+9BwDk94Ns+rIC9DeHFdu2dZG1XPtdnY=";
};
sniprun-bin = rustPlatform.buildRustPackage {
pname = "sniprun-bin";
inherit version src;
cargoHash = "sha256-cu7wn75rQcwPLjFl4v05kVMsiCD0mAlIBt49mvIaPPU=";
cargoHash = "sha256-Ps9Ugq8ISbuXO3Dxo1WQUVPCxf24oSHvem2Xg0sIgOQ=";
nativeBuildInputs = [ makeWrapper ];
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mednafen-pce-fast";
version = "0-unstable-2025-08-01";
version = "0-unstable-2025-09-19";
src = fetchFromGitHub {
owner = "libretro";
repo = "beetle-pce-fast-libretro";
rev = "c95e401e1dd37522b6d84d0017702cfece2be840";
hash = "sha256-xCjavWWWyNTnJyzCr+N2l3On2iflg+HzXCxOxLZvSew=";
rev = "1524cc63104aece5a90ed7dd181b444a16313134";
hash = "sha256-hNcYdkqZauoCrNMHy4YaH0ZsqUofoYb8USi0r5bbmkk=";
};
makefile = "Makefile";
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pineapple-pictures";
version = "1.1.1";
version = "1.2.0";
src = fetchFromGitHub {
owner = "BLumia";
repo = "pineapple-pictures";
rev = finalAttrs.version;
hash = "sha256-bJOBqxJ5pl1O0QEFQtkPn55y4g5I7Zwb3S0PTJ1SoFk=";
hash = "sha256-QQ0lWYwfCCQUtVQxC6koORiQ3px99+Uy8qHtRx3fbSg=";
};
nativeBuildInputs = [
@@ -534,11 +534,11 @@
"vendorHash": "sha256-HavrYEqMGuJnZBQlVwZfZiXTISqALjjOHB8z1EpNkOE="
},
"google-beta": {
"hash": "sha256-l08jmxkWsTrk32cJM28OuwSZgSKIB3EPODaUf7821uY=",
"hash": "sha256-HDTjSxx3TE69B7DvJbn/b67IH/S4IXvXGVTFwrgAWZE=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp",
"repo": "terraform-provider-google-beta",
"rev": "v7.1.1",
"rev": "v7.3.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-9tXElUSD6WSfEn6Urt0GZFkxGXj/iUO83ZkKw3GfAgo="
},
@@ -885,11 +885,11 @@
"vendorHash": null
},
"newrelic": {
"hash": "sha256-Lmt3ZIrFW/NPLlWlOlXH/sxh4CpBPAJfsJOjjQy9uZA=",
"hash": "sha256-4pDuH+baDAR9cIXeiKtXlr2KCYGUS+UuV27SARUDYmw=",
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
"owner": "newrelic",
"repo": "terraform-provider-newrelic",
"rev": "v3.68.0",
"rev": "v3.69.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-7eRDz/MAKYnUsBAJOSssqzdSfsRSboQX4E/8qBjnGDk="
},
@@ -1,39 +0,0 @@
diff --git a/meson.build b/meson.build
index 8f525118..ba8027c2 100644
--- a/meson.build
+++ b/meson.build
@@ -9,22 +9,15 @@ add_project_dependencies(incdir_dep, language: 'c')
cc = meson.get_compiler('c')
dir_base = meson.current_source_dir()
builddir_base = meson.current_build_dir()
-# FIXME: make art install a pkgconfig file
-libart_dep = [
- cc.find_library('art', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art' ]),
- cc.find_library('nativebridge', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art' ])
-]
+libart_dep = dependency('art-standalone')
libdl_bio_dep = [
cc.find_library('dl_bio')
]
libc_bio_dep = [
cc.find_library('c_bio')
]
-libandroidfw_dep = [
- cc.find_library('androidfw', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art' ]),
-]
-if fs.is_file('/usr' / get_option('libdir') / 'java/core-all_classes.jar')
- bootclasspath_dir = '/usr' / get_option('libdir') / 'java'
+if fs.is_file('@artStandalonePackageDir@' / get_option('libdir') / 'java/core-all_classes.jar')
+ bootclasspath_dir = '@artStandalonePackageDir@' / get_option('libdir') / 'java'
elif fs.is_file('/usr/local' / get_option('libdir') / 'java/core-all_classes.jar')
bootclasspath_dir = '/usr/local' / get_option('libdir') / 'java'
elif fs.is_file(get_option('prefix') / get_option('libdir') / 'java/core-all_classes.jar')
@@ -179,7 +172,7 @@ libtranslationlayer_so = shared_library('translation_layer_main', [
dependency('gtk4', version: '>=4.14'), dependency('gl'), dependency('egl'), dependency('wayland-client'), dependency('jni'),
dependency('libportal'), dependency('sqlite3'), dependency('libavcodec', version: '>=59'), dependency('libdrm'),
dependency('gudev-1.0'), dependency('libswscale'), dependency('webkitgtk-6.0'),
- libandroidfw_dep, wayland_protos_dep
+ libart_dep, wayland_protos_dep
],
link_with: [ libandroid_so ],
link_args: [
@@ -0,0 +1,16 @@
diff --git a/src/main-executable/main.c b/src/main-executable/main.c
index 545da00f..2f87447d 100644
--- a/src/main-executable/main.c
+++ b/src/main-executable/main.c
@@ -390,7 +390,10 @@ static void open(GtkApplication *app, GFile **files, gint nfiles, const gchar *h
ret = stat(MICROG_APK_PATH_LOCAL, &dont_care);
errno_localdir = errno;
- if (!ret) {
+ char *env_microg = getenv("MICROG_APK_PATH");
+ if (env_microg && access(env_microg, F_OK) == 0) {
+ microg_apk = strdup(env_microg);
+ } else if (stat(MICROG_APK_PATH_LOCAL, &dont_care) == 0) {
microg_apk = strdup(MICROG_APK_PATH_LOCAL); // for running out of builddir; using strdup so we can always safely call free on this
} else {
char *microg_install_dir = malloc(strlen(dex_install_dir) + strlen(REL_MICROG_APK_INSTALL_PATH) + 1); // +1 for NULL
@@ -30,27 +30,24 @@
stdenv.mkDerivation {
pname = "android-translation-layer";
version = "0-unstable-2025-08-06";
version = "0-unstable-2025-09-14";
src = fetchFromGitLab {
owner = "android_translation_layer";
repo = "android_translation_layer";
rev = "d52985a6df81d73a8f6dfbdee337f7ff90b724cb";
hash = "sha256-fJ8S04YucoCzHiIQdiQd+Il0YGNFsOkSiGWjZKNMTIM=";
rev = "9de91586994af5078decda17db92ce50c5673951";
hash = "sha256-iRjP++WzLsV7oDGNdF3m9JJJS7zLrG5W46U3h39H5uk=";
};
patches = [
# meson: use pkg-config from art-standalone instead of manual library search
# See: https://gitlab.com/android_translation_layer/android_translation_layer/-/merge_requests/164
(replaceVars ./configure-art-path.patch {
artStandalonePackageDir = "${art-standalone}";
})
# Required gio-unix dependency is missing in meson.build
./add-gio-unix-dep.patch
# Patch custon Dex install dir
./configure-dex-install-dir.patch
# Patch atl to load microg apk from custom path
./configure-microg-path.patch
];
postPatch = ''
@@ -85,10 +82,20 @@ stdenv.mkDerivation {
webkitgtk_6_0
];
postInstall = ''
install -D $src/com.google.android.gms.apk $out/share/com.google.android.gms.apk
'';
postFixup = ''
wrapProgram $out/bin/android-translation-layer \
--prefix LD_LIBRARY_PATH : ${art-standalone}/lib/art \
--prefix PATH : ${lib.makeBinPath [ bintools ]}
--prefix PATH : ${
lib.makeBinPath [
art-standalone # dex2oat
bintools # addr2line
]
} \
--set MICROG_APK_PATH "$out/share/com.google.android.gms.apk"
'';
passthru.tests = {
+6 -9
View File
@@ -23,28 +23,25 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "art-standalone";
version = "0-unstable-2025-07-09";
version = "0-unstable-2025-09-03";
src = fetchFromGitLab {
owner = "android_translation_layer";
repo = "art_standalone";
rev = "1eee3dce3ba6f324bb7a32a170b2da14889af39d";
hash = "sha256-OAO0k/LkQ+MKqR4HkFXD18LSXQZNPogjjRot4UVoE5A=";
rev = "10d60509c9073791f9eca1d2b8443d40a40edc05";
hash = "sha256-Xg6s58jymma1sNb6P7pwWFpYq1O6GoynrgPeLZRD+rI=";
};
patches = [
# Do not hardocde addr2line binary path
./no-hardcode-path-addr2line.patch
# Add support for pkg-config
# See: https://gitlab.com/android_translation_layer/art_standalone/-/merge_requests/37
./pkg-config-support.patch
];
postPatch = ''
chmod +x dalvik/dx/etc/{dx,dexmerger}
patchShebangs .
sed -i "s|/bin/bash|${runtimeShell}|" build/core/config.mk build/core/main.mk
substituteInPlace build/core/config.mk build/core/main.mk \
--replace-fail "/bin/bash" "${runtimeShell}"
'';
enableParallelBuilding = true;
@@ -102,7 +99,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://gitlab.com/android_translation_layer/art_standalone";
# No license specified yet
license = lib.licenses.unfree;
platforms = lib.platforms.all;
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ onny ];
};
})
@@ -1,45 +0,0 @@
diff --git a/Makefile b/Makefile
index 42df5b18..3321adae 100644
--- a/Makefile
+++ b/Makefile
@@ -32,6 +32,8 @@ ____dalvikvm_bin_64 := $(____TOPDIR)/out/host/linux-x86/bin/dalvikvm64
__RPATH_BIN := \$${ORIGIN}/../$(____LIBDIR)/art/:\$${ORIGIN}/../$(____LIBDIR)/java/dex/art/natives
__RPATH_LIB := \$${ORIGIN}
+__VERSION ?= 0.0.0
+
# Jack compiler was google's first attempt at a solution for desugaring Java 8 and newer bytecode into bytecode compatible with older dex file formats.
# Thankfully, google realized that this was a bad idea, and in a typical google fashion, axed the project.
# They experimented with other approaches, but currently (2022) the way to do this is to use d8/r8 instead of dx;
@@ -112,6 +114,15 @@ install:
# our stable C API for libandroidfw, used by ATL
install -Dt $(____INSTALL_INCLUDEDIR)/androidfw $(____TOPDIR)/libandroidfw/include/androidfw/androidfw_c_api.h
+ # install pkg-config file
+ mkdir -p $(____INSTALL_LIBDIR)/pkgconfig
+ sed -e 's|@prefix@|$(____PREFIX)|g' \
+ -e 's|@libdir@|$(____LIBDIR)|g' \
+ -e 's|@includedir@|$(____INCLUDEDIR)|g' \
+ -e 's|@version@|$(__VERSION)|g' \
+ art-standalone.pc.in > $(____INSTALL_LIBDIR)/pkgconfig/art-standalone.pc
+
+
# TODO: figure out sharing dependencies and have this in a separate repo
install_adbd:
install -Dt $(____INSTALL_BINDIR) $(____TOPDIR)/out/host/linux-x86/bin/adbd
diff --git a/art-standalone.pc.in b/art-standalone.pc.in
new file mode 100644
index 00000000..210cd031
--- /dev/null
+++ b/art-standalone.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@libdir@
+includedir=${prefix}/@includedir@
+
+Name: art-standalone
+Description: Android ART runtime (standalone build, minimal ATL deps)
+Version: @version@
+Libs: -L${libdir}/art -lart -lnativebridge -landroidfw
+Cflags: -I${includedir} -I${includedir}/androidfw
@@ -1,42 +0,0 @@
This patch does two things:
1) Drops probe-bcache, so now util-linux detecting functionality is used.
2) Drops bcache-register, moving registering device functionality into rule
using 'sh'.
This reduces things that need to be present in initrd, replacing them with
already existing functionality and reducing overall initrd size.
diff --git a/69-bcache.rules b/69-bcache.rules
index 9cc7f0d..6a52893 100644
--- a/69-bcache.rules
+++ b/69-bcache.rules
@@ -10,16 +10,11 @@ KERNEL=="fd*|sr*", GOTO="bcache_end"
# It recognised bcache (util-linux 2.24+)
ENV{ID_FS_TYPE}=="bcache", GOTO="bcache_backing_found"
# It recognised something else; bail
-ENV{ID_FS_TYPE}=="?*", GOTO="bcache_backing_end"
-
-# Backing devices: scan, symlink, register
-IMPORT{program}="probe-bcache -o udev $tempnode"
-ENV{ID_FS_TYPE}!="bcache", GOTO="bcache_backing_end"
-ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
+GOTO="bcache_backing_end"
LABEL="bcache_backing_found"
RUN{builtin}+="kmod load bcache"
-RUN+="bcache-register $tempnode"
+RUN+="@shell@ -c 'echo $tempnode > /sys/fs/bcache/register_quiet'"
LABEL="bcache_backing_end"
# Cached devices: symlink
diff --git a/Makefile b/Makefile
index c824ae3..c5f7309 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,6 @@ all: make-bcache probe-bcache bcache-super-show bcache-register
install: make-bcache probe-bcache bcache-super-show
$(INSTALL) -m0755 make-bcache bcache-super-show $(DESTDIR)${PREFIX}/sbin/
- $(INSTALL) -m0755 probe-bcache bcache-register $(DESTDIR)$(UDEVLIBDIR)/
$(INSTALL) -m0644 69-bcache.rules $(DESTDIR)$(UDEVLIBDIR)/rules.d/
$(INSTALL) -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/
$(INSTALL) -D -m0755 initramfs/hook $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache
@@ -1,22 +0,0 @@
diff --git a/bcache.c b/bcache.c
index 8f37445..79806d8 100644
--- a/bcache.c
+++ b/bcache.c
@@ -26,7 +26,7 @@
* x^7 + x^4 + x + 1
*/
-static const uint64_t crc_table[256] = {
+const uint64_t crc_table[256] = {
0x0000000000000000ULL, 0x42F0E1EBA9EA3693ULL, 0x85E1C3D753D46D26ULL,
0xC711223CFA3E5BB5ULL, 0x493366450E42ECDFULL, 0x0BC387AEA7A8DA4CULL,
0xCCD2A5925D9681F9ULL, 0x8E224479F47CB76AULL, 0x9266CC8A1C85D9BEULL,
@@ -115,7 +115,7 @@ static const uint64_t crc_table[256] = {
0x9AFCE626CE85B507ULL
};
-inline uint64_t crc64(const void *_data, size_t len)
+uint64_t crc64(const void *_data, size_t len)
{
uint64_t crc = 0xFFFFFFFFFFFFFFFFULL;
const unsigned char *data = _data;
+31 -26
View File
@@ -1,23 +1,22 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchgit,
pkg-config,
util-linux,
bash,
replaceVars,
udevCheckHook,
nixosTests,
}:
stdenv.mkDerivation rec {
pname = "bcache-tools";
version = "1.0.8";
version = "1.1";
src = fetchFromGitHub {
owner = "g2p";
repo = "bcache-tools";
rev = "v${version}";
hash = "sha256-6gy0ymecMgEHXbwp/nXHlrUEeDFnmFXWZZPlzP292g4=";
src = fetchgit {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git";
rev = "bcache-tools-${version}";
hash = "sha256-8BiHC8qxk4otFPyKnvGNk57JSZytEOy51AGertWo2O0=";
};
nativeBuildInputs = [
@@ -28,34 +27,36 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
# * Remove broken install rules (they ignore $PREFIX) for stuff we don't need
# anyway (it's distro specific stuff).
# * Fixup absolute path to modprobe.
prePatch = ''
# * Remove distro specific install rules which are not used in NixOS.
# * Remove binaries for udev which are not needed on modern systems.
sed -e "/INSTALL.*initramfs\/hook/d" \
-e "/INSTALL.*initcpio\/install/d" \
-e "/INSTALL.*dracut\/module-setup.sh/d" \
-e "s/pkg-config/$PKG_CONFIG/" \
-e "/INSTALL.*probe-bcache/d" \
-i Makefile
# * Remove probe-bcache which is handled by util-linux
sed -e "/probe-bcache/d" \
-i 69-bcache.rules
# * Replace bcache-register binary with a write to sysfs
substituteInPlace 69-bcache.rules \
--replace-fail "bcache-register \$tempnode" "${bash}/bin/sh -c 'echo \$tempnode > /sys/fs/bcache/register'"
'';
patches = [
(replaceVars ./bcache-udev-modern.patch {
shell = "${bash}/bin/sh";
})
./fix-static.patch
];
makeFlags = [
"PREFIX=${placeholder "out"}"
"UDEVLIBDIR=${placeholder "out"}/lib/udev/"
"PREFIX="
"DESTDIR=$(out)"
];
preInstall = ''
mkdir -p "$out/sbin" "$out/lib/udev/rules.d" "$out/share/man/man8"
'';
meta = with lib; {
passthru.tests = {
inherit (nixosTests) bcache;
};
meta = {
description = "User-space tools required for bcache (Linux block layer cache)";
longDescription = ''
Bcache is a Linux kernel block layer cache. It allows one or more fast
@@ -67,9 +68,13 @@ stdenv.mkDerivation rec {
User documentation is in Documentation/bcache.txt in the Linux kernel
tree.
'';
homepage = "https://bcache.evilpiepirate.org/";
license = licenses.gpl2Only;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
homepage = "https://www.kernel.org/doc/html/latest/admin-guide/bcache.html";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [
bjornfor
pineapplehunter
];
mainProgram = "bcache-tools";
platforms = lib.platforms.linux;
};
}
+6 -6
View File
@@ -8,16 +8,16 @@
}:
let
openShiftVersion = "4.19.3";
okdVersion = "4.19.0-okd-scos.1";
microshiftVersion = "4.19.0";
openShiftVersion = "4.19.8";
okdVersion = "4.19.0-okd-scos.15";
microshiftVersion = "4.19.7";
writeKey = "$(MODULEPATH)/pkg/crc/segment.WriteKey=cvpHsNcmGCJqVzf6YxrSnVlwFSAZaYtp";
gitCommit = "a6f712ab378699f42208db01a49a9ec96887bede";
gitHash = "sha256-Iw+pR7BUj3geNa6rWIPtTTFCLWcIsADTmlPBCgFcKa0=";
gitCommit = "5d2dd491c18f39e1edd91b9bc6d5f12a1f0d9ba5";
gitHash = "sha256-7kgZUU582Zu2kpYSRdbAEfFud0gxlj/DWfmtN4sps2w=";
in
buildGoModule (finalAttrs: {
pname = "crc";
version = "2.53.0";
version = "2.54.0";
src = fetchFromGitHub {
owner = "crc-org";
+3 -3
View File
@@ -48,7 +48,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "ipxe";
version = "1.21.1-unstable-2025-08-29";
version = "1.21.1-unstable-2025-09-18";
nativeBuildInputs = [
mtools
@@ -66,8 +66,8 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "ipxe";
repo = "ipxe";
rev = "969ce2c559a6841a949a1b73a3967b1889e0c999";
hash = "sha256-a9Nmo9ZAzbsePwS/LFh3qMMfsezu0194WV98BXhiT0Y=";
rev = "6464f2edb855274cd3e311eff0aa718935b3eef6";
hash = "sha256-K1BiZqthdkIbRiBHUYTu7aIJ8LJ1xpGmVCa255GkFmM=";
};
# Calling syslinux on a FAT image isn't going to work on Aarch64.
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "iw4x-launcher";
version = "1.0.2-2";
version = "1.1.2";
src = fetchFromGitHub {
owner = "iw4x";
repo = "launcher";
tag = "v${finalAttrs.version}";
hash = "sha256-XX4NXBNavOjq+PiEYP5inwBxvajbJdgQz7cUx2ia/H4=";
hash = "sha256-HALxUqfTGB7sQhp0G1vXAtxmh6CHRb143Wws6G6gvBY=";
};
cargoHash = "sha256-jNj9l5IX/E6PNGGVukX+gJXZiZhv8FxPM7bCeMFZWFA=";
cargoHash = "sha256-LS+b3ViCIuSVaoaXqwuPrZsvWlntheScrVPf+wtP7Io=";
buildInputs = [ openssl ];
nativeBuildInputs = [ pkg-config ];
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "klog-rs";
version = "0.5.0";
version = "0.5.1";
src = fetchFromGitHub {
owner = "tobifroe";
repo = "klog";
rev = version;
hash = "sha256-dPFxjSq5P7MyXUAugZqPEYRJ2VcFuVs774f3AKdH7kk=";
hash = "sha256-VyUUzhVwJ1tNLICXwy7f85queH+pn4vL5HTL8IHcQ7w=";
};
cargoHash = "sha256-9dJ2MCAd6DhNaqgUtuBifMbTTZoCoLNLjyR9b0fwfcc=";
cargoHash = "sha256-KJxssCN9/WoRR1Cv67CK5muVy+cqEEfzSioQtptplQs=";
checkFlags = [
# this integration test depends on a running kubernetes cluster
"--skip=k8s::tests::test_get_pod_list"
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "lazyssh";
version = "0.2.0";
version = "0.2.1";
src = fetchFromGitHub {
owner = "Adembc";
repo = "lazyssh";
tag = "v${finalAttrs.version}";
hash = "sha256-0R/H+HaJ13dQhLbFgLAvv4MhXADT3UqWeyTgegKjFxM=";
hash = "sha256-g+arg/fB8YUmMtgVv5dmaYvj0uI1OeFngrHJAcKJkLU=";
};
vendorHash = "sha256-/RgjcAy2H9sWMWDA3QxMkT4LkzxvZqOZzKeR9u9bsH0=";
vendorHash = "sha256-OMlpqe7FJDqgppxt4t8lJ1KnXICOh6MXVXoKkYJ74Ks=";
ldflags = [
"-X=main.version=${finalAttrs.version}"
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "namespace-cli";
version = "0.0.438";
version = "0.0.439";
src = fetchFromGitHub {
owner = "namespacelabs";
repo = "foundation";
rev = "v${version}";
hash = "sha256-Va4DFAsFgJLffuFauZfujOYQhAn0dtR4oPP4zAWBkTo=";
hash = "sha256-BWFKMHFf3bS8gjm96g4/TdEpE/gEDY/UeW8gck12hNo=";
};
vendorHash = "sha256-WKRKwzpB6+bp/RSrb67ZcQjZXVGQe7xvTHGShebh3l4=";
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nvme-rs";
version = "0.1.1";
version = "0.2.0";
src = fetchFromGitHub {
owner = "liberodark";
repo = "nvme-rs";
tag = "v${finalAttrs.version}";
hash = "sha256-lkuOPe5gYhboK9zylTCVN1DFWCFRHhfJa7tNEHH/GQM=";
hash = "sha256-S0zQPLl9B6Nu5qAzV5/3eKuRXx/4P6paOIr7uQ+znc8=";
};
cargoHash = "sha256-MNEG6GGfMg1FXodD8yEMqvm8lYkQgYXMc/vR4lV166I=";
cargoHash = "sha256-MQ6iSadHLNioYNy8MTACQ05tdsdxY8/LUcoOKARqoT8=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -7,16 +7,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "obs-do";
version = "0.1.10";
version = "0.1.11";
src = fetchFromGitHub {
owner = "jonhoo";
repo = "obs-do";
tag = "v${finalAttrs.version}";
hash = "sha256-eTcDczrneif2ITeZ0ihx2VRFcsqL0LupvA+neOyHQLU=";
hash = "sha256-EbwgYBvHsfUNmv3y5r6nfK6C4sqZ7ZkG4HTb3+0cA3o=";
};
cargoHash = "sha256-CyzlPfkjoaveRX8kNCVfZY9O50zoXtjgc23ytuHu8Qg=";
cargoHash = "sha256-LOoMtzIRaoAg02gY7EWj9A8vsjdUyEnxNy38Z5dFs+4=";
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
+11 -2
View File
@@ -117,13 +117,13 @@ in
goBuild (finalAttrs: {
pname = "ollama";
# don't forget to invalidate all hashes each update
version = "0.11.10";
version = "0.12.0";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${finalAttrs.version}";
hash = "sha256-F5Us1w+QCnWK32noi8vfRwgMofHP9vGiRFfN2UAf1vw=";
hash = "sha256-CRlrq2vFdk+YlxCSg6FNVg6YpAZ4PSMHeAaGwkx9QFw=";
};
vendorHash = "sha256-SlaDsu001TUW+t9WRp7LqxUSQSGDF1Lqu9M1bgILoX4=";
@@ -228,6 +228,15 @@ goBuild (finalAttrs: {
(allow iokit-open (iokit-user-client-class "AGXDeviceUserClient"))
'';
checkFlags =
let
# Skip tests that require network access
skippedTests = [
"TestPushHandler/unauthorized_push" # Writes to $HOME, se https://github.com/ollama/ollama/pull/12307#pullrequestreview-3249128660
];
in
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
passthru = {
tests = {
inherit ollama;
@@ -11,7 +11,7 @@
python3Packages.buildPythonApplication rec {
pname = "openapi-python-client";
version = "0.26.0";
version = "0.26.1";
pyproject = true;
src = fetchFromGitHub {
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
owner = "openapi-generators";
repo = "openapi-python-client";
tag = "v${version}";
hash = "sha256-kDULsu9mGxMu23kczVadwXLchYJiATJ2j6qU/8AKOSo=";
hash = "sha256-+9Tm4othdBtSubffrzK6ufjq69woSytiOEi+S+tqAxw=";
};
nativeBuildInputs = [
+4 -4
View File
@@ -8,13 +8,13 @@
stdenv,
}:
let
version = "0.24.0";
version = "0.24.2";
parca-src = fetchFromGitHub {
owner = "parca-dev";
repo = "parca";
tag = "v${version}";
hash = "sha256-MyI3pyfsdw17K03FOSckVzLSRNbwSm3FwYIHMr/SbWo=";
hash = "sha256-gzQIgpouCsoMkQtjWubH7IGLiTUS6oX7oAboU8IuEOs=";
};
ui = stdenv.mkDerivation (finalAttrs: {
@@ -25,7 +25,7 @@ let
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname src version;
fetcherVersion = 1;
hash = "sha256-gczEkCU9xESn9T1eVOmGAufh+24mOsYCMO6f5tcbdmQ=";
hash = "sha256-5cn3fAvOXCQyiqlA0trIi/hCIfgB6xNO1pc5ZMBfouc=";
};
nativeBuildInputs = [
@@ -57,7 +57,7 @@ buildGoModule rec {
pname = "parca";
src = parca-src;
vendorHash = "sha256-2CVXXCWKa21cToe5flxIMtSBPc3HkxWDNkJAWCI4ORw=";
vendorHash = "sha256-uQuurwrrhs+JM72/Nd4xOLampIKwwpOehQ7dqMZi3v0=";
ldflags = [
"-X=main.version=${version}"
+2 -2
View File
@@ -22,14 +22,14 @@ let
in
stdenv.mkDerivation rec {
pname = "pkcs11-provider";
version = "1.0";
version = "1.1";
src = fetchFromGitHub {
owner = "latchset";
repo = "pkcs11-provider";
tag = "v${version}";
fetchSubmodules = true;
hash = "sha256-Q9dmzYDBco+LLVWdORFTjRyk0RX8qhmZ1m+Kgfeyr04=";
hash = "sha256-QXEwDl6pk8G5ba8lD4uYw2QuD3qS/sgd1od8crHct2s=";
};
buildInputs = [
+2 -2
View File
@@ -10,13 +10,13 @@ let
in
buildGoModule rec {
pname = "process-compose";
version = "1.75.1";
version = "1.75.2";
src = fetchFromGitHub {
owner = "F1bonacc1";
repo = "process-compose";
tag = "v${version}";
hash = "sha256-4Frcslk0QBRl3OuWt4+erXoZhIUut8G0op91+1U1bfI=";
hash = "sha256-BKf8FrgpGhYzuukAFP+OCjvp5bMCQL6BmZ+Tk/E8RIY=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
+2 -3
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "rpiboot";
version = "20250227-132106";
version = "20250908-162618-bookworm";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "usbboot";
tag = version;
hash = "sha256-WccnaIUF5M080M4vg5NzBCLpLVcE7ts/oJJE8CLRi8A=";
hash = "sha256-BJOm8VBEbrUasYwuV8NqwmsolJzmaqIaxYqj9EkU5hc=";
fetchSubmodules = true;
};
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
mainProgram = "rpiboot";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
cartr
flokli
stv0g
];
+3 -3
View File
@@ -12,16 +12,16 @@
buildGoModule rec {
pname = "stackit-cli";
version = "0.41.0";
version = "0.42.0";
src = fetchFromGitHub {
owner = "stackitcloud";
repo = "stackit-cli";
rev = "v${version}";
hash = "sha256-eBnuarXh8F4P7RdKo6GA1vFhTTRMwI+1Sbb4gGOKDeA=";
hash = "sha256-iFspixuPe/zGue/jGsky2D/sieduISwP1V+sXZrhPeY=";
};
vendorHash = "sha256-LZXIAQqRTGbSKWQ2csLK/7Q80jRhKk1bw8dSoZaFetk=";
vendorHash = "sha256-m71w0nCJMEHOUbHYMX0vfgynZgl8SPoaLr+r8mFemio=";
subPackages = [ "." ];
+20 -10
View File
@@ -2,27 +2,37 @@
lib,
rustPlatform,
fetchFromGitLab,
versionCheckHook,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "swaysome";
version = "2.1.2";
version = "2.3.1";
src = fetchFromGitLab {
owner = "hyask";
repo = "swaysome";
rev = version;
hash = "sha256-2Q88/XgPN+byEo3e1yvwcwSQxPgPTtgy/rNc/Yduo3U=";
tag = finalAttrs.version;
hash = "sha256-/GJXZFa4HX98qJZw1CNM6PsP06EO8inIWDY6BWzQb8U=";
};
cargoHash = "sha256-/TW1rPg/1t3n4XPBOEhgr1hd5PJMLwghLvQGBbZPZ34=";
cargoHash = "sha256-+KjT5bako7l7lg2LW7Kxes7fIEnYQKUGGOMC56moO5g=";
meta = with lib; {
# failed to execute sway: Os { code: 2, kind: NotFound, message: "No such file or directory" }
doCheck = false;
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
description = "Helper to make sway behave more like awesomewm";
homepage = "https://gitlab.com/hyask/swaysome";
license = licenses.mit;
maintainers = with maintainers; [ esclear ];
platforms = platforms.linux;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ esclear ];
platforms = lib.platforms.linux;
mainProgram = "swaysome";
};
}
})
+9 -4
View File
@@ -50,12 +50,17 @@ python3.pkgs.buildPythonApplication rec {
pythonImportsCheck = [ "tebreak" ];
meta = with lib; {
meta = {
description = "Find and characterise transposable element insertions";
mainProgram = "tebreak";
homepage = "https://github.com/adamewing/tebreak";
license = licenses.mit;
maintainers = with maintainers; [ jbedo ];
platforms = platforms.x86_64;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jbedo ];
platforms = lib.platforms.x86_64;
# Several tests are failing:
# - AttributeError: module 'skbio.alignment' has no attribute 'local_pairwise_align_ssw'.
# Did you mean: 'local_pairwise_align'?
# - AssertionError: 6 != 0
broken = true;
};
}
+57 -80
View File
@@ -8,46 +8,35 @@
libtool,
libxkbcommon,
nspr,
mesa,
libtiff,
udev,
gtk3,
libgbm,
libusb1,
libsForQt5,
xorg,
cups,
pango,
libjpeg,
gtk2,
gdk-pixbuf,
libpulseaudio,
libbsd,
libusb1,
bzip2,
libmysqlclient,
llvmPackages,
dbus,
gcc-unwrapped,
freetype,
curl,
makeWrapper,
runCommandLocal,
cacert,
curl,
coreutils,
cacert,
}:
let
pkgVersion = "12.1.0.17900";
url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2023/${lib.last (lib.splitVersion pkgVersion)}/wps-office_${pkgVersion}_amd64.deb";
hash = "sha256-i2EVCmDLE2gx7l2aAo+fW8onP/z+xlPIbQYwKhQ46+o=";
uri = builtins.replaceStrings [ "https://wps-linux-personal.wpscdn.cn" ] [ "" ] url;
securityKey = "7f8faaaa468174dc1c9cd62e5f218a5b";
in
stdenv.mkDerivation rec {
pname = "wpsoffice-cn";
version = pkgVersion;
src =
runCommandLocal "wps-office_${version}_amd64.deb"
let
pname = "wpsoffice-cn";
sources = import ./sources.nix;
version = sources.version;
fetch =
{
url,
uri,
hash,
}:
runCommandLocal "wpsoffice-cn-${version}-src"
{
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = hash;
@@ -60,108 +49,95 @@ stdenv.mkDerivation rec {
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
}
''
readonly SECURITY_KEY="7f8faaaa468174dc1c9cd62e5f218a5b"
timestamp10=$(date '+%s')
md5hash=($(echo -n "${securityKey}${uri}$timestamp10" | md5sum))
curl \
--retry 3 --retry-delay 3 \
"${url}?t=$timestamp10&k=$md5hash" \
> $out
md5hash=($(printf '%s' "$SECURITY_KEY${uri}$timestamp10" | md5sum))
curl --retry 3 --retry-delay 3 "${url}?t=$timestamp10&k=$md5hash" > $out
'';
srcs = {
x86_64-linux = fetch sources.x86_64;
};
src =
srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
in
stdenv.mkDerivation {
inherit pname src version;
unpackCmd = "dpkg -x $src .";
sourceRoot = ".";
nativeBuildInputs = [
dpkg
autoPatchelfHook
makeWrapper
];
buildInputs = [
alsa-lib
at-spi2-core
libtool
libjpeg
libxkbcommon
nspr
mesa
libtiff
udev
gtk3
libsForQt5.qt5.qtbase
libgbm
libusb1
libsForQt5.qtbase
xorg.libXdamage
xorg.libXtst
xorg.libXv
gtk2
gdk-pixbuf
libpulseaudio
xorg.libXScrnSaver
xorg.libXxf86vm
libbsd
libusb1
libmysqlclient
llvmPackages.openmp
dbus
];
dontWrapQtApps = true;
stripAllList = [ "opt" ];
runtimeDependencies = map lib.getLib [
cups
pango
freetype
gcc-unwrapped.lib
];
autoPatchelfIgnoreMissingDeps = [
# distribution is missing libkappessframework.so
"libkappessframework.so"
# qt4 support is deprecated
"libQtCore.so.4"
"libQtNetwork.so.4"
"libQtXml.so.4"
# file manager integration. Not needed
"libnautilus-extension.so.1"
"libcaja-extension.so.1"
"libpeony.so.3"
# libuof.so is a exclusive library in WPS. No need to repatch it
"libuof.so"
];
installPhase = ''
runHook preInstall
prefix=$out/opt/kingsoft/wps-office
mkdir -p $out
cp -r opt $out
cp -r usr/* $out
for i in wps wpp et wpspdf; do
substituteInPlace $out/bin/$i \
--replace /opt/kingsoft/wps-office $prefix
done
for i in $out/share/applications/*;do
cp -r usr/{bin,share} $out
for i in $out/bin/*; do
substituteInPlace $i \
--replace /usr/bin $out/bin
--replace-fail /opt/kingsoft/wps-office $out/opt/kingsoft/wps-office
done
# need system freetype and gcc lib to run properly
for i in wps wpp et wpspdf wpsoffice; do
wrapProgram $out/opt/kingsoft/wps-office/office6/$i \
--set LD_PRELOAD "${freetype}/lib/libfreetype.so" \
--set LD_LIBRARY_PATH "${lib.makeLibraryPath [ gcc-unwrapped.lib ]}"
for i in $out/share/applications/*; do
substituteInPlace $i \
--replace-fail /usr/bin $out/bin
done
runHook postInstall
'';
preFixup = ''
# The following libraries need libtiff.so.5, but nixpkgs provides libtiff.so.6
patchelf --replace-needed libtiff.so.5 libtiff.so $out/opt/kingsoft/wps-office/office6/{libpdfmain.so,libqpdfpaint.so,qt/plugins/imageformats/libqtiff.so,addons/pdfbatchcompression/libpdfbatchcompressionapp.so}
patchelf --replace-needed libtiff.so.5 libtiff.so $out/opt/kingsoft/wps-office/office6/addons/ksplitmerge/libksplitmergeapp.so
patchelf --add-needed libtiff.so $out/opt/kingsoft/wps-office/office6/libwpsmain.so
# Fix: Wrong JPEG library version: library is 62, caller expects 80
patchelf --add-needed libjpeg.so $out/opt/kingsoft/wps-office/office6/libwpsmain.so
# libbz2 dangling symlink
ln -sf ${bzip2.out}/lib/libbz2.so $out/opt/kingsoft/wps-office/office6/libbz2.so
# dlopen dependency
patchelf --add-needed libudev.so.1 $out/opt/kingsoft/wps-office/office6/addons/cef/libcef.so
# libmysqlclient dependency
patchelf --replace-needed libmysqlclient.so.18 libmysqlclient.so $out/opt/kingsoft/wps-office/office6/libFontWatermark.so
patchelf --add-rpath ${libmysqlclient}/lib/mariadb $out/opt/kingsoft/wps-office/office6/libFontWatermark.so
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Office suite, formerly Kingsoft Office";
homepage = "https://www.wps.com";
@@ -174,6 +150,7 @@ stdenv.mkDerivation rec {
th0rgal
wineee
pokon548
chillcicada
];
};
}
+10
View File
@@ -0,0 +1,10 @@
# Generated by ./update.sh - do not update manually!
# Last updated: 2025-09-15
{
version = "12.1.2.22571";
x86_64 = {
url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2023/22571/wps-office_12.1.2.22571.AK.preread.sw_480057_amd64.deb";
uri = "/wps/download/ep/Linux2023/22571/wps-office_12.1.2.22571.AK.preread.sw_480057_amd64.deb";
hash = "sha256-aB1EWP0Ev5WuAuzih3ybD23qaRRTUjlES1emas+sUDA=";
};
}
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix curl cacert
set -euo pipefail
export SSL_CERT_FILE=$NIX_SSL_CERT_FILE
readonly SECURITY_KEY="7f8faaaa468174dc1c9cd62e5f218a5b"
prefix="https://wps-linux-personal.wpscdn.cn"
payload=$(curl -s "https://www.wps.cn/product/wpslinux")
version=$(echo "$payload" | grep -oP '(?<=banner_txt">)[^<]+')
amd64_url=$(echo "$payload" | grep -oP "downLoad\('[^']*'" | head -1 | sed "s/downLoad('//;s/'$//")
amd64_uri="${amd64_url#$prefix}"
timestamp10=$(date '+%s')
md5hash=($(printf '%s' "$SECURITY_KEY$amd64_uri$timestamp10" | md5sum))
amd64_hash=$(nix-prefetch-url --name "wpsoffice-cn-$version.deb" "$amd64_url?t=$timestamp10&k=$md5hash")
amd64_hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$amd64_hash")
cat > sources.nix << EOF
# Generated by ./update.sh - do not update manually!
# Last updated: $(date +%F)
{
version = "$version";
x86_64 = {
url = "$amd64_url";
uri = "$amd64_uri";
hash = "$amd64_hash";
};
}
EOF
+2 -2
View File
@@ -89,7 +89,7 @@ let
in
buildPythonApplication rec {
pname = "xpra";
version = "6.3.2";
version = "6.3.3";
format = "setuptools";
stdenv = if withNvenc then cudaPackages.backendStdenv else args.stdenv;
@@ -98,7 +98,7 @@ buildPythonApplication rec {
owner = "Xpra-org";
repo = "xpra";
tag = "v${version}";
hash = "sha256-Grtr9d3+ywGFlLdAwEmBiaFJCZQBK2LTuqQ0mg0I0Lk=";
hash = "sha256-hk+C6I/QS6ihwmuNlnoNFipJ98SW6LO+Qa3Uh1h1Ji8=";
};
patches = [
+2 -2
View File
@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication rec {
pname = "ytdl-sub";
version = "2025.09.09";
version = "2025.09.13";
pyproject = true;
src = fetchFromGitHub {
owner = "jmbannon";
repo = "ytdl-sub";
tag = version;
hash = "sha256-M3dLXVvueMPIqqOd0s/w6ItHE/sgkup7YGjk3GPmcIw=";
hash = "sha256-Qcf4hZ1MWH2FHWIvaQGjsd5uwNEaV+MTAFaQm0mwLNs=";
};
postPatch = ''
+3 -3
View File
@@ -99,7 +99,7 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
version = "0.204.3";
version = "0.204.4";
outputs = [
"out"
@@ -112,7 +112,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
hash = "sha256-nEaV6VQk294zlkkooe1Xh78GHBNzRizopiN9TjRoZNU=";
hash = "sha256-uK3Efx9MBvNM2fXSLq05SdLjtI+He11qgsw8r1mWUWo=";
};
patches = [
@@ -143,7 +143,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail '$CARGO_ABOUT_VERSION' '${cargo-about.version}'
'';
cargoHash = "sha256-vbnFXLWgKljlkdQg30tPOX6Kz8EXZoj0I8diwFh//3s=";
cargoHash = "sha256-CyzitGBfZoKQKhCs09Q1skIGX+syMV7OPfQPNvX01ow=";
nativeBuildInputs = [
cmake
@@ -57,6 +57,7 @@
fontconfig,
freetype,
openssl,
openxr-loader,
sqlite,
gst-plugins-base,
gst-plugins-bad,
@@ -80,7 +81,7 @@
# https://webkitgtk.org/2024/10/04/webkitgtk-2.46.html recommends building with clang.
clangStdenv.mkDerivation (finalAttrs: {
pname = "webkitgtk";
version = "2.48.6";
version = "2.50.0";
name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${
if lib.versionAtLeast gtk3.version "4.0" then
"6.0"
@@ -100,7 +101,7 @@ clangStdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz";
hash = "sha256-2awwNLejnCqqVn5hErMSSxWOWRp0Q55Gl0oDHdDkTiQ=";
hash = "sha256-5WS4CZ+aOuMkCVObKQu9KtCE6ZttItSqxeUeRVTfi8I=";
};
patches = lib.optionals clangStdenv.hostPlatform.isLinux [
@@ -189,6 +190,8 @@ clangStdenv.mkDerivation (finalAttrs: {
++ lib.optionals enableExperimental [
# For ENABLE_WEB_RTC
openssl
# For ENABLE_WEBXR
openxr-loader
]
++ lib.optionals withLibsecret [
libsecret
@@ -4,7 +4,7 @@
fetchFromGitHub,
# build-system
hatchling,
uv-build,
# non-propagates
django,
@@ -19,17 +19,17 @@
buildPythonPackage rec {
pname = "django-bootstrap4";
version = "25.1";
version = "25.2";
pyproject = true;
src = fetchFromGitHub {
owner = "zostera";
repo = "django-bootstrap4";
tag = "v${version}";
hash = "sha256-WIz7T2f3xvsT2rSq1MUFwHpvzgHyLgTRpzb9z98sUmo=";
hash = "sha256-+G9UHW4eUGl00A/kDj+iTP7ehjj/dwUENKffvGxE6/4=";
};
build-system = [ hatchling ];
build-system = [ uv-build ];
dependencies = [ beautifulsoup4 ];
@@ -48,7 +48,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Bootstrap 4 integration with Django";
homepage = "https://github.com/zostera/django-bootstrap4";
changelog = "https://github.com/zostera/django-bootstrap4/blob/${src.rev}/CHANGELOG.md";
changelog = "https://github.com/zostera/django-bootstrap4/blob/${src.tag}/CHANGELOG.md";
license = licenses.bsd3;
maintainers = with maintainers; [ hexa ];
};
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "elasticsearch8";
version = "8.19.0";
version = "8.19.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-7D4M4iw+d2Ok21twUxX/PKDxtC6++bPicYI18jrHlY0=";
hash = "sha256-/JkH60q7zk792R3IRo/DylOd8xVSqEgH1/KmXFPdy2U=";
};
build-system = [ hatchling ];
@@ -0,0 +1,99 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
datasets,
fastapi,
mlx,
mlx-lm,
numpy,
opencv-python,
pillow,
requests,
scipy,
soundfile,
tqdm,
transformers,
uvicorn,
# tests
psutil,
pytestCheckHook,
rich,
}:
buildPythonPackage rec {
pname = "mlx-vlm";
version = "0.3.3";
pyproject = true;
src = fetchFromGitHub {
owner = "Blaizzy";
repo = "mlx-vlm";
tag = "v${version}";
hash = "sha256-KhppKqIJPmtjgSXSC3n5HTMm3fDUJaoYJEiGfQ5vGNQ=";
};
build-system = [
setuptools
];
pythonRelaxDeps = [
"opencv-python"
];
dependencies = [
datasets
fastapi
mlx
mlx-lm
numpy
opencv-python
pillow
requests
scipy
soundfile
tqdm
transformers
uvicorn
];
pythonImportsCheck = [ "mlx_vlm" ];
nativeCheckInputs = [
psutil
pytestCheckHook
rich
];
disabledTests = [
# Fatal Python error: Aborted
# mlx_vlm/models/multi_modality/vision.py", line 174 in __call__
"test_multi_modality"
# RuntimeError: [metal_kernel] No GPU back-end
"test_glm4v_moe"
"test_kimi_vl"
];
disabledTestPaths = [
# ImportError: cannot import name 'get_class_predicate' from 'mlx_vlm.utils'
# This function is indeed not exposed by `mlx_vlm.utils`
"mlx_vlm/tests/test_utils.py"
# fixture 'model_path' not found
"mlx_vlm/tests/test_smoke.py"
];
meta = {
description = "Inference and fine-tuning of Vision Language Models (VLMs) on your Mac using MLX";
homepage = "https://github.com/Blaizzy/mlx-vlm";
changelog = "https://github.com/Blaizzy/mlx-vlm/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
nix-update-script,
setuptools,
pkg-config,
swig,
@@ -42,6 +43,10 @@ buildPythonPackage rec {
enabledTestPaths = [ "test/test-*.py" ];
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
meta = {
homepage = "https://www.gnu.org/software/libcdio/";
changelog = "https://github.com/rocky/pycdio/blob/${src.rev}/ChangeLog";
@@ -55,6 +55,12 @@ buildPythonPackage {
pythonImportsCheck = [ "waymax" ];
disabledTests = [
# AssertionError: Not equal to tolerance rtol=1e-07, atol=0
"test_obs_from_state_for_different_coordinate_system0"
"test_obs_from_state_for_different_coordinate_system1"
];
disabledTestPaths = [
# Disable visualization tests that require a GUI
# waymax/visualization/viz_test.py Fatal Python error: Aborted
+2
View File
@@ -9506,6 +9506,8 @@ self: super: with self; {
mlx-lm = callPackage ../development/python-modules/mlx-lm { };
mlx-vlm = callPackage ../development/python-modules/mlx-vlm { };
mlxtend = callPackage ../development/python-modules/mlxtend { };
mmcif-pdbx = callPackage ../development/python-modules/mmcif-pdbx { };