diff --git a/flake.nix b/flake.nix index 51e44a396e8ef83f442b6859f3a43920241b44da..c05fa48203d9d7bfc2ab66740fbce0be127be6d6 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.