1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 python,
6 cmake,
7 pyqt5,
8 numpy,
9 scipy,
10 shapely,
11 libarcus,
12 cryptography,
13 doxygen,
14 gettext,
15 pythonOlder,
16}:
17
18buildPythonPackage rec {
19 version = "4.12.0";
20 pname = "uranium";
21 format = "other";
22
23 src = fetchFromGitHub {
24 owner = "Ultimaker";
25 repo = "Uranium";
26 rev = version;
27 hash = "sha256-SE9xqrloPXIRTJiiqUdRKFmb4c0OjmJK5CMn6VXMFmk=";
28 };
29
30 disabled = pythonOlder "3.5.0";
31
32 buildInputs = [
33 python
34 gettext
35 ];
36 propagatedBuildInputs = [
37 pyqt5
38 numpy
39 scipy
40 shapely
41 libarcus
42 cryptography
43 ];
44 nativeBuildInputs = [
45 cmake
46 doxygen
47 ];
48
49 postPatch = ''
50 sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
51 sed -i \
52 -e "s,Resources.addSearchPath(os.path.join(os.path.abspath(os.path.dirname(__file__)).*,Resources.addSearchPath(\"$out/share/uranium/resources\")," \
53 -e "s,self._plugin_registry.addPluginLocation(os.path.join(os.path.abspath(os.path.dirname(__file__)).*,self._plugin_registry.addPluginLocation(\"$out/lib/uranium/plugins\")," \
54 UM/Application.py
55 '';
56
57 meta = with lib; {
58 description = "Python framework for building Desktop applications";
59 homepage = "https://github.com/Ultimaker/Uranium";
60 license = licenses.lgpl3Plus;
61 platforms = platforms.linux;
62 maintainers = [ ];
63 };
64}