python3Packages.snappy: init at 3.2 (#415184)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{ python3Packages }: python3Packages.toPythonApplication python3Packages.snappy
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
tcl,
|
||||
fetchFromGitHub,
|
||||
autoreconfHook,
|
||||
tk,
|
||||
libGL,
|
||||
}:
|
||||
|
||||
tcl.mkTclDerivation {
|
||||
pname = "tkgl";
|
||||
version = "1.2.1-unstable-2025-06-01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "3-manifolds";
|
||||
repo = "TkGL";
|
||||
rev = "45bf16e6c28a070c70fc9a0eb8c47a0b6ff8a2e3";
|
||||
hash = "sha256-AA5LZGhMTWmTZqI/wtycUYLsUe9BwO3voGMS7vGlCM0=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace configure.ac \
|
||||
--replace-fail "-arch x86_64 -arch arm64" ""
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-tk=${lib.getLib tk}/lib"
|
||||
"--with-tkinclude=${lib.getDev tk}/include"
|
||||
];
|
||||
|
||||
installTargets = [
|
||||
"install-lib-binaries"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
tk
|
||||
libGL
|
||||
];
|
||||
|
||||
meta = {
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchpatch,
|
||||
python,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
cypari,
|
||||
cython,
|
||||
fxrays,
|
||||
ipython,
|
||||
libGL,
|
||||
low-index,
|
||||
packaging,
|
||||
pickleshare,
|
||||
plink,
|
||||
pypng,
|
||||
pyx,
|
||||
snappy-15-knots,
|
||||
snappy-manifolds,
|
||||
spherogram,
|
||||
sphinxHook,
|
||||
sphinx-rtd-theme,
|
||||
tkinter-gl,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "snappy";
|
||||
version = "3.2";
|
||||
pyproject = true;
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"doc"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "3-manifolds";
|
||||
repo = "SnapPy";
|
||||
tag = "${version}_as_released";
|
||||
hash = "sha256-IwPxuyVDsL5yML+J06HTKlz52sYrPkohLJ0XDXDwTlo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "no-copy-doc.patch";
|
||||
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 =
|
||||
lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail "/usr/include/GL" "${libGL.dev}/include/GL"
|
||||
substituteInPlace freedesktop/share/applications/snappy.desktop \
|
||||
--replace-fail "Exec=/usr/bin/env python3 -m snappy.app" "Exec=SnapPy"
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail "poss_roots = [ ''' ]" "poss_roots = [ '$SDKROOT' ]"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
cython
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
sphinxHook
|
||||
sphinx-rtd-theme
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libGL
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
cypari
|
||||
fxrays
|
||||
ipython
|
||||
low-index
|
||||
packaging
|
||||
pickleshare
|
||||
plink
|
||||
pypng
|
||||
pyx
|
||||
snappy-manifolds
|
||||
spherogram
|
||||
tkinter-gl
|
||||
];
|
||||
|
||||
optional-dependencies.snappy-15-knots = [ snappy-15-knots ];
|
||||
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
mkdir -p $out/share
|
||||
cp -r freedesktop/share/{applications,icons} $out/share
|
||||
'';
|
||||
|
||||
sphinxRoot = "doc_src";
|
||||
|
||||
postInstallSphinx = ''
|
||||
ln -s ''${!outputDoc}/share/doc/$name/html $out/${python.sitePackages}/snappy/doc
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "snappy" ];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
${python.interpreter} -m snappy.test --skip-gui
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Studying the topology and geometry of 3-manifolds, with a focus on hyperbolic structures";
|
||||
changelog = "https://snappy.computop.org/news.html";
|
||||
mainProgram = "SnapPy";
|
||||
homepage = "https://snappy.computop.org";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
noiioiu
|
||||
alejo7797
|
||||
];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
{
|
||||
lib,
|
||||
python,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools-scm,
|
||||
tkinter,
|
||||
tkgl,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -18,10 +20,28 @@ buildPythonPackage rec {
|
||||
hash = "sha256-ObI8EEQ7mAOAuV6f+Ld4HH0xkFzqiAZqHDvzjwPA/wM";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Remove compiled TkGL, we compile it ourselves
|
||||
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,)" \
|
||||
"pkg_dir = os.path.join(__path__[0], 'tk')"
|
||||
'';
|
||||
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
dependencies = [ tkinter ];
|
||||
|
||||
postInstall =
|
||||
let
|
||||
pkgDir = "$out/${python.sitePackages}/tkinter_gl/tk";
|
||||
in
|
||||
''
|
||||
mkdir -p ${pkgDir}
|
||||
ln -s ${tkgl}/lib/Tkgl* ${pkgDir}
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "tkinter_gl" ];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -17299,6 +17299,8 @@ self: super: with self; {
|
||||
|
||||
snapcast = callPackage ../development/python-modules/snapcast { };
|
||||
|
||||
snappy = callPackage ../development/python-modules/snappy { };
|
||||
|
||||
snappy-15-knots = callPackage ../development/python-modules/snappy-15-knots { };
|
||||
|
||||
snappy-manifolds = callPackage ../development/python-modules/snappy-manifolds { };
|
||||
|
||||
Reference in New Issue
Block a user