1{ stdenv, fetchgit, cmake, pkgconfig, zlib, libpng, cairo, freetype
2, json_c, fontconfig, gtkmm3, pangomm, glew, mesa_glu, xlibs, pcre
3}:
4stdenv.mkDerivation rec {
5 name = "solvespace-2.3-20170808";
6 rev = "16540b1b2c540a4b44500ac02aaa4493bccfba7e";
7 src = fetchgit {
8 url = https://github.com/solvespace/solvespace;
9 inherit rev;
10 sha256 = "1z10i21xf3yagd984lp1hwasnsizx2s3faq3wdzzjngrikr2zn70";
11 fetchSubmodules = true;
12 };
13
14 buildInputs = [
15 cmake pkgconfig zlib libpng cairo freetype
16 json_c fontconfig gtkmm3 pangomm glew mesa_glu
17 xlibs.libpthreadstubs xlibs.libXdmcp pcre
18 ];
19 enableParallelBuilding = true;
20
21 preConfigure = ''
22 patch CMakeLists.txt <<EOF
23 @@ -20,9 +20,9 @@
24 # NOTE TO PACKAGERS: The embedded git commit hash is critical for rapid bug triage when the builds
25 # can come from a variety of sources. If you are mirroring the sources or otherwise build when
26 # the .git directory is not present, please comment the following line:
27 -include(GetGitCommitHash)
28 +# include(GetGitCommitHash)
29 # and instead uncomment the following, adding the complete git hash of the checkout you are using:
30 -# set(GIT_COMMIT_HASH 0000000000000000000000000000000000000000)
31 +set(GIT_COMMIT_HASH $rev)
32 EOF
33 '';
34
35 postInstall = ''
36 substituteInPlace $out/share/applications/solvespace.desktop \
37 --replace /usr/bin/ $out/bin/ \
38 '';
39
40 meta = {
41 description = "A parametric 3d CAD program";
42 license = stdenv.lib.licenses.gpl3;
43 maintainers = with stdenv.lib.maintainers; [ edef ];
44 platforms = stdenv.lib.platforms.linux;
45 homepage = http://solvespace.com;
46 };
47}