SHA256
10
0
forked from pool/scotch

9 Commits

Author SHA256 Message Date
0b8b0997b4 Accepting request 1306302 from science
OBS-URL: https://build.opensuse.org/request/show/1306302
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/scotch?expand=0&rev=18
2025-09-22 14:39:50 +00:00
4ba2940e23 Provide ptscotch-parmetis-<MPI_FLAVOR>-devel for the mpi devel packages, since the parmetis sub-package was subsumed into this package as part of the update to version 7.0.8.
OBS-URL: https://build.opensuse.org/package/show/science/scotch?expand=0&rev=60
2025-09-21 14:05:52 +00:00
ccb346a7b3 Accepting request 1302755 from science
OBS-URL: https://build.opensuse.org/request/show/1302755
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/scotch?expand=0&rev=17
2025-09-04 17:18:03 +00:00
ddad1f5700 * Rename binaries/man-files that may conflict with those from other packages: mtst -> mtst-scotch, gpart -> gpart-scotch.
* Pass `--parallel` to %ctest to avoid conditionally re/un-defining smp_mflags.

OBS-URL: https://build.opensuse.org/package/show/science/scotch?expand=0&rev=58
2025-09-04 13:56:08 +00:00
d427e7e5df OBS-URL: https://build.opensuse.org/package/show/science/scotch?expand=0&rev=57 2025-08-22 14:13:51 +00:00
Ana Guerrero
f4f6e79d6c Accepting request 1295212 from home:badshah400:GCC15
* Update to version 7.0.8.
* Use cmake for builds.
* Use -D_FORTIFY_SOURCE=2 instead of oS Factory default of 3; this fixes several test failures and is as recommended by upstream (see https://gitlab.inria.fr/scotch/scotch/-/blob/master/INSTALL.txt)
* Build without rpath support to avoid rpaths in final binaries.  This is as the upstream default, but our cmake macro defaults to `CMAKE_SKIP_RPATH=OFF`, so we pass the option to turn in on explicitly.
* Run tests as part of %check, but do not run them in parallel, see https://gitlab.inria.fr/scotch/scotch/-/issues/50.
* Disable testing for mvapich2 flavour, whose initialisation seems to be broken in :Factory.
* Remove `-Wl,no-undefined` from linker flags in cmake macro, as builds fail with `undefined reference` errors when linking otherwise.
* Bump so version in shared lib name.
* No more upstream support for static libraries, drop -devel-static package.

OBS-URL: https://build.opensuse.org/request/show/1295212
OBS-URL: https://build.opensuse.org/package/show/science/scotch?expand=0&rev=56
2025-08-22 13:15:32 +00:00
f25891df29 Accepting request 1266381 from science
OBS-URL: https://build.opensuse.org/request/show/1266381
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/scotch?expand=0&rev=16
2025-04-03 14:46:59 +00:00
b1da277da4 - Fix %{metis} in package name.
OBS-URL: https://build.opensuse.org/package/show/science/scotch?expand=0&rev=54
2025-04-02 06:23:01 +00:00
863d62c288 - Disable and remove support for gnu-hpc build flavours (bsc#1239982)
- Add openmpi5 build flavour

OBS-URL: https://build.opensuse.org/package/show/science/scotch?expand=0&rev=53
2025-03-31 12:58:29 +00:00
5 changed files with 113 additions and 126 deletions

View File

@@ -1,25 +0,0 @@
EXE =
LIB = .a
OBJ = .o
MAKE = make
AR = ar
ARFLAGS = -ruv
CAT = cat
CCS = gcc
CCP =
CCD =
CFLAGS = \
@RPMFLAGS@ -O3 -Drestrict=__restrict \
-DCOMMON_FILE_COMPRESS_GZ -DCOMMON_FILE_COMPRESS_BZ2 \
-DCOMMON_PTHREAD \
-DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_DETERMINISTIC \
-DSCOTCH_RENAME -DIDXSIZE64
LDFLAGS =
CP = cp -a
LEX = flex -Pscotchyy -olex.yy.c
LN = ln
MKDIR = mkdir -p
MV = mv
RANLIB = ranlib
YACC = bison -pscotchyy -y -b y

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4fe537f608f0fe39ec78807f90203f9cca1181deb16bfa93b7d4cd440e01bbd1
size 6292006

3
scotch-v7.0.8.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:21f48ac85c7991a5eb5fae9232dd68584556ccc500f85e2ebd6b5b275617e11a
size 7788948

View File

@@ -1,3 +1,47 @@
-------------------------------------------------------------------
Sat Sep 13 07:22:27 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
- Provide ptscotch-parmetis-<MPI_FLAVOR>-devel for the mpi
devel packages, since the parmetis sub-package was subsumed into
this package as part of the update to version 7.0.8.
-------------------------------------------------------------------
Wed Aug 27 08:40:20 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
- Rename binaries/man-files that may conflict with those from
other packages: mtst -> mtst-scotch, gpart -> gpart-scotch.
- Pass `--parallel` to %ctest to avoid conditionally
re/un-defining smp_mflags.
-------------------------------------------------------------------
Tue Jul 22 16:55:52 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
- Update to version 7.0.8:
* Undocumented bug fixes.
- Changes from version 7.0.0 through 7.0.7:
* See release highlights at
https://gitlab.inria.fr/scotch/scotch/-/tags
- Use cmake for builds; implies dropping of additional source
scotch-Makefile.inc.in).
- Use -D_FORTIFY_SOURCE=2 instead of oS Factory default of 3; this
fixes several test failures and is as recommended by upstream
(see
https://gitlab.inria.fr/scotch/scotch/-/blob/master/INSTALL.txt)
- Build without rpath support to avoid rpaths in final binaries.
This is as the upstream default, but our cmake macro defaults to
`CMAKE_SKIP_RPATH=OFF`, so we pass the option to turn in on
explicitly.
- Run tests as part of %check, but do not run them in parallel,
see https://gitlab.inria.fr/scotch/scotch/-/issues/50.
- Disable testing for mvapich2 flavour, whose initialisation seems
to be broken in :Factory.
- Remove `-Wl,no-undefined` from linker flags in cmake macro, as
builds fail with `undefined reference` errors when linking
otherwise.
- Bump so version in shared lib name.
- No more upstream support for static libraries, drop
-devel-static package.
-------------------------------------------------------------------
Mon Mar 24 13:19:29 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package scotch
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%global flavor @BUILD_FLAVOR@%{nil}
%define base_pname scotch
%define so_ver 0
%define so_ver 7_0
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
%if "%{flavor}" == ""
@@ -36,6 +36,13 @@ ExclusiveArch: do_not_build
ExcludeArch: %{ix86} %{arm}
%endif
# mvapich2 seems to be broken in :Factory, causing tests to fail
%if "%{flavor}" == "mvapich2" && 0%{?suse_version} > 1650
%bcond_with tests
%else
%bcond_without tests
%endif
%bcond_without mumps
%{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}}
@@ -73,22 +80,21 @@ Summary: Graph, mesh and hypergraph partitioning library
License: CECILL-C
Group: Productivity/Scientific/Math
Name: %{package_name}
Version: 6.1.0
Version: 7.0.8
Release: 0
URL: https://gitlab.inria.fr/scotch/scotch
Source0: https://gitlab.inria.fr/scotch/scotch/-/archive/v%{version}/%{base_pname}-v%{version}.tar.gz
Source1: scotch-Makefile.inc.in
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: libbz2-devel
BuildRequires: make
BuildRequires: zlib-devel
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(zlib)
%if %{with mpi}
BuildRequires: %{mpi_flavor}-devel
%endif
@@ -118,6 +124,7 @@ Requires: gcc-fortran
BuildRequires: scotch-devel
Requires: %{mpi_flavor}-devel
Requires: scotch-devel
Provides: %{pname}-%{metis}-%{mpi_flavor}-devel
%else
Provides: scotch-devel = %{version}
%endif
@@ -146,82 +153,51 @@ This package contains the devel libraries and header file in the case
scotch is used as a replacement of the metis library.
%prep
%setup -q -n scotch-v%{version}
cp %SOURCE1 src/Makefile.inc
%autosetup -n scotch-v%{version}
%build
export CC=gcc
%{?with_mpi:source %{my_bindir}/mpivars.sh}
%{?with_mpi:export CC=mpicc}
export SUSE_ASNEEDED=0
# Must not be compiled with -D_FORTIFY_SOURCE=3, see
# https://gitlab.inria.fr/scotch/scotch/-/blob/master/INSTALL.txt
export RPMOPTFLAGS="%(echo '%{optflags}' | sed 's/-D_FORTIFY_SOURCE=3/-D_FORTIFY_SOURCE=2/')"
%global optflags $RPMOPTFLAGS
%define CCP mpicc
%define CCD mpicc
%define CFLAGS %{optflags} -fPIC -O3 -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_DETERMINISTIC -DSCOTCH_RENAME
%define LDFLAGS -pie -pthread -lz -lbz2 -lm -lrt
cd src/
make %{?_smp_mflags} %{pname} %{?with_mumps:%{?pt_pref}esmumps} CFLAGS="%CFLAGS" LDFLAGS="%LDFLAGS" CC=$CC CCP=%CCP CCD=%CCD
$CC %{LDFLAGS} -shared -Wl,-soname=lib%{pname}err.so.0 -o ../lib/lib%{pname}err.so.0.0 \
libscotch/library_error.o
$CC %{LDFLAGS} -shared -Wl,-soname=lib%{pname}errexit.so.0 -o \
../lib/lib%{pname}errexit.so.0.0 libscotch/library_error_exit.o
rm -f libscotch/library_error*.o
$CC %{LDFLAGS} -shared -Wl,-soname=lib%{pname}.so.0 -o ../lib/lib%{pname}.so.0.0 \
libscotch/*.o ../lib/lib%{pname}err.so.0.0 -lpthread -lgfortran -lz -lrt
$CC %{LDFLAGS} -shared -Wl,-soname=lib%{pname}%{metis}.so.0 -o ../lib/lib%{pname}%{metis}.so.0.0\
libscotchmetis/*.o ../lib/lib%{pname}.so.0.0 ../lib/lib%{pname}err.so.0.0 -lz -lm -lrt
%if %{with mumps}
$CC %{LDFLAGS} -shared -Wl,-soname=lib%{?pt_pref}esmumps.so.0 -o ../lib/lib%{?pt_pref}esmumps.so.0.0 \
esmumps/*.o
%endif
cd ..
# Note: We need to re-define the linker flag options to cmake because
# compilation fails with `-Wl,no-undefined`, passed as part of cmake macro
%cmake \
-DCMAKE_INSTALL_PREFIX=%{my_prefix} \
-DBUILD_LIBESMUMPS=%{?with_mumps:ON}%{!?with_mumps:OFF} \
-DBUILD_PTSCOTCH=%{?with_mpi:ON}%{!?with_mpi:OFF} \
-DBUILD_LIBSCOTCHMETIS=ON \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_EXE_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,-z,now" \
-DCMAKE_MODULE_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,-z,now" \
-DCMAKE_SHARED_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,-z,now" \
-DENABLE_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
%{nil}
%cmake_build
%install
export CC=gcc
%{?with_mpi:source %{my_bindir}/mpivars.sh}
%{?with_mpi:export CC=mpicc}
pushd src/
make install prefix=%{buildroot}%{my_prefix} libdir=%{buildroot}%{my_libdir}
popd
for static_libs in lib/lib%{pname}*.a %{?with_mumps:lib/lib%{?pt_pref}esmumps.a}; do
libs=`basename $static_libs .a`
ln -s $libs.so.0.0 lib/$libs.so.0
ln -s $libs.so.0.0 lib/$libs.so
done
pushd %{buildroot}%{my_libdir}
ln -s lib%{?pt_pref}scotch%{metis}.a lib%{metis}.a
ln -s lib%{?pt_pref}scotch%{metis}.so lib%{metis}.so
%if %{with mpi}
# We create link in order to have the serial libs available in the
# same directory as the parallel libs. A lot of software using scotch
# can't manage different dirs for serial and parallel files during
# their build process.
for libs in libscotch libscotcherr libscotcherrexit libscotchmetis %{?with_mumps:libesmumps} ; do
ln -sf %{_libdir}/$libs.so $libs.so
ln -sf %{_libdir}/$libs.so.%{so_ver} $libs.so.%{so_ver}
ln -sf %{_libdir}/$libs.so.%{so_ver}.0 $libs.so.%{so_ver}.0
done
%endif
popd
%cmake_install
%if %{without mpi}
# Add "scotch_" prefix to binaries and man pages to avoid name conficts
pushd %{buildroot}%{my_bindir}
for prog in *; do
mv $prog scotch_${prog}
chmod 755 scotch_$prog
# Rename conflicting or confusing binaries/man-files:
# * Package `mt-st` also provides `/usr/bin/mtst` and its man file; rename to avoid conflict
# * Package `gpart` installs `/usr/sbin/gpart`; rename to avoid confusion (no conflict)
# re-named so that, e.g. mtst<TAB> completes the binary name when in PATH
for exe in mtst gpart;
do
mv %{buildroot}%{_bindir}/${exe} %{buildroot}%{_bindir}/${exe}-scotch
done
popd
pushd %{buildroot}%{my_mandir}/man1/
for man in *; do
mv ${man} scotch_${man}
done
popd
%endif # without mpi
cp -dp lib/lib*scotch*.so* %{?with_mumps:lib/lib*esmumps.*} %{buildroot}%{my_libdir}/
%{?with_mumps:cp include/esmumps.h %{buildroot}%{my_incdir}/}
cp src/libscotchmetis/%{metis}.h %{buildroot}%{my_incdir}/
mv %{buildroot}%{_mandir}/man1/mtst.1 %{buildroot}%{_mandir}/man1/mtst-scotch.1
# /Section
%endif
# Convert the license files to utf8
pushd doc
@@ -234,9 +210,21 @@ popd
%fdupes %{buildroot}%{my_bindir}
%fdupes %{buildroot}%{my_mandir}
# Section Tests
%if %{with tests}
%check
%{?with_mpi:source %{my_bindir}/mpivars.sh}
%{?with_mpi:export CC=mpicc}
# Checks are un-reliable when run in parallel, see https://gitlab.inria.fr/scotch/scotch/-/issues/50
export LD_LIBRARY_PATH+=:%{buildroot}%{my_libdir}
%ctest --parallel 1
%endif
# /Section Tests
%if %{without mpi}
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%ldconfig_scriptlets -n %{libname}
%else
# MPI package install to non-standard locations: don't update cache
@@ -255,9 +243,9 @@ popd
%files -n %{libname}
%{my_libdir}/libscotch.so.*
%{my_libdir}/libscotchmetis*.so.*
%{my_libdir}/libscotcherr.so.*
%{my_libdir}/libscotcherrexit.so.*
%{my_libdir}/libscotchmetis.so.*
%if %{with mumps}
%{my_libdir}/libesmumps.so.*
%endif
@@ -265,48 +253,28 @@ popd
%{my_libdir}/libptscotch.so.*
%{my_libdir}/libptscotcherr.so.*
%{my_libdir}/libptscotcherrexit.so.*
%{my_libdir}/libptscotchparmetis.so.*
%{my_libdir}/libptscotchparmetis*.so.*
%{?with_mumps:%{my_libdir}/libptesmumps.so.*}
%endif
%files devel
%{my_libdir}/libscotch.so
%{my_libdir}/libscotchmetis*.so
%{my_libdir}/libscotcherr.so
%{my_libdir}/libscotcherrexit.so
%{my_libdir}/libscotchmetis.so
%{my_libdir}/cmake/scotch/
%if %{with mumps}
%{my_libdir}/libesmumps.so
%endif
%if %{with mpi}
%dir %{my_libdir}/cmake
%{my_libdir}/libptscotch.so
%{my_libdir}/libptscotcherr.so
%{my_libdir}/libptscotcherrexit.so
%{my_libdir}/libptscotchparmetis.so
%{my_libdir}/libptscotchparmetis*.so
%{?with_mumps:%{my_libdir}/libptesmumps.so}
%endif
%{my_incdir}/*.h
%exclude %{my_incdir}/%{metis}.h
%files -n %{pname}-%{metis}%{?my_suffix}-devel
%{my_libdir}/lib%{metis}.so
%{my_incdir}/%{metis}.h
%files devel-static
%{my_libdir}/libscotch.a
%{my_libdir}/libscotcherr.a
%{my_libdir}/libscotcherrexit.a
%{my_libdir}/libscotchmetis.a
%if %{with mpi}
%{my_libdir}/libptscotch.a
%{my_libdir}/libptscotcherr.a
%{my_libdir}/libptscotcherrexit.a
%{my_libdir}/libptscotchparmetis.a
%{my_libdir}/libparmetis.a
%else
%{my_libdir}/libmetis.a
%endif
%if %{with mumps}
%{my_libdir}/lib%{?pt_pref}esmumps.a
%endif
%changelog