From 0983642659d1258292362babde064530f9e71f4d Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Wed, 7 Jan 2026 13:46:41 +0000 Subject: [PATCH 01/19] tkgl: add alejo7797 to maintainers --- pkgs/by-name/tk/tkgl/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/tk/tkgl/package.nix b/pkgs/by-name/tk/tkgl/package.nix index ba5497bf588e0..efdcb54d0c79e 100644 --- a/pkgs/by-name/tk/tkgl/package.nix +++ b/pkgs/by-name/tk/tkgl/package.nix @@ -46,6 +46,9 @@ tcl.mkTclDerivation { description = "OpenGL drawing surface for Tk 8 and 9"; homepage = "https://github.com/3-manifolds/TkGL"; license = lib.licenses.tcltk; - maintainers = with lib.maintainers; [ noiioiu ]; + maintainers = with lib.maintainers; [ + noiioiu + alejo7797 + ]; }; } From 889fa3550c869038f5125f694c1858081c57de70 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Tue, 6 Jan 2026 09:03:58 -0500 Subject: [PATCH 02/19] tkgl: 1.2.1-unstable-2025-06-01 -> 1.2.1-unstable-2026-01-07 --- pkgs/by-name/tk/tkgl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tk/tkgl/package.nix b/pkgs/by-name/tk/tkgl/package.nix index efdcb54d0c79e..915df735331bf 100644 --- a/pkgs/by-name/tk/tkgl/package.nix +++ b/pkgs/by-name/tk/tkgl/package.nix @@ -10,13 +10,13 @@ tcl.mkTclDerivation { pname = "tkgl"; - version = "1.2.1-unstable-2025-06-01"; + version = "1.2.1-unstable-2026-01-07"; src = fetchFromGitHub { owner = "3-manifolds"; repo = "TkGL"; - rev = "45bf16e6c28a070c70fc9a0eb8c47a0b6ff8a2e3"; - hash = "sha256-AA5LZGhMTWmTZqI/wtycUYLsUe9BwO3voGMS7vGlCM0="; + rev = "e47636bc56f02ddca503f98abc65e31a0f0f0a7c"; + hash = "sha256-Y5NIKWUjbtVn9qiVzc8TsKCm4M3KbNPiBjVTBWf7ALA="; }; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' From 23f098949d8a8a82c0e4e9c9aeeecafca5e25091 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Sun, 11 Jan 2026 10:51:10 +0000 Subject: [PATCH 03/19] python3Packages.tkinter-gl: add setuptools to build-system --- pkgs/development/python-modules/tkinter-gl/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/tkinter-gl/default.nix b/pkgs/development/python-modules/tkinter-gl/default.nix index a39a6d940d4dc..a933980943801 100644 --- a/pkgs/development/python-modules/tkinter-gl/default.nix +++ b/pkgs/development/python-modules/tkinter-gl/default.nix @@ -1,11 +1,12 @@ { lib, + fetchFromGitHub, python, buildPythonPackage, - fetchFromGitHub, + setuptools, setuptools-scm, - tkinter, tkgl, + tkinter, }: buildPythonPackage rec { @@ -29,7 +30,10 @@ buildPythonPackage rec { "pkg_dir = os.path.join(__path__[0], 'tk')" ''; - build-system = [ setuptools-scm ]; + build-system = [ + setuptools + setuptools-scm + ]; dependencies = [ tkinter ]; From 623dbeed8b8f7fb49778e00d80eded3bbd95eec1 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 9 Feb 2026 17:05:41 -0500 Subject: [PATCH 04/19] python3Packages.tkinter-gl: add updateScript --- pkgs/development/python-modules/tkinter-gl/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python-modules/tkinter-gl/default.nix b/pkgs/development/python-modules/tkinter-gl/default.nix index a933980943801..14bc749258106 100644 --- a/pkgs/development/python-modules/tkinter-gl/default.nix +++ b/pkgs/development/python-modules/tkinter-gl/default.nix @@ -7,6 +7,7 @@ setuptools-scm, tkgl, tkinter, + nix-update-script, }: buildPythonPackage rec { @@ -48,6 +49,13 @@ buildPythonPackage rec { pythonImportsCheck = [ "tkinter_gl" ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "v(.*)_as_released" + ]; + }; + meta = { description = "Base class for GL rendering surfaces in tkinter"; changelog = "https://github.com/3-manifolds/tkinter_gl/releases/tag/${src.tag}"; From 58ee9486422c65ba0ba51743cfce452f4c69d4ac Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 9 Feb 2026 17:06:11 -0500 Subject: [PATCH 05/19] python3Packages.tkinter-gl: 1.0 -> 1.1 --- pkgs/development/python-modules/tkinter-gl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/tkinter-gl/default.nix b/pkgs/development/python-modules/tkinter-gl/default.nix index 14bc749258106..8a4787f025fb6 100644 --- a/pkgs/development/python-modules/tkinter-gl/default.nix +++ b/pkgs/development/python-modules/tkinter-gl/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "tkinter-gl"; - version = "1.0"; + version = "1.1"; pyproject = true; src = fetchFromGitHub { owner = "3-manifolds"; repo = "tkinter_gl"; tag = "v${version}_as_released"; - hash = "sha256-ObI8EEQ7mAOAuV6f+Ld4HH0xkFzqiAZqHDvzjwPA/wM"; + hash = "sha256-PNxxjyVGoMw4J/SXWvVITuGMq/HypxUwDkSxeFy2Vag="; }; postPatch = '' @@ -27,7 +27,7 @@ buildPythonPackage rec { rm -r src/tkinter_gl/tk # Platform-specific directories are only necessary when using compiled TkGL substituteInPlace src/tkinter_gl/__init__.py \ - --replace-fail "pkg_dir = os.path.join(__path__[0], 'tk', sys.platform,)" \ + --replace-fail "pkg_dir = os.path.join(__path__[0], 'tk', target)" \ "pkg_dir = os.path.join(__path__[0], 'tk')" ''; From f2233d187d1fd9067bf061506bc4ea65a73afc4b Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Sun, 11 Jan 2026 11:26:35 +0000 Subject: [PATCH 06/19] python3Packages.cypari: rename static library derivation inputs --- .../python-modules/cypari/default.nix | 31 +++++++++++++++---- pkgs/top-level/python-packages.nix | 18 +---------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/pkgs/development/python-modules/cypari/default.nix b/pkgs/development/python-modules/cypari/default.nix index 7bba34e3a9a8f..7b263b26720e2 100644 --- a/pkgs/development/python-modules/cypari/default.nix +++ b/pkgs/development/python-modules/cypari/default.nix @@ -1,14 +1,33 @@ { lib, + fetchFromGitHub, python, buildPythonPackage, - fetchFromGitHub, + fetchurl, fetchpatch, + + # build-time dependencies setuptools, cython, - gmp, - pari, perl, + + # static libraries + pkgsStatic, + gmpStatic ? pkgsStatic.gmp, + pari, + pariStatic_2_15 ? pari.overrideAttrs ( + finalAttrs: oldAttrs: { + version = "2.15.4"; + src = fetchurl { + url = "https://pari.math.u-bordeaux.fr/pub/pari/OLD/${lib.versions.majorMinor finalAttrs.version}/pari-${finalAttrs.version}.tar.gz"; + hash = "sha256-w1Rb/uDG37QLd/tLurr5mdguYAabn20ovLbPAEyMXA8="; + }; + installTargets = [ + "install" + "install-lib-sta" + ]; + } + ), }: buildPythonPackage rec { @@ -38,8 +57,8 @@ buildPythonPackage rec { preBuild = '' mkdir libcache - ln -s ${gmp} libcache/gmp - ln -s ${pari} libcache/pari + ln -s ${gmpStatic} libcache/gmp + ln -s ${pariStatic_2_15} libcache/pari ''; build-system = [ @@ -62,11 +81,11 @@ buildPythonPackage rec { meta = { description = "Sage's PARI extension, modified to stand alone"; homepage = "https://github.com/3-manifolds/CyPari"; + changelog = "https://github.com/3-manifolds/CyPari/releases/tag/${src.tag}"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ noiioiu alejo7797 ]; - changelog = "https://github.com/3-manifolds/CyPari/releases/tag/${src.tag}"; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fcf19791ac155..2551a0b785981 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3476,23 +3476,7 @@ self: super: with self; { cynthion = callPackage ../development/python-modules/cynthion { }; - cypari = callPackage ../development/python-modules/cypari { - - inherit (pkgs.pkgsStatic) gmp; - - pari = pkgs.pari.overrideAttrs rec { - version = "2.15.4"; - src = pkgs.fetchurl { - url = "https://pari.math.u-bordeaux.fr/pub/pari/OLD/${lib.versions.majorMinor version}/pari-${version}.tar.gz"; - hash = "sha256-w1Rb/uDG37QLd/tLurr5mdguYAabn20ovLbPAEyMXA8="; - }; - installTargets = [ - "install" - "install-lib-sta" - ]; - }; - - }; + cypari = callPackage ../development/python-modules/cypari { }; cypari2 = callPackage ../development/python-modules/cypari2 { }; From 9284474b901c9ff3c9c28532a2ea94b69dda35a0 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 9 Feb 2026 22:00:20 -0500 Subject: [PATCH 07/19] python3Packages.cypari: add updateScript --- pkgs/development/python-modules/cypari/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python-modules/cypari/default.nix b/pkgs/development/python-modules/cypari/default.nix index 7b263b26720e2..4343437554bc5 100644 --- a/pkgs/development/python-modules/cypari/default.nix +++ b/pkgs/development/python-modules/cypari/default.nix @@ -3,6 +3,7 @@ fetchFromGitHub, python, buildPythonPackage, + nix-update-script, fetchurl, fetchpatch, @@ -78,6 +79,13 @@ buildPythonPackage rec { runHook postCheck ''; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "(.*)_as_released" + ]; + }; + meta = { description = "Sage's PARI extension, modified to stand alone"; homepage = "https://github.com/3-manifolds/CyPari"; From 7b0caf2e0585044f7441816556924ce5a05d0ea3 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 5 Jan 2026 17:12:40 -0600 Subject: [PATCH 08/19] python3Packages.cypari: 2.5.5 -> 2.5.6 --- pkgs/development/python-modules/cypari/default.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/cypari/default.nix b/pkgs/development/python-modules/cypari/default.nix index 4343437554bc5..e71204f09963e 100644 --- a/pkgs/development/python-modules/cypari/default.nix +++ b/pkgs/development/python-modules/cypari/default.nix @@ -33,26 +33,21 @@ buildPythonPackage rec { pname = "cypari"; - version = "2.5.5"; + version = "2.5.6"; pyproject = true; src = fetchFromGitHub { owner = "3-manifolds"; repo = "CyPari"; tag = "${version}_as_released"; - hash = "sha256-RJ9O1KsDHmMkTCIFUrcSUkA5ijTsxmoI939QCsCib0Y="; + hash = "sha256-pzxnrWkoPW7fpxLbUQ+drIrdrjqaAiNnDfe9ky2IxaA="; }; patches = [ - (fetchpatch { - name = "support-aarch64-linux.patch"; - url = "https://github.com/3-manifolds/CyPari/commit/6197171b52ee4f44a4954ddd0e2e36769b189dee.patch"; - hash = "sha256-j2P7DEGD2B8q9Hh4G2mQng76fQdUpeAdFYoTD7Ui/Dk="; - }) (fetchpatch { name = "fix-build-with-cython-3_1.patch"; - url = "https://github.com/3-manifolds/CyPari/compare/622e112ffcf0383e2110954ff3ac3c42c006ebe1...50bcbd2b39177f5e4c5a3551a8a14f75ab05a5d6.patch"; - hash = "sha256-6ayvtHMS3YtzzklHaaLzl9d4zHJhm0lVZQZFS9ykFY4="; + url = "https://github.com/3-manifolds/CyPari/compare/17bf39dc4508f2e46de75b95c65982c627652b60...d6cb914d2bdc74a51cc2a9136204ebf47b3e7369.diff"; + hash = "sha256-c8sq80mYSMMvgFh7RXYwKcqwI7iVRQsm/8yaIL0+PHQ="; }) ]; From 807436d41820f321dd9c3569edd53c2c516b1df0 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 9 Feb 2026 17:11:08 -0500 Subject: [PATCH 09/19] python3Packages.plink: add updateScript --- pkgs/development/python-modules/plink/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python-modules/plink/default.nix b/pkgs/development/python-modules/plink/default.nix index 63e47bf2828e7..668cba46ffecc 100644 --- a/pkgs/development/python-modules/plink/default.nix +++ b/pkgs/development/python-modules/plink/default.nix @@ -5,6 +5,7 @@ setuptools, sphinx, tkinter, + nix-update-script, }: buildPythonPackage rec { @@ -28,6 +29,13 @@ buildPythonPackage rec { pythonImportsCheck = [ "plink" ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "(.*)_as_released" + ]; + }; + meta = { description = "Full featured Tk-based knot and link editor"; mainProgram = "plink"; From 4b8eb301f12f0333b56e9500a0b6266bb67f4016 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 5 Jan 2026 17:11:35 -0600 Subject: [PATCH 10/19] python3Packages.plink: 2.4.6 -> 2.4.9 --- pkgs/development/python-modules/plink/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/plink/default.nix b/pkgs/development/python-modules/plink/default.nix index 668cba46ffecc..d2073d710d381 100644 --- a/pkgs/development/python-modules/plink/default.nix +++ b/pkgs/development/python-modules/plink/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "plink"; - version = "2.4.6"; + version = "2.4.9"; pyproject = true; src = fetchFromGitHub { owner = "3-manifolds"; repo = "plink"; tag = "${version}_as_released"; - hash = "sha256-+WUyQvQY9Fx47GikzJ4gcCpSIjvk5756FP0bDdF6Ack="; + hash = "sha256-+O371oWfvRvMfjXX6qZj91c7+4MBneZFNcfdrJQNCY8="; }; build-system = [ From 4200a820c2420526d9414567702f1c575ec8700c Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 9 Feb 2026 17:13:44 -0500 Subject: [PATCH 11/19] python3Packages.snappy-manifolds: add updateScript --- .../python-modules/snappy-manifolds/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python-modules/snappy-manifolds/default.nix b/pkgs/development/python-modules/snappy-manifolds/default.nix index 277924130b7f7..d9d1fe69baa4d 100644 --- a/pkgs/development/python-modules/snappy-manifolds/default.nix +++ b/pkgs/development/python-modules/snappy-manifolds/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, setuptools, + nix-update-script, }: buildPythonPackage rec { @@ -21,6 +22,13 @@ buildPythonPackage rec { pythonImportsCheck = [ "snappy_manifolds" ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "(.*)_as_released" + ]; + }; + meta = { description = "Database of snappy manifolds"; changelog = "https://github.com/3-manifolds/snappy_manifolds/releases/tag/${src.tag}"; From 97b62f92c8ba93e4c43b596b35a114ae5372ca58 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 5 Jan 2026 17:13:20 -0600 Subject: [PATCH 12/19] python3Packages.snappy-manifolds: 1.2.1 -> 1.4 --- pkgs/development/python-modules/snappy-manifolds/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/snappy-manifolds/default.nix b/pkgs/development/python-modules/snappy-manifolds/default.nix index d9d1fe69baa4d..8136174762bc8 100644 --- a/pkgs/development/python-modules/snappy-manifolds/default.nix +++ b/pkgs/development/python-modules/snappy-manifolds/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "snappy-manifolds"; - version = "1.2.1"; + version = "1.4"; pyproject = true; src = fetchFromGitHub { owner = "3-manifolds"; repo = "snappy_manifolds"; tag = "${version}_as_released"; - hash = "sha256-vxG3z6zWzG4S11fBxYGn4/c2f2sWOCIrzT+R27TR144="; + hash = "sha256-e+BoPvg0cuEqLq2f9ZPgqFMEYw7eeSEDkY42+l+kDCk="; }; build-system = [ setuptools ]; From b2a36cb64d7b0b97c128eaa1ebaf88121f79e4eb Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 9 Feb 2026 17:18:27 -0500 Subject: [PATCH 13/19] python3Packages.spherogram: add checkPhase --- .../python-modules/spherogram/default.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/spherogram/default.nix b/pkgs/development/python-modules/spherogram/default.nix index e71af95407416..1589a8520e0fb 100644 --- a/pkgs/development/python-modules/spherogram/default.nix +++ b/pkgs/development/python-modules/spherogram/default.nix @@ -1,14 +1,19 @@ { lib, - buildPythonPackage, fetchFromGitHub, + python, + buildPythonPackage, + + # build-time dependencies setuptools, cython, - networkx, + + # runtime dependencies decorator, knot-floer-homology, - snappy-manifolds, + networkx, snappy-15-knots, + snappy-manifolds, }: buildPythonPackage rec { @@ -39,6 +44,12 @@ buildPythonPackage rec { pythonImportsCheck = [ "spherogram" ]; + checkPhase = '' + runHook preCheck + ${python.interpreter} -m spherogram.test + runHook postCheck + ''; + meta = { description = "Spherical diagrams for 3-manifold topology"; homepage = "https://snappy.computop.org/spherogram.html"; From ee41532961ffc08a8d4b79607c354fa1a4340e40 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Tue, 10 Feb 2026 14:56:28 -0500 Subject: [PATCH 14/19] python3Packages.spherogram: add sage tests see https://github.com/3-manifolds/Spherogram/blob/2.4_as_released/.github/workflows/test.yml#L36 --- .../python-modules/spherogram/default.nix | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pkgs/development/python-modules/spherogram/default.nix b/pkgs/development/python-modules/spherogram/default.nix index 1589a8520e0fb..7af4b90c6cef7 100644 --- a/pkgs/development/python-modules/spherogram/default.nix +++ b/pkgs/development/python-modules/spherogram/default.nix @@ -14,6 +14,11 @@ networkx, snappy-15-knots, snappy-manifolds, + + # tests + runCommand, + sage, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { @@ -50,6 +55,25 @@ buildPythonPackage rec { runHook postCheck ''; + passthru.tests.sage = + let + sage' = sage.override { + extraPythonPackages = ps: [ ps.spherogram ]; + requireSageTests = false; + }; + in + runCommand "spherogram-sage-tests" + { + nativeBuildInputs = [ + sage' + writableTmpDirAsHomeHook + ]; + } + '' + sage -python -m spherogram.test + touch $out + ''; + meta = { description = "Spherical diagrams for 3-manifold topology"; homepage = "https://snappy.computop.org/spherogram.html"; From 957535786a80e38ede03d08246381c02d7782840 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Tue, 10 Feb 2026 15:56:59 -0500 Subject: [PATCH 15/19] python3Packages.spherogram: add updateScript --- pkgs/development/python-modules/spherogram/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python-modules/spherogram/default.nix b/pkgs/development/python-modules/spherogram/default.nix index 7af4b90c6cef7..0c927931e6f26 100644 --- a/pkgs/development/python-modules/spherogram/default.nix +++ b/pkgs/development/python-modules/spherogram/default.nix @@ -3,6 +3,7 @@ fetchFromGitHub, python, buildPythonPackage, + nix-update-script, # build-time dependencies setuptools, @@ -74,6 +75,13 @@ buildPythonPackage rec { touch $out ''; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "(.*)_as_released" + ]; + }; + meta = { description = "Spherical diagrams for 3-manifold topology"; homepage = "https://snappy.computop.org/spherogram.html"; From f242b99ce753400a94010b94024f2f600fa10452 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Tue, 10 Feb 2026 15:58:44 -0500 Subject: [PATCH 16/19] python3Packages.spherogram: 2.3 -> 2.4.1 --- pkgs/development/python-modules/spherogram/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/spherogram/default.nix b/pkgs/development/python-modules/spherogram/default.nix index 0c927931e6f26..a750664ab817a 100644 --- a/pkgs/development/python-modules/spherogram/default.nix +++ b/pkgs/development/python-modules/spherogram/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "spherogram"; - version = "2.3"; + version = "2.4.1"; pyproject = true; src = fetchFromGitHub { owner = "3-manifolds"; repo = "spherogram"; tag = "${version}_as_released"; - hash = "sha256-uqc+3xS4xulXR0tZlNuyC5Zz5OztR6c4PZWpsvU+4Pw="; + hash = "sha256-zQoNuy2rj02GAuRNDufMwA/wQ4U8ZeIADb8LpIvMFOY="; }; build-system = [ From ae0854e9dc621194b733b280acdcef7bb6a2b747 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Sat, 10 Jan 2026 14:16:46 -0500 Subject: [PATCH 17/19] python3Packages.snappy: add sage tests see https://github.com/3-manifolds/SnapPy/blob/3.3_as_released/.github/workflows/sage_test.yml --- .../python-modules/snappy/default.nix | 44 ++++++++++++++++--- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/snappy/default.nix b/pkgs/development/python-modules/snappy/default.nix index b9927c1aeb8b2..7c733a29279ba 100644 --- a/pkgs/development/python-modules/snappy/default.nix +++ b/pkgs/development/python-modules/snappy/default.nix @@ -1,16 +1,22 @@ { lib, stdenv, - fetchpatch, + fetchFromGitHub, python, buildPythonPackage, - fetchFromGitHub, + fetchpatch, + + # build-time dependencies setuptools, - cypari, cython, + + # non-Python runtime dependencies + libGL, + + # Python runtime dependencies + cypari, fxrays, ipython, - libGL, low-index, packaging, pickleshare, @@ -20,9 +26,16 @@ snappy-15-knots, snappy-manifolds, spherogram, + tkinter-gl, + + # documentation sphinxHook, sphinx-rtd-theme, - tkinter-gl, + + # tests + runCommand, + sage, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { @@ -58,7 +71,7 @@ buildPythonPackage rec { postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace setup.py \ - --replace-fail "/usr/include/GL" "${libGL.dev}/include/GL" + --replace-fail "/usr/include/GL" "${lib.getDev libGL}/include/GL" substituteInPlace freedesktop/share/applications/snappy.desktop \ --replace-fail "Exec=/usr/bin/env python3 -m snappy.app" "Exec=SnapPy" '' @@ -117,6 +130,25 @@ buildPythonPackage rec { runHook postCheck ''; + passthru.tests.sage = + let + sage' = sage.override { + extraPythonPackages = ps: [ ps.snappy ]; + requireSageTests = false; + }; + in + runCommand "snappy-sage-tests" + { + nativeBuildInputs = [ + sage' + writableTmpDirAsHomeHook + ]; + } + '' + sage -python -m snappy.test --skip-gui + touch $out + ''; + meta = { description = "Studying the topology and geometry of 3-manifolds, with a focus on hyperbolic structures"; changelog = "https://snappy.computop.org/news.html"; From 180adfe6969ab198aa3a97a9a83d0d2af4662f4a Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 9 Feb 2026 17:24:59 -0500 Subject: [PATCH 18/19] python3Packages.snappy: add updateScript --- pkgs/development/python-modules/snappy/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python-modules/snappy/default.nix b/pkgs/development/python-modules/snappy/default.nix index 7c733a29279ba..4a83665023dbf 100644 --- a/pkgs/development/python-modules/snappy/default.nix +++ b/pkgs/development/python-modules/snappy/default.nix @@ -5,6 +5,7 @@ python, buildPythonPackage, fetchpatch, + nix-update-script, # build-time dependencies setuptools, @@ -149,6 +150,13 @@ buildPythonPackage rec { touch $out ''; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "(.*)_as_released" + ]; + }; + meta = { description = "Studying the topology and geometry of 3-manifolds, with a focus on hyperbolic structures"; changelog = "https://snappy.computop.org/news.html"; From b24794f9dc3d62d5d4a74a7da3b4a6d1319d1cce Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Mon, 5 Jan 2026 17:13:34 -0600 Subject: [PATCH 19/19] python3Packages.snappy: 3.2 -> 3.3.2 --- pkgs/development/python-modules/snappy/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/snappy/default.nix b/pkgs/development/python-modules/snappy/default.nix index 4a83665023dbf..886f52f385b0c 100644 --- a/pkgs/development/python-modules/snappy/default.nix +++ b/pkgs/development/python-modules/snappy/default.nix @@ -41,7 +41,7 @@ buildPythonPackage rec { pname = "snappy"; - version = "3.2"; + version = "3.3.2"; pyproject = true; outputs = [ @@ -53,7 +53,7 @@ buildPythonPackage rec { owner = "3-manifolds"; repo = "SnapPy"; tag = "${version}_as_released"; - hash = "sha256-IwPxuyVDsL5yML+J06HTKlz52sYrPkohLJ0XDXDwTlo="; + hash = "sha256-Pl4Nl0LXNvdtQ/EFVQy0QdUA/Fqoz2QAFWW5nz0bv78="; }; patches = [ @@ -62,11 +62,6 @@ buildPythonPackage rec { url = "https://github.com/3-manifolds/SnapPy/commit/c6aeeaaec7010a54e4ebdf2e8dad7b384c2ce8e5.patch"; hash = "sha256-OV3Qr5wO5UHNzVFTPTujIpp5ptel6gvAlcMgrJ8C0KY="; }) - (fetchpatch { - name = "fix-test-aarch64.patch"; - url = "https://github.com/3-manifolds/SnapPy/commit/a8d57db39bc8f486746dc61027779168d0bc316a.patch"; - hash = "sha256-RsuwaR+7UrVTKlPwQeHblTAN++La7b9BSMdFcJSiX5Q="; - }) ]; postPatch =