diff --git a/packages/openmpi/build.sh b/packages/openmpi/build.sh new file mode 100644 index 000000000..a8dc1411f --- /dev/null +++ b/packages/openmpi/build.sh @@ -0,0 +1,17 @@ +TERMUX_PKG_HOMEPAGE=https://www.open-mpi.org +TERMUX_PKG_DESCRIPTION="The Open MPI Project is an open source Message Passing Interface implementation that is developed and maintained by a consortium of academic, research, and industry partners" +TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91" +TERMUX_PKG_VERSION="2.1.1" +TERMUX_PKG_SRCURL=https://www.open-mpi.org/software/ompi/v${TERMUX_PKG_VERSION:0:3}/downloads/openmpi-$TERMUX_PKG_VERSION.tar.gz +TERMUX_PKG_SHA256=afe4bef3c4378bc76eea96c623d5aa4c1c98b9e057d281c646e68869292a77dc +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-x +ac_cv_header_ifaddrs_h=no +ac_cv_header_stdint_h=no +ac_cv_header_stdlib_h=no +--disable-dlopen" + +termux_step_pre_configure () { + # rindex is an obsolete version of strrchr which is not available in Android: + CFLAGS+=" -Drindex=strrchr" + LDFLAGS+=" -llog" +} diff --git a/packages/openmpi/configure.patch b/packages/openmpi/configure.patch new file mode 100644 index 000000000..b4466fc0f --- /dev/null +++ b/packages/openmpi/configure.patch @@ -0,0 +1,38 @@ +Make openmpi use asm stuff. This is probably a bad patch, stops working if a armv8*) option is added in future versions of openmpi. +--- src/configure 2017-05-10 18:01:14.000000000 +0200 ++++ configure 2017-08-21 16:25:06.056981123 +0200 +@@ -32870,7 +32870,7 @@ + OPAL_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' + ;; + +- armv7*) ++ arm*) + opal_cv_asm_arch="ARM" + OPAL_ASM_SUPPORT_64BIT=1 + OPAL_ASM_ARM_VERSION=7 +# @@ -66113,6 +66113,6 @@ +# # libpthreads: AIX - must check before libpthread +# # liblthread: LinuxThreads on FreeBSD +# # libpthread: The usual place (like we can define usual!) +# -plibs="-lpthreads -llthread -lpthread" +# +plibs="-lpthreads -llthread" +# +# # Only run C++ and Fortran if those compilers already configured +# @@ -78660,7 +78660,7 @@ +# $as_echo_n "checking for pthread_mutex_lock with -lpthread... " >&6; } +# # Try again with explicit -lpthread, but don't use AC_CHECK_FUNC to avoid the cache +# tmp_save_LIBS=$LIBS +# - LIBS="$LIBS -lpthread" +# + LIBS="$LIBS" +# cat confdefs.h - <<_ACEOF >conftest.$ac_ext +# /* end confdefs.h. */ +# +# @@ -78681,7 +78681,7 @@ +# _ACEOF +# if ac_fn_c_try_link "$LINENO"; then : +# hwloc_pthread_mutex_happy=yes +# - HWLOC_LIBS="$HWLOC_LIBS -lpthread" +# + HWLOC_LIBS="$HWLOC_LIBS" +# +# fi +# rm -f core conftest.err conftest.$ac_objext \ diff --git a/packages/openmpi/opal-mca-memory-patcher-memory_patcher_component.c.patch b/packages/openmpi/opal-mca-memory-patcher-memory_patcher_component.c.patch new file mode 100644 index 000000000..f11ba00f9 --- /dev/null +++ b/packages/openmpi/opal-mca-memory-patcher-memory_patcher_component.c.patch @@ -0,0 +1,23 @@ +--- ./opal/mca/memory/patcher/memory_patcher_component.c 2017-05-10 17:41:36.000000000 +0200 ++++ ../memory_patcher_component.c 2017-08-21 17:18:25.778728017 +0200 +@@ -254,9 +254,9 @@ + + if (advice == MADV_DONTNEED || + #ifdef MADV_REMOVE +- advice == MADV_REMOVE || ++ advice == MADV_REMOVE + #endif +- advice == POSIX_MADV_DONTNEED) ++ ) + { + opal_mem_hooks_release_hook (start, length, false); + } +@@ -342,7 +342,7 @@ + + #include + #include +-#include ++#include + + static size_t memory_patcher_get_shm_seg_size (const void *shmaddr) + { diff --git a/packages/openmpi/opal-mca-pmix-pmix112-pmix-configure.patch b/packages/openmpi/opal-mca-pmix-pmix112-pmix-configure.patch new file mode 100644 index 000000000..c22a4ce36 --- /dev/null +++ b/packages/openmpi/opal-mca-pmix-pmix112-pmix-configure.patch @@ -0,0 +1,11 @@ +--- ./opal/mca/pmix/pmix112/pmix/configure 2017-05-10 17:59:25.000000000 +0200 ++++ ../opal-mca-pmix-pmix112-pmix-configure 2017-08-21 18:41:52.480102289 +0200 +@@ -26009,7 +26009,7 @@ + + + orig_libs=$LIBS +- LIBS="-lpthread $LIBS" ++ LIBS="$LIBS" + + _x_ac_pthread_lock_found="0" + _x_ac_fcntl_lock_found="0" diff --git a/packages/openmpi/opal-util-show_help_lex.c.patch b/packages/openmpi/opal-util-show_help_lex.c.patch new file mode 100644 index 000000000..1752cf95b --- /dev/null +++ b/packages/openmpi/opal-util-show_help_lex.c.patch @@ -0,0 +1,12 @@ +--- ./opal/util/show_help_lex.c 2017-05-10 18:02:26.000000000 +0200 ++++ ../show_help_lex.c 2017-08-21 17:12:51.502680794 +0200 +@@ -38,7 +38,9 @@ + #include + #include + #include ++#if HAVE_STDLIB_H + #include ++#endif + + /* end standard C headers. */ + diff --git a/packages/openmpi/oshmem-mca-memheat-ptmalloc-malloc.c.patch b/packages/openmpi/oshmem-mca-memheat-ptmalloc-malloc.c.patch new file mode 100644 index 000000000..83b3544b4 --- /dev/null +++ b/packages/openmpi/oshmem-mca-memheat-ptmalloc-malloc.c.patch @@ -0,0 +1,15 @@ +--- ./oshmem/mca/memheap/ptmalloc/malloc.c 2017-05-10 17:40:49.000000000 +0200 ++++ ../malloc.c 2017-08-21 19:00:22.757971004 +0200 +@@ -648,10 +648,10 @@ + system version and #define HAVE_USR_INCLUDE_MALLOC_H. + */ + +-/* #define HAVE_USR_INCLUDE_MALLOC_H */ ++#define HAVE_USR_INCLUDE_MALLOC_H + + #ifdef HAVE_USR_INCLUDE_MALLOC_H +-#include "/usr/include/malloc.h" ++#include + #else /* HAVE_USR_INCLUDE_MALLOC_H */ + + struct mallinfo {