r-modules: Fix a number of popular R packages

The R V8 package still depends on V8 3.14 so this is also included.

authored by Hamish Mackenzie and committed by Domen Kožar 8870d1a6 43f94ff5

+188 -7
+86
pkgs/development/libraries/v8/3.14.nix
··· 1 + # This old version of V8 is still needed for the R V8 module 2 + { stdenv, callPackage, fetchFromGitHub, gyp, readline, python, which, icu, ... }: 3 + 4 + assert readline != null; 5 + 6 + with stdenv.lib; 7 + let 8 + version = "3.14.5.10"; 9 + sha256 = "08vhl84166x13b3cbx8y0g99yqx772zd33gawsa1nxqkyrykql6k"; 10 + 11 + arch = if stdenv.is64bit then "x64" else "ia32"; 12 + 13 + in 14 + stdenv.mkDerivation rec { 15 + name = "v8-${version}"; 16 + inherit version; 17 + 18 + src = fetchFromGitHub { 19 + owner = "v8"; 20 + repo = "v8"; 21 + rev = "${version}"; 22 + inherit sha256; 23 + }; 24 + patchPhase = '' 25 + sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' build/gyp_v8 26 + sed -i 's,#!/usr/bin/python,#!${python}/bin/python,' build/gyp_v8 27 + ''; 28 + 29 + configurePhase = '' 30 + PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \ 31 + PYTHONPATH="$(toPythonPath ${gyp}):$PYTHONPATH" \ 32 + build/gyp_v8 \ 33 + -f make \ 34 + --generator-output="out" \ 35 + -Dflock_index=0 \ 36 + -Dv8_enable_i18n_support=1 \ 37 + -Duse_system_icu=1 \ 38 + -Dconsole=readline \ 39 + -Dcomponent=shared_library \ 40 + -Dv8_target_arch=${arch} 41 + ''; 42 + 43 + nativeBuildInputs = [ which ]; 44 + buildInputs = [ readline python icu ]; 45 + 46 + # http://code.google.com/p/v8/issues/detail?id=2149 47 + NIX_CFLAGS_COMPILE = concatStringsSep " " [ 48 + "-Wno-error=strict-overflow" 49 + "-Wno-unused-local-typedefs" 50 + "-Wno-aggressive-loop-optimizations" 51 + ]; 52 + 53 + buildFlags = [ 54 + "LINK=g++" 55 + "-C out" 56 + "builddir=$(CURDIR)/Release" 57 + "BUILDTYPE=Release" 58 + ]; 59 + 60 + postPatch = stdenv.lib.optionalString (!stdenv.cc.isClang) '' 61 + sed -i build/standalone.gyp -e 's,-Wno-format-pedantic,,g' 62 + ''; 63 + 64 + enableParallelBuilding = true; 65 + 66 + installPhase = '' 67 + install -vD out/Release/d8 "$out/bin/d8" 68 + ${if stdenv.system == "x86_64-darwin" then '' 69 + install -vD out/Release/lib.target/libv8.dylib "$out/lib/libv8.dylib" 70 + '' else '' 71 + install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so" 72 + ''} 73 + cp -vr include "$out/" 74 + ''; 75 + 76 + postFixup = if stdenv.isDarwin then '' 77 + install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/bin/d8 78 + install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib 79 + '' else null; 80 + 81 + meta = with stdenv.lib; { 82 + description = "Google's open source JavaScript engine"; 83 + platforms = platforms.linux; 84 + license = licenses.bsd3; 85 + }; 86 + }
+95 -7
pkgs/development/r-modules/default.nix
··· 253 253 fftwtools = [ pkgs.fftw.dev ]; 254 254 Formula = [ pkgs.gmp ]; 255 255 geoCount = [ pkgs.gsl_1 ]; 256 + gdtools = [ pkgs.cairo.dev pkgs.fontconfig.lib pkgs.freetype.dev ]; 256 257 git2r = [ pkgs.zlib.dev pkgs.openssl.dev ]; 257 258 GLAD = [ pkgs.gsl_1 ]; 258 259 glpkAPI = [ pkgs.gmp pkgs.glpk ]; ··· 260 261 graphscan = [ pkgs.gsl_1 ]; 261 262 gsl = [ pkgs.gsl_1 ]; 262 263 h5 = [ pkgs.hdf5-cpp pkgs.which ]; 264 + haven = [ pkgs.libiconv ]; 263 265 h5vc = [ pkgs.zlib.dev ]; 264 266 HiCseg = [ pkgs.gsl_1 ]; 265 267 imager = [ pkgs.x11 ]; 266 268 iBMQ = [ pkgs.gsl_1 ]; 267 - igraph = [ pkgs.gmp ]; 269 + igraph = [ pkgs.gmp pkgs.libxml2.dev ]; 268 270 JavaGD = [ pkgs.jdk ]; 269 271 jpeg = [ pkgs.libjpeg.dev ]; 270 272 KFKSDS = [ pkgs.gsl_1 ]; 271 273 kza = [ pkgs.fftw.dev ]; 272 274 libamtrack = [ pkgs.gsl_1 ]; 275 + magick = [ pkgs.imagemagick.dev ]; 273 276 mixcat = [ pkgs.gsl_1 ]; 274 277 mvabund = [ pkgs.gsl_1 ]; 275 278 mwaved = [ pkgs.fftw.dev ]; 276 279 ncdf4 = [ pkgs.netcdf ]; 277 280 nloptr = [ pkgs.nlopt ]; 278 - openssl = [ pkgs.openssl.dev ]; 281 + odbc = [ pkgs.unixODBC ]; 282 + openssl = [ pkgs.openssl pkgs.openssl.dev ]; 279 283 outbreaker = [ pkgs.gsl_1 ]; 280 284 pander = [ pkgs.pandoc pkgs.which ]; 281 285 pbdMPI = [ pkgs.openmpi ]; 282 286 pbdNCDF4 = [ pkgs.netcdf ]; 283 287 pbdPROF = [ pkgs.openmpi ]; 284 288 pbdZMQ = [ pkgs.which ]; 289 + pdftools = [ pkgs.poppler.dev ]; 285 290 PKI = [ pkgs.openssl.dev ]; 286 291 png = [ pkgs.libpng.dev ]; 287 292 PopGenome = [ pkgs.zlib.dev ]; 288 293 proj4 = [ pkgs.proj ]; 294 + protolite = [ pkgs.protobuf ]; 289 295 qtbase = [ pkgs.qt4 ]; 290 296 qtpaint = [ pkgs.qt4 ]; 291 297 R2GUESS = [ pkgs.gsl_1 ]; ··· 293 299 RAppArmor = [ pkgs.libapparmor ]; 294 300 rapportools = [ pkgs.which ]; 295 301 rapport = [ pkgs.which ]; 302 + readxl = [ pkgs.libiconv ]; 296 303 rbamtools = [ pkgs.zlib.dev ]; 297 304 rcdd = [ pkgs.gmp.dev ]; 298 305 RcppCNPy = [ pkgs.zlib.dev ]; ··· 315 322 rmatio = [ pkgs.zlib.dev ]; 316 323 Rmpfr = [ pkgs.gmp pkgs.mpfr.dev ]; 317 324 Rmpi = [ pkgs.openmpi ]; 318 - RMySQL = [ pkgs.zlib pkgs.mysql.lib ]; 325 + RMySQL = [ pkgs.zlib pkgs.mysql.lib pkgs.mariadb pkgs.openssl.dev ]; 319 326 RNetCDF = [ pkgs.netcdf pkgs.udunits ]; 320 327 RODBCext = [ pkgs.libiodbc ]; 321 328 RODBC = [ pkgs.libiodbc ]; 329 + rpanel = [ pkgs.bwidget ]; 322 330 rpg = [ pkgs.postgresql ]; 323 331 rphast = [ pkgs.pcre.dev pkgs.zlib pkgs.bzip2 pkgs.gzip pkgs.readline ]; 324 332 Rpoppler = [ pkgs.poppler ]; 325 - RPostgreSQL = [ pkgs.postgresql ]; 333 + RPostgreSQL = [ pkgs.postgresql pkgs.postgresql ]; 326 334 RProtoBuf = [ pkgs.protobuf ]; 327 335 rPython = [ pkgs.python ]; 328 336 RSclient = [ pkgs.openssl.dev ]; ··· 331 339 rtfbs = [ pkgs.zlib pkgs.pcre.dev pkgs.bzip2 pkgs.gzip pkgs.readline ]; 332 340 rtiff = [ pkgs.libtiff.dev ]; 333 341 runjags = [ pkgs.jags ]; 342 + RSymphony = [ pkgs.symphony ]; 334 343 RVowpalWabbit = [ pkgs.zlib.dev pkgs.boost ]; 335 344 rzmq = [ pkgs.zeromq3 ]; 336 345 SAVE = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre ]; ··· 338 347 seewave = [ pkgs.fftw.dev pkgs.libsndfile.dev ]; 339 348 seqinr = [ pkgs.zlib.dev ]; 340 349 seqminer = [ pkgs.zlib.dev pkgs.bzip2 ]; 350 + sf = [ pkgs.gdal pkgs.proj pkgs.geos ]; 341 351 showtext = [ pkgs.zlib pkgs.libpng pkgs.icu pkgs.freetype.dev ]; 342 352 simplexreg = [ pkgs.gsl_1 ]; 343 353 SOD = [ pkgs.opencl-headers ]; ··· 349 359 survSNP = [ pkgs.gsl_1 ]; 350 360 sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ]; 351 361 TAQMNGR = [ pkgs.zlib.dev ]; 362 + tesseract = [ pkgs.tesseract pkgs.leptonica ]; 352 363 tiff = [ pkgs.libtiff.dev ]; 353 364 TKF = [ pkgs.gsl_1 ]; 354 365 tkrplot = [ pkgs.xorg.libX11 pkgs.tk.dev ]; 355 366 topicmodels = [ pkgs.gsl_1 ]; 356 367 udunits2 = [ pkgs.udunits pkgs.expat ]; 357 - V8 = [ pkgs.v8 ]; 368 + V8 = [ pkgs.v8_3_14 ]; 358 369 VBLPCM = [ pkgs.gsl_1 ]; 359 370 VBmix = [ pkgs.gsl_1 pkgs.fftw pkgs.qt4 ]; 360 371 WhopGenome = [ pkgs.zlib.dev ]; ··· 401 412 chebpol = [ pkgs.pkgconfig ]; 402 413 fftw = [ pkgs.pkgconfig ]; 403 414 geoCount = [ pkgs.pkgconfig ]; 415 + gdtools = [ pkgs.pkgconfig ]; 404 416 kza = [ pkgs.pkgconfig ]; 417 + magick = [ pkgs.pkgconfig ]; 405 418 mwaved = [ pkgs.pkgconfig ]; 419 + odbc = [ pkgs.pkgconfig ]; 420 + openssl = [ pkgs.pkgconfig ]; 421 + pdftools = [ pkgs.pkgconfig ]; 422 + sf = [ pkgs.pkgconfig ]; 406 423 showtext = [ pkgs.pkgconfig ]; 407 424 spate = [ pkgs.pkgconfig ]; 408 425 stringi = [ pkgs.pkgconfig ]; 426 + sys = [ pkgs.libapparmor ]; 409 427 sysfonts = [ pkgs.pkgconfig ]; 428 + tesseract = [ pkgs.pkgconfig ]; 410 429 Cairo = [ pkgs.pkgconfig ]; 411 430 Rsymphony = [ pkgs.pkgconfig pkgs.doxygen pkgs.graphviz pkgs.subversion ]; 412 431 qtutils = [ pkgs.qt4 ]; ··· 782 801 }); 783 802 784 803 RMySQL = old.RMySQL.overrideDerivation (attrs: { 785 - patches = [ ./patches/RMySQL.patch ]; 786 804 MYSQL_DIR="${pkgs.mysql.lib}"; 805 + preConfigure = '' 806 + patchShebangs configure 807 + ''; 787 808 }); 788 809 789 810 devEMF = old.devEMF.overrideDerivation (attrs: { ··· 818 839 819 840 openssl = old.openssl.overrideDerivation (attrs: { 820 841 OPENSSL_INCLUDES = "${pkgs.openssl.dev}/include"; 842 + preConfigure = '' 843 + sed -i.bak 's|^\( *PKG_LIBS_VERSIONED=\).*$|\1$PKG_LIBS|' configure 844 + ''; 821 845 }); 822 846 823 847 Rserve = old.Rserve.overrideDerivation (attrs: { ··· 835 859 }); 836 860 837 861 V8 = old.V8.overrideDerivation (attrs: { 838 - preConfigure = "export V8_INCLUDES=${pkgs.v8}/include"; 862 + preConfigure = '' 863 + export INCLUDE_DIR=${pkgs.v8_3_14}/include 864 + export LIB_DIR=${pkgs.v8_3_14}/lib 865 + patchShebangs configure 866 + ''; 867 + }); 868 + 869 + acs = old.acs.overrideDerivation (attrs: { 870 + preConfigure = '' 871 + patchShebangs configure 872 + ''; 873 + }); 874 + 875 + gdtools = old.gdtools.overrideDerivation (attrs: { 876 + preConfigure = '' 877 + patchShebangs configure 878 + ''; 879 + NIX_LDFLAGS = "-lfontconfig -lfreetype"; 880 + }); 881 + 882 + magick = old.magick.overrideDerivation (attrs: { 883 + preConfigure = '' 884 + patchShebangs configure 885 + ''; 886 + }); 887 + 888 + protolite = old.protolite.overrideDerivation (attrs: { 889 + preConfigure = '' 890 + patchShebangs configure 891 + ''; 892 + }); 893 + 894 + rpanel = old.rpanel.overrideDerivation (attrs: { 895 + preConfigure = '' 896 + export TCLLIBPATH="${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}" 897 + ''; 898 + TCLLIBPATH = "${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}"; 899 + }); 900 + 901 + OpenMx = old.OpenMx.overrideDerivation (attrs: { 902 + preConfigure = '' 903 + patchShebangs configure 904 + ''; 905 + }); 906 + 907 + odbc = old.odbc.overrideDerivation (attrs: { 908 + preConfigure = '' 909 + patchShebangs configure 910 + ''; 911 + }); 912 + 913 + x13binary = old.x13binary.overrideDerivation (attrs: { 914 + preConfigure = '' 915 + patchShebangs configure 916 + ''; 917 + }); 918 + 919 + geojsonio = old.geojsonio.overrideDerivation (attrs: { 920 + preConfigure = '' 921 + export SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt 922 + ''; 923 + }); 924 + 925 + rstan = old.rstan.overrideDerivation (attrs: { 926 + NIX_CFLAGS_COMPILE = "${attrs.NIX_CFLAGS_COMPILE} -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION"; 839 927 }); 840 928 841 929 };
+7
pkgs/top-level/all-packages.nix
··· 10858 10858 gnutls = gnutls; 10859 10859 }); 10860 10860 10861 + # 3.14 is needed for R V8 module in ../development/r-modules/default.nix 10862 + v8_3_14 = callPackage ../development/libraries/v8/3.14.nix { 10863 + inherit (python2Packages) python gyp; 10864 + cctools = darwin.cctools; 10865 + stdenv = overrideCC stdenv gcc5; 10866 + }; 10867 + 10861 10868 v8_3_16_14 = callPackage ../development/libraries/v8/3.16.14.nix { 10862 10869 inherit (python2Packages) python gyp; 10863 10870 cctools = darwin.cctools;