push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
{
fetchFromGitHub,
stdenv,
libusb1,
pkg-config,
lib,
writeText,
}:
let
stellaris-udev-rules = writeText "61.stellpad.rules" ''
SUBSYSTEM=="usb", ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="0666"
'';
in
stdenv.mkDerivation rec {
pname = "lm4flash";
version = "0.1.3";
src = fetchFromGitHub {
owner = "utzig";
repo = "lm4tools";
tag = "v${version}";
hash = "sha256-ZjuCH/XjQEgg6KHAvb95/BkAy+C2OdbtBb/i6K30+uo=";
};
sourceRoot = "${src.name}/lm4flash";
strictDeps = true;
nativeBuildInputs = [
pkg-config
];
buildInputs = [
libusb1
];
buildFlags = [ "release" ];
installFlags = [ "PREFIX=$(out)" ];
doInstallCheck = true;
postInstall = ''
install -Dm644 "${stellaris-udev-rules}" "$out/etc/udev/rules.d/61.stellpad.rules"
'';
meta = {
description = "Command-line firmware flashing tool for the Stellaris Launchpad";
longDescription = ''
Command-line firmware flashing tool using libusb-1.0 to communicate with
the Stellaris Launchpad ICDI. Works on all Linux, Mac OS X, Windows, and
BSD systems.
'';
homepage = "https://github.com/utzig/lm4tools";
license = lib.licenses.gpl2Plus;
mainProgram = "lm4flash";
maintainers = with lib.maintainers; [ MostafaKhaled ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,97 @@
{
lib,
stdenv,
fetchFromGitHub,
bash,
bison,
flex,
which,
perl,
rrdtool,
sensord ? false,
}:
let
version = "3.6.2";
tag = "V" + lib.replaceStrings [ "." ] [ "-" ] version;
in
stdenv.mkDerivation {
pname = "lm-sensors";
inherit version;
src = fetchFromGitHub {
owner = "hramrach"; # openSUSE fork used by openSUSE and Gentoo
repo = "lm-sensors";
inherit tag;
hash = "sha256-EmS9H3TQac6bHs2G8t1C2cQNAjN13zPoKDysny6aTFw=";
};
outputs = [
"bin"
"out"
"dev"
"man"
"doc"
];
postPatch =
# This allows sensors to continue reading the sensors3.conf as provided by
# upstream and also look for config fragments in /etc/sensors.d
''
substituteInPlace lib/init.c \
--replace-fail 'ETCDIR "/sensors.d"' '"/etc/sensors.d"'
'';
nativeBuildInputs = [
bison
flex
which
];
# bash is required for correctly replacing the shebangs in all tools for cross-compilation.
buildInputs = [
bash
perl
]
++ lib.optional sensord rrdtool;
makeFlags = [
"PREFIX=${placeholder "out"}"
"BINDIR=${placeholder "bin"}/bin"
"SBINDIR=${placeholder "bin"}/bin"
"INCLUDEDIR=${placeholder "dev"}/include"
"MANDIR=${placeholder "man"}/share/man"
# This is a dependency of the library.
"ETCDIR=${placeholder "out"}/etc"
"BUILD_SHARED_LIB=${if stdenv.hostPlatform.isStatic then "0" else "1"}"
"BUILD_STATIC_LIB=${if stdenv.hostPlatform.isStatic then "1" else "0"}"
"CC=${stdenv.cc.targetPrefix}cc"
"AR=${stdenv.cc.targetPrefix}ar"
]
++ lib.optional sensord "PROG_EXTRA=sensord";
enableParallelBuilding = true;
postInstall = ''
mkdir -p $doc/share/doc/lm_sensors
cp -r configs doc/* $doc/share/doc/lm_sensors
'';
meta = {
homepage = "https://hwmon.wiki.kernel.org/lm_sensors";
changelog = "https://raw.githubusercontent.com/hramrach/lm-sensors/${tag}/CHANGES";
description = "Tools for reading hardware sensors - maintained fork";
license = with lib.licenses; [
lgpl21Plus
gpl2Plus
];
maintainers = with lib.maintainers; [
pmy
oxalica
];
platforms = lib.platforms.linux;
mainProgram = "sensors";
};
}

View File

@@ -0,0 +1,54 @@
{
lib,
nix-update-script,
fetchurl,
appimageTools,
makeBinaryWrapper,
}:
let
pname = "lmath";
version = "1.10.15";
src = fetchurl {
url = "https://github.com/lehtoroni/lmath-issues/releases/download/v${version}/LMath_Linux_r${version}-release.AppImage";
hash = "sha256-JOV+g7izjctCkHl5q/9T2PSUZzPzVPisHppbPofVYy0=";
};
appimageContents = appimageTools.extractType2 {
inherit pname version src;
};
in
appimageTools.wrapType2 {
inherit pname version src;
nativeBuildInputs = [
makeBinaryWrapper
];
# '--skip-updated-bundle-check' stops automatic updates from breaking the package
extraInstallCommands = ''
install -Dm 444 ${appimageContents}/lmath.desktop $out/share/applications/lmath.desktop
install -Dm 444 ${appimageContents}/lmath.png $out/share/icons/hicolor/512x512/apps/lmath.png
wrapProgram $out/bin/lmath \
--add-flags "--no-update-check"
substituteInPlace $out/share/applications/lmath.desktop \
--replace-fail 'Exec=AppRun' 'Exec=lmath'
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^r([0-9\.]*)"
];
};
meta = {
description = "Simple notebook app with LaTeX capabilities";
homepage = "https://lehtodigital.fi/lmath/";
mainProgram = "lmath";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ langsjo ];
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,21 @@
diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
index 612484e..2e6b562 100644
--- a/libraries/liblmdb/Makefile
+++ b/libraries/liblmdb/Makefile
@@ -27,6 +27,7 @@ CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS)
LDLIBS =
SOLIBS =
SOEXT = .so
+BINEXT =
prefix = /usr/local
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
@@ -49,7 +50,7 @@ install: $(ILIBS) $(IPROGS) $(IHDRS)
mkdir -p $(DESTDIR)$(libdir)
mkdir -p $(DESTDIR)$(includedir)
mkdir -p $(DESTDIR)$(mandir)/man1
- for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done
+ for f in $(IPROGS); do cp $$f$(BINEXT) $(DESTDIR)$(bindir); done
for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done
for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done
for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done

View File

@@ -0,0 +1,26 @@
commit 029031a68873bc3784a8561bd8e049efbd34f9d0 (HEAD)
Author: Vladimír Čunát <vcunat@gmail.com>
Date: Sun Apr 1 11:05:31 2018 +0200
make: gcc -> $(CC)
diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
index f254511..612484e 100644
--- a/libraries/liblmdb/Makefile
+++ b/libraries/liblmdb/Makefile
@@ -102,13 +102,13 @@ COV_OBJS=xmdb.o xmidl.o
coverage: xmtest
for i in mtest*.c [0-9]*.c; do j=`basename \$$i .c`; $(MAKE) $$j.o; \
- gcc -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \
+ $(CC) -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \
rm -rf testdb; mkdir testdb; ./x$$j; done
gcov xmdb.c
gcov xmidl.c
xmtest: mtest.o xmdb.o xmidl.o
- gcc -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS)
+ $(CC) -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS)
xmdb.o: mdb.c lmdb.h midl.h
$(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -O0 $(COV_FLAGS) -c mdb.c -o $@

View File

@@ -0,0 +1,92 @@
{
lib,
stdenv,
fetchFromGitLab,
windows,
}:
stdenv.mkDerivation rec {
pname = "lmdb";
version = "0.9.33";
src = fetchFromGitLab {
domain = "git.openldap.org";
owner = "openldap";
repo = "openldap";
rev = "LMDB_${version}";
sha256 = "sha256-5IBoJ3jaNXao5zVzb0LDM8RGid4s8DGQpjVqrVPLpXQ=";
};
postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
patches = [
./hardcoded-compiler.patch
./bin-ext.patch
];
patchFlags = [ "-p3" ];
# Don't attempt the .so if static, as it would fail.
postPatch = lib.optionalString stdenv.hostPlatform.isStatic ''
sed 's/^ILIBS\>.*/ILIBS = liblmdb.a/' -i Makefile
'';
outputs = [
"bin"
"out"
"dev"
];
buildInputs = lib.optional stdenv.hostPlatform.isWindows windows.pthreads;
makeFlags = [
"prefix=$(out)"
"CC=${stdenv.cc.targetPrefix}cc"
"AR=${stdenv.cc.targetPrefix}ar"
]
++ lib.optional stdenv.hostPlatform.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so"
++ lib.optionals stdenv.hostPlatform.isWindows [
"SOEXT=.dll"
"BINEXT=.exe"
];
doCheck = true;
checkTarget = "test";
postInstall = ''
moveToOutput bin "$bin"
''
# add lmdb.pc (dynamic only)
+ ''
mkdir -p "$dev/lib/pkgconfig"
cat > "$dev/lib/pkgconfig/lmdb.pc" <<EOF
Name: lmdb
Description: ${meta.description}
Version: ${version}
Cflags: -I$dev/include
Libs: -L$out/lib -llmdb
EOF
# Expected by Rust libraries.
ln -s lmdb.pc "$dev/lib/pkgconfig/liblmdb.pc"
'';
meta = {
description = "Lightning memory-mapped database";
longDescription = ''
LMDB is an ultra-fast, ultra-compact key-value embedded data store
developed by Symas for the OpenLDAP Project. It uses memory-mapped files,
so it has the read performance of a pure in-memory database while still
offering the persistence of standard disk-based databases, and is only
limited to the size of the virtual address space.
'';
homepage = "https://symas.com/lmdb/";
changelog = "https://git.openldap.org/openldap/openldap/-/blob/LMDB_${version}/libraries/liblmdb/CHANGES";
maintainers = with lib.maintainers; [
jb55
vcunat
];
license = lib.licenses.openldap;
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
stdenv,
fetchFromGitHub,
lmdb,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lmdbxx";
version = "1.0.0";
src = fetchFromGitHub {
owner = "hoytech";
repo = "lmdbxx";
rev = finalAttrs.version;
sha256 = "sha256-7CxQZdgHVvmof6wVR9Mzic6tg89XJT3Z1ICGRs7PZYo=";
};
buildInputs = [ lmdb ];
makeFlags = [ "PREFIX=$(out)" ];
meta = {
homepage = "https://github.com/hoytech/lmdbxx#readme";
description = "C++11 wrapper for the LMDB embedded B+ tree database library";
license = lib.licenses.unlicense;
maintainers = with lib.maintainers; [ fgaz ];
};
})

View File

@@ -0,0 +1,37 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation rec {
pname = "lmmath";
version = "1.959";
src = fetchzip {
url = "https://www.gust.org.pl/projects/e-foundry/lm-math/download/latinmodern-math-1959.zip";
hash = "sha256-et/WMhfZZYgP0S7ZmI6MZK5owv9bSoMBXFX6yGSng5Y=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/opentype/
mkdir -p $out/share/doc/latinmodern-math-${version}/
cp otf/*.otf $out/share/fonts/opentype/
cp doc/*.txt $out/share/doc/latinmodern-math-${version}/
runHook postInstall
'';
meta = with lib; {
description = "Latin Modern Math (LM Math) font completes the modernization of the Computer Modern family of typefaces designed and programmed by Donald E. Knuth";
homepage = "https://www.gust.org.pl/projects/e-foundry/lm-math";
# "The Latin Modern Math font is licensed under the GUST Font License (GFL),
# which is a free license, legally equivalent to the LaTeX Project Public
# License (LPPL), version 1.3c or later." - GUST website
license = licenses.lppl13c;
maintainers = with maintainers; [ siddharthist ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,27 @@
{ stdenvNoCC, fetchurl }:
stdenvNoCC.mkDerivation rec {
pname = "lmodern";
version = "2.005";
src = fetchurl {
url = "mirror://debian/pool/main/l/${pname}/${pname}_${version}.orig.tar.gz";
hash = "sha256-xlUuZt6rjW0pX4t6PKWAHkkv3PisGCj7ZwatZPAUNxk=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/texmf-dist/
mkdir -p $out/share/fonts/
cp -r * $out/texmf-dist/
cp -r fonts/{opentype,type1} $out/share/fonts/
runHook postInstall
'';
meta = {
description = "Latin Modern font";
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "lmp";
version = "2.0";
src = fetchFromGitHub {
owner = "0xInfection";
repo = "LogMePwn";
rev = "v${version}";
sha256 = "sha256-VL/Hp7YaXNcV9JPb3kgRHcdhJJ5p3KHUf3hHbT3gKVk=";
};
vendorHash = "sha256-3NTaJ/Y3Tc6UGLfYTKjZxAAI43GJyZQ5wQVYbnXHSYc=";
meta = with lib; {
description = "Scanning and validation toolkit for the Log4J vulnerability";
homepage = "https://github.com/0xInfection/LogMePwn";
license = with licenses; [ gpl3Only ];
maintainers = with maintainers; [ fab ];
mainProgram = "lmp";
};
}

View File

@@ -0,0 +1,78 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
gtest,
boost,
wt,
taglib,
libconfig,
libarchive,
graphicsmagick,
ffmpeg,
zlib,
libSM,
libICE,
stb,
openssl,
xxHash,
}:
stdenv.mkDerivation rec {
pname = "lms";
version = "3.69.0";
src = fetchFromGitHub {
owner = "epoupon";
repo = "lms";
rev = "v${version}";
hash = "sha256-fdsKNicBcdUoxFLYg8Lq1KFZub1P3pt2rOKQ/1V2VtU=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
gtest
boost
wt
taglib
libconfig
libarchive
graphicsmagick
ffmpeg
zlib
libSM
libICE
stb
openssl
xxHash
];
postPatch = ''
substituteInPlace src/libs/core/include/core/SystemPaths.hpp --replace-fail "/etc" "$out/share/lms"
'';
postInstall = ''
substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/bin/ffmpeg" "${lib.getExe ffmpeg}"
substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/Wt/resources" "${wt}/share/Wt/resources"
substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/lms/docroot" "$out/share/lms/docroot"
substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/lms/approot" "$out/share/lms/approot"
substituteInPlace $out/share/lms/default.service --replace-fail "/usr/bin/lms" "$out/bin/lms"
install -Dm444 $out/share/lms/default.service -T $out/lib/systemd/system/lmsd.service
'';
meta = {
homepage = "https://github.com/epoupon/lms";
changelog = "https://github.com/epoupon/lms/releases/tag/${src.rev}";
description = "Lightweight Music Server - Access your self-hosted music using a web interface";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
mainProgram = "lms";
maintainers = with lib.maintainers; [ mksafavi ];
};
}

View File

@@ -0,0 +1,53 @@
{
stdenv,
fetchurl,
undmg,
meta,
pname,
version,
url,
hash,
passthru,
}:
stdenv.mkDerivation {
inherit meta pname version;
src = fetchurl {
inherit url hash;
};
nativeBuildInputs = [ undmg ];
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
cp -r *.app $out/Applications
runHook postInstall
'';
# LM Studio ships Scripts inside the App Bundle, which may be messed up by standard fixups
dontFixup = true;
# undmg doesn't support APFS and 7zz does break the xattr. Took that approach from https://github.com/NixOS/nixpkgs/blob/a3c6ed7ad2649c1a55ffd94f7747e3176053b833/pkgs/by-name/in/insomnia/package.nix#L52
unpackCmd = ''
echo "Creating temp directory"
mnt=$(TMPDIR=/tmp mktemp -d -t nix-XXXXXXXXXX)
function finish {
echo "Ejecting temp directory"
/usr/bin/hdiutil detach $mnt -force
rm -rf $mnt
}
# Detach volume when receiving SIG "0"
trap finish EXIT
# Mount DMG file
echo "Mounting DMG file into \"$mnt\""
/usr/bin/hdiutil attach -nobrowse -mountpoint $mnt $curSrc
# Copy content to local dir for later use
echo 'Copying extracted content into "sourceRoot"'
cp -a $mnt/LM\ Studio.app $PWD/
'';
inherit passthru;
}

View File

@@ -0,0 +1,48 @@
{
appimageTools,
fetchurl,
version,
url,
hash,
pname,
meta,
stdenv,
lib,
passthru,
}:
let
src = fetchurl { inherit url hash; };
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit
meta
pname
version
src
passthru
;
extraPkgs = pkgs: [ pkgs.ocl-icd ];
extraInstallCommands = ''
mkdir -p $out/share/applications
cp -r ${appimageContents}/usr/share/icons $out/share
install -m 444 -D ${appimageContents}/lm-studio.desktop -t $out/share/applications
# Rename the main executable from lmstudio to lm-studio
mv $out/bin/lmstudio $out/bin/lm-studio
substituteInPlace $out/share/applications/lm-studio.desktop \
--replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=lm-studio'
# lms cli tool
install -m 755 ${appimageContents}/resources/app/.webpack/lms $out/bin/
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" \
--set-rpath "${lib.getLib stdenv.cc.cc}/lib:${lib.getLib stdenv.cc.cc}/lib64:$out/lib:${
lib.makeLibraryPath [ (lib.getLib stdenv.cc.cc) ]
}" $out/bin/lms
'';
}

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
callPackage,
...
}@args:
let
pname = "lmstudio";
version_aarch64-darwin = "0.3.28-2";
hash_aarch64-darwin = "sha256-7sxhKZwZKzA2VUPHsChgysxXMB7SKEd9zK4kIPbWYjo=";
version_x86_64-linux = "0.3.28-2";
hash_x86_64-linux = "sha256-ewVjJ0Sy5Zwf9tvlfngQKnAfAv3BvPIAO+p1tJ3mO8M=";
meta = {
description = "LM Studio is an easy to use desktop app for experimenting with local and open-source Large Language Models (LLMs)";
homepage = "https://lmstudio.ai/";
license = lib.licenses.unfree;
mainProgram = "lm-studio";
maintainers = with lib.maintainers; [ crertel ];
platforms = [
"x86_64-linux"
"aarch64-darwin"
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
broken = stdenv.hostPlatform.isDarwin; # Upstream issue: https://github.com/lmstudio-ai/lmstudio-bug-tracker/issues/347
};
in
if stdenv.hostPlatform.isDarwin then
callPackage ./darwin.nix {
inherit pname meta;
passthru.updateScript = ./update.sh;
version = version_aarch64-darwin;
url =
args.url
or "https://installers.lmstudio.ai/darwin/arm64/${version_aarch64-darwin}/LM-Studio-${version_aarch64-darwin}-arm64.dmg";
hash = args.hash or hash_aarch64-darwin;
}
else
callPackage ./linux.nix {
inherit pname meta;
passthru.updateScript = ./update.sh;
version = version_x86_64-linux;
url =
args.url
or "https://installers.lmstudio.ai/linux/x64/${version_x86_64-linux}/LM-Studio-${version_x86_64-linux}-x64.AppImage";
hash = args.hash or hash_x86_64-linux;
}

View File

@@ -0,0 +1,18 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl common-updater-scripts
set -euo pipefail
packages="$(curl -s -L "https://lmstudio.ai/" | grep -oE 'https://installers.lmstudio.ai[^"\]*' | sort -u | grep -v \\.exe)"
for system in "aarch64-darwin darwin/arm64" "x86_64-linux linux/x64"; do
# shellcheck disable=SC2086
set -- ${system} # split string into variables $1 and $2
arch="${1}"
url=$(echo "${packages}" | grep "${2}")
version="$(echo "${url}" | cut -d/ -f6)"
hash=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 "$(nix-prefetch-url "${url}")")
update-source-version lmstudio "${version}" "${hash}" --system="${arch}" --version-key="version_${arch}" \
2> >(tee /dev/stderr) | grep -q "nothing to do" && exit
done