From c4069006ac1f7ed77ba0b094757fc36d815f294f Mon Sep 17 00:00:00 2001 From: Henrik Rusche Date: Tue, 26 Nov 2013 02:17:38 +0100 Subject: [PATCH] Bumped ThirdParty (scotch-6.0.0, metis-5.1.0, ParMetis-4.0.3) / Updates for gcc 4.8.1 --- ThirdParty/AllMake.stage3 | 6 +- .../rpmBuild/SOURCES/ParMGridGen-1.0.patch | 4 +- .../rpmBuild/SOURCES/scotch-6.0.0_patch_0 | 144 ++++++++++++++ ThirdParty/rpmBuild/SPECS/ParMetis-4.0.3.spec | 178 ++++++++++++++++++ ThirdParty/rpmBuild/SPECS/metis-5.1.0.spec | 177 +++++++++++++++++ ThirdParty/rpmBuild/SPECS/scotch-6.0.0.spec | 170 +++++++++++++++++ 6 files changed, 674 insertions(+), 5 deletions(-) create mode 100644 ThirdParty/rpmBuild/SOURCES/scotch-6.0.0_patch_0 create mode 100644 ThirdParty/rpmBuild/SPECS/ParMetis-4.0.3.spec create mode 100644 ThirdParty/rpmBuild/SPECS/metis-5.1.0.spec create mode 100644 ThirdParty/rpmBuild/SPECS/scotch-6.0.0.spec diff --git a/ThirdParty/AllMake.stage3 b/ThirdParty/AllMake.stage3 index 033b64d17..de5fbfed1 100755 --- a/ThirdParty/AllMake.stage3 +++ b/ThirdParty/AllMake.stage3 @@ -59,7 +59,7 @@ echo # Metis if [ -z "$METIS_SYSTEM" ] then - ( rpm_make -p metis-5.0pre2 -s metis-5.0pre2.spec -u http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD/metis-5.0pre2.tar.gz ) + ( rpm_make -p metis-5.1.0 -s metis-5.1.0.spec -u http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz ) else echo "Using system installed Metis" echo "" @@ -102,7 +102,7 @@ fi # Scotch if [ -z "$SCOTCH_SYSTEM" ] then - ( rpm_make -p scotch-5.1.10b -s scotch-5.1.10b.spec -u https://gforge.inria.fr/frs/download.php/27583/scotch-5.1.10b.tar.gz ) + ( rpm_make -p scotch-6.0.0 -s scotch-6.0.0.spec -u https://gforge.inria.fr/frs/download.php/31831/scotch-6.0.0.tar.gz ) else echo "Using system installed Scotch" echo "" @@ -111,7 +111,7 @@ fi # ParMetis if [ -z "$PARMETIS_SYSTEM" ] then - ( rpm_make -p ParMetis-3.1.1 -s ParMetis-3.1.1.spec -u http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD/ParMetis-3.1.1.tar.gz ) + ( rpm_make -p parmetis-4.0.3 -s parmetis-4.0.3.spec -u http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz ) else echo "Using system installed ParMetis" echo "" diff --git a/ThirdParty/rpmBuild/SOURCES/ParMGridGen-1.0.patch b/ThirdParty/rpmBuild/SOURCES/ParMGridGen-1.0.patch index 9e7a3c41b..48615ddf5 100644 --- a/ThirdParty/rpmBuild/SOURCES/ParMGridGen-1.0.patch +++ b/ThirdParty/rpmBuild/SOURCES/ParMGridGen-1.0.patch @@ -25,8 +25,8 @@ diff -ruN ParMGridGen-1.0_orig/Makefile.in ParMGridGen-1.0/Makefile.in -PARLIBS = -lparmgrid -lmgrid -lmpi -lm +LIBEXT = so + -+LIBS = -lMGridGen -lm -+PARLIBS = -lparmgrid -lMGridGen -lmpi -lm ++LIBS = -Xlinker --add-needed -Xlinker --no-as-needed -lMGridGen -lm ++PARLIBS = -Xlinker --add-needed -Xlinker --no-as-needed -lparmgrid -lMGridGen -lmpi -lm # What archiving to use diff --git a/ThirdParty/rpmBuild/SOURCES/scotch-6.0.0_patch_0 b/ThirdParty/rpmBuild/SOURCES/scotch-6.0.0_patch_0 new file mode 100644 index 000000000..795dc7cc7 --- /dev/null +++ b/ThirdParty/rpmBuild/SOURCES/scotch-6.0.0_patch_0 @@ -0,0 +1,144 @@ +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2 scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2 +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2 2013-11-26 01:39:06.886926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2 2013-11-26 02:01:19.338891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict + CLIBFLAGS = +-LDFLAGS = -lz -lm -lrt ++LDFLAGS = -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.c99 scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.c99 +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.c99 2013-11-26 01:39:06.886926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.c99 2013-11-26 02:01:19.338891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -std=c99 -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD + CLIBFLAGS = +-LDFLAGS = -lz -lm -lrt ++LDFLAGS = -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -D_XOPEN_SOURCE=600 -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.debug scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.debug +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.debug 2013-11-26 01:39:06.890926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.debug 2013-11-26 02:01:19.338891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -g -O0 -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DSCOTCH_DEBUG_ALL -DSCOTCH_DETERMINISTIC -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME + CLIBFLAGS = +-LDFLAGS = -g -lz -lm -lrt ++LDFLAGS = -g -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.nothreads scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.nothreads +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.nothreads 2013-11-26 01:39:06.882926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.nothreads 2013-11-26 02:01:19.338891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -O3 -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME + CLIBFLAGS = +-LDFLAGS = -lz -lm -lrt ++LDFLAGS = -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.prof scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.prof +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.prof 2013-11-26 01:39:06.886926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.prof 2013-11-26 02:01:19.338891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -pg -O3 -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_PTHREAD -DSCOTCH_RENAME + CLIBFLAGS = +-LDFLAGS = -lz -lm -lrt ++LDFLAGS = -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib 2013-11-26 01:39:06.886926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib 2013-11-26 02:01:19.338891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict + CLIBFLAGS = -shared -fPIC +-LDFLAGS = -lz -lm -lrt ++LDFLAGS = -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib.debug scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib.debug +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib.debug 2013-11-26 01:39:06.886926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib.debug 2013-11-26 02:01:19.338891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -g -O0 -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DSCOTCH_DEBUG_ALL -DSCOTCH_DETERMINISTIC -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME + CLIBFLAGS = -shared -fPIC +-LDFLAGS = -g -lz -lm -lrt ++LDFLAGS = -g -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_sun_solaris5 scotch_6.0.0/src/Make.inc/Makefile.inc.i686_sun_solaris5 +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.i686_sun_solaris5 2013-11-26 01:39:06.882926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.i686_sun_solaris5 2013-11-26 02:01:19.338891116 +0100 +@@ -11,7 +11,7 @@ + CCD = mpicc + CFLAGS = -m64 -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_PTHREAD -DSCOTCH_RENAME -Du_int32_t=uint32_t -Du_int64_t=uint64_t + CLIBFLAGS = +-LDFLAGS = -lz -lm -lrt ++LDFLAGS = -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.x86-64_pc_linux2 scotch_6.0.0/src/Make.inc/Makefile.inc.x86-64_pc_linux2 +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.x86-64_pc_linux2 2013-11-26 01:39:06.902926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.x86-64_pc_linux2 2013-11-26 02:01:19.342891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict -DIDXSIZE64 + CLIBFLAGS = +-LDFLAGS = -lz -lm -lrt ++LDFLAGS = -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.x86-64_pc_linux2.icc scotch_6.0.0/src/Make.inc/Makefile.inc.x86-64_pc_linux2.icc +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.x86-64_pc_linux2.icc 2013-11-26 01:39:06.902926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.x86-64_pc_linux2.icc 2013-11-26 02:01:19.342891116 +0100 +@@ -11,7 +11,7 @@ + CCD = icc + CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -restrict -DIDXSIZE64 + CLIBFLAGS = +-LDFLAGS = -g -lz -lm -lrt ++LDFLAGS = -g -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.x86-64_pc_linux2.icc.debug scotch_6.0.0/src/Make.inc/Makefile.inc.x86-64_pc_linux2.icc.debug +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.x86-64_pc_linux2.icc.debug 2013-11-26 01:39:06.898926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.x86-64_pc_linux2.icc.debug 2013-11-26 02:01:19.342891116 +0100 +@@ -11,7 +11,7 @@ + CCD = icc + CFLAGS = -g -O0 -fp-model strict -traceback -check-uninit -fp-stack-check -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_DEBUG_ALL -DSCOTCH_DETERMINISTIC -DSCOTCH_RENAME -restrict -DIDXSIZE64 + CLIBFLAGS = +-LDFLAGS = -g -lz -lm -lrt ++LDFLAGS = -g -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln +diff -ur scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.x86-64_pc_linux2.shlib scotch_6.0.0/src/Make.inc/Makefile.inc.x86-64_pc_linux2.shlib +--- scotch_6.0.0_unchanged/src/Make.inc/Makefile.inc.x86-64_pc_linux2.shlib 2013-11-26 01:39:06.898926953 +0100 ++++ scotch_6.0.0/src/Make.inc/Makefile.inc.x86-64_pc_linux2.shlib 2013-11-26 02:01:19.342891116 +0100 +@@ -11,7 +11,7 @@ + CCD = gcc + CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict -DIDXSIZE64 + CLIBFLAGS = -shared -fPIC +-LDFLAGS = -lz -lm -lrt ++LDFLAGS = -Xlinker --add-needed -Xlinker --no-as-needed -lz -lm -lrt + CP = cp + LEX = flex -Pscotchyy -olex.yy.c + LN = ln diff --git a/ThirdParty/rpmBuild/SPECS/ParMetis-4.0.3.spec b/ThirdParty/rpmBuild/SPECS/ParMetis-4.0.3.spec new file mode 100644 index 000000000..e80904226 --- /dev/null +++ b/ThirdParty/rpmBuild/SPECS/ParMetis-4.0.3.spec @@ -0,0 +1,178 @@ +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright held by original author +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# Script +# RPM spec file for ParMetis-4.0.3 +# +# Description +# RPM spec file for creating a relocatable RPM +# +# Author: +# Martin Beaudoin, Hydro-Quebec, (2010) +# +#------------------------------------------------------------------------------ + +# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable +%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)} +%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)} + +# Disable the generation of debuginfo packages +%define debug_package %{nil} + +# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory +%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild +%define _tmppath %{_topdir}/tmp + +# Will install the package directly $WM_THIRD_PARTY_DIR +# Some comments about package relocation: +# By using this prefix for the Prefix: parameter in this file, you will make this +# package relocatable. +# +# This is fine, as long as your software is itself relocatable. +# +# Simply take note that libraries built with libtool are not relocatable because the +# prefix we specify will be hard-coded in the library .la files. +# Ref: http://sourceware.org/autobook/autobook/autobook_80.html +# +# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will +# not be able to reutilize this RPM, even though it is relocatable. You will need to +# regenerate the RPM. +# +%define _prefix %{_WM_THIRD_PARTY_DIR} + +%define name parmetis +%define release %{_WM_OPTIONS} +%define version 4.0.3 + +%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root + +BuildRoot: %{buildroot} +Summary: parmetis +License: Unkown +Name: %{name} +Version: %{version} +Release: %{release} +URL: http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis +Source: %url/%{name}-%{version}.tar.gz +Prefix: %{_prefix} +Group: Development/Tools +Patch0: ParMetis-3.1.1.patch_darwin +Patch1: ParMetis-3.1.1.patch + +%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS} + +%description +%{summary} + +%prep +%setup -q + +%ifos darwin +%patch0 -p1 +#%else +#patch1 -p1 +%endif + +%build + [ -n "$WM_CC" ] && export CC="$WM_CC" + [ -n "$WM_CXX" ] && export CXX="$WM_CXX" + [ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS" + [ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS" + [ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS" + + [ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1 + make config + make -j $WM_NCOMPPROCS + + +%install + # Manual installation + mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/include/ParMETISLib + mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/lib + + cp include/*.h $RPM_BUILD_ROOT/%{_installPrefix}/include + cp metis/libmetis/*.h $RPM_BUILD_ROOT/%{_installPrefix}/include/ParMETISLib + + cp build/*/libparmetis/lib* $RPM_BUILD_ROOT/%{_installPrefix}/lib + cp build/*/libmetis/lib* $RPM_BUILD_ROOT/%{_installPrefix}/lib + + # Creation of OpenFOAM specific .csh and .sh files" + + echo "" + echo "Generating OpenFOAM specific .csh and .sh files for the package %{name}-%{version}" + echo "" + # + # Generate package specific .sh file for OpenFOAM + # +mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc +cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh +# Load %{name}-%{version} libraries and binaries if available +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export PARMETIS_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS +export PARMETIS_BIN_DIR=\$PARMETIS_DIR/bin +export PARMETIS_LIB_DIR=\$PARMETIS_DIR/lib +export PARMETIS_INCLUDE_DIR=\$PARMETIS_DIR/include + +# Enable access to the runtime package applications and libraries +[ -d \$PARMETIS_BIN_DIR ] && _foamAddPath \$PARMETIS_BIN_DIR +[ -d \$PARMETIS_LIB_DIR ] && _foamAddLib \$PARMETIS_LIB_DIR + +DOT_SH_EOF + + # + # Generate package specific .csh file for OpenFOAM + # +cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh +# Load %{name}-%{version} libraries and binaries if available +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +setenv PARMETIS_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS +setenv PARMETIS_BIN_DIR \$PARMETIS_DIR/bin +setenv PARMETIS_LIB_DIR \$PARMETIS_DIR/lib +setenv PARMETIS_INCLUDE_DIR \$PARMETIS_DIR/include + +if ( -e \$PARMETIS_BIN_DIR ) then + _foamAddPath \$PARMETIS_BIN_DIR +endif + +if ( -e \$PARMETIS_LIB_DIR ) then + _foamAddLib \$PARMETIS_LIB_DIR +endif +DOT_CSH_EOF + + #finally, generate a .tgz file for systems where using rpm for installing packages + # as a non-root user might be a problem. + (mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version}) + + +%clean +rm -rf %{buildroot} + +%Files +%defattr(-,root,root) +%{_installPrefix}/* + + + + diff --git a/ThirdParty/rpmBuild/SPECS/metis-5.1.0.spec b/ThirdParty/rpmBuild/SPECS/metis-5.1.0.spec new file mode 100644 index 000000000..e3028680a --- /dev/null +++ b/ThirdParty/rpmBuild/SPECS/metis-5.1.0.spec @@ -0,0 +1,177 @@ +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright held by original author +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# Script +# RPM spec file for metis-5.1.0 +# +# Description +# RPM spec file for creating a relocatable RPM +# +# Author: +# Martin Beaudoin, Hydro-Quebec, (2010) +# +#------------------------------------------------------------------------------ + +# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable +%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)} +%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)} + +# Disable the generation of debuginfo packages +%define debug_package %{nil} + +# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory +%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild +%define _tmppath %{_topdir}/tmp + +# Will install the package directly $WM_THIRD_PARTY_DIR +# Some comments about package relocation: +# By using this prefix for the Prefix: parameter in this file, you will make this +# package relocatable. +# +# This is fine, as long as your software is itself relocatable. +# +# Simply take note that libraries built with libtool are not relocatable because the +# prefix we specify will be hard-coded in the library .la files. +# Ref: http://sourceware.org/autobook/autobook/autobook_80.html +# +# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will +# not be able to reutilize this RPM, even though it is relocatable. You will need to +# regenerate the RPM. +# +%define _prefix %{_WM_THIRD_PARTY_DIR} + +%define name metis +%define release %{_WM_OPTIONS} +%define version 5.1.0 + +%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root + +BuildRoot: %{buildroot} +Summary: metis +License: Unkown +Name: %{name} +Version: %{version} +Release: %{release} +URL: http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis +Source: %url/%{name}-%{version}.tar.gz +Prefix: %{_prefix} +Group: Development/Tools +Patch0: metis-5.0pre2_patch_darwin + +%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS} + +%description +%{summary} + +%prep +%setup -q + +%ifos darwin +%patch0 -p1 +%endif + +%build + [ -n "$WM_CC" ] && export CC="$WM_CC" + [ -n "$WM_CXX" ] && export CXX="$WM_CXX" + [ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS" + [ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS" + [ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS" + + [ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1 + +%ifos darwin + make config + # The parameter -D_POSIX_C_SOURCE=200809 has a side effect on Mac OS X + make -j $WM_NCOMPPROCS OPTFLAGS="-O3 -fPIC" CC=$CC +%else + make config + make -j $WM_NCOMPPROCS OPTFLAGS="-O3 -fPIC -D_POSIX_C_SOURCE=200809" CC=$CC +%endif + +%install + # Manual installation + mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/include + mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/lib + cp build/*/libmetis/libmetis.* $RPM_BUILD_ROOT/%{_installPrefix}/lib + cp include/metis.h $RPM_BUILD_ROOT/%{_installPrefix}/include + + # Creation of OpenFOAM specific .csh and .sh files" + + echo "" + echo "Generating OpenFOAM specific .csh and .sh files for the package %{name}-%{version}" + echo "" + # + # Generate package specific .sh file for OpenFOAM + # +mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc +cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh +# Load %{name}-%{version} libraries and binaries if available +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export METIS_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS +export METIS_BIN_DIR=\$METIS_DIR/bin +export METIS_LIB_DIR=\$METIS_DIR/lib +export METIS_INCLUDE_DIR=\$METIS_DIR/include + +# Enable access to the package runtime applications and libraries +[ -d \$METIS_BIN_DIR ] && _foamAddPath \$METIS_BIN_DIR +[ -d \$METIS_LIB_DIR ] && _foamAddLib \$METIS_LIB_DIR + +DOT_SH_EOF + + # + # Generate package specific .csh file for OpenFOAM + # +cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh +# Load %{name}-%{version} libraries and binaries if available +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +setenv METIS_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS +setenv METIS_BIN_DIR \$METIS_DIR/bin +setenv METIS_LIB_DIR \$METIS_DIR/lib +setenv METIS_INCLUDE_DIR \$METIS_DIR/include + +if ( -e \$METIS_BIN_DIR ) then + _foamAddPath \$METIS_BIN_DIR +endif + +if ( -e \$METIS_LIB_DIR ) then + _foamAddLib \$METIS_LIB_DIR +endif +DOT_CSH_EOF + + #finally, generate a .tgz file for systems where using rpm for installing packages + # as a non-root user might be a problem. + (mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version}) + + +%clean +rm -rf %{buildroot} + +%Files +%defattr(-,root,root) +%{_installPrefix}/* + + + + diff --git a/ThirdParty/rpmBuild/SPECS/scotch-6.0.0.spec b/ThirdParty/rpmBuild/SPECS/scotch-6.0.0.spec new file mode 100644 index 000000000..00495f386 --- /dev/null +++ b/ThirdParty/rpmBuild/SPECS/scotch-6.0.0.spec @@ -0,0 +1,170 @@ +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright held by original author +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# Script +# RPM spec file for scotch-6.0.0 +# +# Description +# RPM spec file for creating a relocatable RPM +# +# Author: +# Martin Beaudoin, Hydro-Quebec, (2010) +# +#------------------------------------------------------------------------------ + +# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable +%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)} +%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)} + +# Disable the generation of debuginfo packages +%define debug_package %{nil} + +# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory +%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild +%define _tmppath %{_topdir}/tmp + +# Will install the package directly $WM_THIRD_PARTY_DIR +# Some comments about package relocation: +# By using this prefix for the Prefix: parameter in this file, you will make this +# package relocatable. +# +# This is fine, as long as your software is itself relocatable. +# +# Simply take note that libraries built with libtool are not relocatable because the +# prefix we specify will be hard-coded in the library .la files. +# Ref: http://sourceware.org/autobook/autobook/autobook_80.html +# +# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will +# not be able to reutilize this RPM, even though it is relocatable. You will need to +# regenerate the RPM. +# +%define _prefix %{_WM_THIRD_PARTY_DIR} + +%define name scotch +%define release %{_WM_OPTIONS} +%define version 6.0.0 + +%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root + +BuildRoot: %{buildroot} +Summary: scotch +License: Unkown +Name: %{name} +Version: %{version} +Release: %{release} +URL: https://gforge.inria.fr/frs/download.php/31831 +Source: %url/%{name}-%{version}.tar.gz +Prefix: %{_prefix} +Group: Development/Tools +Patch0: scotch-6.0.0_patch_0 + +%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS} + +%description +%{summary} + +%prep +%setup -q -n %{name}_%{version} + +%patch0 -p1 + +%build + # export WM settings in a form that GNU configure recognizes + [ -n "$WM_CC" ] && export CC="$WM_CC" + [ -n "$WM_CXX" ] && export CXX="$WM_CXX" + [ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS" + [ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS" + [ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS" + + cd src + # Here, unfortunately, some hand tweaking might be necessary if your system is not running Linux or MacOS X +%ifos darwin + ln -s Make.inc/Makefile.inc.i686_mac_darwin10.shlib Makefile.inc +%else + ln -s Make.inc/Makefile.inc.i686_pc_linux2.shlib Makefile.inc +%endif + + [ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1 + make -j $WM_NCOMPPROCS scotch CC="$WM_CC" CXX="$WM_CXX" CCD="$WM_CC" CCS="$WM_CC" AR="$WM_CC" + make -j $WM_NCOMPPROCS ptscotch AR="$WM_CC" + +%install + cd src + mkdir -p $RPM_BUILD_ROOT%{_installPrefix} + make install prefix=$RPM_BUILD_ROOT%{_installPrefix} + + # Creation of OpenFOAM specific .csh and .sh files" + + echo "" + echo "Generating OpenFOAM specific .csh and .sh files for the package %{name}-%{version}" + echo "" + # + # Generate package specific .sh file for OpenFOAM + # +mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc +cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh +# Load %{name}-%{version} libraries and binaries if available +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export SCOTCH_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS +export SCOTCH_BIN_DIR=\$SCOTCH_DIR/bin +export SCOTCH_LIB_DIR=\$SCOTCH_DIR/lib +export SCOTCH_INCLUDE_DIR=\$SCOTCH_DIR/include + +# Enable access to the runtime package applications and libraries +[ -d \$SCOTCH_BIN_DIR ] && _foamAddPath \$SCOTCH_BIN_DIR +[ -d \$SCOTCH_LIB_DIR ] && _foamAddLib \$SCOTCH_LIB_DIR +DOT_SH_EOF + + # + # Generate package specific .csh file for OpenFOAM + # +cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh +# Load %{name}-%{version} libraries and binaries if available +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +setenv SCOTCH_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS +setenv SCOTCH_BIN_DIR \$SCOTCH_DIR/bin +setenv SCOTCH_LIB_DIR \$SCOTCH_DIR/lib +setenv SCOTCH_INCLUDE_DIR \$SCOTCH_DIR/include + +if ( -e \$SCOTCH_BIN_DIR ) then + _foamAddPath \$SCOTCH_BIN_DIR +endif + +if ( -e \$SCOTCH_LIB_DIR ) then + _foamAddLib \$SCOTCH_LIB_DIR +endif +DOT_CSH_EOF + + #finally, generate a .tgz file for systems where using rpm for installing packages + # as a non-root user might be a problem. + (mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version}) + + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root) +%{_installPrefix}/*