odpic: enable on darwin

This commit is contained in:
Florian Klink 2018-06-08 02:45:56 +02:00 committed by Maciej Kazulak
parent a757aff839
commit f4434bef8b

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, libaio, oracle-instantclient }: { stdenv, fetchurl, fetchpatch, fixDarwinDylibNames, oracle-instantclient, libaio }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "odpic-${version}"; name = "odpic-${version}";
@ -9,24 +9,37 @@ stdenv.mkDerivation rec {
sha256 = "1z793mg8hmy067xhllip7ca84xy07ca1cqilnr35mbvhmydp03zz"; sha256 = "1z793mg8hmy067xhllip7ca84xy07ca1cqilnr35mbvhmydp03zz";
}; };
buildInputs = [ libaio oracle-instantclient ]; patches = [ (fetchpatch {
url = https://github.com/oracle/odpi/commit/31fdd70c06be711840a2668f572c7ee7c4434d18.patch;
sha256 = "1f00zp4w7l4vnkg0fmvnkga20ih8kjd5bxvr1nryziibjh1xp41j";
}) ];
nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin [ fixDarwinDylibNames ];
buildInputs = [ oracle-instantclient ]
++ stdenv.lib.optionals stdenv.isLinux [ libaio ];
libPath = stdenv.lib.makeLibraryPath libPath = stdenv.lib.makeLibraryPath
[ oracle-instantclient ]; [ oracle-instantclient ];
dontPatchELF = true; dontPatchELF = true;
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" "CC=cc" "LD=cc"];
postFixup = '' postFixup = ''
patchelf --set-rpath "${libPath}" $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary} ${stdenv.lib.optionalString (stdenv.isLinux) ''
''; patchelf --set-rpath "${libPath}" $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary}
''}
${stdenv.lib.optionalString (stdenv.isDarwin) ''
install_name_tool -add_rpath "${libPath}" $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary}
''}
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Oracle ODPI-C library"; description = "Oracle ODPI-C library";
homepage = "https://oracle.github.io/odpi/"; homepage = "https://oracle.github.io/odpi/";
maintainers = with maintainers; [ mkazulak ]; maintainers = with maintainers; [ mkazulak flokli ];
license = licenses.asl20; license = licenses.asl20;
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" "x86_64-darwin" ];
hydraPlatforms = []; hydraPlatforms = [];
}; };
} }