From b7a5f9a857381f224d880498f21b4e1ce9d1e498 Mon Sep 17 00:00:00 2001 From: Hans Baier Date: Fri, 25 Aug 2023 15:25:04 +0700 Subject: [PATCH 1/5] add hansfbaier to maintainers --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 227456f2e95d0..9358508df4c02 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6756,6 +6756,12 @@ githubId = 22756350; name = "Emile Hansmaennel"; }; + hansfbaier = { + email = "hansfbaier@gmail.com"; + github = "hansfbaier"; + githubId = 148607; + name = "Hans Florian Baier"; + }; hansjoergschurr = { email = "commits@schurr.at"; github = "hansjoergschurr"; From 46979f197bd8e55f8f8852b82f9545aa47ae0014 Mon Sep 17 00:00:00 2001 From: Hans Baier Date: Fri, 25 Aug 2023 15:25:57 +0700 Subject: [PATCH 2/5] python310Packages.fasm: init at 0.0.2.post100 --- .../python-modules/fasm/default.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 pkgs/development/python-modules/fasm/default.nix diff --git a/pkgs/development/python-modules/fasm/default.nix b/pkgs/development/python-modules/fasm/default.nix new file mode 100644 index 0000000000000..9c49a2f45e567 --- /dev/null +++ b/pkgs/development/python-modules/fasm/default.nix @@ -0,0 +1,18 @@ +{ lib, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "fasm"; + version = "0.0.2.post100"; + + src = fetchPypi { + inherit pname version; + sha256 = "3b840a6b1184b5f1568635b1adab28147947522707d41ceba02d5ed0a0877279"; + }; + + meta = with lib; { + homepage = "https://github.com/chipsalliance/fasm/"; + description = "FPGA Assembly (FASM) Parser and Generator "; + license = licenses.asl20; + maintainers = with maintainers; [ hansfbaier ]; + }; +} From 7053e334d26a4791e1eac73eec835819996232b2 Mon Sep 17 00:00:00 2001 From: Hans Baier Date: Fri, 8 Sep 2023 12:33:51 +0700 Subject: [PATCH 3/5] apply review notes by Fabian Affolter Co-authored-by: Fabian Affolter --- pkgs/development/python-modules/fasm/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fasm/default.nix b/pkgs/development/python-modules/fasm/default.nix index 9c49a2f45e567..bdf7a3dc2ad75 100644 --- a/pkgs/development/python-modules/fasm/default.nix +++ b/pkgs/development/python-modules/fasm/default.nix @@ -1,8 +1,14 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib +, buildPythonPackage +, fetchPypi +}: buildPythonPackage rec { pname = "fasm"; version = "0.0.2.post100"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -11,7 +17,7 @@ buildPythonPackage rec { meta = with lib; { homepage = "https://github.com/chipsalliance/fasm/"; - description = "FPGA Assembly (FASM) Parser and Generator "; + description = "FPGA Assembly (FASM) Parser and Generator"; license = licenses.asl20; maintainers = with maintainers; [ hansfbaier ]; }; From 5c99c217a61ad8fb2205332f39bd9da4f0e71bac Mon Sep 17 00:00:00 2001 From: Hans Baier Date: Fri, 8 Sep 2023 12:48:40 +0700 Subject: [PATCH 4/5] fasm: use sri format for hash --- pkgs/development/python-modules/fasm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/fasm/default.nix b/pkgs/development/python-modules/fasm/default.nix index bdf7a3dc2ad75..5e582a9a1fc83 100644 --- a/pkgs/development/python-modules/fasm/default.nix +++ b/pkgs/development/python-modules/fasm/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "3b840a6b1184b5f1568635b1adab28147947522707d41ceba02d5ed0a0877279"; + hash = "sha256-O4QKaxGEtfFWhjWxrasoFHlHUicH1BzroC1e0KCHcnk="; }; meta = with lib; { From d3839c9a2dd1fbbe704c13b4d43fcdf4b02a28b4 Mon Sep 17 00:00:00 2001 From: Hans Baier Date: Mon, 9 Oct 2023 15:07:32 +0700 Subject: [PATCH 5/5] adopt jleightcap's packaging effort --- .../python-modules/fasm/default.nix | 88 +++++++++++++++++-- 1 file changed, 81 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/fasm/default.nix b/pkgs/development/python-modules/fasm/default.nix index 5e582a9a1fc83..4d27b1ca23ea4 100644 --- a/pkgs/development/python-modules/fasm/default.nix +++ b/pkgs/development/python-modules/fasm/default.nix @@ -1,24 +1,98 @@ +# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/python.section.md +# https://aur.archlinux.org/packages/python-fasm-git + { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub +, pythonOlder +, cmake +, textx +, cython +, fetchpatch }: +let + fetchPatchFromAur = { name, sha256 }: + fetchpatch { + inherit name sha256; + url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=python-fasm-git"; + }; +in buildPythonPackage rec { - pname = "fasm"; - version = "0.0.2.post100"; + name = "fasm"; + version = "0.0.2.r98.g9a73d70"; format = "setuptools"; disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-O4QKaxGEtfFWhjWxrasoFHlHUicH1BzroC1e0KCHcnk="; + src = fetchFromGitHub { + inherit name; + owner = "chipsalliance"; + repo = "fasm"; + rev = "9a73d70c53fbc7e9202191120836a961c97c0868"; + hash = "sha256-oC6vSpI9u8gEA2C85k00WdXzpH5GxeqtfNqqMduW5Jg="; }; + patches = map fetchPatchFromAur [ + { + name = "0001-cmake-install-parse_fasm.so.patch"; + sha256 = "sha256-ZEq/hTXjCIkVkWhgCYWtRe3wftdYMNwhNC4KNnBI2Dc="; + } + { + name = "0002-cmake-install-tags.py-properly.patch"; + sha256 = "sha256-OK5nXWsAzKK5ZreUCZy0maqWKrB0rpv8c2tA8zTE4U4="; + } + { + name = "0003-fix-setup.py-compute-install-directory-before-outsid.patch"; + sha256 = "sha256-XBbEHi4uXiS5rCl+0aiTkQ0q/+npgyr8zHabRMMiybI="; + } + { + name = "0004-setup.py-don-t-build-everything-twice.patch"; + sha256 = "sha256-TI8Ku+UIgnMNU4L4W09cSA0BC7kohXn+qGYki/EkQWA="; + } + { + name = "0005-cmake-allow-overriding-ANTLR_EXECUTABLE.patch"; + sha256 = "sha256-11HnqV7nUDL3IztA9B2KnsEy1JaGzOOea269tmaLIzs="; + } + { + name = "0006-cmake-explicitly-link-test-with-gtest.patch"; + sha256 = "sha256-hy0sL5INTPkkA8fdPxrw4zQA5KsSfhRIrT1HuP1BrVI="; + } + { + name = "0007-ANTLR4-4.10-compatibility.patch"; + sha256 = "sha256-ZctDyp+a0m/Yr6b/Z42DBQvrKwF95GRrYaCbsFBtEz0="; + } + { + name = "0008-cmake-use-native-gtest.patch"; + sha256 = "sha256-dYIjVrq+awCPblp6fV/VaTRsef7ibib+qP0ioh3dZ14="; + } + { + name = "0009-Use-cmake-directly-instead-of-letting-setup.py-try-t.patch"; + sha256 = "sha256-/Ay+XjTE7MPcQg5yeo7zuKE2T/tE/P1sIMxgRYeSWNI="; + } + ]; + + + nativeBuildInputs = [ + cmake + cython + ]; + + propagatedBuildInputs = [ + textx + ]; + + dontUseCmakeConfigure = true; + + # Broken upstream. + # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-fasm-git#n76 + doCheck = false; + meta = with lib; { + changelog = "https://github.com/chipsalliance/fasm/releases/tag/${version}"; homepage = "https://github.com/chipsalliance/fasm/"; description = "FPGA Assembly (FASM) Parser and Generator"; license = licenses.asl20; - maintainers = with maintainers; [ hansfbaier ]; + maintainers = with maintainers; [ jleightcap hansfbaier ]; }; }