[arch-commits] Commit in root/trunk (5 files)
Konstantin Gizdov
kgizdov at archlinux.org
Wed Nov 27 23:59:35 UTC 2019
Date: Wednesday, November 27, 2019 @ 23:59:35
Author: kgizdov
Revision: 534244
restructure package, fix CMake, provide pkg-config
Added:
root/trunk/root.pc.tpl
Modified:
root/trunk/PKGBUILD
root/trunk/settings-cuda.cmake
root/trunk/settings.cmake
Deleted:
root/trunk/rootd
---------------------+
PKGBUILD | 83 +++++++++++++++++++++++++++++++++-----------------
root.pc.tpl | 11 ++++++
rootd | 37 ----------------------
settings-cuda.cmake | 3 +
settings.cmake | 3 +
5 files changed, 73 insertions(+), 64 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-11-27 23:16:46 UTC (rev 534243)
+++ PKGBUILD 2019-11-27 23:59:35 UTC (rev 534244)
@@ -7,7 +7,7 @@
pkgbase=root
pkgname=('root' 'root-cuda')
pkgver=6.18.04
-pkgrel=4
+pkgrel=5
pkgdesc='C++ data analysis framework and interpreter from CERN'
arch=('x86_64')
url='https://root.cern.ch'
@@ -83,15 +83,15 @@
'xrootd: Support remote file server and client')
source=("https://root.cern.ch/download/root_v${pkgver}.source.tar.gz"
'root.xml'
- 'rootd'
+ 'root.pc.tpl'
'settings.cmake'
'settings-cuda.cmake'
'add_missing_include_ROOT-10315.patch')
sha256sums=('315a85fc8363f8eb1bffa0decbf126121258f79bd273513ed64795675485cfa4'
'50c08191a5b281a39aa05ace4feb8d5405707b4c54a5dcba061f954649c38cb0'
- '3c45b03761d5254142710b7004af0077f18efece7c95511910140d0542c8de8a'
- '070256512fb94df55201891919168777f1c0d61316018e98cddaaa97c9063d55'
- '4ae9f2971c4360fc216ecb793aa11f98e069b33a746c05cdb635fe684a5800c9'
+ 'a0fc0c9404905f61fe8ba94e52ffbbefcdbcb198f2a577703b1924364a251395'
+ 'e24884e67ad241e4893c8ecac973cd38f1ea523a54e774cc996989d40091cce3'
+ 'a676e65d2615a5bb89943f72adc6e1552df60e9b0dc040c7bb05f6d640d9dbd6'
'1cb2654f22b5f1de7f8621434c76266968db77a1f300de857e47d0f4ad5da217')
get_pyver () {
@@ -123,8 +123,12 @@
CFLAGS="${CFLAGS} -pthread" \
CXXFLAGS="${CXXFLAGS} -pthread" \
LDFLAGS="${LDFLAGS} -pthread -Wl,--no-undefined" \
- cmake -C "${srcdir}/settings.cmake" -DTARGET_ARCHITECTURE:STRING=generic -DPYTHON_EXECUTABLE:PATH=/usr/bin/python \
- "${srcdir}/${pkgbase}-${pkgver}"
+ cmake -C "${srcdir}/settings.cmake" \
+ -DTARGET_ARCHITECTURE:STRING=generic \
+ -DPYTHON_EXECUTABLE:PATH=/usr/bin/python \
+ -DINSTALL_PREFIX=/usr \
+ -DDEFAULT_SYSROOT=/usr \
+ "${srcdir}/${pkgbase}-${pkgver}"
cd "${srcdir}/build"
make
@@ -138,8 +142,12 @@
CFLAGS="${CFLAGS} -pthread" \
CXXFLAGS="${CXXFLAGS} -pthread" \
LDFLAGS="${LDFLAGS} -pthread -Wl,--no-undefined" \
- cmake -C "${srcdir}/settings-cuda.cmake" -DTARGET_ARCHITECTURE:STRING=generic -DPYTHON_EXECUTABLE:PATH=/usr/bin/python \
- "${srcdir}/${pkgbase}-${pkgver}-cuda"
+ cmake -C "${srcdir}/settings-cuda.cmake" \
+ -DTARGET_ARCHITECTURE:STRING=generic \
+ -DPYTHON_EXECUTABLE:PATH=/usr/bin/python \
+ -DINSTALL_PREFIX=/usr \
+ -DDEFAULT_SYSROOT=/usr \
+ "${srcdir}/${pkgbase}-${pkgver}-cuda"
cd "${srcdir}/build-cuda"
make
@@ -146,8 +154,8 @@
}
_package() {
- local bld_dir="${1}"
- cd "${srcdir}/${bld_dir}"
+ local bld_dir="${srcdir}/${1}"
+ cd "${bld_dir}"
make DESTDIR="${pkgdir}" install
@@ -160,7 +168,7 @@
local _pydir="${pkgdir}/usr/lib/python${_pyver}/site-packages"
install -d "${_pydir}"
find "${pkgdir}/usr/lib/root" -maxdepth 1 -mindepth 1 \( -iname "*py*" -or -name "*Js*" \) ! -name "*EGPythia8*" -print0 | while read -rd $'\0' _lib; do
- _base=$(basename ${_lib})
+ _base=$(basename "${_lib}")
ln -sf "/usr/lib/root/${_base}" "${pkgdir}/usr/lib/python${_pyver}/site-packages/${_base}"
done
@@ -170,29 +178,50 @@
python -O -m compileall -d "/usr/lib/python${_pyver}" \
"${pkgdir}/usr/lib/python${_pyver}"
- 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}/${pkgbase}-${pkgver}/etc/root.desktop" \
+ # icon, shortcut and mime
+ install -Dm644 "${srcdir}/${pkgbase}-${pkgver}/icons/Root6Icon.png" \
+ "${pkgdir}/usr/share/icons/hicolor/48x48/apps/root.png"
+ install -Dm644 "${srcdir}/${pkgbase}-${pkgver}/etc/root.desktop" \
"${pkgdir}/usr/share/applications/root.desktop"
-
- install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/icons/Root6Icon.png" \
- "${pkgdir}/usr/share/icons/hicolor/48x48/apps/root.png"
echo 'Icon=root.png' >> "${pkgdir}/usr/share/applications/root.desktop"
+ install -Dm644 "${srcdir}/root.xml" \
+ "${pkgdir}/usr/share/mime/packages/root.xml"
# 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"
+ # create pkg-config file
+ local _prefix _exec_prefix _bindir _libdir _incdir _pkg_ver _libs _cflags
+ _prefix="$("${pkgdir}"/usr/bin/root-config --prefix)"
+ _exec_prefix="$("${pkgdir}"/usr/bin/root-config --exec-prefix)"
+ _bindir="$("${pkgdir}"/usr/bin/root-config --bindir)"
+ _libdir="$("${pkgdir}"/usr/bin/root-config --libdir)"
+ _incdir="$("${pkgdir}"/usr/bin/root-config --incdir)"
+ _pkg_ver="$(sed -n 's,.*ROOT_RELEASE *\"\(.*\)\".*,\1,p' < "${pkgdir}"/usr/include/RVersion.h)"
+ _libs="$("${pkgdir}"/usr/bin/root-config --libs)"
+ _cflags="$("${pkgdir}"/usr/bin/root-config --cflags)"
+ cp "${srcdir}/root.pc.tpl" "${bld_dir}"/
+ sed -e "s at _PREFIX@${_prefix}@" -e "s at _EXECPREFIX@${_exec_prefix}@" \
+ -e "s at _LIBDIR@${_libdir}@" -e "s at _INCDIR@${_incdir}@" \
+ -e "s at _PKGVERSION@${_pkg_ver}@" -e "s at _LIBRARIES@${_libs}@" \
+ -e "s at _CFLAGS@${_cflags}@" \
+ -i "${bld_dir}/root.pc.tpl"
+ install -Dm644 "${bld_dir}/root.pc.tpl" "${pkgdir}/usr/lib/pkgconfig/root.pc"
+
+ # put CMake config in correct path and fix relative paths
+ install -d "${pkgdir}/usr/lib/cmake"
+ mv "${pkgdir}/usr/share/root/cmake"/* "${pkgdir}/usr/lib/cmake"/
+ rm -rf "${pkgdir}/usr/share/root/cmake"
+ sed -e "s at ROOT_INCLUDE_DIRS .*include\"@ROOT_INCLUDE_DIRS \"${_incdir}\"@" \
+ -e "s at ROOT_LIBRARY_DIR .*lib/root\"@ROOT_LIBRARY_DIR \"${_libdir}\"@" \
+ -e "s at ROOT_BINARY_DIR .*bin\"@ROOT_BINARY_DIR \"${_bindir}\"@" \
+ -e 's@# ROOT configured for the install with relative paths, so use these@# ROOT was patched to use correct absolute paths, specifically these at g' \
+ -i "${pkgdir}"/usr/lib/cmake/ROOTConfig.cmake
+ ln -sf "/usr/lib/root/cmake/cling" "${pkgdir}/usr/lib/cmake/cling"
}
package_root() {
- provides=('root-extra' 'python-pyroot')
- replaces=('root-extra' 'python-pyroot')
- conflicts=('root-extra' 'python-pyroot' 'python2-pyroot')
optdepends+=('gcc-fortran: Enable the Fortran components of ROOT')
_package build
}
@@ -199,8 +228,8 @@
package_root-cuda() {
pkgdesc='C++ data analysis framework and interpreter from CERN with GPU (CUDA) features enabled'
- provides=('root' 'root-extra')
- conflicts=('root' 'root-extra' 'python-pyroot' 'python2-pyroot')
+ provides=('root')
+ conflicts=('root')
depends+=('cuda')
optdepends+=('gcc8-fortran: Enable the Fortran components of ROOT')
_package build-cuda
Added: root.pc.tpl
===================================================================
--- root.pc.tpl (rev 0)
+++ root.pc.tpl 2019-11-27 23:59:35 UTC (rev 534244)
@@ -0,0 +1,11 @@
+prefix=_PREFIX
+exec_prefix=_EXECPREFIX
+libdir=_LIBDIR
+includedir=_INCDIR
+
+Name: ROOT
+Version: _PKGVERSION
+Description: C++ data analysis framework and interpreter from CERN
+Requires:
+Libs: _LIBRARIES
+Cflags: _CFLAGS
Deleted: rootd
===================================================================
--- rootd 2019-11-27 23:16:46 UTC (rev 534243)
+++ rootd 2019-11-27 23:59:35 UTC (rev 534244)
@@ -1,37 +0,0 @@
-#!/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
Modified: settings-cuda.cmake
===================================================================
--- settings-cuda.cmake 2019-11-27 23:16:46 UTC (rev 534243)
+++ settings-cuda.cmake 2019-11-27 23:59:35 UTC (rev 534244)
@@ -1,6 +1,9 @@
set (CMAKE_BUILD_TYPE Release 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_BINDIR bin CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_LIBDIR lib/root CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "" FORCE)
set (CMAKE_INSTALL_SYSCONFDIR /etc/root CACHE PATH "" FORCE)
set (CMAKE_INSTALL_DATAROOTDIR /usr/share CACHE PATH "" FORCE)
set (CMAKE_CXX_STANDARD 14 CACHE STRING "" FORCE)
Modified: settings.cmake
===================================================================
--- settings.cmake 2019-11-27 23:16:46 UTC (rev 534243)
+++ settings.cmake 2019-11-27 23:59:35 UTC (rev 534244)
@@ -1,6 +1,9 @@
set (CMAKE_BUILD_TYPE Release 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_BINDIR bin CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_LIBDIR lib/root CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "" FORCE)
set (CMAKE_INSTALL_SYSCONFDIR /etc/root CACHE PATH "" FORCE)
set (CMAKE_INSTALL_DATAROOTDIR /usr/share CACHE PATH "" FORCE)
set (CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE)
More information about the arch-commits
mailing list