Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-01-24 06:06:27 +00:00
committed by GitHub
51 changed files with 1725 additions and 462 deletions
+7
View File
@@ -18149,6 +18149,13 @@
githubId = 9636071;
name = "Myrl Hex";
};
MysteryBlokHed = {
name = "Adam Thompson-Sharpe";
email = "hi@adamts.me";
github = "MysteryBlokHed";
githubId = 13910387;
keys = [ { fingerprint = "086E EF20 D54E D348 E5BA 6263 16E9 43E6 596F FB4E"; } ];
};
myypo = {
email = "nikirsmcgl@gmail.com";
github = "myypo";
@@ -45,28 +45,9 @@ for gen in "${gens[@]}"; do
bootspecFile="$(sed -nr 's/^options init=(.*)\/init.*$/\1/p' "$gen")/boot.json"
[ "$1" = "debug" ] && echo -e "\e[1;34mxenBootBuilder:\e[0m processing bootspec file $bootspecFile"
# We do nothing if the Bootspec for the current $gen does not contain the Xen
# extension, which is added as a configuration attribute below.
# We determine this by checking for the v1 or v2 bootspec extension,
# and setting the appropriate attributes based on version
xenSpecVer=""
xenParamVar=""
xenEfiPath=""
if grep -sq '"org.xenproject.bootspec.v1"' "$bootspecFile"; then
xenSpecVer="v1"
xenParamVar="xenParams"
xenEfiPath="xen"
fi
# We prefer the v2 extension, so if both are present somehow,
# we will use the v2 attributes
# Check for a valid Xen v2 spec being detected
if grep -sq '"org.xenproject.bootspec.v2"' "$bootspecFile"; then
xenSpecVer="v2"
xenParamVar="params"
xenEfiPath="efiPath"
fi
# Check for a valid Xen spec being detected
if [ -n "$xenSpecVer" ]; then
[ "$1" = "debug" ] && echo -e " \e[1;32msuccess:\e[0m found $xenSpecVer Xen entries in $gen."
[ "$1" = "debug" ] && echo -e " \e[1;32msuccess:\e[0m found v2 Xen entries in $gen."
# TODO: Support DeviceTree booting. Xen has some special handling for DeviceTree
# attributes, which will need to be translated in a boot script similar to this
@@ -82,7 +63,7 @@ for gen in "${gens[@]}"; do
# the corresponding nixos generation, substituting `nixos` with `xen`:
# `xen-$profile-generation-$number-specialisation-$specialisation.{cfg,conf}`
xenGen=$(echo "$gen" | sed 's_/loader/entries/nixos_/loader/entries/xen_g;s_^.*/xen_xen_g;s_.conf$__g')
bootParams=$(jq -re ".\"org.xenproject.bootspec.$xenSpecVer\".$xenParamVar | join(\" \")" "$bootspecFile")
bootParams=$(jq -re ".\"org.xenproject.bootspec.v2\".params | join(\" \")" "$bootspecFile")
kernel=$(jq -re '."org.nixos.bootspec.v1".kernel | sub("^/nix/store/"; "") | sub("/bzImage"; "-bzImage.efi")' "$bootspecFile")
kernelParams=$(jq -re '."org.nixos.bootspec.v1".kernelParams | join(" ")' "$bootspecFile")
initrd=$(jq -re '."org.nixos.bootspec.v1".initrd | sub("^/nix/store/"; "") | sub("/initrd"; "-initrd.efi")' "$bootspecFile")
@@ -109,7 +90,7 @@ EOF
# Create Xen UKI for $generation. Most of this is lifted from
# https://xenbits.xenproject.org/docs/unstable/misc/efi.html.
[ "$1" = "debug" ] && echo -e "\e[1;34mxenBootBuilder:\e[0m making Xen UKI..."
xenEfi=$(jq -re ".\"org.xenproject.bootspec.$xenSpecVer\".$xenEfiPath" "$bootspecFile")
xenEfi=$(jq -re ".\"org.xenproject.bootspec.v2\".efiPath" "$bootspecFile")
finalSection=$(objdump --header --wide "$xenEfi" | tail -n +6 | sort --key="4,4" | tail -n 1 | grep -Eo '\.[a-z]*')
padding=$(objdump --header --section="$finalSection" "$xenEfi" | awk -v section="$finalSection" '$0 ~ section { printf("0x%016x\n", and(strtonum("0x"$3) + strtonum("0x"$4) + 0xfff, compl(0xfff)))};')
[ "$1" = "debug" ] && echo " - padding: $padding"
@@ -132,13 +113,16 @@ sort-key $sortKey
EOF
[ "$1" = "debug" ] && echo -e "done."
# Sometimes, garbage collection weirdness causes a generation to still exist in
# the loader entries, but its Bootspec file was deleted. We consider such a
# generation to be invalid, but we don't write extra code to handle this
# situation, as supressing grep's error messages above is quite enough, and the
# error message below is still technically correct, as no Xen can be found in
# something that does not exist.
# Since NixOS 26.05, org.xenproject.bootspec.v1 is unsupported.
elif grep -sq '"org.xenproject.bootspec.v1"' "$bootspecFile"; then
[ "$1" = "debug" ] && echo -e "\n\e[1;33mwarning:\e[0m $gen has a \e[1;34morg.xenproject.bootspec.v1\e[0m Bootspec entry. This boot builder only supports v2 entries, so this generation will be ignored, and will \e[1;31mfail to boot\e[0m."
else
# Sometimes, garbage collection weirdness causes a generation to still exist in
# the loader entries, but its Bootspec file was deleted. We consider such a
# generation to be invalid, but we don't write extra code to handle this
# situation, as supressing grep's error messages above is quite enough, and the
# error message below is still technically correct, as no Xen can be found in
# something that does not exist.
[ "$1" = "debug" ] && echo -e " \e[1;33mwarning:\e[0m \e[1;31mno Xen found\e[0m in $gen."
fi
done
@@ -153,7 +137,7 @@ mapfile -t postGenerations < <(find "$efiMountPoint"/loader/entries -type f -nam
if ((${#postGenerations[@]} == 0)); then
case "$1" in
"default" | "info") echo "none found." && echo -e "If you believe this is an error, set the \e[1;34mvirtualisation.xen.boot.builderVerbosity\e[0m option to \e[1;34m\"debug\"\e[0m and rebuild to print debug logs." ;;
"debug") echo -e "\e[1;34mxenBootBuilder:\e[0m wrote \e[1;31mno generations\e[0m. Most likely, there were no generations with a valid \e[1;34morg.xenproject.bootspec.v1\e[0m or \e[1;34morg.xenproject.bootspec.v2\e[0m entry." ;;
"debug") echo -e "\e[1;34mxenBootBuilder:\e[0m wrote \e[1;31mno generations\e[0m. Most likely, there were no generations with a valid \e[1;34morg.xenproject.bootspec.v2\e[0m entry." ;;
esac
# If the script is successful, change the default boot, say "done.", write a
+8 -16
View File
@@ -741,22 +741,14 @@ in
# Xen Bootspec extension. This extension allows NixOS bootloaders to
# fetch the dom0 kernel paths and access the `cfg.boot.params` option.
bootspec.extensions = {
# Bootspec extension v1 is deprecated, and will be removed in 26.05
# It is present for backwards compatibility
"org.xenproject.bootspec.v1" = {
xen = cfg.boot.efi.path;
xenParams = cfg.boot.params;
};
# Bootspec extension v2 includes more detail,
# including supporting multiboot, and is the current supported
# bootspec extension
"org.xenproject.bootspec.v2" = {
efiPath = cfg.boot.efi.path;
multibootPath = cfg.boot.bios.path;
version = cfg.package.version;
params = cfg.boot.params;
};
# Bootspec extension v2 includes more detail,
# including supporting multiboot, and is the current supported
# bootspec extension
bootspec.extensions."org.xenproject.bootspec.v2" = {
efiPath = cfg.boot.efi.path;
multibootPath = cfg.boot.bios.path;
version = cfg.package.version;
params = cfg.boot.params;
};
# See the `xenBootBuilder` script in the main `let...in` statement of this file.
+28 -13
View File
@@ -201,18 +201,33 @@ in
server.succeed("systemctl --no-pager -l status apparmor.service")
server.wait_for_unit("apparmor.service")
''
+
lib.optionalString cfg.feature.user # python
''
with subtest("incus-user allows restricted access for users"):
server.fail("incus project show user-1000")
server.succeed("su - testuser bash -c 'incus list'")
# a project is created dynamically for the user
server.succeed("incus project show user-1000")
# users shouldn't be able to list storage pools
server.fail("su - testuser bash -c 'incus storage list'")
# user can create an instance
server.succeed("su - testuser bash -c 'incus create --empty'")
''
+ lib.optionalString cfg.feature.user (
# python
''
with subtest("incus-user allows restricted access for users"):
server.fail("incus project show user-1000")
server.succeed("su - testuser bash -c 'incus list'")
# a project is created dynamically for the user
server.succeed("incus project show user-1000")
# user can create an instance
server.succeed("su - testuser bash -c 'incus create --empty'")
''
+ lib.optionalString (lib.versionOlder cfg.package.version "6.21") ''
# users shouldn't be able to list storage pools
server.fail("su - testuser bash -c 'incus storage list'")
''
+ lib.optionalString (lib.versionAtLeast cfg.package.version "6.21") ''
# users shouldn't be able to read storage pools
server.succeed("su - testuser bash -c 'incus storage list'")
# pre-check that there is a pool source
pool_source = server.succeed("incus storage get default source").strip()
assert pool_source == "/var/lib/incus/storage-pools/default", f"Expected pool source /var/lib/incus/storage-pools/default, got {pool_source}"
# users shouldn't be able to read storage pool config
code, pool_source = server.execute("su - testuser bash -c 'incus storage get default source'")
assert pool_source.strip() == "", f"Expected empty string, got {pool_source}"
''
)
+ instanceScript;
}
@@ -8,11 +8,11 @@
let
src = mkJetBrainsSource {
# update-script-start: source-args
version = "2025.3.1.1";
buildNumber = "253.29346.240";
version = "2025.3.2";
buildNumber = "253.30387.90";
buildType = "idea";
ideaHash = "sha256-L5O6QjDY3SqSQ1DnQTjIez7pIvPAdtOXP/+B05bAV+Q=";
androidHash = "sha256-quMCzrjCKIo1pkzw4PWewAs5tz7A2aq7TI5zd+QaaUY=";
ideaHash = "sha256-0WuTG1wQThWQv4Pzfw+48LDm4dvlfii/B+bwWdeGNTI=";
androidHash = "sha256-USadXfyPu5boaCB+5rP+40Kd53LTRrrkRwgcbaxDgXg=";
jpsHash = "sha256-iHpt926BDLNUwHRXvkqVgwlWiLo1qSZEaGeJcS0Fjmk=";
restarterHash = "sha256-acCmC58URd6p9uKZrm0qWgdZkqu9yqCs23v8qgxV2Ag=";
mvnDeps = ../source/idea_maven_artefacts.json;
@@ -50,14 +50,14 @@ let
ideaSrc = fetchFromGitHub {
owner = "jetbrains";
repo = "intellij-community";
rev = "${buildType}/${buildNumber}";
rev = "${buildType}/${version}";
hash = ideaHash;
};
androidSrc = fetchFromGitHub {
owner = "jetbrains";
repo = "android";
rev = "${buildType}/${buildNumber}";
rev = "${buildType}/${version}";
hash = androidHash;
};
File diff suppressed because it is too large Load Diff
@@ -70,7 +70,7 @@ def requested_kotlinc_version(root_path: Path) -> str:
return version
def prefetch_intellij_community(variant: str, build_number: str) -> tuple[str, Path]:
def prefetch_intellij_community(variant: str, version: str) -> tuple[str, Path]:
print("[*] Prefetching IntelliJ community source code...")
prefetch = run_command(
[
@@ -81,7 +81,7 @@ def prefetch_intellij_community(variant: str, build_number: str) -> tuple[str, P
"source",
"--type",
"sha256",
f"https://github.com/jetbrains/intellij-community/archive/{variant}/{build_number}.tar.gz",
f"https://github.com/jetbrains/intellij-community/archive/{variant}/{version}.tar.gz",
]
)
parts = prefetch.split()
@@ -92,7 +92,7 @@ def prefetch_intellij_community(variant: str, build_number: str) -> tuple[str, P
return (hash, Path(out_path))
def prefetch_android(variant: str, build_number: str) -> str:
def prefetch_android(variant: str, version: str) -> str:
print("[*] Prefetching Android plugin source code...")
prefetch = run_command(
[
@@ -102,7 +102,7 @@ def prefetch_android(variant: str, build_number: str) -> str:
"source",
"--type",
"sha256",
f"https://github.com/jetbrains/android/archive/{variant}/{build_number}.tar.gz",
f"https://github.com/jetbrains/android/archive/{variant}/{version}.tar.gz",
]
)
return convert_hash_to_sri(prefetch)
@@ -151,10 +151,8 @@ def maven_out_path(jb_root: Path, name: str) -> Path:
def run_src_update(ide: Ide, info: VersionInfo, config: UpdaterConfig):
variant = ide.name.removesuffix("-oss")
intellij_hash, intellij_outpath = prefetch_intellij_community(
variant, info.build_number
)
android_hash = prefetch_android(variant, info.build_number)
intellij_hash, intellij_outpath = prefetch_intellij_community(variant, info.version)
android_hash = prefetch_android(variant, info.version)
jps_hash = generate_jps_hash(config, intellij_outpath)
restarter_hash = generate_restarter_hash(config, intellij_outpath)
repositories = jar_repositories(intellij_outpath)
@@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "tinymist";
publisher = "myriad-dreamin";
version = "0.14.8";
hash = "sha256-m0qiur+hhWQ+PaL1JisSo9UHW0d0LsLF87YdnG6fQ18=";
version = "0.14.10";
hash = "sha256-ez7VRSVjPVDqXpscwB+PGSEXw34YHmAV14atnSYO0vg=";
};
nativeBuildInputs = [
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "pcsx-rearmed";
version = "0-unstable-2026-01-04";
version = "0-unstable-2026-01-19";
src = fetchFromGitHub {
owner = "libretro";
repo = "pcsx_rearmed";
rev = "32e2193bcc9d937d9b1a16db43258aef51cddae8";
hash = "sha256-enq5RqeTiOLGqi+Hsj3wFZ6EUWSl0gX7u4ymznOffsQ=";
rev = "3a7850fdc6ac4ed0c323ade851b462504a3cbb79";
hash = "sha256-D2+Vbs+EIZykQRJK8GxDyPSh+0DlObw6IfXBOq1JnAw=";
};
dontConfigure = true;
+3 -3
View File
@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "biome";
version = "2.3.11";
version = "2.3.12";
src = fetchFromGitHub {
owner = "biomejs";
repo = "biome";
rev = "@biomejs/biome@${finalAttrs.version}";
hash = "sha256-AWVFrzIDg+mVnUYTMLr10o8IOSvewVhVMcYd2wvT5y0=";
hash = "sha256-v/m7yS9bE3/WpfuqZoW+tgIEm1ARsXze/0PRUWi+mHA=";
};
cargoHash = "sha256-N2TauXj1pRrYnVD0qPtruy7qwdWBGJaa47++AaY8TMQ=";
cargoHash = "sha256-ldxw6znHscxfgg91BpaexsEvy3Dw2UMjcvI72VLUKG0=";
nativeBuildInputs = [ pkg-config ];
+5 -5
View File
@@ -3,18 +3,18 @@
stdenv,
fetchFromGitHub,
cmake,
sfml_2,
sfml,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "csfml";
version = "2.6.1";
version = "3.0.0";
src = fetchFromGitHub {
owner = "SFML";
repo = "CSFML";
tag = finalAttrs.version;
hash = "sha256-ECt0ySDpYWF0zuDBSnQzDwUm4Xj4z1+XSC55D6yivac=";
hash = "sha256-8CRS+dV/hVQNTmgkxyFKcyTj/HWRks5bie4n6N/RWYM=";
};
# Fix incorrect path joining in cmake
@@ -27,9 +27,9 @@ stdenv.mkDerivation (finalAttrs: {
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ sfml_2 ];
buildInputs = [ sfml ];
cmakeFlags = [
(lib.cmakeFeature "CMAKE_MODULE_PATH" "${sfml_2}/share/SFML/cmake/Modules/")
(lib.cmakeFeature "CMAKE_MODULE_PATH" "${sfml}/share/SFML/cmake/Modules/")
];
meta = {
+47
View File
@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
sfml_2,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "csfml";
version = "2.6.1";
src = fetchFromGitHub {
owner = "SFML";
repo = "CSFML";
tag = finalAttrs.version;
hash = "sha256-ECt0ySDpYWF0zuDBSnQzDwUm4Xj4z1+XSC55D6yivac=";
};
# Fix incorrect path joining in cmake
# https://github.com/NixOS/nixpkgs/issues/144170
postPatch = ''
substituteInPlace tools/pkg-config/csfml-*.pc.in \
--replace-fail \
'libdir=''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@' \
"libdir=@CMAKE_INSTALL_FULL_LIBDIR@"
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ sfml_2 ];
cmakeFlags = [
(lib.cmakeFeature "CMAKE_MODULE_PATH" "${sfml_2}/share/SFML/cmake/Modules/")
];
meta = {
homepage = "https://www.sfml-dev.org/";
description = "Simple and fast multimedia library";
longDescription = ''
SFML is a simple, fast, cross-platform and object-oriented multimedia API.
It provides access to windowing, graphics, audio and network.
It is written in C++, and has bindings for various languages such as C, .Net, Ruby, Python.
'';
license = lib.licenses.zlib;
maintainers = [ lib.maintainers.jpdoyle ];
platforms = lib.platforms.linux;
};
})
+2 -2
View File
@@ -49,14 +49,14 @@ let
in
buildGoModule rec {
pname = "forgejo-runner";
version = "12.6.0";
version = "12.6.1";
src = fetchFromGitea {
domain = "code.forgejo.org";
owner = "forgejo";
repo = "runner";
rev = "v${version}";
hash = "sha256-Otvv8NSGfze/WKN78nipVWkycqHh94ReHkVjYR8L0/E=";
hash = "sha256-RMrFuxcPDJ3LJgsPzZhs/Zd2A9m3uqgUbHpwQ6+ojys=";
};
vendorHash = "sha256-fvSiEIE4XSJ8Ot4Tcmt8chD11fHVsECD2/8xrgIKhJs=";
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "olm";
version = "1.3.0";
version = "1.4.0";
src = fetchFromGitHub {
owner = "fosrl";
repo = "olm";
tag = version;
hash = "sha256-HwmWwGs62Dy/65HTgApuXLv4YRrFzi37A4JoL7vdLdo=";
hash = "sha256-k5l8l8nLI52oox1qUHEax8l939NyDum/RbwEYOgCDIc=";
};
vendorHash = "sha256-hLnoQof899zLnjbHrzvW2Y3Jj6fegxCVCRnz3XYKCeQ=";
vendorHash = "sha256-lqH/pMWeDsTJa39uJwHntCAUs0BwJiB0aMyFaI++5ms=";
ldflags = [
"-s"
@@ -3,6 +3,7 @@
lib,
stdenv,
replaceVars,
fetchpatch,
accountsservice,
adwaita-icon-theme,
blueprint-compiler,
@@ -89,6 +90,15 @@ stdenv.mkDerivation (finalAttrs: {
inherit glibc tzdata shadow;
inherit cups networkmanagerapplet;
})
# Fix crash when switching to hands-free mode on a bluetooth headset
(fetchpatch {
name = "fix-bluetooth-handsfree-crash.patch";
url = "https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/merge_requests/31.patch";
hash = "sha256-jFbItlXT05nnp825R/HvsWDFxAMzL4z36CsxhQ2sEIY=";
stripLen = 1;
extraPrefix = "subprojects/gvc/";
})
];
nativeBuildInputs = [
@@ -2,6 +2,7 @@
stdenv,
lib,
replaceVars,
fetchpatch,
buildPackages,
fetchurl,
meson,
@@ -56,6 +57,15 @@ stdenv.mkDerivation (finalAttrs: {
(replaceVars ./fix-paths.patch {
inherit tzdata;
})
# Fix crash when switching to hands-free mode on a bluetooth headset
(fetchpatch {
name = "fix-bluetooth-handsfree-crash.patch";
url = "https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/merge_requests/31.patch";
hash = "sha256-jFbItlXT05nnp825R/HvsWDFxAMzL4z36CsxhQ2sEIY=";
stripLen = 1;
extraPrefix = "subprojects/gvc/";
})
];
depsBuildBuild = [
+9
View File
@@ -111,6 +111,15 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://src.fedoraproject.org/rpms/gnome-shell/raw/dcd112d9708954187e7490564c2229d82ba5326f/f/0001-gdm-Work-around-failing-fingerprint-auth.patch";
hash = "sha256-mgXty5HhiwUO1UV3/eDgWtauQKM0cRFQ0U7uocST25s=";
})
# Fix crash when switching to hands-free mode on a bluetooth headset
(fetchpatch {
name = "fix-bluetooth-handsfree-crash.patch";
url = "https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/merge_requests/31.patch";
hash = "sha256-jFbItlXT05nnp825R/HvsWDFxAMzL4z36CsxhQ2sEIY=";
stripLen = 1;
extraPrefix = "subprojects/gvc/";
})
];
nativeBuildInputs = [
+11 -8
View File
@@ -4,19 +4,19 @@
fetchurl,
makeDesktopItem,
copyDesktopItems,
nwjs,
electron,
wrapGAppsHook3,
gsettings-desktop-schemas,
gtk3,
unzip,
}:
stdenv.mkDerivation rec {
pname = "inav-configurator";
version = "5.1.0";
version = "9.0.0";
src = fetchurl {
url = "https://github.com/iNavFlight/inav-configurator/releases/download/${version}/INAV-Configurator_linux64_${version}.tar.gz";
sha256 = "sha256-ZvZxQICa5fnJBTx0aW/hqQCuhQW9MkcVa2sOjPYaPXM=";
url = "https://github.com/iNavFlight/inav-configurator/releases/download/${version}/INAV-Configurator_linux_x64_${version}.zip";
sha256 = "sha256-n56QE0ZJ2slL0WZbnBl2pEgAUoDMuh467gWt+eRwa9c=";
};
icon = fetchurl {
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
copyDesktopItems
wrapGAppsHook3
unzip
];
buildInputs = [
@@ -34,17 +35,19 @@ stdenv.mkDerivation rec {
gtk3
];
unpackCmd = "unzip $src";
installPhase = ''
runHook preInstall
mkdir -p $out/bin \
$out/opt/${pname}
$out/opt/inav-configurator
cp -r inav-configurator $out/opt/inav-configurator/
cp -r "." $out/opt/inav-configurator/
install -m 444 -D $icon $out/share/icons/hicolor/128x128/apps/${pname}.png
chmod +x $out/opt/inav-configurator/inav-configurator
makeWrapper ${nwjs}/bin/nw $out/bin/${pname} --add-flags $out/opt/inav-configurator/inav-configurator
makeWrapper ${electron}/bin/electron $out/bin/inav-configurator --add-flags $out/opt/inav-configurator/resources/app
runHook postInstall
'';
+10 -7
View File
@@ -1,8 +1,9 @@
{
hash,
lts ? false,
patches ? [ ],
nixUpdateExtraArgs ? [ ],
patches ? [ ],
rev ? null,
vendorHash,
version,
}:
@@ -65,12 +66,14 @@ buildGoModule (finalAttrs: {
"doc"
];
src = fetchFromGitHub {
owner = "lxc";
repo = "incus";
tag = "v${version}";
inherit hash;
};
src = fetchFromGitHub (
{
owner = "lxc";
repo = "incus";
inherit hash;
}
// (if (rev == null) then { tag = "v${version}"; } else { inherit rev; })
);
patches = [ ./docs.patch ] ++ patches;
+11 -2
View File
@@ -1,11 +1,20 @@
import ./generic.nix {
hash = "sha256-B29HLuw48j7/Er7p/sHen7ohbbACsAjzPr9Nn8eZNR0=";
version = "6.0.5";
hash = "sha256-Sg3+399EgwEcZ8fp9cb2KEWQtBpYr5PkwTdnGl/AdfA";
version = "6.0.5-unstable-2026-01-23";
rev = "f8da60633e493bb5c0521981fa031bc909988c95";
vendorHash = "sha256-KOJqPvp+w7G505ZMJ1weRD2SATmfq1aeyCqmbJ6WMAY=";
patches = [
# qemu 9.1 compat, remove when added to LTS
./572afb06f66f83ca95efa1b9386fceeaa1c9e11b.patch
./0c37b7e3ec65b4d0e166e2127d9f1835320165b8.patch
# post 6.0.5 patches, remove >= 6.0.6
# ./c5359c809836c0f3b1e6022bf0528bb90ce06ad7.patch
# ./57096066959c843e1c413c4a97f64077b95cb397.patch
# ./f3dc9c0e6b77bb8765b347564702e026c2a8f9c6.patch
# ./d6a1ea3912938dae740cf821cd070e66e7a623ff.patch
# ./d6f0a77dd26df4c1ced80ffa63848279fd4330cc.patch
# ./92ac6ac999a4928cfdb92c485a048e4d51f471d0.patch
# ./f8da60633e493bb5c0521981fa031bc909988c95,patch
];
lts = true;
nixUpdateExtraArgs = [
+3 -3
View File
@@ -1,7 +1,7 @@
import ./generic.nix {
hash = "sha256-nhf7defhiFBHsqfZ6y+NN3TuteII6t8zCvpTsPsO+EE=";
version = "6.20.0";
vendorHash = "sha256-jIOV6vIkptHEuZcD/aS386o2M2AQHTjHngBxFi2tESA=";
hash = "sha256-zn4U44aGBQGjCyvziIPKqhR6RbQJTR0yF8GkyxGeSMc=";
version = "6.21.0";
vendorHash = "sha256-ECk3gB94B5vv9N2S7beU6B3jSsq1x8vXtcpXg/KBHYI=";
patches = [ ];
nixUpdateExtraArgs = [
"--override-filename=pkgs/by-name/in/incus/package.nix"
+13 -15
View File
@@ -10,24 +10,25 @@
libGLU,
libGL,
pango,
pixman,
pkg-config,
docbook_xsl,
libxslt,
libgbm,
ninja,
check,
bash,
buildPackages,
nix-update-script,
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "kmscon";
version = "9.0.0-unstable-2025-01-09";
version = "9.3.0";
src = fetchFromGitHub {
owner = "Aetf";
owner = "kmscon";
repo = "kmscon";
rev = "a81941f4464e6f9cee75bfb8a1db88c253ede33d";
sha256 = "sha256-l7Prt7CsYi4VCnp9xktvqqNT+4djSdO2GvP1JdxhNSI=";
tag = "v${finalAttrs.version}";
hash = "sha256-vdM/3n3Y2FM+PLDgVuU10kkNLCSzTrFI35CaY5NxWks=";
};
strictDeps = true;
@@ -43,10 +44,11 @@ stdenv.mkDerivation {
libtsm
libxkbcommon
pango
pixman
systemdLibs
libgbm
check
# Needed for autoPatchShebangs when strictDeps = true
bash
];
nativeBuildInputs = [
@@ -57,22 +59,18 @@ stdenv.mkDerivation {
libxslt # xsltproc
];
env.NIX_CFLAGS_COMPILE =
lib.optionalString stdenv.cc.isGNU "-O "
+ "-Wno-error=maybe-uninitialized -Wno-error=unused-result -Wno-error=implicit-function-declaration";
enableParallelBuilding = true;
patches = [
./sandbox.patch # Generate system units where they should be (nix store) instead of /etc/systemd/system
];
passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; };
meta = {
description = "KMS/DRM based System Console";
mainProgram = "kmscon";
homepage = "https://www.freedesktop.org/wiki/Software/kmscon/";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = with lib.maintainers; [ ccicnce113424 ];
platforms = lib.platforms.linux;
};
}
})
+2 -14
View File
@@ -1,25 +1,13 @@
From d51e35a7ab936983b2a544992adae66093c6028f Mon Sep 17 00:00:00 2001
From: hustlerone <nine-ball@tutanota.com>
Date: Thu, 20 Feb 2025 11:05:56 +0100
Subject: [PATCH] Patch for nixpkgs
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 964b44b..4415084 100644
index de29a32..e731bbd 100644
--- a/meson.build
+++ b/meson.build
@@ -39,7 +39,7 @@ mandir = get_option('mandir')
moduledir = get_option('libdir') / meson.project_name()
systemd_deps = dependency('systemd', required: false)
-systemdsystemunitdir = systemd_deps.get_variable('systemdsystemunitdir', default_value: get_option('libdir') / 'systemd/system')
-systemdsystemunitdir = systemd_deps.get_variable('systemdsystemunitdir', default_value: 'lib/systemd/system')
+systemdsystemunitdir = get_option('libdir') / 'systemd'
#
# Required dependencies
--
2.47.2
@@ -1,55 +1,61 @@
{
lib,
stdenv,
fetchzip,
fetchurl,
unzip,
cups,
autoPatchelfHook,
detox,
}:
let
archAttrset = {
aarch64-linux = "aarch64";
armv6l-linux = "arm";
armv7l-linux = "armhf";
i686-linux = "i386";
x86_64-linux = "x86_64";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "labelife-label-printer";
version = "2.0.0";
version = "2.2.0.002";
arch =
{
aarch64-linux = "aarch64";
armv7l-linux = "armhf";
i686-linux = "i386";
x86_64-linux = "x86_64";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
archAttrset.${stdenv.hostPlatform.system}
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
src = fetchzip {
src = fetchurl {
url = "https://oss.qu-in.ltd/Labelife/Label_Printer_Driver_Linux.zip";
hash = "sha256-0ESZ0EqPh9Wz6ogQ6vTsAogujbn4zINtMh62sEpNRs4=";
hash = "sha256-yUrEV3pdTqiATZ1V9Ze0zTjsyA3b9i+Bbh1v0FzGeas=";
};
nativeBuildInputs = [
unzip
autoPatchelfHook
detox
];
buildInputs = [ cups ];
unpackPhase = ''
runHook preUnpack
tar -xzf ${finalAttrs.src}/LabelPrinter-${finalAttrs.version}.001.tar.gz --strip-components=1
# Extract outer ZIP file
unzip -q ${finalAttrs.src}
# Extract inner tar.gz with --strip-components=1 to remove the `LabelPrinter-${finalAttrs.version}/` prefix
tar -xzf Label_Printer_Driver_Linux.tar.gz --strip-components=1
runHook postUnpack
'';
installPhase = ''
runHook preInstall
# Remove spaces from PPD filenames
detox ppds
# Install the CUPS filter with executable permissions
install -Dm755 ./${finalAttrs.arch}/rastertolabeltspl $out/lib/cups/filter/rastertolabeltspl
# Install all PPD files with read and write permissions for owner, and read for group and others
for ppd in ./ppds/*.ppd; do
install -Dm644 $ppd $out/share/cups/model/label/$(basename $ppd)
install -Dm644 "$ppd" "$out/share/cups/model/label/$(basename "$ppd")"
done
runHook postInstall
'';
@@ -71,12 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
- Aimo
'';
maintainers = with lib.maintainers; [ daniel-fahey ];
platforms = [
"aarch64-linux"
"armv7l-linux"
"i686-linux"
"x86_64-linux"
];
platforms = lib.attrNames archAttrset;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})
+3 -3
View File
@@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "libdeltachat";
version = "2.37.0";
version = "2.38.0";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${version}";
hash = "sha256-K1voAhkhp0BrXCOahpFtiv25wFKPd/j3IAube3qCt9o=";
hash = "sha256-XDxmX0tucNUmJAgDgRtD9sYG1/URWWUOTx7PQ1PBTYY=";
};
patches = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "chatmail-core";
inherit version src;
hash = "sha256-ysg1NK4yxftiyjP2/Xplq6Hkno/sD55tyLcYLnlVamo=";
hash = "sha256-I13Us7H3DqbAfdEsmHgMBVgvsBZP9Sh21eqYGF7VoSw=";
};
nativeBuildInputs = [
+16 -9
View File
@@ -4,32 +4,39 @@
fetchFromGitHub,
libxkbcommon,
pkg-config,
cmake,
meson,
ninja,
check,
nix-update-script,
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "libtsm";
version = "4.0.2-unstable-2023-12-24";
version = "4.4.1";
src = fetchFromGitHub {
owner = "Aetf";
owner = "kmscon";
repo = "libtsm";
rev = "69922bde02c7af83b4d48a414cc6036af7388626";
sha256 = "sha256-Rug3OWSbbiIivItULPNNptClIZ/PrXdQeUypAAxrUY8=";
tag = "v${finalAttrs.version}";
hash = "sha256-8db/amwcV1a5Ho0dymQxKtOFsTN6nLUnwSobuAowSwk=";
};
buildInputs = [ libxkbcommon ];
nativeBuildInputs = [
cmake
meson
ninja
pkg-config
check
];
passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; };
meta = {
description = "Terminal-emulator State Machine";
homepage = "https://www.freedesktop.org/wiki/Software/kmscon/libtsm/";
license = lib.licenses.mit;
maintainers = [ ];
maintainers = with lib.maintainers; [ ccicnce113424 ];
platforms = lib.platforms.linux;
};
}
})
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "lightningcss";
version = "1.30.2";
version = "1.31.0";
src = fetchFromGitHub {
owner = "parcel-bundler";
repo = "lightningcss";
tag = "v${finalAttrs.version}";
hash = "sha256-AuMboSZ7fX6UhnPeXjpnBEDGkQdK1EMKSUpw3TPZxRk=";
hash = "sha256-K5NgIUYKQVUTQUpoHIrLOobyBkAwNgd3ehzpOOoiFQQ=";
};
cargoHash = "sha256-7oyDnT81G47SaceJ5st+1P3a2fb9Dj5Eu2c0glw8YW4=";
cargoHash = "sha256-aL8qrv+ff2tGMLwq9dncTV74DiZLWChHaSS4WhWUj4Q=";
patches = [
# Backport fix for build error for lightningcss-napi
+9 -9
View File
@@ -1,21 +1,21 @@
{
"version": "3.181.0",
"version": "3.182.0",
"assets": {
"x86_64-linux": {
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.181.0/mirrord_linux_x86_64",
"hash": "sha256-hLTPM7TMoXL1AlPPLYrqCpE3JrfeOISK4RKekQg2GzY="
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.182.0/mirrord_linux_x86_64",
"hash": "sha256-Qm1+qI5WMgoDwudvxynv+He1g7RgqCfbsTjKwYxzCLk="
},
"aarch64-linux": {
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.181.0/mirrord_linux_aarch64",
"hash": "sha256-LyJxTLWP2TZpGeKVQEhMILBpxik5LuT96en9272Ff0k="
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.182.0/mirrord_linux_aarch64",
"hash": "sha256-3Jfv1HUV/jOApA0XJQkK1W/W83KyD59A6jr3TcLUJo4="
},
"aarch64-darwin": {
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.181.0/mirrord_mac_universal",
"hash": "sha256-E0F6i/irdOKizI558XX9gh9YQ6T9d7H2SKwh4AjzSCk="
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.182.0/mirrord_mac_universal",
"hash": "sha256-+0NXyGjJ7HJmLVYPgIVjbXuFidnPmHmDY6hFf3CABxA="
},
"x86_64-darwin": {
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.181.0/mirrord_mac_universal",
"hash": "sha256-E0F6i/irdOKizI558XX9gh9YQ6T9d7H2SKwh4AjzSCk="
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.182.0/mirrord_mac_universal",
"hash": "sha256-+0NXyGjJ7HJmLVYPgIVjbXuFidnPmHmDY6hFf3CABxA="
}
}
}
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "nvidia_oc";
version = "0.1.21";
version = "0.1.24";
src = fetchFromGitHub {
owner = "Dreaming-Codes";
repo = "nvidia_oc";
tag = version;
hash = "sha256-I5L+VUcbMw4lLvEvtcjs/3BXLKovEg/34DZAL4a7LJU=";
hash = "sha256-PIe4oJndISf6wDxHGQvTeN37cFa+3m6RwmxXRlseePc=";
};
cargoHash = "sha256-VRrMSDKB8VrfdKUbZ63XY1oq0xaxgcwn739dt0C/KKY=";
cargoHash = "sha256-e6cX9P5dHDOLS06Bx1VuMpH/ilcpyFnHpttG7DDwz8U=";
nativeBuildInputs = [
autoAddDriverRunpath
+3 -1
View File
@@ -44,6 +44,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
bun install \
--cpu="*" \
--frozen-lockfile \
--filter ./packages/opencode \
--filter ./packages/desktop \
--ignore-scripts \
--no-progress \
--os="*"
@@ -66,7 +68,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# NOTE: Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
outputHash = "sha256-5U8lpx3sy6XXgR99IfUqDffIZ8FQ1nxXq5dVwpS+d00=";
outputHash = "sha256-37pmIiJzPEWeA7+5u5lz39vlFPI+N13Qw9weHrAaGW4=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
@@ -0,0 +1,17 @@
{
lib,
runCommandNoCC,
opentxl,
}:
runCommandNoCC "opentxl-test"
{
nativeBuildInputs = [ opentxl ];
src = lib.sources.sourceByRegex ./. [
".*.txl"
];
}
''
printf '10' > factorial.in
result=$(txl factorial.in $src/factorial.txl)
[[ "$result" -eq '3628800' ]] && touch $out
''
+34
View File
@@ -0,0 +1,34 @@
% From: https://en.wikipedia.org/wiki/TXL_(programming_language)
%Syntax specification
define program
[number]
end define
%Transformation rules
function main
replace [program]
p [number]
by
p [fact][fact0]
end function
function fact
replace [number]
n [number]
construct nMinusOne [number]
n [- 1]
where
n [> 1]
construct factMinusOne [number]
nMinusOne [fact]
by
n [* factMinusOne]
end function
function fact0
replace [number]
0
by
1
end function
+77
View File
@@ -0,0 +1,77 @@
{
lib,
stdenv,
callPackage,
fetchFromGitHub,
nix-update-script,
turingplus,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "opentxl";
version = "11.3.7";
src = fetchFromGitHub {
owner = "CordyJ";
repo = "OpenTxl";
tag = "v${finalAttrs.version}";
hash = "sha256-Gh0OEZ5pGhbxDIKYuBLdzUV7Ezn+7elm146ccpJ5bn8=";
};
nativeBuildInputs = [ turingplus ];
# Using -std=gnu89 to prevent errors that occur with default args
env.NIX_CFLAGS_COMPILE = "-std=gnu89 -Wno-int-conversion";
postPatch = ''
# Replace hardcoded /bin/rm in various files
find . -type f -exec sed -i 's#/bin/rm#rm#g' {} +
# Replace hardcoded gcc references
substituteInPlace src/scripts/c/unix/{txlc,txl2c} \
--replace-fail gcc '${stdenv.cc}/bin/cc'
# Replace hardcoded FHS paths
substituteInPlace src/scripts/c/unix/* src/scripts/t/* \
--replace-fail '/usr/local/bin' "$out/bin" \
--replace-fail '/usr/local/lib/txl' "$out/lib"
'';
# Generate source files and enter directory
preBuild = ''
make csrc
cd csrc
makeFlagsArray+=(
CC="$CC"
LD="$CC"
)
'';
checkFlags = [ "-C test" ];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib}
cp bin/* $out/bin/
cp lib/* $out/lib/
runHook postInstall
'';
passthru.tests.factorial = callPackage ./factorial-test.nix { opentxl = finalAttrs.finalPackage; };
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Open-source compiler for the Txl language";
mainProgram = "txl";
platforms = [
"x86_64-linux"
"x86_64-darwin"
];
homepage = "https://github.com/CordyJ/OpenTxl";
downloadPage = "https://github.com/CordyJ/OpenTxl/releases";
changelog = "https://github.com/CordyJ/OpenTxl/releases/tag/v${finalAttrs.version}";
license = licenses.mit;
maintainers = with maintainers; [ MysteryBlokHed ];
};
})
+178
View File
@@ -0,0 +1,178 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
swi-prolog,
libjwt,
rustPlatform,
cargo,
gmp,
mpfr,
libmpc,
protobuf,
pkg-config,
callPackage,
applyPatches,
}:
let
tusVersion = "0.0.16";
jwt_ioVersion = "1.0.4";
tus = fetchFromGitHub {
owner = "terminusdb";
repo = "tus";
tag = "v${tusVersion}";
hash = "sha256-NQGvDFtGEXhSXIZ7dZ2r13q8hRpYXkA9/NlFKED1ANM=";
};
jwt_io = applyPatches {
src = fetchFromGitHub {
owner = "terminusdb-labs";
repo = "jwt_io";
tag = "v${jwt_ioVersion}";
hash = "sha256-YywD0zg4ft075AaxgNDOuxVxQSsQjP0BXTW5YLl2TS0=";
};
# TODO: remove if/when merged upstream https://github.com/terminusdb-labs/jwt_io/pull/2
patches = [
# Remove problematic ECDSA384 and ECDSA512 tests that segfault due to OpenSSL/libjwt version incompatibilities
(fetchpatch2 {
url = "https://github.com/terminusdb-labs/jwt_io/commit/f2c7066fb8a7d4a16c0b5ce8ccb3086270524976.patch?full_index=1";
hash = "sha256-A/eonL4MhkJ1L0dBoaiITcE0kTWlkFslpPj377WbdnM=";
})
# SWI-Prolog 9.2 makes PL_register_foreign type checks strict; cast to pl_function_t
(fetchpatch2 {
url = "https://github.com/terminusdb-labs/jwt_io/commit/6bd0f2674eefcf80bfd3d1ca465b7af28efdc54e.patch?full_index=1";
hash = "sha256-EacqYO9ulD6PUxT3gg6PEtQNmwenuKfxdv1a/2IA3wI=";
})
# Allow unresolved SWI-Prolog symbols to resolve at load time on Darwin
(fetchpatch2 {
url = "https://github.com/terminusdb-labs/jwt_io/commit/dbb11e74566e25b7b942c1cbd4742bd485cc6bf5.patch?full_index=1";
hash = "sha256-BPg28msT3zevNsB4yJeFUai5uW5DgilfESXw32h2gSA=";
})
];
};
swi-prologWithDeps =
(swi-prolog.overrideAttrs (
finalSwi-prologAttrs: previousAttrs: {
pname = "terminusdb-swi-prolog";
nativeBuildInputs = previousAttrs.nativeBuildInputs ++ [ pkg-config ];
buildInputs = previousAttrs.buildInputs ++ [ libjwt ];
}
)).override
{
extraPacks = map (dep-path: "'file://${dep-path}'") [
tus
jwt_io
];
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "terminusdb";
version = "12.0.2";
src = fetchFromGitHub {
owner = "terminusdb";
repo = "terminusdb";
tag = "v${finalAttrs.version}";
hash = "sha256-l573Drc76KSUXxhdleU/IBscDTul8VtgkZdrRPvNuNc=";
leaveDotGit = true;
postFetch = ''
# Will be used for `TERMINUSDB_GIT_HASH`
git -C $out rev-parse HEAD > $out/COMMIT
rm -rf $out/.git
'';
};
cargoRoot = "src/rust";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src cargoRoot;
hash = "sha256-zF506S4SiWx/uYyN2Trm4XPVUIU2K/qoNSjfKthLVuw=";
};
# TODO: remove if/when merged upstream https://github.com/terminusdb/terminusdb/pull/2360
patches = [
# Avoid building bundled GMP/MPFR/MPC in gmp-mpfr-sys during the Rust build
(fetchpatch2 {
url = "https://github.com/terminusdb/terminusdb/commit/b84dc6b28ef3fd0ef76db2cf7f69537b95af07cc.patch?full_index=1";
hash = "sha256-L3U/MHZgMSoXIy6j+1+gKKY2+2obKgaJ3HdJOoMe2Sw=";
})
];
strictDeps = true;
nativeBuildInputs = [
(with rustPlatform; [
cargoSetupHook
bindgenHook # provides libclang
])
cargo
protobuf
swi-prologWithDeps
];
buildInputs = [
swi-prologWithDeps
gmp
mpfr
libmpc
];
# Darwin: gmp-mpfr-sys (use-system-libs) runs raw `$CC ... -lgmp` probes without
# propagating `CFLAGS`/`CPPFLAGS`, so we must provide include/lib paths via
# compiler-native env vars
# https://gitlab.com/tspiteri/gmp-mpfr-sys/-/blob/v1.5.3/build.rs#L187
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
C_INCLUDE_PATH = lib.makeSearchPath "include" [
(lib.getDev gmp)
(lib.getDev mpfr)
libmpc
];
LIBRARY_PATH = lib.makeLibraryPath [
gmp
mpfr
libmpc
];
};
checkTarget = "test";
doCheck = true;
# Darwin: (ignored on Linux) allow loopback sockets for tus tests
__darwinAllowLocalNetworking = true;
preBuild = ''
export TERMINUSDB_GIT_HASH=$(cat $src/COMMIT)
export TERMINUSDB_JWT_ENABLED=true
'';
# Required for Prolog initialisation
dontStrip = true;
installPhase = ''
runHook preInstall
install -Dm755 terminusdb -t $out/bin
runHook postInstall
'';
passthru.tests = {
upstream-integration = callPackage ./tests.nix { };
};
meta = {
description = "In-memory graph database with Git-like versioned data";
homepage = "https://github.com/terminusdb/terminusdb";
license = lib.licenses.asl20;
longDescription = ''
TerminusDB is an open source, in-memory graph database and document store
for knowledge graphs and structured content. It uses a Git-like, immutable
versioned data model with branching, merging, and time travel, and can act
as a headless content platform with schema-driven documents and multiple
interfaces.
'';
mainProgram = "terminusdb";
maintainers = with lib.maintainers; [ daniel-fahey ];
};
})
+122
View File
@@ -0,0 +1,122 @@
{
lib,
buildNpmPackage,
fetchpatch2,
terminusdb,
procps,
curl,
}:
buildNpmPackage {
pname = "terminusdb-tests";
inherit (terminusdb) src version;
nativeCheckInputs = [
terminusdb
procps
curl
];
sourceRoot = "${terminusdb.src.name}/tests";
npmDepsHash = "sha256-vNafxS19++AszhcYTw1jnfI4HMUyy5lOgKvjHHcGpWg=";
# Test-only JS adjustments live here so the runtime package stays untouched
patches = [
# TODO: remove if/when merged upstream https://github.com/terminusdb/terminusdb/pull/2362
# Prefer an injected TerminusDB binary path in tests
(fetchpatch2 {
url = "https://github.com/terminusdb/terminusdb/commit/8ffe22b3e20bff8fe8efb1a2b8236bb8b40c0bc3.patch?full_index=1";
relative = "tests";
hash = "sha256-NrFQknjdrRJjHvkOrutSkzxkUwcC6S+S0kHuK/xQTj0=";
})
];
postPatch = ''
# Read git hash from the COMMIT file in the source
substituteInPlace lib/info.js --replace-fail \
" const { stdout: result } = await exec('git rev-parse --verify HEAD')" \
" const result = await fs.readFile('${terminusdb.src}/COMMIT', 'utf8')"
patchShebangs terminusdb.sh
'';
dontNpmBuild = true;
doCheck = true;
# Custom test harness
preCheck = ''
# Test server endpoint and startup timeout
TERMINUSDB_INFO_URL="http://localhost:6363/api/info"
TERMINUSDB_START_TIMEOUT=60
note() { echo "$@"; }
fail() { echo "ERROR: $*" >&2; return 1; }
stop_terminusdb() {
[ -n "''${TERMINUSDB_PID:-}" ] || fail "missing TERMINUSDB_PID"
kill "$TERMINUSDB_PID"
wait "$TERMINUSDB_PID" || true
unset TERMINUSDB_PID
}
wait_for_terminusdb() {
curl --fail --silent \
--max-time 2 \
--retry "$TERMINUSDB_START_TIMEOUT" \
--retry-delay 1 \
--retry-all-errors \
--retry-max-time "$TERMINUSDB_START_TIMEOUT" \
"$TERMINUSDB_INFO_URL" >/dev/null \
|| fail "TerminusDB failed to start within ''${TERMINUSDB_START_TIMEOUT} seconds"
}
start_terminusdb() {
# Initialise the server
terminusdb store init --force
# Start the server in the background
terminusdb serve & TERMINUSDB_PID=$!
note "TerminusDB PID: $TERMINUSDB_PID"
# Wait for server with custom timeout handling
note "Waiting for TerminusDB to start..."
wait_for_terminusdb
note "TerminusDB is ready!"
}
# Ensure the server is stopped even if tests fail
trap 'runHook postCheck' EXIT
# Ensure proper handling of UTF-8 encoded characters in command outputs and logs
export LANG="C.UTF-8" LC_ALL="C.UTF-8"
# Keep logs quiet during tests
export TERMINUSDB_LOG_LEVEL="ERROR"
# Point test helpers at the packaged terminusdb binary
export TERMINUSDB_EXEC_PATH="${lib.getExe terminusdb}"
start_terminusdb
'';
checkPhase = ''
runHook preCheck
note "Running local tests..."; npm run test-local
note "Running served tests..."; npm run test-served
runHook postCheck
'';
# Ensure the server is properly stopped after tests
postCheck = ''
# Disable the EXIT trap so cleanup only runs once
trap - EXIT
stop_terminusdb
'';
installPhase = ''
touch $out
'';
}
+3 -1
View File
@@ -81,9 +81,11 @@ stdenv.mkDerivation (finalAttrs: {
'';
postInstall = ''
rm -r $out/lib/node_modules/thelounge/node_modules/sqlite3/build/
rm -rf node_modules/sqlite3/build-tmp-napi-v6/{Release/obj.target,node_sqlite3.target.mk}
'';
disallowedReferences = [ nodejs.src ];
dontNpmPrune = true;
# Takes way, way, way too long.
+3 -3
View File
@@ -15,16 +15,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "tinymist";
# Please update the corresponding vscode extension when updating
# this derivation.
version = "0.14.8";
version = "0.14.10";
src = fetchFromGitHub {
owner = "Myriad-Dreamin";
repo = "tinymist";
tag = "v${finalAttrs.version}";
hash = "sha256-0bO5Sn/602m9uE/dHls0RmRbTE1x+p2wEaah4xU2t0g=";
hash = "sha256-TDzna8ohzeZO9/baO8RbRrchVuqNFfirxTteXLDLH4g=";
};
cargoHash = "sha256-iz5NTPqWEVKpQLD7UayiRTeFDerUUAwMQJ4R1NOfC0o=";
cargoHash = "sha256-gO0tnHeARixYnkiy6PrD+dzVGEdrEW7kPsmo0Y4YYnY=";
nativeBuildInputs = [
installShellFiles
+93
View File
@@ -0,0 +1,93 @@
{
lib,
stdenv,
fetchzip,
autoPatchelfHook,
makeWrapper,
coreutils,
libredirect,
}:
let
sources = {
"x86_64-linux" = {
url = "https://github.com/CordyJ/Open-TuringPlus/releases/download/v6.2.1/opentplus-62-linux64.tar.gz";
sha256 = "sha256-FoOlOcRWpStg4aerjr+FmcXXnwYftrqG1j4iZJ+4AzE=";
};
"x86_64-darwin" = {
url = "https://github.com/CordyJ/Open-TuringPlus/releases/download/v6.2.1/opentplus-62-macos64.tar.gz";
sha256 = "sha256-8o1hIA74JPqZyjWfg4leC99z1+YMVhwFGME5qBf/BP0=";
};
};
redirects = [
# Turing+ library/includes
"/usr/local/lib/tplus=${placeholder "out"}/lib"
"/local/lib/tplus=${placeholder "out"}/lib"
"/usr/local/include/tplus=${placeholder "out"}/include"
"/local/include/tplus=${placeholder "out"}/include"
# Turing+ binaries
"/usr/local/bin=${placeholder "out"}/bin"
# Other
"/bin/rm=${coreutils}/bin/rm"
];
in
stdenv.mkDerivation (finalAttrs: {
pname = "turingplus-bootstrap";
version = "6.2.1";
src = fetchzip sources."${stdenv.hostPlatform.system}";
nativeBuildInputs = [
makeWrapper
]
++ lib.optionals stdenv.hostPlatform.isLinux [
autoPatchelfHook
];
buildInputs = [ stdenv.cc.cc.lib ];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,include}
cp bin/* $out/bin/
cp lib/* $out/lib/
cp -r include/* $out/include/
runHook postInstall
'';
# Wrap package and redirect FHS reads to the derivation output
postInstall =
let
preloadVar = if stdenv.hostPlatform.isDarwin then "DYLD_INSERT_LIBRARIES" else "LD_PRELOAD";
preloadLib = "${libredirect}/lib/libredirect" + stdenv.hostPlatform.extensions.sharedLibrary;
in
''
wrapProgram $out/bin/tpc \
--set ${preloadVar} ${preloadLib} \
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} \
--set NIX_ENFORCE_PURITY 0
wrapProgram $out/bin/tssl \
--set ${preloadVar} ${preloadLib} \
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} \
--set NIX_ENFORCE_PURITY 0
'';
meta = with lib; {
description = "Extended version of the Turing programming language with concurrency and systems programming features";
mainProgram = "tpc";
platforms = [
"x86_64-linux"
"x86_64-darwin"
];
homepage = "https://github.com/CordyJ/Open-TuringPlus";
downloadPage = "https://github.com/CordyJ/Open-TuringPlus/releases";
changelog = "https://github.com/CordyJ/Open-TuringPlus/releases/tag/v${finalAttrs.version}";
license = licenses.mit;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
maintainers = with maintainers; [ MysteryBlokHed ];
};
})
+75
View File
@@ -0,0 +1,75 @@
{
lib,
stdenv,
callPackage,
fetchFromGitHub,
bootstrap ? callPackage ./bootstrap.nix { },
}:
stdenv.mkDerivation (finalAttrs: {
pname = "turingplus";
version = "6.2.1";
src = fetchFromGitHub {
owner = "CordyJ";
repo = "Open-TuringPlus";
tag = "v${finalAttrs.version}";
hash = "sha256-jiMbSuNg2o9fNCPNoLpyAdMCxgMVBiDjRhC0HgKwmqk=";
};
nativeBuildInputs = [ bootstrap ];
# Using -std=gnu89 to prevent errors that occur with default args
env.NIX_CFLAGS_COMPILE = "-std=gnu89 -Wno-int-conversion";
# Patch required to fix compilation errors when certain C input files are used with tpc
patches = [ ./use-gnu89.patch ];
postPatch = ''
# Replace hardcoded paths in source
find src -type f -exec sed -i \
-e "s#/usr/local/lib/tplus#$out/lib#g" \
-e "s#/local/lib/tplus#$out/lib#g" \
-e "s#/usr/local/include/tplus#$out/include#g" \
-e "s#/local/include/tplus#$out/include#g" \
-e "s#/usr/local/bin#$out/bin#g" \
-e "s#/bin/rm#rm#g" \
{} +
# Use proper C compiler for target
substituteInPlace src/cmd/lib/* \
--replace-fail 'cc ' '${stdenv.cc}/bin/cc '
'';
buildFlags = [
"INCLUDE_DIR=${bootstrap}/include"
"TPC=${bootstrap}/bin/tpc"
];
checkFlags = [ "-C test" ];
checkTarget = "all";
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,include}
cp bin/* $out/bin/
cp lib/* $out/lib/
cp -r include/* $out/include/
runHook postInstall
'';
meta = with lib; {
description = "Extended version of the Turing programming language with concurrency and systems programming features";
mainProgram = "tpc";
platforms = [
"x86_64-linux"
"x86_64-darwin"
];
homepage = "https://github.com/CordyJ/Open-TuringPlus";
downloadPage = "https://github.com/CordyJ/Open-TuringPlus/releases";
changelog = "https://github.com/CordyJ/Open-TuringPlus/releases/tag/v${finalAttrs.version}";
license = licenses.mit;
maintainers = with maintainers; [ MysteryBlokHed ];
};
})
@@ -0,0 +1,13 @@
--- a/src/cmd/tpc.t
+++ b/src/cmd/tpc.t
@@ -1342,6 +1342,10 @@ procedure CompileC (cFileName : string, var s : string, var status : int)
i += 1
end if
+ % Use C standard that allows C++-style comments
+ tArgs(i) := "-std=gnu89"
+ i += 1
+
% ignore warnings from C compiler
tArgs(i) := "-w"
i += 1
+11 -3
View File
@@ -6,6 +6,7 @@
lib,
llvmPackages,
python3Packages,
cudaPackages,
stdenv,
config,
testers,
@@ -15,9 +16,14 @@
enableOpenMP ? true,
enablePython ? true,
enableUtilities ? true,
}:
}@inputs:
stdenv.mkDerivation (finalAttrs: {
let
stdenv = throw "Use effectiveStdenv instead";
effectiveStdenv = if enableCuda then cudaPackages.backendStdenv else inputs.stdenv;
in
effectiveStdenv.mkDerivation (finalAttrs: {
pname = "zfp";
version = "1.0.1";
@@ -48,7 +54,9 @@ stdenv.mkDerivation (finalAttrs: {
]
);
propagatedBuildInputs = lib.optional (enableOpenMP && stdenv.cc.isClang) llvmPackages.openmp;
propagatedBuildInputs = lib.optionals (enableOpenMP && effectiveStdenv.cc.isClang) [
llvmPackages.openmp
];
# compile CUDA code for all extant GPUs so the binary will work with any GPU
# and driver combination. to be ultimately solved upstream:
@@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "xdg-desktop-portal-pantheon";
version = "8.0.4";
version = "8.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "portals";
rev = version;
sha256 = "sha256-I0GsdpaH4SoOVPLLZa0da8+rwmJs1HtLrhkglNmYtrQ=";
tag = version;
hash = "sha256-e02cVUEzRGVIJQQh2bONLUhrjRfeSpYQYWup5Sn9HhM=";
};
nativeBuildInputs = [
@@ -358,13 +358,13 @@
buildPythonPackage (finalAttrs: {
pname = "boto3-stubs";
version = "1.42.32";
version = "1.42.34";
pyproject = true;
src = fetchPypi {
pname = "boto3_stubs";
inherit (finalAttrs) version;
hash = "sha256-b+nI/Rauxo5Gk9U7IVWtXBHQoZhGEGIrzTpusAN4dkg=";
hash = "sha256-+vzDcTwzG6wRv1X+kT5aOgGCDwzeZAz8RpTfWpSqlVc=";
};
build-system = [ setuptools ];
@@ -9,13 +9,13 @@
buildPythonPackage (finalAttrs: {
pname = "botocore-stubs";
version = "1.42.32";
version = "1.42.34";
pyproject = true;
src = fetchPypi {
pname = "botocore_stubs";
inherit (finalAttrs) version;
hash = "sha256-UwJ/N//X1EDZotjdhFcXF+EdhATx6Nu+dRGWQK0/yPk=";
hash = "sha256-89HFtFwsvhb2Nxmr5jmyOh7rP+ycPqCnJohYW0YujOM=";
};
build-system = [ setuptools ];
@@ -18,10 +18,12 @@
semchunk,
tabulate,
transformers,
tree-sitter,
typer,
typing-extensions,
# tests
gitpython,
jsondiff,
pytestCheckHook,
requests,
@@ -29,14 +31,14 @@
buildPythonPackage rec {
pname = "docling-core";
version = "2.50.1";
version = "2.60.2";
pyproject = true;
src = fetchFromGitHub {
owner = "docling-project";
repo = "docling-core";
tag = "v${version}";
hash = "sha256-pLIWskl5nXdOC5UwvfJ3Yhl8qV6jg42P89gLj7ASpTA=";
hash = "sha256-KrWeh5b3w1dBk3l7S1FpgONWqP9gS6nhbLIly3Nbtvg=";
};
build-system = [
@@ -55,6 +57,7 @@ buildPythonPackage rec {
semchunk
tabulate
transformers
tree-sitter
typer
typing-extensions
];
@@ -68,6 +71,7 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
gitpython
jsondiff
pytestCheckHook
requests
@@ -75,13 +79,15 @@ buildPythonPackage rec {
disabledTestPaths = [
# attempts to download models
"test/test_code_chunker.py"
"test/test_code_chunking_strategy.py"
"test/test_hybrid_chunker.py"
];
meta = {
changelog = "https://github.com/DS4SD/docling-core/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/docling-project/docling-core/blob/${src.tag}/CHANGELOG.md";
description = "Python library to define and validate data types in Docling";
homepage = "https://github.com/DS4SD/docling-core";
homepage = "https://github.com/docling-project/docling-core";
license = lib.licenses.mit;
maintainers = [ ];
};
@@ -14,14 +14,14 @@
buildPythonPackage (finalAttrs: {
pname = "elevenlabs";
version = "2.30.0";
version = "2.31.0";
pyproject = true;
src = fetchFromGitHub {
owner = "elevenlabs";
repo = "elevenlabs-python";
tag = "v${finalAttrs.version}";
hash = "sha256-UxH7I/6Y1umMYnSVlZN81kn0jkwR4hwLxmlD2EhrF88=";
hash = "sha256-5FETnLnmFqJ+AKey2dckTLgjwyaAAbB1BZUT8T9Tujo=";
};
build-system = [ poetry-core ];
@@ -27,12 +27,12 @@
buildPythonPackage rec {
pname = "keystoneauth1";
version = "5.12.0";
version = "5.13.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-3RE8Lz3LQY2fdhxzuM1DqW3fqKYStRxXaCI4HznKSug=";
hash = "sha256-V8nKQHIHiZtQ2P8cqKu0pOdCdGG/wYd+uFGcOYnOY+w=";
};
build-system = [ setuptools ];
@@ -147,8 +147,8 @@ in
"sha256-jW+LgaUpdeCSJLnpNE13DSio9nFmp0icoLEMwxX44KU=";
mypy-boto3-autoscaling =
buildMypyBoto3Package "autoscaling" "1.42.31"
"sha256-0EfPmOIE5w8S2XNGvZePztWAyDJ7tTdkXPBbFyEo+KQ=";
buildMypyBoto3Package "autoscaling" "1.42.33"
"sha256-F1+6Sd7kaCrZlulXzrFmF3RFUPEmRNvKeB1xQeSGgq4=";
mypy-boto3-autoscaling-plans =
buildMypyBoto3Package "autoscaling-plans" "1.42.3"
@@ -175,8 +175,8 @@ in
"sha256-p8bdld0zrW6NzBndSczyHclvkhKb4VW8npiAKz+8Ge4=";
mypy-boto3-budgets =
buildMypyBoto3Package "budgets" "1.42.3"
"sha256-ycyUNWVH6be7P5uutkkjDBBfNKwMdRQxOO27fn6v/gU=";
buildMypyBoto3Package "budgets" "1.42.33"
"sha256-opWm1iTVk4erudBdsTJ/AzXF3gDDwOGHiZEwV7CP8V4=";
mypy-boto3-ce =
buildMypyBoto3Package "ce" "1.42.28"
@@ -335,8 +335,8 @@ in
"sha256-HQUL0R1NWP6DXQ26iS9k6lIAVdwK899fwLGH4/Z4U8Q=";
mypy-boto3-connect =
buildMypyBoto3Package "connect" "1.42.30"
"sha256-P0z7BN74A6ihdUOE5lFN68BUqvdMLq6KuvX/kY9yJgI=";
buildMypyBoto3Package "connect" "1.42.34"
"sha256-gXaO6np/xvtkrzYQUSJ60xUk0tm/R6U5tk6ATXciF8I=";
mypy-boto3-connect-contact-lens =
buildMypyBoto3Package "connect-contact-lens" "1.42.3"
@@ -431,8 +431,8 @@ in
"sha256-VLjmuBf9xHv0qwv2F3l/14KptFqXVE0OmwPF/WC06NI=";
mypy-boto3-dynamodb =
buildMypyBoto3Package "dynamodb" "1.42.3"
"sha256-bjkLdELt7YQnn9pt242PFNDPxSyNFuZNqxTmI5rLSio=";
buildMypyBoto3Package "dynamodb" "1.42.33"
"sha256-qd1IxJJDVvcvJQCApfvv6sgR3zWBdDLbnqRGc2eI2oY=";
mypy-boto3-dynamodbstreams =
buildMypyBoto3Package "dynamodbstreams" "1.42.3"
@@ -443,8 +443,8 @@ in
"sha256-92qhSUqTiLgbtvCdi/Mmgve18mcYR00ABL+bNy7/OnY=";
mypy-boto3-ec2 =
buildMypyBoto3Package "ec2" "1.42.32"
"sha256-E0cOl5NqHnsKd3UHgKsZKHNqif7ZJ6a4ct9O5d54yiI=";
buildMypyBoto3Package "ec2" "1.42.33"
"sha256-6FgPHidDOccO4DvmCnE+1tDvZU+V/2I1aJ563D8/rDs=";
mypy-boto3-ec2-instance-connect =
buildMypyBoto3Package "ec2-instance-connect" "1.42.3"
@@ -559,8 +559,8 @@ in
"sha256-NqNGcL3HfJgx2ScPLKMNNwpVS3bO4Cu7JpYlenSJwJg=";
mypy-boto3-gamelift =
buildMypyBoto3Package "gamelift" "1.42.3"
"sha256-4LBhjln6mCxMSooGEV7mo1Fe7U6Jssxq+6JYwqnFhRs=";
buildMypyBoto3Package "gamelift" "1.42.33"
"sha256-ur7KFFOyPnCQWKW5JyyQrJ/kumcfE52C8u/J5yJ+kQQ=";
mypy-boto3-glacier =
buildMypyBoto3Package "glacier" "1.42.30"
@@ -590,12 +590,12 @@ in
"sha256-BrtHCaCwsfpaB5GA9kEhCFapQceZsjpyv3HVgpXUOFA=";
mypy-boto3-guardduty =
buildMypyBoto3Package "guardduty" "1.42.15"
"sha256-xv1obHMQC5RPM8wv+rTs3jlslXVc7JuFgfdpcGGtfCw=";
buildMypyBoto3Package "guardduty" "1.42.33"
"sha256-Xo4t/M+9Kly33WHxtXSgww0cbNyF59k4LBeyyFSbSMw=";
mypy-boto3-health =
buildMypyBoto3Package "health" "1.42.10"
"sha256-4dxV8ztTpIHOx0SYIc0IZCMsThugUkobRYzjgkP5TnE=";
buildMypyBoto3Package "health" "1.42.33"
"sha256-YXXZ8ceqMcyq93rfUOr7XCB2XbpMsU3/AFk9gycUEow=";
mypy-boto3-healthlake =
buildMypyBoto3Package "healthlake" "1.42.3"
@@ -898,8 +898,8 @@ in
"sha256-7e9/QHJJbdGyNnpxVZZCdbxdc0ncJ7a2UsBiVF629VA=";
mypy-boto3-meteringmarketplace =
buildMypyBoto3Package "meteringmarketplace" "1.42.3"
"sha256-FDdZQVLc6r/DWGZ5LNu33QhQjgcmHDbuzGzEJ/yFkyU=";
buildMypyBoto3Package "meteringmarketplace" "1.42.33"
"sha256-xI5F9ZZDoE7QgeXzSDoJmagTwnOtMr2jWHE6iH/7XkA=";
mypy-boto3-mgh =
buildMypyBoto3Package "mgh" "1.42.3"
@@ -1374,8 +1374,8 @@ in
"sha256-olIHhtYBAz8+avIUNnLoD2pdMq+TLrB8Mn+haKeUl/0=";
mypy-boto3-verifiedpermissions =
buildMypyBoto3Package "verifiedpermissions" "1.42.31"
"sha256-YIAxvp/geIyDsfhdEqc2UtIjFp12y6Tjq7SjmzpESfk=";
buildMypyBoto3Package "verifiedpermissions" "1.42.33"
"sha256-Hu79PPqjMZIddiH3DQyY0XqhbPsXM61BhR6iWKsMcRk=";
mypy-boto3-voice-id =
buildMypyBoto3Package "voice-id" "1.42.3"
@@ -10,14 +10,14 @@
buildPythonPackage (finalAttrs: {
pname = "pysigma-backend-sqlite";
version = "1.1.0";
version = "1.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "SigmaHQ";
repo = "pySigma-backend-sqlite";
tag = "v${finalAttrs.version}";
hash = "sha256-R0VM4Keui8jvUJY+YqV6wU7buJHuLkONP7unj7AB3DA=";
hash = "sha256-FmqsWwMn/xtKfPPUA025UcEmgsqiQ+8vQm13B/5oahQ=";
};
pythonRelaxDeps = [ "pysigma" ];
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "rocketchat-api";
version = "2.1.0";
version = "3.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jadolg";
repo = "rocketchat_API";
tag = version;
hash = "sha256-rkjo2DdWGOekr0VICH6+08wQxI8XkLKtznfjFDkeK04=";
hash = "sha256-K3b50mknji+pRTHfLdOBfvvr/zI8knjAzt5/0jhn3Tg=";
};
build-system = [