From c36f841ec7e88f02a7cde7ca5511b15e75849f61 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Sat, 15 Dec 2018 20:55:38 +0300 Subject: root5: fix build --- pkgs/applications/science/misc/root/5.nix | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'pkgs/applications/science/misc/root/5.nix') diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix index 1f0fc663647..871f5ece9cf 100644 --- a/pkgs/applications/science/misc/root/5.nix +++ b/pkgs/applications/science/misc/root/5.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, pcre, pkgconfig, python2 +{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2 , libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1 , Cocoa, OpenGL, cf-private, noSplash ? false }: @@ -19,11 +19,30 @@ stdenv.mkDerivation rec { patches = [ ./sw_vers_root5.patch + + (fetchpatch { + name = "enable_new_gcc.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/enable_new_gcc.patch?h=root5&id=91c50876081a0af36f84ec4f0f9dba869107fa4f"; + sha256 = "1rnp0xlw0yqi7mjs4w145njd79i8kkir1qik7zwicdik9axf8ygm"; + }) + + # prevents rootcint from looking in /usr/includes and such + ./purify_include_paths_root5.patch + + # disable dictionary generation for stuff that includes libc headers + # our glibc requires a modern compiler + ./disable_libc_dicts_root5.patch ]; preConfigure = '' patchShebangs build/unix/ ln -s ${stdenv.lib.getDev stdenv.cc.libc}/include/AvailabilityMacros.h cint/cint/include/ + '' + # Fix CINTSYSDIR for "build" version of rootcint + # This is probably a bug that breaks out-of-source builds + + '' + substituteInPlace cint/cint/src/loadfile.cxx\ + --replace 'env = "cint";' 'env = "'`pwd`'/cint";' '' + stdenv.lib.optionalString noSplash '' substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true" ''; @@ -73,8 +92,5 @@ stdenv.mkDerivation rec { description = "A data analysis framework"; platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; - # needs to be adapted to work with modern glibc - # it works on darwin by impurely picking up system's libc headers - broken = stdenv.isLinux; }; } -- cgit 1.4.1