summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Gizdov2016-10-24 12:05:16 +0100
committerKonstantin Gizdov2016-10-24 12:05:16 +0100
commit348e89fa9e9af129faf0669908406a027041a774 (patch)
treeafd36a268094ffc8bf3ec31fab8b200f6feb01a1
parentc3eb3331d0cbd00ea7ffc9c0e9872fa17307ca4d (diff)
downloadaur-348e89fa9e9af129faf0669908406a027041a774.tar.gz
enable builds on GCC6
-rw-r--r--.SRCINFO11
-rw-r--r--PKGBUILD49
-rw-r--r--enable_gcc6.patch94
3 files changed, 129 insertions, 25 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7f80b74c98f4..d0d55656d587 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index ec556c183552..6f38dd93e8a1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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)),)