From 28d40c3a2507379f406c6a7f1e806348067eacc6 Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Sat, 5 Aug 2023 22:51:00 +0200 Subject: [PATCH] build: Refactor `flake.nix` file and `docman` package definition - Updated `flake.nix` file with various modifications and additions - Added build phase and updated version variables in `docman` package definition - Updated `ldflags` and `vendorSha256` variables in `docman` package definition - Added a new dependency in `buildInputs` and metadata for `docman` package --- flake.nix | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 51e44a3..c05fa48 100644 --- a/flake.nix +++ b/flake.nix @@ -31,7 +31,13 @@ # url = "https://gitlab.schukai.com/oss/utilities/version/-/archive/0.5.0/version-0.5.0.tar.gz"; # # You'll need to provide the correct hash here. # sha256 = "sha256-jzixQKFFW4oxO0S4GYqbkFCXzhBd6com6Z9+MtVKakU="; -# }; +# }; + + versionAndBuild = pkgs.runCommand "get-version-and-build" {} '' + ${versionTool}/bin/version print --git > $out.version + ${versionTool}/bin/version build > $out.build + ''; + in { @@ -40,11 +46,19 @@ packages = forAllSystems (system: let pkgs = nixpkgsFor.${system}; - version = "${versionTool}/bin/version print --git"; # assuming this gives you version - build = "${versionTool}/bin/version build"; # assuming this gives you build + version = builtins.readFile "${versionAndBuild}.version"; + build = builtins.readFile "${versionAndBuild}.build"; in { docman = pkgs.buildGoModule { + + buildPhase = '' + version=$(${versionTool}/bin/version print --git) + build=$(${versionTool}/bin/version build) + + go build -ldflags "-X 'gitlab.schukai.com/oss/utilities/documentation-manager/release.version=$version' -X 'gitlab.schukai.com/oss/utilities/documentation-manager/release.build=$build'" + ''; + name = "docman"; # In 'nix develop', we don't need a copy of the source tree # in the Nix store. -- GitLab