From 9c77c62e731e3fb9b1a87414c5b2d7a52932a507 Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Thu, 6 Jun 2024 11:35:03 -0700 Subject: [PATCH] Move version to a JSON file so we can have release names Change-Id: I5ff3396a302565ee5ee6c2db97e048e403779076 --- .version | 1 - docker.nix | 2 +- flake.nix | 8 +++----- meson.build | 2 +- nix-support/binary-tarball.nix | 5 ++--- package.nix | 5 +++-- perl/default.nix | 2 +- perl/meson.build | 2 +- version.json | 4 ++++ 9 files changed, 16 insertions(+), 15 deletions(-) delete mode 100644 .version create mode 100644 version.json diff --git a/.version b/.version deleted file mode 100644 index 4004af690..000000000 --- a/.version +++ /dev/null @@ -1 +0,0 @@ -2.90.0 diff --git a/docker.nix b/docker.nix index 2d57cd548..cec3a2950 100644 --- a/docker.nix +++ b/docker.nix @@ -1,7 +1,7 @@ { pkgs ? import { }, lib ? pkgs.lib, - name ? "nix", + name ? "lix", tag ? "latest", bundleNixpkgs ? true, channelName ? "nixpkgs", diff --git a/flake.nix b/flake.nix index d0b674464..fd8b7995e 100644 --- a/flake.nix +++ b/flake.nix @@ -59,7 +59,6 @@ # Set to true to build the release notes for the next release. buildUnreleasedNotes = true; - version = lib.fileContents ./.version + versionSuffix; versionSuffix = if officialRelease then "" @@ -149,8 +148,7 @@ } ); - binaryTarball = - nix: pkgs: pkgs.callPackage ./nix-support/binary-tarball.nix { inherit nix version; }; + binaryTarball = nix: pkgs: pkgs.callPackage ./nix-support/binary-tarball.nix { inherit nix; }; overlayFor = getStdenv: final: prev: @@ -330,10 +328,10 @@ pkgs = nixpkgsFor.${system}.native; image = import ./docker.nix { inherit pkgs; - tag = version; + tag = pkgs.nix.version; }; in - pkgs.runCommand "docker-image-tarball-${version}" + pkgs.runCommand "docker-image-tarball-${pkgs.nix.version}" { meta.description = "Docker image with Lix for ${system}"; } '' mkdir -p $out/nix-support diff --git a/meson.build b/meson.build index b98b1fb15..51c7bda59 100644 --- a/meson.build +++ b/meson.build @@ -39,7 +39,7 @@ # in the build directory. project('lix', 'cpp', - version : run_command('bash', '-c', 'echo -n $(cat ./.version)$VERSION_SUFFIX', check : true).stdout().strip(), + version : run_command('bash', '-c', 'echo -n $(jq -r .version < ./version.json)$VERSION_SUFFIX', check : true).stdout().strip(), default_options : [ 'cpp_std=c++2a', # TODO(Qyriad): increase the warning level diff --git a/nix-support/binary-tarball.nix b/nix-support/binary-tarball.nix index 8d25227c3..7b9bf5c2b 100644 --- a/nix-support/binary-tarball.nix +++ b/nix-support/binary-tarball.nix @@ -3,7 +3,6 @@ cacert, nix, system, - version, }: let installerClosureInfo = buildPackages.closureInfo { @@ -15,10 +14,10 @@ let meta.description = "Distribution-independent Lix bootstrap binaries for ${system}"; in -buildPackages.runCommand "lix-binary-tarball-${version}" { inherit meta; } '' +buildPackages.runCommand "lix-binary-tarball-${nix.version}" { inherit meta; } '' cp ${installerClosureInfo}/registration $TMPDIR/reginfo - dir=lix-${version}-${system} + dir=lix-${nix.version}-${system} fn=$out/$dir.tar.xz mkdir -p $out/nix-support echo "file binary-dist $fn" >> $out/nix-support/hydra-build-products diff --git a/package.nix b/package.nix index a39ff4b2e..005bdc6b1 100644 --- a/package.nix +++ b/package.nix @@ -88,7 +88,8 @@ let inherit (lib) fileset; inherit (stdenv) hostPlatform buildPlatform; - version = lib.fileContents ./.version + versionSuffix; + versionJson = builtins.fromJSON (builtins.readFile ./version.json); + version = versionJson.version + versionSuffix; aws-sdk-cpp-nix = aws-sdk-cpp.override { apis = [ @@ -138,7 +139,7 @@ let # that would interfere with repo semantics. baseFiles = fileset.fileFilter (f: f.name != ".gitignore") ./.; - configureFiles = fileset.unions [ ./.version ]; + configureFiles = fileset.unions [ ./version.json ]; topLevelBuildFiles = fileset.unions ([ ./meson.build diff --git a/perl/default.nix b/perl/default.nix index 7ce418402..ed2584c7f 100644 --- a/perl/default.nix +++ b/perl/default.nix @@ -23,7 +23,7 @@ perl.pkgs.toPerlModule ( src = fileset.toSource { root = ../.; fileset = fileset.unions ([ - ../.version + ../version.json ./lib ./meson.build ]); diff --git a/perl/meson.build b/perl/meson.build index 4b179da8f..b542f3e8a 100644 --- a/perl/meson.build +++ b/perl/meson.build @@ -1,5 +1,5 @@ project('lix-perl', 'cpp', - version : run_command('bash', '-c', 'echo -n $(cat ../.version)$VERSION_SUFFIX', check : true).stdout().strip(), + version : run_command('bash', '-c', 'echo -n $(jq -r .version < ../version.json)$VERSION_SUFFIX', check : true).stdout().strip(), default_options : [ 'cpp_std=c++2a', # TODO(Qyriad): increase the warning level diff --git a/version.json b/version.json new file mode 100644 index 000000000..877e7a20b --- /dev/null +++ b/version.json @@ -0,0 +1,4 @@ +{ + "version": "2.90.0", + "release_name": "Vanilla Ice Cream" +}