Merge master into staging-next
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
''
|
||||
@@ -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
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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
|
||||
@@ -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 = [
|
||||
|
||||
Reference in New Issue
Block a user