Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
K900
2025-07-08 15:12:10 +03:00
92 changed files with 1359 additions and 955 deletions
+5
View File
@@ -106,6 +106,11 @@ in
# useful for inspection (debugging / exploration)
passthru.config = config;
/**
For discoverTests only. Deprecated. Will be removed when discoverTests can be removed from NixOS all-tests.nix.
*/
passthru.test = config.test;
# Docs: nixos/doc/manual/development/writing-nixos-tests.section.md
/**
See https://nixos.org/manual/nixos/unstable#sec-override-nixos-test
@@ -7,6 +7,9 @@
let
cfg = config.services.desktopManager.lomiri;
nixos-gsettings-overrides = pkgs.lomiri.lomiri-gsettings-overrides.override {
inherit (cfg) extraGSettingsOverrides extraGSettingsOverridePackages;
};
in
{
options.services.desktopManager.lomiri = {
@@ -22,6 +25,18 @@ in
type = lib.types.bool;
default = config.services.xserver.displayManager.lightdm.greeters.lomiri.enable || cfg.enable;
};
extraGSettingsOverrides = lib.mkOption {
description = "Additional GSettings overrides.";
type = lib.types.lines;
default = "";
};
extraGSettingsOverridePackages = lib.mkOption {
description = "List of packages for which GSettings are overridden.";
type = lib.types.listOf lib.types.path;
default = [ ];
};
};
config = lib.mkMerge [
@@ -43,10 +58,17 @@ in
"/share/wallpapers"
];
systemPackages = with pkgs.lomiri; [
lomiri-wallpapers # default + additional wallpaper
suru-icon-theme # basic indicator icons
];
# Override GSettings defaults
sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
systemPackages =
[
nixos-gsettings-overrides # GSettings default overrides
]
++ (with pkgs.lomiri; [
lomiri-wallpapers # default + additional wallpaper
suru-icon-theme # basic indicator icons
]);
};
fonts.packages = with pkgs; [
+6 -1
View File
@@ -20,6 +20,8 @@ let
NPM_CONFIG_CACHE = "/var/cache/peertube/.npm";
NPM_CONFIG_PREFIX = cfg.package;
HOME = cfg.package;
# Used for auto video transcription
HF_HOME = "/var/cache/peertube/huggingface";
};
systemCallsList = [
@@ -36,7 +38,6 @@ let
cfgService = {
# Proc filesystem
ProcSubset = "pid";
ProtectProc = "invisible";
# Access write directories
UMask = "0027";
@@ -420,6 +421,10 @@ in
};
};
};
video_transcription = {
engine = lib.mkDefault "whisper-ctranslate2";
engine_path = lib.mkDefault (lib.getExe pkgs.whisper-ctranslate2);
};
}
(lib.mkIf cfg.redis.enableUnixSocket {
redis = {
@@ -79,7 +79,7 @@ let
links = mkIf i.wakeOnLan.enable {
"40-${i.name}" = {
matchConfig.name = i.name;
linkConfig.WakeOnLan = i.wakeOnLan.policy;
linkConfig.WakeOnLan = concatStringsSep " " i.wakeOnLan.policy;
};
};
netdevs = mkIf i.virtual {
+1 -1
View File
@@ -34,7 +34,7 @@ with lib;
${optionalString (config.networking.hostName == "") ''
echo "setting host name..."
if [ -s /etc/ec2-metadata/hostname ]; then
${lib.getExe hostname-debian} -F /etc/ec2-metadata/hostname
${lib.getExe pkgs.hostname-debian} -F /etc/ec2-metadata/hostname
fi
''}
+3 -1
View File
@@ -18,10 +18,12 @@
with pkgs.lib;
let
# TODO: remove when handleTest is gone (make sure nixosTests and nixos/release.nix#tests are unaffected)
# TODO: when removing, also deprecate `test` attribute in ../lib/testing/run.nix
discoverTests =
val:
if isAttrs val then
if hasAttr "test" val then
if (val ? test) then
callTest val
else
mapAttrs (n: s: if n == "passthru" then s else discoverTests s) val
+5 -9
View File
@@ -139,12 +139,8 @@ let
Move the mouse to a screen location and hit left-click.
"""
# Need to reset to top-left, --absolute doesn't work?
machine.execute("ydotool mousemove -- -10000 -10000")
machine.sleep(2)
# Move
machine.execute(f"ydotool mousemove -- {xpos} {ypos}")
machine.execute(f"ydotool mousemove --absolute -- {xpos} {ypos}")
machine.sleep(2)
# Click (C0 - left button: down & up)
@@ -157,7 +153,7 @@ let
"""
# Using the keybind has a chance of instantly closing the menu again? Just click the button
mouse_click(20, 30)
mouse_click(15, 15)
'';
@@ -653,7 +649,7 @@ in
machine.screenshot("settings_lomiri-content-hub_peers")
# Select Morph as content source
mouse_click(370, 100)
mouse_click(340, 80)
# Expect Morph to be brought into the foreground, with its Downloads page open
wait_for_text("No downloads")
@@ -853,8 +849,8 @@ in
ocr = [ "Log Out" ];
extraCheck = ''
# We should be able to log out and return to the greeter
mouse_click(720, 280) # "Log Out"
mouse_click(400, 240) # confirm logout
mouse_click(600, 280) # "Log Out"
mouse_click(340, 220) # confirm logout
machine.wait_until_fails("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
'';
})
@@ -24,8 +24,8 @@ let
sha256Hash = "sha256-upx+qcrd+E4XVV94iaqZPN8w1RpcD8KfV37397nkznU=";
};
latestVersion = {
version = "2025.1.2.7"; # "Android Studio Narwhal Feature Drop | 2025.1.2 Canary 7"
sha256Hash = "sha256-wNBBvdofV6kL/C+JQNPz90YXzRqWYjkYaJGB4HHH6L4=";
version = "2025.1.2.8"; # "Android Studio Narwhal Feature Drop | 2025.1.2 Canary 8"
sha256Hash = "sha256-p7sIraR5MbFqr2svD1GKR71I0U1UDMkmAW4PAHjWyD4=";
};
in
{
@@ -13,13 +13,13 @@
}:
mkLibretroCore {
core = "ppsspp";
version = "0-unstable-2025-06-28";
version = "0-unstable-2025-07-06";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "1f2b4de6c148cfd4514f415dbf40cd684840be70";
hash = "sha256-QWy3PKnPj5ol52KOV/SMpNuiERnmmBHs+087qKCvM3M=";
rev = "32e05485c5cf48bbe393ca5ce2b356db4a73ddbf";
hash = "sha256-sU2bmCYpXl5VPpu2qZtXGgJJ523fPQsoQSWYhTwAkOs=";
fetchSubmodules = true;
};
@@ -2,6 +2,7 @@
lib,
fetchFromGitHub,
pythonPackages,
installShellFiles,
}:
pythonPackages.buildPythonApplication rec {
@@ -21,6 +22,10 @@ pythonPackages.buildPythonApplication rec {
"man"
];
nativeBuildInputs = [
installShellFiles
];
propagatedBuildInputs = with pythonPackages; [
urwid
beautifulsoup4
@@ -28,9 +33,7 @@ pythonPackages.buildPythonApplication rec {
];
postInstall = ''
mkdir -p $man/share/man/man{1,5}
cp wikicurses.1 $man/share/man/man1/
cp wikicurses.conf.5 $man/share/man/man5/
installManPage wikicurses.1 wikicurses.conf.5
'';
doCheck = false;
File diff suppressed because it is too large Load Diff
@@ -77,6 +77,7 @@ let
"8.20.0".sha256 = "sha256-WFpZlA6CzFVAruPhWcHQI7VOBVhrGLdFzWrHW0DTSl0=";
"8.20.1".sha256 = "sha256-nRaLODPG4E3gUDzGrCK40vhl4+VhPyd+/fXFK/HC3Ig=";
"9.0.0".sha256 = "sha256-GRwYSvrJGiPD+I82gLOgotb+8Ra5xHZUJGcNwxWqZkU=";
"9.1+rc1".sha256 = "sha256-GShKHQ9EdvyNe9WlkzF6KLYybc5dPeVrh4bpkVy6pY4=";
};
releaseRev = v: "V${v}";
fetched =
@@ -23,6 +23,7 @@ let
release = {
"9.0.0".sha256 = "sha256-GRwYSvrJGiPD+I82gLOgotb+8Ra5xHZUJGcNwxWqZkU=";
"9.1+rc1".sha256 = "sha256-GShKHQ9EdvyNe9WlkzF6KLYybc5dPeVrh4bpkVy6pY4=";
};
releaseRev = v: "V${v}";
fetched =
+3 -3
View File
@@ -22,17 +22,17 @@
buildGoModule rec {
pname = "aaaaxy";
version = "1.6.241";
version = "1.6.252";
src = fetchFromGitHub {
owner = "divVerent";
repo = "aaaaxy";
tag = "v${version}";
hash = "sha256-pfvz5qaGLhFw+UD4OL6R88Qw6Ml3Pn66ZMQI3f923JA=";
hash = "sha256-Y8uZOW5Eh3sf9+7yj3XXmokItb/BqA8bsaQMfC2PoYE=";
fetchSubmodules = true;
};
vendorHash = "sha256-ojgI4HgNp2pbFAWeucdU8n3qW7ittAvp+ptDndCQlEI=";
vendorHash = "sha256-iP/7WQZ+BNqtoigRADKlYGEAEZpzSKttY4lVq7v8gR8=";
buildInputs = [
alsa-lib
-1
View File
@@ -78,7 +78,6 @@ rustPlatform.buildRustPackage rec {
mainProgram = "amber";
maintainers = with maintainers; [
cafkafk
uncenter
aleksana
];
platforms = platforms.unix;
+25 -16
View File
@@ -1,41 +1,44 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitLab,
glib,
gmime3,
gnutls,
gobject-introspection,
gpgme,
gtk3,
gtksourceview4,
gtkspell3,
intltool,
libcanberra-gtk3,
libesmtp,
libical,
libnotify,
libsecret,
openssl,
meson,
ninja,
pkg-config,
sqlite,
webkitgtk_4_0,
wrapGAppsHook3,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "balsa";
version = "2.6.4";
version = "2.6.5";
src = fetchurl {
url = "https://pawsa.fedorapeople.org/balsa/${pname}-${version}.tar.xz";
sha256 = "1hcgmjka2x2igdrmvzlfs12mv892kv4vzv5iy90kvcqxa625kymy";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "balsa";
tag = finalAttrs.version;
hash = "sha256-KvgDIFbXmVkTqOibKF+8UhupEDgdhje600aSbmeKZqo=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
intltool
gobject-introspection
wrapGAppsHook3
];
@@ -57,6 +60,10 @@ stdenv.mkDerivation rec {
webkitgtk_4_0
];
mesonFlags = [
(lib.mesonOption "sysconfdir" "etc")
];
configureFlags = [
"--with-canberra"
"--with-gtksourceview"
@@ -70,11 +77,13 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with lib; {
homepage = "http://pawsa.fedorapeople.org/balsa/";
meta = {
description = "E-mail client for GNOME";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
homepage = "https://gitlab.gnome.org/GNOME/balsa";
changelog = "https://gitlab.gnome.org/GNOME/balsa/-/blob/master/ChangeLog";
mainProgram = "balsa";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ timon ];
};
}
})
+1 -1
View File
@@ -34,6 +34,6 @@ rustPlatform.buildRustPackage {
homepage = "https://github.com/Boshen/cargo-shear";
changelog = "https://github.com/Boshen/cargo-shear/blob/v${version}/CHANGELOG.md";
license = [ lib.licenses.mit ];
maintainers = with lib.maintainers; [ uncenter ];
maintainers = with lib.maintainers; [ ];
};
}
+3 -3
View File
@@ -6,18 +6,18 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "datafusion-cli";
version = "48.0.0";
version = "48.0.1";
src = fetchFromGitHub {
name = "datafusion-cli-source";
owner = "apache";
repo = "arrow-datafusion";
tag = finalAttrs.version;
hash = "sha256-DkMJKZI5rOH/PGXiAXY/GtYwYvhZ2b3zKeGeD9o2AvE=";
hash = "sha256-hYRv+7cqiPEpUHMbvmG+z7S1S6xdaMHEORXu6V0X+/0=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-9uMmxP/MvFXfylKCCcZS1YEp8snF5Tds9Eh0hL6U0oE=";
cargoHash = "sha256-vGVpkfNgyY3d+SL03jNgNNInH0jvDgpkPmHI04l2G7c=";
buildAndTestSubdir = "datafusion-cli";
+2 -2
View File
@@ -17,7 +17,7 @@ assert withFlint -> flint != null;
stdenv.mkDerivation rec {
pname = "eclib";
version = "20250616"; # upgrade might break the sage interface
version = "20250627"; # upgrade might break the sage interface
# sage tests to run:
# src/sage/interfaces/mwrank.py
# src/sage/libs/eclib
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
# see https://github.com/JohnCremona/eclib/issues/64#issuecomment-789788561
# for upstream's explanation of the above
url = "https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2";
hash = "sha256-WrPkrAlBhsnK/NqSFNTZNkgsL2EJzvmLASha0rI4U5s=";
hash = "sha256-uI1LUmEuSRxUFZRtnjXyBiyhAV7n+74LYfFY+nTLS8k=";
};
buildInputs =
[
+18 -15
View File
@@ -1,5 +1,6 @@
{
lib,
stdenv,
callPackage,
python3Packages,
fetchFromGitHub,
@@ -8,7 +9,7 @@
esptool,
git,
inetutils,
stdenv,
versionCheckHook,
nixosTests,
}:
@@ -43,9 +44,8 @@ python.pkgs.buildPythonApplication rec {
hash = "sha256-3Xcxn12QKQg0jxdOPP7y01YaikvxmPPX9JL2JBvdsUM=";
};
build-systems = with python.pkgs; [
build-system = with python.pkgs; [
setuptools
argcomplete
];
nativeBuildInputs = [
@@ -123,14 +123,17 @@ python.pkgs.buildPythonApplication rec {
# Needed for tests
__darwinAllowLocalNetworking = true;
nativeCheckInputs = with python3Packages; [
hypothesis
mock
pytest-asyncio
pytest-cov-stub
pytest-mock
pytestCheckHook
];
nativeCheckInputs =
with python3Packages;
[
hypothesis
mock
pytest-asyncio
pytest-cov-stub
pytest-mock
pytestCheckHook
]
++ [ versionCheckHook ];
disabledTests = [
# race condition, also visible in upstream tests
@@ -157,10 +160,6 @@ python.pkgs.buildPythonApplication rec {
export PATH=$PATH:$out/bin
'';
postCheck = ''
$out/bin/esphome --help > /dev/null
'';
postInstall =
let
argcomplete = lib.getExe' python3Packages.argcomplete "register-python-argcomplete";
@@ -172,6 +171,10 @@ python.pkgs.buildPythonApplication rec {
--fish <(${argcomplete} --shell fish esphome)
'';
doInstallCheck = true;
versionCheckProgramArg = "--version";
passthru = {
dashboard = python.pkgs.esphome-dashboard;
updateScript = callPackage ./update.nix { };
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "fcitx5-mcbopomofo";
version = "2.9.1";
version = "2.9.2";
src = fetchFromGitHub {
owner = "openvanilla";
repo = "fcitx5-mcbopomofo";
rev = version;
hash = "sha256-fHDNhZhSVgVuZLfRA3eJErm1gwhUZJw+emCXfeO5HVo=";
hash = "sha256-2TWJsEScC5rMz5dowJOQHA2Mjzsq+d9n2lKXdEWiELU=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -6,12 +6,12 @@
python3Packages.buildPythonApplication rec {
pname = "frida-tools";
version = "14.1.2";
version = "14.4.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-ORNgNpzZWoW/Ex6DOUk/mgRPySTv/cWybcHnEMdKeIU=";
hash = "sha256-ACiznCkOZvnPUSB+Xcs4IZfbPGyknr193gLok0FrzqA=";
};
propagatedBuildInputs = with python3Packages; [
+3 -3
View File
@@ -6,7 +6,7 @@
let
pname = "gate";
version = "0.49.2";
version = "0.50.0";
in
buildGoModule {
inherit pname version;
@@ -15,10 +15,10 @@ buildGoModule {
owner = "minekube";
repo = "gate";
tag = "v${version}";
hash = "sha256-u90cQh6mYUrlnWUkwIAhkJJZ6GB0AkNIJVJVkq4cYEM=";
hash = "sha256-clWQeFKOLzA99yNqgNPdPdvyaVoRvYjYg7PrGvnuk7o=";
};
vendorHash = "sha256-4LJwb4ZXs+CUcxhvRveJy+xu7/UEjxIEwLV5Z5gBbT4=";
vendorHash = "sha256-d/D1l+/viJ5OFSpUDpC+4pnDwPJDBuYDjS7niao5D9U=";
ldflags = [
"-s"
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "go-errorlint";
version = "1.5.1";
version = "1.8.0";
src = fetchFromGitHub {
owner = "polyfloyd";
repo = "go-errorlint";
rev = "v${version}";
hash = "sha256-xO9AC1z3JNTRVEpM/FF8x+AMfmspU64kUywvpMb2yxM=";
hash = "sha256-jczsgZAC90f2Kkrwpb9oeoK1HtlFDLOjqlexn9v5ojk=";
};
vendorHash = "sha256-pSajd2wyefHgxMvhDKs+qwre4BMRBv97v/tZOjiT3LE=";
vendorHash = "sha256-smOu92BigepCH02qm2Im3T65nUoR/IYhWTjhnjRPppA=";
ldflags = [
"-s"
+3 -1
View File
@@ -102,7 +102,9 @@ buildNpmPackage rec {
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { };
passthru.updateScript = unstableGitUpdater {
tagPrefix = "v";
};
nativeBuildInputs = [ makeWrapper ];
+3 -3
View File
@@ -48,7 +48,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "ipxe";
version = "1.21.1-unstable-2025-06-26";
version = "1.21.1-unstable-2025-07-04";
nativeBuildInputs = [
mtools
@@ -65,8 +65,8 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "ipxe";
repo = "ipxe";
rev = "4262328c13a3ec085eac7c6c58fbed27d2466a0d";
hash = "sha256-FvYGM+NApTloA7vV1KPpsAzIT7oZ2GK6rKw+3mosvTA=";
rev = "c21443f0b9a4dee56ab0f47b096540d6443cda9f";
hash = "sha256-rCMTtzNZM3KElNYwnpQOINU4CsMhIgla8JQT5Fgx2tQ=";
};
# Calling syslinux on a FAT image isn't going to work on Aarch64.
+7 -3
View File
@@ -20,6 +20,7 @@
versioneer,
shapely,
setuptools,
nix-update-script,
}:
let
solidpython = callPackage ./solidpython { };
@@ -95,14 +96,17 @@ buildPythonApplication rec {
cd test/units
'';
meta = with lib; {
passthru.updateScript = nix-update-script { };
meta = {
description = "Automation for KiCAD boards";
homepage = "https://github.com/yaqwsx/KiKit/";
changelog = "https://github.com/yaqwsx/KiKit/releases/tag/${src.tag}";
maintainers = with maintainers; [
maintainers = with lib.maintainers; [
jfly
matusf
];
license = licenses.mit;
teams = with lib.teams; [ ngi ];
license = lib.licenses.mit;
};
}
+2 -2
View File
@@ -9,13 +9,13 @@
buildGoModule rec {
pname = "kyverno";
version = "1.14.3";
version = "1.14.4";
src = fetchFromGitHub {
owner = "kyverno";
repo = "kyverno";
rev = "v${version}";
hash = "sha256-WKVzx88k9D6unZWNfJesy/Ucmm5u5hJUpEETuOLiF18=";
hash = "sha256-hOYNHJfK3EMe6oC3ucymcK8uyu07asRZjYJxm4fN6x8=";
};
ldflags = [
+2 -2
View File
@@ -13,7 +13,7 @@
stdenv.mkDerivation rec {
pname = "libfabric";
version = "2.1.0";
version = "2.2.0";
enableParallelBuilding = true;
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
owner = "ofiwg";
repo = "libfabric";
rev = "v${version}";
sha256 = "sha256-TK45SCPyFIMhliBYBEMPSKX/UtHGPj075SlTNB92O0Y=";
sha256 = "sha256-BY3a7CxtMJl5/+7t4BzJRTbMnDs1oL3UhDOPRB+D3+U=";
};
outputs = [
+1 -1
View File
@@ -14,7 +14,7 @@
stdenv.mkDerivation rec {
pname = "libserdes";
version = "7.9.1";
version = "7.9.2";
src = fetchFromGitHub {
owner = "confluentinc";
+3 -3
View File
@@ -11,7 +11,7 @@
}:
beamPackages.mixRelease rec {
pname = "livebook";
version = "0.16.2";
version = "0.16.4";
inherit elixir;
@@ -23,13 +23,13 @@ beamPackages.mixRelease rec {
owner = "livebook-dev";
repo = "livebook";
tag = "v${version}";
hash = "sha256-x4h5vT2p1SL/8p04DRpKbIbwL7XzctH27f4ZAwj0QOg=";
hash = "sha256-Cwzcoslqjaf7z9x2Sgnzrrl4zUcH2f7DEWaFPBIi3ms=";
};
mixFodDeps = beamPackages.fetchMixDeps {
pname = "mix-deps-${pname}";
inherit src version;
hash = "sha256-0gmUCVLrNfcRCPhaXuOfrYW05TDbDN5Zt9IA8OBU8Gc=";
hash = "sha256-OEYkWh0hAl7ZXP2Cq+TgVGF4tnWlpF6W5uRSdyrswlA=";
};
postInstall = ''
@@ -38,7 +38,6 @@ rustPlatform.buildRustPackage {
changelog = "https://github.com/becheran/mlc/blob/v${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
uncenter
anas
];
mainProgram = "mlc";
+3 -3
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "miller";
version = "6.13.0";
version = "6.14.0";
src = fetchFromGitHub {
owner = "johnkerl";
repo = "miller";
rev = "v${version}";
sha256 = "sha256-eHiYIw/sQMXLow2Vy4zFTGeON28LmG0pK2Uca4ooInU=";
sha256 = "sha256-tpM+Y65zYvnTd9VNJPDTWyj0RC+VmdmVCNzXyVGs/EI=";
};
outputs = [
@@ -20,7 +20,7 @@ buildGoModule rec {
"man"
];
vendorHash = "sha256-oc6Lp4rQ+MLmQDVcuNJ3CqYH277Vuuwu4zSSO2ICXsw=";
vendorHash = "sha256-KgQZg8+6Vo4t0yx7AwuOyRWIMT7vwUO5nfDgBSVceIA=";
postInstall = ''
mkdir -p $man/share/man/man1
+25 -9
View File
@@ -2,7 +2,10 @@
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
versionCheckHook,
zlib,
nix-update-script,
}:
stdenv.mkDerivation rec {
@@ -18,24 +21,37 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib ];
makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [
"arm_neon=1"
"aarch64=1"
];
nativeBuildInputs = [ installShellFiles ];
makeFlags =
lib.optionals stdenv.hostPlatform.isAarch [ "arm_neon=1" ]
++ lib.optionals stdenv.hostPlatform.isAarch64 [ "aarch64=1" ];
installPhase = ''
mkdir -p $out/bin
cp minimap2 $out/bin
mkdir -p $out/share/man/man1
cp minimap2.1 $out/share/man/man1
runHook preInstall
install -m755 -Dt $out/bin minimap2
installManPage minimap2.1
runHook postInstall
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Versatile pairwise aligner for genomic and spliced nucleotide sequences";
longDescription = ''
Minimap2 is a versatile sequence alignment program that aligns
DNA or mRNA sequences against a large reference database. It is
particularly efficient for long reads and can handle various
sequencing technologies including PacBio and Oxford Nanopore.
'';
mainProgram = "minimap2";
homepage = "https://lh3.github.io/minimap2";
license = licenses.mit;
platforms = platforms.all;
platforms = platforms.unix;
maintainers = [ maintainers.arcadio ];
};
}
+60
View File
@@ -2,8 +2,31 @@
lib,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
writableTmpDirAsHomeHook,
writeText,
fixup-yarn-lock,
nodejs,
yarn,
# Custom application configuration placed to theme/config.theme.js file
# For the list of available configuration options see
# https://github.com/osm-search/nominatim-ui/blob/master/dist/config.defaults.js
customConfig ? null,
}:
let
configFile =
if customConfig != null then
writeText "config.theme.js" customConfig
else
writeText "config.theme.js" ''
// Default configuration
Nominatim_Config.Nominatim_API_Endpoint='https://127.0.0.1/';
'';
in
stdenv.mkDerivation (finalAttrs: {
pname = "nominatim-ui";
version = "3.7.1";
@@ -15,6 +38,43 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-TliTWDKdIp7Z0uYw5P65i06NQAUNwNymUsSYrihVZFE=";
};
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-IqwsXEd9RSJhkA4BONTJT4xYMTyG9+zddIpD47v6AFc=";
};
nativeBuildInputs = [
writableTmpDirAsHomeHook
fixup-yarn-lock
nodejs
yarn
];
configurePhase = ''
runHook preConfigure
yarn config --offline set yarn-offline-mirror $offlineCache
fixup-yarn-lock yarn.lock
yarn install --offline --frozen-lockfile --frozen-engines --ignore-scripts
patchShebangs node_modules
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
yarn --offline build
runHook postBuild
'';
preInstall = ''
ln --symbolic ${configFile} dist/theme/config.theme.js
'';
installPhase = ''
runHook preInstall
+2 -2
View File
@@ -26,13 +26,13 @@
stdenv.mkDerivation rec {
pname = "polymake";
version = "4.13";
version = "4.14";
src = fetchurl {
# "The minimal version is a packager friendly version which omits
# the bundled sources of cdd, lrs, libnormaliz, nauty and jReality."
url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2";
sha256 = "sha256-862s0GO56mDV6cN8YYP127dFiwyzSR66Pvw48gxWXOs=";
sha256 = "sha256-4nZncZpZECwbJ/X5j6g807QUf2MpKUBZLyFxUd79v40=";
};
nativeBuildInputs = [
+20 -15
View File
@@ -23,23 +23,28 @@
let
# Copied from the `prismlauncher` package
runtimeLibs = [
libX11
libXext
libXcursor
libXrandr
libXxf86vm
runtimeLibs =
[
# lwjgl
libGL
glfw
openal
(lib.getLib stdenv.cc.cc)
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libX11
libXext
libXcursor
libXrandr
libXxf86vm
# lwjgl
libpulseaudio
libGL
glfw
openal
(lib.getLib stdenv.cc.cc)
# lwjgl
libpulseaudio
# oshi
udev
] ++ lib.optional textToSpeechSupport flite;
# oshi
udev
]
++ lib.optional textToSpeechSupport flite;
in
python3Packages.buildPythonApplication rec {
pname = "portablemc";
+8 -7
View File
@@ -6,9 +6,10 @@
file,
libnsl,
writableTmpDirAsHomeHook,
nix-update-script,
}:
stdenv.mkDerivation (finalAttr: {
stdenv.mkDerivation {
pname = "re-Isearch";
version = "2.20220925.4.0a-unstable-2025-03-16";
@@ -16,7 +17,7 @@ stdenv.mkDerivation (finalAttr: {
owner = "re-Isearch";
repo = "re-Isearch";
rev = "56e0dfbe7468881b3958ca8e630f41a5354e9873";
sha256 = "sha256-tI75D02/sFEkHDQX/BpDlu24WNP6Qh9G0MIfEvs8npM=";
hash = "sha256-tI75D02/sFEkHDQX/BpDlu24WNP6Qh9G0MIfEvs8npM=";
};
# Upstream issue: https://github.com/re-Isearch/re-Isearch/issues/11
@@ -56,10 +57,6 @@ stdenv.mkDerivation (finalAttr: {
)
'';
preInstall = ''
mkdir -p $out/{bin,lib}
'';
installPhase = ''
runHook preInstall
@@ -71,6 +68,10 @@ stdenv.mkDerivation (finalAttr: {
runHook postInstall
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
meta = {
description = "Novel multimodal search and retrieval engine";
homepage = "https://nlnet.nl/project/Re-iSearch/";
@@ -79,4 +80,4 @@ stdenv.mkDerivation (finalAttr: {
maintainers = [ lib.maintainers.astro ];
teams = [ lib.teams.ngi ];
};
})
}
+11 -4
View File
@@ -7,22 +7,29 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "reaction";
version = "2.0.1";
version = "2.1.0";
src = fetchFromGitLab {
domain = "framagit.org";
owner = "ppom";
repo = "reaction";
tag = "v${finalAttrs.version}";
hash = "sha256-HpnLh0JfGZsHcvDQSiKfW62QcCe/QDsVP/nGBo9x494=";
hash = "sha256-3FJv1n1+cpV4yrBR6PKTAhSkjas/4uTZqn4nW948jAk=";
};
cargoHash = "sha256-i8KZygESxgty8RR3C+JMuE1aAsBxoLuGsL4jqjdGr0E=";
cargoHash = "sha256-Is8Mkl7Qfbe2CwYB+Da99NDQZd9+qR4NnT8iU/JMPJ0=";
nativeBuildInputs = [
installShellFiles
];
checkFlags = [
# Those time-based tests behave poorly in low-resource environments (CI...)
"--skip=daemon::filter::tests"
"--skip=treedb::raw::tests::write_then_read_1000"
"--skip=simple"
];
postInstall = ''
installBin $releaseDir/ip46tables $releaseDir/nft46
installManPage $releaseDir/reaction*.1
@@ -41,6 +48,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
license = lib.licenses.agpl3Plus;
mainProgram = "reaction";
maintainers = with lib.maintainers; [ ppom ];
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
};
})
+2 -2
View File
@@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "redis";
version = "8.0.2";
version = "8.0.3";
src = fetchFromGitHub {
owner = "redis";
repo = "redis";
tag = finalAttrs.version;
hash = "sha256-BZJEBp3M7Gw/6/fZjfaMfU777dFmMzAS4bDI06ErkSc=";
hash = "sha256-e6pPsPz0huZyn14XO3uFUmJhBpMxhWLfyD0VBQXsJ1s=";
};
patches = lib.optional useSystemJemalloc (fetchpatch2 {
+3 -3
View File
@@ -9,17 +9,17 @@
rustPlatform.buildRustPackage rec {
pname = "reindeer";
version = "2025.06.23.00";
version = "2025.06.30.00";
src = fetchFromGitHub {
owner = "facebookincubator";
repo = "reindeer";
tag = "v${version}";
hash = "sha256-4g5CbKFsZaZWSNCw04G1zMR873VeW3fdtvIM9HrrVJc=";
hash = "sha256-9TvYewY74ntI8iTo5UOTQ+OA6eJHmA/fUPRW0maZn00=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-sL15ziVSW70m4XhqpQoCeZBvmp7bB6tKPUCvwUFqvRg=";
cargoHash = "sha256-yxxh/ikFioEAHpuS/AAIpQClWvQxL/5/UkiSbbKRnBA=";
nativeBuildInputs = [ pkg-config ];
+47 -6
View File
@@ -7,25 +7,66 @@
makeDesktopItem,
nix-update-script,
npm-lockfile-fix,
prefetch-npm-deps,
rsync,
stdenv,
}:
buildNpmPackage rec {
pname = "super-productivity";
version = "13.0.10";
version = "14.0.5";
src = fetchFromGitHub {
owner = "johannesjo";
repo = "super-productivity";
tag = "v${version}";
hash = "sha256-2K/6T4f9tLlrKimT/DPSdoz8LHij5nsaF6BWSQf6u7U=";
hash = "sha256-VoE86uBl6DM6aXz7MLYekEzfixVSLjLL3yYgc2vBhp0=";
postFetch = ''
${lib.getExe npm-lockfile-fix} -r $out/package-lock.json
find $out -name package-lock.json -exec ${lib.getExe npm-lockfile-fix} -r {} \;
'';
};
npmDepsHash = "sha256-l9P11ZvLYiTu/cVPQIw391ZTJ0K+cNPUzoVMsdze2uo=";
# Use custom fetcher for deps because super-productivity uses multiple
# package-lock.json files to manage plugins. It checks all lock
# files and produces a merged output. This should still be compatible
# with nix-update.
npmDeps = stdenv.mkDerivation (
lib.fetchers.normalizeHash { } {
pname = "super-productivity-deps";
inherit version src;
nativeBuildInputs = [
prefetch-npm-deps
rsync
];
# Some lockfiles do not include any dependencies to install so
# prefertch-npm-deps produces an error. Those can be ignored with
# this flag.
env.FORCE_EMPTY_CACHE = true;
buildPhase = ''
mkdir -p $out
find -name package-lock.json | while read -r lockfile; do
prefetch-npm-deps $lockfile /tmp/cache
# Merge output
rsync -a /tmp/cache/ $out
rm -rf /tmp/cache
done
# Ensure that the root package-lock.json is placed in the output.
# This means only the root lockfile is checked for consistancy,
# but that should not be an issue.
cp package-lock.json $out
'';
dontInstall = true;
outputHashMode = "recursive";
hash = "sha256-Jj7ulTjC19Q9PmOeVui/FAyfpsSviGLHiiz8gwsLXAg=";
}
);
makeCacheWritable = true;
env = {
@@ -64,13 +105,13 @@ buildNpmPackage rec {
if stdenv.hostPlatform.isDarwin then
''
mkdir -p $out/Applications
cp -r "app-builds/mac"*"/Super Productivity.app" "$out/Applications"
cp -r ".tmp/app-builds/mac"*"/Super Productivity.app" "$out/Applications"
makeWrapper "$out/Applications/Super Productivity.app/Contents/MacOS/Super Productivity" "$out/bin/super-productivity"
''
else
''
mkdir -p $out/share/{super-productivity,icons/hicolor/scalable/apps}
cp -r app-builds/*-unpacked/resources/app.asar $out/share/super-productivity
cp -r .tmp/app-builds/*-unpacked/resources/app.asar $out/share/super-productivity
cp electron/assets/icons/ico-circled.svg $out/share/icons/hicolor/scalable/apps/super-productivity.svg
makeWrapper '${lib.getExe electron}' "$out/bin/super-productivity" \
+3 -3
View File
@@ -38,7 +38,7 @@ in
stdenv.mkDerivation {
pname = if tde2eOnly then "tde2e" else "tdlib";
version = "1.8.49";
version = "1.8.51";
src = fetchFromGitHub {
owner = "tdlib";
@@ -47,8 +47,8 @@ stdenv.mkDerivation {
# The tdlib authors do not set tags for minor versions, but
# external programs depending on tdlib constrain the minor
# version, hence we set a specific commit with a known version.
rev = "51743dfd01dff6179e2d8f7095729caa4e2222e9";
hash = "sha256-duD8a/fppkmaKrvkHnbSxRnCLS60aNVcgaYyCoHzKgE=";
rev = "bb474a201baa798784d696d2d9d762a9d2807f96";
hash = "sha256-Jd2ojDDwO/7W54QjnKLlc1ecqTfJEFPRtT50rNlukKA=";
};
buildInputs = [
+54 -21
View File
@@ -3,6 +3,7 @@
lib,
fetchFromGitea,
cmake,
ninja,
wxGTK32,
gtk3,
pkg-config,
@@ -47,7 +48,7 @@
util-linux,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "tenacity";
version = "1.3.4";
@@ -56,20 +57,46 @@ stdenv.mkDerivation rec {
owner = "tenacityteam";
repo = "tenacity";
fetchSubmodules = true;
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-2gndOwgEJK2zDSbjcZigbhEpGv301/ygrf+EQhKp8PI=";
};
postPatch = ''
mkdir -p build/src/private
touch build/src/private/RevisionIdent.h
postPatch =
''
# GIT_DESCRIBE is used for the version string and can't be passed in
# as an option, so we substitute it instead.
substituteInPlace CMakeLists.txt \
--replace-fail 'set( GIT_DESCRIBE "unknown" )' 'set( GIT_DESCRIBE "${finalAttrs.version}" )'
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace libraries/lib-files/FileNames.cpp \
--replace-fail /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
# Tenacity has special handling for ffmpeg library search on darwin,
# looking only in a few specific directories.
# Make sure it searches for our version of ffmpeg in the nix store.
substituteInPlace libraries/lib-ffmpeg-support/FFmpegFunctions.cpp \
--replace-fail /usr/local/lib/tenacity ${lib.getLib ffmpeg}/lib
'';
substituteInPlace libraries/lib-files/FileNames.cpp \
--replace /usr/include/linux/magic.h \
${linuxHeaders}/include/linux/magic.h
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir $out/{bin,Applications}
mv $out/{,Applications/}Tenacity.app
# Symlinking the binary is insufficient as it would be unable to
# find the bundle resources
cat << EOF > "$out/bin/tenacity"
#!${stdenv.shell}
open -na "$out/Applications/Tenacity.app" --args "\$@"
EOF
chmod +x "$out/bin/tenacity"
# Only contains a static library that is already linked into the tenacity binary
rm -r $out/lib
'';
postFixup = ''
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
wrapProgram "$out/bin/tenacity" \
--suffix AUDACITY_PATH : "$out/share/tenacity" \
--suffix AUDACITY_MODULES_PATH : "$out/lib/tenacity/modules" \
@@ -77,10 +104,9 @@ stdenv.mkDerivation rec {
--prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
env.NIX_CFLAGS_COMPILE = "-D GIT_DESCRIBE=\"\"";
# tenacity only looks for ffmpeg at runtime, so we need to link it in manually
NIX_LDFLAGS = toString [
# Tenacity only looks for ffmpeg at runtime, so we need to link it in manually.
# On darwin, these are ignored by the ffmpeg search even when linked.
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux (toString [
"-lavcodec"
"-lavdevice"
"-lavfilter"
@@ -89,23 +115,23 @@ stdenv.mkDerivation rec {
"-lpostproc"
"-lswresample"
"-lswscale"
];
]);
nativeBuildInputs =
[
cmake
ninja
gettext
makeWrapper
pkg-config
python3
]
++ lib.optionals stdenv.hostPlatform.isLinux [
makeWrapper
linuxHeaders
];
buildInputs =
[
alsa-lib
expat
ffmpeg
file
@@ -134,6 +160,7 @@ stdenv.mkDerivation rec {
gtk3
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
at-spi2-core
dbus
libepoxy
@@ -149,14 +176,20 @@ stdenv.mkDerivation rec {
cmakeFlags = [
# RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
"-DCMAKE_SKIP_BUILD_RPATH=ON"
# Disabled by default on Linux but enabled on Darwin, so we disable it explicitly for all platforms,
# as we provide dependencies from nixpkgs regardless of the target platform.
"-DVCPKG=OFF"
];
meta = with lib; {
meta = {
description = "Sound editor with graphical UI";
mainProgram = "tenacity";
homepage = "https://tenacityaudio.org/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ irenes ];
platforms = platforms.linux;
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
irenes
niklaskorz
];
platforms = lib.platforms.unix;
};
}
})
+4 -15
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
pkgsBuildBuild,
pkg-config,
cmake,
@@ -65,7 +64,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "triton-llvm";
version = "19.1.0-rc1"; # One of the tags at https://github.com/llvm/llvm-project/commit/10dc3a8e916d73291269e5e2b82dd22681489aa1
version = "21.0.0-git"; # See https://github.com/llvm/llvm-project/blob/main/cmake/Modules/LLVMVersion.cmake
outputs =
[
@@ -78,23 +77,13 @@ stdenv.mkDerivation (finalAttrs: {
"man"
];
# See https://github.com/triton-lang/triton/blob/main/python/setup.py
# and https://github.com/ptillet/triton-llvm-releases/releases
# See https://github.com/triton-lang/triton/blob/main/cmake/llvm-hash.txt
src = fetchFromGitHub {
owner = "llvm";
repo = "llvm-project";
rev = "10dc3a8e916d73291269e5e2b82dd22681489aa1";
hash = "sha256-9DPvcFmhzw6MipQeCQnr35LktW0uxtEL8axMMPXIfWw=";
rev = "a66376b0dc3b2ea8a84fda26faca287980986f78";
hash = "sha256-7xUPozRerxt38UeJxA8kYYxOQ4+WzDREndD2+K0BYkU=";
};
patches = [
# glibc-2.40 support
# [llvm-exegesis] Use correct rseq struct size #100804
# https://github.com/llvm/llvm-project/issues/100791
(fetchpatch {
url = "https://github.com/llvm/llvm-project//commit/84837e3cc1cf17ed71580e3ea38299ed2bfaa5f6.patch";
hash = "sha256-QKa+kyXjjGXwTQTEpmKZx5yYjOyBX8A8NQoIYUaGcIw=";
})
];
nativeBuildInputs =
[
@@ -21,7 +21,7 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-5suYJ+Z6ofVAysoCdHi5b5K0JTYaqeFZ32Cm76wC5LU=";
};
build-systems = with python3Packages; [
build-system = with python3Packages; [
setuptools
];
+2 -2
View File
@@ -6,13 +6,13 @@
xmrig.overrideAttrs (oldAttrs: rec {
pname = "xmrig-mo";
version = "6.23.0-mo1";
version = "6.24.0-mo1";
src = fetchFromGitHub {
owner = "MoneroOcean";
repo = "xmrig";
rev = "v${version}";
hash = "sha256-9ne2qpN6F6FJyD/Havb7fhY1oB4AxFrB17gI7QtoE1E=";
hash = "sha256-l3dN1lKn+Vt2JPmBm452kRe39UCnW3TIhUbHXkHXBrM=";
};
meta = with lib; {
@@ -61,37 +61,54 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri";
version = "0.4.1";
version = "0.5.0";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri";
tag = finalAttrs.version;
hash = "sha256-5fwSLUTntVyV5FIVnPishrU/55tyTyx0Fzh6oitaWwo=";
hash = "sha256-blXEfDauwtDH+0OdUx0vAR+8lnAGrREssqjsBNmvomk=";
};
patches = [
# Fix greeter & related settings
# These patches are seemingly not submitted upstream yet
# Fix broken multimedia suspend due to missing media-hub
(fetchpatch {
name = "1000-lomiri-QT_IM_MODULE-maliit.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2003_maliit-not-maliitphablet-as-im-module-namespace.patch";
hash = "sha256-5HEMl0x1S9Hb7spxPRgu8OBebmpaLa6zko2uVEYtBmY=";
name = "2012-lomiri-dont-suspend-apps.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/1d6e83446f69299d1206927c2adbf78470ba27ec/debian/patches/2012_no-app-suspension-on-Debian+Ubuntu-proper.patch";
hash = "sha256-9mvkILrkig18fAw5KyA2+5vXup6Le7X0blgY0PJ2Trc=";
})
# Fix convergence on some tablets
(fetchpatch {
name = "1013-lomiri-fix-convergence-on-high-resolution-tablets.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/4d4904b728a3e66706c756f911ddc79b01f863a2/debian/patches/1013_fix-convergence-on-high-resolution-tablets.patch";
hash = "sha256-pQYIa8U0gEFdwZBuWMp8nL5j2HPSivMrsuKUC9scKg0=";
})
# Make greeter behave nicer & more Wayland-native
(fetchpatch {
name = "2014-lomiri-greeter-wrapper-on-wayland.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/e655e14c7d420021193e37debd3e7da620b45429/debian/patches/2014_lomiri-greeter-wrapper-on-wayland.patch";
hash = "sha256-aEId3UDqH1iUi9gV5IpW/5S5rke93UyZVr0jWlNYnOU=";
})
(fetchpatch {
name = "1001-lomiri-QT_QPA_PLATFORM-wayland.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2004_qt-qpa-platform-is-wayland.patch";
hash = "sha256-4C6X2TW+yjZhqYPIcQ3GJeTKbz785i7p/DpT+vX1DSQ=";
name = "2015-lomiri-greeter-use-wayland.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/2f5acfa085c901359bf6f6cccbce36d7e2981555/debian/patches/2015_lomiri-greeter-use-wayland.patch";
hash = "sha256-fnTEVQnOBQVd95ucs+iDMcQFOevfQ8dckQg0PrtL/A0=";
})
# Reduce desyncing of cursor
(fetchpatch {
name = "1002-lomiri-Fix-Lomiri-greeter.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/5f9d28fe6f0ba9ab7eed149b4da7f6b3f4eae55a/debian/patches/1008_lomiri-greeter-wayland.patch";
hash = "sha256-vuNTKWA50krtx/+XB2pMI271q57N+kqWlfq54gtf/HI=";
name = "1005-lomiri-cursor-always-follow-cursor-position-from-mir.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/f3ba943006f5469a8a7aa24f232d6383afb3bc74/debian/patches/1005_cursor-always-follow-cursor-position-from-mir.patch";
hash = "sha256-FYWRHt3//gm3jT9dr35tH4PlZssMMA/zBhjkszgqTYo=";
})
# Undo start-here integration & uglier colours for launcher
(fetchpatch {
name = "1004-lomiri-Dont-reset-OSK-setting.patch";
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2005_dont-reset-alwaysShowOsk-to-system-defaults-on-login.patch";
hash = "sha256-guq/Ykcq4WcuXxNKO1eA4sJFyGSpZo0gtyFTdeK/GeE=";
name = "0001-lomiri-LauncherPanel-Use-Lomiri-upstream-home-logo-and-home-background-color.patch";
url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/defaabfaf4818ee6b618c97b34acf5e0ed2ebb2e.patch";
hash = "sha256-9YRWMV+1UT+EQd9Uq1+6enNzz+HDlSt3LTPM1BKJxiE=";
})
./9901-lomiri-Disable-Wizard.patch
@@ -119,15 +136,11 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace tests/mocks/CMakeLists.txt \
--replace-fail 'add_subdirectory(QtMir/Application)' ""
# This needs to launch the *lomiri* indicators, now that datetime is split into lomiri and non-lomiri variants
# Seems like the Debian patch that added this didn't read the lightdm greeter entry properly, so everything gets passed twice
substituteInPlace data/lomiri-greeter.desktop.in.in \
--replace-fail 'lomiri-greeter-wrapper @CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' 'lomiri-greeter-wrapper'
substituteInPlace data/lomiri-greeter-wrapper \
--replace-fail 'ayatana-indicators.target' 'lomiri-indicators.target'
# NixOS-ify
# Use Nix flake instead of Canonical's Ubuntu logo
rm qml/Launcher/graphics/home.svg
ln -s ${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg qml/Launcher/graphics/home.svg
--replace-fail 'LOMIRI_BINARY:-lomiri' "LOMIRI_BINARY:-$out/bin/lomiri"
# Look up default wallpaper in current system
substituteInPlace plugins/Utils/constants.cpp \
@@ -0,0 +1,51 @@
{
lib,
runCommand,
glib,
lomiri-schemas,
lomiri-wallpapers,
nixos-icons,
writeText,
extraGSettingsOverrides ? "",
extraGSettingsOverridePackages ? [ ],
nixos-artwork,
}:
let
# Overriding the background picture should be possible, but breaks within the VM tests.
# It results in either a grey background (prolly indicating an error somewhere)
# or hangs the session (also happens when using LSS, which sets it via AccountsService).
#
# So we can only override the launcher button details.
# Button colour: https://github.com/NixOS/nixos-artwork/blob/51a27e4a011e95cb559e37d32c44cf89b50f5154/logo/README.md#colours
gsettingsOverrides = writeText "lomiri-gschema-overrides" ''
[com.lomiri.Shell.Launcher]
logo-picture-uri='file://${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg'
home-button-background-color='#5277C3'
${extraGSettingsOverrides}
'';
gsettingsOverridePackages = [
lomiri-schemas
] ++ extraGSettingsOverridePackages;
in
runCommand "lomiri-gsettings-overrides" { preferLocalBuild = true; } ''
dataDir="$out/share/gsettings-schemas/nixos-gsettings-overrides"
schemaDir="$dataDir/glib-2.0/schemas"
mkdir -p "$schemaDir"
${lib.strings.concatMapStringsSep "\n" (
pkg:
"cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schemaDir\""
) gsettingsOverridePackages}
chmod -R a+w "$dataDir"
cp --no-preserve=mode "${gsettingsOverrides}" "$schemaDir/zz-nixos-defaults.gschema.override"
${lib.getExe' glib.dev "glib-compile-schemas"} --strict "$schemaDir" | tee gcs.log
if grep 'No schema files found' gcs.log >/dev/null; then
exit 1
fi
''
+1
View File
@@ -31,6 +31,7 @@ let
teleports = callPackage ./applications/teleports { };
#### Data
lomiri-gsettings-overrides = callPackage ./data/lomiri-gsettings-overrides { };
lomiri-schemas = callPackage ./data/lomiri-schemas { };
lomiri-session = callPackage ./data/lomiri-session { };
lomiri-sounds = callPackage ./data/lomiri-sounds { };
+1
View File
@@ -117,6 +117,7 @@ import ./default.nix
aarch64-unknown-linux-musl = "9ccb8f16656d2d4e412553ebaf13489198b915519873752dcebb886de50063c6";
x86_64-apple-darwin = "b36b0bfac17e0a1f6cc06b9fdc4e2131ad578b4122a67792236b58650ae4c5c8";
aarch64-apple-darwin = "dee921b9a41b1c3fbb088ad31dcca3b232de2cb89c268db75f40912eeaa474db";
powerpc64-unknown-linux-gnu = "b56e903c6e4d661b6025d45b2675c31d513db207dbd85929c1a25473129275e3";
powerpc64le-unknown-linux-gnu = "e1f16b2885237695f3cce7fc2f0128a938fc07462b076cb61bd2f06e5f8baf38";
riscv64gc-unknown-linux-gnu = "6a72741671555fad7ffaceeaa32510c877438087ae71901ccf4a2b03a76c8439";
s390x-unknown-linux-gnu = "498ec8be66b2c6d8bc77dd06e226d3cc7448bc508ebb9f6d7650db79350d0cb7";
@@ -17,6 +17,7 @@ PLATFORMS=(
aarch64-unknown-linux-musl
x86_64-apple-darwin
aarch64-apple-darwin
powerpc64-unknown-linux-gnu
powerpc64le-unknown-linux-gnu
riscv64gc-unknown-linux-gnu
s390x-unknown-linux-gnu
@@ -9,7 +9,7 @@
(mkCoqDerivation {
pname = "bignums";
owner = "coq";
owner = "rocq-community";
inherit version;
defaultVersion =
let
@@ -17,11 +17,12 @@
in
with lib.versions;
lib.switch coq.coq-version [
(case (range "9.0" "9.0") "9.0.0+rocq${coq.coq-version}")
(case (range "9.0" "9.1") "9.0.0+rocq${coq.coq-version}")
(case (range "8.13" "8.20") "9.0.0+coq${coq.coq-version}")
(case (range "8.6" "8.17") "${coq.coq-version}.0")
] null;
release."9.0.0+rocq9.1".sha256 = "sha256-MSjlfJs3JOakuShOj+isNlus0bKlZ+rkvzRoKZQK5RQ=";
release."9.0.0+rocq9.0".sha256 = "sha256-ctnwpyNVhryEUA5YEsAImrcJsNMhtBgDSOz+z5Z4R78=";
release."9.0.0+coq8.20".sha256 = "sha256-pkvyDaMXRalc6Uu1eBTuiqTpRauRrzu946c6TavyTKY=";
release."9.0.0+coq8.19".sha256 = "sha256-02uL+qWbUveHe67zKfc8w3U0iN3X2DKBsvP3pKpW8KQ=";
@@ -0,0 +1,45 @@
{
lib,
mkCoqDerivation,
coq,
mathcomp-algebra,
stdlib,
version ? null,
}:
mkCoqDerivation {
pname = "fcsl-pcm";
owner = "imdea-software";
inherit version;
defaultVersion =
let
case = coq: mc: out: {
cases = [
coq
mc
];
inherit out;
};
in
with lib.versions;
lib.switch
[ coq.coq-version mathcomp-algebra.version ]
[
(case (range "9.0" "9.0") (range "2.4.0" "2.4.0") "2.2.0")
]
null;
release."2.2.0".sha256 = "sha256-VnfK+RHWiq27hxEJ9stpVp609/dMiPH6UHFhzaHdAnM=";
releaseRev = v: "v${v}";
propagatedBuildInputs = [
mathcomp-algebra
stdlib
];
meta = with lib; {
description = "Coq library of Partial Commutative Monoids";
license = licenses.asl20;
maintainers = [ maintainers.proux01 ];
};
}
@@ -16,6 +16,7 @@ let
repo = "analysis";
owner = "math-comp";
release."1.12.0".sha256 = "sha256-PF10NlZ+aqP3PX7+UsZwgJT9PEaDwzvrS/ZGzjP64Wo=";
release."1.11.0".sha256 = "sha256-1apbzBvaLNw/8ARLUhGGy89CyXW+/6O4ckdxKPraiVc=";
release."1.9.0".sha256 = "sha256-zj7WSDUg8ISWxcipGpjEwvvnLp1g8nm23BZiib/15+g=";
release."1.8.0".sha256 = "sha256-2ZafDmZAwGB7sxdUwNIE3xvwBRw1kFDk0m5Vz+onWZc=";
@@ -57,7 +58,7 @@ let
lib.switch
[ coq.coq-version mathcomp.version ]
[
(case (range "8.20" "9.0") (range "2.1.0" "2.4.0") "1.11.0")
(case (range "8.20" "9.0") (range "2.1.0" "2.4.0") "1.12.0")
(case (range "8.19" "8.20") (range "2.1.0" "2.3.0") "1.9.0")
(case (range "8.17" "8.20") (range "2.0.0" "2.2.0") "1.1.0")
(case (range "8.17" "8.19") (range "1.17.0" "1.19.0") "0.7.0")
@@ -32,7 +32,8 @@
lib.switch
[ coq.coq-version mathcomp-analysis.version ]
[
(case (range "8.20" "8.20") (isGe "1.10") "0.9.3")
(case (range "8.20" "8.20") (isGe "1.12") "0.9.4")
(case (range "8.19" "8.20") (range "1.10" "1.11") "0.9.3")
(case (range "8.19" "8.20") (isGe "1.9") "0.9.1")
(case (range "8.19" "8.20") (isGe "1.7") "0.7.7")
(case (range "8.19" "8.20") (isGe "1.7") "0.7.5")
@@ -44,6 +45,7 @@
(case (range "8.15" "8.16") (range "0.5.4" "0.6.5") "0.5.1")
]
null;
release."0.9.4".sha256 = "sha256-btHOBNMdXvlG2jxC04+4qmIjeyuaqtyugm2Ruj3lQr8=";
release."0.9.3".sha256 = "sha256-8+cnVKNAvZ3MVV3BpS8UmCIxJphsQRBv3swek1eEBjE=";
release."0.9.1".sha256 = "sha256-WI20HxMHr1ZUwOGPIUl+nRI8TxVUa2+F1xcGjRDHO9g=";
release."0.7.7".sha256 = "sha256-kEbpMl7U+I2kvqi1VrjhIVFkZFO6h0tTHEUZRbHYG7E=";
@@ -19,7 +19,7 @@
in
with lib.versions;
lib.switch coq.coq-version [
(case (isLe "9.0") "9.0.0")
(case (isLe "9.1") "9.0.0")
# the < 9.0 above is artificial as stdlib was included in Coq before
] null;
releaseRev = v: "V${v}";
@@ -0,0 +1,53 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
matplotlib,
numpy,
numpydoc,
pytest,
scipy,
pythonOlder,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "allantools";
version = "2024.06";
pyproject = true;
src = fetchFromGitHub {
owner = "aewallin";
repo = "allantools";
tag = version;
hash = "sha256-dF19aSpIioOm0BnwrLkMe/DtfgWSKFnX4c/Xs1O2Quw=";
};
build-system = [
hatchling
];
dependencies = [
matplotlib
numpy
numpydoc
pytest
scipy
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"allantools"
];
meta = {
description = "Allan deviation and related time & frequency statistics library in Python";
homepage = "https://github.com/aewallin/allantools";
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [ kiranshila ];
};
}
@@ -12,6 +12,7 @@
numpy,
scipy,
colorama,
packaging,
# tests
jupyter,
@@ -23,14 +24,14 @@
buildPythonPackage rec {
pname = "bayesian-optimization";
version = "2.0.4";
version = "3.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "bayesian-optimization";
repo = "BayesianOptimization";
tag = "v${version}";
hash = "sha256-F1+M5znfI7lHGJRRTgmQxrLTYZmLc90Q0TCvpRoSVTU=";
hash = "sha256-ruMxuMTXVpS5oaZk994xIjgUnhpybrvhvy69nvU5feE=";
};
build-system = [ poetry-core ];
@@ -40,6 +41,7 @@ buildPythonPackage rec {
numpy
scipy
colorama
packaging
];
nativeCheckInputs = [
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "globus-sdk";
version = "3.57.0";
version = "3.59.0";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "globus";
repo = "globus-sdk-python";
tag = version;
hash = "sha256-pwAr8Z8Qoc+LjRtF2NRu4lAN/7ha7jogw1RnDhuobZs=";
hash = "sha256-95CcuKCGjFezFpz7UJaA/j9ubFNaNkDQsPnwrt1ZyvA=";
};
build-system = [ setuptools ];
@@ -30,10 +30,10 @@ buildPythonPackage rec {
patches = [
# fixes support for numpy 2.x, the PR is not yet merged https://github.com/telegraphic/hickle/pull/186
# FIXME: Remove this patch when the numpy 2.x support arrives
(fetchpatch {
url = "https://github.com/cjwatson/hickle/commit/246d8e82c805e2e49ea0abd39abc9b2d800bde59.patch";
hash = "sha256-IEVw2K7S1nCkzgn9q0xghm4brfXcallNjzXpt2cRq1M=";
})
./numpy-2.x-support.patch
# fixes test failing with numpy 2.3 as ndarray.tostring was deleted
# FIXME: delete once https://github.com/telegraphic/hickle/pull/187 is merged
./numpy-2.3-ndarray-tostring.patch
];
build-system = [ setuptools ];
@@ -0,0 +1,33 @@
From 7a0d0e625dd9e92159a145a26dd68ef3b61fde6e Mon Sep 17 00:00:00 2001
From: Sergey Volkov <taranarmo@gmail.com>
Date: Sun, 29 Jun 2025 10:54:00 +0200
Subject: [PATCH] replace `ndarray.tostring` with `ndarray.tobytes`
`ndarray.tostring` is deprecated since numpy 1.19 and removed in numpy 2.3
https://numpy.org/doc/stable/release/2.3.0-notes.html
---
hickle/tests/test_06_load_astropy.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hickle/tests/test_06_load_astropy.py b/hickle/tests/test_06_load_astropy.py
index 628a4b3..b630bfd 100755
--- a/hickle/tests/test_06_load_astropy.py
+++ b/hickle/tests/test_06_load_astropy.py
@@ -166,7 +166,7 @@ def test_astropy_time_array(h5_data,compression_kwargs):
assert reloaded.format == t1.format
assert reloaded.scale == t1.scale
for index in range(len(t1)):
- assert reloaded.value[index].tostring() == t1.value[index].tostring()
+ assert reloaded.value[index].tobytes() == t1.value[index].tobytes()
del h_dataset.attrs['np_dtype']
reloaded = load_astropy.load_astropy_time_dataset(h_dataset,b'astropy_time',t1.__class__)
@@ -174,7 +174,7 @@ def test_astropy_time_array(h5_data,compression_kwargs):
assert reloaded.format == t1.format
assert reloaded.scale == t1.scale
for index in range(len(t1)):
- assert reloaded.value[index].tostring() == t1.value[index].tostring()
+ assert reloaded.value[index].tobytes() == t1.value[index].tobytes()
loop_counter += 1
@@ -0,0 +1,92 @@
From 246d8e82c805e2e49ea0abd39abc9b2d800bde59 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Mon, 3 Feb 2025 15:28:10 +0000
Subject: [PATCH] Support numpy 2.0
See: https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword
---
hickle/legacy_v3/loaders/load_numpy.py | 2 +-
hickle/loaders/load_builtins.py | 4 ++--
hickle/loaders/load_numpy.py | 2 +-
hickle/tests/test_02_hickle_lookup.py | 6 +++---
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/hickle/legacy_v3/loaders/load_numpy.py b/hickle/legacy_v3/loaders/load_numpy.py
index 0fd6c0a4..d17044bc 100644
--- a/hickle/legacy_v3/loaders/load_numpy.py
+++ b/hickle/legacy_v3/loaders/load_numpy.py
@@ -115,7 +115,7 @@ def load_np_scalar_dataset(h_node):
def load_ndarray_dataset(h_node):
py_type, data = get_type_and_data(h_node)
- return np.array(data, copy=False)
+ return np.asarray(data)
def load_ndarray_masked_dataset(h_node):
py_type, data = get_type_and_data(h_node)
diff --git a/hickle/loaders/load_builtins.py b/hickle/loaders/load_builtins.py
index 7cfbf281..53b74429 100644
--- a/hickle/loaders/load_builtins.py
+++ b/hickle/loaders/load_builtins.py
@@ -170,7 +170,7 @@ def create_listlike_dataset(py_obj, h_group, name,list_len = -1,item_dtype = Non
# strings and bytes are stored as array of bytes with strings encoded
# using utf8 encoding
string_data = bytearray(py_obj,"utf8") if isinstance(py_obj,str) else memoryview(py_obj)
- string_data = np.array(string_data,copy=False)
+ string_data = np.asarray(string_data)
string_data.dtype = 'S1'
dataset = h_group.create_dataset( name, data = string_data,shape = (1,string_data.size), **kwargs)
dataset.attrs["str_type"] = py_obj.__class__.__name__.encode("ascii")
@@ -385,7 +385,7 @@ def load_list_dataset(h_node,base_type,py_obj_type):
if h_node.dtype.itemsize > 1 and 'bytes' in h_node.dtype.name:
# string dataset 4.0.x style convert it back to python string
- content = np.array(content, copy=False, dtype=str).tolist()
+ content = np.asarray(content, dtype=str).tolist()
else:
# decode bytes representing python string before final conversion
diff --git a/hickle/loaders/load_numpy.py b/hickle/loaders/load_numpy.py
index a4c76e91..bff98187 100644
--- a/hickle/loaders/load_numpy.py
+++ b/hickle/loaders/load_numpy.py
@@ -232,7 +232,7 @@ def load_ndarray_dataset(h_node,base_type,py_obj_type):
# not converted to list of string but saved as ar consequently
# itemsize of dtype is > 1
string_data = bytes(string_data).decode("utf8")
- return np.array(string_data,copy=False,dtype=dtype)
+ return np.asarray(string_data,dtype=dtype)
if issubclass(py_obj_type,np.matrix):
return py_obj_type(data=h_node[()],dtype=dtype)
# TODO how to restore other ndarray derived object_types
diff --git a/hickle/tests/test_02_hickle_lookup.py b/hickle/tests/test_02_hickle_lookup.py
index 628a2b12..dd91ffd1 100644
--- a/hickle/tests/test_02_hickle_lookup.py
+++ b/hickle/tests/test_02_hickle_lookup.py
@@ -816,7 +816,7 @@ def test_ReferenceManager_get_root(h5_data):
content = data_group.create_dataset('mydata',data=12)
type_table = root_group.create_group('hickle_types_table')
int_pickle_string = bytearray(pickle.dumps(int))
- int_np_entry = np.array(int_pickle_string,copy=False)
+ int_np_entry = np.asarray(int_pickle_string)
int_np_entry.dtype = 'S1'
int_entry = type_table.create_dataset(str(len(type_table)),data = int_np_entry,shape =(1,int_np_entry.size))
int_base_type = b'int'
@@ -878,7 +878,7 @@ def test_ReferenceManager(h5_data):
with pytest.raises(lookup.ReferenceError):
reference_manager = lookup.ReferenceManager(false_root)
int_pickle_string = bytearray(pickle.dumps(int))
- int_np_entry = np.array(int_pickle_string,copy=False)
+ int_np_entry = np.asarray(int_pickle_string)
int_np_entry.dtype = 'S1'
int_entry = type_table.create_dataset(str(len(type_table)),data = int_np_entry,shape =(1,int_np_entry.size))
int_base_type = b'int'
@@ -1052,7 +1052,7 @@ def test_ReferenceManager_store_type(h5_data,compression_kwargs):
@pytest.mark.no_compression
def test_ReferenceManager_get_manager(h5_data):
h_node = h5_data.create_group('some_list')
- item_data = np.array(memoryview(b'hallo welt lore grueszet dich ipsum aus der lore von ipsum gelort in ipsum'),copy=False)
+ item_data = np.asarray(memoryview(b'hallo welt lore grueszet dich ipsum aus der lore von ipsum gelort in ipsum'))
item_data.dtype = 'S1'
h_item = h_node.create_dataset('0',data=item_data,shape=(1,item_data.size))
with lookup.ReferenceManager.create_manager(h5_data) as memo:
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "lizard";
version = "1.17.30";
version = "1.17.31";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "terryyin";
repo = "lizard";
rev = version;
hash = "sha256-yXiRbC85IeeNR8rWSqLTQD9qy2CzAhlDD7YeTm5Vj9c=";
hash = "sha256-8lu4EknyAI+gn7GOSo13RRHNogpZdgxJ9fTvy7NyIsM=";
};
propagatedBuildInputs = [
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "millheater";
version = "0.12.5";
version = "012.2";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "Danielhiversen";
repo = "pymill";
tag = version; # https://github.com/Danielhiversen/pymill/issues/87
hash = "sha256-DGMG6LabfKGmQ6MDm/skqeQuOhSlr1ssZ2Z7fItzOt0=";
hash = "sha256-tR6MZIgCazGcXRIaSXyDYIEp+kD6xyrpOXORbi8LV7E=";
};
build-system = [ setuptools ];
@@ -9,12 +9,12 @@
buildPythonPackage rec {
pname = "pycollada";
version = "0.9";
version = "0.9.2";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-gk9ugJ5RDWSbWYSm6o5hTOXPJwyB6rb76q8K5x3mpq8=";
hash = "sha256-fKEiZ74KK5PkldYDbmsnQCOpRX3tZBlU6wxHDv4VPW4=";
};
build-system = [
@@ -0,0 +1,49 @@
{
lib,
buildPythonPackage,
fetchPypi,
pythonOlder,
setuptools,
aiohttp,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "pyforked-daapd";
version = "0.1.14";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-v1NOlwP8KtBsQiqwbx1y8p8lABEuEJdNhvR2kGzLxKs=";
};
build-system = [
setuptools
];
dependencies = [
aiohttp
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"pyforked_daapd"
];
# Tests require a running forked-daapd server
doCheck = false;
meta = with lib; {
description = "Python interface for forked-daapd";
homepage = "https://github.com/uvjustin/pyforked-daapd";
changelog = "https://github.com/uvjustin/pyforked-daapd/blob/v${version}/CHANGES.txt";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "pynetdicom";
version = "3.0.2";
version = "3.0.3";
pyproject = true;
src = fetchFromGitHub {
owner = "pydicom";
repo = "pynetdicom";
tag = "v${version}";
hash = "sha256-0ylx0EMPfvXxT7kQJYK+gsAFb/bkfRPDiC7Z7s/PvTk=";
hash = "sha256-CiCP5H0RVbbeNQKO/GpP/hZ6nBE5Q9Wp+/b/wHehIpA=";
};
build-system = [ flit-core ];
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "python-gitlab";
version = "6.0.0";
version = "6.1.0";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "python_gitlab";
inherit version;
hash = "sha256-cEv1SMJY8c/i8JuOzprxzI+mroKKxv5qHL6VfJhDFBQ=";
hash = "sha256-Bi1pQ2mbCbzkD3J/DQkGoLJUykVVk/gXRbsaNSU17nc=";
};
build-system = [ setuptools ];
@@ -1,20 +1,11 @@
From 2751c5de5c61c90b56e3e392a41847f4c47258fd Mon Sep 17 00:00:00 2001
From: SomeoneSerge <else+aalto@someonex.net>
Date: Sun, 13 Oct 2024 14:16:48 +0000
Subject: [PATCH 1/3] _build: allow extra cc flags
---
python/triton/runtime/build.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/python/triton/runtime/build.py b/python/triton/runtime/build.py
index d7baeb286..d334dce77 100644
index 1b76548d4..2756dccdb 100644
--- a/python/triton/runtime/build.py
+++ b/python/triton/runtime/build.py
@@ -42,9 +42,17 @@ def _build(name, src, srcdir, library_dirs, include_dirs, libraries):
py_include_dir = sysconfig.get_paths(scheme=scheme)["include"]
include_dirs = include_dirs + [srcdir, py_include_dir]
cc_cmd = [cc, src, "-O3", "-shared", "-fPIC", "-o", so]
@@ -33,5 +33,13 @@ def _build(name, src, srcdir, library_dirs, include_dirs, libraries):
cc_cmd += [f'-l{lib}' for lib in libraries]
cc_cmd += [f"-L{dir}" for dir in library_dirs]
cc_cmd += [f"-I{dir}" for dir in include_dirs if dir is not None]
+
+ # Nixpkgs support branch
+ # Allows passing e.g. extra -Wl,-rpath
@@ -23,13 +14,5 @@ index d7baeb286..d334dce77 100644
+ import shlex
+ cc_cmd.extend(shlex.split(cc_cmd_extra_flags))
+
cc_cmd += [f'-l{lib}' for lib in libraries]
cc_cmd += [f"-L{dir}" for dir in library_dirs]
- cc_cmd += [f"-I{dir}" for dir in include_dirs]
+ cc_cmd += [f"-I{dir}" for dir in include_dirs if dir is not None]
ret = subprocess.check_call(cc_cmd)
if ret == 0:
return so
--
2.46.0
subprocess.check_call(cc_cmd, stdout=subprocess.DEVNULL)
return so
@@ -1,64 +0,0 @@
From 587d1f3428eca63544238802f19e0be670d03244 Mon Sep 17 00:00:00 2001
From: SomeoneSerge <else@someonex.net>
Date: Mon, 29 Jul 2024 14:31:11 +0000
Subject: [PATCH] setup.py: introduce TRITON_OFFLINE_BUILD
To prevent any vendoring whatsoever
---
python/setup.py | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/python/setup.py b/python/setup.py
index 73800ec40..4e5b04de4 100644
--- a/python/setup.py
+++ b/python/setup.py
@@ -112,6 +112,20 @@ def get_env_with_keys(key: list):
return os.environ[k]
return ""
+def is_offline_build() -> bool:
+ """
+ Downstream projects and distributions which bootstrap their own dependencies from scratch
+ and run builds in offline sandboxes
+ may set `TRITON_OFFLINE_BUILD` in the build environment to prevent any attempts at downloading
+ pinned dependencies from the internet or at using dependencies vendored in-tree.
+
+ Dependencies must be defined using respective search paths (cf. `syspath_var_name` in `Package`).
+ Missing dependencies lead to an early abortion.
+ Dependencies' compatibility is not verified.
+
+ Note that this flag isn't tested by the CI and does not provide any guarantees.
+ """
+ return os.environ.get("TRITON_OFFLINE_BUILD", "") != ""
# --- third party packages -----
@@ -220,8 +234,14 @@ def get_thirdparty_packages(packages: list):
if os.environ.get(p.syspath_var_name):
package_dir = os.environ[p.syspath_var_name]
version_file_path = os.path.join(package_dir, "version.txt")
- if p.syspath_var_name not in os.environ and\
- (not os.path.exists(version_file_path) or Path(version_file_path).read_text() != p.url):
+
+ input_defined = p.syspath_var_name not in os.environ
+ input_exists = input_defined and os.path.exists(version_file_path)
+ input_compatible = input_exists and Path(version_file_path).read_text() == p.url
+
+ if is_offline_build() and not input_defined:
+ raise RuntimeError(f"Requested an offline build but {p.syspath_var_name} is not set")
+ if not is_offline_build() and not input_compatible:
with contextlib.suppress(Exception):
shutil.rmtree(package_root_dir)
os.makedirs(package_root_dir, exist_ok=True)
@@ -245,6 +265,8 @@ def get_thirdparty_packages(packages: list):
def download_and_copy(name, src_path, variable, version, url_func):
+ if is_offline_build():
+ return
triton_cache_path = get_triton_cache_path()
if variable in os.environ:
return
--
2.45.1
@@ -1,50 +1,11 @@
From 7407cb03eec82768e333909d87b7668b633bfe86 Mon Sep 17 00:00:00 2001
From: SomeoneSerge <else+aalto@someonex.net>
Date: Sun, 13 Oct 2024 14:28:48 +0000
Subject: [PATCH 2/3] {nvidia,amd}/driver: short-circuit before ldconfig
---
python/triton/runtime/build.py | 6 +++---
third_party/amd/backend/driver.py | 7 +++++++
third_party/nvidia/backend/driver.py | 3 +++
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/python/triton/runtime/build.py b/python/triton/runtime/build.py
index d334dce77..a64e98da0 100644
--- a/python/triton/runtime/build.py
+++ b/python/triton/runtime/build.py
@@ -42,6 +42,9 @@ def _build(name, src, srcdir, library_dirs, include_dirs, libraries):
py_include_dir = sysconfig.get_paths(scheme=scheme)["include"]
include_dirs = include_dirs + [srcdir, py_include_dir]
cc_cmd = [cc, src, "-O3", "-shared", "-fPIC", "-o", so]
+ cc_cmd += [f'-l{lib}' for lib in libraries]
+ cc_cmd += [f"-L{dir}" for dir in library_dirs]
+ cc_cmd += [f"-I{dir}" for dir in include_dirs if dir is not None]
# Nixpkgs support branch
# Allows passing e.g. extra -Wl,-rpath
@@ -50,9 +53,6 @@ def _build(name, src, srcdir, library_dirs, include_dirs, libraries):
import shlex
cc_cmd.extend(shlex.split(cc_cmd_extra_flags))
- cc_cmd += [f'-l{lib}' for lib in libraries]
- cc_cmd += [f"-L{dir}" for dir in library_dirs]
- cc_cmd += [f"-I{dir}" for dir in include_dirs if dir is not None]
ret = subprocess.check_call(cc_cmd)
if ret == 0:
return so
diff --git a/third_party/amd/backend/driver.py b/third_party/amd/backend/driver.py
index 0a8cd7bed..aab8805f6 100644
index ca712f904..0961d2dda 100644
--- a/third_party/amd/backend/driver.py
+++ b/third_party/amd/backend/driver.py
@@ -24,6 +24,13 @@ def _get_path_to_hip_runtime_dylib():
return env_libhip_path
raise RuntimeError(f"TRITON_LIBHIP_PATH '{env_libhip_path}' does not point to a valid {lib_name}")
@@ -79,6 +79,9 @@ def _get_path_to_hip_runtime_dylib():
return mmapped_path
raise RuntimeError(f"memory mapped '{mmapped_path}' in process does not point to a valid {lib_name}")
+ # ...on release/3.1.x:
+ # return mmapped_path
+ # raise RuntimeError(f"memory mapped '{mmapped_path}' in process does not point to a valid {lib_name}")
+
+ if os.path.isdir("@libhipDir@"):
+ return ["@libhipDir@"]
+
@@ -52,10 +13,10 @@ index 0a8cd7bed..aab8805f6 100644
import site
diff --git a/third_party/nvidia/backend/driver.py b/third_party/nvidia/backend/driver.py
index 90f71138b..30fbadb2a 100644
index d088ec092..625de2db8 100644
--- a/third_party/nvidia/backend/driver.py
+++ b/third_party/nvidia/backend/driver.py
@@ -21,6 +21,9 @@ def libcuda_dirs():
@@ -23,6 +23,9 @@ def libcuda_dirs():
if env_libcuda_path:
return [env_libcuda_path]
@@ -65,6 +26,3 @@ index 90f71138b..30fbadb2a 100644
libs = subprocess.check_output(["/sbin/ldconfig", "-p"]).decode()
# each line looks like the following:
# libcuda.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libcuda.so.1
--
2.46.0
@@ -1,26 +1,14 @@
From e503e572b6d444cd27f1cdf124aaf553aa3a8665 Mon Sep 17 00:00:00 2001
From: SomeoneSerge <else+aalto@someonex.net>
Date: Mon, 14 Oct 2024 00:12:05 +0000
Subject: [PATCH 4/4] nvidia: allow static ptxas path
---
third_party/nvidia/backend/compiler.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/third_party/nvidia/backend/compiler.py b/third_party/nvidia/backend/compiler.py
index 6d7994923..6720e8f97 100644
index 960334744..269e22e6e 100644
--- a/third_party/nvidia/backend/compiler.py
+++ b/third_party/nvidia/backend/compiler.py
@@ -20,6 +20,9 @@ def _path_to_binary(binary: str):
@@ -38,6 +38,9 @@ def _path_to_binary(binary: str):
os.path.join(os.path.dirname(__file__), "bin", binary),
]
+ import shlex
+ paths.extend(shlex.split("@nixpkgsExtraBinaryPaths@"))
+
for bin in paths:
if os.path.exists(bin) and os.path.isfile(bin):
result = subprocess.check_output([bin, "--version"], stderr=subprocess.STDOUT)
--
2.46.0
for path in paths:
if os.path.exists(path) and os.path.isfile(path):
result = subprocess.check_output([path, "--version"], stderr=subprocess.STDOUT)
@@ -16,6 +16,7 @@
pybind11,
python,
pytestCheckHook,
writableTmpDirAsHomeHook,
stdenv,
replaceVars,
setuptools,
@@ -27,22 +28,21 @@
triton,
}:
buildPythonPackage {
buildPythonPackage rec {
pname = "triton";
version = "3.1.0";
version = "3.3.1";
pyproject = true;
# Remember to bump triton-llvm as well!
src = fetchFromGitHub {
owner = "triton-lang";
repo = "triton";
# latest branch commit from https://github.com/triton-lang/triton/commits/release/3.1.x/
rev = "cf34004b8a67d290a962da166f5aa2fc66751326";
hash = "sha256-233fpuR7XXOaSKN+slhJbE/CMFzAqCRCE4V4rIoJZrk=";
tag = "v${version}";
hash = "sha256-XLw7s5K0j4mfIvNMumlHkUpklSzVSTRyfGazZ4lLpn0=";
};
patches =
[
./0001-setup.py-introduce-TRITON_OFFLINE_BUILD.patch
(replaceVars ./0001-_build-allow-extra-cc-flags.patch {
ccCmdExtraFlags = "-Wl,-rpath,${addDriverRunpath.driverLink}/lib";
})
@@ -65,24 +65,15 @@ buildPythonPackage {
# Use our `cmakeFlags` instead and avoid downloading dependencies
# remove any downloads
substituteInPlace python/setup.py \
--replace-fail "get_json_package_info(), get_pybind11_package_info()" ""\
--replace-fail "get_pybind11_package_info(), get_llvm_package_info()" ""\
--replace-fail 'packages += ["triton/profiler"]' ""\
--replace-fail "curr_version != version" "False"
--replace-fail "[get_json_package_info()]" "[]"\
--replace-fail "[get_llvm_package_info()]" "[]"\
--replace-fail 'packages += ["triton/profiler"]' "pass"\
--replace-fail "curr_version.group(1) != version" "False"
# Don't fetch googletest
substituteInPlace unittest/CMakeLists.txt \
--replace-fail "include (\''${CMAKE_CURRENT_SOURCE_DIR}/googletest.cmake)" ""\
substituteInPlace cmake/AddTritonUnitTest.cmake \
--replace-fail "include(\''${PROJECT_SOURCE_DIR}/unittest/googletest.cmake)" ""\
--replace-fail "include(GoogleTest)" "find_package(GTest REQUIRED)"
# Patch the source code to make sure it doesn't specify a non-existent PTXAS version.
# CUDA 12.6 (the current default/max) tops out at PTXAS version 8.5.
# NOTE: This is fixed in `master`:
# https://github.com/triton-lang/triton/commit/f48dbc1b106c93144c198fbf3c4f30b2aab9d242
substituteInPlace "$NIX_BUILD_TOP/$sourceRoot/third_party/nvidia/backend/compiler.py" \
--replace-fail \
'return 80 + minor' \
'return 80 + min(minor, 5)'
'';
build-system = [ setuptools ];
@@ -97,6 +88,9 @@ buildPythonPackage {
# because we only support cudaPackages on x86_64-linux atm
lit
llvm
# Upstream's setup.py tries to write cache somewhere in ~/
writableTmpDirAsHomeHook
];
buildInputs = [
@@ -125,9 +119,6 @@ buildPythonPackage {
# Ensure that the build process uses the requested number of cores
export MAX_JOBS="$NIX_BUILD_CORES"
# Upstream's setup.py tries to write cache somewhere in ~/
export HOME=$(mktemp -d)
# Upstream's github actions patch setup.cfg to write base-dir. May be redundant
echo "
[build_ext]
@@ -193,13 +184,15 @@ buildPythonPackage {
];
dontBuild = true;
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
writableTmpDirAsHomeHook
];
doCheck = true;
preCheck = ''
cd python/test/unit
export HOME=$TMPDIR
'';
checkPhase = "pytestCheckPhase";
@@ -8,7 +8,7 @@
mkRocqDerivation {
pname = "bignums";
owner = "coq";
owner = "rocq-community";
inherit version;
defaultVersion =
let
@@ -16,11 +16,12 @@ mkRocqDerivation {
in
with lib.versions;
lib.switch rocq-core.rocq-version [
(case (range "9.0" "9.0") "9.0.0+rocq${rocq-core.rocq-version}")
(case (range "9.0" "9.1") "9.0.0+rocq${rocq-core.rocq-version}")
] null;
release."9.0.0+rocq9.0".sha256 = "sha256-ctnwpyNVhryEUA5YEsAImrcJsNMhtBgDSOz+z5Z4R78=";
releaseRev = v: "${if lib.versions.isGe "9.0" v then "v" else "V"}${v}";
release."9.0.0+rocq9.1".sha256 = "sha256-MSjlfJs3JOakuShOj+isNlus0bKlZ+rkvzRoKZQK5RQ=";
releaseRev = v: "v${v}";
mlPlugin = true;
@@ -8,7 +8,7 @@ mkRocqDerivation {
pname = "stdlib";
repo = "stdlib";
owner = "coq";
owner = "rocq-prover";
opam-name = "rocq-stdlib";
inherit version;
@@ -18,7 +18,7 @@ mkRocqDerivation {
in
with lib.versions;
lib.switch rocq-core.version [
(case (isEq "9.0") "9.0.0")
(case (range "9.0" "9.1") "9.0.0")
] null;
releaseRev = v: "V${v}";
@@ -29,7 +29,6 @@
{
lib,
cargo-pgrx,
pkg-config,
rustPlatform,
stdenv,
@@ -64,6 +63,8 @@ lib.extendMkDerivation {
buildFeatures ? [ ],
cargoBuildFlags ? [ ],
cargoPgrxFlags ? [ ],
# pinned dependencies
cargo-pgrx,
postgresql,
# cargo-pgrx calls rustfmt on generated bindings, this is not strictly necessary, so we avoid the
# dependency here. Set to false and provide rustfmt in nativeBuildInputs, if you need it, e.g.
@@ -1,11 +1,9 @@
{
lib,
darwin,
fetchCrate,
lib,
openssl,
pkg-config,
rustPlatform,
stdenv,
}:
let
@@ -15,16 +13,16 @@ let
hash,
cargoHash,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage {
pname = "cargo-pgrx";
inherit version;
src = fetchCrate {
inherit version pname hash;
inherit version hash;
pname = "cargo-pgrx";
};
useFetchCargoVendor = true;
inherit cargoHash;
nativeBuildInputs = [
@@ -44,12 +42,12 @@ let
"--skip=command::schema::tests::test_parse_managed_postmasters"
];
meta = with lib; {
meta = {
description = "Build Postgres Extensions with Rust";
homepage = "https://github.com/pgcentralfoundation/pgrx";
changelog = "https://github.com/pgcentralfoundation/pgrx/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
happysalada
matthiasbeyer
];
@@ -64,12 +62,6 @@ in
cargoHash = "sha256-zYjqE7LZLnTaVxWAPWC1ncEjCMlrhy4THtgecB7wBYY=";
};
cargo-pgrx_0_12_5 = generic {
version = "0.12.5";
hash = "sha256-U2kF+qjQwMTaocv5f4p5y3qmPUsTzdvAp8mz9cn/COw=";
cargoHash = "sha256-CycwWvxYrHj7lmTiiNC1WdbFgrdlGr/M3qTN/N+7xQA=";
};
cargo-pgrx_0_12_6 = generic {
version = "0.12.6";
hash = "sha256-7aQkrApALZe6EoQGVShGBj0UIATnfOy2DytFj9IWdEA=";
@@ -81,4 +73,13 @@ in
hash = "sha256-oMToAhKkRiCyC8JYS0gmo/XX3QVcVtF5mUV0aQjd+p8=";
cargoHash = "sha256-RawGAQGtG2QVDCMbwjmUEaH6rDeRiBvvJsGCY8wySw0=";
};
# Default version for direct usage.
# Not to be used with buildPgrxExtension, where it should be pinned.
# When you make an extension use the latest version, *copy* this to a separate pinned attribute.
cargo-pgrx = generic {
version = "0.15.0";
hash = "sha256-sksRfNV6l8YbdI6fzrEtanpDVV4sh14JXLqYBydHwy0=";
cargoHash = "sha256-c+n1bJMO9254kT4e6exVNhlIouzkkzrRIOVzR9lZeg4=";
};
}
+1
View File
@@ -46,6 +46,7 @@
libopus
xorg.libXrandr
xorg.libXcursor
xorg.libXScrnSaver
];
postFixup = ''
+3 -3
View File
@@ -22,13 +22,13 @@ stdenv.mkDerivation {
nativeBuildInputs
postFixup
;
version = "0-unstable-2024-04-13";
version = "0-unstable-2025-06-25";
src = fetchFromGitHub {
owner = "fte-team";
repo = "fteqw";
rev = "1f9f3635f0aef3b2eed6b40e35fcf6223c6ad533";
hash = "sha256-AgTkkP8pT6yioIcVNpxmfCFF0M+7BGx3TXgQSkOgfPI=";
rev = "41f35720eda2d1e54d039975db28f46d68a963cb";
hash = "sha256-g8dKNRHAZvNfCT3ciDSyKJVqjENml39k26NqkP7sQvA=";
};
makeFlags = [
@@ -14,12 +14,12 @@ let
# kernel config in the xanmod version commit
variants = {
lts = {
version = "6.12.35";
hash = "sha256-cvpt18bGeTj6hcUnGLPGAHeWdWyRNh/NmXROBoRUhqw=";
version = "6.12.36";
hash = "sha256-F/vdX8vAKf2/70Kni1UPcx/XBNF1b9tcoyzV4+q2/rY=";
};
main = {
version = "6.15.4";
hash = "sha256-6c60l4bQm6zoWhFXD9KZObnIqV6gGFRt9EdKZmBAaq8=";
version = "6.15.5";
hash = "sha256-jw5l0nd7ClDwMLI6n3LmJ+0MprcgTlsHQKpsdX6hFZs=";
};
};
@@ -1827,9 +1827,10 @@
];
"forked_daapd" =
ps: with ps; [
pyforked-daapd
pylibrespot-java
spotifyaio
]; # missing inputs: pyforked-daapd
];
"fortios" =
ps: with ps; [
fortiosapi
@@ -7050,6 +7051,7 @@
"folder_watcher"
"foobot"
"forecast_solar"
"forked_daapd"
"foscam"
"freebox"
"freedns"
@@ -23,112 +23,106 @@ let
};
in
(buildPgrxExtension.override {
# Upstream only works with a fixed version of cargo-pgrx for each release,
# so we're pinning it here to avoid future incompatibility.
# See https://docs.vectorchord.ai/developers/development.html#set-up-development-environment, step 5
(buildPgrxExtension.override { rustPlatform = rustPlatform'; }) (finalAttrs: {
inherit postgresql;
cargo-pgrx = cargo-pgrx_0_12_0_alpha_1;
rustPlatform = rustPlatform';
})
(finalAttrs: {
inherit postgresql;
pname = "pgvecto-rs";
version = "0.3.0";
pname = "pgvecto-rs";
version = "0.3.0";
buildInputs = [ openssl ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
nativeBuildInputs = [ pkg-config ];
patches = [
# Tell the `c` crate to use the flags from the rust bindgen hook
(replaceVars ./0001-read-clang-flags-from-environment.diff {
clang = lib.getExe clang;
})
];
patches = [
# Tell the `c` crate to use the flags from the rust bindgen hook
(replaceVars ./0001-read-clang-flags-from-environment.diff {
clang = lib.getExe clang;
})
];
src = fetchFromGitHub {
owner = "tensorchord";
repo = "pgvecto.rs";
tag = "v${finalAttrs.version}";
hash = "sha256-X7BY2Exv0xQNhsS/GA7GNvj9OeVDqVCd/k3lUkXtfgE=";
};
src = fetchFromGitHub {
owner = "tensorchord";
repo = "pgvecto.rs";
tag = "v${finalAttrs.version}";
hash = "sha256-X7BY2Exv0xQNhsS/GA7GNvj9OeVDqVCd/k3lUkXtfgE=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-8otJ1uqGrCmlxAqvfAL3OjhBI4I6dAu6EoajstO46Sw=";
useFetchCargoVendor = true;
cargoHash = "sha256-8otJ1uqGrCmlxAqvfAL3OjhBI4I6dAu6EoajstO46Sw=";
# Set appropriate version on vectors.control, otherwise it won't show up on PostgreSQL
postPatch = ''
substituteInPlace ./vectors.control --subst-var-by CARGO_VERSION ${finalAttrs.version}
'';
# Set appropriate version on vectors.control, otherwise it won't show up on PostgreSQL
postPatch = ''
substituteInPlace ./vectors.control --subst-var-by CARGO_VERSION ${finalAttrs.version}
'';
# Include upgrade scripts in the final package
# https://github.com/tensorchord/pgvecto.rs/blob/v0.2.0/scripts/ci_package.sh#L6-L8
postInstall = ''
cp sql/upgrade/* $out/share/postgresql/extension/
'';
# Include upgrade scripts in the final package
# https://github.com/tensorchord/pgvecto.rs/blob/v0.2.0/scripts/ci_package.sh#L6-L8
postInstall = ''
cp sql/upgrade/* $out/share/postgresql/extension/
'';
env = {
# Needed to get openssl-sys to use pkg-config.
OPENSSL_NO_VENDOR = 1;
env = {
# Needed to get openssl-sys to use pkg-config.
OPENSSL_NO_VENDOR = 1;
# Bypass rust nightly features not being available on rust stable
RUSTC_BOOTSTRAP = 1;
};
# Bypass rust nightly features not being available on rust stable
RUSTC_BOOTSTRAP = 1;
};
# This crate does not have the "pg_test" feature
usePgTestCheckFeature = false;
# This crate does not have the "pg_test" feature
usePgTestCheckFeature = false;
passthru = {
updateScript = nix-update-script { };
tests.extension = postgresqlTestExtension {
inherit (finalAttrs) finalPackage;
postgresqlExtraSettings = ''
shared_preload_libraries='vectors'
'';
sql = ''
CREATE EXTENSION vectors;
passthru = {
updateScript = nix-update-script { };
tests.extension = postgresqlTestExtension {
inherit (finalAttrs) finalPackage;
postgresqlExtraSettings = ''
shared_preload_libraries='vectors'
'';
sql = ''
CREATE EXTENSION vectors;
CREATE TABLE items (
id bigserial PRIMARY KEY,
content text NOT NULL,
embedding vectors.vector(3) NOT NULL -- 3 dimensions
);
CREATE TABLE items (
id bigserial PRIMARY KEY,
content text NOT NULL,
embedding vectors.vector(3) NOT NULL -- 3 dimensions
);
INSERT INTO items (content, embedding) VALUES
('a fat cat sat on a mat and ate a fat rat', '[1, 2, 3]'),
('a fat dog sat on a mat and ate a fat rat', '[4, 5, 6]'),
('a thin cat sat on a mat and ate a thin rat', '[7, 8, 9]'),
('a thin dog sat on a mat and ate a thin rat', '[10, 11, 12]');
'';
asserts = [
{
query = "SELECT default_version FROM pg_available_extensions WHERE name = 'vectors'";
expected = "'${finalAttrs.version}'";
description = "Extension vectors has correct version.";
}
{
query = "SELECT COUNT(embedding) FROM items WHERE to_tsvector('english', content) @@ 'cat & rat'::tsquery";
expected = "2";
description = "Stores and returns vectors.";
}
];
};
};
meta = {
# Upstream removed support for PostgreSQL 13 on 0.3.0: https://github.com/tensorchord/pgvecto.rs/issues/343
broken =
(lib.versionOlder postgresql.version "14")
||
# PostgreSQL 17 support issue upstream: https://github.com/tensorchord/pgvecto.rs/issues/607
# Check after next package update.
lib.versionAtLeast postgresql.version "17" && finalAttrs.version == "0.3.0";
description = "Scalable, Low-latency and Hybrid-enabled Vector Search in Postgres";
homepage = "https://github.com/tensorchord/pgvecto.rs";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
diogotcorreia
esclear
INSERT INTO items (content, embedding) VALUES
('a fat cat sat on a mat and ate a fat rat', '[1, 2, 3]'),
('a fat dog sat on a mat and ate a fat rat', '[4, 5, 6]'),
('a thin cat sat on a mat and ate a thin rat', '[7, 8, 9]'),
('a thin dog sat on a mat and ate a thin rat', '[10, 11, 12]');
'';
asserts = [
{
query = "SELECT default_version FROM pg_available_extensions WHERE name = 'vectors'";
expected = "'${finalAttrs.version}'";
description = "Extension vectors has correct version.";
}
{
query = "SELECT COUNT(embedding) FROM items WHERE to_tsvector('english', content) @@ 'cat & rat'::tsquery";
expected = "2";
description = "Stores and returns vectors.";
}
];
};
})
};
meta = {
# Upstream removed support for PostgreSQL 13 on 0.3.0: https://github.com/tensorchord/pgvecto.rs/issues/343
broken =
(lib.versionOlder postgresql.version "14")
||
# PostgreSQL 17 support issue upstream: https://github.com/tensorchord/pgvecto.rs/issues/607
# Check after next package update.
lib.versionAtLeast postgresql.version "17" && finalAttrs.version == "0.3.0";
description = "Scalable, Low-latency and Hybrid-enabled Vector Search in Postgres";
homepage = "https://github.com/tensorchord/pgvecto.rs";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
diogotcorreia
esclear
];
};
})
@@ -7,13 +7,7 @@
postgresqlTestExtension,
}:
let
buildPgrxExtension' = buildPgrxExtension.override {
# Upstream only works with a fixed minor version of cargo-pgrx for each release.
cargo-pgrx = cargo-pgrx_0_12_6;
};
in
buildPgrxExtension' (finalAttrs: {
buildPgrxExtension (finalAttrs: {
pname = "pgvectorscale";
version = "0.7.0";
@@ -38,6 +32,7 @@ buildPgrxExtension' (finalAttrs: {
];
inherit postgresql;
cargo-pgrx = cargo-pgrx_0_12_6;
passthru.tests.extension = postgresqlTestExtension {
inherit (finalAttrs) finalPackage;
+2 -7
View File
@@ -7,14 +7,9 @@
postgresql,
util-linux,
}:
let
buildPgrxExtension' = buildPgrxExtension.override {
# Upstream only works with a fixed minor version of cargo-pgrx for each release.
cargo-pgrx = cargo-pgrx_0_12_6;
};
in
buildPgrxExtension' (finalAttrs: {
buildPgrxExtension (finalAttrs: {
inherit postgresql;
cargo-pgrx = cargo-pgrx_0_12_6;
pname = "pgx_ulid";
version = "0.2.0";
@@ -7,8 +7,9 @@
postgresql,
}:
(buildPgrxExtension.override { cargo-pgrx = cargo-pgrx_0_12_6; }) (finalAttrs: {
buildPgrxExtension (finalAttrs: {
inherit postgresql;
cargo-pgrx = cargo-pgrx_0_12_6;
pname = "timescaledb_toolkit";
version = "1.21.0";
@@ -12,12 +12,6 @@
stdenv,
}:
let
buildPgrxExtension' = buildPgrxExtension.override {
# Upstream only works with a fixed version of cargo-pgrx for each release,
# so we're pinning it here to avoid future incompatibility.
cargo-pgrx = cargo-pgrx_0_14_1;
};
# Follow upstream and use rust-jemalloc-sys on linux aarch64 and x86_64
# Additionally, disable init exec TLS, since it causes issues with postgres.
# https://github.com/tensorchord/VectorChord/blob/0.4.2/Cargo.toml#L43-L44
@@ -29,8 +23,9 @@ let
})
);
in
buildPgrxExtension' (finalAttrs: {
buildPgrxExtension (finalAttrs: {
inherit postgresql;
cargo-pgrx = cargo-pgrx_0_14_1;
pname = "vectorchord";
version = "0.4.2";
@@ -179,7 +179,7 @@ lib.makeExtensible (
nix_2_24 = commonAutoconf {
version = "2.24.15";
hash = "sha256-SthMCsj6POjawLnJq9+lj/UzObX9skaeN1UGmMZiwTY=";
hash = "sha256-GHqFHLxvRID2IEPUwIfRMp8epYQMFcvG9ogLzfWRbPc=";
self_attribute_name = "nix_2_24";
};
+5 -2
View File
@@ -5981,11 +5981,10 @@ with pkgs;
inherit (callPackages ../development/tools/rust/cargo-pgrx { })
cargo-pgrx_0_12_0_alpha_1
cargo-pgrx_0_12_5
cargo-pgrx_0_12_6
cargo-pgrx_0_14_1
cargo-pgrx
;
cargo-pgrx = cargo-pgrx_0_14_1;
buildPgrxExtension = callPackage ../development/tools/rust/cargo-pgrx/buildPgrxExtension.nix { };
opensmalltalk-vm = callPackage ../development/compilers/opensmalltalk-vm { };
@@ -15539,6 +15538,8 @@ with pkgs;
coq_8_20
coqPackages_9_0
coq_9_0
coqPackages_9_1
coq_9_1
coqPackages
coq
;
@@ -15552,6 +15553,8 @@ with pkgs;
mkRocqPackages
rocqPackages_9_0
rocq-core_9_0
rocqPackages_9_1
rocq-core_9_1
rocqPackages
rocq-core
;
+3
View File
@@ -102,6 +102,7 @@ let
equations = callPackage ../development/coq-modules/equations { };
ExtLib = callPackage ../development/coq-modules/ExtLib { };
extructures = callPackage ../development/coq-modules/extructures { };
fcsl-pcm = callPackage ../development/coq-modules/fcsl-pcm { };
flocq = callPackage ../development/coq-modules/flocq { };
fourcolor = callPackage ../development/coq-modules/fourcolor { };
gaia = callPackage ../development/coq-modules/gaia { };
@@ -311,6 +312,7 @@ rec {
coq_8_19 = mkCoq "8.19";
coq_8_20 = mkCoq "8.20";
coq_9_0 = mkCoq "9.0";
coq_9_1 = mkCoq "9.1";
coqPackages_8_5 = mkCoqPackages coq_8_5;
coqPackages_8_6 = mkCoqPackages coq_8_6;
@@ -329,6 +331,7 @@ rec {
coqPackages_8_19 = mkCoqPackages coq_8_19;
coqPackages_8_20 = mkCoqPackages coq_8_20;
coqPackages_9_0 = mkCoqPackages coq_9_0;
coqPackages_9_1 = mkCoqPackages coq_9_1;
coqPackages = recurseIntoAttrs coqPackages_9_0;
coq = coqPackages.coq;
+4
View File
@@ -609,6 +609,8 @@ self: super: with self; {
aliyun-python-sdk-sts = callPackage ../development/python-modules/aliyun-python-sdk-sts { };
allantools = callPackage ../development/python-modules/allantools { };
allpairspy = callPackage ../development/python-modules/allpairspy { };
allure-behave = callPackage ../development/python-modules/allure-behave { };
@@ -12719,6 +12721,8 @@ self: super: with self; {
pyfnip = callPackage ../development/python-modules/pyfnip { };
pyforked-daapd = callPackage ../development/python-modules/pyforked-daapd { };
pyformlang = callPackage ../development/python-modules/pyformlang { };
pyfreedompro = callPackage ../development/python-modules/pyfreedompro { };
+2
View File
@@ -88,8 +88,10 @@ rec {
self.filterPackages (!rocq-core.dontFilter or false);
rocq-core_9_0 = mkRocq "9.0";
rocq-core_9_1 = mkRocq "9.1";
rocqPackages_9_0 = mkRocqPackages rocq-core_9_0;
rocqPackages_9_1 = mkRocqPackages rocq-core_9_1;
rocqPackages = recurseIntoAttrs rocqPackages_9_0;
rocq-core = rocqPackages.rocq-core;