diff options
Diffstat (limited to 'pkgs/tools/misc/glasgow/default.nix')
-rw-r--r-- | pkgs/tools/misc/glasgow/default.nix | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/pkgs/tools/misc/glasgow/default.nix b/pkgs/tools/misc/glasgow/default.nix index 4821ad923ef85..bc841b7fcf8e2 100644 --- a/pkgs/tools/misc/glasgow/default.nix +++ b/pkgs/tools/misc/glasgow/default.nix @@ -5,40 +5,49 @@ , yosys , icestorm , nextpnr +, unstableGitUpdater }: python3.pkgs.buildPythonApplication rec { pname = "glasgow"; - version = "unstable-2023-09-20"; - # python -m setuptools_scm - realVersion = "0.1.dev1798+g${lib.substring 0 7 src.rev}"; + version = "0-unstable-2024-07-13"; + # from `pdm show` + realVersion = let + tag = builtins.elemAt (lib.splitString "-" version) 0; + rev = lib.substring 0 7 src.rev; + in "${tag}.1.dev2085+g${rev}"; + + pyproject = true; src = fetchFromGitHub { owner = "GlasgowEmbedded"; repo = "glasgow"; - rev = "e9a9801d5be3dcba0ee188dd8a6e9115e337795d"; - sha256 = "sha256-ztB3I/jrDSm1gKB1e5igivUVloq+YYhkshDlWg75NMA="; + rev = "c8fa37e7c84efb296a06c58b2949f676a1e149cc"; + sha256 = "sha256-rOgd5y9KQf4cpBT31RHlrVwHsiqdofRihtFbeC69DY4="; }; nativeBuildInputs = [ - python3.pkgs.setuptools-scm + python3.pkgs.pdm-backend sdcc ]; propagatedBuildInputs = with python3.pkgs; [ - aiohttp + typing-extensions amaranth - appdirs - bitarray - crc + packaging + platformdirs fx2 libusb1 - packaging pyvcd - setuptools + aiohttp ]; - nativeCheckInputs = [ yosys icestorm nextpnr ]; + nativeCheckInputs = [ + python3.pkgs.unittestCheckHook + yosys + icestorm + nextpnr + ]; enableParallelBuilding = true; @@ -46,7 +55,7 @@ python3.pkgs.buildPythonApplication rec { make -C firmware LIBFX2=${python3.pkgs.fx2}/share/libfx2 cp firmware/glasgow.ihex software/glasgow cd software - export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}" + export PDM_BUILD_SCM_VERSION="${realVersion}" ''; # installCheck tries to build_ext again @@ -54,16 +63,16 @@ python3.pkgs.buildPythonApplication rec { postInstall = '' mkdir -p $out/etc/udev/rules.d - cp $src/config/99-glasgow.rules $out/etc/udev/rules.d + cp $src/config/*.rules $out/etc/udev/rules.d ''; - checkPhase = '' + preCheck = '' + export PYTHONWARNINGS="ignore::DeprecationWarning" # tests attempt to cache bitstreams # for linux: export XDG_CACHE_HOME=$TMPDIR # for darwin: export HOME=$TMPDIR - ${python3.interpreter} -W ignore::DeprecationWarning test.py ''; makeWrapperArgs = [ @@ -72,6 +81,10 @@ python3.pkgs.buildPythonApplication rec { "--set" "NEXTPNR_ICE40" "${nextpnr}/bin/nextpnr-ice40" ]; + passthru.updateScript = unstableGitUpdater { + hardcodeZeroVersion = true; + }; + meta = with lib; { description = "Software for Glasgow, a digital interface multitool"; homepage = "https://github.com/GlasgowEmbedded/Glasgow"; |