Architecture specific change in rpms/eccodes.git
by githook-noreply@fedoraproject.org
The package rpms/eccodes.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/eccodes.git/commit/?id=59ad77e599....
Change:
+ExcludeArch: armv7hl
Thanks.
Full change:
============
commit 59ad77e5991b6e774f48278bdfe45bb6d5bb6692
Author: Jos de Kloe <josdekloe(a)gmail.com>
Date: Wed Oct 10 21:23:25 2018 +0200
enable ExcludeArch again
diff --git a/eccodes.spec b/eccodes.spec
index d1ef81f..0fca661 100644
--- a/eccodes.spec
+++ b/eccodes.spec
@@ -87,16 +87,16 @@ Requires: %{name}-data = %{version}-%{release}
Obsoletes: grib_api < %{final_grib_api_version}
-## as explained in bugzilla #1562066
-#ExcludeArch: i686
-## as explained in bugzilla #1562071
-## note: this is no longer part of fc30/rawhide
-## but the exclude is still needed for EPEL-7
-#ExcludeArch: ppc64
-## as explained in bugzilla #1562076
-#ExcludeArch: s390x
-## as explained in bugzilla #1562084
-#ExcludeArch: armv7hl
+# as explained in bugzilla #1562066
+ExcludeArch: i686
+# as explained in bugzilla #1562071
+# note: this is no longer part of fc30/rawhide
+# but the exclude is still needed for EPEL-7
+ExcludeArch: ppc64
+# as explained in bugzilla #1562076
+ExcludeArch: s390x
+# as explained in bugzilla #1562084
+ExcludeArch: armv7hl
%if 0%{?rhel} >= 7
# as explained in bugzilla #1629377
5 years, 7 months
Architecture specific change in rpms/eclipse-cdt.git
by githook-noreply@fedoraproject.org
The package rpms/eclipse-cdt.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/eclipse-cdt.git/commit/?id=419c98....
Change:
+%ifarch s390x aarch64 ppc64le ppc64 %{arm}
Thanks.
Full change:
============
commit 419c9864fc24ff3b19afb77d88182b797ca00307
Author: Jeff Johnston <jjohnstn(a)redhat.com>
Date: Wed Oct 10 14:58:03 2018 -0400
Fix arm build for last change.
diff --git a/eclipse-cdt.spec b/eclipse-cdt.spec
index ce24375..50011e6 100644
--- a/eclipse-cdt.spec
+++ b/eclipse-cdt.spec
@@ -268,7 +268,7 @@ sed -i -e 's/x86/%{eclipse_arch}/g' \
# remove fragments in standalone product file on platforms they aren't
# shipped
-%ifarch s390x aarch64 ppc64le ppc64 arm
+%ifarch s390x aarch64 ppc64le ppc64 %{arm}
sed -i '/filesystem.linux.%{eclipse_arch}/d' \
debug/org.eclipse.cdt.debug.application.product/debug.product
sed -i '/net.linux.%{eclipse_arch}/d' \
5 years, 7 months
Architecture specific change in rpms/eccodes.git
by githook-noreply@fedoraproject.org
The package rpms/eccodes.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/eccodes.git/commit/?id=ea19539846....
Change:
-ExcludeArch: armv7hl
Thanks.
Full change:
============
commit ea19539846690cb1176795769b8529ce9389532a
Author: Jos de Kloe <josdekloe(a)gmail.com>
Date: Wed Oct 10 20:16:16 2018 +0200
disable ExcludeArch for fedora testing
diff --git a/eccodes.spec b/eccodes.spec
index 0fca661..d1ef81f 100644
--- a/eccodes.spec
+++ b/eccodes.spec
@@ -87,16 +87,16 @@ Requires: %{name}-data = %{version}-%{release}
Obsoletes: grib_api < %{final_grib_api_version}
-# as explained in bugzilla #1562066
-ExcludeArch: i686
-# as explained in bugzilla #1562071
-# note: this is no longer part of fc30/rawhide
-# but the exclude is still needed for EPEL-7
-ExcludeArch: ppc64
-# as explained in bugzilla #1562076
-ExcludeArch: s390x
-# as explained in bugzilla #1562084
-ExcludeArch: armv7hl
+## as explained in bugzilla #1562066
+#ExcludeArch: i686
+## as explained in bugzilla #1562071
+## note: this is no longer part of fc30/rawhide
+## but the exclude is still needed for EPEL-7
+#ExcludeArch: ppc64
+## as explained in bugzilla #1562076
+#ExcludeArch: s390x
+## as explained in bugzilla #1562084
+#ExcludeArch: armv7hl
%if 0%{?rhel} >= 7
# as explained in bugzilla #1629377
commit a5ffadf6c3d404bad5191a85b26925bd75b117cf
Author: Jos de Kloe <josdekloe(a)gmail.com>
Date: Wed Oct 10 20:15:18 2018 +0200
update to new upstream version
diff --git a/eccodes-32bit.patch b/eccodes-32bit.patch
index 4ef204e..25cdda3 100644
--- a/eccodes-32bit.patch
+++ b/eccodes-32bit.patch
@@ -1,6 +1,6 @@
---- eccodes-2.8.2-Source.orig/src/grib_api_prototypes.h 2018-08-06 11:45:33.000000000 +0200
-+++ eccodes-2.8.2-Source/src/grib_api_prototypes.h 2018-09-09 12:06:18.628509429 +0200
-@@ -871,8 +871,8 @@ double grib_ieeefloat_error(double x);
+--- eccodes-2.9.0-Source.orig/src/grib_api_prototypes.h 2018-09-27 15:34:35.000000000 +0200
++++ eccodes-2.9.0-Source/src/grib_api_prototypes.h 2018-10-07 14:26:19.551765319 +0200
+@@ -870,8 +870,8 @@ double grib_ieeefloat_error(double x);
double grib_long_to_ieee(unsigned long x);
int grib_nearest_smaller_ieee_float(double a, double *x);
unsigned long grib_ieee_to_long(double x);
@@ -11,8 +11,8 @@
int grib_ieee_decode_array(grib_context *c, unsigned char *buf, size_t nvals, int bytes, double *val);
int grib_ieee_decode_array(grib_context *c, unsigned char *buf, size_t nvals, int bytes, double *val);
int grib_ieee_encode_array(grib_context *c, double *val, size_t nvals, int bytes, unsigned char *buf);
---- eccodes-2.8.2-Source.orig/src/grib_ieeefloat.c 2018-08-06 11:45:33.000000000 +0200
-+++ eccodes-2.8.2-Source/src/grib_ieeefloat.c 2018-09-09 12:06:18.628509429 +0200
+--- eccodes-2.9.0-Source.orig/src/grib_ieeefloat.c 2018-09-27 15:34:35.000000000 +0200
++++ eccodes-2.9.0-Source/src/grib_ieeefloat.c 2018-10-07 14:26:19.553765269 +0200
@@ -392,14 +392,14 @@ unsigned long grib_ieee_to_long(double x
* grib_encode_unsigned_long.
*/
diff --git a/eccodes.spec b/eccodes.spec
index 483b989..0fca661 100644
--- a/eccodes.spec
+++ b/eccodes.spec
@@ -1,18 +1,18 @@
Name: eccodes
-Version: 2.8.2
-Release: 4%{?dist}
+Version: 2.9.0
+Release: 1%{?dist}
Summary: WMO data format decoding and encoding
# force the shared libraries to have these so versions
%global so_version 0.1
%global so_version_f90 0.1
-%global datapack_date 20180705
+%global datapack_date 20181010
-# latest rawhide grib_api version is 1.27.0-1
+# latest rawhide grib_api version is 1.27.0-2
# but this version number is to be updated as soon as we know
# what the final release of grib_api by upstream will be.
# latest upstream grib_api release is 1.27.0 (09-Sep-2018)
-%global final_grib_api_version 1.27.0-1
+%global final_grib_api_version 1.27.0-2
# license remarks:
# most of eccodes is licensed ASL 2.0 but a special case must be noted.
@@ -27,11 +27,9 @@ License: ASL 2.0
URL: https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
Source0: https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-%{v...
# note: this data package is unversioned upstream but still it is updated
-# now and then. The current copy was downloaded 05-Jul-2018
-# todo: rename the datapack using the download date to make it versioned
-# in fedora and figure out how to insert this in this Source1 entry
-# (next time it changes)
-Source1: http://download.ecmwf.org/test-data/eccodes/eccodes_test_data.tar.gz
+# now and then so rename the datapack using the download date
+# to make it versioned in fedora
+Source1: http://download.ecmwf.org/test-data/eccodes/eccodes_test_data.tar.gz#/ecc...
# Support 32-bit
# https://software.ecmwf.int/issues/browse/SUP-1813
# (unfortunately this issue is not public)
@@ -365,6 +363,9 @@ ctest3 -V %{?_smp_mflags}
%changelog
+* Sun Oct 7 2018 Jos de Kloe <josdekloe(a)gmail.com> - 2.9.0-1
+- Upgrade to upstream version 2.9.0
+
* Sat Sep 15 2018 Jos de Kloe <josdekloe(a)gmail.com> - 2.8.2-4
- add Excludearch for aarch64 on epel7
commit 5cb37b9fd3a12d09c303add8802d090c9f2c7b96
Author: Jos de Kloe <josdekloe(a)gmail.com>
Date: Wed Oct 10 20:13:56 2018 +0200
upload new sources
diff --git a/.gitignore b/.gitignore
index 1517312..91716f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
/eccodes-2.7.3-Source.tar.gz
/eccodes-2.8.0-Source.tar.gz
/eccodes-2.8.2-Source.tar.gz
+/eccodes-2.9.0-Source.tar.gz
+/eccodes_test_data_20181010.tar.gz
diff --git a/sources b/sources
index aabef93..960e39b 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,4 @@
SHA512 (eccodes-2.8.2-Source.tar.gz) = 942de24390df9de64a768e2f351c9acef5b0550a59695016b9753b22fbff260f8a6f9780240dbb2402bec372ee4c8224a68f3d70699a5df42b23c0a4c073114d
SHA512 (eccodes_test_data.tar.gz) = 0f13137584525f12e184068501cc13a58fb8bb16ada680ca7f1575c6066fd2bc5995ec7afffb175c38958e71d991cea4b3972ad01402b54d2550e442241ffc7b
+SHA512 (eccodes-2.9.0-Source.tar.gz) = c485255d85d78600fbb4828d9d6eaf2e03a425b7eb8fe5cb1a5f5f822df8b830eddeaa06013327ca1f7247b0012e1ee78814a164a5ccf4b1e90c1a62a35431ea
+SHA512 (eccodes_test_data_20181010.tar.gz) = 24c24ec9e01d230cf542abe5c131f05b8e627dd9d170c666628bb5fd8f7b1a6aa11a35456b8d742c59f54c6aabac78658efd68b0c50779d466aba3d35b4a0231
5 years, 7 months
Architecture specific change in rpms/eclipse-cdt.git
by githook-noreply@fedoraproject.org
The package rpms/eclipse-cdt.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/eclipse-cdt.git/commit/?id=4bf02e....
Change:
+%ifarch s390x aarch64 ppc64le ppc64 arm
Thanks.
Full change:
============
commit 4bf02e160bb1c7695da47466ea1a756b47eabf50
Author: Jeff Johnston <jjohnstn(a)redhat.com>
Date: Wed Oct 10 10:37:36 2018 -0400
Build the CDT standalone debugger as an RCP application and package
diff --git a/eclipse-cdt-standalone.patch b/eclipse-cdt-standalone.patch
new file mode 100644
index 0000000..7a6ff5d
--- /dev/null
+++ b/eclipse-cdt-standalone.patch
@@ -0,0 +1,30 @@
+diff -up ./debug/org.eclipse.cdt.debug.application.product/pom.xml.fix ./debug/org.eclipse.cdt.debug.application.product/pom.xml
+--- ./debug/org.eclipse.cdt.debug.application.product/pom.xml.fix 2018-10-07 17:59:03.162394450 +0000
++++ ./debug/org.eclipse.cdt.debug.application.product/pom.xml 2018-10-07 17:59:35.593266852 +0000
+@@ -72,26 +72,6 @@
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+- <environment>
+- <os>linux</os>
+- <ws>gtk</ws>
+- <arch>x86_64</arch>
+- </environment>
+- <environment>
+- <os>win32</os>
+- <ws>win32</ws>
+- <arch>x86</arch>
+- </environment>
+- <environment>
+- <os>win32</os>
+- <ws>win32</ws>
+- <arch>x86_64</arch>
+- </environment>
+- <environment>
+- <os>macosx</os>
+- <ws>cocoa</ws>
+- <arch>x86_64</arch>
+- </environment>
+ </environments>
+ </configuration>
+ </plugin>
diff --git a/eclipse-cdt.spec b/eclipse-cdt.spec
index 9316338..ce24375 100644
--- a/eclipse-cdt.spec
+++ b/eclipse-cdt.spec
@@ -16,6 +16,8 @@ Epoch: 2
%global cdt_snapshot org.eclipse.cdt-55569e158ce4a1026f3d2405945154d349dc724c
%global template_snapshot org.eclipse.tools.templates-c7881b5a9894ee1fdb2fa9bc5dd37359533627b5
+%global _cdtstandalonedir %{_prefix}/lib/cdt-stand-alone-debugger
+
%ifarch %{ix86}
%global eclipse_arch x86
%endif
@@ -36,7 +38,7 @@ Epoch: 2
Summary: Eclipse C/C++ Development Tools (CDT) plugin
Name: eclipse-cdt
Version: 9.5.3
-Release: 3%{?dist}
+Release: 4%{?dist}
License: EPL-1.0 and CPL
URL: http://www.eclipse.org/cdt
@@ -65,7 +67,11 @@ Patch3: eclipse-cdt-cdtdebug-readme.patch
# Following fixes Eclipse bug 538994 concerning argv parms and cdtdebug.sh script
Patch4: eclipse-cdt-cdtdebug.patch2
+# Remove invalid configurations used when building standalone debugger
+Patch5: eclipse-cdt-standalone.patch
+
BuildRequires: make
+BuildRequires: rsync
BuildRequires: gcc-c++
BuildRequires: tycho
BuildRequires: tycho-extras
@@ -212,6 +218,7 @@ cp %{SOURCE4} man
%patch2 -p0
%patch3 -p1
%patch4 -p0
+%patch5 -p0
# Use unversioned dep of packages that can be supplied by the JRE
sed -i -e '/javax.xml.bind/s/;version="2.2.0"//' \
@@ -256,6 +263,18 @@ sed -i -e 's|-m.. |$(CFLAGS) $(LDFLAGS) |' \
sed -i -e 's/x86_64/%{eclipse_arch}/' \
debug/org.eclipse.cdt.debug.application.product/debug.product
+sed -i -e 's/x86/%{eclipse_arch}/g' \
+ debug/org.eclipse.cdt.debug.application.product/pom.xml
+
+# remove fragments in standalone product file on platforms they aren't
+# shipped
+%ifarch s390x aarch64 ppc64le ppc64 arm
+sed -i '/filesystem.linux.%{eclipse_arch}/d' \
+ debug/org.eclipse.cdt.debug.application.product/debug.product
+sed -i '/net.linux.%{eclipse_arch}/d' \
+ debug/org.eclipse.cdt.debug.application.product/debug.product
+%endif
+
# Force the arch-specific plug-ins to be dir-shaped so that binary stripping works and the native files
# aren't loaded into the user.home .eclipse configuration
echo "Eclipse-BundleShape: dir" >> core/org.eclipse.cdt.core.linux.%{eclipse_arch}/META-INF/MANIFEST.MF
@@ -415,7 +434,7 @@ popd
# Exclude EquinoxResolver to avoid NPE occuring on arm and increase memory for s390
export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState"
-%mvn_build -j -f -- -Dtycho.local.keepTarget -Dnative=linux.%{eclipse_arch}
+%mvn_build -j -f -- -Dtycho.local.keepTarget -Dnative=linux.%{eclipse_arch} -Pbuild-standalone-debugger-rcp
%install
%mvn_install
@@ -423,6 +442,13 @@ export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/o
binInstallDir=${RPM_BUILD_ROOT}/%{_bindir}
install -d -m755 $binInstallDir
+libInstallDir=${RPM_BUILD_ROOT}/%{_cdtstandalonedir}
+install -d -m755 $libInstallDir
+
+#standalone debugger - copy it into right location
+rsync -vrpl debug/org.eclipse.cdt.debug.application.product/target/products/org.eclipse.cdt.debug.application.product/linux/gtk/%{eclipse_arch}/cdt-stand-alone-debugger \
+ %{buildroot}%{_prefix}/lib
+
cat << EOFSCRIPT > eclipse-runCDTTestBundles
#! /bin/bash
eclipse-runTestBundles %{_javadir}/cdt-tests
@@ -484,7 +510,12 @@ sed -i -e "s,org.eclipse.cdt.debug.application\,,file\\\\:%{eclipse_base}/drople
sed -i -e "s,cp config.ini,cp %{eclipse_base}/droplets/cdt/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
sed -i -e "s,cp dev.properties,cp %{eclipse_base}/droplets/cdt/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/dev.properties," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
-install -D -m 755 org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh $binInstallDir/cdtdebug
+#install -D -m 755 org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh $binInstallDir/cdtdebug
+popd
+
+# Symlink cdtdebug binary
+pushd %{buildroot}%{_bindir}
+ ln -s %{_cdtstandlonedir}/cdtdebug
popd
echo %{eclipse_base}/droplets/cdt/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar >> .mfiles
@@ -535,6 +566,7 @@ fi
%files -f .mfiles
%{_bindir}/cdtdebug
+%{_cdtstandalonedir}/*
/usr/share/applications/*
/usr/share/pixmaps/*
/usr/share/icons/*/*/apps/*
@@ -585,6 +617,9 @@ fi
%endif
%changelog
+* Tue Oct 09 2018 Jeff Johnston <jjohnstn(a)redhat.com> - 2:9.5.3-4
+- Build the CDT standalone debugger as an RCP application and package
+
* Thu Oct 04 2018 Mat Booth <mat.booth(a)redhat.com> - 2:9.5.3-3
- Fix missing requirement on lldb and improve installtion recommendations
5 years, 7 months
Architecture specific change in rpms/eclipse-cdt.git
by githook-noreply@fedoraproject.org
The package rpms/eclipse-cdt.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/eclipse-cdt.git/commit/?id=4bf02e....
Change:
+%ifarch s390x aarch64 ppc64le ppc64 arm
Thanks.
Full change:
============
commit 4bf02e160bb1c7695da47466ea1a756b47eabf50
Author: Jeff Johnston <jjohnstn(a)redhat.com>
Date: Wed Oct 10 10:37:36 2018 -0400
Build the CDT standalone debugger as an RCP application and package
diff --git a/eclipse-cdt-standalone.patch b/eclipse-cdt-standalone.patch
new file mode 100644
index 0000000..7a6ff5d
--- /dev/null
+++ b/eclipse-cdt-standalone.patch
@@ -0,0 +1,30 @@
+diff -up ./debug/org.eclipse.cdt.debug.application.product/pom.xml.fix ./debug/org.eclipse.cdt.debug.application.product/pom.xml
+--- ./debug/org.eclipse.cdt.debug.application.product/pom.xml.fix 2018-10-07 17:59:03.162394450 +0000
++++ ./debug/org.eclipse.cdt.debug.application.product/pom.xml 2018-10-07 17:59:35.593266852 +0000
+@@ -72,26 +72,6 @@
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+- <environment>
+- <os>linux</os>
+- <ws>gtk</ws>
+- <arch>x86_64</arch>
+- </environment>
+- <environment>
+- <os>win32</os>
+- <ws>win32</ws>
+- <arch>x86</arch>
+- </environment>
+- <environment>
+- <os>win32</os>
+- <ws>win32</ws>
+- <arch>x86_64</arch>
+- </environment>
+- <environment>
+- <os>macosx</os>
+- <ws>cocoa</ws>
+- <arch>x86_64</arch>
+- </environment>
+ </environments>
+ </configuration>
+ </plugin>
diff --git a/eclipse-cdt.spec b/eclipse-cdt.spec
index 9316338..ce24375 100644
--- a/eclipse-cdt.spec
+++ b/eclipse-cdt.spec
@@ -16,6 +16,8 @@ Epoch: 2
%global cdt_snapshot org.eclipse.cdt-55569e158ce4a1026f3d2405945154d349dc724c
%global template_snapshot org.eclipse.tools.templates-c7881b5a9894ee1fdb2fa9bc5dd37359533627b5
+%global _cdtstandalonedir %{_prefix}/lib/cdt-stand-alone-debugger
+
%ifarch %{ix86}
%global eclipse_arch x86
%endif
@@ -36,7 +38,7 @@ Epoch: 2
Summary: Eclipse C/C++ Development Tools (CDT) plugin
Name: eclipse-cdt
Version: 9.5.3
-Release: 3%{?dist}
+Release: 4%{?dist}
License: EPL-1.0 and CPL
URL: http://www.eclipse.org/cdt
@@ -65,7 +67,11 @@ Patch3: eclipse-cdt-cdtdebug-readme.patch
# Following fixes Eclipse bug 538994 concerning argv parms and cdtdebug.sh script
Patch4: eclipse-cdt-cdtdebug.patch2
+# Remove invalid configurations used when building standalone debugger
+Patch5: eclipse-cdt-standalone.patch
+
BuildRequires: make
+BuildRequires: rsync
BuildRequires: gcc-c++
BuildRequires: tycho
BuildRequires: tycho-extras
@@ -212,6 +218,7 @@ cp %{SOURCE4} man
%patch2 -p0
%patch3 -p1
%patch4 -p0
+%patch5 -p0
# Use unversioned dep of packages that can be supplied by the JRE
sed -i -e '/javax.xml.bind/s/;version="2.2.0"//' \
@@ -256,6 +263,18 @@ sed -i -e 's|-m.. |$(CFLAGS) $(LDFLAGS) |' \
sed -i -e 's/x86_64/%{eclipse_arch}/' \
debug/org.eclipse.cdt.debug.application.product/debug.product
+sed -i -e 's/x86/%{eclipse_arch}/g' \
+ debug/org.eclipse.cdt.debug.application.product/pom.xml
+
+# remove fragments in standalone product file on platforms they aren't
+# shipped
+%ifarch s390x aarch64 ppc64le ppc64 arm
+sed -i '/filesystem.linux.%{eclipse_arch}/d' \
+ debug/org.eclipse.cdt.debug.application.product/debug.product
+sed -i '/net.linux.%{eclipse_arch}/d' \
+ debug/org.eclipse.cdt.debug.application.product/debug.product
+%endif
+
# Force the arch-specific plug-ins to be dir-shaped so that binary stripping works and the native files
# aren't loaded into the user.home .eclipse configuration
echo "Eclipse-BundleShape: dir" >> core/org.eclipse.cdt.core.linux.%{eclipse_arch}/META-INF/MANIFEST.MF
@@ -415,7 +434,7 @@ popd
# Exclude EquinoxResolver to avoid NPE occuring on arm and increase memory for s390
export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState"
-%mvn_build -j -f -- -Dtycho.local.keepTarget -Dnative=linux.%{eclipse_arch}
+%mvn_build -j -f -- -Dtycho.local.keepTarget -Dnative=linux.%{eclipse_arch} -Pbuild-standalone-debugger-rcp
%install
%mvn_install
@@ -423,6 +442,13 @@ export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/o
binInstallDir=${RPM_BUILD_ROOT}/%{_bindir}
install -d -m755 $binInstallDir
+libInstallDir=${RPM_BUILD_ROOT}/%{_cdtstandalonedir}
+install -d -m755 $libInstallDir
+
+#standalone debugger - copy it into right location
+rsync -vrpl debug/org.eclipse.cdt.debug.application.product/target/products/org.eclipse.cdt.debug.application.product/linux/gtk/%{eclipse_arch}/cdt-stand-alone-debugger \
+ %{buildroot}%{_prefix}/lib
+
cat << EOFSCRIPT > eclipse-runCDTTestBundles
#! /bin/bash
eclipse-runTestBundles %{_javadir}/cdt-tests
@@ -484,7 +510,12 @@ sed -i -e "s,org.eclipse.cdt.debug.application\,,file\\\\:%{eclipse_base}/drople
sed -i -e "s,cp config.ini,cp %{eclipse_base}/droplets/cdt/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/config.ini," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
sed -i -e "s,cp dev.properties,cp %{eclipse_base}/droplets/cdt/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/dev.properties," org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh
-install -D -m 755 org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh $binInstallDir/cdtdebug
+#install -D -m 755 org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/scripts/cdtdebug.sh $binInstallDir/cdtdebug
+popd
+
+# Symlink cdtdebug binary
+pushd %{buildroot}%{_bindir}
+ ln -s %{_cdtstandlonedir}/cdtdebug
popd
echo %{eclipse_base}/droplets/cdt/plugins/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION/org.eclipse.cdt.debug.application_$DEBUGAPPLICATIONVERSION.jar >> .mfiles
@@ -535,6 +566,7 @@ fi
%files -f .mfiles
%{_bindir}/cdtdebug
+%{_cdtstandalonedir}/*
/usr/share/applications/*
/usr/share/pixmaps/*
/usr/share/icons/*/*/apps/*
@@ -585,6 +617,9 @@ fi
%endif
%changelog
+* Tue Oct 09 2018 Jeff Johnston <jjohnstn(a)redhat.com> - 2:9.5.3-4
+- Build the CDT standalone debugger as an RCP application and package
+
* Thu Oct 04 2018 Mat Booth <mat.booth(a)redhat.com> - 2:9.5.3-3
- Fix missing requirement on lldb and improve installtion recommendations
5 years, 7 months
Architecture specific change in rpms/blis.git
by githook-noreply@fedoraproject.org
The package rpms/blis.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/blis.git/commit/?id=39dcaaa2e670a....
Change:
+%ifarch x86_64
Thanks.
Full change:
============
commit 195f206b6610eb2612183868d09b4d1d88a25ac3
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Wed Oct 10 11:41:12 2018 +0100
Fix __isa-bits conditionals
diff --git a/blis.spec b/blis.spec
index b9b0728..dd96fdd 100644
--- a/blis.spec
+++ b/blis.spec
@@ -68,7 +68,7 @@ Summary: Development files for %name
Requires: %name%{?_isa} = %version-%release
Requires: %name-openmp%{?_isa} = %version-%release
Requires: %name-threads%{?_isa} = %version-%release
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
Requires: %name-serial64%{?_isa} = %version-%release
Requires: %name-openmp64%{?_isa} = %version-%release
Requires: %name-threads64%{?_isa} = %version-%release
@@ -173,7 +173,7 @@ for d in o p; do
ln -s libblas.so.3 blisblas$d/libblas.so
done
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
./configure --prefix=$(pwd)/64 %confflags -b 64 $arch
%make_build SOFLAGS="-shared -Wl,-soname=libblis64.so%sover"
@@ -217,7 +217,7 @@ mv serial/include/blis %buildroot%_includedir
for d in o p; do
cp -a $d/include/blis %buildroot%_includedir/blis$d
done
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
cp -a {64,o64,p64}/lib/* %buildroot%_libdir
for d in 64 o64 p64; do
cp -a $d/include/blis %buildroot%_includedir/blis$d
@@ -343,7 +343,7 @@ export LD_LIBRARY_PATH=`pwd`/serial/lib
%{_libdir}/libblisp.so%{sover}*
%{_libdir}/blisblasp
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
%files serial64
%doc %docs
commit 39dcaaa2e670a3145c6b56ec8d9a8e6963be804a
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Wed Oct 10 11:27:16 2018 +0100
Initial checkin
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..25c0eca
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/blis-0.4.1.tar.gz
diff --git a/blis-python.patch b/blis-python.patch
new file mode 100644
index 0000000..881367b
--- /dev/null
+++ b/blis-python.patch
@@ -0,0 +1,8 @@
+--- blis-0.3.2/build/flatten-headers.py~ 2018-04-28 20:07:31.000000000 +0100
++++ blis-0.3.2/build/flatten-headers.py 2018-06-18 11:21:42.149168214 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ #
+ # BLIS
+ # An object-based framework for developing high-performance BLAS-like
diff --git a/blis.spec b/blis.spec
new file mode 100644
index 0000000..b9b0728
--- /dev/null
+++ b/blis.spec
@@ -0,0 +1,397 @@
+# Copyright (C) 2018 Dave love, University of Manchester
+# Licence as for the package source
+
+%global gitver %nil
+%if 0
+%global commit 01c4173238baf08e7f6700a3f91a2ea58cca50c1
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global gitver .git%shortcommit
+%endif
+
+# The full tests are very time-consuming
+%bcond_with fulltest
+
+%global sover .1
+
+# Use devtoolset 6, not 7, to get a libgfortran compatible with the
+# system one, but with decent avx512 hardware support.
+%ifnarch ppc64le
+%{?rhel:%global dts6 1}
+%endif
+
+# Avoid failure with missing pthread_once in check
+%undefine _ld_as_needed
+
+Name: blis
+Version: 0.4.1
+Release: 2%gitver%{?dist}
+Summary: BLAS-like Library Instantiation Software Framework
+License: BSD
+URL: https://github.com/flame/blis
+%if 0%{?commit}
+Source0: https://github.com/flame/blis/archive/%commit/%name-%shortcommit.tar.gz
+%else
+Source0: https://github.com/flame/blis/archive/%version/%name-%version.tar.gz
+%endif
+# Specify python3
+Patch1: blis-python.patch
+BuildRequires: perl
+BuildRequires: %{?dts6:devtoolset-6-binutils devtoolset-6-}gcc
+BuildRequires: /usr/bin/python3 gcc-gfortran chrpath
+# memkind is currently only relevant for KNL, but might be relevant in
+# future for other targets with HBM.
+%ifarch x86_64
+%{!?el6:BuildRequires: memkind-devel}
+%endif
+
+%global desc \
+BLIS is a portable software framework for instantiating\
+high-performance BLAS-like dense linear algebra libraries. The\
+framework was designed to isolate essential kernels of computation\
+that, when optimized, immediately enable optimized implementations of\
+most of its commonly used and computationally intensive operations.\
+While BLIS exports a new BLAS-like API, it also includes a BLAS\
+compatibility layer which gives application developers access to BLIS\
+implementations via traditional BLAS routine calls.\
+\
+This packaging contains automatically-dispatched\
+architecture-optimized kernels for some targets, notably recent x86_64.
+
+%description
+%desc
+
+This is the serial version.
+
+
+%package devel
+Summary: Development files for %name
+Requires: %name%{?_isa} = %version-%release
+Requires: %name-openmp%{?_isa} = %version-%release
+Requires: %name-threads%{?_isa} = %version-%release
+%if %__isa_bits == 64
+Requires: %name-serial64%{?_isa} = %version-%release
+Requires: %name-openmp64%{?_isa} = %version-%release
+Requires: %name-threads64%{?_isa} = %version-%release
+%endif
+
+%description devel
+The %name-devel package contains libraries and header files for
+developing applications that use %name.
+
+%package serial64
+Summary: BLAS-like Library Instantiation Software Framework - 64-bit
+
+%description serial64
+%desc
+
+This is the serial version with a 64-bit integer interface.
+
+%package openmp
+Summary: BLAS-like Library Instantiation Software Framework - OpenMP
+
+%description openmp
+%desc
+
+This is the OpenMP-parallelized version.
+
+%package openmp64
+Summary: BLAS-like Library Instantiation Software Framework - OpenMP, 64-bit
+
+%description openmp64
+%desc
+
+This is the OpenMP-parallelized version with a 64-bit integer interface.
+
+# A pthreads version is necessary for Python (numpy) according to
+# Debian openblas.
+%package threads
+Summary: BLAS-like Library Instantiation Software Framework - pthreads
+
+%description threads
+%desc
+
+This is the pthreads-parallelized version.
+
+%package threads64
+Summary: BLAS-like Library Instantiation Software Framework - pthreads, 64-bit
+
+%description threads64
+%desc
+
+This is the pthreads-parallelized version with a 64-bit integer interface.
+
+%package srpm-macros
+Summary: BLIS architecture macros
+BuildArch: noarch
+
+%description srpm-macros
+BLIS architecture macros.
+
+
+%prep
+%setup -q %{?commit: -n %name-%commit}
+%patch1 -p1 -b .python
+
+
+%build
+%{?dts6:. /opt/rh/devtoolset-6/enable}
+case %_arch in
+x86_64) arch=x86_64 ;;
+arm*) arch=arm32 ;;
+aarch64) arch=arm64 ;;
+*) arch=generic ;;
+esac
+
+# Hardening flags might be expected to affect performance, but appear
+# not to. With the f29 set and gcc 8 (but measured on EL6) for
+# Haswell, a 50005000 DGEMM ran at 158295565 MFLops with
+# CFLAGS=$RPM_OPT_FLAGS and 158289414 MFlops with no CFLAGS specified.
+# Add back -O3, overridden by -O2 in RPM_OPT_FLAGS.
+%global confflags --enable-debug=opt --disable-static --enable-shared --enable-verbose-make --enable-cblas
+export CFLAGS="$RPM_OPT_FLAGS -O3" LDFLAGS="%{?__global_ldflags}"
+
+# It's not an autotools configure
+./configure --prefix=$(pwd)/o %confflags -t openmp $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libbliso.so%sover"
+make install
+
+./configure --prefix=$(pwd)/p %confflags -t pthreads $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblisp.so%sover"
+make install
+
+# Rename the libraries per soname and generate BLAS_compatible ones
+mkdir -p blisblas{,o,p,64,o64,p64}
+for d in o p; do
+ cd $d/lib
+ f=$( echo libblis.so%sover.* )
+ mv $f ${f/./$d.}
+ ln -s libblis$d.so%sover.* libblis$d.so
+ ln -s libblis$d.so%sover.* libblis$d.so%sover
+ rm libblis.*
+ cd ../..
+ cc -shared -Wl,-soname=libblas.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas.so.3 $LDFLAGS
+ ln -s libblas.so.3 blisblas$d/libblas.so
+done
+
+%if %__isa_bits == 64
+
+./configure --prefix=$(pwd)/64 %confflags -b 64 $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblis64.so%sover"
+make install
+
+./configure --prefix=$(pwd)/o64 %confflags -b 64 -t openmp $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libbliso64.so%sover"
+make install
+
+./configure --prefix=$(pwd)/p64 %confflags -b 64 -t pthreads $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblisp64.so%sover"
+make install
+
+for d in 64 o64 p64; do
+ cd $d/lib
+ f=$( echo libblis.so%sover.* )
+ mv $f ${f/./$d.}
+ ln -s libblis$d.so%sover.* libblis$d.so
+ ln -s libblis$d.so%sover.* libblis$d.so%sover
+ rm -f libblis.*
+ cd ../..
+ cc -shared -Wl,-soname=libblas64.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas64.so.3 $LDFLAGS
+ ln -s libblas64.so.3 blisblas$d/libblas64.so
+done
+
+%endif
+
+# done last for the benefit of check
+./configure --prefix=$(pwd)/serial %confflags $arch
+%make_build
+make install
+cc -shared -Wl,-soname=libblas.so.3 -L$(pwd)/serial/lib -lblis -o blisblas/libblas.so.3 $LDFLAGS
+ln -s libblas.so.3 blisblas/libblas.so
+
+
+%install
+mkdir -p %buildroot%_libdir %buildroot%_includedir
+
+cp -a {serial,o,p}/lib/* %buildroot%_libdir
+mv serial/include/blis %buildroot%_includedir
+for d in o p; do
+ cp -a $d/include/blis %buildroot%_includedir/blis$d
+done
+%if %__isa_bits == 64
+cp -a {64,o64,p64}/lib/* %buildroot%_libdir
+for d in 64 o64 p64; do
+ cp -a $d/include/blis %buildroot%_includedir/blis$d
+done
+%endif
+# Needed for debuginfo processing
+chmod +x %buildroot%_libdir/*.so.*
+cp -a blisblas* %buildroot%_libdir
+# This is quite large.
+gzip CHANGELOG
+chrpath -d %buildroot%_libdir/*.so.*
+
+cat <<EOF >README.Fedora
+Fedora BLIS packaging
+---------------------
+
+Similarly to the OpenBLAS packaging, as well as the serial library
+(libblis), there are versions named with suffix "o" using OpenMP, and
+suffix "p" using pthreads. Also, on 64-bit targets, there are
+versions built with 64-bit integer interfaces, which have suffix "64".
+Thus "libblaso64" is built for 64-bit integers and OpenMP
+parallelization. The cblas interface is included in each version.
+
+For the BLAS interface, BLIS and OpenBLAS are expected to have similar
+performance where they are optimized for the same micro-architectures,
+but do show some performance differences in either direction. BLIS
+supports AVX512 on KNL and SKX, which OpenBLAS currently doesn't, and
+will be more than twice as fast on such systems, which are the main
+targets for this packaging. BLIS' non-BLAS interface is obviously a
+potential advantage generally, but it isn't currently used by any
+Fedora packages.
+
+There are shared library shims in %_libdir/blisblas* for each version
+that provide sonames libblas.so.3 or libblas64.so.3 and so may be
+linked dynamically instead of the reference libblas. You can use an
+ldconfig file so that this will be done automatically if the blis or
+blis64 packages are installed, which will usually be a lot faster than
+the reference version. Otherwise, setting
+LD_LIBRARY_PATH=%_libdir/blisblaso, say, will cause a binary
+dynamically linked against libblas to run with the OpenMP BLIS version
+instead, to allow multiple threads to be used. The shims could be
+extended to substitute the atlas and openblas libraries, but those can
+be overridden by running with LD_PRELOAD=%_libdir/libblis.so%sover in
+the environment.
+
+Runtime dispatch on the micro-architecture is currently only available
+on x86_64 and arm (cortexa15 and cortexa9). aarch64 will use
+cortexa57 instructions or the generic target. Other architectures use
+the "generic" target, so OpenBLAS will be faster on any of them that it
+supports (power64, ix86, and s390x in Fedora).
+
+The blis-srpm-macros package defines RPM macro %blis_opt_arches for
+the architectures with optimized implementations in case the list is
+extended in future.
+
+EOF
+
+%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
+mkdir -p %buildroot%macrosdir
+cat <<EOF >%buildroot%macrosdir/macros.blis-srpm
+# Architectures for for BLIS has an optimized implementation
+%blis_opt_arches x86_64 armv7hl aarch64
+EOF
+
+
+%check
+%{?dts6:. /opt/rh/devtoolset-6/enable}
+# A quick check which tests the Fortran BLAS interface with gfortran,
+# unlike the "test" or "check" targets.
+# Fixme: check a 64-bit version where relevant
+gfortran -o dblat blastest/src/fortran/dblat3.f -Lblisblas -Lserial/lib -lblas -lblis
+LD_LIBRARY_PATH=$(pwd)/serial/lib:$(pwd)/bliblas ./dblat <<+ || { cat dblat3.summ && false; }
+'dblat3.summ'
+6
+'dblat3.snap'
+-1
+F
+T
+T
+16.0
+7
+0 1 2 3 7 31 63
+3
+0.0 1.0 0.7
+3
+0.0 1.0 1.3
+DGEMM T
+DSYMM F
++
+
+export LD_LIBRARY_PATH=`pwd`/serial/lib
+%if %{with fulltest}
+%make_build test
+%else
+%make_build check
+%endif
+
+
+%ldconfig_scriptlets
+%ldconfig_scriptlets openmp
+%ldconfig_scriptlets serial64
+%ldconfig_scriptlets openmp64
+%ldconfig_scriptlets threads
+%ldconfig_scriptlets threads64
+
+%global docs CHANGELOG.gz CREDITS README.md README.Fedora
+
+%files
+%doc %docs
+%license LICENSE
+%{_libdir}/libblis.so%{sover}*
+%{_libdir}/blisblas
+
+%files openmp
+%doc %docs
+%license LICENSE
+%{_libdir}/libbliso.so%{sover}*
+%{_libdir}/blisblaso
+
+%files threads
+%doc %docs
+%license LICENSE
+%{_libdir}/libblisp.so%{sover}*
+%{_libdir}/blisblasp
+
+%if %__isa_bits == 64
+
+%files serial64
+%doc %docs
+%license LICENSE
+%{_libdir}/libblis64.so%{sover}*
+%{_libdir}/blisblas64
+
+%files openmp64
+%doc %docs
+%license LICENSE
+%{_libdir}/libbliso64.so%{sover}*
+%{_libdir}/blisblaso64
+
+%files threads64
+%doc %docs
+%license LICENSE
+%{_libdir}/libblisp64.so%{sover}*
+%{_libdir}/blisblasp64
+
+%endif
+
+%files devel
+%doc examples
+%{_includedir}/*
+%{_libdir}/libblis*.so
+
+%files srpm-macros
+%{macrosdir}/macros.blis-srpm
+
+%changelog
+* Thu Oct 4 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.1-2
+- Use LDFLAGS for BLAS shims
+- Add srpm-macros package
+- Don't override -O3 in CFLAGS
+- Maybe use devtoolset in %%check
+- Remove ld.so.conf files for blisblas libraries
+
+* Tue Sep 11 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.1-1
+- New version
+- Fix running el6 check
+- Use default compilation flags
+- Use chrpath, %%ldconfig_scriptlets
+
+* Wed Aug 15 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.0-1
+- New version, with soname bump, build adjusted
+
+* Mon Jun 18 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.3.2-7
+- Use python3 explicitly, with patch
+
+* Tue Jun 5 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.3.2-6
+- Initial version for Fedora
diff --git a/sources b/sources
new file mode 100644
index 0000000..4d0e9c7
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (blis-0.4.1.tar.gz) = 433ab252893b1525695de1f8e3065771d879f30d69d9c0acc292407d824cc4cfac41b951ab28c36b8e4680a5569e9912ac088f3236eadea62038ec7a6ffcda53
5 years, 7 months
Architecture specific change in rpms/blis.git
by githook-noreply@fedoraproject.org
The package rpms/blis.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/blis.git/commit/?id=39dcaaa2e670a....
Change:
+%ifarch x86_64
Thanks.
Full change:
============
commit 195f206b6610eb2612183868d09b4d1d88a25ac3
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Wed Oct 10 11:41:12 2018 +0100
Fix __isa-bits conditionals
diff --git a/blis.spec b/blis.spec
index b9b0728..dd96fdd 100644
--- a/blis.spec
+++ b/blis.spec
@@ -68,7 +68,7 @@ Summary: Development files for %name
Requires: %name%{?_isa} = %version-%release
Requires: %name-openmp%{?_isa} = %version-%release
Requires: %name-threads%{?_isa} = %version-%release
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
Requires: %name-serial64%{?_isa} = %version-%release
Requires: %name-openmp64%{?_isa} = %version-%release
Requires: %name-threads64%{?_isa} = %version-%release
@@ -173,7 +173,7 @@ for d in o p; do
ln -s libblas.so.3 blisblas$d/libblas.so
done
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
./configure --prefix=$(pwd)/64 %confflags -b 64 $arch
%make_build SOFLAGS="-shared -Wl,-soname=libblis64.so%sover"
@@ -217,7 +217,7 @@ mv serial/include/blis %buildroot%_includedir
for d in o p; do
cp -a $d/include/blis %buildroot%_includedir/blis$d
done
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
cp -a {64,o64,p64}/lib/* %buildroot%_libdir
for d in 64 o64 p64; do
cp -a $d/include/blis %buildroot%_includedir/blis$d
@@ -343,7 +343,7 @@ export LD_LIBRARY_PATH=`pwd`/serial/lib
%{_libdir}/libblisp.so%{sover}*
%{_libdir}/blisblasp
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
%files serial64
%doc %docs
commit 39dcaaa2e670a3145c6b56ec8d9a8e6963be804a
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Wed Oct 10 11:27:16 2018 +0100
Initial checkin
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..25c0eca
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/blis-0.4.1.tar.gz
diff --git a/blis-python.patch b/blis-python.patch
new file mode 100644
index 0000000..881367b
--- /dev/null
+++ b/blis-python.patch
@@ -0,0 +1,8 @@
+--- blis-0.3.2/build/flatten-headers.py~ 2018-04-28 20:07:31.000000000 +0100
++++ blis-0.3.2/build/flatten-headers.py 2018-06-18 11:21:42.149168214 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ #
+ # BLIS
+ # An object-based framework for developing high-performance BLAS-like
diff --git a/blis.spec b/blis.spec
new file mode 100644
index 0000000..b9b0728
--- /dev/null
+++ b/blis.spec
@@ -0,0 +1,397 @@
+# Copyright (C) 2018 Dave love, University of Manchester
+# Licence as for the package source
+
+%global gitver %nil
+%if 0
+%global commit 01c4173238baf08e7f6700a3f91a2ea58cca50c1
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global gitver .git%shortcommit
+%endif
+
+# The full tests are very time-consuming
+%bcond_with fulltest
+
+%global sover .1
+
+# Use devtoolset 6, not 7, to get a libgfortran compatible with the
+# system one, but with decent avx512 hardware support.
+%ifnarch ppc64le
+%{?rhel:%global dts6 1}
+%endif
+
+# Avoid failure with missing pthread_once in check
+%undefine _ld_as_needed
+
+Name: blis
+Version: 0.4.1
+Release: 2%gitver%{?dist}
+Summary: BLAS-like Library Instantiation Software Framework
+License: BSD
+URL: https://github.com/flame/blis
+%if 0%{?commit}
+Source0: https://github.com/flame/blis/archive/%commit/%name-%shortcommit.tar.gz
+%else
+Source0: https://github.com/flame/blis/archive/%version/%name-%version.tar.gz
+%endif
+# Specify python3
+Patch1: blis-python.patch
+BuildRequires: perl
+BuildRequires: %{?dts6:devtoolset-6-binutils devtoolset-6-}gcc
+BuildRequires: /usr/bin/python3 gcc-gfortran chrpath
+# memkind is currently only relevant for KNL, but might be relevant in
+# future for other targets with HBM.
+%ifarch x86_64
+%{!?el6:BuildRequires: memkind-devel}
+%endif
+
+%global desc \
+BLIS is a portable software framework for instantiating\
+high-performance BLAS-like dense linear algebra libraries. The\
+framework was designed to isolate essential kernels of computation\
+that, when optimized, immediately enable optimized implementations of\
+most of its commonly used and computationally intensive operations.\
+While BLIS exports a new BLAS-like API, it also includes a BLAS\
+compatibility layer which gives application developers access to BLIS\
+implementations via traditional BLAS routine calls.\
+\
+This packaging contains automatically-dispatched\
+architecture-optimized kernels for some targets, notably recent x86_64.
+
+%description
+%desc
+
+This is the serial version.
+
+
+%package devel
+Summary: Development files for %name
+Requires: %name%{?_isa} = %version-%release
+Requires: %name-openmp%{?_isa} = %version-%release
+Requires: %name-threads%{?_isa} = %version-%release
+%if %__isa_bits == 64
+Requires: %name-serial64%{?_isa} = %version-%release
+Requires: %name-openmp64%{?_isa} = %version-%release
+Requires: %name-threads64%{?_isa} = %version-%release
+%endif
+
+%description devel
+The %name-devel package contains libraries and header files for
+developing applications that use %name.
+
+%package serial64
+Summary: BLAS-like Library Instantiation Software Framework - 64-bit
+
+%description serial64
+%desc
+
+This is the serial version with a 64-bit integer interface.
+
+%package openmp
+Summary: BLAS-like Library Instantiation Software Framework - OpenMP
+
+%description openmp
+%desc
+
+This is the OpenMP-parallelized version.
+
+%package openmp64
+Summary: BLAS-like Library Instantiation Software Framework - OpenMP, 64-bit
+
+%description openmp64
+%desc
+
+This is the OpenMP-parallelized version with a 64-bit integer interface.
+
+# A pthreads version is necessary for Python (numpy) according to
+# Debian openblas.
+%package threads
+Summary: BLAS-like Library Instantiation Software Framework - pthreads
+
+%description threads
+%desc
+
+This is the pthreads-parallelized version.
+
+%package threads64
+Summary: BLAS-like Library Instantiation Software Framework - pthreads, 64-bit
+
+%description threads64
+%desc
+
+This is the pthreads-parallelized version with a 64-bit integer interface.
+
+%package srpm-macros
+Summary: BLIS architecture macros
+BuildArch: noarch
+
+%description srpm-macros
+BLIS architecture macros.
+
+
+%prep
+%setup -q %{?commit: -n %name-%commit}
+%patch1 -p1 -b .python
+
+
+%build
+%{?dts6:. /opt/rh/devtoolset-6/enable}
+case %_arch in
+x86_64) arch=x86_64 ;;
+arm*) arch=arm32 ;;
+aarch64) arch=arm64 ;;
+*) arch=generic ;;
+esac
+
+# Hardening flags might be expected to affect performance, but appear
+# not to. With the f29 set and gcc 8 (but measured on EL6) for
+# Haswell, a 50005000 DGEMM ran at 158295565 MFLops with
+# CFLAGS=$RPM_OPT_FLAGS and 158289414 MFlops with no CFLAGS specified.
+# Add back -O3, overridden by -O2 in RPM_OPT_FLAGS.
+%global confflags --enable-debug=opt --disable-static --enable-shared --enable-verbose-make --enable-cblas
+export CFLAGS="$RPM_OPT_FLAGS -O3" LDFLAGS="%{?__global_ldflags}"
+
+# It's not an autotools configure
+./configure --prefix=$(pwd)/o %confflags -t openmp $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libbliso.so%sover"
+make install
+
+./configure --prefix=$(pwd)/p %confflags -t pthreads $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblisp.so%sover"
+make install
+
+# Rename the libraries per soname and generate BLAS_compatible ones
+mkdir -p blisblas{,o,p,64,o64,p64}
+for d in o p; do
+ cd $d/lib
+ f=$( echo libblis.so%sover.* )
+ mv $f ${f/./$d.}
+ ln -s libblis$d.so%sover.* libblis$d.so
+ ln -s libblis$d.so%sover.* libblis$d.so%sover
+ rm libblis.*
+ cd ../..
+ cc -shared -Wl,-soname=libblas.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas.so.3 $LDFLAGS
+ ln -s libblas.so.3 blisblas$d/libblas.so
+done
+
+%if %__isa_bits == 64
+
+./configure --prefix=$(pwd)/64 %confflags -b 64 $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblis64.so%sover"
+make install
+
+./configure --prefix=$(pwd)/o64 %confflags -b 64 -t openmp $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libbliso64.so%sover"
+make install
+
+./configure --prefix=$(pwd)/p64 %confflags -b 64 -t pthreads $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblisp64.so%sover"
+make install
+
+for d in 64 o64 p64; do
+ cd $d/lib
+ f=$( echo libblis.so%sover.* )
+ mv $f ${f/./$d.}
+ ln -s libblis$d.so%sover.* libblis$d.so
+ ln -s libblis$d.so%sover.* libblis$d.so%sover
+ rm -f libblis.*
+ cd ../..
+ cc -shared -Wl,-soname=libblas64.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas64.so.3 $LDFLAGS
+ ln -s libblas64.so.3 blisblas$d/libblas64.so
+done
+
+%endif
+
+# done last for the benefit of check
+./configure --prefix=$(pwd)/serial %confflags $arch
+%make_build
+make install
+cc -shared -Wl,-soname=libblas.so.3 -L$(pwd)/serial/lib -lblis -o blisblas/libblas.so.3 $LDFLAGS
+ln -s libblas.so.3 blisblas/libblas.so
+
+
+%install
+mkdir -p %buildroot%_libdir %buildroot%_includedir
+
+cp -a {serial,o,p}/lib/* %buildroot%_libdir
+mv serial/include/blis %buildroot%_includedir
+for d in o p; do
+ cp -a $d/include/blis %buildroot%_includedir/blis$d
+done
+%if %__isa_bits == 64
+cp -a {64,o64,p64}/lib/* %buildroot%_libdir
+for d in 64 o64 p64; do
+ cp -a $d/include/blis %buildroot%_includedir/blis$d
+done
+%endif
+# Needed for debuginfo processing
+chmod +x %buildroot%_libdir/*.so.*
+cp -a blisblas* %buildroot%_libdir
+# This is quite large.
+gzip CHANGELOG
+chrpath -d %buildroot%_libdir/*.so.*
+
+cat <<EOF >README.Fedora
+Fedora BLIS packaging
+---------------------
+
+Similarly to the OpenBLAS packaging, as well as the serial library
+(libblis), there are versions named with suffix "o" using OpenMP, and
+suffix "p" using pthreads. Also, on 64-bit targets, there are
+versions built with 64-bit integer interfaces, which have suffix "64".
+Thus "libblaso64" is built for 64-bit integers and OpenMP
+parallelization. The cblas interface is included in each version.
+
+For the BLAS interface, BLIS and OpenBLAS are expected to have similar
+performance where they are optimized for the same micro-architectures,
+but do show some performance differences in either direction. BLIS
+supports AVX512 on KNL and SKX, which OpenBLAS currently doesn't, and
+will be more than twice as fast on such systems, which are the main
+targets for this packaging. BLIS' non-BLAS interface is obviously a
+potential advantage generally, but it isn't currently used by any
+Fedora packages.
+
+There are shared library shims in %_libdir/blisblas* for each version
+that provide sonames libblas.so.3 or libblas64.so.3 and so may be
+linked dynamically instead of the reference libblas. You can use an
+ldconfig file so that this will be done automatically if the blis or
+blis64 packages are installed, which will usually be a lot faster than
+the reference version. Otherwise, setting
+LD_LIBRARY_PATH=%_libdir/blisblaso, say, will cause a binary
+dynamically linked against libblas to run with the OpenMP BLIS version
+instead, to allow multiple threads to be used. The shims could be
+extended to substitute the atlas and openblas libraries, but those can
+be overridden by running with LD_PRELOAD=%_libdir/libblis.so%sover in
+the environment.
+
+Runtime dispatch on the micro-architecture is currently only available
+on x86_64 and arm (cortexa15 and cortexa9). aarch64 will use
+cortexa57 instructions or the generic target. Other architectures use
+the "generic" target, so OpenBLAS will be faster on any of them that it
+supports (power64, ix86, and s390x in Fedora).
+
+The blis-srpm-macros package defines RPM macro %blis_opt_arches for
+the architectures with optimized implementations in case the list is
+extended in future.
+
+EOF
+
+%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
+mkdir -p %buildroot%macrosdir
+cat <<EOF >%buildroot%macrosdir/macros.blis-srpm
+# Architectures for for BLIS has an optimized implementation
+%blis_opt_arches x86_64 armv7hl aarch64
+EOF
+
+
+%check
+%{?dts6:. /opt/rh/devtoolset-6/enable}
+# A quick check which tests the Fortran BLAS interface with gfortran,
+# unlike the "test" or "check" targets.
+# Fixme: check a 64-bit version where relevant
+gfortran -o dblat blastest/src/fortran/dblat3.f -Lblisblas -Lserial/lib -lblas -lblis
+LD_LIBRARY_PATH=$(pwd)/serial/lib:$(pwd)/bliblas ./dblat <<+ || { cat dblat3.summ && false; }
+'dblat3.summ'
+6
+'dblat3.snap'
+-1
+F
+T
+T
+16.0
+7
+0 1 2 3 7 31 63
+3
+0.0 1.0 0.7
+3
+0.0 1.0 1.3
+DGEMM T
+DSYMM F
++
+
+export LD_LIBRARY_PATH=`pwd`/serial/lib
+%if %{with fulltest}
+%make_build test
+%else
+%make_build check
+%endif
+
+
+%ldconfig_scriptlets
+%ldconfig_scriptlets openmp
+%ldconfig_scriptlets serial64
+%ldconfig_scriptlets openmp64
+%ldconfig_scriptlets threads
+%ldconfig_scriptlets threads64
+
+%global docs CHANGELOG.gz CREDITS README.md README.Fedora
+
+%files
+%doc %docs
+%license LICENSE
+%{_libdir}/libblis.so%{sover}*
+%{_libdir}/blisblas
+
+%files openmp
+%doc %docs
+%license LICENSE
+%{_libdir}/libbliso.so%{sover}*
+%{_libdir}/blisblaso
+
+%files threads
+%doc %docs
+%license LICENSE
+%{_libdir}/libblisp.so%{sover}*
+%{_libdir}/blisblasp
+
+%if %__isa_bits == 64
+
+%files serial64
+%doc %docs
+%license LICENSE
+%{_libdir}/libblis64.so%{sover}*
+%{_libdir}/blisblas64
+
+%files openmp64
+%doc %docs
+%license LICENSE
+%{_libdir}/libbliso64.so%{sover}*
+%{_libdir}/blisblaso64
+
+%files threads64
+%doc %docs
+%license LICENSE
+%{_libdir}/libblisp64.so%{sover}*
+%{_libdir}/blisblasp64
+
+%endif
+
+%files devel
+%doc examples
+%{_includedir}/*
+%{_libdir}/libblis*.so
+
+%files srpm-macros
+%{macrosdir}/macros.blis-srpm
+
+%changelog
+* Thu Oct 4 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.1-2
+- Use LDFLAGS for BLAS shims
+- Add srpm-macros package
+- Don't override -O3 in CFLAGS
+- Maybe use devtoolset in %%check
+- Remove ld.so.conf files for blisblas libraries
+
+* Tue Sep 11 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.1-1
+- New version
+- Fix running el6 check
+- Use default compilation flags
+- Use chrpath, %%ldconfig_scriptlets
+
+* Wed Aug 15 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.0-1
+- New version, with soname bump, build adjusted
+
+* Mon Jun 18 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.3.2-7
+- Use python3 explicitly, with patch
+
+* Tue Jun 5 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.3.2-6
+- Initial version for Fedora
diff --git a/sources b/sources
new file mode 100644
index 0000000..4d0e9c7
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (blis-0.4.1.tar.gz) = 433ab252893b1525695de1f8e3065771d879f30d69d9c0acc292407d824cc4cfac41b951ab28c36b8e4680a5569e9912ac088f3236eadea62038ec7a6ffcda53
5 years, 7 months
Architecture specific change in rpms/blis.git
by githook-noreply@fedoraproject.org
The package rpms/blis.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/blis.git/commit/?id=39dcaaa2e670a....
Change:
+%ifarch x86_64
Thanks.
Full change:
============
commit 195f206b6610eb2612183868d09b4d1d88a25ac3
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Wed Oct 10 11:41:12 2018 +0100
Fix __isa-bits conditionals
diff --git a/blis.spec b/blis.spec
index b9b0728..dd96fdd 100644
--- a/blis.spec
+++ b/blis.spec
@@ -68,7 +68,7 @@ Summary: Development files for %name
Requires: %name%{?_isa} = %version-%release
Requires: %name-openmp%{?_isa} = %version-%release
Requires: %name-threads%{?_isa} = %version-%release
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
Requires: %name-serial64%{?_isa} = %version-%release
Requires: %name-openmp64%{?_isa} = %version-%release
Requires: %name-threads64%{?_isa} = %version-%release
@@ -173,7 +173,7 @@ for d in o p; do
ln -s libblas.so.3 blisblas$d/libblas.so
done
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
./configure --prefix=$(pwd)/64 %confflags -b 64 $arch
%make_build SOFLAGS="-shared -Wl,-soname=libblis64.so%sover"
@@ -217,7 +217,7 @@ mv serial/include/blis %buildroot%_includedir
for d in o p; do
cp -a $d/include/blis %buildroot%_includedir/blis$d
done
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
cp -a {64,o64,p64}/lib/* %buildroot%_libdir
for d in 64 o64 p64; do
cp -a $d/include/blis %buildroot%_includedir/blis$d
@@ -343,7 +343,7 @@ export LD_LIBRARY_PATH=`pwd`/serial/lib
%{_libdir}/libblisp.so%{sover}*
%{_libdir}/blisblasp
-%if %__isa_bits == 64
+%if 0%{?__isa_bits} == 64
%files serial64
%doc %docs
commit 39dcaaa2e670a3145c6b56ec8d9a8e6963be804a
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Wed Oct 10 11:27:16 2018 +0100
Initial checkin
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..25c0eca
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/blis-0.4.1.tar.gz
diff --git a/blis-python.patch b/blis-python.patch
new file mode 100644
index 0000000..881367b
--- /dev/null
+++ b/blis-python.patch
@@ -0,0 +1,8 @@
+--- blis-0.3.2/build/flatten-headers.py~ 2018-04-28 20:07:31.000000000 +0100
++++ blis-0.3.2/build/flatten-headers.py 2018-06-18 11:21:42.149168214 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ #
+ # BLIS
+ # An object-based framework for developing high-performance BLAS-like
diff --git a/blis.spec b/blis.spec
new file mode 100644
index 0000000..b9b0728
--- /dev/null
+++ b/blis.spec
@@ -0,0 +1,397 @@
+# Copyright (C) 2018 Dave love, University of Manchester
+# Licence as for the package source
+
+%global gitver %nil
+%if 0
+%global commit 01c4173238baf08e7f6700a3f91a2ea58cca50c1
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global gitver .git%shortcommit
+%endif
+
+# The full tests are very time-consuming
+%bcond_with fulltest
+
+%global sover .1
+
+# Use devtoolset 6, not 7, to get a libgfortran compatible with the
+# system one, but with decent avx512 hardware support.
+%ifnarch ppc64le
+%{?rhel:%global dts6 1}
+%endif
+
+# Avoid failure with missing pthread_once in check
+%undefine _ld_as_needed
+
+Name: blis
+Version: 0.4.1
+Release: 2%gitver%{?dist}
+Summary: BLAS-like Library Instantiation Software Framework
+License: BSD
+URL: https://github.com/flame/blis
+%if 0%{?commit}
+Source0: https://github.com/flame/blis/archive/%commit/%name-%shortcommit.tar.gz
+%else
+Source0: https://github.com/flame/blis/archive/%version/%name-%version.tar.gz
+%endif
+# Specify python3
+Patch1: blis-python.patch
+BuildRequires: perl
+BuildRequires: %{?dts6:devtoolset-6-binutils devtoolset-6-}gcc
+BuildRequires: /usr/bin/python3 gcc-gfortran chrpath
+# memkind is currently only relevant for KNL, but might be relevant in
+# future for other targets with HBM.
+%ifarch x86_64
+%{!?el6:BuildRequires: memkind-devel}
+%endif
+
+%global desc \
+BLIS is a portable software framework for instantiating\
+high-performance BLAS-like dense linear algebra libraries. The\
+framework was designed to isolate essential kernels of computation\
+that, when optimized, immediately enable optimized implementations of\
+most of its commonly used and computationally intensive operations.\
+While BLIS exports a new BLAS-like API, it also includes a BLAS\
+compatibility layer which gives application developers access to BLIS\
+implementations via traditional BLAS routine calls.\
+\
+This packaging contains automatically-dispatched\
+architecture-optimized kernels for some targets, notably recent x86_64.
+
+%description
+%desc
+
+This is the serial version.
+
+
+%package devel
+Summary: Development files for %name
+Requires: %name%{?_isa} = %version-%release
+Requires: %name-openmp%{?_isa} = %version-%release
+Requires: %name-threads%{?_isa} = %version-%release
+%if %__isa_bits == 64
+Requires: %name-serial64%{?_isa} = %version-%release
+Requires: %name-openmp64%{?_isa} = %version-%release
+Requires: %name-threads64%{?_isa} = %version-%release
+%endif
+
+%description devel
+The %name-devel package contains libraries and header files for
+developing applications that use %name.
+
+%package serial64
+Summary: BLAS-like Library Instantiation Software Framework - 64-bit
+
+%description serial64
+%desc
+
+This is the serial version with a 64-bit integer interface.
+
+%package openmp
+Summary: BLAS-like Library Instantiation Software Framework - OpenMP
+
+%description openmp
+%desc
+
+This is the OpenMP-parallelized version.
+
+%package openmp64
+Summary: BLAS-like Library Instantiation Software Framework - OpenMP, 64-bit
+
+%description openmp64
+%desc
+
+This is the OpenMP-parallelized version with a 64-bit integer interface.
+
+# A pthreads version is necessary for Python (numpy) according to
+# Debian openblas.
+%package threads
+Summary: BLAS-like Library Instantiation Software Framework - pthreads
+
+%description threads
+%desc
+
+This is the pthreads-parallelized version.
+
+%package threads64
+Summary: BLAS-like Library Instantiation Software Framework - pthreads, 64-bit
+
+%description threads64
+%desc
+
+This is the pthreads-parallelized version with a 64-bit integer interface.
+
+%package srpm-macros
+Summary: BLIS architecture macros
+BuildArch: noarch
+
+%description srpm-macros
+BLIS architecture macros.
+
+
+%prep
+%setup -q %{?commit: -n %name-%commit}
+%patch1 -p1 -b .python
+
+
+%build
+%{?dts6:. /opt/rh/devtoolset-6/enable}
+case %_arch in
+x86_64) arch=x86_64 ;;
+arm*) arch=arm32 ;;
+aarch64) arch=arm64 ;;
+*) arch=generic ;;
+esac
+
+# Hardening flags might be expected to affect performance, but appear
+# not to. With the f29 set and gcc 8 (but measured on EL6) for
+# Haswell, a 50005000 DGEMM ran at 158295565 MFLops with
+# CFLAGS=$RPM_OPT_FLAGS and 158289414 MFlops with no CFLAGS specified.
+# Add back -O3, overridden by -O2 in RPM_OPT_FLAGS.
+%global confflags --enable-debug=opt --disable-static --enable-shared --enable-verbose-make --enable-cblas
+export CFLAGS="$RPM_OPT_FLAGS -O3" LDFLAGS="%{?__global_ldflags}"
+
+# It's not an autotools configure
+./configure --prefix=$(pwd)/o %confflags -t openmp $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libbliso.so%sover"
+make install
+
+./configure --prefix=$(pwd)/p %confflags -t pthreads $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblisp.so%sover"
+make install
+
+# Rename the libraries per soname and generate BLAS_compatible ones
+mkdir -p blisblas{,o,p,64,o64,p64}
+for d in o p; do
+ cd $d/lib
+ f=$( echo libblis.so%sover.* )
+ mv $f ${f/./$d.}
+ ln -s libblis$d.so%sover.* libblis$d.so
+ ln -s libblis$d.so%sover.* libblis$d.so%sover
+ rm libblis.*
+ cd ../..
+ cc -shared -Wl,-soname=libblas.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas.so.3 $LDFLAGS
+ ln -s libblas.so.3 blisblas$d/libblas.so
+done
+
+%if %__isa_bits == 64
+
+./configure --prefix=$(pwd)/64 %confflags -b 64 $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblis64.so%sover"
+make install
+
+./configure --prefix=$(pwd)/o64 %confflags -b 64 -t openmp $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libbliso64.so%sover"
+make install
+
+./configure --prefix=$(pwd)/p64 %confflags -b 64 -t pthreads $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblisp64.so%sover"
+make install
+
+for d in 64 o64 p64; do
+ cd $d/lib
+ f=$( echo libblis.so%sover.* )
+ mv $f ${f/./$d.}
+ ln -s libblis$d.so%sover.* libblis$d.so
+ ln -s libblis$d.so%sover.* libblis$d.so%sover
+ rm -f libblis.*
+ cd ../..
+ cc -shared -Wl,-soname=libblas64.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas64.so.3 $LDFLAGS
+ ln -s libblas64.so.3 blisblas$d/libblas64.so
+done
+
+%endif
+
+# done last for the benefit of check
+./configure --prefix=$(pwd)/serial %confflags $arch
+%make_build
+make install
+cc -shared -Wl,-soname=libblas.so.3 -L$(pwd)/serial/lib -lblis -o blisblas/libblas.so.3 $LDFLAGS
+ln -s libblas.so.3 blisblas/libblas.so
+
+
+%install
+mkdir -p %buildroot%_libdir %buildroot%_includedir
+
+cp -a {serial,o,p}/lib/* %buildroot%_libdir
+mv serial/include/blis %buildroot%_includedir
+for d in o p; do
+ cp -a $d/include/blis %buildroot%_includedir/blis$d
+done
+%if %__isa_bits == 64
+cp -a {64,o64,p64}/lib/* %buildroot%_libdir
+for d in 64 o64 p64; do
+ cp -a $d/include/blis %buildroot%_includedir/blis$d
+done
+%endif
+# Needed for debuginfo processing
+chmod +x %buildroot%_libdir/*.so.*
+cp -a blisblas* %buildroot%_libdir
+# This is quite large.
+gzip CHANGELOG
+chrpath -d %buildroot%_libdir/*.so.*
+
+cat <<EOF >README.Fedora
+Fedora BLIS packaging
+---------------------
+
+Similarly to the OpenBLAS packaging, as well as the serial library
+(libblis), there are versions named with suffix "o" using OpenMP, and
+suffix "p" using pthreads. Also, on 64-bit targets, there are
+versions built with 64-bit integer interfaces, which have suffix "64".
+Thus "libblaso64" is built for 64-bit integers and OpenMP
+parallelization. The cblas interface is included in each version.
+
+For the BLAS interface, BLIS and OpenBLAS are expected to have similar
+performance where they are optimized for the same micro-architectures,
+but do show some performance differences in either direction. BLIS
+supports AVX512 on KNL and SKX, which OpenBLAS currently doesn't, and
+will be more than twice as fast on such systems, which are the main
+targets for this packaging. BLIS' non-BLAS interface is obviously a
+potential advantage generally, but it isn't currently used by any
+Fedora packages.
+
+There are shared library shims in %_libdir/blisblas* for each version
+that provide sonames libblas.so.3 or libblas64.so.3 and so may be
+linked dynamically instead of the reference libblas. You can use an
+ldconfig file so that this will be done automatically if the blis or
+blis64 packages are installed, which will usually be a lot faster than
+the reference version. Otherwise, setting
+LD_LIBRARY_PATH=%_libdir/blisblaso, say, will cause a binary
+dynamically linked against libblas to run with the OpenMP BLIS version
+instead, to allow multiple threads to be used. The shims could be
+extended to substitute the atlas and openblas libraries, but those can
+be overridden by running with LD_PRELOAD=%_libdir/libblis.so%sover in
+the environment.
+
+Runtime dispatch on the micro-architecture is currently only available
+on x86_64 and arm (cortexa15 and cortexa9). aarch64 will use
+cortexa57 instructions or the generic target. Other architectures use
+the "generic" target, so OpenBLAS will be faster on any of them that it
+supports (power64, ix86, and s390x in Fedora).
+
+The blis-srpm-macros package defines RPM macro %blis_opt_arches for
+the architectures with optimized implementations in case the list is
+extended in future.
+
+EOF
+
+%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
+mkdir -p %buildroot%macrosdir
+cat <<EOF >%buildroot%macrosdir/macros.blis-srpm
+# Architectures for for BLIS has an optimized implementation
+%blis_opt_arches x86_64 armv7hl aarch64
+EOF
+
+
+%check
+%{?dts6:. /opt/rh/devtoolset-6/enable}
+# A quick check which tests the Fortran BLAS interface with gfortran,
+# unlike the "test" or "check" targets.
+# Fixme: check a 64-bit version where relevant
+gfortran -o dblat blastest/src/fortran/dblat3.f -Lblisblas -Lserial/lib -lblas -lblis
+LD_LIBRARY_PATH=$(pwd)/serial/lib:$(pwd)/bliblas ./dblat <<+ || { cat dblat3.summ && false; }
+'dblat3.summ'
+6
+'dblat3.snap'
+-1
+F
+T
+T
+16.0
+7
+0 1 2 3 7 31 63
+3
+0.0 1.0 0.7
+3
+0.0 1.0 1.3
+DGEMM T
+DSYMM F
++
+
+export LD_LIBRARY_PATH=`pwd`/serial/lib
+%if %{with fulltest}
+%make_build test
+%else
+%make_build check
+%endif
+
+
+%ldconfig_scriptlets
+%ldconfig_scriptlets openmp
+%ldconfig_scriptlets serial64
+%ldconfig_scriptlets openmp64
+%ldconfig_scriptlets threads
+%ldconfig_scriptlets threads64
+
+%global docs CHANGELOG.gz CREDITS README.md README.Fedora
+
+%files
+%doc %docs
+%license LICENSE
+%{_libdir}/libblis.so%{sover}*
+%{_libdir}/blisblas
+
+%files openmp
+%doc %docs
+%license LICENSE
+%{_libdir}/libbliso.so%{sover}*
+%{_libdir}/blisblaso
+
+%files threads
+%doc %docs
+%license LICENSE
+%{_libdir}/libblisp.so%{sover}*
+%{_libdir}/blisblasp
+
+%if %__isa_bits == 64
+
+%files serial64
+%doc %docs
+%license LICENSE
+%{_libdir}/libblis64.so%{sover}*
+%{_libdir}/blisblas64
+
+%files openmp64
+%doc %docs
+%license LICENSE
+%{_libdir}/libbliso64.so%{sover}*
+%{_libdir}/blisblaso64
+
+%files threads64
+%doc %docs
+%license LICENSE
+%{_libdir}/libblisp64.so%{sover}*
+%{_libdir}/blisblasp64
+
+%endif
+
+%files devel
+%doc examples
+%{_includedir}/*
+%{_libdir}/libblis*.so
+
+%files srpm-macros
+%{macrosdir}/macros.blis-srpm
+
+%changelog
+* Thu Oct 4 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.1-2
+- Use LDFLAGS for BLAS shims
+- Add srpm-macros package
+- Don't override -O3 in CFLAGS
+- Maybe use devtoolset in %%check
+- Remove ld.so.conf files for blisblas libraries
+
+* Tue Sep 11 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.1-1
+- New version
+- Fix running el6 check
+- Use default compilation flags
+- Use chrpath, %%ldconfig_scriptlets
+
+* Wed Aug 15 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.0-1
+- New version, with soname bump, build adjusted
+
+* Mon Jun 18 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.3.2-7
+- Use python3 explicitly, with patch
+
+* Tue Jun 5 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.3.2-6
+- Initial version for Fedora
diff --git a/sources b/sources
new file mode 100644
index 0000000..4d0e9c7
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (blis-0.4.1.tar.gz) = 433ab252893b1525695de1f8e3065771d879f30d69d9c0acc292407d824cc4cfac41b951ab28c36b8e4680a5569e9912ac088f3236eadea62038ec7a6ffcda53
5 years, 7 months
Architecture specific change in rpms/blis.git
by githook-noreply@fedoraproject.org
The package rpms/blis.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/blis.git/commit/?id=39dcaaa2e670a....
Change:
+%ifarch x86_64
Thanks.
Full change:
============
commit 39dcaaa2e670a3145c6b56ec8d9a8e6963be804a
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Wed Oct 10 11:27:16 2018 +0100
Initial checkin
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..25c0eca
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/blis-0.4.1.tar.gz
diff --git a/blis-python.patch b/blis-python.patch
new file mode 100644
index 0000000..881367b
--- /dev/null
+++ b/blis-python.patch
@@ -0,0 +1,8 @@
+--- blis-0.3.2/build/flatten-headers.py~ 2018-04-28 20:07:31.000000000 +0100
++++ blis-0.3.2/build/flatten-headers.py 2018-06-18 11:21:42.149168214 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ #
+ # BLIS
+ # An object-based framework for developing high-performance BLAS-like
diff --git a/blis.spec b/blis.spec
new file mode 100644
index 0000000..b9b0728
--- /dev/null
+++ b/blis.spec
@@ -0,0 +1,397 @@
+# Copyright (C) 2018 Dave love, University of Manchester
+# Licence as for the package source
+
+%global gitver %nil
+%if 0
+%global commit 01c4173238baf08e7f6700a3f91a2ea58cca50c1
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global gitver .git%shortcommit
+%endif
+
+# The full tests are very time-consuming
+%bcond_with fulltest
+
+%global sover .1
+
+# Use devtoolset 6, not 7, to get a libgfortran compatible with the
+# system one, but with decent avx512 hardware support.
+%ifnarch ppc64le
+%{?rhel:%global dts6 1}
+%endif
+
+# Avoid failure with missing pthread_once in check
+%undefine _ld_as_needed
+
+Name: blis
+Version: 0.4.1
+Release: 2%gitver%{?dist}
+Summary: BLAS-like Library Instantiation Software Framework
+License: BSD
+URL: https://github.com/flame/blis
+%if 0%{?commit}
+Source0: https://github.com/flame/blis/archive/%commit/%name-%shortcommit.tar.gz
+%else
+Source0: https://github.com/flame/blis/archive/%version/%name-%version.tar.gz
+%endif
+# Specify python3
+Patch1: blis-python.patch
+BuildRequires: perl
+BuildRequires: %{?dts6:devtoolset-6-binutils devtoolset-6-}gcc
+BuildRequires: /usr/bin/python3 gcc-gfortran chrpath
+# memkind is currently only relevant for KNL, but might be relevant in
+# future for other targets with HBM.
+%ifarch x86_64
+%{!?el6:BuildRequires: memkind-devel}
+%endif
+
+%global desc \
+BLIS is a portable software framework for instantiating\
+high-performance BLAS-like dense linear algebra libraries. The\
+framework was designed to isolate essential kernels of computation\
+that, when optimized, immediately enable optimized implementations of\
+most of its commonly used and computationally intensive operations.\
+While BLIS exports a new BLAS-like API, it also includes a BLAS\
+compatibility layer which gives application developers access to BLIS\
+implementations via traditional BLAS routine calls.\
+\
+This packaging contains automatically-dispatched\
+architecture-optimized kernels for some targets, notably recent x86_64.
+
+%description
+%desc
+
+This is the serial version.
+
+
+%package devel
+Summary: Development files for %name
+Requires: %name%{?_isa} = %version-%release
+Requires: %name-openmp%{?_isa} = %version-%release
+Requires: %name-threads%{?_isa} = %version-%release
+%if %__isa_bits == 64
+Requires: %name-serial64%{?_isa} = %version-%release
+Requires: %name-openmp64%{?_isa} = %version-%release
+Requires: %name-threads64%{?_isa} = %version-%release
+%endif
+
+%description devel
+The %name-devel package contains libraries and header files for
+developing applications that use %name.
+
+%package serial64
+Summary: BLAS-like Library Instantiation Software Framework - 64-bit
+
+%description serial64
+%desc
+
+This is the serial version with a 64-bit integer interface.
+
+%package openmp
+Summary: BLAS-like Library Instantiation Software Framework - OpenMP
+
+%description openmp
+%desc
+
+This is the OpenMP-parallelized version.
+
+%package openmp64
+Summary: BLAS-like Library Instantiation Software Framework - OpenMP, 64-bit
+
+%description openmp64
+%desc
+
+This is the OpenMP-parallelized version with a 64-bit integer interface.
+
+# A pthreads version is necessary for Python (numpy) according to
+# Debian openblas.
+%package threads
+Summary: BLAS-like Library Instantiation Software Framework - pthreads
+
+%description threads
+%desc
+
+This is the pthreads-parallelized version.
+
+%package threads64
+Summary: BLAS-like Library Instantiation Software Framework - pthreads, 64-bit
+
+%description threads64
+%desc
+
+This is the pthreads-parallelized version with a 64-bit integer interface.
+
+%package srpm-macros
+Summary: BLIS architecture macros
+BuildArch: noarch
+
+%description srpm-macros
+BLIS architecture macros.
+
+
+%prep
+%setup -q %{?commit: -n %name-%commit}
+%patch1 -p1 -b .python
+
+
+%build
+%{?dts6:. /opt/rh/devtoolset-6/enable}
+case %_arch in
+x86_64) arch=x86_64 ;;
+arm*) arch=arm32 ;;
+aarch64) arch=arm64 ;;
+*) arch=generic ;;
+esac
+
+# Hardening flags might be expected to affect performance, but appear
+# not to. With the f29 set and gcc 8 (but measured on EL6) for
+# Haswell, a 50005000 DGEMM ran at 158295565 MFLops with
+# CFLAGS=$RPM_OPT_FLAGS and 158289414 MFlops with no CFLAGS specified.
+# Add back -O3, overridden by -O2 in RPM_OPT_FLAGS.
+%global confflags --enable-debug=opt --disable-static --enable-shared --enable-verbose-make --enable-cblas
+export CFLAGS="$RPM_OPT_FLAGS -O3" LDFLAGS="%{?__global_ldflags}"
+
+# It's not an autotools configure
+./configure --prefix=$(pwd)/o %confflags -t openmp $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libbliso.so%sover"
+make install
+
+./configure --prefix=$(pwd)/p %confflags -t pthreads $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblisp.so%sover"
+make install
+
+# Rename the libraries per soname and generate BLAS_compatible ones
+mkdir -p blisblas{,o,p,64,o64,p64}
+for d in o p; do
+ cd $d/lib
+ f=$( echo libblis.so%sover.* )
+ mv $f ${f/./$d.}
+ ln -s libblis$d.so%sover.* libblis$d.so
+ ln -s libblis$d.so%sover.* libblis$d.so%sover
+ rm libblis.*
+ cd ../..
+ cc -shared -Wl,-soname=libblas.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas.so.3 $LDFLAGS
+ ln -s libblas.so.3 blisblas$d/libblas.so
+done
+
+%if %__isa_bits == 64
+
+./configure --prefix=$(pwd)/64 %confflags -b 64 $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblis64.so%sover"
+make install
+
+./configure --prefix=$(pwd)/o64 %confflags -b 64 -t openmp $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libbliso64.so%sover"
+make install
+
+./configure --prefix=$(pwd)/p64 %confflags -b 64 -t pthreads $arch
+%make_build SOFLAGS="-shared -Wl,-soname=libblisp64.so%sover"
+make install
+
+for d in 64 o64 p64; do
+ cd $d/lib
+ f=$( echo libblis.so%sover.* )
+ mv $f ${f/./$d.}
+ ln -s libblis$d.so%sover.* libblis$d.so
+ ln -s libblis$d.so%sover.* libblis$d.so%sover
+ rm -f libblis.*
+ cd ../..
+ cc -shared -Wl,-soname=libblas64.so.3 -L$(pwd)/$d/lib -lblis$d -o blisblas$d/libblas64.so.3 $LDFLAGS
+ ln -s libblas64.so.3 blisblas$d/libblas64.so
+done
+
+%endif
+
+# done last for the benefit of check
+./configure --prefix=$(pwd)/serial %confflags $arch
+%make_build
+make install
+cc -shared -Wl,-soname=libblas.so.3 -L$(pwd)/serial/lib -lblis -o blisblas/libblas.so.3 $LDFLAGS
+ln -s libblas.so.3 blisblas/libblas.so
+
+
+%install
+mkdir -p %buildroot%_libdir %buildroot%_includedir
+
+cp -a {serial,o,p}/lib/* %buildroot%_libdir
+mv serial/include/blis %buildroot%_includedir
+for d in o p; do
+ cp -a $d/include/blis %buildroot%_includedir/blis$d
+done
+%if %__isa_bits == 64
+cp -a {64,o64,p64}/lib/* %buildroot%_libdir
+for d in 64 o64 p64; do
+ cp -a $d/include/blis %buildroot%_includedir/blis$d
+done
+%endif
+# Needed for debuginfo processing
+chmod +x %buildroot%_libdir/*.so.*
+cp -a blisblas* %buildroot%_libdir
+# This is quite large.
+gzip CHANGELOG
+chrpath -d %buildroot%_libdir/*.so.*
+
+cat <<EOF >README.Fedora
+Fedora BLIS packaging
+---------------------
+
+Similarly to the OpenBLAS packaging, as well as the serial library
+(libblis), there are versions named with suffix "o" using OpenMP, and
+suffix "p" using pthreads. Also, on 64-bit targets, there are
+versions built with 64-bit integer interfaces, which have suffix "64".
+Thus "libblaso64" is built for 64-bit integers and OpenMP
+parallelization. The cblas interface is included in each version.
+
+For the BLAS interface, BLIS and OpenBLAS are expected to have similar
+performance where they are optimized for the same micro-architectures,
+but do show some performance differences in either direction. BLIS
+supports AVX512 on KNL and SKX, which OpenBLAS currently doesn't, and
+will be more than twice as fast on such systems, which are the main
+targets for this packaging. BLIS' non-BLAS interface is obviously a
+potential advantage generally, but it isn't currently used by any
+Fedora packages.
+
+There are shared library shims in %_libdir/blisblas* for each version
+that provide sonames libblas.so.3 or libblas64.so.3 and so may be
+linked dynamically instead of the reference libblas. You can use an
+ldconfig file so that this will be done automatically if the blis or
+blis64 packages are installed, which will usually be a lot faster than
+the reference version. Otherwise, setting
+LD_LIBRARY_PATH=%_libdir/blisblaso, say, will cause a binary
+dynamically linked against libblas to run with the OpenMP BLIS version
+instead, to allow multiple threads to be used. The shims could be
+extended to substitute the atlas and openblas libraries, but those can
+be overridden by running with LD_PRELOAD=%_libdir/libblis.so%sover in
+the environment.
+
+Runtime dispatch on the micro-architecture is currently only available
+on x86_64 and arm (cortexa15 and cortexa9). aarch64 will use
+cortexa57 instructions or the generic target. Other architectures use
+the "generic" target, so OpenBLAS will be faster on any of them that it
+supports (power64, ix86, and s390x in Fedora).
+
+The blis-srpm-macros package defines RPM macro %blis_opt_arches for
+the architectures with optimized implementations in case the list is
+extended in future.
+
+EOF
+
+%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
+mkdir -p %buildroot%macrosdir
+cat <<EOF >%buildroot%macrosdir/macros.blis-srpm
+# Architectures for for BLIS has an optimized implementation
+%blis_opt_arches x86_64 armv7hl aarch64
+EOF
+
+
+%check
+%{?dts6:. /opt/rh/devtoolset-6/enable}
+# A quick check which tests the Fortran BLAS interface with gfortran,
+# unlike the "test" or "check" targets.
+# Fixme: check a 64-bit version where relevant
+gfortran -o dblat blastest/src/fortran/dblat3.f -Lblisblas -Lserial/lib -lblas -lblis
+LD_LIBRARY_PATH=$(pwd)/serial/lib:$(pwd)/bliblas ./dblat <<+ || { cat dblat3.summ && false; }
+'dblat3.summ'
+6
+'dblat3.snap'
+-1
+F
+T
+T
+16.0
+7
+0 1 2 3 7 31 63
+3
+0.0 1.0 0.7
+3
+0.0 1.0 1.3
+DGEMM T
+DSYMM F
++
+
+export LD_LIBRARY_PATH=`pwd`/serial/lib
+%if %{with fulltest}
+%make_build test
+%else
+%make_build check
+%endif
+
+
+%ldconfig_scriptlets
+%ldconfig_scriptlets openmp
+%ldconfig_scriptlets serial64
+%ldconfig_scriptlets openmp64
+%ldconfig_scriptlets threads
+%ldconfig_scriptlets threads64
+
+%global docs CHANGELOG.gz CREDITS README.md README.Fedora
+
+%files
+%doc %docs
+%license LICENSE
+%{_libdir}/libblis.so%{sover}*
+%{_libdir}/blisblas
+
+%files openmp
+%doc %docs
+%license LICENSE
+%{_libdir}/libbliso.so%{sover}*
+%{_libdir}/blisblaso
+
+%files threads
+%doc %docs
+%license LICENSE
+%{_libdir}/libblisp.so%{sover}*
+%{_libdir}/blisblasp
+
+%if %__isa_bits == 64
+
+%files serial64
+%doc %docs
+%license LICENSE
+%{_libdir}/libblis64.so%{sover}*
+%{_libdir}/blisblas64
+
+%files openmp64
+%doc %docs
+%license LICENSE
+%{_libdir}/libbliso64.so%{sover}*
+%{_libdir}/blisblaso64
+
+%files threads64
+%doc %docs
+%license LICENSE
+%{_libdir}/libblisp64.so%{sover}*
+%{_libdir}/blisblasp64
+
+%endif
+
+%files devel
+%doc examples
+%{_includedir}/*
+%{_libdir}/libblis*.so
+
+%files srpm-macros
+%{macrosdir}/macros.blis-srpm
+
+%changelog
+* Thu Oct 4 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.1-2
+- Use LDFLAGS for BLAS shims
+- Add srpm-macros package
+- Don't override -O3 in CFLAGS
+- Maybe use devtoolset in %%check
+- Remove ld.so.conf files for blisblas libraries
+
+* Tue Sep 11 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.1-1
+- New version
+- Fix running el6 check
+- Use default compilation flags
+- Use chrpath, %%ldconfig_scriptlets
+
+* Wed Aug 15 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.4.0-1
+- New version, with soname bump, build adjusted
+
+* Mon Jun 18 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.3.2-7
+- Use python3 explicitly, with patch
+
+* Tue Jun 5 2018 Dave Love <loveshack(a)fedoraproject.org> - 0.3.2-6
+- Initial version for Fedora
diff --git a/sources b/sources
new file mode 100644
index 0000000..4d0e9c7
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (blis-0.4.1.tar.gz) = 433ab252893b1525695de1f8e3065771d879f30d69d9c0acc292407d824cc4cfac41b951ab28c36b8e4680a5569e9912ac088f3236eadea62038ec7a6ffcda53
5 years, 7 months
Architecture specific change in rpms/scorep.git
by githook-noreply@fedoraproject.org
The package rpms/scorep.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/scorep.git/commit/?id=7a0833b6e18....
Change:
-%ifarch ppc64
Thanks.
Full change:
============
commit 7a0833b6e186f297d92e50a37032c72d9dc8a8a9
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Wed Oct 10 11:07:51 2018 +0100
- Use ldconfig_scriptlets and remove some EPEL-ism in build
- Patch to correct cube configuration
- Build libwrap
- Require opari2, libunwind-devel, ocl-icd-devel
- Undefine _ld_as_needed, _hardened_build to make %check work
diff --git a/scorep.spec b/scorep.spec
index b815108..eb27e45 100644
--- a/scorep.spec
+++ b/scorep.spec
@@ -1,12 +1,11 @@
Name: scorep
Version: 4.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Scalable Performance Measurement Infrastructure for Parallel Codes
License: BSD
URL: http://www.vi-hps.org/projects/score-p/
Source0: http://www.vi-hps.org/upload/packages/%{name}/%{name}-%{version}.tar.gz
-BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: bison
BuildRequires: flex
@@ -18,25 +17,25 @@ BuildRequires: ocl-icd-devel
BuildRequires: opari2
BuildRequires: otf2-devel >= 2.0
BuildRequires: papi-devel
-BuildRequires: %{!?el6:gcc-plugin-devel}
+BuildRequires: gcc-plugin-devel
BuildRequires: gcc-c++
-#BuildRequires: llvm-devel
+BuildRequires: llvm-devel
+BuildRequires: clang
+BuildRequires: clang-devel
+BuildRequires: automake libtool
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: binutils-devel%{?_isa}
Requires: cube-devel%{?_isa} >= 4.4
Requires: otf2-devel%{?_isa} >= 2.0
Requires: papi-devel%{?_isa}
+Requires: libunwind-devel%{?_isa}
+Requires: ocl-icd-devel%{?_isa}
+Requires: opari%{?_isa}
# Missing papi and libunwind
ExcludeArch: s390 s390x
%global with_mpich 1
%global with_openmpi 1
-# No mpich on EL6 ppc64
-%ifarch ppc64
-%if 0%{?rhel} && 0%{?rhel} <= 6
-%global with_mpich 0
-%endif
-%endif
%if %{with_mpich}
%global mpi_list mpich
@@ -45,6 +44,13 @@ ExcludeArch: s390 s390x
%global mpi_list %{?mpi_list} openmpi
%endif
+# Avoid missing symbol link errors in test
+%undefine _ld_as_needed
+# Avoid in test
+# /usr/bin/ld: pomp_tpd_: TLS reference in ./.libs/libscorep_adapter_opari2_op nmp_event.so mismatches non-TLS reference in jacobi_omp_f90-jacobi.mod.o
+%undefine _hardened_build
+
+
%description
The Score-P (Scalable Performance Measurement Infrastructure for
Parallel Codes) measurement infrastructure is a highly scalable and
@@ -121,21 +127,16 @@ Score-P openmpi runtime libraries.
%setup -q
# Bundled libs in vendor/
rm -rf vendor/{opari2,otf2,cubew,cubelib}
+mkdir bin
+# configure expects llvm-config
+ln -s %_bindir/llvm-config-%_isa_bits bin/llvm-config
%build
%global _configure ../configure
-# required for gcc6
-export CXXFLAGS=-std=gnu++98
-# Required to get the online support in recent glibc. (Patching and
-# rebuilding configure falls fould of missing
-# AC_CONFIG_SUBDIR_CUSTOM.) Reported upstream.
-export CPPFLAGS='-D_POSIX_C_SOURCE=201112L'
-# The messging with linkage paths here and below is due to the mess of
-# the papi package there. %%_libdir/libpapi.so is papi v4 with a
-# soname of libpapi.so (bz #1300664).
-export LDFLAGS='-Wl,--as-needed -L%{_libdir}/papi-5.1.1/usr/lib'
-%global configure_opts ac_scorep_platform=linux --enable-shared --disable-static --disable-silent-rules %{?el6:--with-papi-header=%{_libdir}/papi-5.1.1%{_includedir} --with-papi-lib=%{_libdir}/papi-5.1.1/usr/lib}
+# See above
+PATH=$(pwd)/bin:$PATH
+%global configure_opts ac_scorep_platform=linux --enable-shared --disable-static --disable-silent-rules CC=gcc CXX=g++
cp /usr/lib/rpm/redhat/config.{sub,guess} build-config/
@@ -197,14 +198,14 @@ if [ %_lib != lib ]; then
mv %{buildroot}%{_prefix}/lib/libscorep* %{buildroot}%{_libdir}
fi
+%ldconfig_scriptlets
-%post libs -p /sbin/ldconfig
-
-%postun libs -p /sbin/ldconfig
+%check
+# Fixme: failing with link errors
+make -C serial check V=1
%files
-%{!?_licensedir:%global license %%doc}
%license COPYING
%dir %{_defaultdocdir}/scorep
%{_defaultdocdir}/scorep/AUTHORS
@@ -222,10 +223,12 @@ fi
%{_bindir}/scorep-wrapper
%{_bindir}/scorep-online-access-registry
%{_bindir}/scorep-preload-init
+%{_bindir}/scorep-libwrap-init
%{_libdir}/scorep/
%{_datadir}/scorep/
%{_includedir}/scorep/
-%{_libexecdir}/scorep/
+# Are the libtools in here necessary (different from vanilla)?
+%{_libexecdir}/scorep
%files doc
%{_defaultdocdir}/scorep/
@@ -253,6 +256,7 @@ fi
%{_libdir}/mpich/bin/scorep-wrapper
%{_libdir}/mpich/bin/scorep-online-access-registry
%{_libdir}/mpich/bin/scorep-preload-init
+%{_libdir}/mpich/bin/scorep-libwrap-init
%{_libdir}/mpich/lib/scorep/
%{_includedir}/mpich-%{_arch}/scorep/
@@ -281,6 +285,7 @@ fi
%{_libdir}/openmpi/bin/scorep-wrapper
%{_libdir}/openmpi/bin/scorep-online-access-registry
%{_libdir}/openmpi/bin/scorep-preload-init
+%{_libdir}/openmpi/bin/scorep-libwrap-init
%{_libdir}/openmpi/lib/scorep/
%{_includedir}/openmpi-%{_arch}/scorep/
@@ -289,6 +294,13 @@ fi
%endif
%changelog
+* Tue Oct 9 2018 Dave Love <loveshack(a)fedoraproject.org> - 4.0-2
+- Use ldconfig_scriptlets and remove some EPEL-ism in build
+- Patch to correct cube configuration
+- Build libwrap
+- Require opari2, libunwind-devel, ocl-icd-devel
+- Undefine _ld_as_needed, _hardened_build to make %%check work
+
* Wed Jul 25 2018 Dave Love <loveshack(a)fedoraproject.org> - 4.0-1
- New version (#1606317, #1574496); soname bump affects old binaries
- Remove bundled cubew, cubelib
5 years, 7 months