View | Details | Raw Unified | Return to bug 217283 | Differences between
and this patch

Collapse All | Expand All

(-)lang/Makefile (+1 lines)
Lines 4-9 Link Here
4
    COMMENT = Programming languages
4
    COMMENT = Programming languages
5
5
6
    SUBDIR += Gofer
6
    SUBDIR += Gofer
7
    SUBDIR += OpenCoarrays
7
    SUBDIR += abcl
8
    SUBDIR += abcl
8
    SUBDIR += adacontrol
9
    SUBDIR += adacontrol
9
    SUBDIR += afnix
10
    SUBDIR += afnix
(-)lang/OpenCoarrays/Makefile (+49 lines)
Line 0 Link Here
1
# Created by: Anton Shterenlikht
2
# $FreeBSD$
3
4
PORTNAME=	OpenCoarrays
5
PORTVERSION=	1.8.4
6
CATEGORIES=	lang
7
8
MAINTAINER=	mexas@bris.ac.uk
9
COMMENT=	Transport layer for coarray Fortran compilers
10
11
LICENSE=	BSD3CLAUSE
12
LICENSE_FILE=	${WRKSRC}/LICENSE
13
14
BUILD_DEPENDS=	bash:shells/bash
15
RUN_DEPENDS=	bash:shells/bash
16
17
USE_GITHUB=	yes
18
GH_ACCOUNT=	sourceryinstitute
19
20
USES=		cmake:outsource fortran shebangfix
21
SHEBANG_FILES=	src/extensions/caf-head \
22
		src/extensions/cafrun-head
23
24
OPTIONS_SINGLE=		MPI
25
OPTIONS_SINGLE_MPI=	MPICH OPENMPI OPENMPI2
26
OPTIONS_DEFAULT=	MPICH
27
28
MPICH_DESC=		Parallel processing support via MPICH
29
MPICH_BUILD_DEPENDS=	mpif90:net/mpich
30
MPICH_RUN_DEPENDS=	mpif90:net/mpich
31
32
OPENMPI_BUILD_DEPENDS=	${LOCALBASE}/mpi/openmpi/bin/mpif90:net/openmpi
33
OPENMPI_RUN_DEPENDS=	${LOCALBASE}/mpi/openmpi/bin/mpif90:net/openmpi
34
35
OPENMPI2_DESC=		Parallel processing support via Open MPI v2
36
OPENMPI2_BUILD_DEPENDS=	${LOCALBASE}/mpi/openmpi2/bin/mpif90:net/openmpi2
37
OPENMPI2_RUN_DEPENDS=	${LOCALBASE}/mpi/openmpi2/bin/mpif90:net/openmpi2
38
39
.include <bsd.port.options.mk>
40
41
.if ${GCC_DEFAULT:R} < 5
42
IGNORE=		This port requires GCC 5 or higher.  Add\
43
		DEFAULT_VERSIONS+=gcc=5 to /etc/make.conf
44
.endif
45
46
do-test:
47
	(cd ${TEST_WRKSRC} && ctest)
48
49
.include <bsd.port.mk>
(-)lang/OpenCoarrays/distinfo (+3 lines)
Line 0 Link Here
1
TIMESTAMP = 1487389722
2
SHA256 (sourceryinstitute-OpenCoarrays-1.8.4_GH0.tar.gz) = c40b504a65ea2933a3b68979c4e08dc9522f22b7a8d560d734d1a8bc6bcc1ee7
3
SIZE (sourceryinstitute-OpenCoarrays-1.8.4_GH0.tar.gz) = 243759
(-)lang/OpenCoarrays/files/patch-CMakeLists.txt (+51 lines)
Line 0 Link Here
1
--- CMakeLists.txt.orig	2017-02-07 05:19:01 UTC
2
+++ CMakeLists.txt
3
@@ -164,48 +164,6 @@ if ( (NOT MPI_C_FOUND) OR (NOT MPI_Fortr
4
   find_package( MPI REQUIRED )
5
 endif()
6
 
7
-#--------------------------------------------------------
8
-# Make sure a simple "hello world" C mpi program compiles
9
-#--------------------------------------------------------
10
-set(OLD_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
11
-set(CMAKE_REQUIRED_FLAGS ${MPI_C_COMPILE_FLAGS} ${MPI_C_LINK_FLAGS})
12
-set(OLD_INCLUDES ${CMAKE_REQUIRED_INCLUDES})
13
-set(CMAKE_REQUIRED_INCLUDES ${MPI_C_INCLUDE_PATH})
14
-set(OLD_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
15
-set(CMAKE_REQUIRED_LIBRARIES ${MPI_C_LIBRARIES})
16
-include (CheckCSourceCompiles)
17
-CHECK_C_SOURCE_COMPILES("
18
-#include <mpi.h>
19
-#include <stdio.h>
20
-int main(int argc, char** argv) {
21
-  MPI_Init(NULL, NULL);
22
-  int world_size;
23
-  MPI_Comm_size(MPI_COMM_WORLD, &world_size);
24
-  int world_rank;
25
-  MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
26
-  char processor_name[MPI_MAX_PROCESSOR_NAME];
27
-  int name_len;
28
-  MPI_Get_processor_name(processor_name, &name_len);
29
-  printf('Hello world from processor %s, rank %d out of %d processors',
30
-         processor_name, world_rank, world_size);
31
-  MPI_Finalize();
32
-}"
33
-MPI_C_COMPILES)
34
-set(CMAKE_REQUIRED_FLAGS ${OLD_REQUIRED_FLAGS})
35
-set(CMAKE_REQUIRED_INCLUDES ${OLD_INCLUDES})
36
-set(CMAKE_REQUIRED_LIBRARIES ${OLD_LIBRARIES})
37
-unset(OLD_REQUIRED_FLAGS)
38
-unset(OLD_INCLUDES)
39
-unset(OLD_LIBRARIES)
40
-
41
-if (NOT MPI_C_COMPILES)
42
-  message(FATAL_ERROR "MPI_C is missing! "
43
-    "Try setting MPI_C_COMPILER to the appropriate C compiler wrapper script and reconfigure. "
44
-    "i.e., `cmake -DMPI_C_COMPILER=/path/to/mpicc ..` or set it by editing the cache using "
45
-    "cmake-gui or ccmake."
46
-    )
47
-endif()
48
-
49
 #--------------------------------------------------------------
50
 # Make sure a simple "hello world" Fortran mpi program compiles
51
 # Try using mpi.mod first then fall back on includ 'mpif.h'
(-)lang/OpenCoarrays/files/patch-src_mpi_CMakeLists.txt (+21 lines)
Line 0 Link Here
1
--- src/mpi/CMakeLists.txt.orig	2017-02-07 05:19:01 UTC
2
+++ src/mpi/CMakeLists.txt
3
@@ -58,15 +58,15 @@ install(TARGETS caf_mpi EXPORT OpenCoarr
4
 )
5
 
6
 # Install modules to standard include dir, but namespace them with compiler/version
7
-set (mod_install "${CMAKE_INSTALL_FULL_INCLUDEDIR}/OpenCoarrays/${CMAKE_Fortran_COMPILER_ID}/${CMAKE_Fortran_COMPILER_VERSION}")
8
+set (mod_install "OpenCoarrays/${CMAKE_Fortran_COMPILER_ID}/${CMAKE_Fortran_COMPILER_VERSION}")
9
 install(DIRECTORY  "${CMAKE_BINARY_DIR}/mod/"
10
-  DESTINATION "${mod_install}"
11
+  DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/${mod_install}"
12
   FILES_MATCHING PATTERN "*.mod"
13
 )
14
 
15
 # Now add a link in standard include dir so that compilers will find by default... this may or may not actually be a good idea...
16
 if ( "${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU" )
17
-  INSTALL(CODE "execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ${mod_install}/opencoarrays.mod ${CMAKE_INSTALL_FULL_INCLUDEDIR}/opencoarrays.mod )"
18
+  INSTALL(CODE "execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ${mod_install}/opencoarrays.mod \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_INCLUDEDIR}/opencoarrays.mod )"
19
   )
20
 endif ()
21
 
(-)lang/OpenCoarrays/files/patch-src_mpi_mpi__caf.c (+10 lines)
Line 0 Link Here
1
--- src/mpi/mpi_caf.c.orig	2017-02-07 05:19:01 UTC
2
+++ src/mpi/mpi_caf.c
3
@@ -37,7 +37,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
4
 #include <stdlib.h>
5
 #include <string.h>        /* For memcpy.  */
6
 #include <stdarg.h>        /* For variadic arguments.  */
7
-#include <alloca.h>
8
 #include <unistd.h>
9
 #include <mpi.h>
10
 #include <pthread.h>
(-)lang/OpenCoarrays/pkg-descr (+5 lines)
Line 0 Link Here
1
OpenCoarrays is an open-source software project that supports the coarray
2
Fortran (CAF) parallel programming features of the Fortran 2008 standard
3
and several features proposed for Fortran 2015.
4
5
WWW: http://www.opencoarrays.org/
(-)lang/OpenCoarrays/pkg-plist (+11 lines)
Line 0 Link Here
1
bin/caf
2
bin/cafrun
3
include/OpenCoarrays/GNU/5.4.0/opencoarrays.mod
4
include/libcaf-gfortran-descriptor.h
5
include/libcaf.h
6
include/opencoarrays.mod
7
lib/cmake/opencoarrays/OpenCoarraysConfig.cmake
8
lib/cmake/opencoarrays/OpenCoarraysConfigVersion.cmake
9
lib/cmake/opencoarrays/OpenCoarraysTargets-%%CMAKE_BUILD_TYPE%%.cmake
10
lib/cmake/opencoarrays/OpenCoarraysTargets.cmake
11
lib/libcaf_mpi.a

Return to bug 217283