Compare commits

..

No commits in common. "rawhide" and "f40" have entirely different histories.

5 changed files with 12 additions and 262 deletions

View file

@ -1,50 +0,0 @@
From d49e808ed6c027db3a682a731d74ec3ffa7c6076 Mon Sep 17 00:00:00 2001
From: Andy Buckley <andy.buckley@cern.ch>
Date: Mon, 9 Mar 2026 19:33:39 +0000
Subject: [PATCH] Correct the lhapdf-config help message to use --includedir
rather than --incdir, but also add a backward-compatibility handling for
--incdir if given. Thanks to Mark Sutton.
---
ChangeLog | 6 ++++++
bin/lhapdf-config.in | 3 ++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index cd35d70..7eabc3f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2026-03-09 Andy Buckley <andy.buckley@cern.ch>
+
+ * Correct the lhapdf-config help message to use --includedir
+ rather than --incdir, but also add a backward-compatibility
+ handling for --incdir if given. Thanks to Mark Sutton.
+
2026-02-19 Andy Buckley <andy.buckley@cern.ch>
* Version 6.5.6 release.
diff --git a/bin/lhapdf-config.in b/bin/lhapdf-config.in
index b62a217..d13b6f1 100644
--- a/bin/lhapdf-config.in
+++ b/bin/lhapdf-config.in
@@ -13,7 +13,7 @@ Options:
--help | -h : show this help message
--prefix : show the installation prefix (cf. autoconf)
- --incdir : show the path to the LHAPDF C++ header directory
+ --includedir : show the path to the LHAPDF C++ header directory
--libdir : show the path to the LHAPDF library directory
--datadir : show the path to the LHAPDF data directory
--pythonpath|--pydir : show the path(s) to the directory containing LHAPDF's Python package
@@ -48,6 +48,7 @@ for opt in "$@"; do
--version) echo "@PACKAGE_VERSION@" && exit 0 ;;
--prefix) show_prefix=1 ;;
--includedir) show_incdir=1 ;;
+ --incdir) show_incdir=1 ;; #< TODO: for backward compatibility from 6.5.7, remove eventually
--libdir) show_libdir=1 ;;
--datadir) show_datdir=1 ;;
--pythonpath) show_pypath=1 ;;
--
2.53.0

View file

@ -1,76 +0,0 @@
From d4dd6202016754052f7f7f0cfedd3913a08afbbf Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Fri, 3 Apr 2026 07:45:56 +0200
Subject: [PATCH] Fix double -I in lhapdf-config --cflags output Don't put
-L/usr/lib and -L/usr/lib64 in build flags Fix pkg-config --define-variable
libdir=/path --libs lhapdf
---
ChangeLog | 6 ++++++
bin/lhapdf-config.in | 2 +-
configure | 9 +++++++--
lhapdf.pc.in | 4 ++--
4 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7eabc3f..74f4c7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2026-04-03 Mattias Ellert <mattias.ellert@physics.uu.se>
+
+ * Fix double -I in lhapdf-config --cflags output
+ * Don't put -L/usr/lib and -L/usr/lib64 in build flags
+ * Fix pkg-config --define-variable libdir=/path --libs lhapdf
+
2026-03-09 Andy Buckley <andy.buckley@cern.ch>
* Correct the lhapdf-config help message to use --includedir
diff --git a/bin/lhapdf-config.in b/bin/lhapdf-config.in
index d13b6f1..4b5afcd 100644
--- a/bin/lhapdf-config.in
+++ b/bin/lhapdf-config.in
@@ -102,7 +102,7 @@ if [ "$show_iflags" -eq 1 ]; then
ilhapdf="@includedir@"
test -n "$ilhapdf" && OUT="$OUT -I${ilhapdf}"
iyamlcpp="@YAML_CPP_CPPFLAGS@"
- test -n "$iyamlcpp" && OUT="$OUT -I${iyamlcpp}"
+ test -n "$iyamlcpp" && OUT="$OUT ${iyamlcpp}"
fi
if [ "$show_Lflags" -eq 1 ]; then
llhapdf="@libdir@"
diff --git a/configure b/configure
index 7fafae6..d530cd7 100644
--- a/configure
+++ b/configure
@@ -19972,8 +19972,13 @@
YAML_CPP_CPPFLAGS=""
YAML_CPP_LDFLAGS=""
if test "x$yaml_cpp_prefix" != "xno"; then
- YAML_CPP_CPPFLAGS="-I$yaml_cpp_prefix/include"
- YAML_CPP_LDFLAGS="-L$yaml_cpp_prefix/lib -L$yaml_cpp_prefix/lib64 -lyaml-cpp"
+ if test "x$yaml_cpp_prefix" = "x/usr"; then
+ YAML_CPP_CPPFLAGS=""
+ YAML_CPP_LDFLAGS="-lyaml-cpp"
+ else
+ YAML_CPP_CPPFLAGS="-I$yaml_cpp_prefix/include"
+ YAML_CPP_LDFLAGS="-L$yaml_cpp_prefix/lib -L$yaml_cpp_prefix/lib64 -lyaml-cpp"
+ fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lyaml-cpp" >&5
printf %s "checking for main in -lyaml-cpp... " >&6; }
if test ${ac_cv_lib_yaml_cpp_main+y}
diff --git a/lhapdf.pc.in b/lhapdf.pc.in
index 964d0ae..1a7d80a 100644
--- a/lhapdf.pc.in
+++ b/lhapdf.pc.in
@@ -8,5 +8,5 @@ Name: lhapdf
Description: LHAPDF parton density library
URL: https://lhapdf.hepforge.org
Version: @VERSION@
-Libs: -L@libdir@ @YAML_CPP_LDFLAGS@ -lLHAPDF
-Cflags: -I@includedir@ @YAML_CPP_CPPFLAGS@
+Libs: -L${libdir} @YAML_CPP_LDFLAGS@ -lLHAPDF
+Cflags: -I${includedir} @YAML_CPP_CPPFLAGS@
--
2.53.0

View file

@ -1,28 +1,17 @@
Name: lhapdf
Version: 6.5.6
Release: 6%{?dist}
Version: 6.5.5
Release: 1%{?dist}
Summary: Les Houches Accord PDF Interface
License: GPL-3.0-only
URL: https://lhapdf.hepforge.org/
Source0: https://www.hepforge.org/archive/lhapdf/LHAPDF-%{version}.tar.gz
# PDFs used during testing
Source1: https://lhapdfsets.web.cern.ch/current/CT10nlo.tar.gz
Source2: https://lhapdfsets.web.cern.ch/current/MSTW2008nlo68cl.tar.gz
Source3: https://lhapdfsets.web.cern.ch/current/NNPDF31_lo_as_0130.tar.gz
# Missing file in source tarfile
# See: https://gitlab.com/hepcedar/lhapdf/-/merge_requests/120
Source4: testunc.py
# https://gitlab.com/hepcedar/lhapdf/-/merge_requests/123
Patch0: 0001-Correct-the-lhapdf-config-help-message-to-use-includ.patch
# https://gitlab.com/hepcedar/lhapdf/-/merge_requests/124
Patch1: 0001-Fix-double-I-in-lhapdf-config-cflags-output.patch
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: yaml-cpp-devel
BuildRequires: python3-Cython
BuildRequires: python3-devel
BuildRequires: python%{python3_pkgversion}-Cython
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: doxygen
# Obsolete LHAPDF5 packages not provided by LHAPDF6
@ -57,17 +46,16 @@ LHAPDF6 is documented in more detail in http://arxiv.org/abs/1412.7420
%package devel
Summary: Les Houches Accord PDF Interface - development files
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: yaml-cpp-devel
%description devel
This package provides development files of LHAPDF, including C++ bindings.
%package -n python3-%{name}
%package -n python%{python3_pkgversion}-%{name}
Summary: Les Houches Accord PDF Interface - Python 3 module
%py_provides python3-%{name}
%py_provides python%{python3_pkgversion}-%{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n python3-%{name}
%description -n python%{python3_pkgversion}-%{name}
This package provides Python 3 bindings for LHAPDF.
This package also provides a script called "lhapdf" which can be used
to query the catalog of PDF sets and to install and update them from
@ -83,22 +71,15 @@ This package provides API documentation and examples for LHAPDF.
%prep
%setup -q -n LHAPDF-%{version}
%patch -P0 -p1
%patch -P1 -p1
mkdir tests/SETS
tar -z -x -f %{SOURCE1} -C tests/SETS
tar -z -x -f %{SOURCE2} -C tests/SETS
tar -z -x -f %{SOURCE3} -C tests/SETS
cp -p %{SOURCE4} tests
# Remove cython generated file
rm wrappers/python/lhapdf.cpp
# Remove bundled yaml-cpp
rm -rf src/yamlcpp/
# Fix shebangs
sed 's!/usr/bin/env python3!%{__python3}!' -i bin/lhapdf
sed 's!/usr/bin/env python!%{__python3}!' -i examples/*.py
sed 's!/usr/bin/env python!%{__python3}!' -i bin/lhapdf examples/*.py
sed 's!/usr/bin/env bash!/bin/bash!' -i bin/lhapdf-config.in
%build
@ -108,16 +89,6 @@ sed 's!/usr/bin/env bash!/bin/bash!' -i bin/lhapdf-config.in
--enable-librelease \
--docdir=%{_pkgdocdir} \
PYTHON=%{__python3}
%if %{?rhel}%{!?rhel:0} == 8
# cython version on RHEL 8 is too old and generates broken code.
# touch the pregenerated bundled source file to prevent regeneration.
# See: https://gitlab.com/hepcedar/lhapdf/-/merge_requests/122
touch wrappers/python/lhapdf.cpp
%else
rm wrappers/python/lhapdf.cpp
%endif
%make_build
# Build doxygen documentation
@ -136,12 +107,6 @@ rm %{buildroot}%{_libdir}/libLHAPDF.la
find %{buildroot}%{_pkgdocdir}/examples -type f -a '!' -name '*.*' -delete
%check
# Workaround incomplete test environment
# See: https://gitlab.com/hepcedar/lhapdf/-/merge_requests/121
cp -p pdfsets.index tests/SETS
cp -p lhapdf.conf tests/SETS
export PYTHONPATH=$PWD/wrappers/python/build
export LD_LIBRARY_PATH=$PWD/src/.libs
%make_build check
%files
@ -156,7 +121,7 @@ export LD_LIBRARY_PATH=$PWD/src/.libs
%{_libdir}/libLHAPDF.so
%{_libdir}/pkgconfig/%{name}.pc
%files -n python3-%{name}
%files -n python%{python3_pkgversion}-%{name}
%{_bindir}/%{name}
%{python3_sitearch}/%{name}-%{version}.dist-info
%{python3_sitearch}/%{name}
@ -167,47 +132,6 @@ export LD_LIBRARY_PATH=$PWD/src/.libs
%license COPYING
%changelog
* Wed Jul 22 2026 Python Maint <python-maint@redhat.com> - 6.5.6-6
- Rebuilt for Python 3.15.0b4 ABI change
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Wed Jun 03 2026 Python Maint <python-maint@redhat.com> - 6.5.6-4
- Rebuilt for Python 3.15
* Fri Apr 03 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 6.5.6-3
- More fixes to lhapdf-config and lhapdf.pc
* Sat Mar 28 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 6.5.6-2
- Correct the lhapdf-config output (backport from upstream git)
* Thu Mar 05 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 6.5.6-1
- Update to version 6.5.6
- Add PDFs used by new tests to the source RPM
- Add test file missing from the source tarfile to the source RPM
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Dec 05 2025 Orion Poplawski <orion@nwra.com> - 6.5.5-2
- Rebuild for yaml-cpp 0.8 (epel10)
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 6.5.5-6
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 6.5.5-5
- Rebuilt for Python 3.14.0rc2 bytecode
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 6.5.5-3
- Rebuilt for Python 3.14
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jan 01 2025 Mattias Ellert <mattias.ellert@physics.uu.se> - 6.5.5-1
- Update to version 6.5.5
- Drop soname patch, use new configure option --enable-librelease instead

View file

@ -1,4 +1 @@
SHA512 (LHAPDF-6.5.6.tar.gz) = 03cf1c848b127d76ab6f13b852743827c00ae9312721dcd1fd17a9d9d88fa50e5f004fcf2fa1b23d15a0b2c30515d5f2a5e2bee85e67be5c675864bdc364ca78
SHA512 (CT10nlo.tar.gz) = 64c1ae32380a8e8ae647bdd79a63bdb252540777f802bebf003d20ec3e7532370601619a85f6fd872f7d0e39e1a1f66ea96fcd4b9179e1f23e27d533906af493
SHA512 (MSTW2008nlo68cl.tar.gz) = 4bf44b96363c91cb85f298d139b356ed4111c842476f02b44efac18710e4ca168691d0cbb5222839b0d219ccb264e387fc8ac93a689f5d0981fed9478f45749b
SHA512 (NNPDF31_lo_as_0130.tar.gz) = 7f2ef921e8ddd938438978383778c5e7538105c78defe34abfe6212a480da9ccdfedbec30174f0aed18576a3c3fc03866bc22b329667b41f2896dfb3814d9d1a
SHA512 (LHAPDF-6.5.5.tar.gz) = 80012d5eab1b09a38d8e65bc45f012125508f8d43d1ffcaa76976970f1a3d36305ad29c620715c676cd3c5d6f8bb4c0b55444c952059a742052d9c8bfd5866ac

View file

@ -1,45 +0,0 @@
#! /usr/bin/env python3
import lhapdf
print("Version:", lhapdf.version())
print()
#pdfset = lhapdf.getPDFSet("CT10nlo")
pdfset = lhapdf.getPDFSet("NNPDF31_lo_as_0130")
print(pdfset)
print("m_t =", pdfset.get_entry("MTop", 123.4))
print()
pdfs = pdfset.mkPDFs()
print()
xfs_g = [pdfs[k].xfxQ(21, 1e-4, 100.) for k in range(pdfset.size)]
print("Gluon PDFs at x = 0.001, Q = 100 GeV:", xfs_g)
print()
for alt_ci_method in [True,False]:
print(f"Using alt (asymm) CI calculation = {alt_ci_method}")
u = pdfset.uncertainty(xfs_g, 95., alt_ci_method)
print(u)
print(u.central)
print(" + ", u.errplus)
print(" - ", u.errminus)
print(" +-", u.errsymm)
print()
#import numpy as np
#for cl in np.linspace(0.0, 1.0, 20):
xfmin, xfmax = min(xfs_g), max(xfs_g)
print("Range =", xfmax - xfmin)
for i in range(11):
cl = i/10
print(f"CL = {cl:0.2f} -> CI = {pdfset.uncertainty(xfs_g, 100*cl, True).errsymm:0.2f}")
print(f" ... last interval should equal half-range = {(xfmax - xfmin)/2:0.2f}")
print()
e = pdfset.errorInfo
print(e)
print()
# pdf = lhapdf.mkPDF("CT10/0")
# print(pdf)