diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 97d8d4e7cee..03b20697310 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -1,19 +1,20 @@ -{ stdenv, lib, fetchurl, makeWrapper, cmake, gl2ps, gsl, libX11, libXpm, libXft -, libXext, libGLU, libGL, libxml2, lz4, lzma, pcre, pkgconfig, python, xxHash -, zlib +{ stdenv, lib, fetchurl, makeWrapper, cmake, ftgl, gl2ps, glew, gsl, llvm_5 +, libX11, libXpm, libXft, libXext, libGLU, libGL, libxml2, lz4, lzma, pcre +, pkgconfig, python, xxHash, zlib, zstd +, libAfterImage, giflib, libjpeg, libtiff, libpng , Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { pname = "root"; - version = "6.18.04"; + version = "6.22.06"; src = fetchurl { url = "https://root.cern.ch/download/root_v${version}.source.tar.gz"; - sha256 = "196ghma6g5a7sqz52wyjkgvmh4hj4vqwppm0zwdypy33hgy8anii"; + sha256 = "0mqvj42nax0bmz8h83jjlwjm3xxjy1n0n10inc8csip9ly28fs64"; }; nativeBuildInputs = [ makeWrapper cmake pkgconfig ]; - buildInputs = [ gl2ps pcre zlib libxml2 lz4 lzma gsl xxHash python.pkgs.numpy ] + buildInputs = [ ftgl gl2ps glew pcre zlib zstd llvm_5 libxml2 lz4 lzma gsl xxHash libAfterImage giflib libjpeg libtiff libpng python.pkgs.numpy ] ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ] ++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; @@ -38,6 +39,7 @@ stdenv.mkDerivation rec { "-DCMAKE_INSTALL_INCLUDEDIR=include" "-Dalien=OFF" "-Dbonjour=OFF" + "-Dbuiltin_llvm=OFF" "-Dcastor=OFF" "-Dchirp=OFF" "-Dclad=OFF" @@ -69,7 +71,14 @@ stdenv.mkDerivation rec { "-Dxrootd=OFF" ] ++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.lib.getDev stdenv.cc.libc}/include" - ++ stdenv.lib.optional stdenv.isDarwin "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks"; + ++ stdenv.lib.optionals stdenv.isDarwin [ + "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" + "-DCMAKE_DISABLE_FIND_PACKAGE_Python2=TRUE" + + # fatal error: module map file '/nix/store/-Libsystem-osx-10.12.6/include/module.modulemap' not found + # fatal error: could not build module '_Builtin_intrinsics' + "-Druntime_cxxmodules=OFF" + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/science/misc/root/sw_vers.patch b/pkgs/applications/science/misc/root/sw_vers.patch index 34af132c11f..b2ee1b6a4ce 100644 --- a/pkgs/applications/science/misc/root/sw_vers.patch +++ b/pkgs/applications/science/misc/root/sw_vers.patch @@ -1,19 +1,7 @@ -diff a/build/unix/compiledata.sh b/build/unix/compiledata.sh ---- a/build/unix/compiledata.sh -+++ b/build/unix/compiledata.sh -@@ -47,7 +47,7 @@ fi - - if [ "$ARCH" = "macosx" ] || [ "$ARCH" = "macosx64" ] || \ - [ "$ARCH" = "macosxicc" ]; then -- macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2` -+ macosx_minor=12 - SOEXT="so" - if [ $macosx_minor -ge 5 ]; then - if [ "x`echo $SOFLAGS | grep -- '-install_name'`" != "x" ]; then diff a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake --- a/cmake/modules/SetUpMacOS.cmake +++ b/cmake/modules/SetUpMacOS.cmake -@@ -2,17 +2,8 @@ set(ROOT_ARCHITECTURE macosx) +@@ -8,17 +8,10 @@ set(ROOT_ARCHITECTURE macosx) set(ROOT_PLATFORM macosx) if (CMAKE_SYSTEM_NAME MATCHES Darwin) @@ -21,8 +9,8 @@ diff a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake - COMMAND cut -d . -f 1-2 - OUTPUT_VARIABLE MACOSX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - -- MESSAGE(STATUS "Found a Mac OS X System ${MACOSX_VERSION}") -- + MESSAGE(STATUS "Found a macOS system ${MACOSX_VERSION}") + - if(MACOSX_VERSION VERSION_GREATER 10.7 AND ${CMAKE_CXX_COMPILER_ID} MATCHES Clang) set(libcxx ON CACHE BOOL "Build using libc++" FORCE) - endif() @@ -31,7 +19,7 @@ diff a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake #TODO: check haveconfig and rpath -> set rpath true #TODO: check Thread, define link command #TODO: more stuff check configure script -@@ -25,23 +16,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin) +@@ -37,23 +30,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64") SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m64") @@ -56,7 +44,7 @@ diff a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake if (CMAKE_COMPILER_IS_GNUCXX) message(STATUS "Found GNU compiler collection") -@@ -104,7 +79,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin) +@@ -115,7 +92,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin) endif() #---Set Linker flags---------------------------------------------------------------------- @@ -67,33 +55,33 @@ diff a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake diff a/config/root-config.in b/config/root-config.in --- a/config/root-config.in +++ b/config/root-config.in -@@ -306,12 +306,6 @@ macosxicc) - auxlibs="-lm -ldl" +@@ -312,12 +312,6 @@ macosxicc) ;; - macosx64) -- # MacOS X with gcc (GNU cc v4.x) in 64 bit mode + macosx64|macosxarm64) + # MacOS X with gcc (GNU cc v4.x) in 64 bit mode +- macosx_major=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1 | sed -e 's/^[[:space:]]*//'` - macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2` - # cannot find the one linked to libGraf if relocated after built -- if [ $macosx_minor -le 4 ]; then +- if [ $macosx_major -eq 10 -a $macosx_minor -le 4 ]; then - rootlibs="$rootlibs -lfreetype" - fi auxcflags="${cxxversionflag} -m64" auxldflags="-m64" auxlibs="-lm -ldl" -@@ -375,18 +369,11 @@ freebsd* | openbsd* | linux*) +@@ -378,18 +372,11 @@ freebsd* | openbsd* | linux*) + done + ;; macosx*) +- if [ \( $macosx_major -eq 10 -a $macosx_minor -ge 5 \) -o $macosx_major -gt 10 ]; then + auxcflags="-pthread $auxcflags" + auxlibs="-lpthread $auxlibs" +- else +- auxcflags="-D_REENTRANT $auxcflags" +- auxlibs="-lpthread $auxlibs" +- fi for f in $features ; do - if test "x$f" = "xthread" ; then -- if [ $macosx_minor -ge 5 ]; then - auxcflags="-pthread $auxcflags" - auxlibs="-lpthread $auxlibs" -- else -- auxcflags="-D_REENTRANT $auxcflags" -- auxlibs="-lpthread $auxlibs" -- fi - fi if test "x$f" = "xrpath" ; then -- if [ $macosx_minor -ge 5 ]; then +- if [ \( $macosx_major -eq 10 -a $macosx_minor -ge 5 \) -o $macosx_major -gt 10 ]; then auxlibs="-Wl,-rpath,$libdir $auxlibs" - fi fi diff --git a/pkgs/development/libraries/glew/1.10.nix b/pkgs/development/libraries/glew/1.10.nix index 02737143e0d..139b93c039e 100644 --- a/pkgs/development/libraries/glew/1.10.nix +++ b/pkgs/development/libraries/glew/1.10.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libGLU, xlibsWrapper, libXmu, libXi -, AGL ? null +, AGL, OpenGL }: with stdenv.lib; @@ -12,9 +12,8 @@ stdenv.mkDerivation rec { sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r"; }; - buildInputs = [ xlibsWrapper libXmu libXi ] - ++ optionals stdenv.isDarwin [ AGL ]; - propagatedBuildInputs = [ libGLU ]; # GL/glew.h includes GL/glu.h + buildInputs = if stdenv.isDarwin then [ AGL ] else [ xlibsWrapper libXmu libXi ]; + propagatedBuildInputs = if stdenv.isDarwin then [ OpenGL ] else [ libGLU ]; # GL/glew.h includes GL/glu.h patchPhase = '' sed -i 's|lib64|lib|' config/Makefile.linux diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix index 80a7759c574..3b067e6d0f3 100644 --- a/pkgs/development/libraries/glew/default.nix +++ b/pkgs/development/libraries/glew/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, libGLU, xlibsWrapper, libXmu, libXi +, OpenGL }: with stdenv.lib; @@ -13,8 +14,8 @@ stdenv.mkDerivation rec { outputs = [ "bin" "out" "dev" "doc" ]; - buildInputs = [ xlibsWrapper libXmu libXi ]; - propagatedBuildInputs = [ libGLU ]; # GL/glew.h includes GL/glu.h + buildInputs = optionals (!stdenv.isDarwin) [ xlibsWrapper libXmu libXi ]; + propagatedBuildInputs = if stdenv.isDarwin then [ OpenGL ] else [ libGLU ]; # GL/glew.h includes GL/glu.h patchPhase = '' sed -i 's|lib64|lib|' config/Makefile.linux diff --git a/pkgs/development/libraries/libAfterImage/default.nix b/pkgs/development/libraries/libAfterImage/default.nix new file mode 100644 index 00000000000..8936603d18b --- /dev/null +++ b/pkgs/development/libraries/libAfterImage/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, zlib }: + +stdenv.mkDerivation { + pname = "libAfterImage"; + version = "1.20"; + + src = fetchurl { + name = "libAfterImage-1.20.tar.bz2"; + urls = [ + "https://sourceforge.net/projects/afterstep/files/libAfterImage/1.20/libAfterImage-1.20.tar.bz2/download" + "ftp://ftp.afterstep.org/stable/libAfterImage/libAfterImage-1.20.tar.bz2" + ]; + sha256 = "0n74rxidwig3yhr6fzxsk7y19n1nq1f296lzrvgj5pfiyi9k48vf"; + }; + + buildInputs = [ zlib ]; + + meta = with stdenv.lib; { + homepage = "http://www.afterstep.org/afterimage/"; + description = "A generic image manipulation library"; + platforms = platforms.unix; + maintainers = [ maintainers.veprbl ]; + license = licenses.lgpl21; + }; +} diff --git a/pkgs/development/libraries/physics/yoda/default.nix b/pkgs/development/libraries/physics/yoda/default.nix index 3a8fbbbdd52..39bffb65237 100644 --- a/pkgs/development/libraries/physics/yoda/default.nix +++ b/pkgs/development/libraries/physics/yoda/default.nix @@ -39,5 +39,7 @@ stdenv.mkDerivation rec { homepage = "https://yoda.hepforge.org"; platforms = stdenv.lib.platforms.unix; maintainers = with stdenv.lib.maintainers; [ veprbl ]; + # https://gitlab.com/hepcedar/yoda/-/issues/24 + broken = withRootSupport; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d0dc0a69fad..d698a901236 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13153,9 +13153,11 @@ in gle = callPackage ../development/libraries/gle { }; - glew = callPackage ../development/libraries/glew { }; + glew = callPackage ../development/libraries/glew { + inherit (darwin.apple_sdk.frameworks) OpenGL; + }; glew110 = callPackage ../development/libraries/glew/1.10.nix { - inherit (darwin.apple_sdk.frameworks) AGL; + inherit (darwin.apple_sdk.frameworks) AGL OpenGL; }; glfw = glfw3; @@ -13820,6 +13822,8 @@ in lib3mf = callPackage ../development/libraries/lib3mf { }; + libAfterImage = callPackage ../development/libraries/libAfterImage { }; + libaacs = callPackage ../development/libraries/libaacs { }; libaal = callPackage ../development/libraries/libaal { };