diff options
author | Konstantin Gizdov | 2016-10-24 12:05:16 +0100 |
---|---|---|
committer | Konstantin Gizdov | 2016-10-24 12:05:16 +0100 |
commit | 348e89fa9e9af129faf0669908406a027041a774 (patch) | |
tree | afd36a268094ffc8bf3ec31fab8b200f6feb01a1 | |
parent | c3eb3331d0cbd00ea7ffc9c0e9872fa17307ca4d (diff) | |
download | aur-348e89fa9e9af129faf0669908406a027041a774.tar.gz |
enable builds on GCC6
-rw-r--r-- | .SRCINFO | 11 | ||||
-rw-r--r-- | PKGBUILD | 49 | ||||
-rw-r--r-- | enable_gcc6.patch | 94 |
3 files changed, 129 insertions, 25 deletions
@@ -1,13 +1,13 @@ pkgbase = root5 pkgdesc = C++ data analysis framework and interpreter from CERN. pkgver = 5.34.36 - pkgrel = 1 + pkgrel = 2 url = http://root.cern.ch install = root.install arch = i686 arch = x86_64 license = LGPL2.1 - depends = desktop-file-utils + depends = cfitsio depends = fftw depends = ftgl depends = giflib @@ -20,18 +20,21 @@ pkgbase = root5 depends = unixodbc depends = shared-mime-info depends = xmlrpc-c - depends = xorg-fonts-75dpi - depends = gcc-fortran + depends = tex-gyre-fonts depends = libiodbc depends = gtk-update-icon-cache depends = libafterimage + optdepends = gcc-fortran: Enable the Fortran components of ROOT + optdepends = tcsh: Legacy CSH support conflicts = root options = !emptydirs source = https://root.cern.ch/download/root_v5.34.36.source.tar.gz + source = enable_gcc6.patch source = root.sh source = rootd source = root.xml md5sums = 6a1ad549b3b79b10bbb1f116b49067ee + md5sums = 886e0649f28ceb75ea4ba1beb1b6f83f md5sums = 0e883ad44f99da9bc7c23bc102800b62 md5sums = efd06bfa230cc2194b38e0c8939e72af md5sums = e2cf69b204192b5889ceb5b4dedc66f7 @@ -6,37 +6,41 @@ pkgname=root5 pkgver=5.34.36 -pkgrel=1 +pkgrel=2 pkgdesc='C++ data analysis framework and interpreter from CERN.' arch=('i686' 'x86_64') url='http://root.cern.ch' license=('LGPL2.1') conflicts=('root') -depends=('desktop-file-utils' - 'fftw' - 'ftgl' - 'giflib' - 'glew' - 'graphviz' - 'gsl' - 'libmysqlclient' - 'postgresql-libs' - 'python2' - 'unixodbc' - 'shared-mime-info' - 'xmlrpc-c' - 'xorg-fonts-75dpi' - 'gcc-fortran' - 'libiodbc' - 'gtk-update-icon-cache' - 'libafterimage') +depends=('cfitsio' + 'fftw' + 'ftgl' + 'giflib' + 'glew' + 'graphviz' + 'gsl' + 'libmysqlclient' + 'postgresql-libs' + 'python2' + 'unixodbc' + 'shared-mime-info' + 'xmlrpc-c' + 'tex-gyre-fonts' + 'libiodbc' + 'gtk-update-icon-cache' + 'libafterimage') +optdepends=('gcc-fortran: Enable the Fortran components of ROOT' + 'tcsh: Legacy CSH support' +) install='root.install' options=('!emptydirs') source=("https://root.cern.ch/download/root_v${pkgver}.source.tar.gz" + 'enable_gcc6.patch' 'root.sh' 'rootd' 'root.xml') md5sums=('6a1ad549b3b79b10bbb1f116b49067ee' + '886e0649f28ceb75ea4ba1beb1b6f83f' '0e883ad44f99da9bc7c23bc102800b62' 'efd06bfa230cc2194b38e0c8939e72af' 'e2cf69b204192b5889ceb5b4dedc66f7') @@ -67,11 +71,15 @@ build() { # Horid glibc hack sed -e 's/__USE_BSD/__USE_MISC/' -i core/base/src/TTimeStamp.cxx + ## https://sft.its.cern.ch/jira/browse/ROOT-8180 + patch -p1 < ${srcdir}/enable_gcc6.patch + local sys_libs="" - for sys_lib in ftgl freetype glew pcre zlib lzma; do + for sys_lib in afterimage ftgl freetype glew pcre zlib lzma; do sys_libs+="--disable-builtin-${sys_lib} " done + # --cxxflags="${CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0" \ # add after TARGET if needed ./configure \ ${TARGET} \ --prefix=/usr \ @@ -80,7 +88,6 @@ build() { --enable-minuit2 \ --enable-soversion \ --enable-roofit \ - --disable-builtin-afterimage \ --with-python-incdir=/usr/include/python2.7 \ --with-python-libdir=/usr/lib \ ${sys_libs} diff --git a/enable_gcc6.patch b/enable_gcc6.patch new file mode 100644 index 000000000000..21b6ef93da61 --- /dev/null +++ b/enable_gcc6.patch @@ -0,0 +1,94 @@ +diff -aur root/cint/cint/Module.mk root.new/cint/cint/Module.mk +--- root/cint/cint/Module.mk 2016-04-05 09:24:40.000000000 +0100 ++++ root.new/cint/cint/Module.mk 2016-10-22 14:46:25.969966034 +0100 +@@ -165,6 +165,10 @@ + CINTS2 := $(filter-out $(MODDIRSD)/libstrm.%,$(CINTS2)) + CINTS2 += $(MODDIRSD)/gcc4strm.cxx + endif ++ifeq ($(GCC_MAJOR),6) ++CINTS2 := $(filter-out $(MODDIRSD)/libstrm.%,$(CINTS2)) ++CINTS2 += $(MODDIRSD)/gcc4strm.cxx ++endif + ifneq ($(CLANG_MAJOR),) + CINTS2 := $(filter-out $(MODDIRSD)/libstrm.%,$(CINTS2)) + CINTS2 += $(MODDIRSD)/gcc4strm.cxx +@@ -207,6 +211,9 @@ + ifneq ($(CLANG_MAJOR),) + IOSENUMA := $(CINTDIRIOSEN)/iosenum.$(ARCH)3 + else ++ifeq ($(GCC_MAJOR),6) ++IOSENUMA := $(CINTDIRIOSEN)/iosenum.$(ARCH)3 ++else + ifeq ($(GCC_MAJOR),5) + IOSENUMA := $(CINTDIRIOSEN)/iosenum.$(ARCH)3 + else +@@ -221,6 +228,7 @@ + endif + endif + endif ++endif + + # used in the main Makefile + ALLHDRS += $(CINTHT) $(CINTINCLUDES) +@@ -355,7 +363,9 @@ + ifeq ($(GCC_MAJOR),5) + $(call stripsrc,$(CINTDIRSD)/gcc4strm.o): CINTCXXFLAGS += -Wno-strict-aliasing + endif +- ++ifeq ($(GCC_MAJOR),6) ++$(call stripsrc,$(CINTDIRSD)/gcc4strm.o): CINTCXXFLAGS += -Wno-strict-aliasing ++endif + + $(MAKECINTO) $(CINTO): $(CINTCONF) $(ORDER_) $(CINTINCLUDES) + +@@ -389,8 +399,12 @@ + ##### configcint.h + ifeq ($(CPPPREP),) + # cannot use "CPPPREP?=", as someone might set "CPPPREP=" ++ifeq ($(GCC_MAJOR),6) ++ CPPPREP = $(CXX) -std=c++98 -E -C ++else + CPPPREP = $(CXX) -E -C + endif ++endif + + include $(CINTCONFMK) + ##### configcint.h - END +diff -aur root/cmake/modules/SetUpLinux.cmake root.new/cmake/modules/SetUpLinux.cmake +--- root/cmake/modules/SetUpLinux.cmake 2016-04-05 09:24:40.000000000 +0100 ++++ root.new/cmake/modules/SetUpLinux.cmake 2016-10-22 14:49:59.101613728 +0100 +@@ -69,7 +69,11 @@ + set(CMAKE_C_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs") + + #Settings for cint +- set(CPPPREP "${CXX} -E -C") ++ if (GCC_MAJOR EQUAL 6) ++ set(CPPPREP "${CXX} -std=c++98 -E -C") ++ else() ++ set(CPPPREP "${CXX} -E -C") ++ endif() + set(CXXOUT "-o ") + set(EXPLICITLINK "no") #TODO + +diff -aur root/config/Makefile.linux root.new/config/Makefile.linux +--- root/config/Makefile.linux 2016-04-05 09:24:40.000000000 +0100 ++++ root.new/config/Makefile.linux 2016-10-22 14:52:13.482632996 +0100 +@@ -62,7 +62,6 @@ + else + F77LIBS := $(shell $(F77) -m32 -print-file-name=libgfortran.a) + endif +-F77LIBS += $(shell $(F77) -m32 -print-file-name=libgfortranbegin.a) + endif + + ifneq ($(findstring g77, $(F77)),) +diff -aur root/config/Makefile.linuxx8664gcc root.new/config/Makefile.linuxx8664gcc +--- root/config/Makefile.linuxx8664gcc 2016-04-05 09:24:40.000000000 +0100 ++++ root.new/config/Makefile.linuxx8664gcc 2016-10-22 14:51:31.352314764 +0100 +@@ -71,7 +71,6 @@ + else + F77LIBS := $(shell $(F77) -m64 -print-file-name=libgfortran.a) + endif +-F77LIBS += $(shell $(F77) -m64 -print-file-name=libgfortranbegin.a) + endif + + ifneq ($(findstring g77, $(F77)),) |