forked from M-Labs/artiq
afws: nix requires full Git commit hash
This commit is contained in:
parent
833acb6925
commit
cc69482dad
|
@ -26,14 +26,7 @@ def get_artiq_rev():
|
||||||
import artiq
|
import artiq
|
||||||
except ImportError:
|
except ImportError:
|
||||||
return None
|
return None
|
||||||
version = artiq.__version__
|
return artiq._version.get_rev()
|
||||||
if version.endswith(".beta"):
|
|
||||||
version = version[:-5]
|
|
||||||
version = version.split(".")
|
|
||||||
if len(version) != 3:
|
|
||||||
return None
|
|
||||||
major, minor, rev = version
|
|
||||||
return rev
|
|
||||||
|
|
||||||
|
|
||||||
def zip_unarchive(data, directory):
|
def zip_unarchive(data, directory):
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
artiqVersionMinor = self.sourceInfo.revCount or 0;
|
artiqVersionMinor = self.sourceInfo.revCount or 0;
|
||||||
artiqVersionId = self.sourceInfo.shortRev or "unknown";
|
artiqVersionId = self.sourceInfo.shortRev or "unknown";
|
||||||
artiqVersion = (builtins.toString artiqVersionMajor) + "." + (builtins.toString artiqVersionMinor) + "." + artiqVersionId + ".beta";
|
artiqVersion = (builtins.toString artiqVersionMajor) + "." + (builtins.toString artiqVersionMinor) + "." + artiqVersionId + ".beta";
|
||||||
|
artiqRev = self.sourceInfo.rev or "unknown";
|
||||||
|
|
||||||
rustManifest = pkgs.fetchurl {
|
rustManifest = pkgs.fetchurl {
|
||||||
url = "https://static.rust-lang.org/dist/2021-01-29/channel-rust-nightly.toml";
|
url = "https://static.rust-lang.org/dist/2021-01-29/channel-rust-nightly.toml";
|
||||||
|
@ -148,7 +149,11 @@
|
||||||
version = artiqVersion;
|
version = artiqVersion;
|
||||||
src = self;
|
src = self;
|
||||||
|
|
||||||
preBuild = "export VERSIONEER_OVERRIDE=${version}";
|
preBuild =
|
||||||
|
''
|
||||||
|
export VERSIONEER_OVERRIDE=${version}
|
||||||
|
export VERSIONEER_REV=${artiqRev}
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ];
|
nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ];
|
||||||
# keep llvm_x and lld_x in sync with llvmlite
|
# keep llvm_x and lld_x in sync with llvmlite
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
VERSION_FILE = """
|
VERSION_FILE = """
|
||||||
def get_version():
|
def get_version():
|
||||||
return "{version}"
|
return "{version}"
|
||||||
|
|
||||||
|
def get_rev():
|
||||||
|
return "{rev}"
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def get_version():
|
def get_version():
|
||||||
|
@ -18,10 +22,13 @@ def get_version():
|
||||||
version += ".beta"
|
version += ".beta"
|
||||||
return version
|
return version
|
||||||
|
|
||||||
def write_to_version_file(filename, version):
|
def get_rev():
|
||||||
|
return os.getenv("VERSIONEER_REV", default="unknown")
|
||||||
|
|
||||||
|
def write_to_version_file(filename, version, rev):
|
||||||
os.unlink(filename)
|
os.unlink(filename)
|
||||||
with open(filename, "w") as f:
|
with open(filename, "w") as f:
|
||||||
f.write(VERSION_FILE.format(version=version))
|
f.write(VERSION_FILE.format(version=version, rev=rev))
|
||||||
|
|
||||||
|
|
||||||
def get_cmdclass():
|
def get_cmdclass():
|
||||||
|
@ -36,11 +43,12 @@ def get_cmdclass():
|
||||||
class cmd_build_py(_build_py):
|
class cmd_build_py(_build_py):
|
||||||
def run(self):
|
def run(self):
|
||||||
version = get_version()
|
version = get_version()
|
||||||
|
rev = get_rev()
|
||||||
_build_py.run(self)
|
_build_py.run(self)
|
||||||
target_versionfile = os.path.join(self.build_lib,
|
target_versionfile = os.path.join(self.build_lib,
|
||||||
"artiq", "_version.py")
|
"artiq", "_version.py")
|
||||||
print("UPDATING %s" % target_versionfile)
|
print("UPDATING %s" % target_versionfile)
|
||||||
write_to_version_file(target_versionfile, version)
|
write_to_version_file(target_versionfile, version, rev)
|
||||||
cmds["build_py"] = cmd_build_py
|
cmds["build_py"] = cmd_build_py
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,6 +62,7 @@ def get_cmdclass():
|
||||||
def run(self):
|
def run(self):
|
||||||
version = get_version()
|
version = get_version()
|
||||||
self._versioneer_generated_version = version
|
self._versioneer_generated_version = version
|
||||||
|
self._versioneer_rev = get_rev()
|
||||||
# unless we update this, the command will keep using the old
|
# unless we update this, the command will keep using the old
|
||||||
# version
|
# version
|
||||||
self.distribution.metadata.version = version
|
self.distribution.metadata.version = version
|
||||||
|
@ -64,7 +73,8 @@ def get_cmdclass():
|
||||||
target_versionfile = os.path.join(base_dir, "artiq", "_version.py")
|
target_versionfile = os.path.join(base_dir, "artiq", "_version.py")
|
||||||
print("UPDATING %s" % target_versionfile)
|
print("UPDATING %s" % target_versionfile)
|
||||||
write_to_version_file(target_versionfile,
|
write_to_version_file(target_versionfile,
|
||||||
self._versioneer_generated_version)
|
self._versioneer_generated_version,
|
||||||
|
self._versioneer_rev)
|
||||||
cmds["sdist"] = cmd_sdist
|
cmds["sdist"] = cmd_sdist
|
||||||
|
|
||||||
return cmds
|
return cmds
|
||||||
|
|
Loading…
Reference in New Issue