feat(nix): build UTRP (#714)
* feat(nix): build UTRP * feat(nix): set fixed rev and sha256 + update lock file * chore(nix): remove systems input * chore: format * chore(nix): add meta attribute * feat(nix): add doprz as a maintainer
This commit is contained in:
51
nix/package.nix
Normal file
51
nix/package.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
nodejs,
|
||||
pnpm_10,
|
||||
git,
|
||||
version ? "dev",
|
||||
gitRev ? "unknown",
|
||||
gitBranch ? "unknown",
|
||||
buildScript ? "build",
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
inherit version;
|
||||
pname = "ut-registration-plus";
|
||||
|
||||
src = ../.;
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
pnpm_10.configHook
|
||||
git
|
||||
];
|
||||
|
||||
pnpmDeps = pnpm_10.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-UqHymJWvlTV4glra/6DkxuCxbG5dpPkFcnvq3vuxsJ8=";
|
||||
};
|
||||
|
||||
# Pass git info to the build
|
||||
VITE_GIT_COMMIT = gitRev;
|
||||
VITE_GIT_BRANCH = gitBranch;
|
||||
|
||||
buildPhase = ''
|
||||
pnpm run ${buildScript}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r dist/* $out/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "UT Registration Plus";
|
||||
homepage = "https://github.com/Longhorn-Developers/UT-Registration-Plus";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = lib.maintainers.doprz;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
40
nix/packages.nix
Normal file
40
nix/packages.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
packageJson = builtins.fromJSON (builtins.readFile ../package.json);
|
||||
gitRev = inputs.self.shortRev or inputs.self.dirtyShortRev or "dev";
|
||||
gitBranch = if inputs.self ? ref then inputs.self.ref else "unknown";
|
||||
baseVersion = packageJson.version;
|
||||
|
||||
commonArgs = {
|
||||
inherit gitRev gitBranch;
|
||||
};
|
||||
|
||||
# Prod variant
|
||||
ut-registration-plus = pkgs.callPackage ./package.nix (
|
||||
commonArgs
|
||||
// {
|
||||
version = "${baseVersion}+git.${gitRev}";
|
||||
buildScript = "build";
|
||||
}
|
||||
);
|
||||
|
||||
# Dev variant
|
||||
ut-registration-plus-dev = pkgs.callPackage ./package.nix (
|
||||
commonArgs
|
||||
// {
|
||||
version = "${baseVersion}-dev+git.${gitRev}";
|
||||
buildScript = "build:dev";
|
||||
}
|
||||
);
|
||||
in
|
||||
{
|
||||
packages = {
|
||||
inherit ut-registration-plus ut-registration-plus-dev;
|
||||
default = ut-registration-plus;
|
||||
dev = ut-registration-plus-dev;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user