at 18.09-beta 52 lines 1.7 kB view raw
1{ stdenv, fetchurl, jdk, gmp, readline, openssl, libjpeg, unixODBC, zlib 2, libXinerama, libarchive, db, pcre, libedit, libossp_uuid, libXft, libXpm 3, libSM, libXt, freetype, pkgconfig, fontconfig, makeWrapper ? stdenv.isDarwin 4}: 5 6let 7 version = "7.6.4"; 8in 9stdenv.mkDerivation { 10 name = "swi-prolog-${version}"; 11 12 src = fetchurl { 13 url = "http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz"; 14 sha256 = "14bq4sqs61maqpnmgy6687jjj0shwc27cpfsqbf056nrssmplg9d"; 15 }; 16 17 buildInputs = [ jdk gmp readline openssl libjpeg unixODBC libXinerama 18 libarchive db pcre libedit libossp_uuid libXft libXpm libSM libXt 19 zlib freetype pkgconfig fontconfig ] 20 ++ stdenv.lib.optional stdenv.isDarwin makeWrapper; 21 22 hardeningDisable = [ "format" ]; 23 24 configureFlags = [ 25 "--with-world" 26 "--enable-gmp" 27 "--enable-shared" 28 ]; 29 30 buildFlags = "world"; 31 32 # For macOS: still not fixed in upstream: "abort trap 6" when called 33 # through symlink, so wrap binary. 34 # We reinvent wrapProgram here but omit argv0 pass in order to not 35 # break PAKCS package build. This is also safe for SWI-Prolog, since 36 # there is no wrapping environment and hence no need to spoof $0 37 postInstall = stdenv.lib.optionalString stdenv.isDarwin '' 38 local prog="$out/bin/swipl" 39 local hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped 40 mv $prog $hidden 41 makeWrapper $hidden $prog 42 ''; 43 44 meta = { 45 homepage = http://www.swi-prolog.org/; 46 description = "A Prolog compiler and interpreter"; 47 license = "LGPL"; 48 49 platforms = stdenv.lib.platforms.unix; 50 maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.meditans ]; 51 }; 52}