refactor(pkgs): improve versioning

This commit is contained in:
matt1432 2024-06-13 22:27:54 -04:00
parent 927a3fbfb1
commit d17a69372a
29 changed files with 188 additions and 135 deletions
pkgs
curseforge-server-downloader
default.nix
dracula
gpu-screen-recorder
pam-fprint-grosshack
pokemon-colorscripts
trash-d

View file

@ -1,11 +1,12 @@
{
buildGoModule,
curseforge-server-downloader-src,
mkVersion,
...
}:
buildGoModule {
pname = "curseforge-server-downloader";
version = "unstable";
version = mkVersion curseforge-server-downloader-src;
src = curseforge-server-downloader-src;
doCheck = false;

View file

@ -1,28 +1,31 @@
{
pkgs,
curseforge-server-downloader-src,
gpu-screen-recorder-src,
pam-fprint-grosshack-src,
pokemon-colorscripts-src,
mkVersion,
...
} @ inputs: {
coloryou = pkgs.callPackage ./coloryou {};
curseforge-server-downloader = pkgs.callPackage ./curseforge-server-downloader {
inherit curseforge-server-downloader-src;
inherit (inputs) curseforge-server-downloader-src;
inherit mkVersion;
};
gpu-screen-recorder = pkgs.callPackage ./gpu-screen-recorder {
inherit gpu-screen-recorder-src;
inherit (inputs) gpu-screen-recorder-src;
};
pam-fprint-grosshack = pkgs.callPackage ./pam-fprint-grosshack {
inherit pam-fprint-grosshack-src;
inherit (inputs) pam-fprint-grosshack-src;
};
pokemon-colorscripts = pkgs.callPackage ./pokemon-colorscripts {
inherit pokemon-colorscripts-src;
inherit (inputs) pokemon-colorscripts-src;
inherit mkVersion;
};
repl = pkgs.callPackage ./repl {};
trash-d = pkgs.callPackage ./trash-d {
inherit (inputs) trash-d-src;
};
}

View file

@ -1,11 +1,12 @@
{
bat-theme-src,
mkVersion,
stdenv,
...
}:
stdenv.mkDerivation {
pname = "dracula-bat";
version = bat-theme-src.shortRev;
version = mkVersion bat-theme-src;
src = bat-theme-src;

View file

@ -1,9 +1,22 @@
{pkgs, ...} @ inputs:
pkgs.lib.makeScope pkgs.newScope (drac: {
bat = drac.callPackage ./bat.nix {inherit (inputs) bat-theme-src;};
git = drac.callPackage ./git.nix {inherit (inputs) git-theme-src;};
bat = drac.callPackage ./bat.nix {
inherit (inputs) bat-theme-src mkVersion;
};
git = drac.callPackage ./git.nix {
inherit (inputs) git-theme-src mkVersion;
};
gtk = import ./gtk.nix {inherit (inputs) gtk-theme-src pkgs;};
plymouth = drac.callPackage ./plymouth.nix {inherit (inputs) dracula-plymouth-src;};
sioyek = drac.callPackage ./sioyek.nix {inherit (inputs) sioyek-theme-src;};
wallpaper = pkgs.fetchurl (import ./wallpaper.nix);
plymouth = drac.callPackage ./plymouth.nix {
inherit (inputs) dracula-plymouth-src mkVersion;
};
sioyek = drac.callPackage ./sioyek.nix {
inherit (inputs) sioyek-theme-src mkVersion;
};
wallpaper = drac.callPackage ./wallpaper.nix {};
})

View file

@ -1,11 +1,12 @@
{
stdenv,
git-theme-src,
mkVersion,
...
}:
stdenv.mkDerivation {
pname = "dracula-git";
version = git-theme-src.shortRev;
version = mkVersion git-theme-src;
src = git-theme-src;

View file

@ -3,7 +3,7 @@
pkgs,
...
}:
pkgs.dracula-theme.overrideAttrs {
version = gtk-theme-src.shortRev;
pkgs.dracula-theme.overrideAttrs (o: {
version = o.version + "+" + gtk-theme-src.shortRev;
src = gtk-theme-src;
}
})

View file

@ -1,11 +1,12 @@
{
stdenv,
dracula-plymouth-src,
mkVersion,
...
}:
stdenv.mkDerivation {
pname = "dracula-plymouth";
version = dracula-plymouth-src.shortRev;
version = mkVersion dracula-plymouth-src;
src = dracula-plymouth-src;

View file

@ -1,11 +1,12 @@
{
mkVersion,
sioyek-theme-src,
stdenv,
...
}:
stdenv.mkDerivation {
pname = "dracula-sioyek";
version = sioyek-theme-src.shortRev;
version = mkVersion sioyek-theme-src;
src = sioyek-theme-src;

View file

@ -1,4 +1,20 @@
{
url = "https://raw.githubusercontent.com/aynp/dracula-wallpapers/main/Art/4k/Waves%201.png";
hash = "sha256-f9FwSOSvqTeDj4bOjYUQ6TM+/carCD9o5dhg/MnP/lk=";
fetchurl,
stdenv,
...
}:
stdenv.mkDerivation {
pname = "dracula-wallpaper";
version = "";
src = fetchurl {
url = "https://raw.githubusercontent.com/aynp/dracula-wallpapers/main/Art/4k/Waves%201.png";
hash = "sha256-f9FwSOSvqTeDj4bOjYUQ6TM+/carCD9o5dhg/MnP/lk=";
};
phases = ["installPhase"];
installPhase = ''
cp $src $out
'';
}

View file

@ -25,7 +25,7 @@
.version;
in
stdenv.mkDerivation {
name = "gpu-screen-recorder";
pname = "gpu-screen-recorder";
version = "${tag}+${gpu-screen-recorder-src.shortRev}";
src = gpu-screen-recorder-src;

View file

@ -12,30 +12,33 @@
libpam-wrapper,
pam-fprint-grosshack-src,
...
}:
stdenv.mkDerivation {
name = "pam-fprint-grosshack";
version = pam-fprint-grosshack-src.shortRev;
}: let
inherit (builtins) elemAt head readFile split;
tag = head (split "'" (elemAt (split " version: '" (readFile "${pam-fprint-grosshack-src}/meson.build")) 2));
in
stdenv.mkDerivation {
pname = "pam-fprint-grosshack";
version = "${tag}+${pam-fprint-grosshack-src.shortRev}";
src = pam-fprint-grosshack-src;
src = pam-fprint-grosshack-src;
nativeBuildInputs = [
meson
ninja
pkg-config
glib
libfprint
polkit
dbus
systemd
pam
libpam-wrapper
];
nativeBuildInputs = [
meson
ninja
pkg-config
glib
libfprint
polkit
dbus
systemd
pam
libpam-wrapper
];
mesonFlags = [
"-Dpam_modules_dir=${placeholder "out"}/lib/security"
"-Dsysconfdir=${placeholder "out"}/etc"
"-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/system-services"
"-Dsystemd_system_unit_dir=${placeholder "out"}/lib/systemd/system"
];
}
mesonFlags = [
"-Dpam_modules_dir=${placeholder "out"}/lib/security"
"-Dsysconfdir=${placeholder "out"}/etc"
"-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/system-services"
"-Dsystemd_system_unit_dir=${placeholder "out"}/lib/systemd/system"
];
}

View file

@ -1,12 +1,13 @@
{
mkVersion,
stdenv,
python3Packages,
pokemon-colorscripts-src,
...
}:
stdenv.mkDerivation {
name = "pokemon-colorscripts";
version = pokemon-colorscripts-src.shortRev;
pname = "pokemon-colorscripts";
version = mkVersion pokemon-colorscripts-src;
src = pokemon-colorscripts-src;

35
pkgs/trash-d/default.nix Normal file
View file

@ -0,0 +1,35 @@
{
dmd,
dub,
trash-d-src,
ronn,
stdenv,
...
}: let
inherit (builtins) fromJSON readFile;
tag = (fromJSON (readFile "${trash-d-src}/dub.json")).version;
in
stdenv.mkDerivation {
pname = "trash";
version = "${tag}+${trash-d-src.shortRev}";
src = trash-d-src;
buildInputs = [dub dmd ronn];
buildPhase = ''
# https://github.com/svanderburg/node2nix/issues/217#issuecomment-751311272
export HOME=$(mktemp -d)
dub build
'';
installPhase = ''
mkdir -p $out/bin $out/man/man1
cp -a ./build/trash $out/bin/
ronn --roff --pipe MANUAL.md > $out/man/man1/trash.1
'';
}