The package rpms/qd.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/qd.git/commit/?id=9b9719d274bba96....
Change:
+%ifarch s390 s390x aarch64 ppc64le
Thanks.
Full change:
============
commit 9b9719d274bba966c79e58c4757a0a2ad45750b6
Author: Jerry James <loganjerry(a)gmail.com>
Date: Wed Aug 28 11:05:25 2019 -0600
Update to 2.3.22.
Also:
- Change License to LBNL BSD.
- Add -lib-deps patch to fix underlinked libraries.
- Drop ancient Obsoletes.
- Rebuild the documentation.
- Add ppc64le to the list of arches that need -ffp-contract=off.
- Remove rpaths and fix overlinked libraries.
diff --git a/.gitignore b/.gitignore
index a5c9afb..cde55e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
-/qd-2.3.13.tar.gz
-/qd-2.*.tar.gz
+/qd-*.tar.gz
diff --git a/qd-lib-deps.patch b/qd-lib-deps.patch
new file mode 100644
index 0000000..0580617
--- /dev/null
+++ b/qd-lib-deps.patch
@@ -0,0 +1,12 @@
+--- fortran/Makefile.am.orig 2018-10-30 10:05:01.000000000 -0600
++++ fortran/Makefile.am 2019-08-28 09:59:18.384224654 -0600
+@@ -16,7 +16,9 @@ endif
+
+ lib_LTLIBRARIES = libqdmod.la libqd_f_main.la
+ libqdmod_la_SOURCES = ddext.f ddmod.f qdext.f qdmod.f f_dd.cpp f_qd.cpp
++libqdmod_la_LIBADD = $(top_builddir)/src/libqd.la $(FCLIBS)
+ libqd_f_main_la_SOURCES = main.cpp
++libqd_f_main_la_LIBADD = $(top_builddir)/src/libqd.la $(FCLIBS)
+ ddmod.lo: $(DDEXT) ddext.lo
+ qdmod.lo: ddmod.lo $(DDMOD) qdext.lo
+ $(QDMOD): qdmod.lo $(DDMOD)
diff --git a/qd.spec b/qd.spec
index 8e75227..754d1f1 100644
--- a/qd.spec
+++ b/qd.spec
@@ -1,16 +1,21 @@
# Fortran module directory
-%{!?python_sitearch: %global _fmoddir %{_libdir}/gfortran/modules}
+%{!?_fmoddir: %global _fmoddir %{_libdir}/gfortran/modules}
Name: qd
-Version: 2.3.15
-Release: 12%{?dist}
+Version: 2.3.22
+Release: 1%{?dist}
Summary: Double-Double and Quad-Double Arithmetic
-License: BSD
+License: LBNL BSD
URL:
http://crd.lbl.gov/~dhbailey/mpdist/
-Source0:
http://crd.lbl.gov/~dhbailey/mpdist/qd-%{version}.tar.gz
+Source0:
http://crd.lbl.gov/~dhbailey/mpdist/%{name}-%{version}.tar.gz
+# Fix underlinked libraries
+Patch0: %{name}-lib-deps.patch
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
+BuildRequires: ghostscript-tools-dvipdf
+BuildRequires: libtool
+BuildRequires: tex(latex)
%description
This package provides numeric types of twice the precision of IEEE
@@ -28,8 +33,7 @@ are also included.
%package devel
Summary: Double-Double and Quad-Double Arithmetic
-Requires: qd = %{version}-%{release}
-Obsoletes: qd-static < %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
%description devel
This package provides numeric types of twice the precision of IEEE
@@ -45,12 +49,18 @@ multiply, divide, square root), common transcendental functions such
as the exponential, logarithm, trigonometric and hyperbolic functions
are also included.
-
%prep
-%setup -q -n qd-%{version}
+%autosetup -p0
+
+# Force documentation rebuild
+rm -f docs/qd.pdf
+sed -i 's/docsqd\.pdf/docs qd.pdf/' Makefile.am
+
+# Regenerate the makefiles due to the changes above and timestamp issues
+autoreconf -fi .
%build
-%ifarch s390 s390x aarch64
+%ifarch s390 s390x aarch64 ppc64le
%global optflags %{optflags} -ffp-contract=off
%endif
export CC=gcc
@@ -59,12 +69,22 @@ export FC=gfortran
export FCFLAGS="%{optflags}"
%configure --enable-shared --disable-static
-make %{?_smp_mflags}
+# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
+# -Wl,--as-needed after all the libraries.
+sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g'
\
+ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
+ -e 's|CC="gfortran"|CC="gfortran -Wl,--as-needed"|' \
+ -e 's|CC=.g[c+][c+]|& -Wl,--as-needed|' \
+ -i libtool
+
+# Supply missing fortran tags
+sed -i '/F77/s/\$(AM_V_lt)/& --tag=FC/' fortran/Makefile
+
+%make_build
%install
-rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT
+%make_install
# Fix location of documentation
mv %{buildroot}%{_docdir}/qd/* .
@@ -77,14 +97,18 @@ mv %{buildroot}%{_includedir}/qd/*.mod
%{buildroot}%{_fmoddir}/%{name}
# Remove la file
rm %{buildroot}%{_libdir}/*.la
-%ldconfig_scriptlets
+# Fix pkgconfig file on 64-bit systems
+if [ "%{_lib}" = "lib64" ]; then
+ sed -i 's/^libdir=.*/&64/' %{buildroot}%{_libdir}/pkgconfig/qd.pc
+fi
%check
-make check
+LD_LIBRARY_PATH=$PWD/src/.libs:$PWD/fortran/.libs make check
%files
-%doc AUTHORS COPYING NEWS README TODO
-%{_libdir}/libqd*.so.*
+%doc AUTHORS NEWS README TODO
+%license BSD-LBNL-License.doc COPYING
+%{_libdir}/libqd*.so.0*
%files devel
%doc qd.pdf
@@ -92,9 +116,18 @@ make check
%{_fmoddir}/qd/
%{_includedir}/qd/
%{_libdir}/libqd*.so
-
+%{_libdir}/pkgconfig/qd.pc
%changelog
+* Wed Aug 28 2019 Jerry James <loganjerry(a)gmail.com> - 2.3.22-1
+- Update to 2.3.22
+- Change License to LBNL BSD
+- Add -lib-deps patch to fix underlinked libraries
+- Drop ancient Obsoletes
+- Rebuild the documentation
+- Add ppc64le to the list of arches that need -ffp-contract=off
+- Remove rpaths and fix overlinked libraries
+
* Fri Jul 26 2019 Fedora Release Engineering <releng(a)fedoraproject.org> -
2.3.15-12
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
diff --git a/sources b/sources
index cd8eac5..c7f52d9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c67380bfe059258798c57bedb642a277 qd-2.3.15.tar.gz
+SHA512 (qd-2.3.22.tar.gz) =
3d15a50d77646c64bfa48975cd9514e1fa143d3f9494feaa74bb5c7f2842381835379dcc03b48254f4bca46035b4188babbfb4aa53001d943726541f89562d58