diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/CGAL')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/CGAL/4.nix | 50 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/CGAL/cgal_path.patch | 15 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/CGAL/default.nix | 36 |
3 files changed, 101 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/CGAL/4.nix b/nixpkgs/pkgs/development/libraries/CGAL/4.nix new file mode 100644 index 000000000000..a1d3c183b8e2 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/CGAL/4.nix @@ -0,0 +1,50 @@ +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, gmp, mpfr }: + +stdenv.mkDerivation rec { + version = "4.14.2"; + name = "cgal-" + version; + + src = fetchFromGitHub { + owner = "CGAL"; + repo = "releases"; + rev = "CGAL-${version}"; + sha256 = "1p1xyws2s9h2c8hlkz1af4ix48qma160av24by6lcm8al1g44pca"; + }; + + patches = [ + + # Pull upstream fix for c++17 (gcc-12): + # https://github.com/CGAL/cgal/pull/6109 + (fetchpatch { + name = "gcc-12-prereq.patch"; + url = "https://github.com/CGAL/cgal/commit/4581f1b7a8e97d1a136830e64b77cdae3546c4bf.patch"; + sha256 = "1gzrvbrwxylv80v0m3j2s1znlysmr69lp3ggagnh38lp6423i6pq"; + # Upstream slightly reordered directory structure since. + stripLen = 1; + # Fill patch does not apply: touches too many parts of the source. + includes = [ "include/CGAL/CORE/BigFloatRep.h" ]; + }) + (fetchpatch { + name = "gcc-12.patch"; + url = "https://github.com/CGAL/cgal/commit/6680a6e6f994b2c5b9f068eb3014d12ee1134d53.patch"; + sha256 = "1c0h1lh8zng60yx78qc8wx714b517mil8mac87v6xr21q0b11wk7"; + # Upstream slightly reordered directory structure since. + stripLen = 1; + }) + ]; + + # note: optional component libCGAL_ImageIO would need zlib and opengl; + # there are also libCGAL_Qt{3,4} omitted ATM + buildInputs = [ boost gmp mpfr ]; + nativeBuildInputs = [ cmake ]; + + doCheck = false; + + meta = with lib; { + description = "Computational Geometry Algorithms Library"; + homepage = "http://cgal.org"; + license = with licenses; [ gpl3Plus lgpl3Plus]; + platforms = platforms.all; + maintainers = [ maintainers.raskin ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/CGAL/cgal_path.patch b/nixpkgs/pkgs/development/libraries/CGAL/cgal_path.patch new file mode 100644 index 000000000000..68eec5fbb21f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/CGAL/cgal_path.patch @@ -0,0 +1,15 @@ +--- Installation/cmake/modules/CGALConfig_install.cmake.in.original 2019-07-10 10:39:12.377022659 -0700 ++++ Installation/cmake/modules/CGALConfig_install.cmake.in 2019-07-10 10:47:24.310154928 -0700 +@@ -45,9 +45,9 @@ + set(CGAL_SHARED_LINKER_FLAGS_DEBUG_INIT "@CMAKE_SHARED_LINKER_FLAGS_DEBUG@" ) + set(CGAL_BUILD_TYPE_INIT "@CMAKE_BUILD_TYPE@" ) + +-set(CGAL_INCLUDE_DIRS "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_INC_DIR@" ) +-set(CGAL_MODULES_DIR "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_CMAKE_DIR@" ) +-set(CGAL_LIBRARIES_DIR "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_LIB_DIR@" ) ++set(CGAL_INCLUDE_DIRS "@CGAL_INSTALL_INC_DIR@" ) ++set(CGAL_MODULES_DIR "@CGAL_INSTALL_CMAKE_DIR@" ) ++set(CGAL_LIBRARIES_DIR "@CGAL_INSTALL_LIB_DIR@" ) + + # If CGAL_ImageIO is built, tell if it was linked with Zlib. + set(CGAL_ImageIO_USE_ZLIB "@CGAL_ImageIO_USE_ZLIB@" ) diff --git a/nixpkgs/pkgs/development/libraries/CGAL/default.nix b/nixpkgs/pkgs/development/libraries/CGAL/default.nix new file mode 100644 index 000000000000..630ff8a6964f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/CGAL/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv +, fetchFromGitHub +, cmake +, boost +, gmp +, mpfr +}: + +stdenv.mkDerivation rec { + pname = "cgal"; + version = "5.3.1"; + + src = fetchFromGitHub { + owner = "CGAL"; + repo = "releases"; + rev = "CGAL-${version}"; + sha256 = "sha256-atILY/d2b99v0Kk226KwJ/qEcJnWBhtge52wkz6Bgcg="; + }; + + # note: optional component libCGAL_ImageIO would need zlib and opengl; + # there are also libCGAL_Qt{3,4} omitted ATM + buildInputs = [ boost gmp mpfr ]; + nativeBuildInputs = [ cmake ]; + + patches = [ ./cgal_path.patch ]; + + doCheck = false; + + meta = with lib; { + description = "Computational Geometry Algorithms Library"; + homepage = "http://cgal.org"; + license = with licenses; [ gpl3Plus lgpl3Plus]; + platforms = platforms.all; + maintainers = [ maintainers.raskin ]; + }; +} |