diff --git a/ci/eval/default.nix b/ci/eval/default.nix
index c7310a5052d0..9cc5ad6857b7 100644
--- a/ci/eval/default.nix
+++ b/ci/eval/default.nix
@@ -95,6 +95,10 @@ let
system=$3
outputDir=$4
+ # Default is 5, higher values effectively disable the warning.
+ # This randomly breaks Eval.
+ export GC_LARGE_ALLOC_WARN_INTERVAL=1000
+
export NIX_SHOW_STATS=1
export NIX_SHOW_STATS_PATH="$outputDir/stats/$myChunk"
echo "Chunk $myChunk on $system start"
diff --git a/ci/nixpkgs-vet.nix b/ci/nixpkgs-vet.nix
index 7c11dffc4f9b..6bdf92eedb3f 100644
--- a/ci/nixpkgs-vet.nix
+++ b/ci/nixpkgs-vet.nix
@@ -32,6 +32,7 @@ runCommand "nixpkgs-vet"
}
''
export NIX_STATE_DIR=$(mktemp -d)
+ $NIXPKGS_VET_NIX_PACKAGE/bin/nix-store --init
nixpkgs-vet --base ${filteredBase} ${filteredHead}
diff --git a/pkgs/applications/networking/cluster/k3s/1_34/chart-versions.nix b/pkgs/applications/networking/cluster/k3s/1_34/chart-versions.nix
new file mode 100644
index 000000000000..f511cbde3870
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_34/chart-versions.nix
@@ -0,0 +1,10 @@
+{
+ traefik-crd = {
+ url = "https://k3s.io/k3s-charts/assets/traefik-crd/traefik-crd-34.2.1+up34.2.0.tgz";
+ sha256 = "0bnvkp1bxfsccgdnvpq3ni3p2h8jyvj0iclbqj0rsls8vv1jnp9z";
+ };
+ traefik = {
+ url = "https://k3s.io/k3s-charts/assets/traefik/traefik-34.2.1+up34.2.0.tgz";
+ sha256 = "16ljy2ncn2kc4kr3m93w2kfw4vjk8is3cp3i2lx4b7afbmi75zyw";
+ };
+}
diff --git a/pkgs/applications/networking/cluster/k3s/1_34/go_runc_require.patch b/pkgs/applications/networking/cluster/k3s/1_34/go_runc_require.patch
new file mode 100644
index 000000000000..15a0cbb28137
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_34/go_runc_require.patch
@@ -0,0 +1,15 @@
+diff --git a/scripts/package-cli b/scripts/package-cli
+index a15d754926..bc450dbe4e 100755
+--- a/scripts/package-cli
++++ b/scripts/package-cli
+@@ -3,7 +3,10 @@ set -e -x
+
+ cd $(dirname $0)/..
+
++runc_require=$(grep "github.com/opencontainers/runc" go.mod | awk -F '=> ' '{print $2}' | xargs -0 printf 'require %s')
++echo "$runc_require" >> go.mod
+ . ./scripts/version.sh
++sed -i '$d' go.mod
+
+ GO=${GO-go}
+
diff --git a/pkgs/applications/networking/cluster/k3s/1_34/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_34/images-versions.json
new file mode 100644
index 000000000000..1d838a36651c
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_34/images-versions.json
@@ -0,0 +1,26 @@
+{
+ "airgap-images-amd64-tar-gz": {
+ "url": "https://github.com/k3s-io/k3s/releases/download/v1.34.1%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
+ "sha256": "076c53d96bbca9ed7aee5a4e398933787c55c59fd58e617581ce885e22759793"
+ },
+ "airgap-images-amd64-tar-zst": {
+ "url": "https://github.com/k3s-io/k3s/releases/download/v1.34.1%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
+ "sha256": "27355d2838c727180f0a8ded8aec0ac14e2186bd50487a3c3f29500884121aa7"
+ },
+ "airgap-images-arm-tar-gz": {
+ "url": "https://github.com/k3s-io/k3s/releases/download/v1.34.1%2Bk3s1/k3s-airgap-images-arm.tar.gz",
+ "sha256": "7292bafb04a8800b7efdc096a4e4f00d972dcf9a009f7ccca311a0bc9b23eda1"
+ },
+ "airgap-images-arm-tar-zst": {
+ "url": "https://github.com/k3s-io/k3s/releases/download/v1.34.1%2Bk3s1/k3s-airgap-images-arm.tar.zst",
+ "sha256": "64e166d1b037ed87566c444261365bdd54745de6cf8acf1ae4698ddf34ca69a7"
+ },
+ "airgap-images-arm64-tar-gz": {
+ "url": "https://github.com/k3s-io/k3s/releases/download/v1.34.1%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
+ "sha256": "b1f649125466251088aec6fcd56b86df29d7674eb3ae6ab596448ddfd60cc9e0"
+ },
+ "airgap-images-arm64-tar-zst": {
+ "url": "https://github.com/k3s-io/k3s/releases/download/v1.34.1%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
+ "sha256": "78380791cb61262b78d61c2b52fd77e0eedde6c0351e53d11e2cfb9034ec5937"
+ }
+}
diff --git a/pkgs/applications/networking/cluster/k3s/1_34/version_sh_go_list.patch b/pkgs/applications/networking/cluster/k3s/1_34/version_sh_go_list.patch
new file mode 100644
index 000000000000..7788762eaf2b
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_34/version_sh_go_list.patch
@@ -0,0 +1,18 @@
+diff --git a/scripts/version.sh b/scripts/version.sh
+index 37500a3b788d..96a6e6205472 100755
+--- a/scripts/version.sh
++++ b/scripts/version.sh
+@@ -10,11 +10,11 @@ if [ -z "$NO_DAPPER" ]; then
+ fi
+
+ get-module-version(){
+- go list -m -f '{{if .Replace}}{{.Replace.Version}}{{else}}{{.Version}}{{end}}' $1
++ go list -mod=readonly -e -m -f '{{if .Replace}}{{.Replace.Version}}{{else}}{{.Version}}{{end}}' $1
+ }
+
+ get-module-path(){
+- go list -m -f '{{if .Replace}}{{.Replace.Path}}{{else}}{{.Path}}{{end}}' $1
++ go list -mod=readonly -m -f '{{if .Replace}}{{.Replace.Path}}{{else}}{{.Path}}{{end}}' $1
+ }
+
+ PKG_CONTAINERD_K3S=$(get-module-path github.com/containerd/containerd/v2)
diff --git a/pkgs/applications/networking/cluster/k3s/1_34/versions.nix b/pkgs/applications/networking/cluster/k3s/1_34/versions.nix
new file mode 100644
index 000000000000..6dfebc63f175
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_34/versions.nix
@@ -0,0 +1,15 @@
+{
+ k3sVersion = "1.34.1+k3s1";
+ k3sCommit = "24fc436e6ea59c56ebc37727baa4e6c9a201ee01";
+ k3sRepoSha256 = "0fjkjsmig7xdn1filph2wbp69jva0jdkv8ax68wymvbqq4rn3s0k";
+ k3sVendorHash = "sha256-87YMUWhwfFwm5bzcL42b7JFJbVWsoRtubH4jjYH/7mc=";
+ chartVersions = import ./chart-versions.nix;
+ imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
+ k3sRootVersion = "0.15.0";
+ k3sRootSha256 = "008n8xx7x36y9y4r24hx39xagf1dxbp3pqq2j53s9zkaiqc62hd0";
+ k3sCNIVersion = "1.7.1-k3s1";
+ k3sCNISha256 = "0k1qfmsi5bqgwd5ap8ndimw09hsxn0cqf4m5ad5a4mgl6akw6dqz";
+ containerdVersion = "2.1.4-k3s2";
+ containerdSha256 = "18z6i6mzvllhglarsc6npn4k0m4akg7wm1rqc4a926dag47mgh8j";
+ criCtlVersion = "1.34.0-k3s2";
+}
diff --git a/pkgs/applications/networking/cluster/k3s/builder.nix b/pkgs/applications/networking/cluster/k3s/builder.nix
index c4f52dd566e4..f4f3dff1d4f3 100644
--- a/pkgs/applications/networking/cluster/k3s/builder.nix
+++ b/pkgs/applications/networking/cluster/k3s/builder.nix
@@ -478,5 +478,7 @@ buildGoModule (finalAttrs: {
}
// (lib.mapAttrs (_: value: fetchurl value) imagesVersions);
- meta = baseMeta;
+ meta = baseMeta // {
+ mainProgram = "k3s";
+ };
})
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index c1e6635c0c65..aac1f555d094 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -41,4 +41,27 @@ in
];
}
) extraArgs;
+
+ k3s_1_34 =
+ (common (
+ (import ./1_34/versions.nix)
+ // {
+ updateScript = [
+ ./update-script.sh
+ "34"
+ ];
+ }
+ ) extraArgs).overrideAttrs
+ {
+ patches = [
+ # Sets -mod=readonly for go list commands in scripts/version.sh to prevent go from using
+ # the (intentional) incomplete vendor directory. Additionally, sets -e for go list to
+ # change handling of erroneous packages.
+ ./1_34/version_sh_go_list.patch
+ # Adds explicit require of opencontainers/runc to go.mod before version.sh is called and
+ # removes it afterwards so that later build commands don't complain about inconsistent
+ # vendoring.
+ ./1_34/go_runc_require.patch
+ ];
+ };
}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/darwin.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/darwin.nix
new file mode 100644
index 000000000000..3e2197c84b48
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/darwin.nix
@@ -0,0 +1,36 @@
+{
+ pname,
+ version,
+ src,
+ nativeBuildInputs,
+ passthru,
+ meta,
+ stdenv,
+ undmg,
+}:
+
+stdenv.mkDerivation {
+ inherit
+ pname
+ version
+ src
+ ;
+
+ sourceRoot = ".";
+
+ nativeBuildInputs = nativeBuildInputs ++ [ undmg ];
+
+ # don't break code signing
+ dontFixup = true;
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/Applications
+ mv Thunderbird*.app "$out/Applications/${passthru.applicationName}.app"
+
+ runHook postInstall
+ '';
+
+ inherit passthru meta;
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 06377f89c6fe..16602868fda4 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -10,12 +10,9 @@
fetchurl,
config,
wrapGAppsHook3,
- autoPatchelfHook,
- alsa-lib,
curl,
gtk3,
writeScript,
- writeText,
xidel,
coreutils,
gnused,
@@ -23,18 +20,29 @@
gnupg,
runtimeShell,
systemLocale ? config.i18n.defaultLocale or "en_US",
- patchelfUnstable, # have to use patchelfUnstable to support --no-clobber-old-sections
generated,
versionSuffix ? "",
applicationName ? "Thunderbird",
+ # linux dependencies
+ writeText,
+ autoPatchelfHook,
+ patchelfUnstable,
+ alsa-lib,
+ # darwin dependencies
+ undmg,
}:
let
inherit (generated) version sources;
+ pname = "thunderbird-bin";
+
mozillaPlatforms = {
i686-linux = "linux-i686";
x86_64-linux = "linux-x86_64";
+ # bundles are universal and can be re-used for both darwin architectures
+ aarch64-darwin = "mac";
+ x86_64-darwin = "mac";
};
arch = mozillaPlatforms.${stdenv.hostPlatform.system};
@@ -43,12 +51,6 @@ let
sourceMatches = locale: source: (isPrefixOf source.locale locale) && source.arch == arch;
- policies = {
- DisableAppUpdate = true;
- }
- // config.thunderbird.policies or { };
- policiesJson = writeText "thunderbird-policies.json" (builtins.toJSON { inherit policies; });
-
defaultSource = lib.findFirst (sourceMatches "en-US") { } sources;
mozLocale =
@@ -59,50 +61,23 @@ let
source = lib.findFirst (sourceMatches mozLocale) defaultSource sources;
- pname = "thunderbird-bin";
-in
-
-stdenv.mkDerivation {
- inherit pname version;
-
src = fetchurl {
inherit (source) url sha256;
};
- nativeBuildInputs = [
- wrapGAppsHook3
- autoPatchelfHook
- patchelfUnstable
- ];
- buildInputs = [
- alsa-lib
- ];
- # Thunderbird uses "relrhack" to manually process relocations from a fixed offset
- patchelfFlags = [ "--no-clobber-old-sections" ];
+ meta = {
+ changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
+ description = "Mozilla Thunderbird, a full-featured email client (binary package)";
+ homepage = "http://www.mozilla.org/thunderbird/";
+ mainProgram = "thunderbird";
+ sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+ license = lib.licenses.mpl20;
+ maintainers = with lib.maintainers; [ lovesegfault ];
+ platforms = builtins.attrNames mozillaPlatforms;
+ hydraPlatforms = [ ];
+ };
- patchPhase = ''
- # Don't download updates from Mozilla directly
- echo 'pref("app.update.auto", "false");' >> defaults/pref/channel-prefs.js
- '';
-
- installPhase = ''
- mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
- cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
-
- mkdir -p "$out/bin"
- ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
-
- # wrapThunderbird expects "$out/lib" instead of "$out/usr/lib"
- ln -s "$out/usr/lib" "$out/lib"
-
- gappsWrapperArgs+=(--argv0 "$out/bin/.thunderbird-wrapped")
-
- # See: https://github.com/mozilla/policy-templates/blob/master/README.md
- mkdir -p "$out/lib/thunderbird-bin-${version}/distribution";
- ln -s ${policiesJson} "$out/lib/thunderbird-bin-${version}/distribution/policies.json";
- '';
-
- passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
+ updateScript = import ./../../browsers/firefox-bin/update.nix {
inherit
pname
writeScript
@@ -120,22 +95,48 @@ stdenv.mkDerivation {
baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
};
+ nativeBuildInputs = [
+ wrapGAppsHook3
+ ];
+
passthru = {
- inherit applicationName;
+ inherit
+ applicationName
+ updateScript
+ gtk3
+ ;
binaryName = "thunderbird";
gssSupport = true;
- gtk3 = gtk3;
};
- meta = {
- changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
- description = "Mozilla Thunderbird, a full-featured email client (binary package)";
- homepage = "http://www.mozilla.org/thunderbird/";
- mainProgram = "thunderbird";
- sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
- license = lib.licenses.mpl20;
- maintainers = with lib.maintainers; [ lovesegfault ];
- platforms = builtins.attrNames mozillaPlatforms;
- hydraPlatforms = [ ];
- };
-}
+in
+if stdenv.hostPlatform.isDarwin then
+ import ./darwin.nix {
+ inherit
+ pname
+ version
+ src
+ nativeBuildInputs
+ passthru
+ meta
+ stdenv
+ undmg
+ ;
+ }
+else
+ import ./linux.nix {
+ inherit
+ pname
+ version
+ src
+ nativeBuildInputs
+ passthru
+ meta
+ stdenv
+ config
+ writeText
+ autoPatchelfHook
+ patchelfUnstable
+ alsa-lib
+ ;
+ }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/linux.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/linux.nix
new file mode 100644
index 000000000000..d94874055d43
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/linux.nix
@@ -0,0 +1,70 @@
+{
+ pname,
+ version,
+ src,
+ nativeBuildInputs,
+ passthru,
+ meta,
+ stdenv,
+ config,
+ writeText,
+ autoPatchelfHook,
+ patchelfUnstable,
+ alsa-lib,
+}:
+
+let
+ policies = {
+ DisableAppUpdate = true;
+ }
+ // config.thunderbird.policies or { };
+
+ policiesJson = writeText "thunderbird-policies.json" (builtins.toJSON { inherit policies; });
+in
+stdenv.mkDerivation {
+ inherit
+ pname
+ version
+ src
+ ;
+
+ nativeBuildInputs = nativeBuildInputs ++ [
+ autoPatchelfHook
+ patchelfUnstable
+ ];
+
+ buildInputs = [
+ alsa-lib
+ ];
+
+ # Thunderbird uses "relrhack" to manually process relocations from a fixed offset
+ patchelfFlags = [ "--no-clobber-old-sections" ];
+
+ postPatch = ''
+ # Don't download updates from Mozilla directly
+ echo 'pref("app.update.auto", "false");' >> defaults/pref/channel-prefs.js
+ '';
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
+ cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
+
+ mkdir -p "$out/bin"
+ ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
+
+ # wrapThunderbird expects "$out/lib" instead of "$out/usr/lib"
+ ln -s "$out/usr/lib" "$out/lib"
+
+ gappsWrapperArgs+=(--argv0 "$out/bin/.thunderbird-wrapped")
+
+ # See: https://github.com/mozilla/policy-templates/blob/master/README.md
+ mkdir -p "$out/lib/thunderbird-bin-${version}/distribution";
+ ln -s ${policiesJson} "$out/lib/thunderbird-bin-${version}/distribution/policies.json";
+
+ runHook postInstall
+ '';
+
+ inherit passthru meta;
+}
diff --git a/pkgs/by-name/af/affine/package.nix b/pkgs/by-name/af/affine/package.nix
index c2bf85af259f..3c7a995f5e87 100644
--- a/pkgs/by-name/af/affine/package.nix
+++ b/pkgs/by-name/af/affine/package.nix
@@ -4,7 +4,7 @@
stdenvNoCC,
fetchFromGitHub,
rustPlatform,
- electron_37,
+ electron,
nodejs_22,
yarn-berry_4,
cacert,
@@ -28,7 +28,6 @@ let
hostPlatform = stdenvNoCC.hostPlatform;
nodePlatform = hostPlatform.node.platform;
nodeArch = hostPlatform.node.arch;
- electron = electron_37;
nodejs = nodejs_22;
yarn-berry = yarn-berry_4.override { inherit nodejs; };
productName = if buildType != "stable" then "AFFiNE-${buildType}" else "AFFiNE";
@@ -37,17 +36,17 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = binName;
- version = "0.24.1";
+ version = "0.25.1";
src = fetchFromGitHub {
owner = "toeverything";
repo = "AFFiNE";
tag = "v${finalAttrs.version}";
- hash = "sha256-Yq5TD5yInv+0d1S6M58I8CneCAGUwH0ThGrEJfLIrX0=";
+ hash = "sha256-TrPyxXgrhzODyiamLU49vbIwDzau+jI9D8VWGa734x8=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
- hash = "sha256-tRDc7Rky59Rh08QTNiG3yopErHJzARxN8BZGrSUECLE=";
+ hash = "sha256-7btQd3i3rfJ3pJV7OXhSIz17Uy48D3OwrsXh/kls8Hc=";
};
yarnOfflineCache = stdenvNoCC.mkDerivation {
name = "yarn-offline-cache";
@@ -92,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
dontInstall = true;
outputHashMode = "recursive";
- outputHash = "sha256-U2FGvdtGiM97aXmbfNIfi87hvwDkd1dvlAABYiDgAGI=";
+ outputHash = "sha256-cQFX49K27Q8pKRiZ+UqK4LIwfi3VEgZ7qS7N/rUj8rM=";
};
buildInputs = lib.optionals hostPlatform.isDarwin [
diff --git a/pkgs/by-name/au/automatic-timezoned/package.nix b/pkgs/by-name/au/automatic-timezoned/package.nix
index 7d5e98be0386..bc990312581b 100644
--- a/pkgs/by-name/au/automatic-timezoned/package.nix
+++ b/pkgs/by-name/au/automatic-timezoned/package.nix
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "automatic-timezoned";
- version = "2.0.92";
+ version = "2.0.93";
src = fetchFromGitHub {
owner = "maxbrunet";
repo = "automatic-timezoned";
rev = "v${version}";
- sha256 = "sha256-X1B2L8bh3iXPZ5NpaH+VP67i/ykmd0IVXu0dg6XmUGo=";
+ sha256 = "sha256-EJxHmzNJvWtchFnptTK03jyPWMzFKO6jxte30xipdM8=";
};
- cargoHash = "sha256-4ZV5ef033cZdMJaQD0gLNaKe8XfQzhF7mADm7N0NxvA=";
+ cargoHash = "sha256-kfsc7QXvRczatRwvPeMPXuD6GC9qd6zBwUd3EYXALSc=";
meta = {
description = "Automatically update system timezone based on location";
diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix
index b6d25b670993..1b9dd41f397e 100644
--- a/pkgs/by-name/br/bruno/package.nix
+++ b/pkgs/by-name/br/bruno/package.nix
@@ -19,20 +19,20 @@
buildNpmPackage rec {
pname = "bruno";
- version = "2.12.0";
+ version = "2.13.2";
src = fetchFromGitHub {
owner = "usebruno";
repo = "bruno";
tag = "v${version}";
- hash = "sha256-5yYcclJBb5kKaDr9irkLQBa6Tg8yO1LWh89ntBiMQho=";
+ hash = "sha256-oYp4sSL36HrDyK+YJfjvSQuYV0NdYcB6UeTGksbrcuI=";
postFetch = ''
${lib.getExe npm-lockfile-fix} $out/package-lock.json
'';
};
- npmDepsHash = "sha256-mLl8igkdujzI4Fz4SoUrCdnI2KUo6DsNtPdAhwjYpac=";
+ npmDepsHash = "sha256-TkPjT2SW5KgbaZiSCjWEd1UTqSsFq+MI58bMShkm/yI=";
npmFlags = [ "--legacy-peer-deps" ];
nativeBuildInputs = [
diff --git a/pkgs/by-name/ca/cargo-nextest/package.nix b/pkgs/by-name/ca/cargo-nextest/package.nix
index 77b2be8479f5..d8b989e13460 100644
--- a/pkgs/by-name/ca/cargo-nextest/package.nix
+++ b/pkgs/by-name/ca/cargo-nextest/package.nix
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-nextest";
- version = "0.9.105";
+ version = "0.9.106";
src = fetchFromGitHub {
owner = "nextest-rs";
repo = "nextest";
rev = "cargo-nextest-${version}";
- hash = "sha256-IBw6adO9Mzv878n+glLJTNeFykx6bGxfrPGxl014/7o=";
+ hash = "sha256-jgxoEKl6kAF8dj6TB42nSXE8Ez/da/yagbVVHcC0L0Q=";
};
- cargoHash = "sha256-qHiifv1je7oNwOGYeT/QGcfagiXcLTCTG2kHV1rJJ4o=";
+ cargoHash = "sha256-XM9N74w5lbQFC6uZO3Vy45puZxSe6bthZwOQVrLv3ac=";
cargoBuildFlags = [
"-p"
diff --git a/pkgs/by-name/ch/chirp/package.nix b/pkgs/by-name/ch/chirp/package.nix
index ff62fe6c1ad4..25f2d3ce8076 100644
--- a/pkgs/by-name/ch/chirp/package.nix
+++ b/pkgs/by-name/ch/chirp/package.nix
@@ -11,14 +11,14 @@
python3Packages.buildPythonApplication {
pname = "chirp";
- version = "0.4.0-unstable-2025-10-09";
+ version = "0.4.0-unstable-2025-10-14";
pyproject = true;
src = fetchFromGitHub {
owner = "kk7ds";
repo = "chirp";
- rev = "abd542d16e7351ae7fff3c56b40172315dcf690c";
- hash = "sha256-ncO+/M4ZU0yZOd2DeL9ZCmZS+FhrByeiOtlY/By7bmQ=";
+ rev = "1e7dd4b2b83980dba5020b3787fa4c3f4dc5b68a";
+ hash = "sha256-zzkppK0B1udSODKwLOJtE0kEQVLWD9xMhNvnH0wzoK0=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/cl/clickable/package.nix b/pkgs/by-name/cl/clickable/package.nix
index 75d614d1a623..6504ad9ade7b 100644
--- a/pkgs/by-name/cl/clickable/package.nix
+++ b/pkgs/by-name/cl/clickable/package.nix
@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication rec {
pname = "clickable";
- version = "8.5.0";
+ version = "8.6.0";
format = "pyproject";
src = fetchFromGitLab {
owner = "clickable";
repo = "clickable";
rev = "v${version}";
- hash = "sha256-hQkRntdOlWLK+vVrdiWEkYIMK+ymEEC5ajh7+L2fH2g=";
+ hash = "sha256-rgIp4LCSUamImYhgFeG+XEpgnxHcKylWRB2CCx9u5S0=";
};
build-system = [ python3Packages.setuptools ];
diff --git a/pkgs/by-name/cl/clickhouse/lts.nix b/pkgs/by-name/cl/clickhouse/lts.nix
index 3d7bae589f65..01b70a91dda8 100644
--- a/pkgs/by-name/cl/clickhouse/lts.nix
+++ b/pkgs/by-name/cl/clickhouse/lts.nix
@@ -1,6 +1,6 @@
import ./generic.nix {
- version = "25.8.8.26-lts";
- hash = "sha256-jzgfbM0WRdbSr0OXB9t0e1BjZQwZaEwIfzg7W4Z11c0=";
+ version = "25.8.10.7-lts";
+ hash = "sha256-EOZ2AfeBeXAWQqa25eQX3loE+xegt03lsCU1aQt/Ebs=";
lts = true;
nixUpdateExtraArgs = [
"--version-regex"
diff --git a/pkgs/by-name/ep/epkowa/package.nix b/pkgs/by-name/ep/epkowa/package.nix
index e0f1c2e5a65c..1f179ab71018 100644
--- a/pkgs/by-name/ep/epkowa/package.nix
+++ b/pkgs/by-name/ep/epkowa/package.nix
@@ -1,6 +1,7 @@
{
lib,
stdenv,
+ callPackages,
fetchurl,
fetchpatch,
makeWrapper,
@@ -12,11 +13,9 @@
libxslt,
libusb-compat-0_1,
sane-backends,
- rpm,
- cpio,
getopt,
- autoPatchelfHook,
- gcc,
+ epkowa,
+ plugins ? epkowa.plugins,
}:
let
common_meta = {
@@ -25,492 +24,12 @@ let
license = with lib.licenses; epson;
platforms = with lib.platforms; linux;
};
-in
-############################
-#
-# PLUGINS
-#
-############################
-
-# adding a plugin for another printer shouldn't be too difficult, but you need the firmware to test...
-let
- plugins = {
- v330 = stdenv.mkDerivation rec {
- name = "iscan-v330-bundle";
- version = "2.30.4";
-
- src = fetchurl {
- # To find new versions, visit
- # http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for
- # some printer like for instance "WF-7210" to get to the most recent
- # version.
- # NOTE: Don't forget to update the webarchive link too!
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "056c04pfsf98nnknphg28l489isqb6y4l2c8g7wqhclwgj7m338i";
- };
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
-
- installPhase = ''
- ${rpm}/bin/rpm2cpio plugins/esci-interpreter-perfection-v330-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out{,/share,/lib}
- cp -r ./usr/share/{iscan-data,esci}/ $out/share/
- cp -r ./usr/lib64/esci $out/lib
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x0142 "$plugin/lib/esci/libesci-interpreter-perfection-v330 $plugin/share/esci/esfwad.bin"
- '';
- hw = "Perfection V330 Photo";
- };
- meta = common_meta // {
- description = "Plugin to support " + passthru.hw + " scanner in sane";
- };
- };
- v370 = stdenv.mkDerivation rec {
- name = "iscan-v370-bundle";
- version = "2.30.4";
-
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/perfection-v370/rpm/x64/iscan-perfection-v370-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v370/rpm/x64/iscan-perfection-v370-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "1ff7adp9mha1i2ibllz540xkagpy8r757h4s3h60bgxbyzv2yggr";
- };
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
-
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-plugin-perfection-v370-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
-
-
- mkdir -p $out/share $out/lib
- cp -r usr/share/{iscan-data,iscan}/ $out/share
- cp -r usr/lib64/iscan $out/lib
- mv $out/share/iscan $out/share/esci
- mv $out/lib/iscan $out/lib/esci
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x014a "$plugin/lib/esci/libiscan-plugin-perfection-v370 $plugin/share/esci/esfwdd.bin"
- '';
- hw = "Perfection V37/V370";
- };
- meta = common_meta // {
- description = "Plugin to support " + passthru.hw + " scanner in sane";
- };
- };
- v550 = stdenv.mkDerivation rec {
- pname = "iscan-perfection-v550-bundle";
- version = "2.30.4";
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/perfection-v550/rpm/x64/iscan-perfection-v550-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v550/rpm/x64/iscan-perfection-v550-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "f8b3abf21354fc5b9bc87753cef950b6c0f07bf322a94aaff2c163bafcf50cd9";
- };
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-plugin-perfection-v550-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mv $out/share/iscan $out/share/esci
- mv $out/lib/iscan $out/lib/esci
- '';
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x013b "$plugin/lib/esci/libiscan-plugin-perfection-v550 $plugin/share/esci/esfweb.bin"
- '';
- hw = "Perfection V550 Photo";
- };
- meta = common_meta // {
- description = "Plugin to support " + passthru.hw + " scanner in sane";
- };
- };
- v600 = stdenv.mkDerivation rec {
- pname = "iscan-gt-x820-bundle";
- version = "2.30.4";
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/gt-x820/rpm/x64/iscan-gt-x820-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x820/rpm/x64/iscan-gt-x820-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "1vlba7dsgpk35nn3n7is8nwds3yzlk38q43mppjzwsz2d2n7sr33";
- };
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-plugin-gt-x820-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mv $out/share/iscan $out/share/esci
- mv $out/lib/iscan $out/lib/esci
- '';
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x013a "$plugin/lib/esci/libesintA1 $plugin/share/esci/esfwA1.bin"
- '';
- hw = "Perfection V600 Photo";
- };
- meta = common_meta // {
- description = "iscan esci x820 plugin for " + passthru.hw;
- };
- };
- x770 = stdenv.mkDerivation rec {
- pname = "iscan-gt-x770-bundle";
- version = "2.30.4";
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "1chxdm6smv2d14pn2jl9xyd0vr42diy7vpskd3b9a61gf5h3gj03";
- };
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-plugin-gt-x770-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mv $out/share/iscan $out/share/esci
- mv $out/lib/iscan $out/lib/esci
- '';
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x0130 "$plugin/lib/esci/libesint7C $plugin/share/esci/esfw7C.bin"
- '';
- hw = "Perfection V500 Photo";
- };
- meta = common_meta // {
- description = "iscan esci x770 plugin for " + passthru.hw;
- };
- };
- f720 = stdenv.mkDerivation rec {
- pname = "iscan-gt-f720-bundle";
- version = "2.30.4";
-
- nativeBuildInputs = [ autoPatchelfHook ];
- buildInputs = [ gcc.cc.lib ];
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "1xnbmb2rn610kqpg1x6k1cc13zlmx2f3l2xnj6809rnhg96qqn20";
- };
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio esci-interpreter-gt-f720-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x0131 "$plugin/lib/esci/libesci-interpreter-gt-f720 $plugin/share/esci/esfw8b.bin"
- '';
- hw = "GT-F720, GT-S620, Perfection V30, Perfection V300 Photo";
- };
-
- meta = common_meta // {
- description = "iscan esci f720 plugin for " + passthru.hw;
- };
- };
- s80 = stdenv.mkDerivation rec {
- pname = "iscan-gt-s80-bundle";
- version = "2.30.4";
-
- nativeBuildInputs = [ autoPatchelfHook ];
- buildInputs = [
- gcc.cc.lib
- libtool
- ];
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "00qfdgs03k7bbs67zjrk8hbxvlyinsmk890amp9cmpfjfzdxgg58";
- };
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio esci-interpreter-gt-s80-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- ${rpm}/bin/rpm2cpio iscan-plugin-esdip-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mkdir $out/share/esci
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x0136 "$plugin/lib/esci/libesci-interpreter-gt-s80.so"
- $registry --add interpreter usb 0x04b8 0x0137 "$plugin/lib/esci/libesci-interpreter-gt-s50.so"
- $registry --add interpreter usb 0x04b8 0x0143 "$plugin/lib/esci/libesci-interpreter-gt-s50.so"
- $registry --add interpreter usb 0x04b8 0x0144 "$plugin/lib/esci/libesci-interpreter-gt-s80.so"
- '';
- hw = "ES-D200, ED-D350, ES-D400, GT-S50, GT-S55, GT-S80, GT-S85";
- };
-
- meta = common_meta // {
- description = "iscan esci s80 plugin for " + passthru.hw;
- };
- };
- s600 = stdenv.mkDerivation rec {
- name = "iscan-gt-s600-bundle";
- version = "2.30.4";
-
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/gt-s600/rpm/x64/iscan-gt-s600-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/20240614120113/https://download2.ebz.epson.net/iscan/plugin/gt-s600/rpm/x64/iscan-gt-s600-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "fe1356b1d5c40bc5ac985a5693166efb9e5049a78b412f49c385eb503eadf2c6";
- };
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
-
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-plugin-gt-s600-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mv $out/share/iscan $out/share/esci
- mv $out/lib/iscan $out/lib/esci
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x012d "$plugin/lib/esci/libesint66 $plugin/share/esci/esfw66.bin"
- '';
- hw = "GT-F650, GT-S600, Perfection V10, Perfection V100 Photo";
- };
- meta = common_meta // {
- description = "iscan gt-s600 plugin for " + passthru.hw;
- };
- };
- s650 = stdenv.mkDerivation rec {
- name = "iscan-gt-s650-bundle";
- version = "2.30.4";
-
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/gt-s650/rpm/x64/iscan-gt-s650-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s650/rpm/x64/iscan-gt-s650-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "0fn4lz4g0a8l301v6yv7fwl37wgwhz5y90nf681f655xxc91hqh7";
- };
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
-
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-plugin-gt-s650-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mv $out/share/iscan $out/share/esci
- mv $out/lib/iscan $out/lib/esci
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x013c "$plugin/lib/esci/libiscan-plugin-gt-s650 $plugin/share/esci/esfw010c.bin"
- $registry --add interpreter usb 0x04b8 0x013d "$plugin/lib/esci/libiscan-plugin-gt-s650 $plugin/share/esci/esfw010c.bin"
- '';
- hw = "GT-S650, Perfection V19, Perfection V39";
- };
- meta = common_meta // {
- description = "iscan GT-S650 for " + passthru.hw;
- };
- };
- x750 = stdenv.mkDerivation rec {
- name = "iscan-gt-x750-bundle";
- version = "2.30.4";
-
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/gt-x750/rpm/x64/iscan-gt-x750-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x750/rpm/x64/iscan-gt-x750-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "sha256-9EeBHmh1nwSxnTnevPP8RZ4WBdyY+itR3VXo2I7f5N0=";
- };
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
-
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-plugin-gt-x750-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mv $out/share/iscan $out/share/esci
- mv $out/lib/iscan $out/lib/esci
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x0119 "$plugin/lib/esci/libesint54 $plugin/share/esci/esfw54.bin"
- '';
- hw = "GT-X750, Perfection 4490";
- };
- meta = common_meta // {
- description = "iscan GT-X750 for " + passthru.hw;
- };
- };
- gt1500 = stdenv.mkDerivation rec {
- name = "iscan-gt-1500-bundle";
- version = "2.30.4";
-
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "sha256-1rVsbBsb+QtCOT1FsyhgvCbZIN6IeQH7rZXNmsD7cl8=";
- };
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
-
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-plugin-gt-1500-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mv $out/share/iscan $out/share/esci
- mv $out/lib/iscan $out/lib/esci
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x0133 "$plugin/lib/esci/libesint86 $plugin/share/esci/esfw86.bin"
- '';
- hw = "GT-1500";
- };
- meta = common_meta // {
- description = "iscan GT-1500 for " + passthru.hw;
- };
- };
- ds30 = stdenv.mkDerivation rec {
- name = "iscan-ds-30-bundle";
- version = "2.30.4";
-
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/plugin/ds-30/rpm/x64/iscan-ds-30-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/ds-30/rpm/x64/iscan-ds-30-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "0d5ef9b83999c56c14bd17ca63537f63ad4f0d70056870dc00888af1b36f4153";
- };
-
- nativeBuildInputs = [
- autoPatchelfHook
- rpm
- ];
-
- installPhase = ''
- ${rpm}/bin/rpm2cpio plugins/iscan-plugin-ds-30-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mv $out/lib/iscan $out/lib/esci
- mkdir $out/share/esci
- '';
-
- passthru = {
- registrationCommand = ''
- $registry --add interpreter usb 0x04b8 0x0147 "$plugin/lib/esci/libiscan-plugin-ds-30.so"
- '';
- hw = "DS-30";
- };
- meta = common_meta // {
- description = "Plugin to support " + passthru.hw + " scanner in sane";
- };
- };
- network = stdenv.mkDerivation rec {
- pname = "iscan-nt-bundle";
- # for the version, look for the driver of XP-750 in the search page
- version = "2.30.4";
-
- buildInputs = [ (lib.getLib stdenv.cc.cc) ];
- nativeBuildInputs = [ autoPatchelfHook ];
-
- src = fetchurl {
- urls = [
- "https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz"
- "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz"
- ];
- sha256 = "0jssigsgkxb9i7qa7db291a1gbvwl795i4ahvb7bnqp33czkj85k";
- };
- installPhase = ''
- cd plugins
- ${rpm}/bin/rpm2cpio iscan-network-nt-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
-
- mkdir $out
- cp -r usr/share $out
- cp -r usr/lib64 $out/lib
- mkdir $out/share/esci
- '';
- passthru = {
- registrationCommand = "";
- hw = "network";
- };
-
- meta = common_meta // {
- description = "iscan network plugin";
- };
- };
- };
+ plugins' = lib.attrsets.filterAttrs (_: lib.isDerivation) plugins;
in
let
fwdir = symlinkJoin {
name = "esci-firmware-dir";
- paths = lib.mapAttrsToList (name: value: value + "/share/esci") plugins;
+ paths = lib.mapAttrsToList (name: value: value + "/share/esci") plugins';
};
in
let
@@ -588,7 +107,9 @@ stdenv.mkDerivation rec {
echo "epkowa" > $out/etc/sane.d/dll.conf
ln -s ${iscan-data}/share/iscan-data $out/share/iscan-data
mkdir -p $out/lib/iscan
- ln -s ${plugins.network}/lib/iscan/network $out/lib/iscan/network
+ ''
+ + lib.optionalString (plugins' ? network) ''
+ ln -s ${plugins'.network}/lib/iscan/network $out/lib/iscan/network
'';
postFixup = ''
# iscan-registry is a shell script requiring getopt
@@ -599,15 +120,26 @@ stdenv.mkDerivation rec {
lib.mapAttrsToList (name: value: ''
plugin=${value};
${value.passthru.registrationCommand}
- '') plugins
+ '') plugins'
);
+
+ passthru.plugins = callPackages ./plugins.nix { inherit common_meta; };
+
meta = common_meta // {
description = "sane-epkowa backend for some epson scanners";
longDescription = ''
Includes gui-less iscan (aka. Image Scan! for Linux).
Supported hardware: at least :
''
- + lib.concatStringsSep ", " (lib.mapAttrsToList (name: value: value.passthru.hw) plugins);
+ + lib.concatStringsSep ", " (lib.mapAttrsToList (name: value: value.passthru.hw) plugins')
+ + ''
+ It is possible to only use a subset of the plugins by overriding the `plugins` input:
+ epkowa' = pkgs.epkowa.override {
+ plugins = {
+ inherit (pkgs.epkowa.plugins) x770; # Select correct plugins for your scanner here
+ };
+ };
+ '';
maintainers = with lib.maintainers; [
symphorien
dominikh
diff --git a/pkgs/by-name/ep/epkowa/plugins.nix b/pkgs/by-name/ep/epkowa/plugins.nix
new file mode 100644
index 000000000000..0e854304a081
--- /dev/null
+++ b/pkgs/by-name/ep/epkowa/plugins.nix
@@ -0,0 +1,485 @@
+{
+ lib,
+ stdenv,
+ fetchurl,
+ autoPatchelfHook,
+ rpm,
+ cpio,
+ gcc,
+ libtool,
+ common_meta,
+}:
+
+# adding a plugin for another printer shouldn't be too difficult, but you need the firmware to test...
+{
+ v330 = stdenv.mkDerivation rec {
+ name = "iscan-v330-bundle";
+ version = "2.30.4";
+
+ src = fetchurl {
+ # To find new versions, visit
+ # http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for
+ # some printer like for instance "WF-7210" to get to the most recent
+ # version.
+ # NOTE: Don't forget to update the webarchive link too!
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "056c04pfsf98nnknphg28l489isqb6y4l2c8g7wqhclwgj7m338i";
+ };
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+
+ installPhase = ''
+ ${rpm}/bin/rpm2cpio plugins/esci-interpreter-perfection-v330-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out{,/share,/lib}
+ cp -r ./usr/share/{iscan-data,esci}/ $out/share/
+ cp -r ./usr/lib64/esci $out/lib
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x0142 "$plugin/lib/esci/libesci-interpreter-perfection-v330 $plugin/share/esci/esfwad.bin"
+ '';
+ hw = "Perfection V330 Photo";
+ };
+ meta = common_meta // {
+ description = "Plugin to support " + passthru.hw + " scanner in sane";
+ };
+ };
+ v370 = stdenv.mkDerivation rec {
+ name = "iscan-v370-bundle";
+ version = "2.30.4";
+
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/perfection-v370/rpm/x64/iscan-perfection-v370-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v370/rpm/x64/iscan-perfection-v370-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "1ff7adp9mha1i2ibllz540xkagpy8r757h4s3h60bgxbyzv2yggr";
+ };
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-plugin-perfection-v370-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+
+
+ mkdir -p $out/share $out/lib
+ cp -r usr/share/{iscan-data,iscan}/ $out/share
+ cp -r usr/lib64/iscan $out/lib
+ mv $out/share/iscan $out/share/esci
+ mv $out/lib/iscan $out/lib/esci
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x014a "$plugin/lib/esci/libiscan-plugin-perfection-v370 $plugin/share/esci/esfwdd.bin"
+ '';
+ hw = "Perfection V37/V370";
+ };
+ meta = common_meta // {
+ description = "Plugin to support " + passthru.hw + " scanner in sane";
+ };
+ };
+ v550 = stdenv.mkDerivation rec {
+ pname = "iscan-perfection-v550-bundle";
+ version = "2.30.4";
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/perfection-v550/rpm/x64/iscan-perfection-v550-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v550/rpm/x64/iscan-perfection-v550-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "f8b3abf21354fc5b9bc87753cef950b6c0f07bf322a94aaff2c163bafcf50cd9";
+ };
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-plugin-perfection-v550-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mv $out/share/iscan $out/share/esci
+ mv $out/lib/iscan $out/lib/esci
+ '';
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x013b "$plugin/lib/esci/libiscan-plugin-perfection-v550 $plugin/share/esci/esfweb.bin"
+ '';
+ hw = "Perfection V550 Photo";
+ };
+ meta = common_meta // {
+ description = "Plugin to support " + passthru.hw + " scanner in sane";
+ };
+ };
+ v600 = stdenv.mkDerivation rec {
+ pname = "iscan-gt-x820-bundle";
+ version = "2.30.4";
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/gt-x820/rpm/x64/iscan-gt-x820-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x820/rpm/x64/iscan-gt-x820-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "1vlba7dsgpk35nn3n7is8nwds3yzlk38q43mppjzwsz2d2n7sr33";
+ };
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-plugin-gt-x820-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mv $out/share/iscan $out/share/esci
+ mv $out/lib/iscan $out/lib/esci
+ '';
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x013a "$plugin/lib/esci/libesintA1 $plugin/share/esci/esfwA1.bin"
+ '';
+ hw = "Perfection V600 Photo";
+ };
+ meta = common_meta // {
+ description = "iscan esci x820 plugin for " + passthru.hw;
+ };
+ };
+ x770 = stdenv.mkDerivation rec {
+ pname = "iscan-gt-x770-bundle";
+ version = "2.30.4";
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "1chxdm6smv2d14pn2jl9xyd0vr42diy7vpskd3b9a61gf5h3gj03";
+ };
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-plugin-gt-x770-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mv $out/share/iscan $out/share/esci
+ mv $out/lib/iscan $out/lib/esci
+ '';
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x0130 "$plugin/lib/esci/libesint7C $plugin/share/esci/esfw7C.bin"
+ '';
+ hw = "Perfection V500 Photo";
+ };
+ meta = common_meta // {
+ description = "iscan esci x770 plugin for " + passthru.hw;
+ };
+ };
+ f720 = stdenv.mkDerivation rec {
+ pname = "iscan-gt-f720-bundle";
+ version = "2.30.4";
+
+ nativeBuildInputs = [ autoPatchelfHook ];
+ buildInputs = [ gcc.cc.lib ];
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "1xnbmb2rn610kqpg1x6k1cc13zlmx2f3l2xnj6809rnhg96qqn20";
+ };
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio esci-interpreter-gt-f720-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x0131 "$plugin/lib/esci/libesci-interpreter-gt-f720 $plugin/share/esci/esfw8b.bin"
+ '';
+ hw = "GT-F720, GT-S620, Perfection V30, Perfection V300 Photo";
+ };
+
+ meta = common_meta // {
+ description = "iscan esci f720 plugin for " + passthru.hw;
+ };
+ };
+ s80 = stdenv.mkDerivation rec {
+ pname = "iscan-gt-s80-bundle";
+ version = "2.30.4";
+
+ nativeBuildInputs = [ autoPatchelfHook ];
+ buildInputs = [
+ gcc.cc.lib
+ libtool
+ ];
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "00qfdgs03k7bbs67zjrk8hbxvlyinsmk890amp9cmpfjfzdxgg58";
+ };
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio esci-interpreter-gt-s80-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ ${rpm}/bin/rpm2cpio iscan-plugin-esdip-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mkdir $out/share/esci
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x0136 "$plugin/lib/esci/libesci-interpreter-gt-s80.so"
+ $registry --add interpreter usb 0x04b8 0x0137 "$plugin/lib/esci/libesci-interpreter-gt-s50.so"
+ $registry --add interpreter usb 0x04b8 0x0143 "$plugin/lib/esci/libesci-interpreter-gt-s50.so"
+ $registry --add interpreter usb 0x04b8 0x0144 "$plugin/lib/esci/libesci-interpreter-gt-s80.so"
+ '';
+ hw = "ES-D200, ED-D350, ES-D400, GT-S50, GT-S55, GT-S80, GT-S85";
+ };
+
+ meta = common_meta // {
+ description = "iscan esci s80 plugin for " + passthru.hw;
+ };
+ };
+ s600 = stdenv.mkDerivation rec {
+ name = "iscan-gt-s600-bundle";
+ version = "2.30.4";
+
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/gt-s600/rpm/x64/iscan-gt-s600-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/20240614120113/https://download2.ebz.epson.net/iscan/plugin/gt-s600/rpm/x64/iscan-gt-s600-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "fe1356b1d5c40bc5ac985a5693166efb9e5049a78b412f49c385eb503eadf2c6";
+ };
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-plugin-gt-s600-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mv $out/share/iscan $out/share/esci
+ mv $out/lib/iscan $out/lib/esci
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x012d "$plugin/lib/esci/libesint66 $plugin/share/esci/esfw66.bin"
+ '';
+ hw = "GT-F650, GT-S600, Perfection V10, Perfection V100 Photo";
+ };
+ meta = common_meta // {
+ description = "iscan gt-s600 plugin for " + passthru.hw;
+ };
+ };
+ s650 = stdenv.mkDerivation rec {
+ name = "iscan-gt-s650-bundle";
+ version = "2.30.4";
+
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/gt-s650/rpm/x64/iscan-gt-s650-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s650/rpm/x64/iscan-gt-s650-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "0fn4lz4g0a8l301v6yv7fwl37wgwhz5y90nf681f655xxc91hqh7";
+ };
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-plugin-gt-s650-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mv $out/share/iscan $out/share/esci
+ mv $out/lib/iscan $out/lib/esci
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x013c "$plugin/lib/esci/libiscan-plugin-gt-s650 $plugin/share/esci/esfw010c.bin"
+ $registry --add interpreter usb 0x04b8 0x013d "$plugin/lib/esci/libiscan-plugin-gt-s650 $plugin/share/esci/esfw010c.bin"
+ '';
+ hw = "GT-S650, Perfection V19, Perfection V39";
+ };
+ meta = common_meta // {
+ description = "iscan GT-S650 for " + passthru.hw;
+ };
+ };
+ x750 = stdenv.mkDerivation rec {
+ name = "iscan-gt-x750-bundle";
+ version = "2.30.4";
+
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/gt-x750/rpm/x64/iscan-gt-x750-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x750/rpm/x64/iscan-gt-x750-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "sha256-9EeBHmh1nwSxnTnevPP8RZ4WBdyY+itR3VXo2I7f5N0=";
+ };
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-plugin-gt-x750-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mv $out/share/iscan $out/share/esci
+ mv $out/lib/iscan $out/lib/esci
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x0119 "$plugin/lib/esci/libesint54 $plugin/share/esci/esfw54.bin"
+ '';
+ hw = "GT-X750, Perfection 4490";
+ };
+ meta = common_meta // {
+ description = "iscan GT-X750 for " + passthru.hw;
+ };
+ };
+ gt1500 = stdenv.mkDerivation rec {
+ name = "iscan-gt-1500-bundle";
+ version = "2.30.4";
+
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "sha256-1rVsbBsb+QtCOT1FsyhgvCbZIN6IeQH7rZXNmsD7cl8=";
+ };
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-plugin-gt-1500-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mv $out/share/iscan $out/share/esci
+ mv $out/lib/iscan $out/lib/esci
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x0133 "$plugin/lib/esci/libesint86 $plugin/share/esci/esfw86.bin"
+ '';
+ hw = "GT-1500";
+ };
+ meta = common_meta // {
+ description = "iscan GT-1500 for " + passthru.hw;
+ };
+ };
+ ds30 = stdenv.mkDerivation rec {
+ name = "iscan-ds-30-bundle";
+ version = "2.30.4";
+
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/plugin/ds-30/rpm/x64/iscan-ds-30-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/ds-30/rpm/x64/iscan-ds-30-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "0d5ef9b83999c56c14bd17ca63537f63ad4f0d70056870dc00888af1b36f4153";
+ };
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ rpm
+ ];
+
+ installPhase = ''
+ ${rpm}/bin/rpm2cpio plugins/iscan-plugin-ds-30-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mv $out/lib/iscan $out/lib/esci
+ mkdir $out/share/esci
+ '';
+
+ passthru = {
+ registrationCommand = ''
+ $registry --add interpreter usb 0x04b8 0x0147 "$plugin/lib/esci/libiscan-plugin-ds-30.so"
+ '';
+ hw = "DS-30";
+ };
+ meta = common_meta // {
+ description = "Plugin to support " + passthru.hw + " scanner in sane";
+ };
+ };
+ network = stdenv.mkDerivation rec {
+ pname = "iscan-nt-bundle";
+ # for the version, look for the driver of XP-750 in the search page
+ version = "2.30.4";
+
+ buildInputs = [ (lib.getLib stdenv.cc.cc) ];
+ nativeBuildInputs = [ autoPatchelfHook ];
+
+ src = fetchurl {
+ urls = [
+ "https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz"
+ "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz"
+ ];
+ sha256 = "0jssigsgkxb9i7qa7db291a1gbvwl795i4ahvb7bnqp33czkj85k";
+ };
+ installPhase = ''
+ cd plugins
+ ${rpm}/bin/rpm2cpio iscan-network-nt-*.x86_64.rpm | ${cpio}/bin/cpio -idmv
+
+ mkdir $out
+ cp -r usr/share $out
+ cp -r usr/lib64 $out/lib
+ mkdir $out/share/esci
+ '';
+ passthru = {
+ registrationCommand = "";
+ hw = "network";
+ };
+
+ meta = common_meta // {
+ description = "iscan network plugin";
+ };
+ };
+}
diff --git a/pkgs/by-name/hy/hyprutils/package.nix b/pkgs/by-name/hy/hyprutils/package.nix
index d019d9d5a5b0..b949294ee968 100644
--- a/pkgs/by-name/hy/hyprutils/package.nix
+++ b/pkgs/by-name/hy/hyprutils/package.nix
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hyprutils";
- version = "0.9.0";
+ version = "0.10.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprutils";
tag = "v${finalAttrs.version}";
- hash = "sha256-FWB9Xe9iIMlUskfLzKlYH3scvnHpSC5rMyN1EDHUQmE=";
+ hash = "sha256-r1ed7AR2ZEb2U8gy321/Xcp1ho2tzn+gG1te/Wxsj1A=";
};
nativeBuildInputs = [
@@ -43,5 +43,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.bsd3;
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
teams = [ lib.teams.hyprland ];
+ maintainers = with lib.maintainers; [ logger ];
};
})
diff --git a/pkgs/by-name/na/naja/package.nix b/pkgs/by-name/na/naja/package.nix
index b804f38bec7f..07e8146bd060 100644
--- a/pkgs/by-name/na/naja/package.nix
+++ b/pkgs/by-name/na/naja/package.nix
@@ -17,13 +17,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "naja";
- version = "0.2.2";
+ version = "0.2.12";
src = fetchFromGitHub {
owner = "najaeda";
repo = "naja";
tag = "v${finalAttrs.version}";
- hash = "sha256-cm9MwN60R/K2bL4FWpvusFmb2ENYEYg8NcMVgmeTj0c=";
+ hash = "sha256-NqxgFAD/JHh1rgtuv/NTda5oEx79NgdafL3fDLJO2kU=";
fetchSubmodules = true;
};
@@ -39,11 +39,9 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace cmake/CMakeLists.txt \
--replace-fail 'DESTINATION cmake' 'DESTINATION ''${CMAKE_INSTALL_LIBDIR}/cmake'
- # Fix install location for bne library & headers
- # Remove when https://github.com/najaeda/naja/pull/278 merged & in release
- substituteInPlace src/bne/CMakeLists.txt \
- --replace-fail 'LIBRARY DESTINATION lib' 'LIBRARY DESTINATION ''${CMAKE_INSTALL_LIBDIR}' \
- --replace-fail 'PUBLIC_HEADER DESTINATION include' 'PUBLIC_HEADER DESTINATION ''${CMAKE_INSTALL_INCLUDEDIR}'
+ substituteInPlace CMakeLists.txt --replace-fail \
+ "cmake_minimum_required(VERSION 3.21)" \
+ "cmake_minimum_required(VERSION 4.0)"
''
# disable building tests for cross build
+ lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
@@ -57,6 +55,12 @@ stdenv.mkDerivation (finalAttrs: {
patchShebangs --build test/test_utils/diff_files.py
'';
+ env.NIX_CFLAGS_COMPILE = toString (
+ lib.optionals stdenv.cc.isClang [
+ "-Wno-character-conversion"
+ ]
+ );
+
strictDeps = true;
nativeBuildInputs = [
diff --git a/pkgs/by-name/pg/pgbackrest/package.nix b/pkgs/by-name/pg/pgbackrest/package.nix
index 122516cbefbd..4b5ebce7beb8 100644
--- a/pkgs/by-name/pg/pgbackrest/package.nix
+++ b/pkgs/by-name/pg/pgbackrest/package.nix
@@ -20,13 +20,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pgbackrest";
- version = "2.56.0";
+ version = "2.57.0";
src = fetchFromGitHub {
owner = "pgbackrest";
repo = "pgbackrest";
tag = "release/${finalAttrs.version}";
- hash = "sha256-GDHpeTz85cgKTbcuaTlwJ1SUNMedSylqKWdrgH8Zp8Q=";
+ hash = "sha256-TwyMWE9/aCWBIn+AKGaR0UC5qScWPEaDyOG723/2NHA=";
};
strictDeps = true;
diff --git a/pkgs/by-name/po/positron-bin/package.nix b/pkgs/by-name/po/positron-bin/package.nix
index 1061faf40eac..4e5996b9a2c3 100644
--- a/pkgs/by-name/po/positron-bin/package.nix
+++ b/pkgs/by-name/po/positron-bin/package.nix
@@ -22,7 +22,7 @@
}:
let
pname = "positron-bin";
- version = "2025.10.0-199";
+ version = "2025.10.1-4";
in
stdenv.mkDerivation {
inherit version pname;
@@ -31,17 +31,17 @@ stdenv.mkDerivation {
if stdenv.hostPlatform.isDarwin then
fetchurl {
url = "https://cdn.posit.co/positron/releases/mac/universal/Positron-${version}-universal.dmg";
- hash = "sha256-iYEkuMQZkn/71bjHCvltTK6EC5l45kNdBhcK6TUB1hM=";
+ hash = "sha256-E3OZBmuIbobVa1e8hcUCE5rUqGN4+ySk+3qSOgYP6DA=";
}
else if stdenv.hostPlatform.system == "aarch64-linux" then
fetchurl {
url = "https://cdn.posit.co/positron/releases/deb/arm64/Positron-${version}-arm64.deb";
- hash = "sha256-JkgFuVebyDRqGh2ZcTZitVWzRSYdatKCtXWL1GMb0ZM=";
+ hash = "sha256-gcr8FoNmC+ojSNpoqsRCUVwjquITqS2HXGdW/8juZDY=";
}
else
fetchurl {
url = "https://cdn.posit.co/positron/releases/deb/x86_64/Positron-${version}-x64.deb";
- hash = "sha256-ycheOOKirLhDiNIh2Bg/7KBTau7YPGGWHLkRmZJkrnk=";
+ hash = "sha256-xu4DINK9t+k6BkEwwh9H//pdkbXOh7C6FSWbAKOTYcU=";
};
buildInputs = [
diff --git a/pkgs/by-name/so/source-meta-json-schema/package.nix b/pkgs/by-name/so/source-meta-json-schema/package.nix
index 7c0f42fd610e..b47e596c1a42 100644
--- a/pkgs/by-name/so/source-meta-json-schema/package.nix
+++ b/pkgs/by-name/so/source-meta-json-schema/package.nix
@@ -5,7 +5,7 @@
cmake,
}:
let
- version = "11.9.0";
+ version = "11.11.1";
in
stdenv.mkDerivation (finalAttrs: {
pname = "source-meta-json-schema";
@@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "sourcemeta";
repo = "jsonschema";
rev = "v${version}";
- hash = "sha256-POZRyex9eaa3F9ZlmIrVBDMBfvDM98drJdAvk2nkYSs=";
+ hash = "sha256-JB37vOFoThc3wsaeMJ/BqGO27HQaA8bqtaA2avNSn7A=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/te/tea/package.nix b/pkgs/by-name/te/tea/package.nix
index 8b804c770f6f..ad6a1ff7de00 100644
--- a/pkgs/by-name/te/tea/package.nix
+++ b/pkgs/by-name/te/tea/package.nix
@@ -8,14 +8,14 @@
buildGoModule rec {
pname = "tea";
- version = "0.11.0";
+ version = "0.11.1";
src = fetchFromGitea {
domain = "gitea.com";
owner = "gitea";
repo = "tea";
rev = "v${version}";
- sha256 = "sha256-jM/TR3bApWv0ci98Vb/0YPjlmLuO91WPY9eMHBInIQI=";
+ sha256 = "sha256-bphXaE5qPNzqn+PlzESZadpwbS6KryJEnL7hH/CBoTI=";
};
vendorHash = "sha256-Y9YDwfubT+RR1v6BTFD+A8GP2ArQaIIoMJmak+Vcx88=";
diff --git a/pkgs/by-name/vs/vscode-solidity-server/package.nix b/pkgs/by-name/vs/vscode-solidity-server/package.nix
index d70eb8b90b97..aa91cf45f815 100644
--- a/pkgs/by-name/vs/vscode-solidity-server/package.nix
+++ b/pkgs/by-name/vs/vscode-solidity-server/package.nix
@@ -4,6 +4,8 @@
fetchFromGitHub,
pkg-config,
libsecret,
+ stdenv,
+ clang_20,
}:
buildNpmPackage {
@@ -19,7 +21,7 @@ buildNpmPackage {
npmDepsHash = "sha256-zXhWtPuiu+CRk712KskuHP4vglogJmFoCak6qWczPFM=";
- nativeBuildInputs = [ pkg-config ];
+ nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ clang_20 ]; # clang_21 breaks keytar
buildInputs = [ libsecret ];
diff --git a/pkgs/by-name/wa/warp-terminal/versions.json b/pkgs/by-name/wa/warp-terminal/versions.json
index 74906ea972a5..3d70418c08f5 100644
--- a/pkgs/by-name/wa/warp-terminal/versions.json
+++ b/pkgs/by-name/wa/warp-terminal/versions.json
@@ -1,14 +1,14 @@
{
"darwin": {
- "hash": "sha256-faZ4/CdCxxpx2mVtLvMvzlcdokk/bkaGgLynQnqiBBI=",
- "version": "0.2025.10.08.08.12.stable_03"
+ "hash": "sha256-kcTQTOxe2swK8Ntn2mYesgK1Jo9+xlYQtu6MsZVr+yk=",
+ "version": "0.2025.10.15.08.12.stable_01"
},
"linux_x86_64": {
- "hash": "sha256-PfHWgzQYbz+JX+5DNkyjnfzycZZFZtW1plWYtcFiIks=",
- "version": "0.2025.10.08.08.12.stable_03"
+ "hash": "sha256-VqJteZNtupyL/wV21NCe3yY4PGtL39QO5P7eHRf6v5g=",
+ "version": "0.2025.10.15.08.12.stable_01"
},
"linux_aarch64": {
- "hash": "sha256-OfI+sm7/wpFSEoRSGr4XLO1WhY7nXoN1oLDJHNE7cws=",
- "version": "0.2025.10.08.08.12.stable_03"
+ "hash": "sha256-B/VicadRluk0Pkg6vqzbNm6k59YkRvgfN58phfQSpXc=",
+ "version": "0.2025.10.15.08.12.stable_01"
}
}
diff --git a/pkgs/by-name/we/wesnoth/package.nix b/pkgs/by-name/we/wesnoth/package.nix
index 16663c625477..0c03fa0d7b7f 100644
--- a/pkgs/by-name/we/wesnoth/package.nix
+++ b/pkgs/by-name/we/wesnoth/package.nix
@@ -23,10 +23,12 @@
lua5_4,
curl,
nix-update-script,
+ enableDevel ? false,
}:
let
boost = boost186;
+ suffix = lib.optionalString enableDevel "-devel";
# wesnoth requires lua built with c++, see https://github.com/wesnoth/wesnoth/pull/8234
lua = lua5_4.override {
postConfigure = ''
@@ -36,14 +38,18 @@ let
in
stdenv.mkDerivation (finalAttrs: {
- pname = "wesnoth";
- version = "1.18.5";
+ pname = "wesnoth${suffix}";
+ version = if enableDevel then "1.19.16.1" else "1.18.5";
src = fetchFromGitHub {
owner = "wesnoth";
repo = "wesnoth";
tag = finalAttrs.version;
- hash = "sha256-0VZJAmaCg12x4S07H1kl5s2NGMEo/NSVnzMniREmPJk=";
+ hash =
+ if enableDevel then
+ "sha256-ekpyQnP5r3jl98qyNkO6SwUGc9qvz2OTidUu0k3m28c="
+ else
+ "sha256-0VZJAmaCg12x4S07H1kl5s2NGMEo/NSVnzMniREmPJk=";
};
nativeBuildInputs = [
@@ -73,10 +79,31 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
"-DENABLE_SYSTEM_LUA=ON"
+ "-DBINARY_SUFFIX=${suffix}"
];
+ postPatch = lib.optionalString (suffix != "") ''
+ mv packaging/org.wesnoth.Wesnoth.desktop packaging/org.wesnoth.Wesnoth${suffix}.desktop
+ mv packaging/org.wesnoth.Wesnoth.appdata.xml packaging/org.wesnoth.Wesnoth${suffix}.appdata.xml
+
+ substituteInPlace packaging/org.wesnoth.Wesnoth${suffix}.desktop \
+ --replace-fail "Name=Battle for Wesnoth" "Name=Battle for Wesnoth${suffix}" \
+ --replace-fail "Exec=sh -c \"wesnoth >/dev/null 2>&1\"" "Exec=sh -c \"wesnoth${suffix} >/dev/null 2>&1\"" \
+ --replace-fail "Exec=sh -c \"wesnoth -e >/dev/null 2>&1\"" "Exec=sh -c \"wesnoth${suffix} -e >/dev/null 2>&1\""
+
+ substituteInPlace packaging/org.wesnoth.Wesnoth${suffix}.appdata.xml \
+ --replace-fail "Battle for Wesnoth" "Battle for Wesnoth${suffix}" \
+ --replace-fail "org.wesnoth.Wesnoth" "org.wesnoth.Wesnoth${suffix}" \
+ --replace-fail "wesnoth" "wesnoth${suffix}" \
+ --replace-fail "wesnothd" "wesnothd${suffix}"
+
+ substituteInPlace CMakeLists.txt \
+ --replace-fail "org.wesnoth.Wesnoth.desktop" "org.wesnoth.Wesnoth${suffix}.desktop" \
+ --replace-fail "org.wesnoth.Wesnoth.appdata.xml" "org.wesnoth.Wesnoth${suffix}.appdata.xml"
+ '';
+
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
- app_name="The Battle for Wesnoth"
+ app_name="The Battle for Wesnoth${suffix}"
app_bundle="$out/Applications/$app_name.app"
app_contents="$app_bundle/Contents"
mkdir -p "$app_contents"
@@ -85,8 +112,8 @@ stdenv.mkDerivation (finalAttrs: {
mv $out/share/wesnoth "$app_contents/Resources"
pushd ../projectfiles/Xcode
substitute Info.plist "$app_contents/Info.plist" \
- --replace-fail ''\'''${EXECUTABLE_NAME}' wesnoth \
- --replace-fail '$(PRODUCT_BUNDLE_IDENTIFIER)' org.wesnoth.Wesnoth \
+ --replace-fail ''\'''${EXECUTABLE_NAME}' wesnoth${suffix} \
+ --replace-fail '$(PRODUCT_BUNDLE_IDENTIFIER)' org.wesnoth.Wesnoth${suffix} \
--replace-fail ''\'''${PRODUCT_NAME}' "$app_name"
cp -r Resources/SDLMain.nib "$app_contents/Resources/"
install -m0644 Resources/{container-migration.plist,icon.icns} "$app_contents/Resources"
@@ -94,22 +121,27 @@ stdenv.mkDerivation (finalAttrs: {
# Make the game and dedicated server binary available for shell users
mkdir -p "$out/bin"
- ln -s "$app_contents/MacOS/wesnothd" "$out/bin/wesnothd"
+ ln -s "$app_contents/MacOS/wesnothd${suffix}" "$out/bin/wesnothd${suffix}"
# Symlinking the game binary is unsifficient as it would be unable to
# find the bundle resources
- cat << EOF > "$out/bin/wesnoth"
+ cat << EOF > "$out/bin/wesnoth${suffix}"
#!${stdenvNoCC.shell}
open -na "$app_bundle" --args "\$@"
EOF
- chmod +x "$out/bin/wesnoth"
+ chmod +x "$out/bin/wesnoth${suffix}"
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
- # the minor release number also denotes if this is a beta release:
- # even is stable, odd is beta
- "^(\\d+\\.\\d*[02468]\\.\\d+)$"
+ (
+ if enableDevel then
+ # Devel matches odd minor release numbers
+ "^(\\d+\\.\\d*[13579]\\.\\d+.*)$"
+ else
+ # Stable matches even minor release numbers
+ "^(\\d+\\.\\d*[02468]\\.\\d+)$"
+ )
];
};
@@ -131,6 +163,6 @@ stdenv.mkDerivation (finalAttrs: {
iedame
];
platforms = lib.platforms.unix;
- mainProgram = "wesnoth";
+ mainProgram = "wesnoth${suffix}";
};
})
diff --git a/pkgs/development/ocaml-modules/dns/default.nix b/pkgs/development/ocaml-modules/dns/default.nix
index 7fb990255e8b..1c44a92bf2a1 100644
--- a/pkgs/development/ocaml-modules/dns/default.nix
+++ b/pkgs/development/ocaml-modules/dns/default.nix
@@ -16,15 +16,15 @@
ohex,
}:
-buildDunePackage rec {
+buildDunePackage (finalAttrs: {
pname = "dns";
- version = "10.1.0";
+ version = "10.2.1";
minimalOCamlVersion = "4.13";
src = fetchurl {
- url = "https://github.com/mirage/ocaml-dns/releases/download/v${version}/dns-${version}.tbz";
- hash = "sha256-XG/qUUzsOccy5xdkZD6PuViN7gOMmRwYSsy+07QeN9I=";
+ url = "https://github.com/mirage/ocaml-dns/releases/download/v${finalAttrs.version}/dns-${finalAttrs.version}.tbz";
+ hash = "sha256-tIjPTFFP1X1KLLKbmdQjSuaEXv8NXnmxBZ93n3NCR4o=";
};
propagatedBuildInputs = [
@@ -51,4 +51,4 @@ buildDunePackage rec {
maintainers = [ lib.maintainers.vbgl ];
};
-}
+})
diff --git a/pkgs/development/ocaml-modules/dns/resolver.nix b/pkgs/development/ocaml-modules/dns/resolver.nix
index e687badef235..d4ba0ba198ec 100644
--- a/pkgs/development/ocaml-modules/dns/resolver.nix
+++ b/pkgs/development/ocaml-modules/dns/resolver.nix
@@ -15,6 +15,7 @@
tls,
tls-mirage,
dnssec,
+ ca-certs-nss,
alcotest,
}:
@@ -39,6 +40,7 @@ buildDunePackage {
tcpip
tls
tls-mirage
+ ca-certs-nss
];
doCheck = true;
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index ee010b6a3e04..201c83f142dd 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -180,14 +180,14 @@ lib.makeExtensible (
nix_2_31 = addTests "nix_2_31" self.nixComponents_2_31.nix-everything;
nixComponents_2_32 = nixDependencies.callPackage ./modular/packages.nix rec {
- version = "2.32.0";
+ version = "2.32.1";
inherit (self.nix_2_31.meta) maintainers teams;
otherSplices = generateSplicesForNixComponents "nixComponents_2_32";
src = fetchFromGitHub {
owner = "NixOS";
repo = "nix";
tag = version;
- hash = "sha256-OOd7dFe0tX0CVPygR7U6cqs5fiJAvFO1el1QmjDG1GM=";
+ hash = "sha256-pApD0gpaklYkgZ9oZCtuAcAcYeUxR9FUOAlOtflZr+Q=";
};
};
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2dea4aa5d30c..fb96d35e6fb2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11639,6 +11639,7 @@ with pkgs;
k3s_1_31
k3s_1_32
k3s_1_33
+ k3s_1_34
;
k3s = k3s_1_33;
@@ -13643,6 +13644,8 @@ with pkgs;
warsow = callPackage ../games/warsow { };
+ wesnoth-devel = callPackage ../by-name/we/wesnoth/package.nix { enableDevel = true; };
+
inherit (callPackage ../games/xonotic { })
xonotic-data
xonotic