diff --git a/pkgs/development/libraries/cfitsio/darwin-curl-config.patch b/pkgs/development/libraries/cfitsio/darwin-curl-config.patch new file mode 100644 index 000000000000..77d8f719d778 --- /dev/null +++ b/pkgs/development/libraries/cfitsio/darwin-curl-config.patch @@ -0,0 +1,25 @@ +diff -ruN cfitsio/configure cfitsio-curl-config/configure +--- cfitsio/configure 2018-05-09 21:16:00.000000000 +0200 ++++ cfitsio-curl-config/configure 2018-05-30 13:28:58.000000000 +0200 +@@ -4783,13 +4783,6 @@ + CURL_LIB="" + CURL_INC="" + # Use curl-config to get compiler & linker flags, if available. +-# On Macs, prefer XCode curl-config, and reject MacPorts version +-# until further notice to prevent build errors: +-if test "x$EXT" = xdarwin -a -x /usr/bin/curl-config; then +- CURLCONFIG="/usr/bin/curl-config" +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for curl-config... choosing /usr/bin/curl-config on Mac" >&5 +-$as_echo "checking for curl-config... choosing /usr/bin/curl-config on Mac" >&6; } +-else + # Extract the first word of "curl-config", so it can be a program name with args. + set dummy curl-config; ac_word=$2 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +@@ -4833,7 +4826,6 @@ + fi + fi + fi +-fi + CURLCONFIG=$ac_cv_prog_CURLCONFIG + if test -n "$CURLCONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURLCONFIG" >&5 diff --git a/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch b/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch new file mode 100644 index 000000000000..af38abf329ea --- /dev/null +++ b/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch @@ -0,0 +1,21 @@ +diff -ruN cfitsio/configure cfitsio-rpath-universal/configure +--- cfitsio/configure 2018-05-09 21:16:00.000000000 +0200 ++++ cfitsio-rpath-universal/configure 2018-05-31 12:02:25.000000000 +0200 +@@ -4727,16 +4727,7 @@ + SHLIB_SUFFIX=".dylib" + CFITSIO_SHLIB="lib\${PACKAGE}.\${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}\${SHLIB_SUFFIX}" + CFITSIO_SHLIB_SONAME="lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX}" +- case $host in +- *darwin[56789]*) +- SHLIB_LD="$CC -dynamiclib -install_name lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}" +- ;; +- *) +- # Build 'Universal' binaries (i386 & x86_64 architectures) and +- # use rpath token on Darwin 10.x or newer: +- SHLIB_LD="$CC -dynamiclib $C_UNIV_SWITCH -headerpad_max_install_names -install_name @rpath/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}" +- ;; +- esac ++ SHLIB_LD="$CC -dynamiclib -install_name ${out}/lib/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}" + + lhea_shlib_cflags="-fPIC -fno-common" + ;; diff --git a/pkgs/development/libraries/cfitsio/default.nix b/pkgs/development/libraries/cfitsio/default.nix index ecf5fb1f02fd..a21158723be1 100644 --- a/pkgs/development/libraries/cfitsio/default.nix +++ b/pkgs/development/libraries/cfitsio/default.nix @@ -8,9 +8,11 @@ sha256 = "07fghxh5fl8nqk3q0dh8rvc83npnm0hisxzcj16a6r7gj5pmp40l"; }; + patches = [ ./darwin-curl-config.patch ./darwin-rpath-universal.patch ]; + # Shared-only build buildFlags = "shared"; - patchPhase = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in + postPatch = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in ''; meta = with stdenv.lib; { @@ -27,6 +29,6 @@ ''; # Permissive BSD-style license. license = "permissive"; - platforms = platforms.linux; + platforms = with platforms; linux ++ darwin; }; }