*gnu/packages/patches/openfoam-4.1-cleanup.patch: New file *gnu/packages/simulation.scm: New file *gnu/local.mk (GNU_SYSTEM_MODULES): Add module. (dist_patch_DATA): Add patch. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
		
			
				
	
	
		
			243 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			243 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
# This patch removes all need for the ThirdParty files of OpenFOAM.
 | 
						|
 | 
						|
# Derived from EasyBuild patch by Ward Poelmans <wpoely86@gmail.com>.
 | 
						|
# Modified for GNU Guix by Paul Garlick <pgarlick@tourbillion-technology.com>.
 | 
						|
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake
 | 
						|
+++ OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
 | 
						|
@@ -9,7 +9,7 @@
 | 
						|
 #
 | 
						|
 # use readline if available
 | 
						|
 #
 | 
						|
-if [ -f /usr/include/readline/readline.h ]
 | 
						|
+if true
 | 
						|
 then
 | 
						|
     echo "Found <readline/readline.h>  --  enabling readline support."
 | 
						|
     export COMP_FLAGS="-DHAS_READLINE"
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/etc/bashrc OpenFOAM-4.x-version-4.1/etc/bashrc
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/etc/bashrc
 | 
						|
+++ OpenFOAM-4.x-version-4.1/etc/bashrc
 | 
						|
@@ -43,8 +43,10 @@
 | 
						|
 # Please set to the appropriate path if the default is not correct.
 | 
						|
 #
 | 
						|
 [ $BASH_SOURCE ] && \
 | 
						|
-export FOAM_INST_DIR=$(cd ${BASH_SOURCE%/*/*/*} && pwd -P) || \
 | 
						|
+export FOAM_INST_DIR=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P) || \
 | 
						|
 export FOAM_INST_DIR=$HOME/$WM_PROJECT
 | 
						|
+# For GNU Guix: set initially for build then re-set at runtime
 | 
						|
+#
 | 
						|
 # export FOAM_INST_DIR=~$WM_PROJECT
 | 
						|
 # export FOAM_INST_DIR=/opt/$WM_PROJECT
 | 
						|
 # export FOAM_INST_DIR=/usr/local/$WM_PROJECT
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL
 | 
						|
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
 | 
						|
@@ -36,37 +36,7 @@
 | 
						|
 #
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
 | 
						|
-boost_version=boost-system
 | 
						|
-cgal_version=cgal-system
 | 
						|
-#cgal_version=CGAL-4.8
 | 
						|
-
 | 
						|
-if [ -z "$SOURCE_CGAL_VERSIONS_ONLY" ]
 | 
						|
-then
 | 
						|
-
 | 
						|
-    common_path=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
 | 
						|
-
 | 
						|
-    export BOOST_ARCH_PATH=$common_path/$boost_version
 | 
						|
-    export CGAL_ARCH_PATH=$common_path/$cgal_version
 | 
						|
-
 | 
						|
-    if [ "$FOAM_VERBOSE" -a "$PS1" ]
 | 
						|
-    then
 | 
						|
-        echo "Using CGAL and boost" 1>&2
 | 
						|
-        echo "    $cgal_version at $CGAL_ARCH_PATH" 1>&2
 | 
						|
-        echo "    $boost_version at $BOOST_ARCH_PATH" 1>&2
 | 
						|
-    fi
 | 
						|
-
 | 
						|
-    if [ -d "$CGAL_ARCH_PATH" -a "$cgal_version" != "cgal-system" ]
 | 
						|
-    then
 | 
						|
-        _foamAddLib $CGAL_ARCH_PATH/lib
 | 
						|
-    fi
 | 
						|
-
 | 
						|
-    if [ -d "$BOOST_ARCH_PATH" -a "$boost_version" != "boost-system" ]
 | 
						|
-    then
 | 
						|
-        _foamAddLib $BOOST_ARCH_PATH/lib
 | 
						|
-    fi
 | 
						|
-
 | 
						|
-    unset boost_version cgal_version common_path
 | 
						|
-
 | 
						|
-fi
 | 
						|
+export CGAL_ARCH_PATH=$CGAL_ROOT
 | 
						|
+export BOOST_ARCH_PATH=$BOOST_ROOT
 | 
						|
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools
 | 
						|
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
 | 
						|
@@ -29,13 +29,5 @@
 | 
						|
 #
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
 | 
						|
-version=svn
 | 
						|
-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
 | 
						|
-
 | 
						|
-GPERFTOOLS_VERSION=gperftools-$version
 | 
						|
-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION
 | 
						|
-
 | 
						|
-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH
 | 
						|
-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH
 | 
						|
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis OpenFOAM-4.x-version-4.1/etc/config.sh/metis
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis
 | 
						|
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/metis
 | 
						|
@@ -34,7 +34,7 @@
 | 
						|
 #
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
 | 
						|
-export METIS_VERSION=metis-5.1.0
 | 
						|
-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION
 | 
						|
+export METIS_VERSION=metis-$METISVERSION
 | 
						|
+export METIS_ARCH_PATH=$METIS_ROOT
 | 
						|
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch
 | 
						|
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
 | 
						|
@@ -37,7 +37,7 @@
 | 
						|
 #
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
 | 
						|
-export SCOTCH_VERSION=scotch_6.0.3
 | 
						|
-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION
 | 
						|
+export SCOTCH_VERSION=scotch_$SCOTCHVERSION
 | 
						|
+export SCOTCH_ARCH_PATH=$SCOTCH_ROOT
 | 
						|
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings OpenFOAM-4.x-version-4.1/etc/config.sh/settings
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings
 | 
						|
+++ OpenFOAM-4.x-version-4.1/etc/config.sh/settings
 | 
						|
@@ -279,6 +279,9 @@
 | 
						|
     ;;
 | 
						|
 system)
 | 
						|
     # Use system compiler
 | 
						|
+    # Use system GMP and MPFR packages
 | 
						|
+    export GMP_ARCH_PATH=$GMP_ROOT
 | 
						|
+    export MPFR_ARCH_PATH=$MPFR_ROOT
 | 
						|
     ;;
 | 
						|
 *)
 | 
						|
     echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" 1>&2
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options
 | 
						|
+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
 | 
						|
@@ -5,8 +5,7 @@
 | 
						|
     $(PFLAGS) $(PINC) \
 | 
						|
     -I$(SCOTCH_ROOT)/include \
 | 
						|
     -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \
 | 
						|
-    -I/usr/include/scotch \
 | 
						|
     -I../decompositionMethods/lnInclude
 | 
						|
 | 
						|
 LIB_LIBS = \
 | 
						|
-    -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
 | 
						|
+    -L$(SCOTCH_ROOT)/lib -L$(MPI_ARCH_PATH)/lib -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options
 | 
						|
+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
 | 
						|
@@ -9,8 +9,7 @@
 | 
						|
     $(PFLAGS) $(PINC) \
 | 
						|
     -I$(SCOTCH_ROOT)/include \
 | 
						|
     -I$(SCOTCH_ARCH_PATH)/include \
 | 
						|
-    -I/usr/include/scotch \
 | 
						|
     -I../decompositionMethods/lnInclude
 | 
						|
 | 
						|
 LIB_LIBS = \
 | 
						|
-    -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN) -lscotch -lscotcherrexit -lrt
 | 
						|
+    -L$(SCOTCH_ROOT)/lib -lscotch -lscotcherrexit -lrt
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general OpenFOAM-4.x-version-4.1/wmake/makefiles/general
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general
 | 
						|
+++ OpenFOAM-4.x-version-4.1/wmake/makefiles/general
 | 
						|
@@ -33,7 +33,6 @@
 | 
						|
 # The Makefile uses a POSIX shell
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
 
 | 
						|
-SHELL           = /bin/sh
 | 
						|
 
 | 
						|
 
 | 
						|
 #------------------------------------------------------------------------------
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmake OpenFOAM-4.x-version-4.1/wmake/wmake
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/wmake/wmake
 | 
						|
+++ OpenFOAM-4.x-version-4.1/wmake/wmake
 | 
						|
@@ -163,7 +163,7 @@
 | 
						|
 then
 | 
						|
     if [ "$WM_NCOMPPROCS" -gt 1 -a ! "$MAKEFLAGS" ]
 | 
						|
     then
 | 
						|
-        lockDir=$HOME/.$WM_PROJECT/.wmake
 | 
						|
+        lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
 | 
						|
 
 | 
						|
         if [ -d $lockDir ]
 | 
						|
         then
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler
 | 
						|
+++ OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
 | 
						|
@@ -53,7 +53,7 @@
 | 
						|
 # csh sets HOST, bash sets HOSTNAME
 | 
						|
 : ${HOST:=$HOSTNAME}
 | 
						|
 
 | 
						|
-lockDir=$HOME/.$WM_PROJECT/.wmake
 | 
						|
+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
 | 
						|
 
 | 
						|
 # Fallback - 1 core on current host
 | 
						|
 : ${WM_HOSTS:=$HOST:1}
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime
 | 
						|
+++ OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
 | 
						|
@@ -53,7 +53,7 @@
 | 
						|
 # csh sets HOST, bash sets HOSTNAME
 | 
						|
 : ${HOST:=$HOSTNAME}
 | 
						|
 
 | 
						|
-lockDir=$HOME/.$WM_PROJECT/.wmake
 | 
						|
+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
 | 
						|
 # Fallback - 1 core on current host
 | 
						|
 : ${WM_HOSTS:=$HOST:1}
 | 
						|
 
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C
 | 
						|
+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
 | 
						|
@@ -67,7 +67,7 @@
 | 
						|
 
 | 
						|
     // Processor weights initialised with no size, only used if specified in
 | 
						|
     // a file
 | 
						|
-    Field<scalar> processorWeights;
 | 
						|
+    Field<floatScalar> processorWeights;
 | 
						|
 
 | 
						|
     // Cell weights (so on the vertices of the dual)
 | 
						|
     List<label> cellWeights;
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL
 | 
						|
+++ OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
 | 
						|
@@ -6,9 +6,10 @@
 | 
						|
     -I/usr/include
 | 
						|
 
 | 
						|
 CGAL_LIBS = \
 | 
						|
-    -L$(MPFR_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
 | 
						|
-    -L$(GMP_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
 | 
						|
+    -L$(MPFR_ARCH_PATH)/lib \
 | 
						|
+    -L$(GMP_ARCH_PATH)/lib \
 | 
						|
     -L$(BOOST_ARCH_PATH)/lib \
 | 
						|
     -L$(CGAL_ARCH_PATH)/lib \
 | 
						|
     -lCGAL \
 | 
						|
+    -lgmp \
 | 
						|
     -lmpfr
 | 
						|
diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
 | 
						|
--- OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++
 | 
						|
+++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
 | 
						|
@@ -20,5 +20,5 @@
 | 
						|
 | 
						|
 LINK_LIBS   = $(c++DBUG)
 | 
						|
 | 
						|
-LINKLIBSO   = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
 | 
						|
-LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
 | 
						|
+LINKLIBSO   = $(CC) $(c++FLAGS) $(LDFLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
 | 
						|
+LINKEXE     = $(CC) $(c++FLAGS) $(LDFLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
 |