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 8cb53a6cf072..631a4196de71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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