View | Details | Raw Unified | Return to bug 232352
Collapse All | Expand All

(-)i/lang/ponyc/Makefile (-8 / +26 lines)
Lines 1-8 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	ponyc
3
PORTNAME=	ponyc
4
DISTVERSION=	0.24.4
4
DISTVERSION=	0.25.0
5
PORTREVISION=	1
6
CATEGORIES=	lang
5
CATEGORIES=	lang
7
6
8
MAINTAINER=	greg@unrelenting.technology
7
MAINTAINER=	greg@unrelenting.technology
Lines 19-41 LIB_DEPENDS= libunwind.so:devel/libunwind Link Here
19
BUILD_DEPENDS=	llvm-link${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
18
BUILD_DEPENDS=	llvm-link${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
20
RUN_DEPENDS=	llvm-link${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
19
RUN_DEPENDS=	llvm-link${LLVM_VERSION}:devel/llvm${LLVM_VERSION}
21
20
22
OPTIONS_DEFINE=	DOCS EXAMPLES
23
24
USES=		gmake ncurses compiler:c++11-lang
21
USES=		gmake ncurses compiler:c++11-lang
25
MAKE_ARGS=	config=release
26
22
27
LLVM_VERSION=	50
23
LLVM_VERSION=	50
24
# LLVM 6 has assertion failures when e.g. optimizing the mandelbrot example
28
25
29
PLIST_SUB=	VERSION="${DISTVERSION}" PONYARCH="${PONYARCH}"
26
PLIST_SUB=	VERSION="${DISTVERSION}" PONYARCH="${PONYARCH}"
27
OPTIONS_SUB=	yes
30
28
31
USE_GITHUB=	yes
29
USE_GITHUB=	yes
32
GH_ACCOUNT=	ponylang
30
GH_ACCOUNT=	ponylang
33
31
34
PORTDOCS=	*.md
32
PORTDOCS=	*.md
35
33
36
.include <bsd.port.options.mk>
34
MAKE_ENV=	config=release verbose=true default_pic=true \
35
		prefix=${PREFIX} arch=${PONYARCH} \
36
		LLVM_CONFIG=llvm-config${LLVM_VERSION}
37
37
38
MAKE_ENV=	prefix=${PREFIX} verbose=true arch=${PONYARCH}
38
OPTIONS_DEFINE=			DOCS EXAMPLES DTRACE
39
OPTIONS_EXCLUDE_aarch64=	DTRACE
40
# Not enabling DTrace by default yet because it breaks --runtimebc ("super LTO"):
41
# https://github.com/ponylang/ponyc/issues/2915
42
43
DTRACE_MAKE_ENV=		use=dtrace
44
45
.include <bsd.port.pre.mk>
39
46
40
# Pony defaults to 'native', which
47
# Pony defaults to 'native', which
41
# a) doesn't work on aarch64
48
# a) doesn't work on aarch64
Lines 47-52 PONYARCH?= armv8-a Link Here
47
PONYARCH?=	core2
54
PONYARCH?=	core2
48
.endif
55
.endif
49
56
57
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200085
58
MAKE_ENV+=	default_ssl=openssl_1.1.0
59
.endif
60
61
.if ${CHOSEN_COMPILER_TYPE} == clang
62
MAKE_ENV+=	runtime-bitcode=yes
63
PLIST_SUB+=	BITCODE=""
64
.else
65
PLIST_SUB+=	BITCODE="@comment "
66
.endif
67
50
post-install:
68
post-install:
51
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/pony/${DISTVERSION}/bin/ponyc
69
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/pony/${DISTVERSION}/bin/ponyc
52
70
Lines 58-61 post-install-EXAMPLES-on: Link Here
58
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
76
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
59
	@(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
77
	@(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
60
78
61
.include <bsd.port.mk>
79
.include <bsd.port.post.mk>
(-)i/lang/ponyc/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1533336886
1
TIMESTAMP = 1539770206
2
SHA256 (ponylang-ponyc-0.24.4_GH0.tar.gz) = 979e443fa27df7b65c3ac35db47fc0b130608f0745d4fa393c451734343c088d
2
SHA256 (ponylang-ponyc-0.25.0_GH0.tar.gz) = 8420d84f178db325934d77dc407a7f98d6bd14b8cf8036e17b41f886f5820cb2
3
SIZE (ponylang-ponyc-0.24.4_GH0.tar.gz) = 1361094
3
SIZE (ponylang-ponyc-0.25.0_GH0.tar.gz) = 1378042
(-)i/lang/ponyc/files/patch-Makefile (-12 / +10 lines)
Lines 1-13 Link Here
1
--- Makefile.orig	2018-05-27 18:29:53 UTC
1
--- Makefile.orig	2018-10-17 10:11:59 UTC
2
+++ Makefile
2
+++ Makefile
3
@@ -221,6 +221,10 @@ ifndef LLVM_CONFIG
3
@@ -806,7 +806,7 @@ $($(1))/libponyrt.$(LIB_EXT): $(depends) $(ofiles)
4
     LLVM_CONFIG = llvm-config-3.9
4
 	$(SILENT)rm -f $(PONY_BUILD_DIR)/dtrace_probes.o
5
   else ifneq (,$(shell which /usr/local/opt/llvm@3.9/bin/llvm-config 2> /dev/null))
5
 	$(SILENT)$(DTRACE) -G -s $(PONY_SOURCE_DIR)/common/dtrace_probes.d -o $(PONY_BUILD_DIR)/dtrace_probes.o $(ofiles)
6
     LLVM_CONFIG = /usr/local/opt/llvm@3.9/bin/llvm-config
6
 	$(SILENT)$(AR) $(AR_FLAGS) $$@ $(ofiles) $(PONY_BUILD_DIR)/dtrace_probes.o
7
+  else ifneq (,$(shell which llvm-config50 2> /dev/null))
7
-	$(SILENT)$(AR) $(AR_FLAGS) $(PONY_BUILD_DIR)/libdtrace_probes.a $(PONY_BUILD_DIR)/dtrace_probes.o
8
+    LLVM_CONFIG = llvm-config50
8
+	$(SILENT)$(AR) $(AR_FLAGS) $(lib)/libdtrace_probes.a $(PONY_BUILD_DIR)/dtrace_probes.o
9
+  else ifneq (,$(shell which llvm-config40 2> /dev/null))
9
     else
10
+    LLVM_CONFIG = llvm-config40
10
 	$(SILENT)$(AR) $(AR_FLAGS) $$@ $(ofiles)
11
   else ifneq (,$(shell which llvm-config39 2> /dev/null))
11
     endif
12
     LLVM_CONFIG = llvm-config39
13
   else ifneq (,$(shell which /usr/local/opt/llvm/bin/llvm-config 2> /dev/null))
(-)i/lang/ponyc/files/patch-src_libponyc_codegen_genexe.c (+12 lines)
Added Link Here
1
--- src/libponyc/codegen/genexe.c.orig	2018-10-13 12:30:06 UTC
2
+++ src/libponyc/codegen/genexe.c
3
@@ -347,8 +347,7 @@ static bool link_exe(compile_t* c, ast_t* program,
4
     "";
5
 #endif
6
   const char* lexecinfo =
7
-#if (defined(PLATFORM_IS_LINUX) && !defined(__GLIBC__)) || \
8
-    (defined(PLATFORM_IS_BSD) && defined(DEBUG))
9
+#if (defined(PLATFORM_IS_LINUX) && !defined(__GLIBC__)) || defined(PLATFORM_IS_BSD)
10
    "-lexecinfo";
11
 #else
12
     "";
(-)i/lang/ponyc/files/patch-src_libponyc_codegen_host.cc (+17 lines)
Added Link Here
1
--- src/libponyc/codegen/host.cc.orig	2018-10-17 11:42:19 UTC
2
+++ src/libponyc/codegen/host.cc
3
@@ -56,7 +56,14 @@ char* LLVMGetHostCPUFeatures()
4
 {
5
   StringMap<bool> features;
6
   bool got_features = sys::getHostCPUFeatures(features);
7
+#ifdef PLATFORM_IS_ARM
8
+  // LLVM might not have CPU features support on e.g. FreeBSD/aarch64
9
+  if (!got_features) {
10
+    features["neon"] = true;
11
+  }
12
+#else
13
   pony_assert(got_features);
14
+#endif
15
   (void)got_features;
16
 
17
   // Calculate the size of buffer that will be needed to return all features.
(-)i/lang/ponyc/pkg-plist (+5 lines)
Lines 6-20 lib/libponyrt.a Link Here
6
lib/pony/%%VERSION%%/bin/ponyc
6
lib/pony/%%VERSION%%/bin/ponyc
7
lib/pony/%%VERSION%%/include/pony.h
7
lib/pony/%%VERSION%%/include/pony.h
8
lib/pony/%%VERSION%%/include/pony/detail/atomics.h
8
lib/pony/%%VERSION%%/include/pony/detail/atomics.h
9
%%DTRACE%%lib/pony/%%VERSION%%/lib/%%PONYARCH%%/libdtrace_probes.a
9
lib/pony/%%VERSION%%/lib/%%PONYARCH%%/libponyc.a
10
lib/pony/%%VERSION%%/lib/%%PONYARCH%%/libponyc.a
10
lib/pony/%%VERSION%%/lib/%%PONYARCH%%/libponyrt.a
11
lib/pony/%%VERSION%%/lib/%%PONYARCH%%/libponyrt.a
12
%%BITCODE%%lib/pony/%%VERSION%%/lib/%%PONYARCH%%/libponyrt.bc
11
lib/pony/%%VERSION%%/packages/assert/assert.pony
13
lib/pony/%%VERSION%%/packages/assert/assert.pony
12
lib/pony/%%VERSION%%/packages/backpressure/auth.pony
14
lib/pony/%%VERSION%%/packages/backpressure/auth.pony
13
lib/pony/%%VERSION%%/packages/backpressure/backpressure.pony
15
lib/pony/%%VERSION%%/packages/backpressure/backpressure.pony
14
lib/pony/%%VERSION%%/packages/buffered/_test.pony
16
lib/pony/%%VERSION%%/packages/buffered/_test.pony
17
lib/pony/%%VERSION%%/packages/buffered/benchmarks/main.pony
15
lib/pony/%%VERSION%%/packages/buffered/buffered.pony
18
lib/pony/%%VERSION%%/packages/buffered/buffered.pony
16
lib/pony/%%VERSION%%/packages/buffered/reader.pony
19
lib/pony/%%VERSION%%/packages/buffered/reader.pony
17
lib/pony/%%VERSION%%/packages/buffered/writer.pony
20
lib/pony/%%VERSION%%/packages/buffered/writer.pony
21
lib/pony/%%VERSION%%/packages/builtin/_partial_arithmetic.pony
18
lib/pony/%%VERSION%%/packages/builtin/_to_string.pony
22
lib/pony/%%VERSION%%/packages/builtin/_to_string.pony
19
lib/pony/%%VERSION%%/packages/builtin/ambient_auth.pony
23
lib/pony/%%VERSION%%/packages/builtin/ambient_auth.pony
20
lib/pony/%%VERSION%%/packages/builtin/any.pony
24
lib/pony/%%VERSION%%/packages/builtin/any.pony
Lines 90-95 lib/pony/%%VERSION%%/packages/files/directory.pony Link Here
90
lib/pony/%%VERSION%%/packages/files/file.pony
94
lib/pony/%%VERSION%%/packages/files/file.pony
91
lib/pony/%%VERSION%%/packages/files/file_caps.pony
95
lib/pony/%%VERSION%%/packages/files/file_caps.pony
92
lib/pony/%%VERSION%%/packages/files/file_info.pony
96
lib/pony/%%VERSION%%/packages/files/file_info.pony
97
lib/pony/%%VERSION%%/packages/files/file_lines.pony
93
lib/pony/%%VERSION%%/packages/files/file_mode.pony
98
lib/pony/%%VERSION%%/packages/files/file_mode.pony
94
lib/pony/%%VERSION%%/packages/files/file_path.pony
99
lib/pony/%%VERSION%%/packages/files/file_path.pony
95
lib/pony/%%VERSION%%/packages/files/file_stream.pony
100
lib/pony/%%VERSION%%/packages/files/file_stream.pony

Return to bug 232352