0
0
mirror of https://github.com/go-gitea/gitea.git synced 2025-11-04 21:26:27 +01:00

Port away from flake-utils

This commit is contained in:
Naxdy 2025-10-15 13:04:18 +02:00
parent c55a017225
commit 185a07256f
No known key found for this signature in database
GPG Key ID: CC15075846BCE91B
2 changed files with 80 additions and 93 deletions

34
flake.lock generated
View File

@ -1,23 +1,5 @@
{ {
"nodes": { "nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1760038930, "lastModified": 1760038930,
@ -36,24 +18,8 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

139
flake.nix
View File

@ -1,73 +1,94 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
}; };
outputs = outputs =
{ nixpkgs, flake-utils, ... }: { nixpkgs, ... }:
flake-utils.lib.eachDefaultSystem ( let
system: supportedSystems = [
let "aarch64-darwin"
pkgs = nixpkgs.legacyPackages.${system}; "aarch64-linux"
in "x86_64-darwin"
{ "x86_64-linux"
devShells.default = ];
with pkgs;
forEachSupportedSystem =
f:
nixpkgs.lib.genAttrs supportedSystems (
system:
let let
# only bump toolchain versions here pkgs = import nixpkgs {
go = go_1_25; inherit system;
nodejs = nodejs_24;
python3 = python312;
pnpm = pnpm_10;
# Platform-specific dependencies
linuxOnlyInputs = lib.optionals pkgs.stdenv.isLinux [
glibc.static
];
linuxOnlyEnv = lib.optionalAttrs pkgs.stdenv.isLinux {
CFLAGS = "-I${glibc.static.dev}/include";
LDFLAGS = "-L ${glibc.static}/lib";
}; };
in in
pkgs.mkShell ( f { inherit pkgs; }
{ );
buildInputs = [ in
# generic {
git devShells = forEachSupportedSystem (
git-lfs { pkgs, ... }:
gnumake {
gnused default =
gnutar let
gzip inherit (pkgs) lib;
zip
# frontend # only bump toolchain versions here
nodejs go = pkgs.go_1_25;
pnpm nodejs = pkgs.nodejs_24;
cairo python3 = pkgs.python312;
pixman pnpm = pkgs.pnpm_10;
pkg-config
# linting # Platform-specific dependencies
python3 linuxOnlyInputs = lib.optionals pkgs.stdenv.isLinux [
uv pkgs.glibc.static
];
# backend linuxOnlyEnv = lib.optionalAttrs pkgs.stdenv.isLinux {
go CFLAGS = "-I${pkgs.glibc.static.dev}/include";
gofumpt LDFLAGS = "-L ${pkgs.glibc.static}/lib";
sqlite };
] in
++ linuxOnlyInputs; pkgs.mkShell {
packages =
with pkgs;
[
# generic
git
git-lfs
gnumake
gnused
gnutar
gzip
zip
GO = "${go}/bin/go"; # frontend
GOROOT = "${go}/share/go"; nodejs
pnpm
cairo
pixman
pkg-config
TAGS = "sqlite sqlite_unlock_notify"; # linting
STATIC = "true"; python3
} uv
// linuxOnlyEnv
); # backend
} go
); gofumpt
sqlite
]
++ linuxOnlyInputs;
env = {
GO = "${go}/bin/go";
GOROOT = "${go}/share/go";
TAGS = "sqlite sqlite_unlock_notify";
STATIC = "true";
}
// linuxOnlyEnv;
};
}
);
};
} }