commit d30827a7f4512c0097addbda329a24a717aee760dc856fe68288cfcc01259795 Author: Adrian Schröter Date: Fri May 3 16:45:46 2024 +0200 Sync from SUSE:SLFO:Main metis revision 28f5c6d25765b1724cd9012b1ad5b02a diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..86af7cf --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + serial + gnu-hpc + diff --git a/metis-5.1.0.tar.gz b/metis-5.1.0.tar.gz new file mode 100644 index 0000000..ceb62e6 --- /dev/null +++ b/metis-5.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2 +size 4984968 diff --git a/metis-cmake.patch b/metis-cmake.patch new file mode 100644 index 0000000..b453047 --- /dev/null +++ b/metis-cmake.patch @@ -0,0 +1,83 @@ +Index: metis-5.1.0/CMakeLists.txt +=================================================================== +--- metis-5.1.0.orig/CMakeLists.txt ++++ metis-5.1.0/CMakeLists.txt +@@ -1,8 +1,9 @@ + cmake_minimum_required(VERSION 2.8) + project(METIS) + +-set(GKLIB_PATH "GKlib" CACHE PATH "path to GKlib") ++set(GKLIB_PATH "${CMAKE_SOURCE_DIR}/GKlib" CACHE PATH "path to GKlib") + set(SHARED FALSE CACHE BOOL "build a shared library") ++INCLUDE(GNUInstallDirs) + + if(MSVC) + set(METIS_INSTALL FALSE) +@@ -11,11 +12,11 @@ else() + endif() + + # Configure libmetis library. +-if(SHARED) +- set(METIS_LIBRARY_TYPE SHARED) +-else() +- set(METIS_LIBRARY_TYPE STATIC) +-endif(SHARED) ++set(METIS_LIBRARY_TYPE SHARED) ++ ++set(METIS_MAJOR_VERSION 5) ++set(METIS_MINOR_VERSION 1) ++set(METIS_PATCH_VERSION 0) + + include(${GKLIB_PATH}/GKlibSystem.cmake) + # Add include directories. +Index: metis-5.1.0/libmetis/CMakeLists.txt +=================================================================== +--- metis-5.1.0.orig/libmetis/CMakeLists.txt ++++ metis-5.1.0/libmetis/CMakeLists.txt +@@ -4,13 +4,16 @@ include_directories(.) + file(GLOB metis_sources *.c) + # Build libmetis. + add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources}) ++SET_TARGET_PROPERTIES(metis PROPERTIES ++ VERSION ${METIS_MAJOR_VERSION}.${METIS_MINOR_VERSION}.${METIS_PATCH_VERSION} ++ SOVERSION ${METIS_MAJOR_VERSION}) + if(UNIX) + target_link_libraries(metis m) + endif() + + if(METIS_INSTALL) + install(TARGETS metis +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib +- ARCHIVE DESTINATION lib) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() +Index: metis-5.1.0/programs/CMakeLists.txt +=================================================================== +--- metis-5.1.0.orig/programs/CMakeLists.txt ++++ metis-5.1.0/programs/CMakeLists.txt +@@ -15,7 +15,7 @@ endforeach(prog) + + if(METIS_INSTALL) + install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + + # Try to find subversion revision. +Index: metis-5.1.0/GKlib/CMakeLists.txt +=================================================================== +--- metis-5.1.0.orig/GKlib/CMakeLists.txt ++++ metis-5.1.0/GKlib/CMakeLists.txt +@@ -8,6 +8,9 @@ include(GKlibSystem.cmake) + + include_directories(".") + add_library(GKlib STATIC ${GKlib_sources}) ++SET_TARGET_PROPERTIES(GKlib PROPERTIES ++ VERSION ${METIS_MAJOR_VERSION}.${METIS_MINOR_VERSION}.${METIS_PATCH_VERSION} ++ SOVERSION ${METIS_MAJOR_VERSION}) + if(UNIX) + target_link_libraries(GKlib m) + endif(UNIX) diff --git a/metis-makefile-c-directives.patch b/metis-makefile-c-directives.patch new file mode 100644 index 0000000..d69ed44 --- /dev/null +++ b/metis-makefile-c-directives.patch @@ -0,0 +1,15 @@ +Index: metis-5.1.0/Makefile +=================================================================== +--- metis-5.1.0.orig/Makefile ++++ metis-5.1.0/Makefile +@@ -51,6 +51,10 @@ endif + ifneq ($(cc), not-set) + CONFIG_FLAGS += -DCMAKE_C_COMPILER=$(cc) + endif ++ifneq ($(cflags), not-set) ++ CONFIG_FLAGS += -DCMAKE_C_FLAGS="$(cflags)" -DCMAKE_CXX_FLAGS="$(cflags)" ++endif ++ + + VERNUM=5.1.0 + PKGNAME=metis-$(VERNUM) diff --git a/metis-programs-no-compilation-time.patch b/metis-programs-no-compilation-time.patch new file mode 100644 index 0000000..3cc9b1e --- /dev/null +++ b/metis-programs-no-compilation-time.patch @@ -0,0 +1,60 @@ +Index: metis-5.1.0/programs/gpmetis.c +=================================================================== +--- metis-5.1.0.orig/programs/gpmetis.c ++++ metis-5.1.0/programs/gpmetis.c +@@ -154,7 +154,6 @@ void GPPrintInfo(params_t *params, graph + + printf("******************************************************************************\n"); + printf("%s", METISTITLE); +- printf(" (HEAD: %s, Built on: %s, %s)\n", SVNINFO, __DATE__, __TIME__); + printf(" size of idx_t: %zubits, real_t: %zubits, idx_t *: %zubits\n", + 8*sizeof(idx_t), 8*sizeof(real_t), 8*sizeof(idx_t *)); + printf("\n"); +Index: metis-5.1.0/programs/graphchk.c +=================================================================== +--- metis-5.1.0.orig/programs/graphchk.c ++++ metis-5.1.0/programs/graphchk.c +@@ -42,7 +42,6 @@ int main(int argc, char *argv[]) + + printf("**********************************************************************\n"); + printf("%s", METISTITLE); +- printf(" (HEAD: %s, Built on: %s, %s)\n", SVNINFO, __DATE__, __TIME__); + printf(" size of idx_t: %zubits, real_t: %zubits, idx_t *: %zubits\n", + 8*sizeof(idx_t), 8*sizeof(real_t), 8*sizeof(idx_t *)); + printf("\n"); +Index: metis-5.1.0/programs/m2gmetis.c +=================================================================== +--- metis-5.1.0.orig/programs/m2gmetis.c ++++ metis-5.1.0/programs/m2gmetis.c +@@ -100,7 +100,6 @@ void M2GPrintInfo(params_t *params, mesh + { + printf("******************************************************************************\n"); + printf("%s", METISTITLE); +- printf(" (HEAD: %s, Built on: %s, %s)\n", SVNINFO, __DATE__, __TIME__); + printf(" size of idx_t: %zubits, real_t: %zubits, idx_t *: %zubits\n", + 8*sizeof(idx_t), 8*sizeof(real_t), 8*sizeof(idx_t *)); + printf("\n"); +Index: metis-5.1.0/programs/mpmetis.c +=================================================================== +--- metis-5.1.0.orig/programs/mpmetis.c ++++ metis-5.1.0/programs/mpmetis.c +@@ -120,7 +120,6 @@ void MPPrintInfo(params_t *params, mesh_ + + printf("******************************************************************************\n"); + printf("%s", METISTITLE); +- printf(" (HEAD: %s, Built on: %s, %s)\n", SVNINFO, __DATE__, __TIME__); + printf(" size of idx_t: %zubits, real_t: %zubits, idx_t *: %zubits\n", + 8*sizeof(idx_t), 8*sizeof(real_t), 8*sizeof(idx_t *)); + printf("\n"); +Index: metis-5.1.0/programs/ndmetis.c +=================================================================== +--- metis-5.1.0.orig/programs/ndmetis.c ++++ metis-5.1.0/programs/ndmetis.c +@@ -113,7 +113,6 @@ void NDPrintInfo(params_t *params, graph + { + printf("******************************************************************************\n"); + printf("%s", METISTITLE); +- printf(" (HEAD: %s, Built on: %s, %s)\n", SVNINFO, __DATE__, __TIME__); + printf(" size of idx_t: %zubits, real_t: %zubits, idx_t *: %zubits\n", + 8*sizeof(idx_t), 8*sizeof(real_t), 8*sizeof(idx_t *)); + printf("\n"); diff --git a/metis.changes b/metis.changes new file mode 100644 index 0000000..b2a04af --- /dev/null +++ b/metis.changes @@ -0,0 +1,111 @@ +------------------------------------------------------------------- +Thu Jul 23 16:31:17 UTC 2020 - Egbert Eich + +- Add build support for gcc10 to HPC build (bsc#1174439). + +------------------------------------------------------------------- +Wed Feb 26 12:26:32 UTC 2020 - Egbert Eich + +- Add support for gcc8/9 building (jsc#SLE-8604). + +------------------------------------------------------------------- +Fri Mar 15 07:23:19 UTC 2019 - Egbert Eich + +- Build HPC master package for 'examples'. + +------------------------------------------------------------------- +Tue Feb 12 12:58:53 UTC 2019 - Antoine Ginies + +- add a examples subpackage which include graphs* file to test Metis + +------------------------------------------------------------------- +Mon Feb 11 06:52:10 UTC 2019 - Egbert Eich + +- Set default module version correctly when installing + master package, unset when deinstalling the default library + package. +- Fix %%post and %%postun scripts for HPC. +- Fix dependencies for HPC. +- Fix HPC modulefile: + * Aibraries are always there when module file is installed. + * Set PKG_CONFIG_PATH. +- Fix package group names. + +------------------------------------------------------------------- +Mon Jan 14 09:50:54 UTC 2019 - eich@suse.com + +- Remove dependency to a non-existing module package for HPC. + +------------------------------------------------------------------- +Thu Nov 22 16:27:05 UTC 2018 - Jan Engelhardt + +- Edit description to put time-sensitive wording into context. + +------------------------------------------------------------------- +Fri Oct 26 09:27:45 UTC 2018 - eich@suse.com + +- General spec file clean up. +- Touch-up to the HPC build. + +------------------------------------------------------------------- +Thu Nov 30 13:22:30 UTC 2017 - jjolly@suse.com + +- Implemented suse-hpc packaging +- Added metis-makefile-c-directives.patch + - Provides cflags option to help provide metis native build process + +------------------------------------------------------------------- +Fri Jun 20 08:38:47 UTC 2014 - dmitry_r@opensuse.org + +- Update to version 5.1.0, changes since version 4.0 + * strtoidx() addition for portable input file parsing + * Fixed some bad memory allocation calls + * Incorporated GKlib into METIS, which replaced many of its + internal functions. + * A nearly complete re-write of Metis' code-based that changed + expanded the functionality of the command-line programs and + API routines + * Multi-constraint partitioning can be used in conjunction with + minimization of the total communication volume. + * All graph and mesh partitioning routines take as input the + target sizes of the partitions, which among others, allow them + to compute partitioning solutions that are well-suited for + parallel architectures with heterogeneous computing capabilities. + * When multi-constraint partitioning is used, the target sizes of + the partitions are specified on a per partition-constraint pair. + * The multilevel k-way partitioning algorithms can compute a + partitioning solution in which each partition is contiguous. + * All partitioning and ordering routines can compute multiple + different solutions and select the best as the final solution. + * The mesh partitioning and mesh-to-graph conversion routines can + operate on mixed element meshes. + * The command-line programs provide full access to the entire + set of capabilities provided by Metis' API. + * Re-written the memory management subsystem to reduce overall + memory requirements. + * Added back Fortran support in the form of alternate API names + (see libmetis/frename.h). + * Changed the license to Apache Version 2 +- Move metis shared library to separate package +- Enable build tests +- Use proper build parameters + * metis-cmake.patch +- Delete compilation time from metis programs to avoid unnecessary + package republishing + * metis-programs-no-compilation-time.patch + +------------------------------------------------------------------- +Fri Aug 17 21:11:13 UTC 2012 - scorot@free.fr + +- Buildreqs libtool for 12.2 an higher +- spec file reformating + +------------------------------------------------------------------- +Sat Mar 17 15:22:23 UTC 2012 - scorot@free.fr + +- remove %%debug_package macro which broke build on 11.3 + +------------------------------------------------------------------- +Sun Nov 8 22:41:52 UTC 2009 - andrea@opensuse.org + +- new package diff --git a/metis.spec b/metis.spec new file mode 100644 index 0000000..2256998 --- /dev/null +++ b/metis.spec @@ -0,0 +1,312 @@ +# +# spec file for package metis +# +# Copyright (c) 2020 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} + +%define vers 5.1.0 +%define _vers 5_1_0 +%define short_ver 5.1 +%define src_ver %{version} +%define pname metis +%define somajor 5 + +%if "%{flavor}" == "" +ExclusiveArch: do_not_build +%define package_name %pname +%bcond_with hpc +%endif + +%if "%{flavor}" == "serial" +%bcond_with hpc +%endif + +%if "%{flavor}" == "gnu-hpc" +%bcond_without hpc +%global compiler_family gnu +%undefine c_f_ver +%endif + +%if "%{flavor}" == "gnu6-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 6 +%undefine mpi_flavor +%endif + +%if "%{flavor}" == "gnu7-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 7 +%undefine mpi_flavor +%endif + +%if "%{flavor}" == "gnu8-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 8 +%undefine mpi_flavor +%endif + +%if "%{flavor}" == "gnu9-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 9 +%undefine mpi_flavor +%endif + +%if "%{flavor}" == "gnu10-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 10 +%undefine mpi_flavor +%endif + +%if %{without hpc} +%if 0%{!?package_name:1} +%define package_name %{pname} +%endif +%define p_prefix %_prefix +%define p_includedir %_includedir +%define p_libdir %_libdir +%define p_bindir %_bindir +%define p_mandir %_mandir +%define p_datadir %_datadir +%define p_infodir %_infodir +%define libname lib%{pname}%{somajor} + +%else + +%define package_name %{hpc_package_name %_vers} +%define p_prefix %hpc_prefix +%define p_includedir %hpc_includedir +%define p_libdir %hpc_libdir +%define p_bindir %hpc_bindir +%define p_mandir %hpc_mandir +%define p_datadir %hpc_datadir +%define p_infodir %hpc_infodir +%define libname lib%{pname}%{hpc_package_name_tail %{_vers}} + +%{hpc_init -c %{compiler_family} %{?c_f_ver:-v %{c_f_ver}} %{?ext:-e %{ext}}} +%endif + +Name: %{package_name} +Version: %{vers} +Release: 0 +Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering +License: Apache-2.0 +Group: Productivity/Scientific/Math +URL: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview +Source0: http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/%{pname}-%{version}.tar.gz +# PATCH-FIX-OPENSUSE metis-cmake.patch +Patch1: metis-cmake.patch +# PATCH-FIX-OPENSUSE metis-programs-no-compilation-time.patch -- Fix W: file-contains-date-and-time +Patch2: metis-programs-no-compilation-time.patch +Patch3: metis-makefile-c-directives.patch +BuildRequires: cmake >= 2.8 +BuildRequires: gcc +BuildRequires: gcc-c++ +%if %{with hpc} +BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel +BuildRequires: lua-lmod +BuildRequires: suse-hpc +%hpc_requires +Requires: %libname = %version +%endif + +Recommends: %{name}-doc = %{version} +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +METIS is a family of programs for partitioning unstructured graphs and hypergraph +and computing fill-reducing orderings of sparse matrices. The underlying algorithms +used by METIS are based on a multilevel paradigm that, at the time, had been +shown to produce quality results and scale to large problems. + +%{?with_hpc:%{hpc_master_package -L}} + +%package -n %{libname} +Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering library +Group: System/Libraries +Obsoletes: %libname < %{version} + +%description -n %{libname} +METIS library provides to partitioning unstructured graphs and hypergraph +and computing fill-reducing orderings of sparse matrices. The underlying algorithms +used by METIS are based on a multilevel paradigm that, at the time, had been +shown to produce quality results and scale to large problems. + +%{?with_hpc:%{hpc_master_package -l -L}} + +%package devel +Summary: Metis development files +Group: Development/Libraries/C and C++ +Requires: %libname = %{version} +%if %{with hpc} +%hpc_requires_devel +Requires: %libname = %version +%endif + +%description devel +METIS library provides to partitioning unstructured graphs and hypergraph +and computing fill-reducing orderings of sparse matrices. The underlying algorithms +used by METIS are based on a multilevel paradigm that, at the time, had been +shown to produce quality results and scale to large problems. + +This package provides development files. + +%{?with_hpc:%{hpc_master_package -L devel}} + +%package doc +Summary: Metis documentation +Group: Documentation/Other +BuildArch: noarch + +%description doc +METIS is a family of programs for partitioning unstructured graphs and hypergraph +and computing fill-reducing orderings of sparse matrices. The underlying algorithms +used by METIS are based on a multilevel paradigm that, at the time, had been +shown to produce quality results and scale to large problems. + +%{?with_hpc:%{hpc_master_package doc}} + +%package examples +Summary: Metis examples +Group: Documentation/Other +BuildArch: noarch + +%description examples +METIS library provides to partitioning unstructured graphs and hypergraph +and computing fill-reducing orderings of sparse matrices. This package provides +graph files you can use to test Metis. + +%{?with_hpc:%{hpc_master_package examples}} + +%prep +%{?with_hpc: %hpc_debug} +%setup -q -n %{pname}-%{version} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 + +# set width (32 or 64 bits) of the elementary data type, see Install.txt +sed -i 's|#define IDXTYPEWIDTH 32|#define IDXTYPEWIDTH %{__isa_bits}|' include/metis.h + +%build + +%if %{with hpc} +%hpc_debug +%hpc_setup_compiler +%endif + +make config shared=1 prefix=%{p_prefix} cflags="%{optflags} -fopenmp -pthread -fpie -pie" ldflags="-pie" +make %{?_smp_mflags} + +%install +%{?with_hpc:%hpc_setup} +%{?with_hpc:%hpc_debug} +make install DESTDIR=%{buildroot} + +%if %{with hpc} +%{hpc_write_pkgconfig} + +%hpc_write_modules_files +#%%Module1.0##################################################################### + +proc ModulesHelp { } { + +puts stderr " " +puts stderr "This module loads the %{pname} library built with the %{compiler_family} compiler toolchain." +puts stderr "\nVersion %{version}\n" + +} +module-whatis "Name: %{pname} built with %{compiler_family} toolchain" +module-whatis "Version: %{version}" +module-whatis "Category: runtime library" +module-whatis "Description: %{SUMMARY}" +module-whatis "%{url}" + +set version %{version} + +prepend-path PATH %{hpc_bindir} +prepend-path LD_LIBRARY_PATH %{hpc_libdir} + +setenv %{hpc_upcase %pname}_DIR %{hpc_prefix} +setenv %{hpc_upcase %pname}_BIN %{hpc_bindir} +setenv %{hpc_upcase %pname}_LIB %{hpc_libdir} + +prepend-path LIBRARY_PATH %{hpc_libdir} +if {[file isdirectory %{hpc_includedir}]} { +prepend-path CPATH %{hpc_includedir} +prepend-path C_INCLUDE_PATH %{hpc_includedir} +prepend-path CPLUS_INCLUDE_PATH %{hpc_includedir} +prepend-path INCLUDE %{hpc_includedir} +%hpc_modulefile_add_pkgconfig_path +setenv %{hpc_upcase %pname}_INC %{hpc_includedir} +} + +family "%pname" + +EOF +%endif + +%check +pushd graphs +LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/ndmetis mdual.graph +LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/mpmetis metis.mesh 2 +LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/gpmetis test.mgraph 4 +LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/gpmetis copter2.graph 4 +LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/graphchk 4elt.graph +popd + +%if %{without hpc} +%post -n %libname -p /sbin/ldconfig + +%postun -n %libname -p /sbin/ldconfig +%else +%post -n %libname +/sbin/ldconfig -N %{p_libdir} + +%postun -n %libname +/sbin/ldconfig -N %{p_libdir} +%hpc_module_delete_if_default +%endif + +%files +%{?with_hpc:%dir %p_bindir} +%doc Changelog +%license LICENSE.txt +%{p_bindir}/* + +%files -n %{libname} +%{?with_hpc:%hpc_dirs} +%{?hpc_modules_files} +%{p_libdir}/lib%{pname}.so.%{somajor}* + +%files devel +%{?with_hpc:%dir %{p_includedir}} +%{p_includedir}/%{pname}.h +%{p_libdir}/lib%{pname}.so +%{?with_hpc:%{hpc_pkgconfig_file -n %{pname}}} + +%files doc +%doc manual/manual.pdf + +%files examples +%doc graphs + +%changelog