mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-21 16:11:22 +00:00
Merge master into staging-next
This commit is contained in:
4
.github/workflows/periodic-merge-24h.yml
vendored
4
.github/workflows/periodic-merge-24h.yml
vendored
@@ -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
|
||||
|
||||
1
.github/workflows/periodic-merge-6h.yml
vendored
1
.github/workflows/periodic-merge-6h.yml
vendored
@@ -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
|
||||
|
||||
1
.github/workflows/periodic-merge.yml
vendored
1
.github/workflows/periodic-merge.yml
vendored
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -9,6 +9,7 @@ preface.chapter.md
|
||||
using-nixpkgs.md
|
||||
lib.md
|
||||
stdenv.md
|
||||
toolchains.md
|
||||
build-helpers.md
|
||||
development.md
|
||||
contributing.md
|
||||
|
||||
@@ -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"
|
||||
],
|
||||
|
||||
5
doc/toolchains.md
Normal file
5
doc/toolchains.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Toolchains {#part-toolchains}
|
||||
|
||||
```{=include=} chapters
|
||||
toolchains/llvm.chapter.md
|
||||
```
|
||||
35
doc/toolchains/llvm.chapter.md
Normal file
35
doc/toolchains/llvm.chapter.md
Normal file
@@ -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 <nixpkgs> {
|
||||
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.
|
||||
@@ -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";
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 <<EOF
|
||||
Please run: sudo systemctl start metasrht
|
||||
EOF
|
||||
@@ -1452,8 +1457,9 @@ in
|
||||
port = 5112;
|
||||
mainService =
|
||||
let
|
||||
package = cfg.pages.package;
|
||||
srvsrht = "pagessrht";
|
||||
version = pkgs.sourcehut.${srvsrht}.version;
|
||||
version = package.version;
|
||||
stateDir = "/var/lib/sourcehut/${srvsrht}";
|
||||
iniKey = "pages.sr.ht";
|
||||
in
|
||||
@@ -1467,13 +1473,13 @@ in
|
||||
if test ! -e ${stateDir}/db; then
|
||||
${postgresql.package}/bin/psql '${
|
||||
cfg.settings.${iniKey}.connection-string
|
||||
}' -f ${pkgs.sourcehut.pagessrht}/share/sql/schema.sql
|
||||
}' -f ${cfg.pages.package}/share/sql/schema.sql
|
||||
echo ${version} >${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;
|
||||
};
|
||||
|
||||
@@ -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 { })
|
||||
|
||||
@@ -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
|
||||
)}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
)
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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=
|
||||
@@ -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
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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" ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
+#include <stdint.h>
|
||||
|
||||
#define discard_const(ptr) ((void *)((intptr_t)(ptr)))
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -100,6 +100,8 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
# error: implicit instantiation of undefined template 'std::char_traits<unsigned char>'
|
||||
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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
);
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
17
pkgs/by-name/pn/pngnq/missing-includes.patch
Normal file
17
pkgs/by-name/pn/pngnq/missing-includes.patch
Normal file
@@ -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 <stdio.h>
|
||||
+#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "png.h" /* libpng header; includes zlib.h */
|
||||
#include "rwpng.h" /* typedefs, common macros, public prototypes */
|
||||
+#include <zlib.h>
|
||||
|
||||
/* future versions of libpng will provide this macro: */
|
||||
/* GRR NOTUSED */
|
||||
@@ -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 <zlib.h>' src/rwpng.c
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://pngnq.sourceforge.net/";
|
||||
description = "PNG quantizer";
|
||||
|
||||
@@ -198,7 +198,6 @@ python.pkgs.buildPythonApplication rec {
|
||||
requests
|
||||
sentry-sdk
|
||||
sepaxml
|
||||
slimit
|
||||
stripe
|
||||
text-unidecode
|
||||
tlds
|
||||
|
||||
@@ -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=";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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='"<foo>" __ "</foo>"'
|
||||
data="<foo>1</foo><bar>2</bar>"
|
||||
${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 ];
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
16
pkgs/by-name/sr/srht-gen-oauth-tok/fix-html-parsing.patch
Normal file
16
pkgs/by-name/sr/srht-gen-oauth-tok/fix-html-parsing.patch
Normal file
@@ -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 (<dd>) of a 'Personal Access Token' term (<dt>)
|
||||
my $token = $xpc->find("//dt[text() = 'Personal Access Token']/following-sibling::dd/*/node()");
|
||||
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-GcqP3XbVw2sR5n4+aLUmA4fthNkuVAGnhV1h7suJYdI=";
|
||||
};
|
||||
|
||||
patches = [ ./fix-html-parsing.patch ];
|
||||
|
||||
buildInputs = [ perl ];
|
||||
nativeBuildInputs = [ perl ];
|
||||
|
||||
|
||||
@@ -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; {
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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 = ''
|
||||
|
||||
48
pkgs/by-name/xa/xalanc/0001-clang19-gcc15-compat.patch
Normal file
48
pkgs/by-name/xa/xalanc/0001-clang19-gcc15-compat.patch
Normal file
@@ -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<XalanUnicodeChar>(ch));
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
|
||||
void
|
||||
write(const XalanDOMChar* theChars)
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
''}
|
||||
|
||||
|
||||
@@ -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) (
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user