lol
1# SolidPython is an unmaintained library with old dependencies.
2{
3 buildPythonPackage,
4 fetchFromGitHub,
5 lib,
6
7 poetry-core,
8 prettytable,
9 ply,
10 setuptools,
11 euclid3,
12}:
13buildPythonPackage rec {
14 pname = "solidpython";
15 version = "1.1.3";
16 format = "pyproject";
17
18 src = fetchFromGitHub {
19 owner = "SolidCode";
20 repo = "SolidPython";
21 rev = "d962740d600c5dfd69458c4559fc416b9beab575";
22 hash = "sha256-3fJta2a5c8hV9FPwKn5pj01aBtsCGSRCz3vvxR/5n0Q=";
23 };
24
25 nativeBuildInputs = [
26 poetry-core
27 ];
28
29 propagatedBuildInputs = [
30 ply
31 setuptools
32 euclid3
33
34 prettytable
35 ];
36
37 pythonRelaxDeps = [
38 # SolidPython has PrettyTable pinned to a hyper-specific version due to
39 # some ancient bug with Poetry. They aren't interested in unpinning because
40 # SolidPython v1 seems to be deprecated in favor of v2:
41 # https://github.com/SolidCode/SolidPython/issues/207
42 "PrettyTable"
43 ];
44
45 pythonRemoveDeps = [
46 # The pypng dependency is only used in an example script.
47 "pypng"
48 ];
49
50 pythonImportsCheck = [
51 "solid"
52 ];
53
54 meta = {
55 description = "Python interface to the OpenSCAD declarative geometry language";
56 homepage = "https://github.com/SolidCode/SolidPython";
57 changelog = "https://github.com/SolidCode/SolidPython/releases/tag/v${version}";
58 maintainers = with lib.maintainers; [ jfly ];
59 license = lib.licenses.lgpl21Plus;
60 };
61}