Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-10-18 18:05:11 +00:00
committed by GitHub
34 changed files with 902 additions and 621 deletions
+4
View File
@@ -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"
+1
View File
@@ -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}
@@ -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";
};
}
@@ -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}
@@ -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"
}
}
@@ -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)
@@ -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";
}
@@ -478,5 +478,7 @@ buildGoModule (finalAttrs: {
}
// (lib.mapAttrs (_: value: fetchurl value) imagesVersions);
meta = baseMeta;
meta = baseMeta // {
mainProgram = "k3s";
};
})
@@ -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
];
};
}
@@ -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;
}
@@ -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
;
}
@@ -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;
}
+5 -6
View File
@@ -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 [
@@ -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";
+3 -3
View File
@@ -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 = [
+3 -3
View File
@@ -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"
+3 -3
View File
@@ -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 = [
+2 -2
View File
@@ -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 ];
+2 -2
View File
@@ -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"
+21 -489
View File
@@ -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
+485
View File
@@ -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";
};
};
}
+3 -2
View File
@@ -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 ];
};
})
+11 -7
View File
@@ -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 = [
+2 -2
View File
@@ -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;
+4 -4
View File
@@ -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 = [
@@ -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 = [
+2 -2
View File
@@ -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=";
@@ -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 ];
+6 -6
View File
@@ -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"
}
}
+45 -13
View File
@@ -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 "<name>Battle for Wesnoth</name>" "<name>Battle for Wesnoth${suffix}</name>" \
--replace-fail "org.wesnoth.Wesnoth" "org.wesnoth.Wesnoth${suffix}" \
--replace-fail "<binary>wesnoth</binary>" "<binary>wesnoth${suffix}</binary>" \
--replace-fail "<binary>wesnothd</binary>" "<binary>wesnothd${suffix}</binary>"
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}";
};
})
@@ -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 ];
};
}
})
@@ -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;
@@ -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=";
};
};
+3
View File
@@ -11641,6 +11641,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