[arch-commits] Commit in xrootd/repos (4 files)

Evangelos Foutras foutrelis at archlinux.org
Thu Nov 12 17:37:35 UTC 2020


    Date: Thursday, November 12, 2020 @ 17:37:34
  Author: foutrelis
Revision: 752729

archrelease: copy trunk to community-staging-x86_64

Added:
  xrootd/repos/community-staging-x86_64/
  xrootd/repos/community-staging-x86_64/PKGBUILD
    (from rev 752727, xrootd/trunk/PKGBUILD)
  xrootd/repos/community-staging-x86_64/add_missing_header.patch
    (from rev 752727, xrootd/trunk/add_missing_header.patch)
  xrootd/repos/community-staging-x86_64/cxx17.patch
    (from rev 752727, xrootd/trunk/cxx17.patch)

--------------------------+
 PKGBUILD                 |   90 +++++++++++++++++++++++++++++++++++++++++++++
 add_missing_header.patch |   27 +++++++++++++
 cxx17.patch              |   78 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 195 insertions(+)

Copied: xrootd/repos/community-staging-x86_64/PKGBUILD (from rev 752727, xrootd/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2020-11-12 17:37:34 UTC (rev 752729)
@@ -0,0 +1,90 @@
+# Maintainer: Konstantin Gizdov < arch at kge dot pw >
+# Contributor: Jan Kašpar < jan.kaspar at gmail dot com >
+# Contributor: Alex Pearce < alex at alexpearce dot me >
+pkgname=xrootd
+pkgdesc="Software framework for fast, low latency, scalable and fault tolerant data access."
+pkgver=5.0.2
+pkgrel=2
+arch=('x86_64')
+url="https://xrootd.slac.stanford.edu/"
+license=('LGPL3')
+depends=('ceph' 'curl' 'json-c' 'libxml2' 'openssl' 'perl' 'python' 'systemd')
+makedepends=('cmake' 'git')
+checkdepends=('cppunit')
+source=(
+    "${pkgname}-${pkgver}::git+https://github.com/${pkgname}/${pkgname}.git#tag=v${pkgver}"
+    'cxx17.patch'
+    'add_missing_header.patch'
+)
+sha256sums=('SKIP'
+            '828de400b8fef40a80b9eadb8198fdfe7c991515a466045b699425df2f681817'
+            '68eac594d8d3b15c1e4d8522c4422a26c9a51c9206d3a88fedf00d4e9599d455')
+
+get_pyver () {
+    python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
+}
+
+prepare () {
+    cd "${srcdir}/${pkgbase}-${pkgver}"
+    # source tarballs don't seem to contain all submodules anymore
+    git submodule update --init --recursive
+    patch -Np1 -i "${srcdir}/cxx17.patch"
+    patch -Np1 -i "${srcdir}/add_missing_header.patch"
+}
+
+build() {
+    cd "${srcdir}/${pkgbase}-${pkgver}"
+
+    # configure
+    mkdir -p "${srcdir}/build"
+    cd "${srcdir}/build"
+
+    CFLAGS="${CFLAGS}" \
+    CXXFLAGS="${CXXFLAGS}" \
+    LDFLAGS="${LDFLAGS}" \
+    cmake -DCMAKE_BUILD_TYPE:STRING=Release \
+          -DCMAKE_INSTALL_LIBDIR:PATH=lib \
+          -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+          -DCMAKE_CXX_STANDARD="17" \
+          -DENABLE_TESTS=1 \
+          -DXRD_PYTHON_REQ_VERSION=$(get_pyver) \
+          "${srcdir}/${pkgbase}-${pkgver}"
+
+    # build
+    make
+}
+
+check() {
+    cd "${srcdir}/build/tests"
+
+    # Check has significantly changed, to-be-updated
+    # ./common/text-runner ./XrdCephTests/libXrdCephTests.so "All Tests"
+
+    ##
+    # This requires a running XRootD server with multiIP DNS forwarder and local disk servers
+    # only run this if you have configured the env correctly,
+    # examples in https://github.com/xrootd/xrootd-test-suite
+    # sample environment can be configured like so:
+    # export XRDTEST_MAINSERVERURL=metaman.xrd.test
+    # or export XRDTEST_MAINSERVERURL=http://xrootd.cern.ch/
+    # export XRDTEST_DISKSERVERURL=srv1.xrd.test
+    # or export XRDTEST_DISKSERVERURL=http://xrootd.cern.ch/
+    # export XRDTEST_DATAPATH=/tests/test-files/
+    # export XRDTEST_LOCALFILE=/data/a048e67f-4397-4bb8-85eb-8d7e40d90763.dat
+    # or export XRDTEST_LOCALFILE=/tmp/accwe.root
+    # export XRDTEST_REMOTEFILE=${XRDTEST_MAINSERVERURL}${XRDTEST_DATAPATH}/a048e67f-4397-4bb8-85eb-8d7e40d90763.dat
+    # or export XRDTEST_MULTIIPSERVERURL=multiip.xrd.test
+    # ./common/text-runner ./XrdClTests/libXrdClTests.so "All Tests"
+}
+
+package() {
+    cd "${srcdir}/build"
+    make DESTDIR="${pkgdir}" install
+    # drop unneeded test bin & lib
+    rm "${pkgdir}/usr/bin/text-runner"
+    rm "${pkgdir}/usr/lib/libXrdClTests.so"
+    install -d "${pkgdir}/usr/lib/cmake/XRootD"
+    mv "${pkgdir}/usr/share/xrootd/cmake/XRootDConfig.cmake" "${pkgdir}/usr/lib/cmake/XRootD"/
+    rm -rf "${pkgdir}/usr/share/xrootd/cmake"
+    ln -s "/usr/lib/cmake" "${pkgdir}/usr/share/xrootd/cmake"
+}

Copied: xrootd/repos/community-staging-x86_64/add_missing_header.patch (from rev 752727, xrootd/trunk/add_missing_header.patch)
===================================================================
--- community-staging-x86_64/add_missing_header.patch	                        (rev 0)
+++ community-staging-x86_64/add_missing_header.patch	2020-11-12 17:37:34 UTC (rev 752729)
@@ -0,0 +1,27 @@
+diff --git a/src/Xrd/XrdConfig.cc b/src/Xrd/XrdConfig.cc
+index 1be14323e..4b6d9caec 100644
+--- a/src/Xrd/XrdConfig.cc
++++ b/src/Xrd/XrdConfig.cc
+@@ -46,6 +46,7 @@
+ #include <sys/resource.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/socket.h>
+ #include <sys/un.h>
+
+ #include "XrdVersion.hh"
+@@ -793,12 +794,12 @@ int XrdConfig::ConfigXeq(char *var, XrdOucStream &Config, XrdSysError *eDest)
+
+ int XrdConfig::ASocket(const char *path, const char *fname, mode_t mode)
+ {
+-   struct sockaddr_un unix;
++   struct sockaddr_un my_local_unix;
+    int  plen = strlen(path), flen = strlen(fname);
+
+ // Make sure we can fit everything in our buffer
+ //
+-   if ((plen + flen + 3) > (int)sizeof(unix.sun_path))
++   if ((plen + flen + 3) > (int)sizeof(my_local_unix.sun_path))
+       {Log.Emsg("Config", "admin path", path, "too long");
+        return 1;
+       }

Copied: xrootd/repos/community-staging-x86_64/cxx17.patch (from rev 752727, xrootd/trunk/cxx17.patch)
===================================================================
--- community-staging-x86_64/cxx17.patch	                        (rev 0)
+++ community-staging-x86_64/cxx17.patch	2020-11-12 17:37:34 UTC (rev 752729)
@@ -0,0 +1,78 @@
+diff --git a/bindings/python/setup.py.in b/bindings/python/setup.py.in
+index cea13f3a9..dcfc46b05 100644
+--- a/bindings/python/setup.py.in
++++ b/bindings/python/setup.py.in
+@@ -8,15 +8,15 @@ import subprocess
+ # Remove the "-Wstrict-prototypes" compiler option, which isn't valid for C++.
+ cfg_vars = sysconfig.get_config_vars()
+ opt = cfg_vars["OPT"]
+-cfg_vars["OPT"] = " ".join( flag for flag in opt.split() if flag not in ['-Wstrict-prototypes' ${CLANG_PROHIBITED} ] ) + " --std=c++0x"
++cfg_vars["OPT"] = " ".join( flag for flag in opt.split() if flag not in ['-Wstrict-prototypes' ${CLANG_PROHIBITED} ] ) + " --std=c++17"
+ 
+ cflags = cfg_vars["CFLAGS"]
+-cfg_vars["CFLAGS"] = " ".join( flag for flag in cflags.split() if flag not in ['-Wstrict-prototypes' ${CLANG_PROHIBITED} ] ) + " --std=c++0x"
++cfg_vars["CFLAGS"] = " ".join( flag for flag in cflags.split() if flag not in ['-Wstrict-prototypes' ${CLANG_PROHIBITED} ] ) + " --std=c++17"
+ 
+ # pypy doesn't define PY_CFLAGS so skip it if it's missing
+ if "PY_CFLAGS" in cfg_vars:
+   py_cflags = cfg_vars["PY_CFLAGS"]
+-  cfg_vars["PY_CFLAGS"] = " ".join( flag for flag in py_cflags.split() if flag not in ['-Wstrict-prototypes' ${CLANG_PROHIBITED} ] ) + " --std=c++0x"
++  cfg_vars["PY_CFLAGS"] = " ".join( flag for flag in py_cflags.split() if flag not in ['-Wstrict-prototypes' ${CLANG_PROHIBITED} ] ) + " --std=c++17"
+ 
+ ccl=cfg_vars["CC"].split()
+ ccl[0]="${CMAKE_C_COMPILER}"
+diff --git a/cmake/XRootDOSDefs.cmake b/cmake/XRootDOSDefs.cmake
+index cf733e4fe..c749813c6 100644
+--- a/cmake/XRootDOSDefs.cmake
++++ b/cmake/XRootDOSDefs.cmake
+@@ -19,15 +19,15 @@ endif()
+ add_definitions( -DUSE_LIBC_SEMAPHORE=${USE_LIBC_SEMAPHORE} )
+ 
+ #-------------------------------------------------------------------------------
+-# Enable c++0x / c++11
++# Enable c++1y / c++17
+ #-------------------------------------------------------------------------------
+-set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -DOPENSSL_NO_FILENAMES" )
++set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -DOPENSSL_NO_FILENAMES" )
+ 
+ #-------------------------------------------------------------------------------
+ # GCC
+ #-------------------------------------------------------------------------------
+ if( CMAKE_COMPILER_IS_GNUCXX )
+-  set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x" )
++  set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17" )
+   set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra" )
+   #-----------------------------------------------------------------------------
+   # Set -Werror only for Debug (or undefined) build type or if we have been
+diff --git a/src/XrdSsi/XrdSsiAtomics.hh b/src/XrdSsi/XrdSsiAtomics.hh
+index 817cacf13..45889d2f8 100644
+--- a/src/XrdSsi/XrdSsiAtomics.hh
++++ b/src/XrdSsi/XrdSsiAtomics.hh
+@@ -34,12 +34,12 @@
+ #undef NEED_ATOMIC_MUTEX
+ 
+ //-----------------------------------------------------------------------------
+-//! Use native atomics at the c11 or higher level (-std=c++0x -lstdc++)
++//! Use native atomics at the c11 or higher level (-std=c++17 -lstdc++)
+ //-----------------------------------------------------------------------------
+ #if __cplusplus >= 201103L
+ #include <atomic>
+ #define Atomic(type)    std::atomic<type>
+-#define Atomic_IMP "C++11"
++#define Atomic_IMP "C++17"
+ #define Atomic_BEG(x)
+ #define Atomic_DEC(x)          x.fetch_sub(1,std::memory_order_relaxed)
+ #define Atomic_GET(x)          x.load(std::memory_order_relaxed)
+diff --git a/tests/XrdClTests/tls/CMakeLists.txt b/tests/XrdClTests/tls/CMakeLists.txt
+index bf6ee2317..f9ce03ca0 100644
+--- a/tests/XrdClTests/tls/CMakeLists.txt
++++ b/tests/XrdClTests/tls/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ 
+ include( XRootDCommon )
+ 
+-set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x" )
++set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17" )
+ 
+ #-------------------------------------------------------------------------------
+ # xrdcopy



More information about the arch-commits mailing list