diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml index 689e55f6c6e6..43ac1545a265 100644 --- a/.github/workflows/periodic-merge-24h.yml +++ b/.github/workflows/periodic-merge-24h.yml @@ -35,10 +35,12 @@ jobs: into: staging-next-25.05 - from: staging-next-25.05 into: staging-25.05 - - from: master staging + - name: merge-base(master,staging) → haskell-updates + from: master staging into: haskell-updates uses: ./.github/workflows/periodic-merge.yml with: from: ${{ matrix.pairs.from }} into: ${{ matrix.pairs.into }} + name: ${{ matrix.pairs.name || format('{0} → {1}', matrix.pairs.from, matrix.pairs.into) }} secrets: inherit diff --git a/.github/workflows/periodic-merge-6h.yml b/.github/workflows/periodic-merge-6h.yml index f7ffec99a4df..8ec7afa27564 100644 --- a/.github/workflows/periodic-merge-6h.yml +++ b/.github/workflows/periodic-merge-6h.yml @@ -35,4 +35,5 @@ jobs: with: from: ${{ matrix.pairs.from }} into: ${{ matrix.pairs.into }} + name: ${{ format('{0} → {1}', matrix.pairs.from, matrix.pairs.into) }} secrets: inherit diff --git a/.github/workflows/periodic-merge.yml b/.github/workflows/periodic-merge.yml index 2018a4bd94b2..0f686b2f96e5 100644 --- a/.github/workflows/periodic-merge.yml +++ b/.github/workflows/periodic-merge.yml @@ -15,7 +15,6 @@ on: jobs: merge: runs-on: ubuntu-24.04-arm - name: ${{ inputs.from }} → ${{ inputs.into }} steps: # Use a GitHub App to create the PR so that CI gets triggered # The App is scoped to Repository > Contents and Pull Requests: write for Nixpkgs diff --git a/ci/OWNERS b/ci/OWNERS index 047a5ee804b4..7ba49641ca88 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -211,6 +211,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobeza /pkgs/development/compilers/gcc /pkgs/development/compilers/llvm @alyssais @RossComputerGuy @NixOS/llvm /pkgs/development/compilers/emscripten @raitobezarius +/doc/toolchains/llvm.chapter.md @alyssais @RossComputerGuy @NixOS/llvm /doc/languages-frameworks/emscripten.section.md @raitobezarius # Audio diff --git a/ci/eval/default.nix b/ci/eval/default.nix index e3f035e18d56..fff771054450 100644 --- a/ci/eval/default.nix +++ b/ci/eval/default.nix @@ -36,6 +36,9 @@ let supportedSystems = builtins.fromJSON (builtins.readFile ../supportedSystems.json); attrpathsSuperset = + { + evalSystem, + }: runCommand "attrpaths-superset.json" { src = nixpkgs; @@ -55,6 +58,7 @@ let -I "$src" \ --option restrict-eval true \ --option allow-import-from-derivation false \ + --option eval-system "${evalSystem}" \ --arg enableWarnings false > $out/paths.json ''; @@ -65,7 +69,7 @@ let # because `--argstr system` would only be passed to the ci/default.nix file! evalSystem, # The path to the `paths.json` file from `attrpathsSuperset` - attrpathFile ? "${attrpathsSuperset}/paths.json", + attrpathFile ? "${attrpathsSuperset { inherit evalSystem; }}/paths.json", # The number of attributes per chunk, see ./README.md for more info. chunkSize, checkMeta ? true, diff --git a/doc/manual.md.in b/doc/manual.md.in index 07e587190d84..160c6eaead3c 100644 --- a/doc/manual.md.in +++ b/doc/manual.md.in @@ -9,6 +9,7 @@ preface.chapter.md using-nixpkgs.md lib.md stdenv.md +toolchains.md build-helpers.md development.md contributing.md diff --git a/doc/redirects.json b/doc/redirects.json index 87e1d49f675d..598f73abc37d 100644 --- a/doc/redirects.json +++ b/doc/redirects.json @@ -5,6 +5,9 @@ "chap-release-notes": [ "release-notes.html#chap-release-notes" ], + "chap-toolchains": [ + "index.html#chap-toolchains" + ], "cmake-ctest": [ "index.html#cmake-ctest" ], @@ -66,6 +69,9 @@ "pkgs-replacevarswith": [ "index.html#pkgs-replacevarswith" ], + "part-toolchains": [ + "index.html#part-toolchains" + ], "preface": [ "index.html#preface" ], @@ -99,6 +105,12 @@ "sec-build-helper-extendMkDerivation": [ "index.html#sec-build-helper-extendMkDerivation" ], + "sec-building-packages-with-llvm": [ + "index.html#sec-building-packages-with-llvm" + ], + "sec-building-packages-with-llvm-using-clang-stdenv": [ + "index.html#sec-building-packages-with-llvm-using-clang-stdenv" + ], "sec-inkscape": [ "index.html#sec-inkscape" ], @@ -384,6 +396,9 @@ "chap-stdenv": [ "index.html#chap-stdenv" ], + "sec-using-llvm": [ + "index.html#sec-using-llvm" + ], "sec-using-stdenv": [ "index.html#sec-using-stdenv" ], diff --git a/doc/toolchains.md b/doc/toolchains.md new file mode 100644 index 000000000000..378f0b053c17 --- /dev/null +++ b/doc/toolchains.md @@ -0,0 +1,5 @@ +# Toolchains {#part-toolchains} + +```{=include=} chapters +toolchains/llvm.chapter.md +``` diff --git a/doc/toolchains/llvm.chapter.md b/doc/toolchains/llvm.chapter.md new file mode 100644 index 000000000000..5f510c7cc25d --- /dev/null +++ b/doc/toolchains/llvm.chapter.md @@ -0,0 +1,35 @@ +# The LLVM Toolchain {#chap-toolchains} + +LLVM is a target-independent optimizer and code generator and serves as the basis for many compilers such as Haskell's GHC, rustc, Zig, and many others. It forms the base tools for Apple's Darwin platform. + +## Using LLVM {#sec-using-llvm} + +LLVM has two ways of being used. One is by using it across all of Nixpkgs and the other is to compile and build individual packages. + +### Building packages with LLVM {#sec-building-packages-with-llvm} + +Nixpkgs supports two methods of compiling the world with LLVM. One is via setting `useLLVM` in `crossSystem` while importing. This is the recommended way when cross compiling as it is more expressive. An example of doing `aarch64-linux` cross compilation from `x86_64-linux` with LLVM on the target is the following: + +```nix +import { + localSystem = { + system = "x86_64-linux"; + }; + crossSystem = { + useLLVM = true; + linker = "lld"; + }; +} +``` + +Note that we set `linker` to `lld`. This is because LLVM has its own linker called "lld". By setting it, we utilize Clang and lld within this new instance of Nixpkgs. There is a shorthand method for building everything with LLVM: `pkgsLLVM`. This is easier to use with `nix-build` (or `nix build`): + +```bash +nix-build -A pkgsLLVM.hello +``` + +This will compile the GNU hello package with LLVM and the lld linker like previously mentioned. + +#### Using `clangStdenv` {#sec-building-packages-with-llvm-using-clang-stdenv} + +Another simple way is to override the stdenv with `clangStdenv`. This causes a single package to be built with Clang. However, this `stdenv` does not override platform defaults to use compiler-rt, libc++, and libunwind. This is the preferred way to make a single package in Nixpkgs build with Clang. There are cases where just Clang isn't enough. For these situations, there is `libcxxStdenv`, which uses Clang with libc++ and compiler-rt. diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 10e264725976..7c7ace795b8d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6479,6 +6479,12 @@ githubId = 131907205; name = "David Thievon"; }; + dolphindalt = { + email = "dolphindalt@gmail.com"; + github = "dolphindalt"; + githubId = 13937320; + name = "Dalton Caron"; + }; domenkozar = { email = "domen@dev.si"; github = "domenkozar"; @@ -16744,6 +16750,12 @@ githubId = 7026881; name = "Jarosław Jedynak"; }; + msoos = { + email = "soos.mate@gmail.com"; + github = "msoos"; + githubId = 1334841; + name = "Mate Soos"; + }; mstarzyk = { email = "mstarzyk@gmail.com"; github = "mstarzyk"; diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index f2bf0fad188b..f0c9f28ee22f 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -274,7 +274,7 @@ to review the new defaults and description of [](#opt-services.nextcloud.poolSettings). -- In `users.users` allocation on systems with multiple users it could happen that collided with others. Now these users get new subuid ranges assigned. When this happens, a warning is issued on the first activation. If the subuids were used (e.g. with rootless container managers like podman), please change the ownership of affected files accordingly. +- In `users.users` subuid allocation on systems with multiple users it could happen that some users' allocated subuid ranges collided with others. Now these users get new subuid ranges assigned. When this happens, a warning is issued on the first activation. If the subuids were used (e.g. with rootless container managers like podman), please change the ownership of affected files accordingly. - The `services.locate` module does no longer support findutil's `locate` due to its inferior performance compared to `mlocate` and `plocate`. The new default is `plocate`. As the `service.locate.localuser` option only applied when using findutil's `locate`, it has also been removed. diff --git a/nixos/modules/services/misc/forgejo.md b/nixos/modules/services/misc/forgejo.md index f234ebf44aef..cca557408639 100644 --- a/nixos/modules/services/misc/forgejo.md +++ b/nixos/modules/services/misc/forgejo.md @@ -24,6 +24,42 @@ Both modules and projects are likely to diverge further with each release. Which might lead to an even more involved migration. ::: +::: {.warning} +The last supported version of Forgejo which supports migration from Gitea is +*10.0.x*. You should *NOT* try to migrate from Gitea to Forgejo `11.x` or +higher without first migrating to `10.0.x`. + +See [upstream migration guide](https://forgejo.org/docs/latest/admin/gitea-migration/) + +The last supported version of *Gitea* for this migration process is *1.22*. Do +*NOT* try to directly migrate from Gitea *1.23* or higher, as it will likely +result in data loss. + +See [upstream news article](https://forgejo.org/2024-12-gitea-compatibility/) +::: + +In order to migrate, the version of Forgejo needs to be pinned to `10.0.x` +*before* using the latest version. This means that nixpkgs commit +[`3bb45b041e7147e2fd2daf689e26a1f970a55d65`](https://github.com/NixOS/nixpkgs/commit/3bb45b041e7147e2fd2daf689e26a1f970a55d65) +or earlier should be used. + +To do this, temporarily add the following to your `configuration.nix`: + +```nix +{ pkgs, ... }: +let + nixpkgs-forgejo-10 = import (pkgs.fetchFromGitHub { + owner = "NixOS"; + repo = "nixpkgs"; + rev = "3bb45b041e7147e2fd2daf689e26a1f970a55d65"; + hash = "sha256-8JL5NI9eUcGzzbR/ARkrG81WLwndoxqI650mA/4rUGI="; + }) {}; +in +{ + services.forgejo.package = nixpkgs-forgejo-10.forgejo; +} +``` + ### Full-Migration {#module-forgejo-migration-gitea-default} This will migrate the state directory (data), rename and chown the database and @@ -49,6 +85,8 @@ chown -R forgejo:forgejo /var/lib/forgejo systemctl restart forgejo ``` +Afterwards, the Forgejo version can be set back to a newer desired version. + ### Alternatively, keeping the gitea user {#module-forgejo-migration-gitea-impersonate} Alternatively, instead of renaming the database, copying the state folder and diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix index e9178d153b9e..b6e785802206 100644 --- a/nixos/modules/services/misc/sourcehut/default.nix +++ b/nixos/modules/services/misc/sourcehut/default.nix @@ -97,13 +97,14 @@ let # Those paths are mounted using BindPaths= or BindReadOnlyPaths= # for services needing access to them. "builds.sr.ht::worker".buildlogs = "/var/log/sourcehut/buildsrht-worker"; - "git.sr.ht".post-update-script = "/usr/bin/gitsrht-update-hook"; + "git.sr.ht".post-update-script = "/usr/bin/git.sr.ht-update-hook"; "git.sr.ht".repos = cfg.settings."git.sr.ht".repos; - "hg.sr.ht".changegroup-script = "/usr/bin/hgsrht-hook-changegroup"; + "hg.sr.ht".changegroup-script = "/usr/bin/hg.sr.ht-hook-changegroup"; "hg.sr.ht".repos = cfg.settings."hg.sr.ht".repos; # Making this a per service option despite being in a global section, # so that it uses the redis-server used by the service. "sr.ht".redis-host = cfg.${srv}.redis.host; + "sr.ht".assets = "${cfg.${srv}.package}/share/sourcehut"; } ) ) @@ -376,7 +377,7 @@ in redis = mkOption { description = "The Redis connection used for the Celery worker."; type = types.str; - default = "redis+socket:///run/redis-sourcehut-buildsrht/redis.sock?virtual_host=2"; + default = "redis+socket:///run/redis-sourcehut-builds.sr.ht/redis.sock?virtual_host=2"; }; shell = mkOption { description = '' @@ -436,8 +437,8 @@ in This setting is propagated to newer and existing repositories. ''; type = types.path; - default = "${pkgs.sourcehut.gitsrht}/bin/gitsrht-update-hook"; - defaultText = "\${pkgs.sourcehut.gitsrht}/bin/gitsrht-update-hook"; + default = "${cfg.git.package}/bin/git.sr.ht-update-hook"; + defaultText = "\${pkgs.sourcehut.gitsrht}/bin/git.sr.ht-update-hook"; }; repos = mkOption { description = '' @@ -446,12 +447,12 @@ in the gitsrht's user as read and write access to it. ''; type = types.str; - default = "/var/lib/sourcehut/gitsrht/repos"; + default = "/var/lib/sourcehut/git.sr.ht/repos"; }; webhooks = mkOption { description = "The Redis connection used for the webhooks worker."; type = types.str; - default = "redis+socket:///run/redis-sourcehut-gitsrht/redis.sock?virtual_host=1"; + default = "redis+socket:///run/redis-sourcehut-git.sr.ht/redis.sock?virtual_host=1"; }; }; options."git.sr.ht::api" = { @@ -477,8 +478,8 @@ in This setting is propagated to newer and existing repositories. ''; type = types.str; - default = "${pkgs.sourcehut.hgsrht}/bin/hgsrht-hook-changegroup"; - defaultText = "\${pkgs.sourcehut.hgsrht}/bin/hgsrht-hook-changegroup"; + default = "${cfg.hg.package}/bin/hg.sr.ht-hook-changegroup"; + defaultText = "\${pkgs.sourcehut.hgsrht}/bin/hg.sr.ht-hook-changegroup"; }; repos = mkOption { description = '' @@ -487,7 +488,7 @@ in the hgsrht's user as read and write access to it. ''; type = types.str; - default = "/var/lib/sourcehut/hgsrht/repos"; + default = "/var/lib/sourcehut/hg.sr.ht/repos"; }; srhtext = mkOptionNullOrStr '' Path to the srht mercurial extension @@ -507,7 +508,7 @@ in webhooks = mkOption { description = "The Redis connection used for the webhooks worker."; type = types.str; - default = "redis+socket:///run/redis-sourcehut-hgsrht/redis.sock?virtual_host=1"; + default = "redis+socket:///run/redis-sourcehut-hg.sr.ht/redis.sock?virtual_host=1"; }; }; @@ -529,12 +530,12 @@ in redis = mkOption { description = "The Redis connection used for the Celery worker."; type = types.str; - default = "redis+socket:///run/redis-sourcehut-listssrht/redis.sock?virtual_host=2"; + default = "redis+socket:///run/redis-sourcehut-lists.sr.ht/redis.sock?virtual_host=2"; }; webhooks = mkOption { description = "The Redis connection used for the webhooks worker."; type = types.str; - default = "redis+socket:///run/redis-sourcehut-listssrht/redis.sock?virtual_host=1"; + default = "redis+socket:///run/redis-sourcehut-lists.sr.ht/redis.sock?virtual_host=1"; }; }; options."lists.sr.ht::worker" = { @@ -584,7 +585,7 @@ in webhooks = mkOption { description = "The Redis connection used for the webhooks worker."; type = types.str; - default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1"; + default = "redis+socket:///run/redis-sourcehut-meta.sr.ht/redis.sock?virtual_host=1"; }; welcome-emails = mkEnableOption "sending stock sourcehut welcome emails after signup"; }; @@ -691,7 +692,7 @@ in webhooks = mkOption { description = "The Redis connection used for the webhooks worker."; type = types.str; - default = "redis+socket:///run/redis-sourcehut-todosrht/redis.sock?virtual_host=1"; + default = "redis+socket:///run/redis-sourcehut-todo.sr.ht/redis.sock?virtual_host=1"; }; }; options."todo.sr.ht::mail" = { @@ -763,7 +764,7 @@ in }; git = { - package = mkPackageOption pkgs "git" { + gitPackage = mkPackageOption pkgs "git" { example = "gitFull"; }; fcgiwrap.preforkProcess = mkOption { @@ -774,7 +775,7 @@ in }; hg = { - package = mkPackageOption pkgs "mercurial" { }; + mercurialPackage = mkPackageOption pkgs "mercurial" { }; cloneBundles = mkOption { type = types.bool; default = false; @@ -806,6 +807,7 @@ in config = mkIf cfg.enable (mkMerge [ { + # TODO: make configurable environment.systemPackages = [ pkgs.sourcehut.coresrht ]; services.sourcehut.settings = { @@ -875,14 +877,14 @@ in set -e set -x cd /etc/ssh/sourcehut/subdir - ${pkgs.sourcehut.gitsrht}/bin/gitsrht-dispatch "$@" + ${cfg.git.package}/bin/git.sr.ht-dispatch "$@" ''; }; systemd.tmpfiles.settings."10-sourcehut-gitsrht" = mkIf cfg.git.enable (mkMerge [ (builtins.listToAttrs ( map (name: { - name = "/var/log/sourcehut/gitsrht-${name}"; + name = "/var/log/sourcehut/git.sr.ht-${name}"; value.f = { inherit (cfg.git) user group; mode = "0644"; @@ -903,7 +905,7 @@ in ]); systemd.services.sshd = { preStart = mkIf cfg.hg.enable '' - chown ${cfg.hg.user}:${cfg.hg.group} /var/log/sourcehut/hgsrht-keys + chown ${cfg.hg.user}:${cfg.hg.group} /var/log/sourcehut/hg.sr.ht-keys ''; serviceConfig = { LogsDirectory = "sourcehut"; @@ -919,62 +921,62 @@ in "${pkgs.writeShellScript "buildsrht-keys-wrapper" '' set -e cd /run/sourcehut/buildsrht/subdir - exec -a "$0" ${pkgs.sourcehut.buildsrht}/bin/buildsrht-keys "$@" + exec -a "$0" ${cfg.builds.package}/bin/builds.sr.ht-keys "$@" ''}:/usr/bin/buildsrht-keys" - "${pkgs.sourcehut.buildsrht}/bin/master-shell:/usr/bin/master-shell" - "${pkgs.sourcehut.buildsrht}/bin/runner-shell:/usr/bin/runner-shell" + "${cfg.builds.package}/bin/master-shell:/usr/bin/master-shell" + "${cfg.builds.package}/bin/runner-shell:/usr/bin/runner-shell" ] ++ optionals cfg.git.enable [ # /path/to/gitsrht-keys calls /path/to/gitsrht-shell, # or [git.sr.ht] shell= if set. "${pkgs.writeShellScript "gitsrht-keys-wrapper" '' set -e - cd /run/sourcehut/gitsrht/subdir - exec -a "$0" ${pkgs.sourcehut.gitsrht}/bin/gitsrht-keys "$@" - ''}:/usr/bin/gitsrht-keys" + cd /run/sourcehut/git.sr.ht/subdir + exec -a "$0" ${cfg.git.package}/bin/git.sr.ht-keys "$@" + ''}:/usr/bin/git.sr.ht-keys" "${pkgs.writeShellScript "gitsrht-shell-wrapper" '' set -e - cd /run/sourcehut/gitsrht/subdir - export PATH="${cfg.git.package}/bin:$PATH" - export SRHT_CONFIG=/run/sourcehut/gitsrht/config.ini - exec -a "$0" ${pkgs.sourcehut.gitsrht}/bin/gitsrht-shell "$@" - ''}:/usr/bin/gitsrht-shell" + cd /run/sourcehut/git.sr.ht/subdir + export PATH="${cfg.git.gitPackage}/bin:$PATH" + export SRHT_CONFIG=/run/sourcehut/git.sr.ht/config.ini + exec -a "$0" ${cfg.git.package}/bin/git.sr.ht-shell "$@" + ''}:/usr/bin/git.sr.ht-shell" "${pkgs.writeShellScript "gitsrht-update-hook" '' set -e - export SRHT_CONFIG=/run/sourcehut/gitsrht/config.ini + export SRHT_CONFIG=/run/sourcehut/git.sr.ht/config.ini # hooks/post-update calls /usr/bin/gitsrht-update-hook as hooks/stage-3 # but this wrapper being a bash script, it overrides $0 with /usr/bin/gitsrht-update-hook # hence this hack to put hooks/stage-3 back into gitsrht-update-hook's $0 if test "''${STAGE3:+set}" then - exec -a hooks/stage-3 ${pkgs.sourcehut.gitsrht}/bin/gitsrht-update-hook "$@" + exec -a hooks/stage-3 ${cfg.git.package}/bin/git.sr.ht-update-hook "$@" else export STAGE3=set - exec -a "$0" ${pkgs.sourcehut.gitsrht}/bin/gitsrht-update-hook "$@" + exec -a "$0" ${cfg.git.package}/bin/git.sr.ht-update-hook "$@" fi - ''}:/usr/bin/gitsrht-update-hook" + ''}:/usr/bin/git.sr.ht-update-hook" ] ++ optionals cfg.hg.enable [ # /path/to/hgsrht-keys calls /path/to/hgsrht-shell, # or [hg.sr.ht] shell= if set. "${pkgs.writeShellScript "hgsrht-keys-wrapper" '' set -e - cd /run/sourcehut/hgsrht/subdir - exec -a "$0" ${pkgs.sourcehut.hgsrht}/bin/hgsrht-keys "$@" - ''}:/usr/bin/hgsrht-keys" - "${pkgs.writeShellScript "hgsrht-shell-wrapper" '' + cd /run/sourcehut/hg.sr.ht/subdir + exec -a "$0" ${cfg.hg.package}/bin/hg.sr.ht-keys "$@" + ''}:/usr/bin/hg.sr.ht-keys" + "${pkgs.writeShellScript "hg.sr.ht-shell-wrapper" '' set -e - cd /run/sourcehut/hgsrht/subdir - exec -a "$0" ${pkgs.sourcehut.hgsrht}/bin/hgsrht-shell "$@" - ''}:/usr/bin/hgsrht-shell" + cd /run/sourcehut/hg.sr.ht/subdir + exec -a "$0" ${cfg.hg.package}/bin/hg.sr.ht-shell "$@" + ''}:/usr/bin/hg.sr.ht-shell" # Mercurial's changegroup hooks are run relative to their repository's directory, # but hgsrht-hook-changegroup looks up ./config.ini "${pkgs.writeShellScript "hgsrht-hook-changegroup" '' set -e test -e "''$PWD"/config.ini || - ln -s /run/sourcehut/hgsrht/config.ini "''$PWD"/config.ini - exec -a "$0" ${pkgs.sourcehut.hgsrht}/bin/hgsrht-hook-changegroup "$@" - ''}:/usr/bin/hgsrht-hook-changegroup" + ln -s /run/sourcehut/hg.sr.ht/config.ini "''$PWD"/config.ini + exec -a "$0" ${cfg.hg.package}/bin/hg.sr.ht-hook-changegroup "$@" + ''}:/usr/bin/hg.sr.ht-hook-changegroup" ]; }; }; @@ -985,17 +987,17 @@ in (import ./service.nix "builds" { inherit configIniOfService; - srvsrht = "buildsrht"; + pkgname = "buildsrht"; port = 5002; - extraServices.buildsrht-api = { + extraServices."build.sr.ht-api" = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.buildsrht}/bin/buildsrht-api -b ${cfg.listenAddress}:${ + serviceConfig.ExecStart = "${cfg.builds.package}/bin/builds.sr.ht-api -b ${cfg.listenAddress}:${ toString (cfg.builds.port + 100) }"; }; # TODO: a celery worker on the master and worker are apparently needed - extraServices.buildsrht-worker = + extraServices."build.sr.ht-worker" = let qemuPackage = pkgs.qemu_kvm; serviceName = "buildsrht-worker"; @@ -1024,7 +1026,7 @@ in fi ''; serviceConfig = { - ExecStart = "${pkgs.sourcehut.buildsrht}/bin/buildsrht-worker"; + ExecStart = "${cfg.builds.package}/bin/builds.sr.ht-worker"; BindPaths = [ cfg.settings."builds.sr.ht::worker".buildlogs ]; LogsDirectory = [ "sourcehut/${serviceName}" ]; RuntimeDirectory = [ "sourcehut/${serviceName}/subdir" ]; @@ -1055,7 +1057,7 @@ in name = "buildsrht-worker-images-pre"; paths = image_dirs; # FIXME: not working, apparently because ubuntu/latest is a broken link - # ++ [ "${pkgs.sourcehut.buildsrht}/lib/images" ]; + # ++ [ "${cfg.builds.package}/lib/images" ]; }; image_dir = pkgs.runCommand "buildsrht-worker-images" { } '' mkdir -p $out/images @@ -1072,7 +1074,7 @@ in { # Note that git.sr.ht::dispatch is not a typo, # gitsrht-dispatch always use this section - "git.sr.ht::dispatch"."/usr/bin/buildsrht-keys" = + "git.sr.ht::dispatch"."/usr/bin/builds.sr.ht-keys" = mkDefault "${cfg.builds.user}:${cfg.builds.group}"; } (mkIf cfg.builds.enableWorker { @@ -1113,8 +1115,10 @@ in (import ./service.nix "git" ( let baseService = { - path = [ cfg.git.package ]; - serviceConfig.BindPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; + path = [ cfg.git.gitPackage ]; + serviceConfig.BindPaths = [ + "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/git.sr.ht/repos" + ]; }; in { @@ -1123,23 +1127,23 @@ in baseService { serviceConfig.StateDirectory = [ - "sourcehut/gitsrht" - "sourcehut/gitsrht/repos" + "sourcehut/git.sr.ht" + "sourcehut/git.sr.ht/repos" ]; preStart = mkIf (versionOlder config.system.stateVersion "22.05") (mkBefore '' # Fix Git hooks of repositories pre-dating https://github.com/NixOS/nixpkgs/pull/133984 ( set +f shopt -s nullglob - for h in /var/lib/sourcehut/gitsrht/repos/~*/*/hooks/{pre-receive,update,post-update} - do ln -fnsv /usr/bin/gitsrht-update-hook "$h"; done + for h in /var/lib/sourcehut/git.sr.ht/repos/~*/*/hooks/{pre-receive,update,post-update} + do ln -fnsv /usr/bin/git.sr.ht-update-hook "$h"; done ) ''); } ]; port = 5001; webhooks = true; - extraTimers.gitsrht-periodic = { + extraTimers."git.sr.ht-periodic" = { service = baseService; timerConfig.OnCalendar = [ "*:0/20" ]; }; @@ -1149,7 +1153,7 @@ in # Probably could use gitsrht-shell if output is restricted to just parameters... users.users.${cfg.git.user}.shell = pkgs.bash; services.sourcehut.settings = { - "git.sr.ht::dispatch"."/usr/bin/gitsrht-keys" = mkDefault "${cfg.git.user}:${cfg.git.group}"; + "git.sr.ht::dispatch"."/usr/bin/git.sr.ht-keys" = mkDefault "${cfg.git.user}:${cfg.git.group}"; }; systemd.services.sshd = baseService; } @@ -1164,49 +1168,50 @@ in ''; }; locations."~ ^/([^/]+)/([^/]+)/(HEAD|info/refs|objects/info/.*|git-upload-pack).*$" = { - root = "/var/lib/sourcehut/gitsrht/repos"; + root = "/var/lib/sourcehut/git.sr.ht/repos"; fastcgiParams = { GIT_HTTP_EXPORT_ALL = ""; GIT_PROJECT_ROOT = "$document_root"; PATH_INFO = "$uri"; - SCRIPT_FILENAME = "${cfg.git.package}/bin/git-http-backend"; + SCRIPT_FILENAME = "${cfg.git.gitPackage}/bin/git-http-backend"; }; extraConfig = '' auth_request /authorize; fastcgi_read_timeout 500s; - fastcgi_pass unix:/run/gitsrht-fcgiwrap.sock; + fastcgi_pass unix:/run/git.sr.ht-fcgiwrap.sock; gzip off; ''; }; }; - systemd.sockets.gitsrht-fcgiwrap = { + systemd.sockets."git.sr.ht-fcgiwrap" = { before = [ "nginx.service" ]; wantedBy = [ "sockets.target" - "gitsrht.service" + "git.sr.ht.service" ]; # This path remains accessible to nginx.service, which has no RootDirectory= - socketConfig.ListenStream = "/run/gitsrht-fcgiwrap.sock"; + socketConfig.ListenStream = "/run/git.sr.ht-fcgiwrap.sock"; socketConfig.SocketUser = nginx.user; socketConfig.SocketMode = "600"; }; }) ]; - extraServices.gitsrht-api.serviceConfig = { + extraServices."git.sr.ht-api".serviceConfig = { Restart = "always"; RestartSec = "5s"; - ExecStart = "${pkgs.sourcehut.gitsrht}/bin/gitsrht-api -b ${cfg.listenAddress}:${toString (cfg.git.port + 100)}"; - BindPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; + ExecStart = "${cfg.git.package}/bin/git.sr.ht-api -b ${cfg.listenAddress}:${toString (cfg.git.port + 100)}"; + BindPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/git.sr.ht/repos" ]; }; - extraServices.gitsrht-fcgiwrap = mkIf cfg.nginx.enable { + extraServices."git.sr.ht-fcgiwrap" = mkIf cfg.nginx.enable { serviceConfig = { # Socket is passed by gitsrht-fcgiwrap.socket - ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${toString cfg.git.fcgiwrap.preforkProcess}"; + ExecStart = "${pkgs.fcgiwrap}/bin/fcgiwrap -c ${toString cfg.git.fcgiwrap.preforkProcess}"; # No need for config.ini ExecStartPre = mkForce [ ]; - User = null; - DynamicUser = true; - BindReadOnlyPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; + # FIXME: Fails to start with dynamic user + # User = null; + # DynamicUser = true; + BindReadOnlyPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/git.sr.ht/repos" ]; IPAddressDeny = "any"; InaccessiblePaths = [ "-+/run/postgresql" @@ -1232,8 +1237,8 @@ in (import ./service.nix "hg" ( let baseService = { - path = [ cfg.hg.package ]; - serviceConfig.BindPaths = [ "${cfg.settings."hg.sr.ht".repos}:/var/lib/sourcehut/hgsrht/repos" ]; + path = [ cfg.hg.mercurialPackage ]; + serviceConfig.BindPaths = [ "${cfg.settings."hg.sr.ht".repos}:/var/lib/sourcehut/hg.sr.ht/repos" ]; }; in { @@ -1242,26 +1247,26 @@ in baseService { serviceConfig.StateDirectory = [ - "sourcehut/hgsrht" - "sourcehut/hgsrht/repos" + "sourcehut/hg.sr.ht" + "sourcehut/hg.sr.ht/repos" ]; } ]; port = 5010; webhooks = true; - extraTimers.hgsrht-periodic = { + extraTimers."hg.sr.ht-periodic" = { service = baseService; timerConfig.OnCalendar = [ "*:0/20" ]; }; - extraTimers.hgsrht-clonebundles = mkIf cfg.hg.cloneBundles { + extraTimers."hg.sr.ht-clonebundles" = mkIf cfg.hg.cloneBundles { service = baseService; timerConfig.OnCalendar = [ "daily" ]; timerConfig.AccuracySec = "1h"; }; - extraServices.hgsrht-api = { + extraServices."hg.sr.ht-api" = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.hgsrht}/bin/hgsrht-api -b ${cfg.listenAddress}:${toString (cfg.hg.port + 100)}"; + serviceConfig.ExecStart = "${cfg.hgsrht.package}/bin/hg.sr.ht-api -b ${cfg.listenAddress}:${toString (cfg.hg.port + 100)}"; }; extraConfig = mkMerge [ { @@ -1269,7 +1274,7 @@ in services.sourcehut.settings = { # Note that git.sr.ht::dispatch is not a typo, # gitsrht-dispatch always uses this section. - "git.sr.ht::dispatch"."/usr/bin/hgsrht-keys" = mkDefault "${cfg.hg.user}:${cfg.hg.group}"; + "git.sr.ht::dispatch"."/usr/bin/hg.sr.ht-keys" = mkDefault "${cfg.hg.user}:${cfg.hg.group}"; }; systemd.services.sshd = baseService; } @@ -1290,7 +1295,7 @@ in # so someone would need to know or guess a SHA value to download anything. # TODO: proxyPass to an hg serve service? locations."~ ^/[~^][a-z0-9_]+/[a-zA-Z0-9_.-]+/\\.hg/bundles/.*$" = { - root = "/var/lib/nginx/hgsrht/repos"; + root = "/var/lib/nginx/hg.sr.ht/repos"; extraConfig = '' auth_request /authorize; gzip off; @@ -1299,7 +1304,7 @@ in }; systemd.services.nginx = { serviceConfig.BindReadOnlyPaths = [ - "${cfg.settings."hg.sr.ht".repos}:/var/lib/nginx/hgsrht/repos" + "${cfg.settings."hg.sr.ht".repos}:/var/lib/nginx/hg.sr.ht/repos" ]; }; }) @@ -1330,23 +1335,23 @@ in inherit configIniOfService; port = 5006; webhooks = true; - extraServices.listssrht-api = { + extraServices."lists.sr.ht-api" = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.listssrht}/bin/listssrht-api -b ${cfg.listenAddress}:${ + serviceConfig.ExecStart = "${cfg.lists.package}/bin/lists.sr.ht-api -b ${cfg.listenAddress}:${ toString (cfg.lists.port + 100) }"; }; # Receive the mail from Postfix and enqueue them into Redis and PostgreSQL - extraServices.listssrht-lmtp = { + extraServices."lists.sr.ht-lmtp" = { wants = [ "postfix.service" ]; unitConfig.JoinsNamespaceOf = optional cfg.postfix.enable "postfix.service"; - serviceConfig.ExecStart = "${pkgs.sourcehut.listssrht}/bin/listssrht-lmtp"; + serviceConfig.ExecStart = "${cfg.lists.package}/bin/lists.sr.ht-lmtp"; # Avoid crashing: os.chown(sock, os.getuid(), sock_gid) serviceConfig.PrivateUsers = mkForce false; }; # Dequeue the mails from Redis and dispatch them - extraServices.listssrht-process = { + extraServices."lists.sr.ht-process" = { serviceConfig = { preStart = '' cp ${pkgs.writeText "${srvsrht}-webhooks-celeryconfig.py" cfg.lists.process.celeryConfig} \ @@ -1392,7 +1397,7 @@ in OnCalendar = [ "daily" ]; AccuracySec = "1h"; }; - extraServices.metasrht-api = { + extraServices."meta.sr.ht-api" = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; preStart = @@ -1414,7 +1419,7 @@ in ) cfg.settings ) ); - serviceConfig.ExecStart = "${pkgs.sourcehut.metasrht}/bin/metasrht-api -b ${cfg.listenAddress}:${toString (cfg.meta.port + 100)}"; + serviceConfig.ExecStart = "${cfg.meta.package}/bin/meta.sr.ht-api -b ${cfg.listenAddress}:${toString (cfg.meta.port + 100)}"; }; extraConfig = { assertions = [ @@ -1428,14 +1433,14 @@ in } ]; environment.systemPackages = optional cfg.meta.enable ( - pkgs.writeShellScriptBin "metasrht-manageuser" '' + pkgs.writeShellScriptBin "meta.sr.ht-manageuser" '' set -eux if test "$(${pkgs.coreutils}/bin/id -n -u)" != '${cfg.meta.user}' then exec sudo -u '${cfg.meta.user}' "$0" "$@" else # In order to load config.ini - if cd /run/sourcehut/metasrht - then exec ${pkgs.sourcehut.metasrht}/bin/metasrht-manageuser "$@" + if cd /run/sourcehut/meta.sr.ht + then exec ${cfg.meta.package}/bin/meta.sr.ht-manageuser "$@" else cat <${stateDir}/db fi ${optionalString cfg.settings.${iniKey}.migrate-on-upgrade '' # Just try all the migrations because they're not linked to the version - for sql in ${pkgs.sourcehut.pagessrht}/share/sql/migrations/*.sql; do + for sql in ${package}/share/sql/migrations/*.sql; do ${postgresql.package}/bin/psql '${cfg.settings.${iniKey}.connection-string}' -f "$sql" || true done ''} @@ -1482,7 +1488,7 @@ in touch ${stateDir}/webhook ''; serviceConfig = { - ExecStart = mkForce "${pkgs.sourcehut.pagessrht}/bin/pages.sr.ht -b ${cfg.listenAddress}:${toString cfg.pages.port}"; + ExecStart = mkForce "${cfg.pages.package}/bin/pages.sr.ht -b ${cfg.listenAddress}:${toString cfg.pages.port}"; }; }; }) @@ -1490,10 +1496,10 @@ in (import ./service.nix "paste" { inherit configIniOfService; port = 5011; - extraServices.pastesrht-api = { + extraServices."paste.sr.ht-api" = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.pastesrht}/bin/pastesrht-api -b ${cfg.listenAddress}:${ + serviceConfig.ExecStart = "${cfg.paste.package}/bin/paste.sr.ht-api -b ${cfg.listenAddress}:${ toString (cfg.paste.port + 100) }"; }; @@ -1503,15 +1509,15 @@ in inherit configIniOfService; port = 5003; webhooks = true; - extraServices.todosrht-api = { + extraServices."todo.sr.ht-api" = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.todosrht}/bin/todosrht-api -b ${cfg.listenAddress}:${toString (cfg.todo.port + 100)}"; + serviceConfig.ExecStart = "${cfg.todo.package}/bin/todo.sr.ht-api -b ${cfg.listenAddress}:${toString (cfg.todo.port + 100)}"; }; - extraServices.todosrht-lmtp = { + extraServices."todo.sr.ht-lmtp" = { wants = [ "postfix.service" ]; unitConfig.JoinsNamespaceOf = optional cfg.postfix.enable "postfix.service"; - serviceConfig.ExecStart = "${pkgs.sourcehut.todosrht}/bin/todosrht-lmtp"; + serviceConfig.ExecStart = "${cfg.todo.package}/bin/todo.sr.ht-lmtp"; # Avoid crashing: os.chown(sock, os.getuid(), sock_gid) serviceConfig.PrivateUsers = mkForce false; }; diff --git a/nixos/modules/services/misc/sourcehut/service.nix b/nixos/modules/services/misc/sourcehut/service.nix index 37040c5e8661..dce07c6d1182 100644 --- a/nixos/modules/services/misc/sourcehut/service.nix +++ b/nixos/modules/services/misc/sourcehut/service.nix @@ -1,7 +1,8 @@ srv: { configIniOfService, - srvsrht ? "${srv}srht", # Because "buildsrht" does not follow that pattern (missing an "s"). + pkgname ? "${srv}srht", # Because "buildsrht" does not follow that pattern (missing an "s"). + srvsrht ? "${srv}.sr.ht", iniKey ? "${srv}.sr.ht", webhooks ? false, extraTimers ? { }, @@ -28,7 +29,7 @@ let mkIf mkMerge ; - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption mkOption mkPackageOption; inherit (lib.strings) concatStringsSep hasSuffix optionalString; inherit (config.services) postgresql; redis = config.services.redis.servers."sourcehut-${srvsrht}"; @@ -162,6 +163,8 @@ in { enable = mkEnableOption "${srv} service"; + package = mkPackageOption pkgs [ "sourcehut" pkgname ] { }; + user = mkOption { type = types.str; default = srvsrht; @@ -276,7 +279,7 @@ in forceSSL = mkDefault true; locations."/".proxyPass = "http://${cfg.listenAddress}:${toString srvCfg.port}"; locations."/static" = { - root = "${pkgs.sourcehut.${srvsrht}}/${pkgs.sourcehut.python.sitePackages}/${srvsrht}"; + root = "${srvCfg.package}/${pkgs.sourcehut.python.sitePackages}/${srvsrht}"; extraConfig = mkDefault '' expires 30d; ''; @@ -367,12 +370,12 @@ in StateDirectory = [ "sourcehut/${srvsrht}" ]; StateDirectoryMode = "2750"; ExecStart = - "${cfg.python}/bin/gunicorn ${srvsrht}.app:app --name ${srvsrht} --bind ${cfg.listenAddress}:${toString srvCfg.port} " + "${cfg.python}/bin/gunicorn ${pkgname}.app:app --name ${srvsrht} --bind ${cfg.listenAddress}:${toString srvCfg.port} " + concatStringsSep " " srvCfg.gunicorn.extraArgs; }; preStart = let - package = pkgs.sourcehut.${srvsrht}; + package = srvCfg.package; version = package.version; stateDir = "/var/lib/sourcehut/${srvsrht}"; in @@ -385,7 +388,7 @@ in if test ! -e ${stateDir}/db; then # Setup the initial database. # Note that it stamps the alembic head afterward - ${package}/bin/${srvsrht}-initdb + ${postgresql.package}/bin/psql -d ${srvsrht} -f ${package}/share/sourcehut/${srvsrht}-schema.sql echo ${version} >${stateDir}/db fi @@ -401,7 +404,7 @@ in # See https://lists.sr.ht/~sircmpwn/sr.ht-admins/<20190302181207.GA13778%40cirno.my.domain> if test ! -e ${stateDir}/webhook; then # Update ${iniKey}'s users' profile copy to the latest - ${cfg.python}/bin/srht-update-profiles ${iniKey} + ${cfg.python}/bin/sr.ht-update-profiles ${iniKey} touch ${stateDir}/webhook fi ''; @@ -424,7 +427,7 @@ in Type = "simple"; Restart = "always"; ExecStart = - "${cfg.python}/bin/celery --app ${srvsrht}.webhooks worker --hostname ${srvsrht}-webhooks@%%h " + "${cfg.python}/bin/celery --app ${pkgname}.webhooks worker --hostname ${srvsrht}-webhooks@%%h " + concatStringsSep " " srvCfg.webhooks.extraArgs; # Avoid crashing: os.getloadavg() ProcSubset = mkForce "all"; @@ -443,7 +446,7 @@ in ]; serviceConfig = { Type = "oneshot"; - ExecStart = "${pkgs.sourcehut.${srvsrht}}/bin/${timerName}"; + ExecStart = "${srvCfg.package}/bin/${timerName}"; }; } (timer.service or { }) diff --git a/nixos/modules/system/activation/specialisation.nix b/nixos/modules/system/activation/specialisation.nix index 1bc257248539..7acccbd724d5 100644 --- a/nixos/modules/system/activation/specialisation.nix +++ b/nixos/modules/system/activation/specialisation.nix @@ -10,6 +10,8 @@ let inherit (lib) concatStringsSep + escapeShellArg + hasInfix mapAttrs mapAttrsToList mkOption @@ -84,10 +86,18 @@ in }; config = { + assertions = mapAttrsToList (name: _: { + assertion = !hasInfix "/" name; + message = '' + Specialisation names must not contain forward slashes. + Invalid specialisation name: ${name} + ''; + }) config.specialisation; + system.systemBuilderCommands = '' mkdir $out/specialisation ${concatStringsSep "\n" ( - mapAttrsToList (name: path: "ln -s ${path} $out/specialisation/${name}") children + mapAttrsToList (name: path: "ln -s ${path} $out/specialisation/${escapeShellArg name}") children )} ''; }; diff --git a/nixos/tests/sourcehut/builds.nix b/nixos/tests/sourcehut/builds.nix index 71d5b3238453..1add972cc13f 100644 --- a/nixos/tests/sourcehut/builds.nix +++ b/nixos/tests/sourcehut/builds.nix @@ -49,15 +49,15 @@ import ../make-test-python.nix ( machine.wait_for_unit("multi-user.target") with subtest("Check whether meta comes up"): - machine.wait_for_unit("metasrht-api.service") - machine.wait_for_unit("metasrht.service") - machine.wait_for_unit("metasrht-webhooks.service") + machine.wait_for_unit("meta.sr.ht-api.service") + machine.wait_for_unit("meta.sr.ht.service") + machine.wait_for_unit("meta.sr.ht-webhooks.service") machine.wait_for_open_port(5000) machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}") machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}") with subtest("Check whether builds comes up"): - machine.wait_for_unit("buildsrht.service") + machine.wait_for_unit("builds.sr.ht.service") machine.wait_for_open_port(5002) machine.succeed("curl -sL http://localhost:5002 | grep builds.${domain}") #machine.wait_for_unit("buildsrht-worker.service") diff --git a/nixos/tests/sourcehut/git.nix b/nixos/tests/sourcehut/git.nix index 7f50752c7eb8..a06281aafbb4 100644 --- a/nixos/tests/sourcehut/git.nix +++ b/nixos/tests/sourcehut/git.nix @@ -63,25 +63,26 @@ import ../make-test-python.nix ( machine.wait_for_unit("sshd.service") with subtest("Check whether meta comes up"): - machine.wait_for_unit("metasrht-api.service") - machine.wait_for_unit("metasrht.service") - machine.wait_for_unit("metasrht-webhooks.service") + machine.wait_for_unit("meta.sr.ht-api.service") + machine.wait_for_unit("meta.sr.ht.service") + machine.wait_for_unit("meta.sr.ht-webhooks.service") machine.wait_for_open_port(5000) machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}") machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}") with subtest("Create a new user account and OAuth access key"): - machine.succeed("echo ${userPass} | metasrht-manageuser -ps -e ${userName}@${domain}\ - -t active_paying ${userName}"); + machine.succeed("echo ${userPass} | meta.sr.ht-manageuser -ps -e ${userName}@${domain}\ + -t USER ${userName}"); + cmd = "srht-gen-oauth-tok -i ${domain} -q ${userName} ${userPass}" (_, token) = machine.execute("srht-gen-oauth-tok -i ${domain} -q ${userName} ${userPass}") token = token.strip().replace("/", r"\\/") # Escape slashes in token before passing it to sed machine.execute("mkdir -p ~/.config/hut/") machine.execute("sed s/OAUTH-TOKEN/" + token + "/ ${hutConfig} > ~/.config/hut/config") with subtest("Check whether git comes up"): - machine.wait_for_unit("gitsrht-api.service") - machine.wait_for_unit("gitsrht.service") - machine.wait_for_unit("gitsrht-webhooks.service") + machine.wait_for_unit("git.sr.ht-api.service") + machine.wait_for_unit("git.sr.ht.service") + machine.wait_for_unit("git.sr.ht-webhooks.service") machine.succeed("curl -sL http://git.${domain} | grep git.${domain}") with subtest("Add an SSH key for Git access"): @@ -95,7 +96,7 @@ import ../make-test-python.nix ( machine.execute("cd test && git add .") machine.execute("cd test && git commit -m \"Initial commit\"") machine.execute("cd test && git tag v0.1") - machine.succeed("cd test && git remote add origin gitsrht@git.${domain}:~${userName}/test") + machine.succeed("cd test && git remote add origin git.sr.ht@git.${domain}:~${userName}/test") machine.execute("( echo -n 'git.${domain} '; cat /etc/ssh/ssh_host_ed25519_key.pub ) > ~/.ssh/known_hosts") machine.succeed("hut git create test") machine.succeed("cd test && git push --tags --set-upstream origin master") diff --git a/pkgs/applications/emulators/libretro/cores/dolphin.nix b/pkgs/applications/emulators/libretro/cores/dolphin.nix index b645617b4696..4a2599760601 100644 --- a/pkgs/applications/emulators/libretro/cores/dolphin.nix +++ b/pkgs/applications/emulators/libretro/cores/dolphin.nix @@ -17,13 +17,13 @@ }: mkLibretroCore { core = "dolphin"; - version = "0-unstable-2024-04-19"; + version = "0-unstable-2025-05-17"; src = fetchFromGitHub { owner = "libretro"; repo = "dolphin"; - rev = "89a4df725d4eb24537728f7d655cddb1add25c18"; - hash = "sha256-f9O3//EuoCSPQC7GWmf0EzAEpjoKof30kIDBCDw0dbs="; + rev = "a09f78f735f0d2184f64ba5b134abe98ee99c65f"; + hash = "sha256-NUnWNj47FmH8perfRwFFnaXeU58shUXqKFOzHf4ce5c="; }; extraNativeBuildInputs = [ diff --git a/pkgs/applications/emulators/libretro/cores/tgbdual.nix b/pkgs/applications/emulators/libretro/cores/tgbdual.nix index 5925125cee29..2f54c2ffd9f0 100644 --- a/pkgs/applications/emulators/libretro/cores/tgbdual.nix +++ b/pkgs/applications/emulators/libretro/cores/tgbdual.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "tgbdual"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2025-05-10"; src = fetchFromGitHub { owner = "libretro"; repo = "tgbdual-libretro"; - rev = "8d305769eebd67266c284558f9d3a30498894d3d"; - hash = "sha256-3mlnTgp43qC3yifpr6pvtC4vslddcf6mephKA183vEk="; + rev = "933707c0ba8f12360f6d79712f735a917713709a"; + hash = "sha256-58OLuF14aSJGhmXR0RGgPpuHLXYk9LOz7LX03AEFPr4="; }; makefile = "Makefile"; diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix deleted file mode 100644 index 831cc31ecad3..000000000000 --- a/pkgs/applications/science/electronics/tkgate/1.x.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - tcl, - tk, - libX11, - glibc, - which, - bison, - flex, - imake, - xorgproto, - gccmakedep, -}: - -let - libiconvInc = lib.optionalString stdenv.hostPlatform.isLinux "${glibc.dev}/include"; - libiconvLib = lib.optionalString stdenv.hostPlatform.isLinux "${glibc.out}/lib"; -in -stdenv.mkDerivation rec { - pname = "tkgate"; - version = "1.8.7"; - - src = fetchurl { - url = "https://www.tkgate.org/downloads/tkgate-${version}.tgz"; - sha256 = "1pqywkidfpdbj18i03h97f4cimld4fb3mqfy8jjsxs12kihm18fs"; - }; - - nativeBuildInputs = [ - which - bison - flex - imake - gccmakedep - ]; - buildInputs = [ - tcl - tk - libX11 - xorgproto - ]; - dontUseImakeConfigure = true; - - patchPhase = '' - sed -i config.h \ - -e 's|.*#define.*TKGATE_TCLTK_VERSIONS.*|#define TKGATE_TCLTK_VERSIONS "${tcl.release}"|' \ - -e 's|.*#define.*TKGATE_INCDIRS.*|#define TKGATE_INCDIRS "${tcl}/include ${tk}/include ${libiconvInc} ${libX11.dev}/include"|' \ - -e 's|.*#define.*TKGATE_LIBDIRS.*|#define TKGATE_LIBDIRS "${tcl}/lib ${tk}/lib ${libiconvLib} ${libX11.out}/lib"|' \ - \ - -e '20 i #define TCL_LIBRARY "${tcl}/lib"' \ - -e '20 i #define TK_LIBRARY "${tk}/lib/${tk.libPrefix}"' \ - -e '20 i #define USE_ICONV 1' \ - \ - -e "s|.*#define.*TKGATE_HOMEDIRBASE.*|#define TKGATE_HOMEDIRBASE \\\"$out/lib\\\"|" \ - -e "s|.*#define.*TKGATE_BINDIR.*|#define TKGATE_BINDIR \\\"$out/bin\\\"|" \ - -e "s|.*#define.*TKGATE_MANDIR.*|#define TKGATE_MANDIR \\\"$out/share/man/man1\\\"|" \ - -e "s|file:/usr/X11R6/lib/tkgate-|file://$out/lib/tkgate-|" - ''; - - meta = { - description = "Event driven digital circuit simulator with a TCL/TK-based graphical editor"; - mainProgram = "gmac"; - homepage = "https://www.tkgate.org/"; - license = lib.licenses.gpl2Plus; - hydraPlatforms = lib.platforms.linux; - }; -} diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix index e4ef91162b11..5896f6b68149 100644 --- a/pkgs/applications/version-management/sourcehut/builds.nix +++ b/pkgs/applications/version-management/sourcehut/builds.nix @@ -14,57 +14,54 @@ unzip, pip, pythonOlder, - setuptools, + setuptools-scm, }: let - version = "0.89.15"; + version = "0.95.1"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.39"; + gqlgenVersion = "0.17.64"; }; + patches = [ ./patches/core-go-update/builds/patch-deps.patch ]; + src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "builds.sr.ht"; rev = version; - hash = "sha256-rmNaBnTPDDQO/ImkGkMwW8fyjQyBUBchTEnbtAK24pw="; + hash = "sha256-On/dKqIuqsCLAgYkJQOeYL7Ne983JzEYKhuLpD5vNu4="; }; buildsrht-api = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "buildsrht-api"; modRoot = "api"; - vendorHash = "sha256-dwpuB+aYqzhGSdGVq/F9FTdHWMBkGMtVuZ7I3hB3b+Q="; + vendorHash = "sha256-GOM7fmJvfPJW3+XzvlwQZ9hBknlXwBKjGSmtIiapleY="; } // gqlgen ); buildsrht-worker = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "buildsrht-worker"; modRoot = "worker"; - vendorHash = "sha256-dwpuB+aYqzhGSdGVq/F9FTdHWMBkGMtVuZ7I3hB3b+Q="; + vendorHash = "sha256-nEXnCeUxlUMNUqhe82MKREXcaC9pvqZqyqhyQW+jQjQ="; } // gqlgen ); in buildPythonPackage rec { - inherit src version; + inherit src version patches; pname = "buildsrht"; pyproject = true; disabled = pythonOlder "3.7"; - postPatch = '' - substituteInPlace Makefile \ - --replace "all: api worker" "" - ''; - nativeBuildInputs = [ pip - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -78,9 +75,14 @@ buildPythonPackage rec { lxml ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' @@ -89,8 +91,10 @@ buildPythonPackage rec { cp -r images $out/lib cp contrib/submit_image_build $out/bin/builds.sr.ht - ln -s ${buildsrht-api}/bin/api $out/bin/buildsrht-api - ln -s ${buildsrht-worker}/bin/worker $out/bin/buildsrht-worker + ln -s ${buildsrht-api}/bin/api $out/bin/builds.sr.ht-api + ln -s ${buildsrht-worker}/bin/worker $out/bin/builds.sr.ht-worker + install -Dm644 schema.sql $out/share/sourcehut/builds.sr.ht-schema.sql + make install-share ''; pythonImportsCheck = [ "buildsrht" ]; diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix index c8dc6e41ce9c..d600117e225f 100644 --- a/pkgs/applications/version-management/sourcehut/core.nix +++ b/pkgs/applications/version-management/sourcehut/core.nix @@ -24,12 +24,12 @@ sassc, pythonOlder, minify, - setuptools, + setuptools-scm, }: buildPythonPackage rec { pname = "srht"; - version = "0.71.8"; + version = "0.76.1"; pyproject = true; disabled = pythonOlder "3.7"; @@ -38,7 +38,7 @@ buildPythonPackage rec { owner = "~sircmpwn"; repo = "core.sr.ht"; rev = version; - hash = "sha256-rDpm2HJOWScvIxOmHcat6y4CWdBE9T2gE/jZskYAFB0="; + hash = "sha256-lAN1JZXQuN2zxi/BdBtbNj52LPj9iYn0WB2OpyQcyuU="; fetchSubmodules = true; }; @@ -48,7 +48,7 @@ buildPythonPackage rec { ]; nativeBuildInputs = [ - setuptools + setuptools-scm ]; propagatedNativeBuildInputs = [ @@ -81,12 +81,19 @@ buildPythonPackage rec { importlib-metadata ]; - PKGVER = version; + env = { + PREFIX = placeholder "out"; + PKGVER = version; + }; + + postInstall = '' + make install + ''; pythonImportsCheck = [ "srht" ]; meta = with lib; { - homepage = "https://git.sr.ht/~sircmpwn/srht"; + homepage = "https://git.sr.ht/~sircmpwn/core.sr.ht"; description = "Core modules for sr.ht"; license = licenses.bsd3; maintainers = with maintainers; [ diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix index 289e2ff2554a..ede187a215fc 100644 --- a/pkgs/applications/version-management/sourcehut/default.nix +++ b/pkgs/applications/version-management/sourcehut/default.nix @@ -5,8 +5,6 @@ recurseIntoAttrs, nixosTests, config, - fetchPypi, - fetchpatch, }: # To expose the *srht modules, they have to be a python module so we use `buildPythonModule` @@ -29,75 +27,6 @@ let todosrht = self.callPackage ./todo.nix { }; scmsrht = self.callPackage ./scm.nix { }; - - # sourcehut is not (yet) compatible with SQLAlchemy 2.x - sqlalchemy = super.sqlalchemy_1_4; - - # sourcehut is not (yet) compatible with flask-sqlalchemy 3.x - flask-sqlalchemy = super.flask-sqlalchemy.overridePythonAttrs (oldAttrs: rec { - version = "2.5.1"; - format = "setuptools"; - src = fetchPypi { - pname = "Flask-SQLAlchemy"; - inherit version; - hash = "sha256-K9pEtD58rLFdTgX/PMH4vJeTbMRkYjQkECv8LDXpWRI="; - }; - propagatedBuildInputs = with self; [ - flask - sqlalchemy - ]; - disabledTests = [ "test_persist_selectable" ]; - }); - - # flask-sqlalchemy 2.x requires flask 2.x - flask = super.flask.overridePythonAttrs (oldAttrs: rec { - version = "2.3.3"; - src = fetchPypi { - inherit (oldAttrs) pname; - inherit version; - hash = "sha256-CcNHqSqn/0qOfzIGeV8w2CZlS684uHPQdEzVccpgnvw="; - }; - }); - - # flask 2.x requires werkzeug 2.x - werkzeug = super.werkzeug.overridePythonAttrs (oldAttrs: rec { - version = "2.3.8"; - src = fetchPypi { - inherit (oldAttrs) pname; - inherit version; - hash = "sha256-VUslfHS763oNJUFgpPj/4YUkP1KlIDUGC3Ycpi2XfwM="; - }; - # Fixes a test failure with Pytest 8 - patches = (oldAttrs.patches or [ ]) ++ [ - (fetchpatch { - url = "https://github.com/pallets/werkzeug/commit/4e5bdca7f8227d10cae828f8064fb98190ace4aa.patch"; - hash = "sha256-83doVvfdpymlAB0EbfrHmuoKE5B2LJbFq+AY2xGpnl4="; - }) - ]; - nativeCheckInputs = oldAttrs.nativeCheckInputs or [ ] ++ [ self.pytest-xprocess ]; - }); - - # sourcehut is not (yet) compatible with factory-boy 3.x - factory-boy = super.factory-boy.overridePythonAttrs (oldAttrs: rec { - version = "2.12.0"; - src = fetchPypi { - pname = "factory_boy"; - inherit version; - hash = "sha256-+vSNYIoXNfDQo8nL9TbWT5EytUfa57pFLE2Zp56Eo3A="; - }; - nativeCheckInputs = - (with super; [ - django - mongoengine - pytestCheckHook - ]) - ++ (with self; [ - sqlalchemy - flask - flask-sqlalchemy - ]); - postPatch = ""; - }); }; }; in diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix index 887dac1a7070..cf58b41994e5 100644 --- a/pkgs/applications/version-management/sourcehut/git.nix +++ b/pkgs/applications/version-management/sourcehut/git.nix @@ -11,42 +11,44 @@ pythonOlder, unzip, pip, - setuptools, + setuptools-scm, }: let - version = "0.85.9"; + version = "0.88.10"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.42"; + gqlgenVersion = "0.17.64"; }; src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "git.sr.ht"; rev = version; - hash = "sha256-tmbBw6x3nqN9nRIR3xOXQ+L5EACXLQYLXQYK3lsOsAI="; + hash = "sha256-o7d2EIx9oJAQSIrMMG/TYjAo7PJwT6rE8kcVMKoYenY="; }; + patches = [ ./patches/core-go-update/git/patch-deps.patch ]; + gitApi = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "gitsrht-api"; modRoot = "api"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + vendorHash = "sha256-20SxOZrvj41L8A5nuOro9DYiK6FyhwJK5cNAvxPB7qw="; } // gqlgen ); gitDispatch = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "gitsrht-dispatch"; - modRoot = "gitsrht-dispatch"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + modRoot = "dispatch"; + vendorHash = "sha256-MXLF7vO8SmUkU1nOxhObuzjT2ZRQQluIX7TRrxL7/3Y="; postPatch = '' - substituteInPlace gitsrht-dispatch/main.go \ - --replace /var/log/gitsrht-dispatch /var/log/sourcehut/gitsrht-dispatch + substituteInPlace dispatch/main.go \ + --replace-fail /var/log/git.sr.ht-dispatch /var/log/sourcehut/git.sr.ht-dispatch ''; } // gqlgen @@ -54,14 +56,14 @@ let gitKeys = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "gitsrht-keys"; - modRoot = "gitsrht-keys"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + modRoot = "keys"; + vendorHash = "sha256-MXLF7vO8SmUkU1nOxhObuzjT2ZRQQluIX7TRrxL7/3Y="; postPatch = '' - substituteInPlace gitsrht-keys/main.go \ - --replace /var/log/gitsrht-keys /var/log/sourcehut/gitsrht-keys + substituteInPlace keys/main.go \ + --replace-fail /var/log/git.sr.ht-keys /var/log/sourcehut/git.sr.ht-keys ''; } // gqlgen @@ -69,14 +71,14 @@ let gitShell = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "gitsrht-shell"; - modRoot = "gitsrht-shell"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + modRoot = "shell"; + vendorHash = "sha256-MXLF7vO8SmUkU1nOxhObuzjT2ZRQQluIX7TRrxL7/3Y="; postPatch = '' - substituteInPlace gitsrht-shell/main.go \ - --replace /var/log/gitsrht-shell /var/log/sourcehut/gitsrht-shell + substituteInPlace shell/main.go \ + --replace-fail /var/log/git.sr.ht-shell /var/log/sourcehut/git.sr.ht-shell ''; } // gqlgen @@ -84,34 +86,29 @@ let gitUpdateHook = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "gitsrht-update-hook"; - modRoot = "gitsrht-update-hook"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + modRoot = "update-hook"; + vendorHash = "sha256-MXLF7vO8SmUkU1nOxhObuzjT2ZRQQluIX7TRrxL7/3Y="; postPatch = '' - substituteInPlace gitsrht-update-hook/main.go \ - --replace /var/log/gitsrht-update-hook /var/log/sourcehut/gitsrht-update-hook + substituteInPlace update-hook/main.go \ + --replace-fail /var/log/git.sr.ht-update-hook /var/log/sourcehut/git.sr.ht-update-hook ''; } // gqlgen ); in buildPythonPackage rec { - inherit src version; + inherit src version patches; pname = "gitsrht"; pyproject = true; disabled = pythonOlder "3.7"; - postPatch = '' - substituteInPlace Makefile \ - --replace "all: api gitsrht-dispatch gitsrht-keys gitsrht-shell gitsrht-update-hook" "" - ''; - nativeBuildInputs = [ pip - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -121,18 +118,25 @@ buildPythonPackage rec { minio ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' mkdir -p $out/bin - ln -s ${gitApi}/bin/api $out/bin/gitsrht-api - ln -s ${gitDispatch}/bin/gitsrht-dispatch $out/bin/gitsrht-dispatch - ln -s ${gitKeys}/bin/gitsrht-keys $out/bin/gitsrht-keys - ln -s ${gitShell}/bin/gitsrht-shell $out/bin/gitsrht-shell - ln -s ${gitUpdateHook}/bin/gitsrht-update-hook $out/bin/gitsrht-update-hook + ln -s ${gitApi}/bin/api $out/bin/git.sr.ht-api + ln -s ${gitDispatch}/bin/dispatch $out/bin/git.sr.ht-dispatch + ln -s ${gitKeys}/bin/keys $out/bin/git.sr.ht-keys + ln -s ${gitShell}/bin/shell $out/bin/git.sr.ht-shell + ln -s ${gitUpdateHook}/bin/update-hook $out/bin/git.sr.ht-update-hook + install -Dm644 schema.sql $out/share/sourcehut/git.sr.ht-schema.sql + make PREFIX=$out install-share ''; pythonImportsCheck = [ "gitsrht" ]; diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix index 23e99349d24d..59642035e236 100644 --- a/pkgs/applications/version-management/sourcehut/hg.nix +++ b/pkgs/applications/version-management/sourcehut/hg.nix @@ -1,6 +1,7 @@ { lib, fetchFromSourcehut, + fetchpatch, buildGoModule, buildPythonPackage, srht, @@ -11,65 +12,71 @@ unzip, pip, pythonOlder, - setuptools, + setuptools-scm, }: let - version = "0.33.0"; + version = "0.36.1"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.45"; + gqlgenVersion = "0.17.64"; }; - pyproject = true; - - disabled = pythonOlder "3.7"; + patches = [ + (fetchpatch { + name = "update-core-go-and-gqlgen.patch"; + url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht/rev/2765f086c3a67e00219cabe9a1dd01b2012c5c12.patch"; + hash = "sha256-MLZG07tD7vrfvx2GDRUvFd/7VxxZLrAa/C3bB/IvQpI="; + }) + ./patches/core-go-update/hg/patch-deps.patch + ]; src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "hg.sr.ht"; rev = version; - hash = "sha256-+BYeE+8dXY/MLLYyBBLD+eKqmrPiKyyCGIZLkCPzNYM="; + hash = "sha256-EeWRUb/BZ+KJXNqmzCFYHkvWUaPvF/F7ZaOYM0IEYwk="; vc = "hg"; }; hgsrht-api = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "hgsrht-api"; modRoot = "api"; - vendorHash = "sha256-K+KMhcvkG/qeQTnlHS4xhLCcvBQNNp2DcScJPm8Dbic="; + vendorHash = "sha256-elaVmyaO5IbzsnBYRjJvmoOFR8gx1xCfzd3z01KNXVA="; } // gqlgen ); hgsrht-keys = buildGoModule { - inherit src version; + inherit src version patches; pname = "hgsrht-keys"; - modRoot = "hgsrht-keys"; - vendorHash = "sha256-7ti8xCjSrxsslF7/1X/GY4FDl+69hPL4UwCDfjxmJLU="; + modRoot = "keys"; + vendorHash = "sha256-U5NtgyUgVqI25XBg51U7glNRpR5MZBCcsuuR6f+gZc8="; postPatch = '' - substituteInPlace hgsrht-keys/main.go \ - --replace /var/log/hgsrht-keys /var/log/sourcehut/hgsrht-keys + substituteInPlace keys/main.go \ + --replace-fail /var/log/hg.sr.ht-keys /var/log/sourcehut/hg.sr.ht-keys ''; }; in buildPythonPackage rec { - inherit src version; + inherit src version patches; pname = "hgsrht"; - postPatch = '' - substituteInPlace Makefile \ - --replace "all: api hgsrht-keys" "" + pyproject = true; - substituteInPlace hgsrht-shell \ - --replace /var/log/hgsrht-shell /var/log/sourcehut/hgsrht-shell + disabled = pythonOlder "3.7"; + + postPatch = '' + substituteInPlace hg.sr.ht-shell \ + --replace-fail /var/log/hg.sr.ht-shell /var/log/sourcehut/hg.sr.ht-shell ''; nativeBuildInputs = [ pip - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -79,20 +86,27 @@ buildPythonPackage rec { unidiff ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' - ln -s ${hgsrht-api}/bin/api $out/bin/hgsrht-api - ln -s ${hgsrht-keys}/bin/hgsrht-keys $out/bin/hgsrht-keys + ln -s ${hgsrht-api}/bin/api $out/bin/hg.sr.ht-api + ln -s ${hgsrht-keys}/bin/hgsrht-keys $out/bin/hg.sr.ht-keys + install -Dm644 schema.sql $out/share/sourcehut/hg.sr.ht-schema.sql + make install-share ''; pythonImportsCheck = [ "hgsrht" ]; meta = with lib; { - homepage = "https://git.sr.ht/~sircmpwn/hg.sr.ht"; + homepage = "https://hg.sr.ht/~sircmpwn/hg.sr.ht"; description = "Mercurial repository hosting service for the sr.ht network"; license = licenses.agpl3Only; maintainers = with maintainers; [ diff --git a/pkgs/applications/version-management/sourcehut/hub.nix b/pkgs/applications/version-management/sourcehut/hub.nix index 5a800275e4ca..52b30b793ab6 100644 --- a/pkgs/applications/version-management/sourcehut/hub.nix +++ b/pkgs/applications/version-management/sourcehut/hub.nix @@ -5,7 +5,7 @@ buildPythonPackage, python, srht, - setuptools, + setuptools-scm, pip, pyyaml, pythonOlder, @@ -13,43 +13,41 @@ }: let - version = "0.17.7"; + version = "0.20.2"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.43"; + gqlgenVersion = "0.17.64"; }; + patches = [ ./patches/core-go-update/hub/patch-deps.patch ]; + src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "hub.sr.ht"; rev = version; - hash = "sha256-IyY7Niy/vZSAXjYZMlxY6uuQ8nH/4yT4+MaRjHtl6G4="; + hash = "sha256-blaaJ7kQBkswmSpEVEsDm6vaxuMuCcW2wmeN+fbwzjg="; }; hubsrht-api = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "hubsrht-api"; modRoot = "api"; - vendorHash = "sha256-GVN11nEJqIHh8MtKvIXe4zcUwJph9eTSkJ2R+ufD+ic="; + vendorHash = "sha256-jKNHZrFydp3+cD8MR2izzE8bi4H2uT/7+x/wmPkEIIc="; } // gqlgen ); in buildPythonPackage rec { - inherit src version; + inherit src version patches; pname = "hubsrht"; pyproject = true; disabled = pythonOlder "3.7"; - postPatch = '' - substituteInPlace Makefile --replace "all: api" "" - ''; - nativeBuildInputs = [ pip - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -57,13 +55,20 @@ buildPythonPackage rec { pyyaml ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' - ln -s ${hubsrht-api}/bin/api $out/bin/hubsrht-api + ln -s ${hubsrht-api}/bin/api $out/bin/hub.sr.ht-api + install -Dm644 schema.sql $out/share/sourcehut/hub.sr.ht-schema.sql + make install-share ''; # Module has no tests diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix index 8115410b8e33..f36515a55b7b 100644 --- a/pkgs/applications/version-management/sourcehut/lists.nix +++ b/pkgs/applications/version-management/sourcehut/lists.nix @@ -12,48 +12,45 @@ unzip, pip, pythonOlder, - setuptools, + setuptools-scm, }: let - version = "0.57.18"; + version = "0.62.3"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.45"; + gqlgenVersion = "0.17.64"; }; + patches = [ ./patches/core-go-update/lists/patch-deps.patch ]; + src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "lists.sr.ht"; rev = version; - hash = "sha256-l+QPocnwHTjrU+M0wnm4tBrbz8KmSb6DovC+skuAnLc="; + hash = "sha256-HU3hnKdIoseCo1/lt3GIOQ5d3joykN11/Bzvk4xvH4Y="; }; listssrht-api = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "listssrht-api"; modRoot = "api"; - vendorHash = "sha256-UeVs/+uZNtv296bzXIBio2wcg3Uzu3fBM4APzF9O0hY="; + vendorHash = "sha256-XKDEr8ESs9oBh7DKu2jgPEMDY99nN25inkNwU/rrza8="; } // gqlgen ); in buildPythonPackage rec { - inherit src version; + inherit src version patches; pname = "listssrht"; pyproject = true; disabled = pythonOlder "3.7"; - postPatch = '' - substituteInPlace Makefile \ - --replace "all: api" "" - ''; - nativeBuildInputs = [ pip - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -65,13 +62,20 @@ buildPythonPackage rec { emailthreads ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' - ln -s ${listssrht-api}/bin/api $out/bin/listssrht-api + ln -s ${listssrht-api}/bin/api $out/bin/lists.sr.ht-api + install -Dm644 schema.sql $out/share/sourcehut/lists.sr.ht-schema.sql + make install-share ''; pythonImportsCheck = [ "listssrht" ]; diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix index a9c2cc8a2c55..8b9e0525a926 100644 --- a/pkgs/applications/version-management/sourcehut/man.nix +++ b/pkgs/applications/version-management/sourcehut/man.nix @@ -9,47 +9,45 @@ unzip, pip, pythonOlder, - setuptools, + setuptools-scm, }: let - version = "0.16.5"; + version = "0.18.1"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.43"; + gqlgenVersion = "0.17.64"; }; + patches = [ ./patches/core-go-update/man/patch-deps.patch ]; + src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "man.sr.ht"; rev = version; - hash = "sha256-JFMtif2kIE/fs5PNcQtkJikAFNszgZTU7BG/8fTncTI="; + hash = "sha256-c2xFC1pmOSGGMP4RVOmgFogj7CY2kHrADsWsm7M5ZK4="; }; mansrht-api = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "mansrht-api"; modRoot = "api"; - vendorHash = "sha256-GVN11nEJqIHh8MtKvIXe4zcUwJph9eTSkJ2R+ufD+ic="; + vendorHash = "sha256-jKNHZrFydp3+cD8MR2izzE8bi4H2uT/7+x/wmPkEIIc="; } // gqlgen ); in buildPythonPackage rec { - inherit src version; + inherit src version patches; pname = "mansrht"; pyproject = true; disabled = pythonOlder "3.7"; - postPatch = '' - substituteInPlace Makefile --replace "all: api" "" - ''; - nativeBuildInputs = [ pip - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -57,13 +55,20 @@ buildPythonPackage rec { pygit2 ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' - ln -s ${mansrht-api}/bin/api $out/bin/mansrht-api + ln -s ${mansrht-api}/bin/api $out/bin/man.sr.ht-api + install -Dm644 schema.sql $out/share/sourcehut/man.sr.ht-schema.sql + make install-share ''; pythonImportsCheck = [ "mansrht" ]; diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix index ec1893968c13..356812b643d8 100644 --- a/pkgs/applications/version-management/sourcehut/meta.nix +++ b/pkgs/applications/version-management/sourcehut/meta.nix @@ -16,47 +16,44 @@ unzip, pip, pythonOlder, - setuptools, + setuptools-scm, }: let - version = "0.69.8"; + version = "0.72.11"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.43"; + gqlgenVersion = "0.17.64"; }; + patches = [ ./patches/core-go-update/meta/patch-deps.patch ]; + src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "meta.sr.ht"; rev = version; - hash = "sha256-K7p6cytkPYgUuYr7BVfU/+sVbSr2YEmreIDnTatUMyk="; + hash = "sha256-dh+9wSQLL69xZ2Elmkyb9vEwpE7U7szz62VVS/0IM7Q="; }; metasrht-api = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "metasrht-api"; modRoot = "api"; - vendorHash = "sha256-vIkUK1pigVU8vZL5xpHLeinOga5eXXHTuDkHxwUz6uM="; + vendorHash = "sha256-z4gRqI05t3m7ANyDJHmBcOCW476IG/eTfLetPRPbqtg="; } // gqlgen ); in buildPythonPackage rec { pname = "metasrht"; - inherit version src; + inherit version src patches; pyproject = true; disabled = pythonOlder "3.7"; - postPatch = '' - substituteInPlace Makefile \ - --replace "all: api" "" - ''; - nativeBuildInputs = [ pip - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -71,14 +68,21 @@ buildPythonPackage rec { zxcvbn ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' mkdir -p $out/bin - ln -s ${metasrht-api}/bin/api $out/bin/metasrht-api + ln -s ${metasrht-api}/bin/api $out/bin/meta.sr.ht-api + install -Dm644 schema.sql $out/share/sourcehut/meta.sr.ht-schema.sql + make install-share ''; pythonImportsCheck = [ "metasrht" ]; diff --git a/pkgs/applications/version-management/sourcehut/pages.nix b/pkgs/applications/version-management/sourcehut/pages.nix index 03c6ed31fee2..cd3aa0db0ce7 100644 --- a/pkgs/applications/version-management/sourcehut/pages.nix +++ b/pkgs/applications/version-management/sourcehut/pages.nix @@ -8,25 +8,23 @@ buildGoModule ( rec { pname = "pagessrht"; - version = "0.15.7"; + version = "0.16.0"; src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "pages.sr.ht"; rev = version; - hash = "sha256-Lobuf12ybSO7Y4ztOLMFW0dmPFaBSEPCy4Nmh89tylI="; + hash = "sha256-XnKNXYzg9wuL4U2twkAspaQJZy2HWLQQQl9AITtipVU="; }; + patches = ./patches/core-go-update/pages/patch-deps.patch; + postPatch = '' substituteInPlace Makefile \ - --replace "all: server" "" - - # fix build failure due to unused import - substituteInPlace server.go \ - --replace-warn ' "fmt"' "" + --replace-fail "all: server daily" "" ''; - vendorHash = "sha256-9hpOkP6AYSZe7MW1mrwFEKq7TvVt6OcF6eHWY4jARuU="; + vendorHash = "sha256-klDROxNvR7lk79ptckulImVVwsAfcnKtJJAaevlZSWU="; postInstall = '' mkdir -p $out/share/sql/ @@ -48,6 +46,6 @@ buildGoModule ( } // import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.42"; + gqlgenVersion = "0.17.64"; } ) diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix index 3e0800f6b014..e4208de8cd08 100644 --- a/pkgs/applications/version-management/sourcehut/paste.nix +++ b/pkgs/applications/version-management/sourcehut/paste.nix @@ -8,49 +8,46 @@ pyyaml, python, pythonOlder, - setuptools, + setuptools-scm, unzip, }: let - version = "0.15.4"; + version = "0.16.1"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.45"; + gqlgenVersion = "0.17.64"; }; + patches = [ ./patches/core-go-update/paste/patch-deps.patch ]; + src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "paste.sr.ht"; rev = version; - hash = "sha256-M38hAMRdMzcqxJv7j7foOIYEImr/ZYz/lbYOF9R9g2M="; + hash = "sha256-SWtkE2/sTTJo0zAVFRfsA7fVF359OvgiHOT+yRaiads="; }; pastesrht-api = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "pastesrht-api"; modRoot = "api"; - vendorHash = "sha256-vt5nSPcx+Y/SaWcqjV38DTL3ZtzmdjbkJYMv5Fhhnq4="; + vendorHash = "sha256-uVqxPa1YggPgdSzGzXxVNdf4dM2DPGDXajkSXz4NhFM="; } // gqlgen ); in buildPythonPackage rec { - inherit src version; + inherit src version patches; pname = "pastesrht"; pyproject = true; disabled = pythonOlder "3.7"; - postPatch = '' - substituteInPlace Makefile \ - --replace "all: api" "" - ''; - nativeBuildInputs = [ pip - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -58,14 +55,20 @@ buildPythonPackage rec { pyyaml ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' mkdir -p $out/bin - ln -s ${pastesrht-api}/bin/api $out/bin/pastesrht-api + ln -s ${pastesrht-api}/bin/api $out/bin/paste.sr.ht-api + make install-share ''; pythonImportsCheck = [ "pastesrht" ]; diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/builds/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/builds/patch-deps.patch new file mode 100644 index 000000000000..27017b57ed8c --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/builds/patch-deps.patch @@ -0,0 +1,25 @@ +diff --git a/go.mod b/go.mod +index 07f7c64..972b258 100644 +--- a/go.mod ++++ b/go.mod +@@ -5,7 +5,7 @@ go 1.22.5 + toolchain go1.24.0 + + require ( +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/Masterminds/squirrel v1.5.4 +diff --git a/go.sum b/go.sum +index aaccf89..73bfe7c 100644 +--- a/go.sum ++++ b/go.sum +@@ -1,5 +1,7 @@ + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/git/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/git/patch-deps.patch new file mode 100644 index 000000000000..f6e1d18e3c5c --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/git/patch-deps.patch @@ -0,0 +1,26 @@ +diff --git a/go.mod b/go.mod +index b1e0834..8299f9b 100644 +--- a/go.mod ++++ b/go.mod +@@ -5,7 +5,7 @@ go 1.22.5 + toolchain go1.24.0 + + require ( +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + git.sr.ht/~sircmpwn/scm.sr.ht/srht-keys v0.0.0-20241202093706-8da5ec7e6b94 + git.sr.ht/~turminal/go-fnmatch v0.0.0-20211021204744-1a55764af6de +diff --git a/go.sum b/go.sum +index 193cce9..9b0bda4 100644 +--- a/go.sum ++++ b/go.sum +@@ -35,6 +35,8 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7 + git.sr.ht/~sircmpwn/core-go v0.0.0-20240124105042-864816cfbc0c/go.mod h1:OovCpg5LsbYJjmDTpk5wUgHM4tUor736Pmxekm9BUcQ= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20221010085743-46c4299d76a1/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/hg/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/hg/patch-deps.patch new file mode 100644 index 000000000000..6ab931be71e9 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/hg/patch-deps.patch @@ -0,0 +1,25 @@ +diff --git a/go.mod b/go.mod +index ba49458..3a31083 100644 +--- a/go.mod ++++ b/go.mod +@@ -5,7 +5,7 @@ go 1.22.5 + toolchain go1.24.0 + + require ( +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/Masterminds/squirrel v1.5.4 +diff --git a/go.sum b/go.sum +index 61766aa..e01c045 100644 +--- a/go.sum ++++ b/go.sum +@@ -1,5 +1,7 @@ + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/hub/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/hub/patch-deps.patch new file mode 100644 index 000000000000..495783f16b21 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/hub/patch-deps.patch @@ -0,0 +1,25 @@ +diff --git a/go.mod b/go.mod +index ea624d5..3674152 100644 +--- a/go.mod ++++ b/go.mod +@@ -5,7 +5,7 @@ go 1.22.5 + toolchain go1.24.0 + + require ( +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/vektah/gqlparser/v2 v2.5.23 +diff --git a/go.sum b/go.sum +index f67a555..a366a60 100644 +--- a/go.sum ++++ b/go.sum +@@ -1,5 +1,7 @@ + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/lists/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/lists/patch-deps.patch new file mode 100644 index 000000000000..cd6054d9408c --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/lists/patch-deps.patch @@ -0,0 +1,26 @@ +diff --git a/go.mod b/go.mod +index da34484..24757a0 100644 +--- a/go.mod ++++ b/go.mod +@@ -6,7 +6,7 @@ toolchain go1.24.0 + + require ( + git.sr.ht/~emersion/go-emailthreads v0.0.0-20230220165133-75c43015b6c2 +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/Masterminds/squirrel v1.5.4 +diff --git a/go.sum b/go.sum +index 4590dd5..0c49985 100644 +--- a/go.sum ++++ b/go.sum +@@ -2,6 +2,8 @@ git.sr.ht/~emersion/go-emailthreads v0.0.0-20230220165133-75c43015b6c2 h1:5CkkRD + git.sr.ht/~emersion/go-emailthreads v0.0.0-20230220165133-75c43015b6c2/go.mod h1:CQUF7XpyupxjwxlNX3PHRCYL+N2COXTRRRS4MgM49R4= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/man/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/man/patch-deps.patch new file mode 100644 index 000000000000..581f42528f51 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/man/patch-deps.patch @@ -0,0 +1,25 @@ +diff --git a/go.mod b/go.mod +index 21c7713..8f158a2 100644 +--- a/go.mod ++++ b/go.mod +@@ -5,7 +5,7 @@ go 1.22.5 + toolchain go1.24.0 + + require ( +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/vektah/gqlparser/v2 v2.5.23 +diff --git a/go.sum b/go.sum +index f67a555..a366a60 100644 +--- a/go.sum ++++ b/go.sum +@@ -1,5 +1,7 @@ + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/meta/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/meta/patch-deps.patch new file mode 100644 index 000000000000..7163246928a9 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/meta/patch-deps.patch @@ -0,0 +1,26 @@ +diff --git a/go.mod b/go.mod +index 463f022..a7dc400 100644 +--- a/go.mod ++++ b/go.mod +@@ -8,7 +8,7 @@ require ( + git.sr.ht/~emersion/go-oauth2 v0.0.0-20240217160856-2e0d6e20b088 + git.sr.ht/~emersion/gqlclient v0.0.0-20230820050442-8873fe0204b9 + git.sr.ht/~sircmpwn/abused v0.0.0-20240216134550-21e8606c6f89 +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250311090327-1e3cd785af1e ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/Masterminds/squirrel v1.5.4 +diff --git a/go.sum b/go.sum +index 9c08b1a..abf1a58 100644 +--- a/go.sum ++++ b/go.sum +@@ -6,6 +6,8 @@ git.sr.ht/~sircmpwn/abused v0.0.0-20240216134550-21e8606c6f89 h1:usW1i77LjfTfNzX + git.sr.ht/~sircmpwn/abused v0.0.0-20240216134550-21e8606c6f89/go.mod h1:A+FTCDOSRA0naGMcM9OenO7kMhBxj+Kbd+4nBpg6NO4= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250311090327-1e3cd785af1e h1:epi/OdTKtazVbHHn1Qunx+nSHt96+xBBiNgs+SgRGwo= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250311090327-1e3cd785af1e/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/pages/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/pages/patch-deps.patch new file mode 100644 index 000000000000..fad46f85377b --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/pages/patch-deps.patch @@ -0,0 +1,25 @@ +diff --git a/go.mod b/go.mod +index 67aa15c..baffe8e 100644 +--- a/go.mod ++++ b/go.mod +@@ -6,7 +6,7 @@ toolchain go1.24.0 + + require ( + git.sr.ht/~adnano/go-gemini v0.2.3 +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250326085317-29a3ebfee9d0 ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/CAFxX/httpcompression v0.0.9 +diff --git a/go.sum b/go.sum +index ccd1f94..0945505 100644 +--- a/go.sum ++++ b/go.sum +@@ -1,5 +1,7 @@ + git.sr.ht/~adnano/go-gemini v0.2.3 h1:oJ+Y0/mheZ4Vg0ABjtf5dlmvq1yoONStiaQvmWWkofc= + git.sr.ht/~adnano/go-gemini v0.2.3/go.mod h1:hQ75Y0i5jSFL+FQ7AzWVAYr5LQsaFC7v3ZviNyj46dY= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250326085317-29a3ebfee9d0 h1:jFSTrW57GbcDoW850vw95zg0pLS1pe+cD5JtAQJ54ho= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250326085317-29a3ebfee9d0/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/paste/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/paste/patch-deps.patch new file mode 100644 index 000000000000..f381b0f186d2 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/paste/patch-deps.patch @@ -0,0 +1,25 @@ +diff --git a/go.mod b/go.mod +index bc39fc4..bd01e53 100644 +--- a/go.mod ++++ b/go.mod +@@ -5,7 +5,7 @@ go 1.22.5 + toolchain go1.24.0 + + require ( +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/Masterminds/squirrel v1.5.4 +diff --git a/go.sum b/go.sum +index 61766aa..e01c045 100644 +--- a/go.sum ++++ b/go.sum +@@ -1,5 +1,7 @@ + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b h1:d76irAQODAtl5G1zmKfwf60544fyGz74YT9k+7yYVxc= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250304085405-cbf919e45b5b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= diff --git a/pkgs/applications/version-management/sourcehut/patches/core-go-update/todo/patch-deps.patch b/pkgs/applications/version-management/sourcehut/patches/core-go-update/todo/patch-deps.patch new file mode 100644 index 000000000000..b54e77147ed8 --- /dev/null +++ b/pkgs/applications/version-management/sourcehut/patches/core-go-update/todo/patch-deps.patch @@ -0,0 +1,25 @@ +diff --git a/go.mod b/go.mod +index a352cfd..ab4beae 100644 +--- a/go.mod ++++ b/go.mod +@@ -5,7 +5,7 @@ go 1.22.5 + toolchain go1.24.0 + + require ( +- git.sr.ht/~sircmpwn/core-go v0.0.0-20250306104433-8e729e7539f4 ++ git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c + github.com/99designs/gqlgen v0.17.64 + github.com/Masterminds/squirrel v1.5.4 +diff --git a/go.sum b/go.sum +index 5342a85..50c87f1 100644 +--- a/go.sum ++++ b/go.sum +@@ -1,5 +1,7 @@ + git.sr.ht/~sircmpwn/core-go v0.0.0-20250306104433-8e729e7539f4 h1:LvEcAyN0YDwqsa7QkFXne0bQEWAod6jAI2VIc+kk5sk= + git.sr.ht/~sircmpwn/core-go v0.0.0-20250306104433-8e729e7539f4/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b h1:UuQxEJrh/NNdmaVcK34opEz7ypXnPyxeRcT7Aigz+7E= ++git.sr.ht/~sircmpwn/core-go v0.0.0-20250311210855-6ba248d8be1b/go.mod h1:UHi3kXwgfZ/DIbMu5LeqZb3KrY/jsdUDefc8+3YWC3c= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c h1:v2opuaN0C5ZpuCifRNR9ZQ8V9IG+Ja80otK1MFj5RnI= + git.sr.ht/~sircmpwn/dowork v0.0.0-20241216125407-2b00aa42322c/go.mod h1:8neHEO3503w/rNtttnR0JFpQgM/GFhaafVwvkPsFIDw= + git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= diff --git a/pkgs/applications/version-management/sourcehut/patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch b/pkgs/applications/version-management/sourcehut/patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch index 889331f3e07f..fb2c32033128 100644 --- a/pkgs/applications/version-management/sourcehut/patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch +++ b/pkgs/applications/version-management/sourcehut/patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch @@ -23,16 +23,17 @@ diff --git a/srht/metrics.py b/srht/metrics.py index 68caf8e..2df5777 100644 --- a/srht/metrics.py +++ b/srht/metrics.py -@@ -1,11 +1,12 @@ +@@ -1,12 +1,12 @@ import time +from celery import Celery from prometheus_client.metrics_core import GaugeMetricFamily - from redis import Redis, ResponseError + from redis import ResponseError +-from srht.redis import from_url class RedisQueueCollector: def __init__(self, broker, name, documentation, queue_name="celery"): -- self.redis = Redis.from_url(broker) +- self.redis = from_url(broker) + self.redis = Celery("collector", broker=broker).connection_for_read().channel().client self.queue_name = queue_name self.name = name diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix index cdccbe1a56e6..0a9bf574620f 100644 --- a/pkgs/applications/version-management/sourcehut/scm.nix +++ b/pkgs/applications/version-management/sourcehut/scm.nix @@ -6,12 +6,12 @@ pyyaml, buildsrht, pythonOlder, - setuptools, + setuptools-scm, }: buildPythonPackage rec { pname = "scmsrht"; - version = "0.22.24"; + version = "0.22.28"; pyproject = true; disabled = pythonOlder "3.7"; @@ -20,11 +20,11 @@ buildPythonPackage rec { owner = "~sircmpwn"; repo = "scm.sr.ht"; rev = version; - hash = "sha256-9IgMmYzInfrten7z8bznlSFJlUjHf3k3z76lkP6tP50="; + hash = "sha256-+zxqiz5yPpgTwAw7w8GqJFb3OCcJEH/UhS5u2Xs7pzo="; }; nativeBuildInputs = [ - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -33,9 +33,7 @@ buildPythonPackage rec { buildsrht ]; - preBuild = '' - export PKGVER=${version} - ''; + env.PKGVER = version; pythonImportsCheck = [ "scmsrht" ]; diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix index de43d829fb4e..3d9374185563 100644 --- a/pkgs/applications/version-management/sourcehut/todo.nix +++ b/pkgs/applications/version-management/sourcehut/todo.nix @@ -10,47 +10,44 @@ python, unzip, pythonOlder, - setuptools, + setuptools-scm, }: let - version = "0.75.10"; + version = "0.77.5"; gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; - gqlgenVersion = "0.17.45"; + gqlgenVersion = "0.17.64"; }; src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "todo.sr.ht"; rev = version; - hash = "sha256-3dVZdupsygM7/6T1Mn7yRc776aa9pKgwF0hgZX6uVQ0="; + hash = "sha256-P+ypiW3GHoMClBmW5lUNAG6/sydHHnFGyGajmC3WARg="; }; + patches = [ ./patches/core-go-update/todo/patch-deps.patch ]; + todosrht-api = buildGoModule ( { - inherit src version; + inherit src version patches; pname = "todosrht-api"; modRoot = "api"; - vendorHash = "sha256-fImOQLnQLHTrg5ikuYRZ+u+78exAiYA19DGQoUjQBOM="; + vendorHash = "sha256-ny6cyUIgmupeU8SFP8+RSQU7DD3Lk+j+mZQBoXKv63I="; } // gqlgen ); in buildPythonPackage rec { - inherit src version; + inherit src version patches; pname = "todosrht"; pyproject = true; disabled = pythonOlder "3.7"; - postPatch = '' - substituteInPlace Makefile \ - --replace "all: api" "" - ''; - nativeBuildInputs = [ - setuptools + setuptools-scm ]; propagatedBuildInputs = [ @@ -58,13 +55,20 @@ buildPythonPackage rec { alembic ]; - preBuild = '' - export PKGVER=${version} - export SRHT_PATH=${srht}/${python.sitePackages}/srht + env = { + PKGVER = version; + SRHT_PATH = "${srht}/${python.sitePackages}/srht"; + PREFIX = placeholder "out"; + }; + + postBuild = '' + make SASSC_INCLUDE=-I${srht}/share/sourcehut/scss/ all-share ''; postInstall = '' - ln -s ${todosrht-api}/bin/api $out/bin/todosrht-api + ln -s ${todosrht-api}/bin/api $out/bin/todo.sr.ht-api + install -Dm644 schema.sql $out/share/sourcehut/todo.sr.ht-schema.sql + make install-share ''; # pytest tests fail diff --git a/pkgs/applications/video/mapmap/default.nix b/pkgs/applications/video/mapmap/default.nix deleted file mode 100644 index 0147a07b45ec..000000000000 --- a/pkgs/applications/video/mapmap/default.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - fetchpatch, - qttools, - qtmultimedia, - liblo, - gst_all_1, - qmake, - pkg-config, - wrapQtAppsHook, -}: - -with stdenv; - -mkDerivation rec { - - version = "0.6.2"; - pname = "mapmap"; - - src = fetchFromGitHub { - owner = "mapmapteam"; - repo = "mapmap"; - rev = version; - sha256 = "1pyb3vz19lbfz2hrfqm9a29vnajw1bigdrblbmcy32imkf4isfvm"; - }; - - nativeBuildInputs = [ - qmake - pkg-config - wrapQtAppsHook - ]; - - buildInputs = [ - qttools - qtmultimedia - liblo - gst_all_1.gstreamer - gst_all_1.gstreamermm - gst_all_1.gst-libav - gst_all_1.gst-vaapi - ]; - - patches = [ - (fetchpatch { - name = "message-handler-segfault.patch"; - url = "https://github.com/mapmapteam/mapmap/pull/519/commits/22eeee59ba7de6de7b73ecec3b0ea93bdc7f04e8.patch"; - sha256 = "0is905a4lf9vvl5b1n4ky6shrnbs5kz9mlwfk78hrl4zabfmcl5l"; - }) - # fix build with libsForQt515 - (fetchpatch { - url = "https://github.com/mapmapteam/mapmap/pull/518/commits/ac49acc1e2ec839832b86838e93a8c13030affeb.patch"; - sha256 = "sha256-tSLbyIDv5mSejnw9oru5KLAyQqjgJLLREKQomEUcGt8="; - }) - ]; - - installPhase = '' - mkdir -p $out/bin - cp mapmap $out/bin/mapmap - mkdir -p $out/share/applications/ - sed 's|Icon=/usr/share/icons/hicolor/scalable/apps/mapmap.svg|Icon=mapmap|g' resources/texts/mapmap.desktop > $out/share/applications/mapmap.desktop - mkdir -p $out/share/icons/hicolor/scalable/apps/ - cp resources/images/logo/mapmap.* $out/share/icons/hicolor/scalable/apps/ - ''; - - # RPATH in /tmp hack - # preFixup = '' - # rm -r $NIX_BUILD_TOP/__nix_qt5__ - # ''; - - meta = with lib; { - description = "Open source video mapping software"; - homepage = "https://github.com/mapmapteam/mapmap"; - license = licenses.gpl3; - maintainers = [ ]; - platforms = platforms.linux; - mainProgram = "mapmap"; - }; - -} diff --git a/pkgs/by-name/af/afpfs-ng/package.nix b/pkgs/by-name/af/afpfs-ng/package.nix deleted file mode 100644 index 75199dda96e9..000000000000 --- a/pkgs/by-name/af/afpfs-ng/package.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - fuse, - readline, - libgcrypt, - gmp, -}: - -stdenv.mkDerivation { - pname = "afpfs-ng"; - version = "0.8.2"; - - src = fetchFromGitHub { - owner = "simonvetter"; - repo = "afpfs-ng"; - rev = "f6e24eb73c9283732c3b5d9cb101a1e2e4fade3e"; - sha256 = "125jx1rsqkiifcffyjb05b2s36rllckdgjaf1bay15k9gzhwwldz"; - }; - - # Add workaround for -fno-common toolchains like upstream gcc-10 to - # avoid build failures like: - # ld: afpcmd-cmdline_main.o:/build/source/cmdline/cmdline_afp.h:4: multiple definition of - # `full_url'; afpcmd-cmdline_afp.o:/build/source/cmdline/cmdline_afp.c:27: first defined here - env.NIX_CFLAGS_COMPILE = "-fcommon"; - - buildInputs = [ - fuse - readline - libgcrypt - gmp - ]; - - meta = with lib; { - homepage = "https://github.com/simonvetter/afpfs-ng"; - description = "Client implementation of the Apple Filing Protocol"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.linux; - }; - -} diff --git a/pkgs/by-name/at/ats/install-atsdoc-hats-files.patch b/pkgs/by-name/at/ats/install-atsdoc-hats-files.patch deleted file mode 100644 index 93c6fa07d8a6..000000000000 --- a/pkgs/by-name/at/ats/install-atsdoc-hats-files.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- ats-lang-anairiats-0.2.11/Makefile 2013-12-10 00:43:52.000000000 +0100 -+++ ats-lang-anairiats-0.2.11/Makefile 2014-03-02 07:49:06.985837425 +0100 -@@ -97,7 +97,7 @@ - cd $(abs_top_srcdir) - [ -d $(bindir2) ] || $(MKDIR_P) $(bindir2) - $(MKDIR_P) $(ATSLIBHOME2)/bin -- find ccomp contrib doc libats libc prelude -type d \ -+ find ccomp contrib doc libats libatsdoc libc prelude -type d \ - -exec $(MKDIR_P) $(ATSLIBHOME2)/\{} \; \ - -print - -@@ -105,7 +105,7 @@ - # - # recursively install all files in the list except .svn control files. - # -- for d in ccomp/runtime contrib doc libats libc prelude; do \ -+ for d in ccomp/runtime contrib doc libats libatsdoc libc prelude; do \ - cd $(abs_top_srcdir) && \ - $(INSTALL) -d $(ATSLIBHOME2)/"$$d" && \ - find "$$d" -name .svn -prune -o -type f \ -@@ -143,6 +143,17 @@ - $(INSTALL) -m 755 ats_env.sh $(bindir2)/"$$b" && \ - echo [ats_env.sh] is installed into $(bindir2)/"$$b"; \ - done -+# -+# install atsdoc headers -+# -+ for f in \ -+ utils/atsdoc/SATS/*.sats utils/atsdoc/DATS/*.dats utils/atsdoc/HATS/*.hats; \ -+ do \ -+ [ -f "$$f" ] || continue; \ -+ cd $(abs_top_srcdir) && \ -+ $(INSTALL) -m 644 -D "$$f" $(ATSLIBHOME2)/"$$f" && \ -+ echo "$$f"; \ -+ done - - install:: install_files - diff --git a/pkgs/by-name/at/ats/package.nix b/pkgs/by-name/at/ats/package.nix deleted file mode 100644 index 227702fb316b..000000000000 --- a/pkgs/by-name/at/ats/package.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - gmp, -}: - -stdenv.mkDerivation rec { - pname = "ats"; - version = "0.2.12"; - - src = fetchurl { - url = "mirror://sourceforge/ats-lang/ats-lang-anairiats-${version}.tgz"; - sha256 = "0l2kj1fzhxwsklwmn5yj2vp9rmw4jg0b18bzwqz72bfi8i39736k"; - }; - - # this is necessary because atxt files usually include some .hats files - patches = [ ./install-atsdoc-hats-files.patch ]; - buildInputs = [ gmp ]; - - meta = { - description = "Functional programming language with dependent types"; - homepage = "http://www.ats-lang.org"; - license = lib.licenses.gpl3Plus; - # TODO: it looks like ATS requires gcc specifically. Someone with more knowledge - # will need to experiment. - platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.thoughtpolice ]; - }; -} diff --git a/pkgs/by-name/ax/axmldec/package.nix b/pkgs/by-name/ax/axmldec/package.nix deleted file mode 100644 index 7d8fba5a6d0d..000000000000 --- a/pkgs/by-name/ax/axmldec/package.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - cmake, - doxygen, - boost, - zlib, -}: - -stdenv.mkDerivation rec { - pname = "axmldec"; - version = "1.2.0"; - - src = fetchFromGitHub { - owner = "ytsutano"; - repo = "axmldec"; - rev = "v${version}"; - fetchSubmodules = true; - hash = "sha256-LFDZZbRDa8mQmglgS4DA/OqXp0HJZ2uqg1hbStdgvUw="; - }; - - nativeBuildInputs = [ - cmake - doxygen - ]; - buildInputs = [ - boost - zlib - ]; - - meta = with lib; { - description = "Stand-alone binary AndroidManifest.xml decoder"; - longDescription = '' - This tool accepts either a binary or a text XML file and prints the - decoded XML to the standard output or a file. It also allows you to - extract the decoded AndroidManifest.xml directly from an APK file. - ''; - homepage = "https://github.com/ytsutano/axmldec"; - changelog = "https://github.com/ytsutano/axmldec/releases/tag/${src.rev}"; - license = licenses.isc; - mainProgram = "axmldec"; - maintainers = with maintainers; [ franciscod ]; - platforms = platforms.unix ++ platforms.windows; - }; -} diff --git a/pkgs/by-name/br/brave/package.nix b/pkgs/by-name/br/brave/package.nix index 3690ace8ee78..3b6c71e68f31 100644 --- a/pkgs/by-name/br/brave/package.nix +++ b/pkgs/by-name/br/brave/package.nix @@ -3,24 +3,24 @@ let pname = "brave"; - version = "1.78.97"; + version = "1.78.102"; allArchives = { aarch64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb"; - hash = "sha256-7j03rArdHXYlB8g72DeXivnPVhmCjPd3rtbTsH4nAiU="; + hash = "sha256-V+Kwdb1k/IbAOJfQ9+Nvr75MTQoGhuXM59X0nNmMfTc="; }; x86_64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - hash = "sha256-SjaYmLCV/od2J6HFNyhh43/swQupl+rXfU8B1VvNXf8="; + hash = "sha256-S5eN33LlpQJFoPkurLKooGkPvqLCV70TjqHVj2e54rk="; }; aarch64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip"; - hash = "sha256-12z9MMUkSOZn7vg7VZ8i/dVdxHGTRcVe4M8ryInEdHw="; + hash = "sha256-BjPcuMOIj6wLZONEzCLZx2UhOM8Sibvb432we+j3Md4="; }; x86_64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip"; - hash = "sha256-UMwwpn+ag9dDU0/YHr21a1494wTahsHdyjDnme88m7Q="; + hash = "sha256-/fl4Jq/7Q9phTjMHQiMjNgK2dU52rE7O98nLBaQlM9A="; }; }; diff --git a/pkgs/by-name/cd/cde/package.nix b/pkgs/by-name/cd/cde/package.nix deleted file mode 100644 index d61c888d482b..000000000000 --- a/pkgs/by-name/cd/cde/package.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - libxcrypt, -}: - -stdenv.mkDerivation rec { - pname = "cde"; - version = "0.1"; - - src = fetchFromGitHub { - owner = "usnistgov"; - repo = "corr-CDE"; - rev = "v${version}"; - sha256 = "sha256-s375gtqBWx0GGXALXR+fN4bb3tmpvPNu/3bNz+75UWU="; - }; - - # The build is small, so there should be no problem - # running this locally. There is also a use case for - # older systems, where modern binaries might not be - # useful. - preferLocalBuild = true; - - buildInputs = [ libxcrypt ]; - - patchBuild = '' - sed -i -e '/install/d' $src/Makefile - ''; - - preBuild = '' - patchShebangs . - ''; - - # Workaround build failure on -fno-common toolchains like upstream - # gcc-10. Otherwise build fails as: - # ld: ../readelf-mini/libreadelf-mini.a(dwarf.o):/build/source/readelf-mini/dwarf.c:64: - # multiple definition of `do_wide'; ../readelf-mini/libreadelf-mini.a(readelf-mini.o):/build/source/readelf-mini/readelf-mini.c:170: first defined here - env.NIX_CFLAGS_COMPILE = "-fcommon"; - - installPhase = '' - install -d $out/bin - install -t $out/bin cde cde-exec - ''; - - meta = with lib; { - homepage = "https://github.com/usnistgov/corr-CDE"; - description = "Packaging tool for building portable packages"; - license = licenses.gpl3Plus; - maintainers = [ maintainers.rlupton20 ]; - platforms = platforms.linux; - # error: architecture aarch64 is not supported by bundled strace - badPlatforms = [ "aarch64-linux" ]; - }; -} diff --git a/pkgs/by-name/co/convertlit/package.nix b/pkgs/by-name/co/convertlit/package.nix index 6bc9cd4ffaef..94dec0acec8a 100644 --- a/pkgs/by-name/co/convertlit/package.nix +++ b/pkgs/by-name/co/convertlit/package.nix @@ -5,12 +5,14 @@ libtommath, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "convertlit"; version = "1.8"; src = fetchzip { - url = "http://www.convertlit.com/convertlit${lib.replaceStrings [ "." ] [ "" ] version}src.zip"; + url = "http://www.convertlit.com/convertlit${ + lib.replaceStrings [ "." ] [ "" ] finalAttrs.version + }src.zip"; sha256 = "182nsin7qscgbw2h92m0zadh3h8q410h5cza6v486yjfvla3dxjx"; stripRoot = false; }; @@ -19,18 +21,22 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; + env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + + postPatch = '' + substituteInPlace clit18/Makefile --replace gcc \$\(CC\) + substituteInPlace clit18/Makefile --replace ../libtommath-0.30/libtommath.a -ltommath + ''; + buildPhase = '' cd lib make cd ../clit18 - substituteInPlace Makefile \ - --replace ../libtommath-0.30/libtommath.a -ltommath make ''; installPhase = '' - mkdir -p $out/bin - cp clit $out/bin + install -Dm755 clit $out/bin/clit ''; meta = { @@ -40,4 +46,4 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/by-name/db/dbench/fix-missing-stdint.patch b/pkgs/by-name/db/dbench/fix-missing-stdint.patch deleted file mode 100644 index 96cb28e9e55a..000000000000 --- a/pkgs/by-name/db/dbench/fix-missing-stdint.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- dbench-65b1987.org/libnfs.c 2017-11-08 12:25:39.652147989 +0000 -+++ dbench-65b1987/libnfs.c 2017-11-08 12:26:20.269897054 +0000 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - #define discard_const(ptr) ((void *)((intptr_t)(ptr))) - diff --git a/pkgs/by-name/db/dbench/package.nix b/pkgs/by-name/db/dbench/package.nix deleted file mode 100644 index 456d99a66939..000000000000 --- a/pkgs/by-name/db/dbench/package.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ - lib, - stdenv, - fetchgit, - autoconf, - popt, - zlib, - rpcsvc-proto, - libtirpc, -}: - -stdenv.mkDerivation rec { - pname = "dbench"; - version = "2013-01-01"; - - src = fetchgit { - url = "git://git.samba.org/sahlberg/${pname}.git"; - rev = "65b19870ed8d25bff14cafa1c30beb33f1fb6597"; - sha256 = "16lcbwmmx8z5i73k3dnf54yffrpx7ql3y9k3cpkss9dcyxb1p83i"; - }; - - nativeBuildInputs = [ - autoconf - rpcsvc-proto - ]; - buildInputs = [ - popt - zlib - libtirpc - ]; - env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; - NIX_LDFLAGS = [ "-ltirpc" ]; - - patches = [ - # patch has been also sent upstream and might be included in future versions - ./fix-missing-stdint.patch - ]; - - preConfigure = '' - ./autogen.sh - configureFlagsArray+=("--datadir=$out/share/dbench") - ''; - - postInstall = '' - cp -R loadfiles/* $out/share/dbench/doc/dbench/loadfiles - - # dbench looks here for the file - ln -s doc/dbench/loadfiles/client.txt $out/share/dbench/client.txt - - # backwards compatible to older nixpkgs packaging introduced by - # 3f27be8e5d5861cd4b9487d6c5212d88bf24316d - ln -s dbench/doc/dbench/loadfiles $out/share/loadfiles - ''; - - meta = with lib; { - description = "Filesystem benchmark tool based on load patterns"; - mainProgram = "dbench"; - homepage = "https://dbench.samba.org/"; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = [ maintainers.bjornfor ]; - }; -} diff --git a/pkgs/by-name/di/directvnc/package.nix b/pkgs/by-name/di/directvnc/package.nix deleted file mode 100644 index d37ffa86ae35..000000000000 --- a/pkgs/by-name/di/directvnc/package.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - fetchpatch, - autoreconfHook, - pkg-config, - directfb, - zlib, - libjpeg, - xorgproto, -}: - -stdenv.mkDerivation { - pname = "directvnc"; - version = "0.7.7.2015-04-16"; - - src = fetchFromGitHub { - owner = "drinkmilk"; - repo = "directvnc"; - rev = "d336f586c5865da68873960092b7b5fbc9f8617a"; - sha256 = "16x7mr7x728qw7nbi6rqhrwsy73zsbpiz8pbgfzfl2aqhfdiz88b"; - }; - - patches = [ - # Pull fix pending upstream inclusion for -fno-common toolchain - # support: - # https://github.com/drinkmilk/directvnc/pull/7 - (fetchpatch { - name = "fno-common.patch"; - url = "https://github.com/drinkmilk/directvnc/commit/e9c23d049bcf31d0097348d44391fe5fd9aad12b.patch"; - sha256 = "1dnzr0dnx20w80r73j4a9n6mhbazjzlr5ps9xjj898924cg140zx"; - }) - ]; - - nativeBuildInputs = [ - autoreconfHook - pkg-config - ]; - - buildInputs = [ - directfb - zlib - libjpeg - xorgproto - ]; - - meta = with lib; { - description = "DirectFB VNC client"; - homepage = "http://drinkmilk.github.io/directvnc/"; - license = licenses.gpl2Plus; - maintainers = [ maintainers.raskin ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/by-name/el/eliza/package.nix b/pkgs/by-name/el/eliza/package.nix index 3fdea35c48b1..d75683ff95ff 100644 --- a/pkgs/by-name/el/eliza/package.nix +++ b/pkgs/by-name/el/eliza/package.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "eliza"; - version = "0-unstable-2025-04-18"; + version = "0-unstable-2025-05-13"; src = fetchFromGitHub { owner = "anthay"; repo = "ELIZA"; - rev = "1a185a37eb12078fa87e1034cc3eec88bfb90323"; - hash = "sha256-YhtD7tF7yGcPj6a+L1/uh+bWu+L5qiQ2bpB6gZJie2I="; + rev = "00a277838ac0adb2165625129769c78d518a7215"; + hash = "sha256-CSQyVnjyoSNwQlVXhpqjTGJ8psV9z0m2+ZOWUh6Dhm0="; }; doCheck = true; diff --git a/pkgs/by-name/ev/evcc/package.nix b/pkgs/by-name/ev/evcc/package.nix index 07cdb76523ea..8f0a5bd0f470 100644 --- a/pkgs/by-name/ev/evcc/package.nix +++ b/pkgs/by-name/ev/evcc/package.nix @@ -17,16 +17,16 @@ }: let - version = "0.203.5"; + version = "0.203.6"; src = fetchFromGitHub { owner = "evcc-io"; repo = "evcc"; tag = version; - hash = "sha256-xU8vSYn8+Z4bmpHKYJ+tBo5CtHhO60TXaEYP/Z5bbrI="; + hash = "sha256-hxh0EgOa2ZFpufyS4Aei86QjeJA0vyuornPK7Y5nRtQ="; }; - vendorHash = "sha256-FTVXjYMv5ReFie6mJfolQzR3bb0wcxaCkZDV772HroA="; + vendorHash = "sha256-hhr6UegsurRsrbN3YB9FAkbZkH+B6RwLmG7RRyNR4+4="; commonMeta = with lib; { license = licenses.mit; @@ -52,7 +52,7 @@ buildGo124Module rec { npmDeps = fetchNpmDeps { inherit src; - hash = "sha256-2hmW7+wKSZl1tDxw5GBCpc8arDMb1e7qsPSdWFE+F2c="; + hash = "sha256-8hhiEqQclZUc6zgYvTacVAu5Y47gLJyP249lP4WjVGQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ev/evolution-ews/hardcode-gsettings.patch b/pkgs/by-name/ev/evolution-ews/hardcode-gsettings.patch index 2032686395fb..e2babb6a3209 100644 --- a/pkgs/by-name/ev/evolution-ews/hardcode-gsettings.patch +++ b/pkgs/by-name/ev/evolution-ews/hardcode-gsettings.patch @@ -7,7 +7,7 @@ index 32817df..da65217 100644 /* cannot save, when evolution is not installed */ - if (!e_ews_common_utils_gsettings_schema_exists ("org.gnome.evolution.mail")) -+ if (!true) ++ if (!TRUE) return FALSE; if (!old_categories || !new_categories) @@ -40,7 +40,7 @@ index 7374c36..7da2023 100644 /* cannot save, when evolution is not installed */ - if (!e_ews_common_utils_gsettings_schema_exists ("org.gnome.evolution.mail")) -+ if (!true) ++ if (!TRUE) return FALSE; if (!old_categories || !new_categories) @@ -73,7 +73,7 @@ index cec5417..2e744a0 100644 ICalTimezone *zone = NULL; - if (e_ews_common_utils_gsettings_schema_exists ("org.gnome.evolution.calendar")) { -+ if (true) { ++ if (TRUE) { GSettings *settings; - settings = g_settings_new ("org.gnome.evolution.calendar"); @@ -101,7 +101,7 @@ index 3458c10..7d21784 100644 gchar *location = NULL; - if (e_ews_common_utils_gsettings_schema_exists ("org.gnome.evolution.calendar")) { -+ if (true) { ++ if (TRUE) { GSettings *settings; - settings = g_settings_new ("org.gnome.evolution.calendar"); diff --git a/pkgs/by-name/f2/f2/package.nix b/pkgs/by-name/f2/f2/package.nix index 8980fa1f554e..4877de55a658 100644 --- a/pkgs/by-name/f2/f2/package.nix +++ b/pkgs/by-name/f2/f2/package.nix @@ -4,23 +4,23 @@ buildGoModule, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "f2"; - version = "2.0.3"; + version = "2.1.1"; src = fetchFromGitHub { owner = "ayoisaiah"; repo = "f2"; - rev = "v${version}"; - sha256 = "sha256-AjuWaSEP2X3URZBPD05laV32ms/pULooSQKXUz8sqsU="; + tag = "v${finalAttrs.version}"; + hash = "sha256-hl4giLTQtqJiPseiTzWPtksEYlyQpE1UOC7JMUF9v4Y="; }; - vendorHash = "sha256-xKw9shfAtRjD0f4BGALM5VPjGOaYz1IqXWcctHcV/p8="; + vendorHash = "sha256-xeylGT32bGMJjGdpQQH8DBpqxtvMxpqSEsLPbeoUzl4="; ldflags = [ "-s" "-w" - "-X=main.Version=${version}" + "-X=github.com/ayoisaiah/f2/v2/app.VersionString=${finalAttrs.version}" ]; # has no tests @@ -33,4 +33,4 @@ buildGoModule rec { maintainers = with lib.maintainers; [ zendo ]; mainProgram = "f2"; }; -} +}) diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix index e6bbb2fed073..340e0e1704eb 100644 --- a/pkgs/by-name/fr/freerdp/package.nix +++ b/pkgs/by-name/fr/freerdp/package.nix @@ -2,7 +2,9 @@ stdenv, lib, fetchFromGitHub, + fetchpatch2, cmake, + writableTmpDirAsHomeHook, docbook-xsl-nons, libxslt, pkg-config, @@ -62,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "freerdp"; - version = "3.15.0"; + version = "3.15.0-unstable-2025-05-16"; src = fetchFromGitHub { owner = "FreeRDP"; @@ -71,10 +73,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-xz1vP58hElXe/jLVrJOSpXcbqShBV7LHRpzqPLa2fDU="; }; + patches = [ + # Patch from https://github.com/FreeRDP/FreeRDP/pull/11439 + # To be removed at the next release + (fetchpatch2 { + url = "https://github.com/FreeRDP/FreeRDP/commit/67fabc34dce7aa3543e152f78cb4ea88ac9d1244.patch"; + hash = "sha256-kYCEjH1kXZJbg2sN6YNhh+y19HTTCaC7neof8DTKZ/8="; + }) + ]; + postPatch = '' - export HOME=$TMP - # skip NIB file generation on darwin substituteInPlace "client/Mac/CMakeLists.txt" "client/Mac/cli/CMakeLists.txt" \ --replace-fail "if(NOT IS_XCODE)" "if(FALSE)" @@ -100,6 +109,7 @@ stdenv.mkDerivation (finalAttrs: { docbook-xsl-nons pkg-config wayland-scanner + writableTmpDirAsHomeHook ]; buildInputs = @@ -198,15 +208,15 @@ stdenv.mkDerivation (finalAttrs: { inherit gnome-remote-desktop; }; - meta = with lib; { + meta = { description = "Remote Desktop Protocol Client"; longDescription = '' FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) following the Microsoft Open Specifications. ''; homepage = "https://www.freerdp.com/"; - license = licenses.asl20; - maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.unix; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ peterhoeg ]; + platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/gi/gildas/package.nix b/pkgs/by-name/gi/gildas/package.nix index 5ee4ed7fc8b4..a2e97722270e 100644 --- a/pkgs/by-name/gi/gildas/package.nix +++ b/pkgs/by-name/gi/gildas/package.nix @@ -24,8 +24,8 @@ let in stdenv.mkDerivation rec { - srcVersion = "dec24a"; - version = "20241201_a"; + srcVersion = "apr25b"; + version = "20250401_b"; pname = "gildas"; src = fetchurl { @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz" "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ]; - hash = "sha256-5XKImlE5A6JjA6LLqmGc4IzaMMPoHDo8cUPmgRtnEp0="; + hash = "sha256-MmB50tQsSHjvPWSMw485OOXUIL8TbSkk3JC4gNmGP9E="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/gu/guacamole-server/package.nix b/pkgs/by-name/gu/guacamole-server/package.nix index a146225be312..9b4411f084e6 100644 --- a/pkgs/by-name/gu/guacamole-server/package.nix +++ b/pkgs/by-name/gu/guacamole-server/package.nix @@ -28,23 +28,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "guacamole-server"; - version = "1.5.5"; + version = "1.6.0-unstable-2025-05-16"; src = fetchFromGitHub { owner = "apache"; repo = "guacamole-server"; - rev = finalAttrs.version; - hash = "sha256-ZrUaoWkZ3I/LxE7csDXXeUZ92jZDhkZ1c8EQU0gI1yY="; + rev = "acb69735359d4d4a08f65d6eb0bde2a0da08f751"; + hash = "sha256-rqGSQD9EYlK1E6y/3EzynRmBWJOZBrC324zVvt7c2vM="; }; - patches = [ - # GUACAMOLE-1952: Add compatibility with FFMPEG 7.0 - (fetchpatch2 { - url = "https://github.com/apache/guacamole-server/commit/cc8addf9beb90305037a32f9f861a893be4cae08.patch?full_index=1"; - hash = "sha256-VCr2/8lQHKVdsdah9gvak4MjFHO+X4ixE5+zsvwIY1I="; - }) - ]; - NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" "-Wno-error=format-overflow" diff --git a/pkgs/by-name/ka/kanidm/generic.nix b/pkgs/by-name/ka/kanidm/generic.nix index 9b9a95df57c3..34e480650086 100644 --- a/pkgs/by-name/ka/kanidm/generic.nix +++ b/pkgs/by-name/ka/kanidm/generic.nix @@ -49,7 +49,7 @@ rustPlatform.buildRustPackage rec { inherit hash; }; - KANIDM_BUILD_PROFILE = "release_nixos_${arch}"; + KANIDM_BUILD_PROFILE = "release_nixpgs_${arch}"; patches = lib.optionals enableSecretProvisioning [ "${patchDir}/oauth2-basic-secret-modify.patch" @@ -59,6 +59,7 @@ rustPlatform.buildRustPackage rec { postPatch = let format = (formats.toml { }).generate "${KANIDM_BUILD_PROFILE}.toml"; + socket_path = if stdenv.hostPlatform.isLinux then "/run/kanidm/sock" else "/var/run/kanidm.socket"; profile = { cpu_flags = if stdenv.hostPlatform.isx86_64 then "x86_64_legacy" else "none"; @@ -67,12 +68,12 @@ rustPlatform.buildRustPackage rec { client_config_path = "/etc/kanidm/config"; resolver_config_path = "/etc/kanidm/unixd"; resolver_unix_shell_path = "${lib.getBin bashInteractive}/bin/bash"; - server_admin_bind_path = "/run/kanidmd/sock"; + server_admin_bind_path = socket_path; server_config_path = "/etc/kanidm/server.toml"; server_ui_pkg_path = "@htmx_ui_pkg_path@"; } // lib.optionalAttrs (lib.versionOlder version "1.5") { - admin_bind_path = "/run/kanidmd/sock"; + admin_bind_path = socket_path; default_config_path = "/etc/kanidm/server.toml"; default_unix_shell_path = "${lib.getBin bashInteractive}/bin/bash"; htmx_ui_pkg_path = "@htmx_ui_pkg_path@"; @@ -94,13 +95,16 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - udev - openssl - sqlite - pam - rust-jemalloc-sys - ]; + buildInputs = + [ + openssl + sqlite + pam + rust-jemalloc-sys + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + udev + ]; # The UI needs to be in place before the tests are run. postBuild = @@ -125,15 +129,17 @@ rustPlatform.buildRustPackage rec { ''profile.release.lto="off"'' ]; - preFixup = '' - installShellCompletion \ - --bash $releaseDir/build/completions/*.bash \ - --zsh $releaseDir/build/completions/_* - - # PAM and NSS need fix library names - mv $out/lib/libnss_kanidm.so $out/lib/libnss_kanidm.so.2 - mv $out/lib/libpam_kanidm.so $out/lib/pam_kanidm.so - ''; + preFixup = + '' + installShellCompletion \ + --bash $releaseDir/build/completions/*.bash \ + --zsh $releaseDir/build/completions/_* + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + # PAM and NSS need fix library names + mv $out/lib/libnss_kanidm.so $out/lib/libnss_kanidm.so.2 + mv $out/lib/libpam_kanidm.so $out/lib/pam_kanidm.so + ''; passthru = { tests = { @@ -166,7 +172,7 @@ rustPlatform.buildRustPackage rec { description = "Simple, secure and fast identity management platform"; homepage = "https://github.com/kanidm/kanidm"; license = licenses.mpl20; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ adamcstephens Flakebi diff --git a/pkgs/by-name/ke/kea/package.nix b/pkgs/by-name/ke/kea/package.nix index 2fe932782648..842543c95206 100644 --- a/pkgs/by-name/ke/kea/package.nix +++ b/pkgs/by-name/ke/kea/package.nix @@ -100,6 +100,8 @@ stdenv.mkDerivation rec { }; meta = with lib; { + # error: implicit instantiation of undefined template 'std::char_traits' + broken = stdenv.hostPlatform.isDarwin; changelog = "https://downloads.isc.org/isc/kea/${version}/Kea-${version}-ReleaseNotes.txt"; homepage = "https://kea.isc.org/"; description = "High-performance, extensible DHCP server by ISC"; diff --git a/pkgs/by-name/li/libgadu/package.nix b/pkgs/by-name/li/libgadu/package.nix deleted file mode 100644 index 32cb229b441b..000000000000 --- a/pkgs/by-name/li/libgadu/package.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - zlib, - protobufc, - autoreconfHook, -}: - -stdenv.mkDerivation rec { - pname = "libgadu"; - version = "1.12.2"; - - src = fetchFromGitHub { - owner = "wojtekka"; - repo = pname; - rev = version; - sha256 = "1s16cripy5w9k12534qb012iwc5m9qcjyrywgsziyn3kl3i0aa8h"; - }; - - propagatedBuildInputs = [ zlib ]; - buildInputs = [ protobufc ]; - nativeBuildInputs = [ autoreconfHook ]; - - meta = { - description = "Library to deal with gadu-gadu protocol (most popular polish IM protocol)"; - homepage = "https://libgadu.net/index.en.html"; - platforms = lib.platforms.linux; - license = lib.licenses.lgpl21; - }; - -} diff --git a/pkgs/by-name/li/libpseudo/package.nix b/pkgs/by-name/li/libpseudo/package.nix deleted file mode 100644 index 23dd33253eda..000000000000 --- a/pkgs/by-name/li/libpseudo/package.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - pkg-config, - glib, - ncurses, -}: -stdenv.mkDerivation rec { - pname = "libpseudo"; - version = "1.2.0"; - - src = fetchurl { - url = "mirror://sourceforge/libpseudo/libpseudo-${version}.tar.gz"; - sha256 = "0d3pw0m3frycr3x5kzqcaj4r2qh43iv6b0fpd6l4yk0aa4a9560n"; - }; - - patchPhase = '' - sed -i -e s@/usr/local@$out@ -e /ldconfig/d Makefile - ''; - - preInstall = '' - mkdir -p $out/include - mkdir -p $out/lib - ''; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - glib - ncurses - ]; - - meta = with lib; { - homepage = "http://libpseudo.sourceforge.net/"; - description = "Simple, thread-safe messaging between threads"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/by-name/li/libviper/package.nix b/pkgs/by-name/li/libviper/package.nix deleted file mode 100644 index 3966eaf40ac5..000000000000 --- a/pkgs/by-name/li/libviper/package.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - pkg-config, - glib, - ncurses, - gpm, -}: -stdenv.mkDerivation rec { - pname = "libviper"; - version = "1.4.6"; - - src = fetchurl { - url = "mirror://sourceforge/libviper/libviper-${version}.tar.gz"; - sha256 = "1jvm7wdgw6ixyhl0pcfr9lnr9g6sg6whyrs9ihjiz0agvqrgvxwc"; - }; - - postPatch = '' - sed -i -e s@/usr/local@$out@ -e /ldconfig/d -e '/cd vdk/d' Makefile - - # Fix pending upstream inclusion for ncurses-6.3 support: - # https://github.com/TragicWarrior/libviper/pull/16 - # Not applied as it due to unrelated code changes in context. - substituteInPlace viper_msgbox.c --replace \ - 'mvwprintw(window,height-3,tmp,prompt);' \ - 'mvwprintw(window,height-3,tmp,"%s",prompt);' - substituteInPlace w_decorate.c --replace \ - 'mvwprintw(window,0,x,title);' \ - 'mvwprintw(window,0,x,"%s",title);' - ''; - - preInstall = '' - mkdir -p $out/include - mkdir -p $out/lib - ''; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - glib - ncurses - gpm - ]; - - meta = with lib; { - homepage = "http://libviper.sourceforge.net/"; - description = "Simple window creation and management facilities for the console"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/by-name/li/limine/package.nix b/pkgs/by-name/li/limine/package.nix index 93f2a1a45b16..cc2279f668aa 100644 --- a/pkgs/by-name/li/limine/package.nix +++ b/pkgs/by-name/li/limine/package.nix @@ -42,14 +42,14 @@ in # as bootloader for various platforms and corresponding binary and helper files. stdenv.mkDerivation (finalAttrs: { pname = "limine"; - version = "9.3.0"; + version = "9.3.1"; # We don't use the Git source but the release tarball, as the source has a # `./bootstrap` script performing network access to download resources. # Packaging that in Nix is very cumbersome. src = fetchurl { url = "https://github.com/limine-bootloader/limine/releases/download/v${finalAttrs.version}/limine-${finalAttrs.version}.tar.gz"; - hash = "sha256-9rbkmPFt3BLehnkYAoktfO4AHq1C0wzGPJZm67KxbQs="; + hash = "sha256-KRHWXrsJ1l9gFq0j2gB/MQobqNe3Z8rknrs4m7WMRFU="; }; enableParallelBuilding = true; diff --git a/pkgs/by-name/lu/luau/package.nix b/pkgs/by-name/lu/luau/package.nix index 6bfaf85c515d..1f0e4c3e9415 100644 --- a/pkgs/by-name/lu/luau/package.nix +++ b/pkgs/by-name/lu/luau/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "luau"; - version = "0.673"; + version = "0.674"; src = fetchFromGitHub { owner = "luau-lang"; repo = "luau"; tag = finalAttrs.version; - hash = "sha256-0a+4BHDIOeMuJzsDSlYeXCcmnUT5KzKO/q4kDhpfHxQ="; + hash = "sha256-9HdrwFbjeRwYXVIm6JtqT+HI0ZFJDm9//kvuU25u5Qo="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index ea9e4e002d69..9ac84af31d3d 100644 --- a/pkgs/by-name/me/meson/package.nix +++ b/pkgs/by-name/me/meson/package.nix @@ -10,6 +10,7 @@ pkg-config, python3, replaceVars, + writeShellScriptBin, zlib, }: @@ -66,12 +67,34 @@ python3.pkgs.buildPythonApplication rec { ./007-freebsd-pkgconfig-path.patch ]; + postPatch = + if python3.isPyPy then + '' + substituteInPlace mesonbuild/modules/python.py \ + --replace-fail "PythonExternalProgram('python3', mesonlib.python_command)" \ + "PythonExternalProgram('${python3.meta.mainProgram}', mesonlib.python_command)" + substituteInPlace mesonbuild/modules/python3.py \ + --replace-fail "state.environment.lookup_binary_entry(mesonlib.MachineChoice.HOST, 'python3')" \ + "state.environment.lookup_binary_entry(mesonlib.MachineChoice.HOST, '${python3.meta.mainProgram}')" + substituteInPlace "test cases"/*/*/*.py "test cases"/*/*/*/*.py \ + --replace-quiet '#!/usr/bin/env python3' '#!/usr/bin/env pypy3' \ + --replace-quiet '#! /usr/bin/env python3' '#!/usr/bin/env pypy3' + chmod +x "test cases"/*/*/*.py "test cases"/*/*/*/*.py + '' + else + null; + nativeBuildInputs = [ installShellFiles ]; - nativeCheckInputs = [ - ninja - pkg-config - ]; + nativeCheckInputs = + [ + ninja + pkg-config + ] + ++ lib.optionals python3.isPyPy [ + # Several tests hardcode python3. + (writeShellScriptBin "python3" ''exec pypy3 "$@"'') + ]; checkInputs = [ @@ -116,9 +139,15 @@ python3.pkgs.buildPythonApplication rec { # pch doesn't work quite right on FreeBSD, I think ''test cases/common/13 pch'' ] + ++ lib.optionals python3.isPyPy [ + # fails for unknown reason + ''test cases/python/4 custom target depends extmodule'' + ] )) ++ [ - ''HOME="$TMPDIR" python ./run_project_tests.py'' + ''HOME="$TMPDIR" ${ + if python3.isPyPy then python3.interpreter else "python" + } ./run_project_tests.py'' "runHook postCheck" ] ); diff --git a/pkgs/by-name/mo/moonlight/package.nix b/pkgs/by-name/mo/moonlight/package.nix index c84e93195003..9c693388b79b 100644 --- a/pkgs/by-name/mo/moonlight/package.nix +++ b/pkgs/by-name/mo/moonlight/package.nix @@ -8,13 +8,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "moonlight"; - version = "1.3.18"; + version = "1.3.19"; src = fetchFromGitHub { owner = "moonlight-mod"; repo = "moonlight"; tag = "v${finalAttrs.version}"; - hash = "sha256-CPBdZ/1mQAw0cC36D1Yo+ml+3eDDJtfSELYNIF0fKRw="; + hash = "sha256-cFsVYlIkSNEpGw4qT9Eea6sa1+dZyaCRZNrgQTc8wu4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/mo/mos/package.nix b/pkgs/by-name/mo/mos/package.nix index 5d0f6cc1f75b..dc527f625686 100644 --- a/pkgs/by-name/mo/mos/package.nix +++ b/pkgs/by-name/mo/mos/package.nix @@ -3,14 +3,15 @@ stdenvNoCC, fetchurl, undmg, + nix-update-script, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "mos"; - version = "3.4.1"; + version = "3.5.0"; src = fetchurl { url = "https://github.com/Caldis/Mos/releases/download/${finalAttrs.version}/Mos.Versions.${finalAttrs.version}.dmg"; - hash = "sha256-OOoz6GeBVQZBQyNIQUe4grbZffSvl1m8oKZNmMlQKbM="; + hash = "sha256-o2H4cfMudjoQHfKeV4ORiO9/szoomFP0IP6D6ecMAI4="; }; sourceRoot = "."; @@ -25,12 +26,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; + passthru.updateScript = nix-update-script { }; + meta = with lib; { - description = "Smooths scrolling and set mouse scroll directions independently"; + description = "Smooths scrolling and set mouse scroll directions independently on macOS"; homepage = "https://mos.caldis.me/"; changelog = "https://github.com/Caldis/Mos/releases/tag/${finalAttrs.version}"; license = licenses.cc-by-nc-40; - maintainers = [ ]; + maintainers = with lib.maintainers; [ xiaoxiangmoe ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; platforms = platforms.darwin; }; diff --git a/pkgs/by-name/no/notmuch-mailmover/package.nix b/pkgs/by-name/no/notmuch-mailmover/package.nix index ba4aadcc34d9..b74a4dcab435 100644 --- a/pkgs/by-name/no/notmuch-mailmover/package.nix +++ b/pkgs/by-name/no/notmuch-mailmover/package.nix @@ -10,17 +10,17 @@ }: rustPlatform.buildRustPackage rec { pname = "notmuch-mailmover"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "michaeladler"; repo = "notmuch-mailmover"; rev = "v${version}"; - hash = "sha256-v70R6CgN4RzG6L8LUg3ZvW895+G4eU8HZ0TI+jRxZ10="; + hash = "sha256-xX1sH+8DaLgCzkl5WwwNEE9+iTdZX0d64SxfmvuVVgs="; }; useFetchCargoVendor = true; - cargoHash = "sha256-aMSYXquyDwPBa4xL7wOSu/Ou1saPG5ZDXhLB4dAnomo="; + cargoHash = "sha256-5jEM5FURnfuoOiu2rqsh4shMp1ajv0zMpIx7r0gv6Bc="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/pl/platformsh/versions.json b/pkgs/by-name/pl/platformsh/versions.json index 4432911aeb41..cd44984844ea 100644 --- a/pkgs/by-name/pl/platformsh/versions.json +++ b/pkgs/by-name/pl/platformsh/versions.json @@ -1,19 +1,19 @@ { - "version": "5.0.23", + "version": "5.1.1", "darwin-amd64": { - "hash": "sha256-u82W5pwJQi0RqhRkQgY9SDahi4HvintFwXG6q+FlBR0=", - "url": "https://github.com/platformsh/cli/releases/download/5.0.23/platform_5.0.23_darwin_all.tar.gz" + "hash": "sha256-wj8zEyYxalEauCOv6VLPgvkfXlf/uA/xwEiHOqxRFic=", + "url": "https://github.com/platformsh/cli/releases/download/5.1.1/platform_5.1.1_darwin_all.tar.gz" }, "darwin-arm64": { - "hash": "sha256-u82W5pwJQi0RqhRkQgY9SDahi4HvintFwXG6q+FlBR0=", - "url": "https://github.com/platformsh/cli/releases/download/5.0.23/platform_5.0.23_darwin_all.tar.gz" + "hash": "sha256-wj8zEyYxalEauCOv6VLPgvkfXlf/uA/xwEiHOqxRFic=", + "url": "https://github.com/platformsh/cli/releases/download/5.1.1/platform_5.1.1_darwin_all.tar.gz" }, "linux-amd64": { - "hash": "sha256-Yve4EeMe9j90MqeelqT6S6NwTc1PL5JlzX4aTjR5XUU=", - "url": "https://github.com/platformsh/cli/releases/download/5.0.23/platform_5.0.23_linux_amd64.tar.gz" + "hash": "sha256-2teph6Ozgl5GTckeNExRqCpoUSCCNF7mRRy3wWxOc2U=", + "url": "https://github.com/platformsh/cli/releases/download/5.1.1/platform_5.1.1_linux_amd64.tar.gz" }, "linux-arm64": { - "hash": "sha256-ejeWn98wCSum6SqdW6RlQ7YvF7dzDRw/vftm82uZAio=", - "url": "https://github.com/platformsh/cli/releases/download/5.0.23/platform_5.0.23_linux_arm64.tar.gz" + "hash": "sha256-iqeErUjouQEsdwEo+6fNQqfULZ9V1lCwsJXDC0lZNdM=", + "url": "https://github.com/platformsh/cli/releases/download/5.1.1/platform_5.1.1_linux_arm64.tar.gz" } } diff --git a/pkgs/by-name/pn/pngnq/missing-includes.patch b/pkgs/by-name/pn/pngnq/missing-includes.patch new file mode 100644 index 000000000000..2b605a50fca7 --- /dev/null +++ b/pkgs/by-name/pn/pngnq/missing-includes.patch @@ -0,0 +1,17 @@ +diff --git a/src/rwpng.c b/src/rwpng.c +index aaa21fc..11d698f 100644 +--- a/src/rwpng.c ++++ b/src/rwpng.c +@@ -30,10 +30,12 @@ + ---------------------------------------------------------------------------*/ + + #include ++#include + #include + + #include "png.h" /* libpng header; includes zlib.h */ + #include "rwpng.h" /* typedefs, common macros, public prototypes */ ++#include + + /* future versions of libpng will provide this macro: */ + /* GRR NOTUSED */ diff --git a/pkgs/by-name/pn/pngnq/package.nix b/pkgs/by-name/pn/pngnq/package.nix index c418ecbb9ecd..23f4a6e0a248 100644 --- a/pkgs/by-name/pn/pngnq/package.nix +++ b/pkgs/by-name/pn/pngnq/package.nix @@ -16,16 +16,20 @@ stdenv.mkDerivation rec { sha256 = "1qmnnl846agg55i7h4vmrn11lgb8kg6gvs8byqz34bdkjh5gwiy1"; }; + patches = [ + ./missing-includes.patch + ]; + + env.NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=incompatible-pointer-types" + ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ libpng zlib ]; - patchPhase = '' - sed -i '/png.h/a \#include ' src/rwpng.c - ''; - meta = with lib; { homepage = "https://pngnq.sourceforge.net/"; description = "PNG quantizer"; diff --git a/pkgs/by-name/pr/pretix/package.nix b/pkgs/by-name/pr/pretix/package.nix index 0b755a72229d..9c735d4dd548 100644 --- a/pkgs/by-name/pr/pretix/package.nix +++ b/pkgs/by-name/pr/pretix/package.nix @@ -198,7 +198,6 @@ python.pkgs.buildPythonApplication rec { requests sentry-sdk sepaxml - slimit stripe text-unidecode tlds diff --git a/pkgs/by-name/sc/scala-next/package.nix b/pkgs/by-name/sc/scala-next/package.nix index d43b3d0a184d..ce1a42e76f88 100644 --- a/pkgs/by-name/sc/scala-next/package.nix +++ b/pkgs/by-name/sc/scala-next/package.nix @@ -1,10 +1,10 @@ { scala, fetchurl }: scala.bare.overrideAttrs (oldAttrs: { - version = "3.6.4"; + version = "3.7.0"; pname = "scala-next"; src = fetchurl { inherit (oldAttrs.src) url; - hash = "sha256-I8Jpq/aelCJyAZzvNq5/QbfdD0Mk5mPuzTDxVdkIxKU="; + hash = "sha256-T2zGqv2XSjdA3t0FaJvldcthgpgRrMTyiRznlgQOmBE="; }; }) diff --git a/pkgs/by-name/sg/sgrep/package.nix b/pkgs/by-name/sg/sgrep/package.nix deleted file mode 100644 index 4c93b1b6954e..000000000000 --- a/pkgs/by-name/sg/sgrep/package.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - stdenv, - sgrep, - fetchurl, - runCommand, - lib, - m4, - makeWrapper, -}: - -stdenv.mkDerivation rec { - pname = "sgrep"; - version = "1.94a"; - - src = fetchurl { - url = "https://www.cs.helsinki.fi/pub/Software/Local/Sgrep/sgrep-${version}.tar.gz"; - sha256 = "sha256-1bFkeOOrRHNeJCg9LYldLJyAE5yVIo3zvbKsRGOV+vk="; - }; - - nativeBuildInputs = [ makeWrapper ]; - - postInstall = '' - wrapProgram $out/bin/sgrep \ - --prefix PATH : ${lib.makeBinPath [ m4 ]} - ''; - - passthru.tests.smokeTest = runCommand "test-sgrep" { } '' - expr='"" __ ""' - data="12" - ${sgrep}/bin/sgrep "$expr" <<<$data >$out - read result <$out - [[ $result = 1 ]] - ''; - - meta = with lib; { - homepage = "https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html"; - description = "Grep for structured text formats such as XML"; - mainProgram = "sgrep"; - longDescription = '' - sgrep (structured grep) is a tool for searching and indexing text, - SGML, XML and HTML files and filtering text streams using - structural criteria. - ''; - platforms = platforms.unix; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ eigengrau ]; - }; -} diff --git a/pkgs/by-name/sh/shibboleth-sp/package.nix b/pkgs/by-name/sh/shibboleth-sp/package.nix index 8f1950d375ef..f591d69d726d 100644 --- a/pkgs/by-name/sh/shibboleth-sp/package.nix +++ b/pkgs/by-name/sh/shibboleth-sp/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchgit, + fetchpatch, autoreconfHook, boost, fcgi, @@ -24,6 +25,26 @@ stdenv.mkDerivation rec { sha256 = "1qb4dbz5gk10b9w1rf6f4vv7c2wb3a8bfzif6yiaq96ilqad7gdr"; }; + # Upgrade to Clang 19 (and thereby LLVM19) causes `std::char_traits` to now be present, + # making `char_traits` references ambiguous due to both `std` and `xmltooling` exporting this symbol, + # and the file in question uses both `using namespace std;` and `using namespace xmltooling;` + # The patches below result in `xmltooling` being removed. + # As `char_traits` is a compile time construct, no runtime repercussions can stem from this. + # See https://shibboleth.atlassian.net/browse/SSPCPP-998 for a related discussion. + patches = lib.optionals (stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "19") [ + (fetchpatch { + name = "char-traits-ambig-1"; + url = "https://git.shibboleth.net/view/?p=cpp-sp.git;a=blobdiff_plain;f=shibsp/util/IPRange.cpp;h=532cf9e94c915667c091d127c696979f63939eb5;hp=d6f00bc36ea25997817a2308314bcdbea572936f;hb=49cd05fa6d9935a45069fa555db7a26ca77d23db;hpb=293ff2ab6454b0946b3b03719efa132bff461f1f"; + hash = "sha256-ZF0jsZJoHaxaPPjVbT6Wlq+wjyPQLTnEKcUxONji/hE="; + }) + + (fetchpatch { + name = "char-traits-ambig-2"; + url = "https://git.shibboleth.net/view/?p=cpp-sp.git;a=blobdiff_plain;f=shibsp/util/IPRange.cpp;h=da954870eb03c7cd054ecc5c52a6c1f011787760;hp=354010d5f5e533262cb385ea16756df53fe0c241;hb=793663a67aaa4e9a4aa9172728d924f8cec45cf6;hpb=a43814935030930c49b7a08f5515b861906525c7"; + hash = "sha256-4iGwCGpGwAkriOwQmh5AgvHLX1o39NuQ2l4sAJbD2bc="; + }) + ]; + nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/sl/sloccount/package.nix b/pkgs/by-name/sl/sloccount/package.nix deleted file mode 100644 index 0761d0d50227..000000000000 --- a/pkgs/by-name/sl/sloccount/package.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ - fetchurl, - lib, - stdenv, - perl, - makeWrapper, -}: - -stdenv.mkDerivation rec { - pname = "sloccount"; - version = "2.26"; - - src = fetchurl { - url = "https://www.dwheeler.com/${pname}/${pname}-${version}.tar.gz"; - sha256 = "0ayiwfjdh1946asah861ah9269s5xkc8p5fv1wnxs9znyaxs4zzs"; - }; - - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perl ]; - - # Make sure the Flex-generated files are newer than the `.l' files, so that - # Flex isn't needed to recompile them. - patchPhase = '' - for file in * - do - if grep -q /usr/bin/perl "$file" - then - echo "patching \`$file'..." - substituteInPlace "$file" --replace \ - "/usr/bin/perl" "${perl}/bin/perl" - fi - done - - for file in *.l - do - touch "$(echo $file | sed -es'/\.l$/.c/g')" - done - ''; - - makeFlags = [ - "PREFIX=$(out)" - "CC=${stdenv.cc.targetPrefix}cc" - ]; - - doCheck = true; - checkPhase = ''HOME="$TMPDIR" PATH="$PWD:$PATH" make test''; - - preInstall = '' - mkdir -p "$out/bin" - mkdir -p "$out/share/man/man1" - mkdir -p "$out/share/doc" - ''; - - postInstall = '' - for w in "$out/bin"/*; do - isScript "$w" || continue - wrapProgram "$w" --prefix PATH : "$out/bin" - done - ''; - - meta = { - description = "Set of tools for counting physical Source Lines of Code (SLOC)"; - - longDescription = '' - This is the home page of "SLOCCount", a set of tools for - counting physical Source Lines of Code (SLOC) in a large number - of languages of a potentially large set of programs. This suite - of tools was used in my papers More than a Gigabuck: Estimating - GNU/Linux's Size and Estimating Linux's Size to measure the SLOC - of entire GNU/Linux distributions, and my essay Linux Kernel - 2.6: It's Worth More! Others have measured Debian GNU/Linux and - the Perl CPAN library using this tool suite. - ''; - - license = lib.licenses.gpl2Plus; - - homepage = "https://www.dwheeler.com/sloccount/"; - - maintainers = [ ]; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/by-name/sr/srht-gen-oauth-tok/fix-html-parsing.patch b/pkgs/by-name/sr/srht-gen-oauth-tok/fix-html-parsing.patch new file mode 100644 index 000000000000..f413a68d97dc --- /dev/null +++ b/pkgs/by-name/sr/srht-gen-oauth-tok/fix-html-parsing.patch @@ -0,0 +1,16 @@ +diff --git a/srht-gen-oauth-tok b/srht-gen-oauth-tok +index a05e209..f2949b5 100755 +--- a/srht-gen-oauth-tok ++++ b/srht-gen-oauth-tok +@@ -78,7 +78,10 @@ $mech->submit_form( with_fields => { comment => $tok_comment } ); + + # Parse the response as XML and find the access token via an XPath expression + my $xpc = XML::LibXML::XPathContext->new( +- XML::LibXML->load_xml(string => $mech->content()) ++ XML::LibXML->load_html( ++ string => $mech->content(), ++ recover => 1, ++ ) + ); + # The token is set as the description (
) of a 'Personal Access Token' term (
) + my $token = $xpc->find("//dt[text() = 'Personal Access Token']/following-sibling::dd/*/node()"); diff --git a/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix b/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix index 0c8829a96ba9..547bd4ea229c 100644 --- a/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix +++ b/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix @@ -25,6 +25,8 @@ stdenv.mkDerivation rec { hash = "sha256-GcqP3XbVw2sR5n4+aLUmA4fthNkuVAGnhV1h7suJYdI="; }; + patches = [ ./fix-html-parsing.patch ]; + buildInputs = [ perl ]; nativeBuildInputs = [ perl ]; diff --git a/pkgs/by-name/ss/ssh-tpm-agent/package.nix b/pkgs/by-name/ss/ssh-tpm-agent/package.nix index ca13fe9d84ba..61b24993e3b6 100644 --- a/pkgs/by-name/ss/ssh-tpm-agent/package.nix +++ b/pkgs/by-name/ss/ssh-tpm-agent/package.nix @@ -3,28 +3,40 @@ buildGoModule, fetchFromGitHub, nix-update-script, + openssh, openssl, }: buildGoModule rec { pname = "ssh-tpm-agent"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "Foxboron"; repo = "ssh-tpm-agent"; - rev = "v${version}"; - hash = "sha256-yK7G+wZIn+kJazKOFOs8EYlRWZkCQuT0qZfmdqbcOnM="; + tag = "v${version}"; + hash = "sha256-CSxZctiQ/d4gzCUtfx9Oetb8s0XpHf3MPH/H0XaaVgg="; }; proxyVendor = true; - vendorHash = "sha256-njKyBfTG/QCPBBsj3Aom42cv2XqLv4YeS4DhwNQNaLA="; + vendorHash = "sha256-84ZB1B+RczJS08UToCWvvVfWrD62IQxy0XoBwn+wBkc="; buildInputs = [ openssl ]; + nativeCheckInputs = [ + openssh + ]; + + # disable broken tests, see https://github.com/NixOS/nixpkgs/pull/394097 + preCheck = '' + rm cmd/scripts_test.go + substituteInPlace internal/keyring/keyring_test.go --replace-fail ENOKEY ENOENT + substituteInPlace internal/keyring/threadkeyring_test.go --replace-fail ENOKEY ENOENT + ''; + passthru.updateScript = nix-update-script { }; meta = with lib; { diff --git a/pkgs/by-name/su/subberthehut/package.nix b/pkgs/by-name/su/subberthehut/package.nix deleted file mode 100644 index 3dd753b78761..000000000000 --- a/pkgs/by-name/su/subberthehut/package.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - pkg-config, - xmlrpc_c, - glib, - zlib, -}: -stdenv.mkDerivation rec { - pname = "subberthehut"; - version = "20"; - - src = fetchFromGitHub { - owner = "mus65"; - repo = "subberthehut"; - rev = version; - sha256 = "19prdqbk19h0wak318g2jn1mnfm7l7f83a633bh0rhskysmqrsj1"; - }; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xmlrpc_c - glib - zlib - ]; - - installPhase = '' - install -Dm755 subberthehut $out/bin/subberthehut - install -Dm644 bash_completion $out/share/bash-completion/completions/subberthehut - ''; - - meta = with lib; { - homepage = "https://github.com/mus65/subberthehut"; - description = "OpenSubtitles.org downloader"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ jqueiroz ]; - mainProgram = "subberthehut"; - }; -} diff --git a/pkgs/by-name/su/suidChroot/package.nix b/pkgs/by-name/su/suidChroot/package.nix deleted file mode 100644 index a19d0e7de06e..000000000000 --- a/pkgs/by-name/su/suidChroot/package.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - lib, - stdenv, - fetchurl, -}: - -stdenv.mkDerivation rec { - pname = "suid-chroot"; - version = "1.0.2"; - - src = fetchurl { - sha256 = "1a9xqhck0ikn8kfjk338h9v1yjn113gd83q0c50k78xa68xrnxjx"; - url = "http://myweb.tiscali.co.uk/scottrix/linux/download/${pname}-${version}.tar.bz2"; - }; - - postPatch = '' - substituteInPlace Makefile --replace /usr $out - sed -i -e '/chmod u+s/d' Makefile - ''; - - meta = with lib; { - description = "Setuid-safe wrapper for chroot"; - license = licenses.gpl2Plus; - platforms = with platforms; unix; - }; -} diff --git a/pkgs/by-name/te/text-engine/package.nix b/pkgs/by-name/te/text-engine/package.nix index 434cdbb78326..6250ff9c88c3 100644 --- a/pkgs/by-name/te/text-engine/package.nix +++ b/pkgs/by-name/te/text-engine/package.nix @@ -1,36 +1,31 @@ { - stdenv, lib, + stdenv, fetchFromGitHub, fetchpatch, + + gobject-introspection, + gtk4, meson, ninja, - json-glib, - gtk4, - libxml2, - gobject-introspection, pkg-config, + + json-glib, libadwaita, + libxml2, }: stdenv.mkDerivation rec { pname = "text-engine"; - version = "0.1.1"; + version = "0.1.1-unstable-2024-09-16"; + src = fetchFromGitHub { owner = "mjakeman"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-YSG4Vk3hrmtaJkK1WAlQcdgiDdgC4Un0t6UdaoIcUes="; + rev = "4c26887556fd8e28211324c4058d49508eb5f557"; + hash = "sha256-0rMBz2s3wYv7gZiJTj8rixWxBjT6Dd6SaINP8kDbTyw="; }; - patches = [ - # Fixes build with newer versions of clang - (fetchpatch { - url = "https://github.com/mjakeman/text-engine/commit/749c94d853c0b0e29e79a1b270ec61947b65c319.patch"; - hash = "sha256-vs/a8IBovArw8tc1ZLUsaDHRVyA71KMB1NGENOKNOdk="; - }) - ]; - nativeBuildInputs = [ gobject-introspection gtk4 @@ -41,18 +36,23 @@ stdenv.mkDerivation rec { buildInputs = [ libadwaita - json-glib libxml2 ]; - meta = with lib; { + postPatch = '' + # See https://github.com/mjakeman/text-engine/pull/42 + substituteInPlace src/meson.build \ + --replace-fail "dependency('json-glib-1.0')," "" + ''; + + meta = { description = "Rich text framework for GTK"; mainProgram = "text-engine-demo"; homepage = "https://github.com/mjakeman/text-engine"; - license = with licenses; [ + license = with lib.licenses; [ mpl20 lgpl21Plus ]; - maintainers = with maintainers; [ foo-dogsquared ]; + maintainers = with lib.maintainers; [ foo-dogsquared ]; }; } diff --git a/pkgs/by-name/tr/try/package.nix b/pkgs/by-name/tr/try/package.nix index 6194046ad4f5..fa6451dad9a2 100644 --- a/pkgs/by-name/tr/try/package.nix +++ b/pkgs/by-name/tr/try/package.nix @@ -8,34 +8,33 @@ attr, makeWrapper, pandoc, - kmod, + coreutils, installShellFiles, versionCheckHook, }: stdenv.mkDerivation { pname = "try"; version = "0.2.0-unstable-2025-02-25"; + src = fetchFromGitHub { owner = "binpash"; repo = "try"; rev = "67052d8f20725f3cdc22ffaec33f7b7c14f1eb6b"; hash = "sha256-8mfCmqN50pRAeNTJUlRVrRQulWon4b2OL4Ug/ygBhB0="; }; + + # skip TRY_REQUIRE_PROG as it detects executable dependencies by running it + postPatch = '' + sed -i '/^AC_DEFUN(\[TRY_REQUIRE_PROG\]/,/^])$/c\AC_DEFUN([TRY_REQUIRE_PROG], [])' configure.ac + ''; + nativeBuildInputs = [ makeWrapper autoreconfHook pandoc - attr - util-linux - kmod installShellFiles ]; - # Trigger a overlay run to load the overlayfs module, required by ./configure - preConfigure = '' - mkdir lower upper work merged - unshare -r --mount mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged - rm -rf lower upper work merged - ''; + installPhase = '' runHook preInstall install -Dt $out/bin try @@ -43,6 +42,7 @@ stdenv.mkDerivation { install -Dt $out/bin utils/try-summary wrapProgram $out/bin/try --prefix PATH : ${ lib.makeBinPath [ + coreutils util-linux mergerfs attr @@ -52,6 +52,7 @@ stdenv.mkDerivation { installShellCompletion --bash --name try.bash completions/try.bash runHook postInstall ''; + doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook @@ -60,15 +61,16 @@ stdenv.mkDerivation { export version=0.2.0 ''; versionCheckProgramArg = "-v"; - meta = with lib; { + + meta = { homepage = "https://github.com/binpash/try"; description = "Lets you run a command and inspect its effects before changing your live system"; mainProgram = "try"; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ pasqui23 ezrizhu ]; - license = with licenses; [ mit ]; - platforms = platforms.linux; + license = with lib.licenses; [ mit ]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/un/unicap/package.nix b/pkgs/by-name/un/unicap/package.nix deleted file mode 100644 index 4f47bf22a7a8..000000000000 --- a/pkgs/by-name/un/unicap/package.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - libusb-compat-0_1, - libraw1394, - dcraw, - intltool, - perl, - v4l-utils, -}: - -stdenv.mkDerivation rec { - pname = "libunicap"; - version = "0.9.12"; - - src = fetchurl { - url = "https://www.unicap-imaging.org/downloads/${pname}-${version}.tar.gz"; - sha256 = "05zcnnm4dfc6idihfi0fq5xka6x86zi89wip2ca19yz768sd33s9"; - }; - - nativeBuildInputs = [ intltool ]; - buildInputs = [ - libusb-compat-0_1 - libraw1394 - dcraw - perl - v4l-utils - ]; - - patches = [ - # Debian has a patch that fixes the build. - (fetchurl { - url = "https://sources.debian.net/data/main/u/unicap/0.9.12-2/debian/patches/1009_v4l1.patch"; - sha256 = "1lgypmhdj681m7d1nmzgvh19cz8agj2f31wlnfib0ha8i3g5hg5w"; - }) - ]; - - postPatch = '' - find . -type f -exec sed -e '/linux\/types\.h/d' -i '{}' ';' - sed -e 's@/etc/udev@'"$out"'/&@' -i data/Makefile.* - ''; - - meta = with lib; { - description = "Universal video capture API"; - homepage = "https://www.unicap-imaging.org/"; - maintainers = [ maintainers.raskin ]; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/by-name/vw/vwm/package.nix b/pkgs/by-name/vw/vwm/package.nix deleted file mode 100644 index 3bd8bedd8087..000000000000 --- a/pkgs/by-name/vw/vwm/package.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - ncurses, - pkg-config, - glib, - libviper, - libpseudo, - gpm, - libvterm, -}: - -stdenv.mkDerivation rec { - pname = "vwm"; - version = "2.1.3"; - - src = fetchurl { - url = "mirror://sourceforge/vwm/vwm-${version}.tar.gz"; - sha256 = "1r5wiqyfqwnyx7dfihixlnavbvg8rni36i4gq169aisjcg7laxaf"; - }; - - postPatch = '' - sed -i -e s@/usr/local@$out@ \ - -e s@/usr/lib@$out/lib@ \ - -e 's@tic vwmterm@tic -o '$out/lib/terminfo' vwmterm@' \ - -e /ldconfig/d Makefile modules/*/Makefile vwm.h - - # Fix ncurses-6.3 support: - substituteInPlace vwm_bkgd.c --replace \ - 'mvwprintw(window,height-1,width-(strlen(version_str)),version_str);' \ - 'mvwprintw(window,height-1,width-(strlen(version_str)),"%s", version_str);' - ''; - - preInstall = '' - mkdir -p $out/bin $out/include - ''; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - ncurses - glib - libviper - libpseudo - gpm - libvterm - ]; - - meta = with lib; { - homepage = "https://vwm.sourceforge.net/"; - description = "Dynamic window manager for the console"; - license = licenses.gpl2Plus; - maintainers = [ ]; - platforms = platforms.linux; - mainProgram = "vwm"; - }; -} diff --git a/pkgs/by-name/wa/wayfarer/package.nix b/pkgs/by-name/wa/wayfarer/package.nix index d9d03e709e6d..21d90646be7e 100644 --- a/pkgs/by-name/wa/wayfarer/package.nix +++ b/pkgs/by-name/wa/wayfarer/package.nix @@ -17,13 +17,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "wayfarer"; - version = "1.2.4"; + version = "1.2.4-unstable-2025-04-12"; src = fetchFromGitHub { owner = "stronnag"; repo = "wayfarer"; - rev = finalAttrs.version; - hash = "sha256-Vuiy2SjpK2T1ekbwa/KyIFa1V4BJsnJRIj4b+Yx0VEw="; + # branch development - has new gtk4 code + rev = "2517004bb3c48653100f0c6a6da16fde7927755e"; + hash = "sha256-ULmkjyBuqVwsFbLOdvqxvsAH1EF7zXFEBhU//nsV5sU="; }; postPatch = '' diff --git a/pkgs/by-name/xa/xalanc/0001-clang19-gcc15-compat.patch b/pkgs/by-name/xa/xalanc/0001-clang19-gcc15-compat.patch new file mode 100644 index 000000000000..ab6270d8f148 --- /dev/null +++ b/pkgs/by-name/xa/xalanc/0001-clang19-gcc15-compat.patch @@ -0,0 +1,48 @@ +diff --git a/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp b/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp +index 8741cea49..075b1ad4f 100644 +--- a/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp ++++ b/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp +@@ -301,43 +301,6 @@ public: + return write(chars, start, length, m_charRefFunctor); + } + +- void +- writeSafe( +- const XalanDOMChar* theChars, +- size_type theLength) +- { +- for(size_type i = 0; i < theLength; ++i) +- { +- const XalanDOMChar ch = theChars[i]; +- +- if (isUTF16HighSurrogate(ch) == true) +- { +- if (i + 1 >= theLength) +- { +- throwInvalidUTF16SurrogateException(ch, 0, getMemoryManager()); +- } +- else +- { +- XalanUnicodeChar value = decodeUTF16SurrogatePair(ch, theChars[i+1], getMemoryManager()); +- +- if (this->m_isPresentable(value)) +- { +- write(value); +- } +- else +- { +- this->writeNumberedEntityReference(value); +- } +- +- ++i; +- } +- } +- else +- { +- write(static_cast(ch)); +- } +- } +- } + + void + write(const XalanDOMChar* theChars) diff --git a/pkgs/by-name/xa/xalanc/package.nix b/pkgs/by-name/xa/xalanc/package.nix index d8e898ab47da..06bd0ba59abf 100644 --- a/pkgs/by-name/xa/xalanc/package.nix +++ b/pkgs/by-name/xa/xalanc/package.nix @@ -18,6 +18,16 @@ stdenv.mkDerivation { sha256 = "sha256:0q1204qk97i9h14vxxq7phcfpyiin0i1zzk74ixvg4wqy87b62s8"; }; + patches = [ + # See https://github.com/llvm/llvm-project/issues/96859 + # xalan-c contains a templated code path that tries to access non-existent methods, + # but before Clang 19 and GCC 15 this was no error as the template was never instantiated. + # Note that the suggested fix of adding "-fdelayed-template-parsing" + # to CXX_FLAGS would be sufficient for Clang 19, but as it would break again + # once we upgrade to GCC 15, we remove the dead code entirely. + ./0001-clang19-gcc15-compat.patch + ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ xercesc diff --git a/pkgs/development/compilers/chicken/5/overrides.nix b/pkgs/development/compilers/chicken/5/overrides.nix index ac7355ea4ef8..28ddfdacf900 100644 --- a/pkgs/development/compilers/chicken/5/overrides.nix +++ b/pkgs/development/compilers/chicken/5/overrides.nix @@ -70,9 +70,14 @@ in epoxy = old: (addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy old) - // lib.optionalAttrs stdenv.cc.isClang { + // { env.NIX_CFLAGS_COMPILE = toString [ - "-Wno-error=incompatible-function-pointer-types" + ( + if stdenv.cc.isClang then + "-Wno-error=incompatible-function-pointer-types" + else + "-Wno-error=incompatible-pointer-types" + ) "-Wno-error=int-conversion" ]; }; @@ -81,21 +86,31 @@ in expat = old: (addToBuildInputsWithPkgConfig pkgs.expat old) - // lib.optionalAttrs stdenv.cc.isClang { + // { env.NIX_CFLAGS_COMPILE = toString [ - "-Wno-error=incompatible-function-pointer-types" + ( + if stdenv.cc.isClang then + "-Wno-error=incompatible-function-pointer-types" + else + "-Wno-error=incompatible-pointer-types" + ) ]; }; ezxdisp = old: (addToBuildInputsWithPkgConfig pkgs.xorg.libX11 old) - // lib.optionalAttrs stdenv.cc.isClang { + // { env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=implicit-function-declaration" ]; }; freetype = addToBuildInputsWithPkgConfig pkgs.freetype; fuse = addToBuildInputsWithPkgConfig pkgs.fuse; + gl-math = old: { + env.NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=incompatible-pointer-types" + ]; + }; gl-utils = addPkgConfig; glfw3 = addToBuildInputsWithPkgConfig pkgs.glfw3; glls = addPkgConfig; @@ -118,7 +133,7 @@ in mdh = old: (addToBuildInputs pkgs.pcre old) - // lib.optionalAttrs stdenv.cc.isClang { + // { env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=implicit-function-declaration" "-Wno-error=implicit-int" diff --git a/pkgs/development/compilers/scala/bare.nix b/pkgs/development/compilers/scala/bare.nix index a8e74ed19767..9981f6a74971 100644 --- a/pkgs/development/compilers/scala/bare.nix +++ b/pkgs/development/compilers/scala/bare.nix @@ -8,12 +8,12 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "3.3.5"; + version = "3.3.6"; pname = "scala-bare"; src = fetchurl { url = "https://github.com/scala/scala3/releases/download/${finalAttrs.version}/scala3-${finalAttrs.version}.tar.gz"; - hash = "sha256-JVQG16L0/3RbahJc+FDz6pazTyb5vnxqP4272l0TalI="; + hash = "sha256-cmdSQkDuKJl2/tG4vAjABF1dKQ0/ruB8a3E3pCUrW5c="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index d738e391ea86..c404bfe6d46b 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -138,10 +138,10 @@ sourceVersion = { major = "7"; minor = "3"; - patch = "17"; + patch = "19"; }; - hash = "sha256-UOBoQPS73pFEgICkEYBoqJuPvK4l/42h4rsUAtyaA0Y="; + hash = "sha256-hwPNywH5+Clm3UO2pgGPFAOZ21HrtDwSXB+aIV57sAM="; pythonVersion = "2.7"; db = db.override { dbmSupport = !stdenv.hostPlatform.isDarwin; }; python = __splicedPackages.pythonInterpreters.pypy27_prebuilt; @@ -153,31 +153,46 @@ sourceVersion = { major = "7"; minor = "3"; - patch = "17"; + patch = "19"; }; - hash = "sha256-atdLxXjpxtOoocUVAzEwWOPFjDXfhvdIVFPEvmqyS/c="; + hash = "sha256-p8IpMLkY9Ahwhl7Yp0FH9ENO+E09bKKzweupNV1JKcg="; pythonVersion = "3.10"; db = db.override { dbmSupport = !stdenv.hostPlatform.isDarwin; }; python = __splicedPackages.pypy27; inherit passthruFun; }; + pypy311 = callPackage ./pypy { + self = __splicedPackages.pypy311; + sourceVersion = { + major = "7"; + minor = "3"; + patch = "19"; + }; + + hash = "sha256-SBfARLtGmjJ05gqjZFdw+B60+RZup/3E5sNRNFVUyNg="; + pythonVersion = "3.11"; + db = db.override { dbmSupport = !stdenv.hostPlatform.isDarwin; }; + python = __splicedPackages.pypy27; + inherit passthruFun; + }; + pypy27_prebuilt = callPackage ./pypy/prebuilt_2_7.nix { # Not included at top-level self = __splicedPackages.pythonInterpreters.pypy27_prebuilt; sourceVersion = { major = "7"; minor = "3"; - patch = "17"; + patch = "19"; }; hash = { - aarch64-linux = "sha256-qN9c4WUPR1aTP4eAhwyRoKQOfJhw10YpvyQTkry1wuM="; - x86_64-linux = "sha256-nzSX+HszctF+RHNp4AFqS+yZprTSpZq6d0olv+Q1NHQ="; - aarch64-darwin = "sha256-gCJIc5sqzIwb5tlH8Zsy/A44wI4xKzXAXMf7IvEHCeQ="; - x86_64-darwin = "sha256-gtRgQhRmyBraSh2Z3y3xuLNTQbOXyF///lGkwwItCDM="; + aarch64-linux = "sha256-/onU/UrxP3bf5zFZdQA1GM8XZSDjzOwVRKiNF09QkQ4="; + x86_64-linux = "sha256-04RFUIwurxTrs4DZwd7TIcXr6uMcfmaAAXPYPLjd9CM="; + aarch64-darwin = "sha256-KHgOC5CK1ttLTglvQjcSS+eezJcxlG2EDZyHSetnp1k="; + x86_64-darwin = "sha256-a+KNRI2OZP/8WG2bCuTQkGSoPMrrW4BgxlHFzZrgaHg="; } .${stdenv.system}; pythonVersion = "2.7"; @@ -190,19 +205,39 @@ sourceVersion = { major = "7"; minor = "3"; - patch = "17"; + patch = "19"; }; hash = { - aarch64-linux = "sha256-v79JVJirwv53G2C/ZOXDwHLgr7z8pprHKCxP9Dd/9BY="; - x86_64-linux = "sha256-NA2kGWYGsiRQmhuLMa/SAYE/CCYB3xicE46QXB1g4K8="; - aarch64-darwin = "sha256-KPKf/JxcyQbo6QgT/BRPA34js4TwUuGE4kIzL3tgqwY="; - x86_64-darwin = "sha256-I/8mS3PlvFt8OhufrHdosj35bH1mDLZBLxxSNSGjNL8="; + aarch64-linux = "sha256-ryeliRePERmOIkSrZcpRBjC6l8Ex18zEAh61vFjef1c="; + x86_64-linux = "sha256-xzrCzCOArJIn/Sl0gr8qPheoBhi6Rtt1RNU1UVMh7B4="; + aarch64-darwin = "sha256-PbigP8SWFkgBZGhE1/OxK6oK2zrZoLfLEkUhvC4WijY="; + x86_64-darwin = "sha256-LF5cKjOsiCVR1/KLmNGdSGuJlapQgkpztO3Mau7DXGM="; } .${stdenv.system}; pythonVersion = "3.10"; inherit passthruFun; }; + + pypy311_prebuilt = callPackage ./pypy/prebuilt.nix { + # Not included at top-level + self = __splicedPackages.pythonInterpreters.pypy311_prebuilt; + sourceVersion = { + major = "7"; + minor = "3"; + patch = "19"; + }; + hash = + { + aarch64-linux = "sha256-EyB9v4HOJOltp2CxuGNie3e7ILH7TJUZHgKgtyOD33Q="; + x86_64-linux = "sha256-kXfZ4LuRsF+SHGQssP9xoPNlO10ppC1A1qB4wVt1cg8="; + aarch64-darwin = "sha256-dwTg1TAuU5INMtz+mv7rEENtTJQjPogwz2A6qVWoYcE="; + x86_64-darwin = "sha256-okOfnTDf2ulqXpEBx9xUqKaLVsnXMU6jmbCiXT6H67I="; + } + .${stdenv.system}; + pythonVersion = "3.11"; + inherit passthruFun; + }; } // lib.optionalAttrs config.allowAliases { pypy39_prebuilt = throw "pypy 3.9 has been removed, use pypy 3.10 instead"; # Added 2025-01-03 diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix index 148b2cb2ecf0..a5fe47f7921e 100644 --- a/pkgs/development/interpreters/python/pypy/default.nix +++ b/pkgs/development/interpreters/python/pypy/default.nix @@ -121,6 +121,9 @@ stdenv.mkDerivation rec { dontPatchShebangs = true; disallowedReferences = [ python ]; + # fix compiler error in curses cffi module, where char* != const char* + NIX_CFLAGS_COMPILE = + if stdenv.cc.isClang then "-Wno-error=incompatible-function-pointer-types" else null; C_INCLUDE_PATH = lib.makeSearchPathOutput "dev" "include" buildInputs; LIBRARY_PATH = lib.makeLibraryPath buildInputs; LD_LIBRARY_PATH = lib.makeLibraryPath ( @@ -192,13 +195,18 @@ stdenv.mkDerivation rec { mkdir -p $out/${executable}-c/pypy/bin mv $out/bin/${executable} $out/${executable}-c/pypy/bin/${executable} ln -s $out/${executable}-c/pypy/bin/${executable} $out/bin/${executable} + '' + # _testcapi is compiled dynamically, into the store. + # This would fail if we don't do it here. + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + pushd / + $out/bin/${executable} -c "from test import support" + popd ''; setupHook = python-setup-hook sitePackages; - # TODO: A bunch of tests are failing as of 7.1.1, please feel free to - # fix and re-enable if you have the patience and tenacity. - doCheck = false; + # TODO: Investigate why so many tests are failing. checkPhase = let disabledTests = @@ -213,6 +221,9 @@ stdenv.mkDerivation rec { "test_urllib2net" "test_urllibnet" "test_urllib2_localnet" + # test_subclass fails with "internal error" + # test_load_default_certs_env fails for unknown reason + "test_ssl" ] ++ lib.optionals isPy3k [ # disable asyncio due to https://github.com/NixOS/nix/issues/1238 @@ -226,6 +237,88 @@ stdenv.mkDerivation rec { # disable __all__ because of spurious imp/importlib warning and # warning-to-error test policy "test___all__" + # fail for multiple reasons, TODO: investigate + "test__opcode" + "test_ast" + "test_audit" + "test_builtin" + "test_c_locale_coercion" + "test_call" + "test_class" + "test_cmd_line" + "test_cmd_line_script" + "test_code" + "test_code_module" + "test_codeop" + "test_compile" + "test_coroutines" + "test_cprofile" + "test_ctypes" + "test_embed" + "test_exceptions" + "test_extcall" + "test_frame" + "test_generators" + "test_grammar" + "test_idle" + "test_iter" + "test_itertools" + "test_list" + "test_marshal" + "test_memoryio" + "test_memoryview" + "test_metaclass" + "test_mmap" + "test_multibytecodec" + "test_opcache" + "test_pdb" + "test_peepholer" + "test_positional_only_arg" + "test_print" + "test_property" + "test_pyclbr" + "test_range" + "test_re" + "test_readline" + "test_regrtest" + "test_repl" + "test_rlcompleter" + "test_signal" + "test_sort" + "test_source_encoding" + "test_ssl" + "test_string_literals" + "test_structseq" + "test_subprocess" + "test_super" + "test_support" + "test_syntax" + "test_sys" + "test_sys_settrace" + "test_tcl" + "test_termios" + "test_threading" + "test_trace" + "test_tty" + "test_unpack_ex" + "test_utf8_mode" + "test_weakref" + "test_capi" + "test_concurrent_futures" + "test_dataclasses" + "test_doctest" + "test_future_stmt" + "test_importlib" + "test_inspect" + "test_pydoc" + "test_warnings" + ] + ++ lib.optionals isPy310 [ + "test_contextlib_async" + "test_future" + "test_lzma" + "test_module" + "test_typing" ]; in '' @@ -264,6 +357,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.pypy.org/"; + changelog = "https://doc.pypy.org/en/stable/release-v${version}.html"; description = "Fast, compliant alternative implementation of the Python language (${pythonVersion})"; mainProgram = "pypy"; license = licenses.mit; @@ -274,6 +368,9 @@ stdenv.mkDerivation rec { "x86_64-darwin" ]; broken = optimizationLevel == "0"; # generates invalid code - maintainers = with maintainers; [ andersk ]; + maintainers = with maintainers; [ + andersk + fliegendewurst + ]; }; } diff --git a/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix b/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix index 82da8e953e66..95e89c54b68f 100644 --- a/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix +++ b/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix @@ -100,7 +100,6 @@ stdenv.mkDerivation { mv -t $out bin include lib-python lib_pypy site-packages mv $out/bin/libpypy*-c${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/ ${lib.optionalString stdenv.hostPlatform.isLinux '' - mv lib/libffi.so.6* $out/lib/ rm $out/bin/*.debug ''} diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix index e2dc7a69fbc6..f0cd64d23e66 100644 --- a/pkgs/development/interpreters/python/tests.nix +++ b/pkgs/development/interpreters/python/tests.nix @@ -237,7 +237,8 @@ let } ); - condaTests = + # depends on mypy, which depends on CPython internals + condaTests = lib.optionalAttrs (!python.isPyPy) ( let requests = callPackage ( { @@ -276,7 +277,8 @@ let condaExamplePackage = runCommand "import-requests" { } '' ${pythonWithRequests.interpreter} -c "import requests" > $out ''; - }; + } + ); in lib.optionalAttrs (stdenv.hostPlatform == stdenv.buildPlatform) ( diff --git a/pkgs/development/libraries/science/math/suitesparse/4.2.nix b/pkgs/development/libraries/science/math/suitesparse/4.2.nix deleted file mode 100644 index 67f580b145dc..000000000000 --- a/pkgs/development/libraries/science/math/suitesparse/4.2.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - gfortran, - blas, - lapack, -}: - -let - int_t = if blas.isILP64 then "int64_t" else "int32_t"; -in -stdenv.mkDerivation rec { - version = "4.2.1"; - pname = "suitesparse"; - src = fetchurl { - url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz"; - sha256 = "1ga69637x7kdkiy3w3lq9dvva7220bdangv2lch2wx1hpi83h0p8"; - }; - - nativeBuildInputs = [ gfortran ]; - buildInputs = [ - blas - lapack - ]; - - preConfigure = '' - mkdir -p $out/lib - mkdir -p $out/include - - sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ - -e 's/METIS .*$/METIS =/' \ - -e 's/METIS_PATH .*$/METIS_PATH =/' \ - -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \ - -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/' - ''; - - makeFlags = [ - "PREFIX=\"$(out)\"" - "INSTALL_LIB=$(out)/lib" - "INSTALL_INCLUDE=$(out)/include" - "BLAS=-lblas" - "LAPACK=-llapack" - ]; - - meta = with lib; { - homepage = "http://faculty.cse.tamu.edu/davis/suitesparse.html"; - description = "Suite of sparse matrix algorithms"; - license = with licenses; [ - bsd2 - gpl2Plus - lgpl21Plus - ]; - maintainers = with maintainers; [ ttuegel ]; - platforms = with platforms; unix; - }; -} diff --git a/pkgs/development/libraries/science/math/suitesparse/4.4.nix b/pkgs/development/libraries/science/math/suitesparse/4.4.nix deleted file mode 100644 index 98a1d4599f4c..000000000000 --- a/pkgs/development/libraries/science/math/suitesparse/4.4.nix +++ /dev/null @@ -1,118 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - gfortran, - blas, - lapack, - config, - enableCuda ? config.cudaSupport, - cudatoolkit, -}: - -let - int_t = if blas.isILP64 then "int64_t" else "int32_t"; - SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary; -in -stdenv.mkDerivation rec { - version = "4.4.4"; - pname = "suitesparse"; - - src = fetchurl { - url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${version}.tar.gz"; - sha256 = "1zdn1y0ij6amj7smmcslkqgbqv9yy5cwmbyzqc9v6drzdzllgbpj"; - }; - - preConfigure = - '' - mkdir -p $out/lib - mkdir -p $out/include - - sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ - -e 's/METIS .*$/METIS =/' \ - -e 's/METIS_PATH .*$/METIS_PATH =/' \ - -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \ - -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/' - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ - -e 's/^[[:space:]]*\(LIB = -lm\) -lrt/\1/' - '' - + lib.optionalString enableCuda '' - sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ - -e 's|^[[:space:]]*\(CUDA_ROOT =\)|CUDA_ROOT = ${cudatoolkit}|' \ - -e 's|^[[:space:]]*\(GPU_BLAS_PATH =\)|GPU_BLAS_PATH = $(CUDA_ROOT)|' \ - -e 's|^[[:space:]]*\(GPU_CONFIG =\)|GPU_CONFIG = -I$(CUDA_ROOT)/include -DGPU_BLAS -DCHOLMOD_OMP_NUM_THREADS=$(NIX_BUILD_CORES) |' \ - -e 's|^[[:space:]]*\(CUDA_PATH =\)|CUDA_PATH = $(CUDA_ROOT)|' \ - -e 's|^[[:space:]]*\(CUDART_LIB =\)|CUDART_LIB = $(CUDA_ROOT)/lib64/libcudart.so|' \ - -e 's|^[[:space:]]*\(CUBLAS_LIB =\)|CUBLAS_LIB = $(CUDA_ROOT)/lib64/libcublas.so|' \ - -e 's|^[[:space:]]*\(CUDA_INC_PATH =\)|CUDA_INC_PATH = $(CUDA_ROOT)/include/|' \ - -e 's|^[[:space:]]*\(NV20 =\)|NV20 = -arch=sm_20 -Xcompiler -fPIC|' \ - -e 's|^[[:space:]]*\(NV30 =\)|NV30 = -arch=sm_30 -Xcompiler -fPIC|' \ - -e 's|^[[:space:]]*\(NV35 =\)|NV35 = -arch=sm_35 -Xcompiler -fPIC|' \ - -e 's|^[[:space:]]*\(NVCC =\) echo|NVCC = $(CUDA_ROOT)/bin/nvcc|' \ - -e 's|^[[:space:]]*\(NVCCFLAGS =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|' - ''; - - makeFlags = [ - "PREFIX=\"$(out)\"" - "INSTALL_LIB=$(out)/lib" - "INSTALL_INCLUDE=$(out)/include" - "BLAS=-lblas" - "LAPACK=-llapack" - ]; - - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin " -DNTIMER"; - - postInstall = '' - # Build and install shared library - ( - cd "$(mktemp -d)" - for i in "$out"/lib/lib*.a; do - ar -x $i - done - ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${ - if enableCuda then "nvcc" else "cc" - } *.o ${ - if stdenv.hostPlatform.isDarwin then "-dynamiclib" else "--shared" - } -o "$out/lib/libsuitesparse${SHLIB_EXT}" -lblas ${lib.optionalString enableCuda "-lcublas"} - ) - for i in umfpack cholmod amd camd colamd spqr; do - ln -s libsuitesparse${SHLIB_EXT} "$out"/lib/lib$i${SHLIB_EXT} - done - - # Install documentation - outdoc=$out/share/doc/suitesparse-${version} - mkdir -p $outdoc - cp -r AMD/Doc $outdoc/amd - cp -r BTF/Doc $outdoc/bft - cp -r CAMD/Doc $outdoc/camd - cp -r CCOLAMD/Doc $outdoc/ccolamd - cp -r CHOLMOD/Doc $outdoc/cholmod - cp -r COLAMD/Doc $outdoc/colamd - cp -r CXSparse/Doc $outdoc/cxsparse - cp -r KLU/Doc $outdoc/klu - cp -r LDL/Doc $outdoc/ldl - cp -r RBio/Doc $outdoc/rbio - cp -r SPQR/Doc $outdoc/spqr - cp -r UMFPACK/Doc $outdoc/umfpack - ''; - - nativeBuildInputs = [ gfortran ]; - buildInputs = [ - blas - lapack - ]; - - meta = with lib; { - homepage = "http://faculty.cse.tamu.edu/davis/suitesparse.html"; - description = "Suite of sparse matrix algorithms"; - license = with licenses; [ - bsd2 - gpl2Plus - lgpl21Plus - ]; - maintainers = with maintainers; [ ttuegel ]; - platforms = with platforms; unix; - }; -} diff --git a/pkgs/development/python-modules/asyncinotify/default.nix b/pkgs/development/python-modules/asyncinotify/default.nix index 1a3ab85a8050..3bd4d0cd51a6 100644 --- a/pkgs/development/python-modules/asyncinotify/default.nix +++ b/pkgs/development/python-modules/asyncinotify/default.nix @@ -30,6 +30,11 @@ buildPythonPackage rec { pytestFlagsArray = [ "test.py" ]; meta = with lib; { + badPlatforms = [ + # Unsupported and crashing on import in dlsym with symbol not found + "aarch64-darwin" + "x86_64-darwin" + ]; description = "Module for inotify"; homepage = "https://github.com/absperf/asyncinotify/"; changelog = "https://github.com/absperf/asyncinotify/releases/tag/v${version}"; diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index 41c4230dc194..9e3cb88b4924 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, gdb, + isPyPy, ncurses, numpy, pkg-config, @@ -36,7 +37,9 @@ buildPythonPackage rec { ncurses ]; - env.LC_ALL = "en_US.UTF-8"; + env = lib.optionalAttrs (!isPyPy) { + LC_ALL = "en_US.UTF-8"; + }; # https://github.com/cython/cython/issues/2785 # Temporary solution diff --git a/pkgs/development/python-modules/datasets/default.nix b/pkgs/development/python-modules/datasets/default.nix index 76920c084d4a..49e474a53b49 100644 --- a/pkgs/development/python-modules/datasets/default.nix +++ b/pkgs/development/python-modules/datasets/default.nix @@ -19,14 +19,14 @@ }: buildPythonPackage rec { pname = "datasets"; - version = "3.5.1"; + version = "3.6.0"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "datasets"; tag = version; - hash = "sha256-+496dc7j2pIXEIMsuDHZgHhSuM4kBR5AS6A5tdbuVKg="; + hash = "sha256-/xhu0cDKfCEwrp9IzKd0+AeQky1198f9sba/pdutvAk="; }; build-system = [ diff --git a/pkgs/development/python-modules/klayout/default.nix b/pkgs/development/python-modules/klayout/default.nix index 8ef9284b36fa..643bb4bf8b9f 100644 --- a/pkgs/development/python-modules/klayout/default.nix +++ b/pkgs/development/python-modules/klayout/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "klayout"; - version = "0.30.0"; + version = "0.30.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-JMCc/jWZ5tpN7FaoswVS5r5GHP9qXz9SA5hiKS+1P38="; + hash = "sha256-QR/JK6n8Gnofdw7/RyeeA6OZJmVeIa0WbbuQAecASVY="; }; build-system = [ diff --git a/pkgs/development/python-modules/kserve/default.nix b/pkgs/development/python-modules/kserve/default.nix index b0e06d8497e5..239a35a08963 100644 --- a/pkgs/development/python-modules/kserve/default.nix +++ b/pkgs/development/python-modules/kserve/default.nix @@ -46,6 +46,7 @@ avro, grpcio-testing, pytest-asyncio, + pytest-httpx, pytest-xdist, pytestCheckHook, tomlkit, @@ -53,14 +54,14 @@ buildPythonPackage rec { pname = "kserve"; - version = "0.15.0"; + version = "0.15.1"; pyproject = true; src = fetchFromGitHub { owner = "kserve"; repo = "kserve"; tag = "v${version}"; - hash = "sha256-J2VFMHwhHpvtsywv3ixuVzpuDwq8y9w4heedYYWVBmM="; + hash = "sha256-k+uyOhsxWPpiA82wCCEn53W2VQgSHGgSABFipEPErRk="; }; sourceRoot = "${src.name}/python/kserve"; @@ -115,7 +116,7 @@ buildPythonPackage rec { logging = [ asgi-logger ]; ray = [ ray ]; llm = [ - # vllm (broken) + vllm ]; }; @@ -123,6 +124,7 @@ buildPythonPackage rec { avro grpcio-testing pytest-asyncio + pytest-httpx pytest-xdist pytestCheckHook tomlkit @@ -147,17 +149,13 @@ buildPythonPackage rec { "--deselect=test/test_server.py::TestRayServer::test_list_handler" "--deselect=test/test_server.py::TestRayServer::test_liveness_handler" "--deselect=test/test_server.py::TestRayServer::test_predict" + # Permission Error + "--deselect=test/test_server.py::TestMutiProcessServer::test_rest_server_multiprocess" ]; disabledTestPaths = [ # Looks for a config file at the root of the repository "test/test_inference_service_client.py" - - # Require broken vllm - "test/test_dataplane.py" - "test/test_model_repository.py" - "test/test_openai_completion.py" - "test/test_openai_embedding.py" ]; disabledTests = diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix index 1ffadd2005f6..e7178dfb05f3 100644 --- a/pkgs/development/python-modules/mypy/default.nix +++ b/pkgs/development/python-modules/mypy/default.nix @@ -6,6 +6,7 @@ gitUpdater, pythonAtLeast, pythonOlder, + isPyPy, # build-system setuptools, @@ -35,7 +36,8 @@ buildPythonPackage rec { version = "1.15.0"; pyproject = true; - disabled = pythonOlder "3.8"; + # relies on several CPython internals + disabled = pythonOlder "3.8" || isPyPy; src = fetchFromGitHub { owner = "python"; diff --git a/pkgs/development/python-modules/piper-phonemize/default.nix b/pkgs/development/python-modules/piper-phonemize/default.nix index 9b8f929b4ea5..91e9380b899e 100644 --- a/pkgs/development/python-modules/piper-phonemize/default.nix +++ b/pkgs/development/python-modules/piper-phonemize/default.nix @@ -1,4 +1,6 @@ { + lib, + stdenv, buildPythonPackage, onnxruntime-native, piper-phonemize-native, @@ -21,7 +23,8 @@ buildPythonPackage { piper-phonemize-native.espeak-ng ]; - pythonImportsCheck = [ "piper_phonemize" ]; + # coredump in onnxruntime::logging::Logger& onnxruntime::logging::LoggingManager::DefaultLogger() + pythonImportsCheck = lib.optionals stdenv.hostPlatform.isx86 [ "piper_phonemize" ]; # no tests doCheck = false; diff --git a/pkgs/development/python-modules/push-receiver/default.nix b/pkgs/development/python-modules/push-receiver/default.nix deleted file mode 100644 index d5f4732bb313..000000000000 --- a/pkgs/development/python-modules/push-receiver/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - buildPythonPackage, - fetchPypi, - lib, - appdirs, - http-ece, - oscrypto, - protobuf, -}: - -buildPythonPackage rec { - pname = "push-receiver"; - version = "0.1.1"; - format = "setuptools"; - - src = fetchPypi { - inherit version; - pname = "push_receiver"; - hash = "sha256-Tknmra39QfA+OgrRxzKDLbkPucW8zgdHqz5FGQnzYOw="; - }; - - propagatedBuildInputs = [ - appdirs # required for running the bundled example - http-ece # required for listening for new message - oscrypto - protobuf - ]; - - pythonImportsCheck = [ "push_receiver" ]; - - meta = with lib; { - homepage = "https://github.com/Francesco149/push_receiver"; - description = "Subscribe to GCM/FCM and receive notifications"; - license = licenses.unlicense; - maintainers = with maintainers; [ veehaitch ]; - }; -} diff --git a/pkgs/development/python-modules/python-coinmarketcap/default.nix b/pkgs/development/python-modules/python-coinmarketcap/default.nix new file mode 100644 index 000000000000..9e64a9138d18 --- /dev/null +++ b/pkgs/development/python-modules/python-coinmarketcap/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + requests, + setuptools, +}: + +buildPythonPackage rec { + pname = "python-coinmarketcap"; + version = "0.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "rsz44"; + repo = "python-coinmarketcap"; + rev = "de069d55d7cc5eea9cd194b47d4609c4846d59d1"; # No tags + hash = "sha256-FQIfDV7O3z5S2HGKi2k8NPsvkAS66rsueggoSAGvbVU="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + requests + ]; + + pythonImportsCheck = [ + "coinmarketcapapi" + ]; + + doCheck = false; # Tests use the CoinMarketCap API + + meta = { + description = "Python package to wrap the CoinMarketCap API"; + homepage = "https://github.com/rsz44/python-coinmarketcap"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dolphindalt ]; + }; +} diff --git a/pkgs/development/python-modules/shiboken2/default.nix b/pkgs/development/python-modules/shiboken2/default.nix index 764cd41bda94..dfbbae93d6b9 100644 --- a/pkgs/development/python-modules/shiboken2/default.nix +++ b/pkgs/development/python-modules/shiboken2/default.nix @@ -64,5 +64,6 @@ stdenv.mkDerivation { ]; homepage = "https://wiki.qt.io/Qt_for_Python"; maintainers = with maintainers; [ ]; + broken = python.pythonAtLeast "3.13"; }; } diff --git a/pkgs/development/python-modules/slimit/default.nix b/pkgs/development/python-modules/slimit/default.nix deleted file mode 100644 index 771fd05d8ceb..000000000000 --- a/pkgs/development/python-modules/slimit/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - ply, - pytestCheckHook, -}: - -buildPythonPackage rec { - pname = "slimit"; - version = "unstable-2018-08-08"; - format = "setuptools"; - - src = fetchFromGitHub { - owner = "rspivak"; - repo = "slimit"; - rev = "3533eba9ad5b39f3a015ae6269670022ab310847"; - hash = "sha256-J+8RGENM/+eaTNvoC54XXPP+aWmazlssjnZAY88J/F0="; - }; - - propagatedBuildInputs = [ ply ]; - - pythonImportsCheck = [ "slimit" ]; - - nativeCheckInputs = [ pytestCheckHook ]; - - meta = with lib; { - description = "SlimIt - a JavaScript minifier/parser in Python"; - mainProgram = "slimit"; - homepage = "https://github.com/rspivak/slimit"; - changelog = "https://github.com/rspivak/slimit/blob/${src.rev}/CHANGES"; - license = licenses.mit; - maintainers = with maintainers; [ hexa ]; - }; -} diff --git a/pkgs/development/python-modules/vat-moss/default.nix b/pkgs/development/python-modules/vat-moss/default.nix index a3fba68a65c0..4971df9abbdb 100644 --- a/pkgs/development/python-modules/vat-moss/default.nix +++ b/pkgs/development/python-modules/vat-moss/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, fetchpatch, + pythonAtLeast, pytestCheckHook, }: @@ -11,6 +12,9 @@ buildPythonPackage rec { version = "0.11.0"; format = "setuptools"; + # uses the removed cgi battery + disabled = pythonAtLeast "3.13"; + src = fetchFromGitHub { owner = "raphaelm"; repo = "vat_moss-python"; diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index cb7bf4399fbc..e73720828c3c 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -91,7 +91,9 @@ let ]; }; deriveBiocAnn = mkDerive { - mkHomepage = { name, ... }: "http://www.bioconductor.org/packages/${name}.html"; + mkHomepage = + { name, biocVersion }: + "https://www.bioconductor.org/packages/${biocVersion}/data/annotation/html/${name}.html"; mkUrls = { name, @@ -104,7 +106,9 @@ let hydraPlatforms = [ ]; }; deriveBiocExp = mkDerive { - mkHomepage = { name, ... }: "http://www.bioconductor.org/packages/${name}.html"; + mkHomepage = + { name, biocVersion }: + "https://www.bioconductor.org/packages/${biocVersion}/data/experiment/html/${name}.html"; mkUrls = { name, diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix index edecf97f68d6..de9c03b89091 100644 --- a/pkgs/games/scummvm/default.nix +++ b/pkgs/games/scummvm/default.nix @@ -74,8 +74,7 @@ stdenv.mkDerivation rec { '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace config.mk \ - --replace x86_64-apple-darwin-ranlib ${cctools}/bin/ranlib \ - --replace aarch64-apple-darwin-ranlib ${cctools}/bin/ranlib + --replace-fail ${stdenv.hostPlatform.config}-ranlib ${cctools}/bin/ranlib ''; NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; diff --git a/pkgs/os-specific/linux/tuxedo-drivers/default.nix b/pkgs/os-specific/linux/tuxedo-drivers/default.nix index c0d5e560a970..48f937a525c4 100644 --- a/pkgs/os-specific/linux/tuxedo-drivers/default.nix +++ b/pkgs/os-specific/linux/tuxedo-drivers/default.nix @@ -11,14 +11,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "tuxedo-drivers-${kernel.version}"; - version = "4.12.2"; + version = "4.13.0"; src = fetchFromGitLab { group = "tuxedocomputers"; owner = "development/packages"; repo = "tuxedo-drivers"; rev = "v${finalAttrs.version}"; - hash = "sha256-tVpuyZGpJJqv9Ilwjxvi9zN9MwwRI2CjjKFReCmXsEA="; + hash = "sha256-hEMar2Bfg34HJQChb9e1enrX/RNvfujPsArkPnTyxPs="; }; buildInputs = [ pahole ]; diff --git a/pkgs/tools/archivers/quickbms/default.nix b/pkgs/tools/archivers/quickbms/default.nix deleted file mode 100644 index 15e2a2e4d91e..000000000000 --- a/pkgs/tools/archivers/quickbms/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - stdenv, - lib, - fetchzip, - fetchpatch, - bzip2, - lzo, - openssl_1_1, - opensslSupport ? false, - zlib, -}: - -stdenv.mkDerivation rec { - version = "0.11.0"; - pname = "quickbms"; - - src = fetchzip { - url = "https://aluigi.altervista.org/papers/quickbms-src-${version}.zip"; - hash = "sha256-uQKTE36pLO8uhrX794utqaDGUeyqRz6zLCQFA7DYkNc="; - }; - - patches = [ - # Fix errors on x86_64 and _rotl definition - (fetchpatch { - name = "0001-fix-compile.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-compile.patch?h=quickbms&id=a2e3e4638295d7cfe39513bfef9447fb23154a6b"; - hash = "sha256-49fT/L4BNzMYnq1SXhFMgSDLybLkz6KSbgKmUpZZu08="; - stripLen = 1; - }) - ] ++ lib.optional (!opensslSupport) ./0002-disable-openssl.patch; - - buildInputs = [ - bzip2 - lzo - zlib - ] ++ lib.optional (opensslSupport) openssl_1_1; - - makeFlags = [ "PREFIX=$(out)" ]; - - meta = with lib; { - description = "Universal script based file extractor and reimporter"; - homepage = "https://aluigi.altervista.org/quickbms.htm"; - license = licenses.gpl2Plus; - maintainers = [ ]; - platforms = platforms.linux; - mainProgram = "quickbms"; - }; -} diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix index 494c35050823..28f368731118 100644 --- a/pkgs/tools/package-management/lix/default.nix +++ b/pkgs/tools/package-management/lix/default.nix @@ -234,14 +234,14 @@ lib.makeExtensible (self: { attrName = "git"; lix-args = rec { - version = "2.94.0-pre-20250509_${builtins.substring 0 12 src.rev}"; + version = "2.94.0-pre-20250516_${builtins.substring 0 12 src.rev}"; src = fetchFromGitea { domain = "git.lix.systems"; owner = "lix-project"; repo = "lix"; - rev = "dcb0a97000d50b2868ed4f8d9fd465c5a5b8eb3a"; - hash = "sha256-qCRBy8Bbh5XhPalPkhonxNgfsbw3lP0UIXBLSrhxAvI="; + rev = "a7634f87aac545fa01fa19878cc5ad2c994e2116"; + hash = "sha256-+yX+xF1cZUd1Pub7MJ7uGcC6JQ0FN+CsEmBg6rGLfjU="; }; cargoDeps = rustPlatform.fetchCargoVendor { diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 3a439c5a67c6..d31267a5cd39 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -261,6 +261,7 @@ mapAliases { addOpenGLRunpath = throw "addOpenGLRunpath has been removed. Use addDriverRunpath instead."; # Converted to throw 2024-11-17 aeon = throw "aeon has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2024-07-15 afl = throw "afl has been removed as the upstream project was archived. Consider using 'aflplusplus'"; # Added 2024-04-21 + afpfs-ng = throw "'afpfs-ng' has been removed as it was broken and unmaintained for 10 years"; # Added 2025-05-17 agda-pkg = throw "agda-pkg has been removed due to being unmaintained"; # Added 2024-09-10" ajour = throw "ajour has been removed, the project was archived upstream on 2024-09-17."; # Added 2025-03-12 akkoma-emoji = recurseIntoAttrs { @@ -310,6 +311,7 @@ mapAliases { atlassian-confluence = throw "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements"; # Added 2024-11-02 atlassian-crowd = throw "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements"; # Added 2024-11-02 atlassian-jira = throw "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements"; # Added 2024-11-02 + ats = throw "'ats' has been removed as it is unmaintained for 10 years and broken"; # Added 2025-05-17 audaciousQt5 = throw "'audaciousQt5' has been removed, since audacious is built with Qt 6 now"; # Added 2024-07-06 auditBlasHook = throw "'auditBlasHook' has been removed since it never worked"; # Added 2024-04-02 aumix = throw "'aumix' has been removed due to lack of maintenance upstream. Consider using 'pamixer' for CLI or 'pavucontrol' for GUI"; # Added 2024-09-14 @@ -317,6 +319,7 @@ mapAliases { autoadb = throw "'autoadb' has been removed due to lack of maintenance upstream"; # Added 2025-01-25 avldrums-lv2 = throw "'avldrums-lv2' has been renamed to/replaced by 'x42-avldrums'"; # Converted to throw 2024-10-17 avrlibcCross = avrlibc; # Added 2024-09-06 + axmldec = throw "'axmldec' has been removed as it was broken and unmaintained for 8 years"; # Added 2025-05-17 awesome-4-0 = awesome; # Added 2022-05-05 aws-env = throw "aws-env has been removed as the upstream project was unmaintained"; # Added 2024-06-11 aws-google-auth = throw "aws-google-auth has been removed as the upstream project was unmaintained"; # Added 2024-07-31 @@ -400,6 +403,7 @@ mapAliases { cassandra_3_0 = throw "'cassandra_3_0' has been removed has it reached end-of-life"; # Added 2025-03-23 cassandra_3_11 = throw "'cassandra_3_11' has been removed has it reached end-of-life"; # Added 2025-03-23 cawbird = throw "cawbird has been abandoned upstream and is broken anyways due to Twitter closing its API"; + cde = throw "'cde' has been removed as it is unmaintained and broken"; # Added 2025-05-17 centerim = throw "centerim has been removed due to upstream disappearing"; # Added 2025-04-18 certmgr-selfsigned = certmgr; # Added 2023-11-30 cgal_4 = throw "cgal_4 has been removed as it is obsolete use cgal instead"; # Added 2024-12-30 @@ -506,6 +510,7 @@ mapAliases { dat = nodePackages.dat; dave = throw "'dave' has been removed as it has been archived upstream. Consider using 'webdav' instead"; # Added 2025-02-03 dbeaver = throw "'dbeaver' has been renamed to/replaced by 'dbeaver-bin'"; # Added 2024-05-16 + dbench = throw "'dbench' has been removed as it is unmaintained for 14 years and broken"; # Added 2025-05-17 dbus-map = throw "'dbus-map' has been dropped as it is unmaintained"; # Added 2024-11-01 deadpixi-sam = deadpixi-sam-unstable; @@ -518,6 +523,7 @@ mapAliases { dgsh = throw "'dgsh' has been removed, as it was broken and unmaintained"; # added 2024-05-09 dibbler = throw "dibbler was removed because it is not maintained anymore"; # Added 2024-05-14 dillong = throw "'dillong' has been removed, as upstream is abandoned since 2021-12-13. Use either 'dillo' or 'dillo-plus'. The latter integrates features from dillong."; # Added 2024-10-07 + directvnc = throw "'directvnc' has been removed as it was unmaintained upstream since 2015 and failed to build with gcc 14"; # Added 2025-05-17 diskonaut = throw "'diskonaut' was removed due to lack of upstream maintenance"; # Added 2025-01-25 dispad = throw "dispad has been remove because it doesn't compile and has been unmaintained since 2014"; # Added 2025-04-25 dleyna-core = dleyna; # Added 2025-04-19 @@ -975,6 +981,7 @@ mapAliases { libbitcoin-protocol = throw "libbitcoin-protocol has been removed as it required an obsolete version of Boost and had no maintainer in Nixpkgs"; # Added 2024-11-24 libchop = throw "libchop has been removed due to failing to build and being unmaintained upstream"; # Added 2025-05-02 libdwg = throw "libdwg has been removed as upstream is unmaintained, the code doesn't build without significant patches, and the package had no reverse dependencies"; # Added 2024-12-28 + libgadu = throw "'libgadu' has been removed as upstream is unmaintained and has no dependents or maintainers in Nixpkgs"; # Added 2025-05-17 libgcrypt_1_8 = throw "'libgcrypt_1_8' is end-of-life. Consider using 'libgcrypt' instead"; # Added 2025-01-05 libgda = lib.warnOnInstantiate "‘libgda’ has been renamed to ‘libgda5’" libgda5; # Added 2025-01-21 libgme = game-music-emu; # Added 2022-07-20 @@ -991,6 +998,7 @@ mapAliases { liboop = throw "liboop has been removed as it is unmaintained upstream."; # Added 2024-08-14 libosmo-sccp = libosmo-sigtran; # Added 2024-12-20 libpqxx_6 = throw "libpqxx_6 has been removed, please use libpqxx"; # Added 2024-10-02 + libpseudo = throw "'libpseudo' was removed as it is broken and not maintained upstream"; # Added 2025-05-17 libpulseaudio-vanilla = libpulseaudio; # Added 2022-04-20 libqt5pas = libsForQt5.libqtpas; # Added 2024-12-25 libquotient = libsForQt5.libquotient; # Added 2023-11-11 @@ -1166,6 +1174,7 @@ mapAliases { fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; + mapmap = throw "'mapmap' has been removed as it has been unmaintained since 2021"; markets = throw "'markets' has been removed as it was archived upstream in 2023"; # Added 2025-04-17 marwaita-manjaro = lib.warnOnInstantiate "marwaita-manjaro has been renamed to marwaita-teal" marwaita-teal; # Added 2024-07-08 marwaita-peppermint = lib.warnOnInstantiate "marwaita-peppermint has been renamed to marwaita-red" marwaita-red; # Added 2024-07-01 @@ -1587,6 +1596,7 @@ mapAliases { qtcurve = throw "'qtcurve' has been renamed to/replaced by 'libsForQt5.qtcurve'"; # Converted to throw 2024-10-17 qtile-unwrapped = python3.pkgs.qtile; # Added 2023-05-12 quantum-espresso-mpi = quantum-espresso; # Added 2023-11-23 + quickbms = throw "'quickbms' has been removed due to being unmaintained for many years."; # Added 2025-05-17 quicklispPackages = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 quicklispPackagesABCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 quicklispPackagesCCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 @@ -1681,6 +1691,7 @@ mapAliases { session-desktop-appimage = session-desktop; sequoia = sequoia-sq; # Added 2023-06-26 sexp = sexpp; # Added 2023-07-03 + sgrep = throw "'sgrep' has been removed as it was unmaintained upstream since 1998 and broken with gcc 14"; # Added 2025-05-17 shallot = throw "'shallot' has been removed as it is broken and the upstream repository was removed. Consider using 'mkp224o'"; # Added 2025-03-16 inherit (libsForQt5.mauiPackages) shelf; # added 2022-05-17 shell-hist = throw "'shell-hist' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 @@ -1697,6 +1708,7 @@ mapAliases { skypeforlinux = throw "Skype has been shut down in May 2025"; # Added 2025-05-05 slack-dark = throw "'slack-dark' has been renamed to/replaced by 'slack'"; # Converted to throw 2024-10-17 slimerjs = throw "slimerjs does not work with any version of Firefox newer than 59; upstream ended the project in 2021. "; # added 2025-01-06 + sloccount = throw "'sloccount' has been removed because it is unmaintained. Consider migrating to 'loccount'"; # added 2025-05-17 slurm-llnl = slurm; # renamed July 2017 sm64ex-coop = throw "'sm64ex-coop' was removed as it was archived upstream. Consider migrating to 'sm64coopdx'"; # added 2024-11-23 smartgithg = smartgit; # renamed March 2025 @@ -1759,6 +1771,10 @@ mapAliases { StormLib = stormlib; # Added 2024-01-21 strawberry-qt5 = throw "strawberry-qt5 has been replaced by strawberry-qt6"; # Added 2024-11-22 strelka = throw "strelka depends on Python 2.6+, and does not support Python 3."; # Added 2025-03-17 + subberthehut = throw "'subberthehut' has been removed as it was unmaintained upstream"; # Added 2025-05-17 + suidChroot = throw "'suidChroot' has been dropped as it was unmaintained, failed to build and had questionable security considerations"; # Added 2025-05-17 + suitesparse_4_2 = throw "'suitesparse_4_2' has been removed as it was unmaintained upstream"; # Added 2025-05-17 + suitesparse_4_4 = throw "'suitesparse_4_4' has been removed as it was unmaintained upstream"; # Added 2025-05-17 sumneko-lua-language-server = lua-language-server; # Added 2023-02-07 sumokoin = throw "sumokoin has been removed as it was abandoned upstream"; # Added 2024-11-23 supertag = throw "supertag has been removed as it was abandoned upstream and fails to build"; # Added 2025-04-20 @@ -1829,6 +1845,7 @@ mapAliases { timelens = throw "'timelens' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 tix = tclPackages.tix; # Added 2024-10-02 tkcvs = tkrev; # Added 2022-03-07 + tkgate = "'tkgate' has been removed as it is unmaintained"; # Added 2025-05-17 tkimg = tclPackages.tkimg; # Added 2024-10-02 todiff = "'todiff' was removed due to lack of known users"; # Added 2025-01-25 toil = throw "toil was removed as it was broken and requires obsolete versions of libraries"; # Added 2024-09-22 @@ -1880,6 +1897,7 @@ mapAliases { ubuntu_font_family = ubuntu-classic; # Added 2024-02-19 uclibc = uclibc-ng; # Added 2022-06-16 uclibcCross = uclibc-ng; # Added 2022-06-16 + unicap = "'unicap' has been removed because it is unmaintained"; # Added 2025-05-17 unicorn-emu = throw "'unicorn-emu' has been renamed to/replaced by 'unicorn'"; # Converted to throw 2024-10-17 uniffi-bindgen = throw "uniffi-bindgen has been removed since upstream no longer provides a standalone package for the CLI"; unifi-poller = unpoller; # Added 2022-11-24 @@ -1930,6 +1948,7 @@ mapAliases { vimHugeX = vim-full; # Added 2022-12-04 vim_configurable = vim-full; # Added 2022-12-04 vinagre = throw "'vinagre' has been removed as it has been archived upstream. Consider using 'gnome-connections' or 'remmina' instead"; # Added 2024-09-14 + libviper = throw "'libviper' was removed as it is broken and not maintained upstream"; # Added 2025-05-17 libviperfx = throw "'libviperfx' was removed as it is broken and not maintained upstream"; # Added 2024-12-16 vimix-cursor-theme = throw "'vimix-cursor-theme' has been superseded by 'vimix-cursors'"; # Added 2025-03-04 viper4linux-gui = throw "'viper4linux-gui' was removed as it is broken and not maintained upstream"; # Added 2024-12-16 @@ -1944,6 +1963,7 @@ mapAliases { void = throw "'void' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 volnoti = throw "'volnoti' has been removed due to lack of maintenance upstream."; # Added 2024-12-04 vuze = throw "'vuze' was removed because it is unmaintained upstream and insecure (CVE-2018-13417). BiglyBT is a maintained fork."; # Added 2024-11-22 + vwm = throw "'vwm' was removed as it is broken and not maintained upstream"; # Added 2025-05-17 inherit (libsForQt5.mauiPackages) vvave; # added 2022-05-17 ### W ### diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 965d9d23d8bd..bce2932139cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4283,8 +4283,6 @@ with pkgs; qlcplus = libsForQt5.callPackage ../applications/misc/qlcplus { }; - quickbms = pkgsi686Linux.callPackage ../tools/archivers/quickbms { }; - qdigidoc = libsForQt5.callPackage ../tools/security/qdigidoc { }; qjournalctl = libsForQt5.callPackage ../applications/system/qjournalctl { }; @@ -4731,8 +4729,6 @@ with pkgs; tweet-hs = haskell.lib.compose.justStaticExecutables haskellPackages.tweet-hs; - tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix { }; - tremor-rs = callPackage ../tools/misc/tremor-rs { }; tremor-language-server = callPackage ../tools/misc/tremor-rs/ls.nix { }; @@ -6553,7 +6549,7 @@ with pkgs; pypy = pypy2; pypy2 = pypy27; - pypy3 = pypy310; + pypy3 = pypy311; # Python interpreter that is build with all modules, including tkinter. # These are for compatibility and should not be used inside Nixpkgs. @@ -6625,6 +6621,7 @@ with pkgs; python3Minimal pypy27 pypy310 + pypy311 ; # List of extensions with overrides to apply to all Python package sets. @@ -6642,6 +6639,7 @@ with pkgs; pypy27Packages = pypy27.pkgs; pypy3Packages = pypy3.pkgs; pypy310Packages = pypy310.pkgs; + pypy311Packages = pypy311.pkgs; pythonManylinuxPackages = callPackage ./../development/interpreters/python/manylinux { }; @@ -13237,8 +13235,6 @@ with pkgs; mandelbulber = callPackage ../applications/graphics/mandelbulber { }; - mapmap = libsForQt5.callPackage ../applications/video/mapmap { }; - mastodon-bot = nodePackages.mastodon-bot; matrix-commander = @@ -15710,8 +15706,6 @@ with pkgs; sageWithDoc = sage.override { withDoc = true; }; - suitesparse_4_2 = callPackage ../development/libraries/science/math/suitesparse/4.2.nix { }; - suitesparse_4_4 = callPackage ../development/libraries/science/math/suitesparse/4.4.nix { }; suitesparse_5_3 = callPackage ../development/libraries/science/math/suitesparse { inherit (llvmPackages) openmp; }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 7495d070048a..7bdfd480f5c8 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -512,6 +512,7 @@ mapAliases ({ proxy_tools = proxy-tools; # added 2023-11-05 pur = throw "pur has been renamed to pkgs.pur"; # added 2021-11-08 pushbullet = pushbullet-py; # Added 2022-10-15 + push-receiver = throw "push-receiver has been removed since it is unmaintained for 3 years"; # added 2025-05-17 Pweave = pweave; # added 2023-02-19 pwndbg = throw "'pwndbg' has been removed due to dependency version incompatibilities that are infeasible to maintain in nixpkgs. Use the downstream flake that pwndbg provides instead: https://github.com/pwndbg/pwndbg"; # Added 2025-02-09 pxml = throw "pxml was removed, because it was disabled on all python version since 3.8 and last updated in 2020."; # added 2024-05-13 @@ -711,6 +712,7 @@ mapAliases ({ shouldbe = throw "shouldbe was removed, because it was disabled on all python version since 3.8 and last updated in 2019."; # added 2024-05-12 sip_4 = sip4; # added 2024-01-07 slackclient = slack-sdk; # added 2024-06-27 + slimit = throw "slimit was removed, because it was an unused and broken leaf package last updated in 2018."; # added 2025-05-17 ssh-mitm = throw "ssh-mitm was removed in favor of the top-level ssh-mitm"; # added 2023-05-09 smart_open = smart-open; # added 2021-03-14 smmap2 = throw "smmap2 has been deprecated, use smmap instead."; # added 2020-03-14 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 04a875461a1c..ebd25ace79f0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11732,8 +11732,6 @@ self: super: with self; { purl = callPackage ../development/python-modules/purl { }; - push-receiver = callPackage ../development/python-modules/push-receiver { }; - pushbullet-py = callPackage ../development/python-modules/pushbullet-py { }; pushover-complete = callPackage ../development/python-modules/pushover-complete { }; @@ -13975,6 +13973,8 @@ self: super: with self; { python-codon-tables = callPackage ../development/python-modules/python-codon-tables { }; + python-coinmarketcap = callPackage ../development/python-modules/python-coinmarketcap { }; + python-constraint = callPackage ../development/python-modules/python-constraint { }; python-creole = callPackage ../development/python-modules/python-creole { }; @@ -16052,8 +16052,6 @@ self: super: with self; { slicerator = callPackage ../development/python-modules/slicerator { }; - slimit = callPackage ../development/python-modules/slimit { }; - slip10 = callPackage ../development/python-modules/slip10 { }; slither-analyzer = callPackage ../development/python-modules/slither-analyzer { }; diff --git a/pkgs/top-level/release-alternatives.nix b/pkgs/top-level/release-alternatives.nix index e81f342080ad..8d48ee27ce0f 100644 --- a/pkgs/top-level/release-alternatives.nix +++ b/pkgs/top-level/release-alternatives.nix @@ -19,8 +19,6 @@ let "octopus" "superlu" "suitesparse_5_3" - "suitesparse_4_4" - "suitesparse_4_2" "scs" "scalapack" "petsc" @@ -96,8 +94,6 @@ let "rspamd" "sundials" "suitesparse_5_3" - "suitesparse_4_4" - "suitesparse_4_2" "petsc" "cholmod-extra" "arpack"