1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-09 09:36:20 +09:00

python3Packages.spherogram: init at 2.2.1 (#414273)

This commit is contained in:
dotlambda 2025-06-06 13:52:03 -07:00 committed by GitHub
commit b6a8d0ed37
Signed by: github
GPG key ID: B5690EEEBB952194
9 changed files with 371 additions and 0 deletions

View file

@ -0,0 +1,80 @@
{
lib,
python,
buildPythonPackage,
fetchFromGitHub,
fetchurl,
setuptools,
cython,
bash,
perl,
gnum4,
texliveBasic,
}:
let
pariVersion = "2.15.4";
gmpVersion = "6.3.0";
pariSrc = fetchurl {
url = "https://pari.math.u-bordeaux.fr/pub/pari/OLD/${lib.versions.majorMinor pariVersion}/pari-${pariVersion}.tar.gz";
hash = "sha256-w1Rb/uDG37QLd/tLurr5mdguYAabn20ovLbPAEyMXA8=";
};
gmpSrc = fetchurl {
url = "https://ftp.gnu.org/gnu/gmp/gmp-${gmpVersion}.tar.bz2";
hash = "sha256-rCghGnz7YJuuLiyNYFjWbI/pZDT3QM9v4uR7AA0cIMs=";
};
in
buildPythonPackage rec {
pname = "cypari";
version = "2.5.5";
pyproject = true;
src = fetchFromGitHub {
owner = "3-manifolds";
repo = "CyPari";
tag = "${version}_as_released";
hash = "sha256-RJ9O1KsDHmMkTCIFUrcSUkA5ijTsxmoI939QCsCib0Y=";
};
postPatch = ''
substituteInPlace ./setup.py \
--replace-fail "/bin/bash" "${lib.getExe bash}"
# final character is stripped from PARI error messages for some reason
substituteInPlace ./cypari/handle_error.pyx \
--replace-fail "not a function in function call" "not a function in function cal"
ln -s ${pariSrc} ${pariSrc.name}
ln -s ${gmpSrc} ${gmpSrc.name}
'';
build-system = [
setuptools
cython
];
NIX_LDFLAGS = "-lc";
nativeBuildInputs = [
gnum4
perl
texliveBasic
];
pythonImportsCheck = [ "cypari" ];
checkPhase = ''
runHook preCheck
rm -r cypari
${python.interpreter} -m cypari.test
runHook postCheck
'';
meta = {
description = "Sage's PARI extension, modified to stand alone";
homepage = "https://github.com/3-manifolds/CyPari";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ noiioiu ];
changelog = "https://github.com/3-manifolds/CyPari/releases/tag/${src.tag}";
};
}

View file

@ -0,0 +1,42 @@
{
lib,
python,
buildPythonPackage,
fetchFromGitHub,
setuptools,
cython,
}:
buildPythonPackage rec {
pname = "fxrays";
version = "1.3.6";
pyproject = true;
src = fetchFromGitHub {
owner = "3-manifolds";
repo = "FXrays";
tag = "${version}_as_released";
hash = "sha256-IwEY54zDXqMci7WRvhueDJidTsbMwv6eqQSGZzFOtnQ";
};
build-system = [
setuptools
cython
];
pythonImportsCheck = [ "FXrays" ];
checkPhase = ''
runHook preCheck
${python.interpreter} -m FXrays.test
runHook postCheck
'';
meta = {
description = "Computes extremal rays of polyhedral cones with filtering";
changelog = "https://github.com/3-manifolds/FXrays/releases/tag/${src.tag}";
homepage = "https://github.com/3-manifolds/FXrays";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ noiioiu ];
};
}

View file

@ -0,0 +1,42 @@
{
lib,
python,
buildPythonPackage,
fetchFromGitHub,
setuptools,
cython,
}:
buildPythonPackage rec {
pname = "knot-floer-homology";
version = "1.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "3-manifolds";
repo = "knot_floer_homology";
tag = "${version}_as_released";
hash = "sha256-Gw9k9AaUVTBzE+ERUH8VgS//aVT03DdKozpL8xLG4No=";
};
build-system = [
setuptools
cython
];
pythonImportsCheck = [ "knot_floer_homology" ];
checkPhase = ''
runHook preCheck
${python.interpreter} -m knot_floer_homology.test
runHook postCheck
'';
meta = {
description = "Python wrapper for Zoltán Szabó's HFK Calculator";
changelog = "https://github.com/3-manifolds/knot_floer_homology/releases/tag/${src.tag}";
homepage = "https://github.com/3-manifolds/knot_floer_homology";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ noiioiu ];
};
}

View file

@ -0,0 +1,38 @@
{
lib,
python,
buildPythonPackage,
fetchFromGitHub,
setuptools,
}:
buildPythonPackage rec {
pname = "low-index";
version = "1.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "3-manifolds";
repo = "low_index";
tag = "v${version}_as_released";
hash = "sha256-T8hzC9ulikQ1pUdbXgjuKAX5oMJEycPvXWv74rCkQGY=";
};
build-system = [ setuptools ];
pythonImportsCheck = [ "low_index" ];
checkPhase = ''
runHook preCheck
${python.interpreter} -m low_index.test
runHook postCheck
'';
meta = {
description = "Enumerates low index subgroups of a finitely presented group";
changelog = "https://github.com/3-manifolds/low_index/releases/tag/${src.tag}";
homepage = "https://github.com/3-manifolds/low_index";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ noiioiu ];
};
}

View file

@ -0,0 +1,39 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
sphinx,
tkinter,
}:
buildPythonPackage rec {
pname = "plink";
version = "2.4.6";
pyproject = true;
src = fetchFromGitHub {
owner = "3-manifolds";
repo = "plink";
tag = "${version}_as_released";
hash = "sha256-+WUyQvQY9Fx47GikzJ4gcCpSIjvk5756FP0bDdF6Ack=";
};
build-system = [
setuptools
sphinx
];
dependencies = [ tkinter ];
pythonImportsCheck = [ "plink" ];
meta = {
description = "Full featured Tk-based knot and link editor";
mainProgram = "plink";
homepage = "https://3-manifolds.github.io/PLink";
changelog = "https://github.com/3-manifolds/PLink/releases/tag/${src.tag}";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ noiioiu ];
};
}

View file

@ -0,0 +1,34 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
snappy-manifolds,
}:
buildPythonPackage rec {
pname = "snappy-15-knots";
version = "1.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "3-manifolds";
repo = "snappy_15_knots";
tag = "${version}_as_released";
hash = "sha256-fhJhHZFf4XuW/0V6LOuV4qoFWke3oFP0KArDpXLWh9g=";
};
build-system = [ setuptools ];
dependencies = [ snappy-manifolds ];
pythonImportsCheck = [ "snappy_15_knots" ];
meta = with lib; {
description = "Database of snappy manifolds";
homepage = "https://snappy.computop.org";
changelog = "https://github.com/3-manifolds/snappy_15_knots/releases/tag/${src.tag}";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ noiioiu ];
};
}

View file

@ -0,0 +1,31 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
}:
buildPythonPackage rec {
pname = "snappy-manifolds";
version = "1.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "3-manifolds";
repo = "snappy_manifolds";
tag = "${version}_as_released";
hash = "sha256-vxG3z6zWzG4S11fBxYGn4/c2f2sWOCIrzT+R27TR144=";
};
build-system = [ setuptools ];
pythonImportsCheck = [ "snappy_manifolds" ];
meta = {
description = "Database of snappy manifolds";
changelog = "https://github.com/3-manifolds/snappy_manifolds/releases/tag/${src.tag}";
homepage = "https://snappy.computop.org";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ noiioiu ];
};
}

View file

@ -0,0 +1,49 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
cython,
networkx,
decorator,
knot-floer-homology,
snappy-manifolds,
snappy-15-knots,
}:
buildPythonPackage rec {
pname = "spherogram";
version = "2.3";
pyproject = true;
src = fetchFromGitHub {
owner = "3-manifolds";
repo = "spherogram";
tag = "${version}_as_released";
hash = "sha256-uqc+3xS4xulXR0tZlNuyC5Zz5OztR6c4PZWpsvU+4Pw=";
};
build-system = [
setuptools
cython
];
dependencies = [
networkx
decorator
snappy-manifolds
knot-floer-homology
];
optional-dependencies.snappy-15-knots = [ snappy-15-knots ];
pythonImportsCheck = [ "spherogram" ];
meta = {
description = "Spherical diagrams for 3-manifold topology";
homepage = "https://snappy.computop.org/spherogram.html";
changelog = "https://github.com/3-manifolds/Spherogram/releases/tag/${src.tag}";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ noiioiu ];
};
}

View file

@ -3138,6 +3138,8 @@ self: super: with self; {
cynthion = callPackage ../development/python-modules/cynthion { };
cypari = callPackage ../development/python-modules/cypari { };
cypari2 = callPackage ../development/python-modules/cypari2 { };
cypherpunkpay = callPackage ../development/python-modules/cypherpunkpay { };
@ -5442,6 +5444,8 @@ self: super: with self; {
fx2 = callPackage ../development/python-modules/fx2 { };
fxrays = callPackage ../development/python-modules/fxrays { };
fyta-cli = callPackage ../development/python-modules/fyta-cli { };
g2pkk = callPackage ../development/python-modules/g2pkk { };
@ -7590,6 +7594,8 @@ self: super: with self; {
knocki = callPackage ../development/python-modules/knocki { };
knot-floer-homology = callPackage ../development/python-modules/knot-floer-homology { };
knx-frontend = callPackage ../development/python-modules/knx-frontend { };
kombu = callPackage ../development/python-modules/kombu { };
@ -8473,6 +8479,8 @@ self: super: with self; {
lottie = callPackage ../development/python-modules/lottie { };
low-index = callPackage ../development/python-modules/low-index { };
lox = callPackage ../development/python-modules/lox { };
lpc-checksum = callPackage ../development/python-modules/lpc-checksum { };
@ -11455,6 +11463,8 @@ self: super: with self; {
plfit = toPythonModule (pkgs.plfit.override { inherit (self) python; });
plink = callPackage ../development/python-modules/plink { };
plone-testing = callPackage ../development/python-modules/plone-testing { };
ploomber-core = callPackage ../development/python-modules/ploomber-core { };
@ -16317,6 +16327,10 @@ self: super: with self; {
snapcast = callPackage ../development/python-modules/snapcast { };
snappy-15-knots = callPackage ../development/python-modules/snappy-15-knots { };
snappy-manifolds = callPackage ../development/python-modules/snappy-manifolds { };
snapshottest = callPackage ../development/python-modules/snapshottest { };
snaptime = callPackage ../development/python-modules/snaptime { };
@ -16483,6 +16497,8 @@ self: super: with self; {
spglib = callPackage ../development/python-modules/spglib { };
spherogram = callPackage ../development/python-modules/spherogram { };
sphfile = callPackage ../development/python-modules/sphfile { };
sphinx = callPackage ../development/python-modules/sphinx { };