summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO61
-rw-r--r--PKGBUILD114
-rw-r--r--call_PyErr_Clear_if_no_such_attribute.patch16
-rw-r--r--disable-gcc-abi-check.diff19
-rw-r--r--param.diff10
-rw-r--r--python3.diff33
-rw-r--r--root.install25
-rw-r--r--root.sh5
-rw-r--r--root.xml11
-rw-r--r--rootd37
-rw-r--r--settings.cmake52
11 files changed, 383 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..666ac7bd05e5
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,61 @@
+pkgbase = root-extra
+ pkgdesc = C++ data analysis framework and interpreter from CERN with extra features enabled.
+ pkgver = 6.06.06
+ pkgrel = 1
+ url = http://root.cern.ch
+ install = root.install
+ arch = i686
+ arch = x86_64
+ license = LGPL2.1
+ makedepends = cmake
+ depends = cfitsio
+ depends = desktop-file-utils
+ depends = fftw
+ depends = ftgl
+ depends = gcc-fortran
+ depends = glew
+ depends = graphviz
+ depends = gsl
+ depends = gtk-update-icon-cache
+ depends = intel-tbb
+ depends = libafterimage
+ depends = libiodbc
+ depends = libmysqlclient
+ depends = postgresql-libs
+ depends = pythia
+ depends = python
+ depends = shared-mime-info
+ depends = sqlite
+ depends = tex-gyre-fonts
+ depends = unixodbc
+ depends = xmlrpc-c
+ provides = root
+ conflicts = root
+ options = !emptydirs
+ source = https://root.cern.ch/download/root_v6.06.06.source.tar.gz
+ source = call_PyErr_Clear_if_no_such_attribute.patch
+ source = disable-gcc-abi-check.diff
+ source = python3.diff
+ source = root.sh
+ source = root.xml
+ source = rootd
+ source = settings.cmake
+ md5sums = 4308449892210c8d36e36924261fea26
+ md5sums = f36f7bff97ed7232d8534c2ef166b2bf
+ md5sums = 89d3caaa1d73a623c56a42f21dfdd669
+ md5sums = e1f1eb398dec2a66bb790ef277b3ab91
+ md5sums = 0e883ad44f99da9bc7c23bc102800b62
+ md5sums = e2cf69b204192b5889ceb5b4dedc66f7
+ md5sums = efd06bfa230cc2194b38e0c8939e72af
+ md5sums = 2904c221a5f719f74b0b326650f60746
+ sha256sums = 0a7d702a130a260c72cb6ea754359eaee49a8c4531b31f23de0bfcafe3ce466b
+ sha256sums = 437ed0fb2c46d5ca8e37cc689f87dfe12429f6a243d4e5cf2d395a177de7e90f
+ sha256sums = d9fea8991d42a78cd694f9798615274e96a185cbbd6608b4b80c76d5e43982a6
+ sha256sums = 51dbcf86d9973e7b7204fc20ff0c3c3aacea01ee126e14e2fb3c9f33825cc558
+ sha256sums = 71ed39f7e5a605a6a02e3d0ba79c997b8e7f02551898c27112eb78f07d9d8244
+ sha256sums = b103d46705883590d9e07aafb890ec1150f63dc2ca5f40d67e6ebef49a6d0a32
+ sha256sums = 6a4ef7b32710d414ee47d16310b77b95e4cf1d3550209cf8a41d38a945d05e5f
+ sha256sums = c6d475cbd10469b97eb8a9f4e45dc5d5f23042652cb2e3e1239e96a01e9d2d6e
+
+pkgname = root-extra
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6c64d1b139cf
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,114 @@
+# Maintainer: Konstantin Gizdov <arch@kge.pw>
+# Contributor: Frank Siegert <frank.siegert@googlemail.com>
+# Contributor: Scott Lawrence <bytbox@gmail.com>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Sebastian Voecking <voeck@web.de>
+
+pkgname=root-extra
+pkgver=6.06.06
+pkgrel=1
+provides=('root')
+conflicts=('root')
+pkgdesc='C++ data analysis framework and interpreter from CERN with extra features enabled.'
+arch=('i686' 'x86_64')
+url='http://root.cern.ch'
+license=('LGPL2.1')
+makedepends=('cmake')
+depends=('cfitsio'
+'desktop-file-utils'
+'fftw'
+'ftgl'
+'gcc-fortran'
+'glew'
+'graphviz'
+'gsl'
+'gtk-update-icon-cache'
+'intel-tbb'
+'libafterimage'
+'libiodbc'
+'libmysqlclient'
+'postgresql-libs'
+'pythia'
+'python'
+'shared-mime-info'
+'sqlite'
+'tex-gyre-fonts' # solve the pixelized font problem as per Arch Wiki
+'unixodbc'
+'xmlrpc-c'
+)
+install='root.install'
+options=('!emptydirs')
+source=("https://root.cern.ch/download/root_v${pkgver}.source.tar.gz"
+'call_PyErr_Clear_if_no_such_attribute.patch'
+'disable-gcc-abi-check.diff'
+'python3.diff'
+'root.sh'
+'root.xml'
+'rootd'
+'settings.cmake')
+md5sums=('4308449892210c8d36e36924261fea26'
+ 'f36f7bff97ed7232d8534c2ef166b2bf'
+ '89d3caaa1d73a623c56a42f21dfdd669'
+ 'e1f1eb398dec2a66bb790ef277b3ab91'
+ '0e883ad44f99da9bc7c23bc102800b62'
+ 'e2cf69b204192b5889ceb5b4dedc66f7'
+ 'efd06bfa230cc2194b38e0c8939e72af'
+ '2904c221a5f719f74b0b326650f60746')
+sha256sums=('0a7d702a130a260c72cb6ea754359eaee49a8c4531b31f23de0bfcafe3ce466b'
+ '437ed0fb2c46d5ca8e37cc689f87dfe12429f6a243d4e5cf2d395a177de7e90f'
+ 'd9fea8991d42a78cd694f9798615274e96a185cbbd6608b4b80c76d5e43982a6'
+ '51dbcf86d9973e7b7204fc20ff0c3c3aacea01ee126e14e2fb3c9f33825cc558'
+ '71ed39f7e5a605a6a02e3d0ba79c997b8e7f02551898c27112eb78f07d9d8244'
+ 'b103d46705883590d9e07aafb890ec1150f63dc2ca5f40d67e6ebef49a6d0a32'
+ '6a4ef7b32710d414ee47d16310b77b95e4cf1d3550209cf8a41d38a945d05e5f'
+ 'c6d475cbd10469b97eb8a9f4e45dc5d5f23042652cb2e3e1239e96a01e9d2d6e')
+prepare(){
+ ## https://sft.its.cern.ch/jira/browse/ROOT-6924
+ cd ${pkgname}-${pkgver}
+
+ patch -p1 < ${srcdir}/python3.diff
+ 2to3 -w etc/dictpch/makepch.py 2>&1 > /dev/null
+
+ ## https://sft.its.cern.ch/jira/browse/ROOT-7640
+ patch -p1 < ${srcdir}/call_PyErr_Clear_if_no_such_attribute.patch
+
+ ## disable check newly introduced in 6.06.06
+ patch -p1 < ${srcdir}/disable-gcc-abi-check.diff
+}
+
+build() {
+ [ -d ${srcdir}/build ] || mkdir ${srcdir}/build
+ cd ${srcdir}/build
+
+ cmake -C ${srcdir}/settings.cmake ${srcdir}/${pkgname}-${pkgver}
+
+ make ${MAKEFLAGS}
+}
+
+package() {
+ cd ${srcdir}/build
+
+ make DESTDIR=${pkgdir} install
+
+ install -D ${srcdir}/root.sh \
+ ${pkgdir}/etc/profile.d/root.sh
+ install -D ${srcdir}/rootd \
+ ${pkgdir}/etc/rc.d/rootd
+ install -D -m644 ${srcdir}/root.xml \
+ ${pkgdir}/usr/share/mime/packages/root.xml
+
+ install -D -m644 ${srcdir}/${pkgname}-${pkgver}/build/package/debian/root-system-bin.desktop.in \
+ ${pkgdir}/usr/share/applications/root-system-bin.desktop
+ # replace @prefix@ with /usr for the desktop
+ sed -e 's_@prefix@_/usr_' -i ${pkgdir}/usr/share/applications/root-system-bin.desktop
+
+ install -D -m644 ${srcdir}/${pkgname}-${pkgver}/build/package/debian/root-system-bin.png \
+ ${pkgdir}/usr/share/icons/hicolor/48x48/apps/root-system-bin.png
+
+ # use a file that pacman can track instead of adding directly to ld.so.conf
+ install -d ${pkgdir}/etc/ld.so.conf.d
+ echo '/usr/lib/root' > ${pkgdir}/etc/ld.so.conf.d/root.conf
+
+ rm -rf ${pkgdir}/etc/root/daemons
+}
+
diff --git a/call_PyErr_Clear_if_no_such_attribute.patch b/call_PyErr_Clear_if_no_such_attribute.patch
new file mode 100644
index 000000000000..c1c401562a01
--- /dev/null
+++ b/call_PyErr_Clear_if_no_such_attribute.patch
@@ -0,0 +1,16 @@
+diff --git a/bindings/pyroot/src/Utility.cxx b/bindings/pyroot/src/Utility.cxx
+index ffeae8e..d3ba063 100644
+--- a/bindings/pyroot/src/Utility.cxx
++++ b/bindings/pyroot/src/Utility.cxx
+@@ -219,8 +219,10 @@ Bool_t PyROOT::Utility::AddToClass(
+ Bool_t PyROOT::Utility::AddToClass( PyObject* pyclass, const char* label, const char* func )
+ {
+ PyObject* pyfunc = PyObject_GetAttrString( pyclass, const_cast< char* >( func ) );
+- if ( ! pyfunc )
++ if ( ! pyfunc ) {
++ PyErr_Clear();
+ return kFALSE;
++ }
+
+ Bool_t isOk = PyObject_SetAttrString( pyclass, const_cast< char* >( label ), pyfunc ) == 0;
+
diff --git a/disable-gcc-abi-check.diff b/disable-gcc-abi-check.diff
new file mode 100644
index 000000000000..3d0300d4f1a8
--- /dev/null
+++ b/disable-gcc-abi-check.diff
@@ -0,0 +1,19 @@
+diff -rupN {old,root-*}/cmake/modules/CheckCompiler.cmake
+--- old/cmake/modules/CheckCompiler.cmake 2016-07-06 18:36:49.000000000 +0200
++++ root-6.06.06/cmake/modules/CheckCompiler.cmake 2016-08-05 14:28:00.218968142 +0200
+@@ -51,15 +51,6 @@ if (CMAKE_COMPILER_IS_GNUCXX)
+ endif()
+ message(STATUS "Found GCC. Major version ${GCC_MAJOR}, minor version ${GCC_MINOR}")
+ set(COMPILER_VERSION gcc${GCC_MAJOR}${GCC_MINOR}${GCC_PATCH})
+- CHECK_CXX_SOURCE_COMPILES("
+- #include <string>
+- #if _GLIBCXX_USE_CXX11_ABI
+- #error \"cling does not support GCC 5 ABI.\"
+- #endif
+- int main() {}" CXX_SUPPORTS_OLD_ABI)
+- if(NOT CXX_SUPPORTS_OLD_ABI)
+- message(FATAL_ERROR "Found GCC compiler with new ABI. Cling does not support the GCC 5 ABI yet")
+- endif()
+ else()
+ set(GCC_MAJOR 0)
+ set(GCC_MINOR 0)
diff --git a/param.diff b/param.diff
new file mode 100644
index 000000000000..e2ae611d289e
--- /dev/null
+++ b/param.diff
@@ -0,0 +1,10 @@
+diff --git a/core/utils/src/rootcling.cxx b/core/utils/src/rootcling.cxx
+index 324578c..6b0c38e 100644
+--- a/core/utils/src/rootcling.cxx
++++ b/core/utils/src/rootcling.cxx
+@@ -3739,4 +3739,4 @@ int ShouldIgnoreClingArgument(const std::string& argument)
+- if (ROOT::TMetaUtils::BeginsWith(argument,"--")) return false;
++ if (ROOT::TMetaUtils::BeginsWith(argument,"--") and !ROOT::TMetaUtils::BeginsWith(argument,"--param")) return false;
+ return true;
+ }
+
diff --git a/python3.diff b/python3.diff
new file mode 100644
index 000000000000..34ad10dfab17
--- /dev/null
+++ b/python3.diff
@@ -0,0 +1,33 @@
+diff -rupN old/tmva/pymva/inc/TMVA/PyMethodBase.h root-6.06.06/tmva/pymva/inc/TMVA/PyMethodBase.h
+--- old/tmva/pymva/inc/TMVA/PyMethodBase.h 2016-07-06 18:36:49.000000000 +0200
++++ root-6.06.06/tmva/pymva/inc/TMVA/PyMethodBase.h 2016-08-05 13:56:31.839179271 +0200
+@@ -81,7 +81,7 @@ namespace TMVA {
+ // default destructur
+ virtual ~PyMethodBase();
+ //basic python related function
+- static void PyInitialize();
++ static void *PyInitialize();
+ static int PyIsInitialized();
+ static void PyFinalize();
+ static void PySetProgramName(TString name);
+diff -rupN old/tmva/pymva/src/PyMethodBase.cxx root-6.06.06/tmva/pymva/src/PyMethodBase.cxx
+--- old/tmva/pymva/src/PyMethodBase.cxx 2016-07-06 18:36:49.000000000 +0200
++++ root-6.06.06/tmva/pymva/src/PyMethodBase.cxx 2016-08-05 14:07:21.225701275 +0200
+@@ -82,7 +82,7 @@ PyObject *PyMethodBase::Eval(TString cod
+ }
+
+ //_______________________________________________________________________
+-void PyMethodBase::PyInitialize()
++void *PyMethodBase::PyInitialize()
+ {
+ TMVA::MsgLogger Log;
+ if (!PyIsInitialized()) {
+@@ -149,7 +149,7 @@ void PyMethodBase::PyInitialize()
+ Py_DECREF(pName);
+ Py_DECREF(pDict);
+
+-
++ return NULL;
+ }
+
+ //_______________________________________________________________________
diff --git a/root.install b/root.install
new file mode 100644
index 000000000000..afabb7aea55d
--- /dev/null
+++ b/root.install
@@ -0,0 +1,25 @@
+post_install() {
+ update-desktop-database >/dev/null
+
+ update-mime-database /usr/share/mime >/dev/null
+
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_remove() {
+ # leave for pre 5.30.03-3
+ if [[ $(vercmp $1 5.30.03-3) == -1 ]]; then
+ cat etc/ld.so.conf | grep -v '/usr/lib/root' >/tmp/.pacroot
+ mv /tmp/.pacroot etc/ld.so.conf
+ chmod 644 etc/ld.so.conf
+ sbin/ldconfig -r .
+ fi
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/root.sh b/root.sh
new file mode 100644
index 000000000000..685e6036bc3a
--- /dev/null
+++ b/root.sh
@@ -0,0 +1,5 @@
+if [ $PYTHONPATH ]; then
+ export PYTHONPATH=$PYTHONPATH:/usr/lib/root;
+else
+ export PYTHONPATH=/usr/lib/root;
+fi
diff --git a/root.xml b/root.xml
new file mode 100644
index 000000000000..af8dd69c5891
--- /dev/null
+++ b/root.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+ <mime-type type="application/x-root">
+ <comment>ROOT file</comment>
+ <comment xml:lang="de">ROOT-Datei</comment>
+ <glob pattern="*.root"/>
+ <magic priority="80">
+ <match value="root" type="string" offset="0:64"/>
+ </magic>
+ </mime-type>
+</mime-info>
diff --git a/rootd b/rootd
new file mode 100644
index 000000000000..fb2c3388ca24
--- /dev/null
+++ b/rootd
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/rootd`
+case "$1" in
+ start)
+ stat_busy "Starting ROOT file server daemon"
+ [ -z "$PID" ] && /usr/bin/rootd >>/var/log/root.log 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=`pidof -o %PPID /usr/sbin/rootd`
+ echo $PID >/var/run/rootd.pid
+ add_daemon rootd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping ROOT file server daemon"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon rootd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/settings.cmake b/settings.cmake
new file mode 100644
index 000000000000..c3259236125f
--- /dev/null
+++ b/settings.cmake
@@ -0,0 +1,52 @@
+set (CMAKE_BUILD_TYPE Release CACHE STRING "" FORCE)
+set (CMAKE_C_FLAGS "-pthread -pipe -fstack-protector-strong -O2 -march=native -mtune=native" CACHE STRING "" FORCE)
+set (CMAKE_CXX_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0 -pthread -pipe -fstack-protector-strong -O2 -march=native" CACHE STRING "" FORCE)
+set (CMAKE_SHARED_LINKER_FLAGS "-pthread -Wl,--no-undefined" CACHE STRING "" FORCE)
+set (BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) # this option is currently incompatible
+set (CMAKE_INSTALL_PREFIX /usr CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_SYSCONFDIR /etc CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_DATAROOTDIR /usr/share CACHE PATH "" FORCE)
+set (LLVM_ENABLE_THREADS ON CACHE BOOL "" FORCE) # try to workaround pthread issue
+set (asimage ON CACHE BOOL "" FORCE)
+set (builtin_afterimage OFF CACHE BOOL "" FORCE)
+set (builtin_ftgl OFF CACHE BOOL "" FORCE)
+set (builtin_freetype OFF CACHE BOOL "" FORCE)
+set (builtin_glew OFF CACHE BOOL "" FORCE)
+set (builtin_pcre OFF CACHE BOOL "" FORCE)
+set (builtin_zlib OFF CACHE BOOL "" FORCE)
+set (builtin_lzma OFF CACHE BOOL "" FORCE)
+set (builtin_llvm ON CACHE BOOL "" FORCE)
+set (builtin_tbb OFF CACHE BOOL "" FORCE)
+set (castor OFF CACHE BOOL "" FORCE)
+set (chirp OFF CACHE BOOL "" FORCE)
+set (cling ON CACHE BOOL "" FORCE)
+set (cxx11 ON CACHE BOOL "" FORCE)
+set (davix OFF CACHE BOOL "" FORCE)
+set (dcache OFF CACHE BOOL "" FORCE)
+set (fail-on-missing ON CACHE BOOL "" FORCE)
+set (fitsio ON CACHE BOOL "" FORCE)
+set (fortran ON CACHE BOOL "" FORCE)
+set (gfal OFF CACHE BOOL "" FORCE)
+set (glite OFF CACHE BOOL "" FORCE)
+set (gnuinstall ON CACHE BOOL "" FORCE)
+set (gsl_shared ON CACHE BOOL "" FORCE)
+set (hdfs OFF CACHE BOOL "" FORCE)
+set (mathmore ON CACHE BOOL "" FORCE)
+set (minuit2 ON CACHE BOOL "" FORCE)
+set (monalisa OFF CACHE BOOL "" FORCE)
+set (mt ON CACHE BOOL "" FORCE)
+set (opengl ON CACHE BOOL "" FORCE)
+set (oracle OFF CACHE BOOL "" FORCE)
+set (pythia6 OFF CACHE BOOL "" FORCE)
+set (pythia6_nolink OFF CACHE BOOL "" FORCE)
+set (pythia8 ON CACHE BOOL "" FORCE)
+set (qt OFF CACHE BOOL "" FORCE)
+set (qtgsi OFF CACHE BOOL "" FORCE)
+set (rfio OFF CACHE BOOL "" FORCE)
+set (roofit ON CACHE BOOL "" FORCE)
+set (shared ON CACHE BOOL "" FORCE)
+set (tbb ON CACHE BOOL "" FORCE)
+set (testing OFF CACHE BOOL "" FORCE)
+set (tmva ON CACHE BOOL "" FORCE)
+set (xft ON CACHE BOOL "" FORCE)
+set (x11 ON CACHE BOOL "" FORCE)