Merge #17861: root: add support for x86_64-darwin
This commit is contained in:
commit
66eb909fbf
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, fetchpatch, cmake, pkgconfig, python
|
||||
, libX11, libXpm, libXft, libXext, zlib, lzma, gsl }:
|
||||
{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python
|
||||
, libX11, libXpm, libXft, libXext, zlib, lzma, gsl, Cocoa }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "root-${version}";
|
||||
@ -10,13 +10,17 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "00f3v3l8nimfkcxpn9qpyh3h23na0mi4wkds2y5gwqh8wh3jryq9";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake pkgconfig python libX11 libXpm libXft libXext zlib lzma gsl ];
|
||||
buildInputs = [ cmake pcre pkgconfig python zlib lzma gsl ]
|
||||
++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext ]
|
||||
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa ]
|
||||
;
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/root-mirror/root/commit/ee9964210c56e7c1868618a4434c5340fef38fe4.patch";
|
||||
sha256 = "186i7ni75yvjydy6lpmaplqxfb5z2019bgpbhff1n6zn2qlrff2r";
|
||||
})
|
||||
./sw_vers.patch
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
@ -27,6 +31,33 @@ stdenv.mkDerivation rec {
|
||||
"-Drpath=ON"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
||||
"-Dalien=OFF"
|
||||
"-Dbonjour=OFF"
|
||||
"-Dcastor=OFF"
|
||||
"-Dchirp=OFF"
|
||||
"-Ddavix=OFF"
|
||||
"-Ddcache=OFF"
|
||||
"-Dfftw3=OFF"
|
||||
"-Dfitsio=OFF"
|
||||
"-Dfortran=OFF"
|
||||
"-Dgfal=OFF"
|
||||
"-Dgviz=OFF"
|
||||
"-Dhdfs=OFF"
|
||||
"-Dkrb5=OFF"
|
||||
"-Dldap=OFF"
|
||||
"-Dmonalisa=OFF"
|
||||
"-Dmysql=OFF"
|
||||
"-Dodbc=OFF"
|
||||
"-Dopengl=OFF"
|
||||
"-Doracle=OFF"
|
||||
"-Dpgsql=OFF"
|
||||
"-Dpythia6=OFF"
|
||||
"-Dpythia8=OFF"
|
||||
"-Drfio=OFF"
|
||||
"-Dsqlite=OFF"
|
||||
"-Dssl=OFF"
|
||||
"-Dxml=OFF"
|
||||
"-Dxrootd=OFF"
|
||||
]
|
||||
++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.lib.getDev stdenv.cc.libc}/include";
|
||||
|
||||
@ -35,6 +66,6 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
homepage = "https://root.cern.ch/";
|
||||
description = "A data analysis framework";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
90
pkgs/applications/science/misc/root/sw_vers.patch
Normal file
90
pkgs/applications/science/misc/root/sw_vers.patch
Normal file
@ -0,0 +1,90 @@
|
||||
diff --git a/build/unix/compiledata.sh b/build/unix/compiledata.sh
|
||||
--- a/build/unix/compiledata.sh
|
||||
+++ b/build/unix/compiledata.sh
|
||||
@@ -49,7 +49,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=7
|
||||
SOEXT="so"
|
||||
if [ $macosx_minor -ge 5 ]; then
|
||||
if [ "x`echo $SOFLAGS | grep -- '-install_name'`" != "x" ]; then
|
||||
diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake
|
||||
--- a/cmake/modules/SetUpMacOS.cmake
|
||||
+++ b/cmake/modules/SetUpMacOS.cmake
|
||||
@@ -12,25 +12,11 @@ set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /usr/X11R6)
|
||||
#---------------------------------------------------------------------------------------------------------
|
||||
|
||||
if (CMAKE_SYSTEM_NAME MATCHES Darwin)
|
||||
- EXECUTE_PROCESS(COMMAND sw_vers "-productVersion"
|
||||
- COMMAND cut -d . -f 1-2
|
||||
- OUTPUT_VARIABLE MACOSX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
- MESSAGE(STATUS "Found a Mac OS X System ${MACOSX_VERSION}")
|
||||
- EXECUTE_PROCESS(COMMAND sw_vers "-productVersion"
|
||||
- COMMAND cut -d . -f 2
|
||||
- OUTPUT_VARIABLE MACOSX_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
-
|
||||
- if(MACOSX_VERSION VERSION_GREATER 10.7 AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
|
||||
set(libcxx ON CACHE BOOL "Build using libc++" FORCE)
|
||||
- endif()
|
||||
|
||||
- if(${MACOSX_MINOR} GREATER 4)
|
||||
#TODO: check haveconfig and rpath -> set rpath true
|
||||
#TODO: check Thread, define link command
|
||||
#TODO: more stuff check configure script
|
||||
- execute_process(COMMAND /usr/sbin/sysctl machdep.cpu.extfeatures OUTPUT_VARIABLE SYSCTL_OUTPUT)
|
||||
- if(${SYSCTL_OUTPUT} MATCHES 64)
|
||||
- MESSAGE(STATUS "Found a 64bit system")
|
||||
set(ROOT_ARCHITECTURE macosx64)
|
||||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -m64")
|
||||
@@ -38,27 +24,6 @@ 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")
|
||||
- else(${SYSCTL_OUTPUT} MATCHES 64)
|
||||
- MESSAGE(STATUS "Found a 32bit system")
|
||||
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
|
||||
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
|
||||
- SET(CMAKE_FORTRAN_FLAGS "${CMAKE_FORTRAN_FLAGS} -m32")
|
||||
- endif(${SYSCTL_OUTPUT} MATCHES 64)
|
||||
- endif()
|
||||
-
|
||||
- if(MACOSX_VERSION VERSION_GREATER 10.6)
|
||||
- set(MACOSX_SSL_DEPRECATED ON)
|
||||
- endif()
|
||||
- if(MACOSX_VERSION VERSION_GREATER 10.7)
|
||||
- set(MACOSX_ODBC_DEPRECATED ON)
|
||||
- endif()
|
||||
- if(MACOSX_VERSION VERSION_GREATER 10.8)
|
||||
- set(MACOSX_GLU_DEPRECATED ON)
|
||||
- set(MACOSX_KRB5_DEPRECATED ON)
|
||||
- endif()
|
||||
- if(MACOSX_VERSION VERSION_GREATER 10.9)
|
||||
- set(MACOSX_LDAP_DEPRECATED ON)
|
||||
- endif()
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
message(STATUS "Found GNU compiler collection")
|
||||
@@ -135,7 +100,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin)
|
||||
endif()
|
||||
|
||||
#---Set Linker flags----------------------------------------------------------------------
|
||||
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mmacosx-version-min=${MACOSX_VERSION} -Wl,-rpath,@loader_path/../lib")
|
||||
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,@loader_path/../lib")
|
||||
|
||||
|
||||
else (CMAKE_SYSTEM_NAME MATCHES Darwin)
|
||||
diff --git a/config/root-config.in b/config/root-config.in
|
||||
--- a/config/root-config.in
|
||||
+++ b/config/root-config.in
|
||||
@@ -304,7 +304,7 @@ macosxicc)
|
||||
;;
|
||||
macosx64)
|
||||
# MacOS X with gcc (GNU cc v4.x) in 64 bit mode
|
||||
- macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
|
||||
+ macosx_minor=7
|
||||
# cannot find the one linked to libGraf if relocated after built
|
||||
if [ $macosx_minor -le 4 ]; then
|
||||
rootlibs="$rootlibs -lfreetype"
|
@ -17052,7 +17052,9 @@ in
|
||||
|
||||
megam = callPackage ../applications/science/misc/megam { };
|
||||
|
||||
root = callPackage ../applications/science/misc/root { };
|
||||
root = callPackage ../applications/science/misc/root {
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa;
|
||||
};
|
||||
|
||||
simgrid = callPackage ../applications/science/misc/simgrid { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user