Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions libzip.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
### RPM external libzip 1.11.4
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shimashimarin , @akritkbehera already have added libzip (which was needed for xrootd 6.x series) in devel branch https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_17_0_X/devel/libzip.spec . Can you please use https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_17_0_X/devel/libzip.spec so that we do not have to resolve any merge conflicts

Source: https://github.com/nih-at/libzip/releases/download/v%{realversion}/libzip-%{realversion}.tar.gz
BuildRequires: cmake
Requires: zlib zstd
Requires: bz2lib

%prep
%setup -n %{n}-%{realversion}

%build
cmake \
-S %{_builddir}/%{n}-%{realversion} \
-B %{_builddir}/build \
-DCMAKE_INSTALL_PREFIX=%{i} \
-DCMAKE_PREFIX_PATH=%{cmake_prefix_path} \
-DENABLE_COMMONCRYPTO=OFF \
-DENABLE_GNUTLS=OFF \
-DENABLE_MBEDTLS=OFF \
-DENABLE_WINDOWS_CRYPTO=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_DOC=OFF

make -C %{_builddir}/build %{makeprocesses}
%install
make -C %{_builddir}/build %{makeprocesses} install
4 changes: 3 additions & 1 deletion openloops.spec
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ done
./openloops libinstall openloops-user.coll

%install
mkdir %i/{lib,proclib}
mkdir %i/{lib,proclib,include}
cp lib/*.so %i/lib
cp proclib/*.so %i/proclib
cp proclib/*.info %i/proclib
cp proclib/*.rinfo %i/proclib
cp include/* %i/include
10 changes: 10 additions & 0 deletions scram-tools.file/tools/libzip/libzip.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<tool revision="1">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shimashimarin , is sherpa v3 linking against libzip.so? If yes then please add the following here

  <lib name="zip"/>

<lib name="zip"/>
<client>
<environment name="LIBDIR" default="$TOOL_BASE/lib"/>
<environment name="INCLUDE" default="$TOOL_BASE/include"/>
</client>
<runtime name="PATH" value="$TOOL_BASE/bin" type="path"/>
<use name="zlib"/>
<use name="zstd"/>
</tool>
1 change: 1 addition & 0 deletions scram-tools.file/tools/openloops/openloops.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<tool revision="3">
<client>
<environment name="LIBDIR" default="$TOOL_BASE/lib"/>
<environment name="INCLUDE" default="$TOOL_BASE/include"/>
<runtime name="CMS_OPENLOOPS_PREFIX" value="$TOOL_BASE" type="path"/>
</client>
</tool>
18 changes: 11 additions & 7 deletions scram-tools.file/tools/sherpa/sherpa.xml
Original file line number Diff line number Diff line change
@@ -1,26 +1,30 @@
<tool revision="3">
<lib name="SherpaMain"/>
<lib name="ToolsPhys"/>
<lib name="ToolsMath"/>
<lib name="ToolsYaml"/>
<lib name="ToolsOrg"/>
<lib name="SherpaSingleEvents"/>
<lib name="SherpaTools"/>
<client>
<environment name="BINDIR" default="$TOOL_BASE/bin"/>
<environment name="LIBDIR" default="$TOOL_BASE/lib/SHERPA-MC"/>
<environment name="LIBDIR" default="$TOOL_BASE/lib64/SHERPA-MC"/>
<environment name="INCLUDE" default="$TOOL_BASE/include/SHERPA-MC"/>
</client>
<runtime name="CMSSW_FWLITE_INCLUDE_PATH" value="$TOOL_BASE/include" type="path"/>
<runtime name="SHERPA_SHARE_PATH" value="$TOOL_BASE/share/SHERPA-MC" type="path"/>
<runtime name="SHERPA_INCLUDE_PATH" value="$TOOL_BASE/include/SHERPA-MC" type="path"/>
<runtime name="ROOT_INCLUDE_PATH" value="$INCLUDE" type="path"/>
<runtime name="SHERPA_LIBRARY_PATH" value="$TOOL_BASE/lib/SHERPA-MC" type="path"/>
<use name="root_cxxdefaults"/>
<use name="HepMC"/>
<runtime name="SHERPA_LIBRARY_PATH" value="$TOOL_BASE/lib64/SHERPA-MC" type="path"/>
<runtime name="SHERPA_CMAKE_PATH" value="$TOOL_BASE/share/SHERPA-MC" type="path"/>
<use name="HepMC3"/>
<use name="lhapdf"/>
<use name="qd"/>
<use name="blackhat"/>
<use name="fastjet"/>
<use name="sqlite"/>
<use name="mpi"/>
<use name="openmpi"/>
<use name="rivet"/>
<use name="pythia8"/>
<use name="libzip"/>
<ifarchitecture name="!ppc64le">
<use name="openloops"/>
</ifarchitecture>
Expand Down
85 changes: 34 additions & 51 deletions sherpa.spec
Original file line number Diff line number Diff line change
@@ -1,60 +1,43 @@
### RPM external sherpa 2.2.16
Source: git+https://gitlab.com/sherpa-team/sherpa.git?obj=master/v%{realversion}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}.tgz
Requires: hepmc lhapdf blackhat sqlite python3 fastjet openmpi hepmc3
BuildRequires: mcfm swig autotools
Patch0: sherpa-2.2.16-hepmcshort
#Avoid calling setenv: https://gitlab.com/sherpa-team/sherpa/-/commit/6ead62d7a2758612f8965fb5b61df8c012cf9cae.diff
Patch1: sherpa-setenv
#Disable build Manual and Examples
Patch2: sherpa-disable-manual
### RPM external sherpa 3.0.4
Source: git+https://gitlab.com/sherpa-team/sherpa.git?obj=master/v%{realversion}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}.tgz
Requires: hepmc3 lhapdf blackhat fastjet openmpi rivet pythia8 libzip
BuildRequires: cmake swig

%{!?without_openloops:Requires: openloops}

%prep
%setup -q -n sherpa-%{realversion}
%patch0 -p1
%patch1 -p1
%patch2 -p1

autoreconf -i --force

# Force architecture based on %%cmsplatf
%ifarch x86_64
ARCH_CMSPLATF="-m64"
%endif
%setup -q -n %{n}-%{realversion}

%build
export PYTHON=$(which python3)
./configure --prefix=%i --enable-analysis --disable-silent-rules \
--enable-fastjet=$FASTJET_ROOT \
--enable-hepmc2=$HEPMC_ROOT \
--enable-hepmc3=$HEPMC3_ROOT \
--enable-lhapdf=$LHAPDF_ROOT \
--enable-blackhat=$BLACKHAT_ROOT \
--enable-pyext \
--enable-ufo \
${OPENLOOPS_ROOT+--enable-openloops=$OPENLOOPS_ROOT} \
--enable-mpi \
--with-sqlite3=$SQLITE_ROOT \
--enable-analysis \
CC="mpicc" \
CXX="mpicxx" \
MPICXX="mpicxx" \
FC="mpifort" \
CXXFLAGS="-fuse-cxa-atexit $ARCH_CMSPLATF -O2 -std=c++0x -I$LHAPDF_ROOT/include -I$BLACKHAT_ROOT/include -I$RIVET_ROOT/include" \
LDFLAGS="-ldl -L$BLACKHAT_ROOT/lib/blackhat -L$QD_ROOT/lib"

make %{makeprocesses}
rm -rf build && mkdir build

cmake -S . -B build \
-DCMAKE_INSTALL_PREFIX=%i \
-DSHERPA_ENABLE_MPI=ON -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_Fortran_COMPILER=mpifort \
-DSHERPA_ENABLE_ANALYSIS=ON \
-DSHERPA_ENABLE_EXAMPLES=ON \
-DSHERPA_ENABLE_LIBZIP=ON -DLibZip_DIR=$LIBZIP_ROOT \
-DSHERPA_ENABLE_GZIP=ON \
-DSHERPA_ENABLE_HEPMC3=ON -DHEPMC3_DIR=$HEPMC3_ROOT -DSHERPA_ENABLE_HEPMC3_ROOT=OFF \
-DSHERPA_ENABLE_LHAPDF=ON -DLHAPDF_DIR=$LHAPDF_ROOT -DSHERPA_ENABLE_INTERNAL_PDFS=OFF \
-DSHERPA_ENABLE_BLACKHAT=ON -DBLACKHAT_DIR=$BLACKHAT_ROOT \
${OPENLOOPS_ROOT+-DSHERPA_ENABLE_OPENLOOPS=ON -DOPENLOOPS_DIR=$OPENLOOPS_ROOT} \
-DSHERPA_ENABLE_ROOT=OFF \
-DSHERPA_ENABLE_PYTHIA8=ON -DPYHIA8_DIR=$PYTHIA8_ROOT \
-DSHERPA_ENABLE_RECOLA=OFF \
-DSHERPA_ENABLE_RIVET=ON -DRIVET_DIR=$RIVET_ROOT \
-DSHERPA_ENABLE_EWSUD=ON \
-DSHERPA_ENABLE_PYTHON=ON \
-DSHERPA_ENABLE_UFO=ON \
-DSHERPA_ENABLE_THREADING=ON \
-DSHERPA_ENABLE_DIHIGGS=OFF \
-DSHERPA_ENABLE_MADLOOP=OFF \
-DSHERPA_ENABLE_MCFM=OFF \
-DSHERPA_ENABLE_TESTING=OFF \
-DSHERPA_ENABLE_INTEGRATION_TESTS=OFF \
-DSHERPA_ENABLE_BINRELOC=OFF
cmake --build build %{makeprocesses}

%install
make install
find %{i}/lib -name '*.la' -delete
cmake --install build
sed -i -e 's|^#!/.*|#!/usr/bin/env python3|' %{i}/bin/Sherpa-generate-model

%post
%{relocateConfig}lib/python%{cms_python3_major_minor_version}/site-packages/ufo_interface/sconstruct_template
%{relocateConfig}bin/make2scons
%{relocateConfig}share/SHERPA-MC/makelibs
%{relocateConfig}bin/Sherpa-config
%{relocateConfig}bin/Sherpa-generate-model
%{relocateConfig}include/SHERPA-MC/ATOOLS/Org/CXXFLAGS*.H