Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.1
parallel-netcdf
parallel-netcdf.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File parallel-netcdf.spec of Package parallel-netcdf
# # spec file for package parallel-netcdf # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # %if 0%{?sles_version} %define _mvapich2 1 %endif %if 0%{?suse_version} %define _openmpi 1 %endif %define _mpi %{?_openmpi:openmpi} %{?_mvapich2:mvapich2} Name: parallel-netcdf %define libname libpnetcdf Version: 1.7.0 Release: 0 %define sonum 1 Summary: High-performance parallel I/O with the NetCDF scientific data format License: NetCDF Group: Productivity/Scientific/Other Url: http://cucis.ece.northwestern.edu/projects/PnetCDF/index.html Source0: http://cucis.ece.northwestern.edu/projects/PnetCDF/Release/%{name}-%{version}.tar.bz2 # PATCH-FIX-OPENSUSE parallel-netcdf-1.6.1-destdir.patch Fix install directories Patch0: parallel-netcdf-1.6.1-destdir.patch BuildRequires: bison BuildRequires: flex BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: pkg-config %if 0%{?_openmpi} BuildRequires: openmpi-devel %endif %if 0%{?_mvapich2} BuildRequires: mvapich2-devel %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %description NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. %package openmpi Summary: High-performance parallel I/O with the NetCDF scientific data format Group: Productivity/Scientific/Other Requires: %{libname}%{sonum}-openmpi = %{version} %description openmpi NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. This package contains the openmpi version of utility functions for working with NetCDF files. %package mvapich2 Summary: High-performance parallel I/O with the NetCDF scientific data format Group: Productivity/Scientific/Other Requires: %{libname}%{sonum}-mvapich2 = %{version} %description mvapich2 NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. This package contains the mvapich2 version of utility functions for working with NetCDF files. %package -n %{libname}%{sonum}-openmpi Summary: High-performance parallel I/O with the NetCDF scientific data format Group: Productivity/Scientific/Other Provides: %{libname}-openmpi = %{version} %description -n %{libname}%{sonum}-openmpi NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. This package contains the openmpi version of the PnetCDF runtime libraries. %package -n %{libname}%{sonum}-mvapich2 Summary: High-performance parallel I/O with the NetCDF scientific data format Group: Productivity/Scientific/Other Provides: %{libname}-mvapich2 = %{version} %description -n %{libname}%{sonum}-mvapich2 NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. This package contains the mvapich2 version of the PnetCDF runtime libraries. %package devel-data Summary: Development data files for %{name} Group: Development/Libraries/Parallel %description devel-data NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. This package contains generic files needed to create projects that use any version of PnetCDF. %package openmpi-devel Summary: Development files for %{name}-openmpi Group: Development/Libraries/Parallel Requires: %{libname}%{sonum}-openmpi = %{version} Requires: openmpi-devel %description openmpi-devel NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. This package contains all files needed to create projects that use the openmpi version of PnetCDF. %package mvapich2-devel Summary: Development files for %{name}-mvapich2 Group: Development/Libraries/Parallel Requires: %{libname}%{sonum}-mvapich2 = %{version} Requires: mvapich2-devel %description mvapich2-devel NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. This package contains all files needed to create projects that use the mvapich2 version of PnetCDF. %package openmpi-devel-static Summary: Static development files for %{name}-openmpi Group: Development/Libraries/Parallel Requires: %{name}-openmpi-devel = %{version} %description openmpi-devel-static NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. This package contains the openmpi versions of the static libraries for PnetCDF. %package mvapich2-devel-static Summary: Static development files for %{name}-mvapich2 Group: Development/Libraries/Parallel Requires: %{name}-mvapich2-devel = %{version} %description mvapich2-devel-static NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Parallel netCDF (PnetCDF) is a library providing high-performance I/O while still maintaining file-format compatibility with Unidata's NetCDF. This package contains the mvapich2 versions of the static libraries for PnetCDF. %prep %setup -q -n %{name}-%{version} %patch0 -p1 set -- * for mpi in %_mpi; do mkdir $mpi mkdir $mpi/shared cp -ap "$@" $mpi done %build for mpi in %_mpi; do pushd $mpi %configure --prefix=%{_libdir}/mpi/gcc/$mpi \ --libdir=%{_libdir}/mpi/gcc/$mpi/%{_lib} \ --with-mpi=%{_libdir}/mpi/gcc/$mpi make pushd shared %{_libdir}/mpi/gcc/$mpi/bin/mpif77 -shared -Wl,-soname=libpnetcdf.so.%{sonum} -o ../libpnetcdf.so.%{version} popd popd done %install for mpi in %_mpi; do pushd $mpi %make_install %if %{_lib} != lib mv %{buildroot}%{_libdir}/mpi/gcc/$mpi/lib %{buildroot}%{_libdir}/mpi/gcc/$mpi/%{_lib} %endif install -m 755 libpnetcdf.so.%{version} %{buildroot}%{_libdir}/mpi/gcc/$mpi/%{_lib} pushd %{buildroot}%{_libdir}/mpi/gcc/$mpi/%_lib ln -s libpnetcdf.so.%{version} libpnetcdf.so.%{sonum} ln -s libpnetcdf.so.%{version} libpnetcdf.so popd find %{buildroot} -name '*.la' -delete popd done # rpm macro for version checking mkdir -p %{buildroot}%{_sysconfdir}/rpm cat > %{buildroot}%{_sysconfdir}/rpm/macros.pnetcdf <<EOF # # RPM macros for hdf5 packaging # %_pnetcdf_sonum %{sonum} %_pnetcdf_version %{version} EOF %if 0%{?_openmpi} %post -n libpnetcdf1-openmpi -p /sbin/ldconfig %postun -n libpnetcdf1-openmpi -p /sbin/ldconfig %endif %if 0%{?_mvapich2} %post -n libpnetcdf1-mvapich2 -p /sbin/ldconfig %postun -n libpnetcdf1-mvapich2 -p /sbin/ldconfig %endif %files devel-data %defattr(-,root,root) %{_sysconfdir}/rpm/macros.pnetcdf %if 0%{?_openmpi} %files openmpi %defattr(-,root,root) %{_libdir}/mpi/gcc/openmpi/bin/* %dir %{_libdir}/mpi/gcc/openmpi/man/ %{_libdir}/mpi/gcc/openmpi/man/* %files -n %{libname}%{sonum}-openmpi %defattr(-,root,root) %doc COPYRIGHT CREDITS RELEASE_NOTES %doc README README.LINUX README.large_files %{_libdir}/mpi/gcc/openmpi/%{_lib}/*.so.* %files openmpi-devel %defattr(-,root,root) %{_libdir}/mpi/gcc/openmpi/include/* %{_libdir}/mpi/gcc/openmpi/%{_lib}/*.so %{_libdir}/mpi/gcc/openmpi/%{_lib}/pkgconfig/pnetcdf.pc %files openmpi-devel-static %defattr(-,root,root) %{_libdir}/mpi/gcc/openmpi/%{_lib}/*.a %endif %if 0%{?_mvapich2} %files mvapich2 %defattr(-,root,root) %{_libdir}/mpi/gcc/mvapich2/bin/* %dir %{_libdir}/mpi/gcc/mvapich2/man/ %{_libdir}/mpi/gcc/mvapich2/man/* %files -n %{libname}%{sonum}-mvapich2 %defattr(-,root,root,-) %doc COPYRIGHT CREDITS RELEASE_NOTES %doc README README.LINUX README.large_files %{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.so.* %files mvapich2-devel %defattr(-,root,root,-) %{_libdir}/mpi/gcc/mvapich2/include/* %{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.so %{_libdir}/mpi/gcc/mvapich2/%{_lib}/pkgconfig/pnetcdf.pc %files mvapich2-devel-static %defattr(-,root,root,-) %{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.a %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor