Merge pull request #215001 from GenericNerdyUsername/fusesoc

fusesoc: init at 1.12.0
This commit is contained in:
Sandro 2023-05-21 23:57:37 +02:00 committed by GitHub
commit ddf8259f5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 217 additions and 0 deletions

View File

@ -0,0 +1,31 @@
{ buildPythonPackage
, fetchFromGitHub
, lib
, pyyaml
, six
, lxml
}:
buildPythonPackage rec {
pname = "ipyxact";
version = "0.3.2";
propagatedBuildInputs = [ pyyaml ];
checkInputs = [ six lxml ];
src = fetchFromGitHub {
owner = "olofk";
repo = pname;
rev = "v${version}";
hash = "sha256-myD+NnqcxxaSAV7qZa8xqeciaiFqFePqIzd7sb/2GXA=";
};
pythonImportsCheck = [ "ipyxact" ];
meta = with lib; {
homepage = "https://github.com/olofk/ipyxact";
description = "IP-XACT parser";
maintainers = with maintainers; [ genericnerdyusername ];
license = licenses.mit;
};
}

View File

@ -0,0 +1,47 @@
{ buildPythonPackage
, stdenv
, fetchFromGitHub
, lib
, attrs
, distro
, jsonschema
, six
, zipfile2
, hypothesis
, mock
, packaging
, testfixtures
}:
buildPythonPackage rec {
pname = "okonomiyaki";
version = "1.3.2";
src = fetchFromGitHub {
owner = "enthought";
repo = pname;
rev = version;
hash = "sha256-eWCOuGtdjBGThAyu15aerclkSWC593VGDPHJ98l30iY=";
};
propagatedBuildInputs = [ distro attrs jsonschema six zipfile2 ];
preCheck = ''
substituteInPlace okonomiyaki/runtimes/tests/test_runtime.py \
--replace 'runtime_info = PythonRuntime.from_running_python()' 'raise unittest.SkipTest() #'
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace okonomiyaki/platforms/tests/test_pep425.py \
--replace 'self.assertEqual(platform_tag, self.tag.platform)' 'raise unittest.SkipTest()'
'';
checkInputs = [ hypothesis mock packaging testfixtures ];
pythonImportsCheck = [ "okonomiyaki" ];
meta = with lib; {
homepage = "https://github.com/enthought/okonomiyaki";
description = "An experimental library aimed at consolidating a lot of low-level code used for Enthought's eggs";
maintainers = with maintainers; [ genericnerdyusername ];
license = licenses.bsd3;
};
}

View File

@ -0,0 +1,48 @@
{ buildPythonPackage
, fetchFromGitHub
, writeText
, lib
, attrs
, six
, okonomiyaki
}:
let
version = "0.8.2";
versionFile = writeText "simplesat_ver" ''
version = '${version}'
full_version = '${version}'
git_revision = '0000000000000000000000000000000000000000'
is_released = True
msi_version = '${version}.000'
version_info = (${lib.versions.major version}, ${lib.versions.minor version}, ${lib.versions.patch version}, 'final', 0)
'';
in buildPythonPackage rec {
pname = "simplesat";
inherit version;
propagatedBuildInputs = [ attrs six okonomiyaki ];
src = fetchFromGitHub {
owner = "enthought";
repo = "sat-solver";
rev = "v${version}";
hash = "sha256-6BQn1W2JGrMmNqgxi+sXx06XzNMcvwqYGMkpD0SSpT8=";
};
preConfigure = ''
cp ${versionFile} simplesat/_version.py
'';
dontUseSetuptoolsCheck = true;
pythonImportsCheck = [ "simplesat" ];
meta = with lib; {
homepage = "https://github.com/enthought/sat-solver";
description = "Prototype for SAT-based dependency handling";
maintainers = with maintainers; [ genericnerdyusername ];
license = licenses.bsd3;
};
}

View File

@ -0,0 +1,27 @@
{ buildPythonPackage
, fetchFromGitHub
, lib
}:
buildPythonPackage rec {
pname = "zipfile2";
version = "0.0.12";
src = fetchFromGitHub {
owner = "cournape";
repo = pname;
rev = "v${version}";
hash = "sha256-BwcEgW4XrQqz0Jmtbyxf8q0mWTJXv2dL3Tk7N/IYuMI=";
};
patches = [ ./no-setuid.patch ];
pythonImportsCheck = [ "zipfile2" ];
meta = with lib; {
homepage = "https://github.com/cournape/zipfile2";
description = "A backwards-compatible improved zipfile class";
maintainers = with maintainers; [ genericnerdyusername ];
license = licenses.psfl;
};
}

View File

@ -0,0 +1,15 @@
diff --git a/zipfile2/tests/test__zipfile.py b/zipfile2/tests/test__zipfile.py
index 60f2ed2..db6e5bc 100644
--- a/zipfile2/tests/test__zipfile.py
+++ b/zipfile2/tests/test__zipfile.py
@@ -585,8 +585,8 @@ class TestsPermissionExtraction(unittest.TestCase):
if index & 1 << order:
mode |= permissions[permgroup][order]
for order in range(3):
- if specialindex & 1 << order:
- mode |= permissions['special'][order]
+ if specialindex & 1 << order and order == 0:
+ raise unittest.SkipTest("The nix build process doesn't allow you to use the setuid bit")
os.chmod(path, mode)
real_permission = os.stat(path).st_mode & 0xFFF
self.files.append((path, real_permission))

View File

@ -0,0 +1,39 @@
{ buildPythonPackage
, fetchPypi
, lib
, verilog
, verilator
, gnumake
, gcc
, edalize
, fastjsonschema
, pyparsing
, pyyaml
, simplesat
, ipyxact
, setuptools-scm
}:
buildPythonPackage rec {
pname = "fusesoc";
version = "2.2.1";
src = fetchPypi {
inherit pname version;
hash = "sha256-M36bXBgY8hR33AVDlHoH8PZJG2Bi0KOEI07IMns7R4w=";
};
nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [ edalize fastjsonschema pyparsing pyyaml simplesat ipyxact ];
pythonImportsCheck = [ "fusesoc" ];
makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ verilog verilator gnumake ]}"];
meta = with lib; {
homepage = "https://github.com/olofk/fusesoc";
description = "A package manager and build tools for HDL code";
maintainers = with maintainers; [ genericnerdyusername ];
license = licenses.bsd3;
};
}

View File

@ -2290,6 +2290,8 @@ with pkgs;
fuse-emulator = callPackage ../applications/emulators/fuse-emulator { };
fusesoc = python3Packages.callPackage ../tools/package-management/fusesoc { };
fw = callPackage ../tools/misc/fw {
inherit (darwin.apple_sdk.frameworks) Security;
};

View File

@ -4983,6 +4983,8 @@ self: super: with self; {
ipywidgets = callPackage ../development/python-modules/ipywidgets { };
ipyxact = callPackage ../development/python-modules/ipyxact { };
irc = callPackage ../development/python-modules/irc { };
ircrobots = callPackage ../development/python-modules/ircrobots { };
@ -6943,6 +6945,8 @@ self: super: with self; {
oemthermostat = callPackage ../development/python-modules/oemthermostat { };
okonomiyaki = callPackage ../development/python-modules/okonomiyaki { };
okta = callPackage ../development/python-modules/okta { };
olefile = callPackage ../development/python-modules/olefile { };
@ -11077,6 +11081,8 @@ self: super: with self; {
simplenote = callPackage ../development/python-modules/simplenote { };
simplesat = callPackage ../development/python-modules/simplesat { };
simple-di = callPackage ../development/python-modules/simple-di { };
simple-rest-client = callPackage ../development/python-modules/simple-rest-client { };
@ -13292,6 +13298,8 @@ self: super: with self; {
zimports = callPackage ../development/python-modules/zimports { };
zipfile2 = callPackage ../development/python-modules/zipfile2 { };
zipp = callPackage ../development/python-modules/zipp { };
zipstream = callPackage ../development/python-modules/zipstream { };