about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/opencascade
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-06-18 18:30:18 +0000
committerAlyssa Ross <hi@alyssa.is>2019-06-18 18:30:18 +0000
commitef93931efff0323fd13c4270415b578c73b5ef35 (patch)
treee5b089306c481ce3237027bfb46c940fed1e2114 /nixpkgs/pkgs/development/libraries/opencascade
parentc5571a126859eb658ffd7340cb580f7d91f12bb6 (diff)
parenta1dd419c1ffacea87eba066a2bb332e03cb68f66 (diff)
downloadnixlib-ef93931efff0323fd13c4270415b578c73b5ef35.tar
nixlib-ef93931efff0323fd13c4270415b578c73b5ef35.tar.gz
nixlib-ef93931efff0323fd13c4270415b578c73b5ef35.tar.bz2
nixlib-ef93931efff0323fd13c4270415b578c73b5ef35.tar.lz
nixlib-ef93931efff0323fd13c4270415b578c73b5ef35.tar.xz
nixlib-ef93931efff0323fd13c4270415b578c73b5ef35.tar.zst
nixlib-ef93931efff0323fd13c4270415b578c73b5ef35.zip
Merge commit 'a1dd419c1ffacea87eba066a2bb332e03cb68f66'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/opencascade')
-rw-r--r--nixpkgs/pkgs/development/libraries/opencascade/default.nix56
1 files changed, 36 insertions, 20 deletions
diff --git a/nixpkgs/pkgs/development/libraries/opencascade/default.nix b/nixpkgs/pkgs/development/libraries/opencascade/default.nix
index 05d78488957a..8334bf195f7b 100644
--- a/nixpkgs/pkgs/development/libraries/opencascade/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opencascade/default.nix
@@ -1,33 +1,49 @@
-{stdenv, fetchurl, libGLU_combined, tcl, tk, file, libXmu, cmake, libtool, qt4,
-ftgl, freetype}:
+{ stdenv, fetchFromGitHub, fetchpatch, libGL, libGLU, libXmu, cmake, ninja,
+  pkgconfig, fontconfig, freetype, expat, freeimage, vtk }:
 
 stdenv.mkDerivation rec {
-  name = "opencascade-oce-0.18.3";
-  src = fetchurl {
-    url = https://github.com/tpaviot/oce/archive/OCE-0.18.3.tar.gz;
-    sha256 = "0v4ny0qhr5hiialb2ss25bllfnd6j4g7mfxnqfmr1xsjpykxcly5";
+  pname = "opencascade-oce";
+  version = "0.18.3";
+
+  src = fetchFromGitHub {
+    owner = "tpaviot";
+    repo = "oce";
+    rev = "OCE-${version}";
+    sha256 = "17wy8dcf44vqisishv1jjf3cmcxyygqq29y9c3wjdj983qi2hsig";
   };
 
-  buildInputs = [ libGLU_combined tcl tk file libXmu libtool qt4 ftgl freetype cmake ];
+  nativeBuildInputs = [ cmake ninja pkgconfig ];
+  buildInputs = [ libGL libGLU libXmu freetype fontconfig expat freeimage vtk ];
 
-  # Fix for glibc 2.26
-  postPatch = ''
-    sed -i -e 's/^\( *#include <\)x\(locale.h>\)//' \
-      src/Standard/Standard_CLocaleSentry.hxx
-  '';
+  cmakeFlags = [
+    "-DOCE_INSTALL_PREFIX=${placeholder "out"}"
+    "-DOCE_WITH_FREEIMAGE=ON"
+    "-DOCE_WITH_VTK=ON"
+  ];
 
-  preConfigure = ''
-    cmakeFlags="$cmakeFlags -DOCE_INSTALL_PREFIX=$out"
-  '';
+  patches = [
+    # Use fontconfig instead of hardcoded directory list
+    # https://github.com/tpaviot/oce/pull/714
+    (fetchpatch {
+      url = "https://github.com/tpaviot/oce/commit/9643432b27fec8974ca0ee15c3c372f5fe8fc069.patch";
+      sha256 = "1wd940rszmh5apcpk5fv6126h8mcjcy4rjifrql5d4ac90v06v4c";
+    })
+    # Fix for glibc 2.26
+    (fetchpatch {
+      url = "https://github.com/tpaviot/oce/commit/3b44656e93270d782009b06ec4be84d2a13f8126.patch";
+      sha256 = "1ccakkcwy5g0184m23x0mnh22i0lk45xm8kgiv5z3pl7nh35dh8k";
+    })
+  ];
 
-  # https://bugs.freedesktop.org/show_bug.cgi?id=83631
-  NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
-
-  enableParallelBuilding = true;
+  postPatch = ''
+    # make sure the installed cmake file uses absolute paths for fontconfig
+    substituteInPlace adm/cmake/TKService/CMakeLists.txt \
+      --replace FONTCONFIG_LIBRARIES FONTCONFIG_LINK_LIBRARIES
+  '';
 
   meta = with stdenv.lib; {
     description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation";
-    homepage = http://www.opencascade.org/;
+    homepage = "https://github.com/tpaviot/oce";
     maintainers = [ maintainers.viric ];
     platforms = platforms.linux;
     license = licenses.lgpl21;