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

Collapse All | Expand All

(-)i/lang/ldc/Makefile (-14 / +14 lines)
Lines 1-7 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	ldc
3
PORTNAME=	ldc
4
PORTVERSION=	1.14.0
4
PORTVERSION=	1.15.0
5
DISTVERSIONPREFIX=	v
5
DISTVERSIONPREFIX=	v
6
CATEGORIES=	lang
6
CATEGORIES=	lang
7
7
Lines 10-20 COMMENT= The LLVM-based D compiler Link Here
10
10
11
LICENSE=	BSD3CLAUSE
11
LICENSE=	BSD3CLAUSE
12
12
13
BUILD_DEPENDS=	llvm70>0:devel/llvm70
13
BUILD_DEPENDS=	llvm80>0:devel/llvm80 \
14
RUN_DEPENDS=	llvm70>0:devel/llvm70
14
		ninja:devel/ninja
15
RUN_DEPENDS=	llvm80>0:devel/llvm80
15
LIB_DEPENDS=	libconfig.so:devel/libconfig
16
LIB_DEPENDS=	libconfig.so:devel/libconfig
16
17
17
BROKEN_aarch64=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
18
BROKEN_armv6=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
18
BROKEN_armv6=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
19
BROKEN_armv7=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
19
BROKEN_armv7=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
20
BROKEN_powerpc64=	fails to compile: cc1plus: error: unrecognized command line option "-std=c++11"
20
BROKEN_powerpc64=	fails to compile: cc1plus: error: unrecognized command line option "-std=c++11"
Lines 23-47 USES= cmake:insource Link Here
23
USE_GITHUB=     yes
23
USE_GITHUB=     yes
24
GH_ACCOUNT=     ldc-developers
24
GH_ACCOUNT=     ldc-developers
25
GH_PROJECT=     ldc
25
GH_PROJECT=     ldc
26
GH_TUPLE=       ldc-developers:ldc:911589c:tree/ltsmaster \
26
GH_TUPLE=       ldc-developers:ldc:d442f9f:tree/ltsmaster \
27
		ldc-developers:druntime:694089c:druntimelts/ltsmaster/runtime/druntime \
27
		ldc-developers:druntime:13b1ccf:druntimelts/ltsmaster/runtime/druntime \
28
		ldc-developers:phobos:1d758b2:phoboslts/ltsmaster/runtime/phobos \
28
		ldc-developers:phobos:1d758b2:phoboslts/ltsmaster/runtime/phobos \
29
		ldc-developers:druntime:54cb25c:druntime/runtime/druntime \
29
		ldc-developers:druntime:8a85f37:druntime/runtime/druntime \
30
		ldc-developers:phobos:71cf74f:phobos/runtime/phobos
30
		ldc-developers:phobos:981412b:phobos/runtime/phobos
31
31
32
CMAKE_ARGS+=	-DD_COMPILER:STRING="${WRKSRC}/ltsmaster/bin/ldmd2" \
32
CMAKE_ARGS+=	-DD_COMPILER:STRING="${WRKSRC}/ltsmaster/bin/ldmd2" \
33
		-DBUILD_SHARED_LIBS:STRING="BOTH"
33
		-DBUILD_SHARED_LIBS:STRING="BOTH"
34
34
35
CC=		clang70
35
CC=		clang80
36
CXX=		clang++70
36
CXX=		clang++80
37
37
38
BOOTVER=	0.17.6
38
BOOTVER=	0.17.6
39
LLVM_CONFIG=	llvm-config70
39
LLVM_CONFIG=	llvm-config80
40
LDCVER=		${PORTVERSION}
40
LDCVER=		${PORTVERSION}
41
41
42
.include <bsd.port.pre.mk>
42
.include <bsd.port.pre.mk>
43
43
44
.if ${ARCH} == "amd64"
44
.if ${ARCH} == "amd64" || ${ARCH} == "aarch64"
45
CFLAGS+=	-fPIC
45
CFLAGS+=	-fPIC
46
.endif
46
.endif
47
47
Lines 56-63 post-patch: Link Here
56
56
57
pre-configure:
57
pre-configure:
58
	@cd ${WRKSRC}/ltsmaster && \
58
	@cd ${WRKSRC}/ltsmaster && \
59
	    ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} .
59
	    ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} -GNinja .
60
	@cd ${WRKSRC}/ltsmaster && \
60
	@cd ${WRKSRC}/ltsmaster && \
61
	    ${SETENV} ${MAKE_ENV} ${MAKE}
61
	    ${SETENV} ${MAKE_ENV} ninja
62
62
63
.include <bsd.port.post.mk>
63
.include <bsd.port.post.mk>
(-)i/lang/ldc/distinfo (-11 / +11 lines)
Lines 1-13 Link Here
1
TIMESTAMP = 1551800863
1
TIMESTAMP = 1555631456
2
SHA256 (ldc-developers-ldc-v1.14.0_GH0.tar.gz) = daa7876ce846861cd9feb92f35dc0ca537a845492ca8a3eebecc9d166bc324b3
2
SHA256 (ldc-developers-ldc-v1.15.0_GH0.tar.gz) = ccf4f11b1c841b48abf39d6160cdf42424ad30ed18d51e5114080d82cdca8c94
3
SIZE (ldc-developers-ldc-v1.14.0_GH0.tar.gz) = 1664660
3
SIZE (ldc-developers-ldc-v1.15.0_GH0.tar.gz) = 1701470
4
SHA256 (ldc-developers-ldc-911589c_GH0.tar.gz) = c10ee47d857358ea97eccd14b49b4152c7b2621c0129eee1e8f98988f1d13f5e
4
SHA256 (ldc-developers-ldc-d442f9f_GH0.tar.gz) = a74e55ef567209600fd5fe54f927df2db1540037ba2612ead55862bdf408ed79
5
SIZE (ldc-developers-ldc-911589c_GH0.tar.gz) = 1231073
5
SIZE (ldc-developers-ldc-d442f9f_GH0.tar.gz) = 1231193
6
SHA256 (ldc-developers-druntime-694089c_GH0.tar.gz) = 29b1a27f767ac9c8a0c30926991d9abcda119aaf923b05caa686a6c396ac0a83
6
SHA256 (ldc-developers-druntime-13b1ccf_GH0.tar.gz) = 0be26cb90b540e972eae3660e1b865f97d5b1cb6c7ffe76e2ec4eae89ed63f4a
7
SIZE (ldc-developers-druntime-694089c_GH0.tar.gz) = 953726
7
SIZE (ldc-developers-druntime-13b1ccf_GH0.tar.gz) = 953762
8
SHA256 (ldc-developers-phobos-1d758b2_GH0.tar.gz) = af70f2d4b09e0062ba986e215677f484c1cec2977a74ca1a73d3534a120992e9
8
SHA256 (ldc-developers-phobos-1d758b2_GH0.tar.gz) = af70f2d4b09e0062ba986e215677f484c1cec2977a74ca1a73d3534a120992e9
9
SIZE (ldc-developers-phobos-1d758b2_GH0.tar.gz) = 1923043
9
SIZE (ldc-developers-phobos-1d758b2_GH0.tar.gz) = 1923043
10
SHA256 (ldc-developers-druntime-54cb25c_GH0.tar.gz) = 47a71942f9f6d4c36d867eb2526a72aece36fb959cf99619e525cacb4951e864
10
SHA256 (ldc-developers-druntime-8a85f37_GH0.tar.gz) = 966c0ea5b99e56e834eed00f038bd77040898b23dc19e978189deaabe41a8ea7
11
SIZE (ldc-developers-druntime-54cb25c_GH0.tar.gz) = 1665530
11
SIZE (ldc-developers-druntime-8a85f37_GH0.tar.gz) = 1699161
12
SHA256 (ldc-developers-phobos-71cf74f_GH0.tar.gz) = fe01cb3decccde3c5aa0defcba715c283a1f11bf2bed6aedd0e33e43030c9c72
12
SHA256 (ldc-developers-phobos-981412b_GH0.tar.gz) = 2bafb346226e68a9739bd0e65f20f1c176fa51b800b738469b73599e2f3c68b7
13
SIZE (ldc-developers-phobos-71cf74f_GH0.tar.gz) = 2355367
13
SIZE (ldc-developers-phobos-981412b_GH0.tar.gz) = 2358879
(-)i/lang/ldc/files/fbsd12-runtime-druntime-src-core-sys-posix_dirent.d (-12 / +10 lines)
Lines 1-21 Link Here
1
--- runtime/druntime/src/core/sys/posix/dirent.d	2019-03-05 17:39:54.822687000 +0000
1
--- runtime/druntime/src/core/sys/posix/dirent.d.orig	2019-04-06 12:24:12.000000000 +0000
2
+++ runtime/druntime/src/core/sys/posix/dirent.d	2019-03-05 17:41:19.267583000 +0000
2
+++ runtime/druntime/src/core/sys/posix/dirent.d	2019-04-21 14:13:39.676998000 +0000
3
@@ -152,11 +152,13 @@
3
@@ -152,11 +152,13 @@
4
     align(4)
4
     align(4)
5
     struct dirent
5
     struct dirent
6
     {
6
     {
7
-        uint      d_fileno;
7
-        uint      d_fileno;
8
-        ushort    d_reclen;
8
+        ino_t     d_fileno;
9
-        ubyte     d_type;
9
+        off_t     d_off;
10
         ushort    d_reclen;
11
         ubyte     d_type;
10
-        ubyte     d_namlen;
12
-        ubyte     d_namlen;
11
-        char[256] d_name;
13
-        char[256] d_name = 0;
12
+         ino_t     d_fileno;
14
+        ushort    d_namlen;
13
+         off_t     d_off;
15
+        ushort    d_pad1;
14
+         ushort    d_reclen;
16
+        char[256] d_name;
15
+         ubyte     d_type;
16
+         ushort    d_namlen;
17
+         ushort    d_pad1;
18
+         char[256] d_name;
19
     }
17
     }
20
 
18
 
21
     alias void* DIR;
19
     alias void* DIR;
(-)i/lang/ldc/files/patch-aarch64 (+82 lines)
Added Link Here
1
- Upstreamed aarch64 support patch (but not merged into ldc's fork):
2
  https://github.com/dlang/druntime/pull/2269
3
- Remove failing (on aarch64) static assert in bootstrap compiler's math function
4
5
--- ltsmaster/runtime/druntime/src/core/sys/posix/setjmp.d.orig	2018-12-15 16:48:11 UTC
6
+++ ltsmaster/runtime/druntime/src/core/sys/posix/setjmp.d
7
@@ -163,6 +163,12 @@ else version( FreeBSD )
8
         enum _JBLEN = 5;
9
         struct _jmp_buf { c_long[_JBLEN + 1] _jb; }
10
     }
11
+    else version( AArch64 )
12
+    {
13
+        enum _JBLEN = 31;
14
+        // __int128_t
15
+        struct _jmp_buf { long[2][_JBLEN + 1] _jb; };
16
+    }
17
     else
18
         static assert(0);
19
     alias _jmp_buf[1] jmp_buf;
20
@@ -249,6 +255,11 @@ else version( FreeBSD )
21
         enum _JB_SIGMASK    = 3;
22
         enum _JB_SIGFLAG    = 5;
23
         struct _sigjmp_buf { c_long[_JBLEN + 1] _sjb; }
24
+    }
25
+    else version( AArch64 )
26
+    {
27
+        // __int128_t
28
+        struct _sigjmp_buf { long[2][_JBLEN + 1] _jb; };
29
     }
30
     else
31
         static assert(0);
32
--- ltsmaster/runtime/druntime/src/core/sys/posix/ucontext.d.orig	2018-12-15 16:48:11 UTC
33
+++ ltsmaster/runtime/druntime/src/core/sys/posix/ucontext.d
34
@@ -686,6 +686,38 @@ else version( FreeBSD )
35
             int[6]          mc_spare2;
36
         }
37
     }
38
+    else version( AArch64 )
39
+    {
40
+        alias __register_t = long;
41
+
42
+        struct gpregs
43
+        {
44
+            __register_t[30] gp_x;
45
+            __register_t     gp_lr;
46
+            __register_t     gp_sp;
47
+            __register_t     gp_elr;
48
+            uint             gp_spsr;
49
+            int              gp_pad;
50
+        }
51
+
52
+        struct fpregs
53
+        {
54
+            ulong[2][32]    fp_q; // __uint128_t
55
+            uint            fp_sr;
56
+            uint            fp_cr;
57
+            int             fp_flags;
58
+            int             fp_pad;
59
+        }
60
+
61
+        struct mcontext_t
62
+        {
63
+            gpregs          mc_gpregs;
64
+            fpregs          mc_fpregs;
65
+            int             mc_flags;
66
+            int             mc_pad;
67
+            ulong[8]        mc_spare;
68
+        }
69
+    }
70
 
71
     // <ucontext.h>
72
     enum UCF_SWAPPED = 0x00000001;
73
--- ltsmaster/runtime/phobos/std/internal/math/gammafunction.d.orig	2019-04-20 23:21:36 UTC
74
+++ ltsmaster/runtime/phobos/std/internal/math/gammafunction.d
75
@@ -1654,7 +1654,6 @@ real logmdigammaInverse(real y)
76
 {
77
     import std.numeric: findRoot;
78
     enum maxY = logmdigamma(real.min_normal);
79
-    static assert(maxY > 0 && maxY <= real.max);
80
 
81
     if (y >= maxY)
82
     {
(-)i/lang/ldc/pkg-plist (-10 / +15 lines)
Lines 14-25 include/d/core/exception.d Link Here
14
include/d/core/internal/abort.d
14
include/d/core/internal/abort.d
15
include/d/core/internal/arrayop.d
15
include/d/core/internal/arrayop.d
16
include/d/core/internal/convert.d
16
include/d/core/internal/convert.d
17
include/d/core/internal/dassert.d
17
include/d/core/internal/hash.d
18
include/d/core/internal/hash.d
18
include/d/core/internal/parseoptions.d
19
include/d/core/internal/parseoptions.d
19
include/d/core/internal/spinlock.d
20
include/d/core/internal/spinlock.d
20
include/d/core/internal/string.d
21
include/d/core/internal/string.d
21
include/d/core/internal/traits.d
22
include/d/core/internal/traits.d
22
include/d/core/internal/utf.d
23
include/d/core/internal/utf.d
24
include/d/core/lifetime.d
23
include/d/core/math.d
25
include/d/core/math.d
24
include/d/core/memory.d
26
include/d/core/memory.d
25
include/d/core/runtime.d
27
include/d/core/runtime.d
Lines 46-54 include/d/core/stdc/tgmath.d Link Here
46
include/d/core/stdc/time.d
48
include/d/core/stdc/time.d
47
include/d/core/stdc/wchar_.d
49
include/d/core/stdc/wchar_.d
48
include/d/core/stdc/wctype.d
50
include/d/core/stdc/wctype.d
51
include/d/core/stdcpp/allocator.d
49
include/d/core/stdcpp/array.d
52
include/d/core/stdcpp/array.d
50
include/d/core/stdcpp/exception.d
53
include/d/core/stdcpp/exception.d
54
include/d/core/stdcpp/new_.d
51
include/d/core/stdcpp/string_view.d
55
include/d/core/stdcpp/string_view.d
56
include/d/core/stdcpp/type_traits.d
52
include/d/core/stdcpp/typeinfo.d
57
include/d/core/stdcpp/typeinfo.d
53
include/d/core/stdcpp/xutility.d
58
include/d/core/stdcpp/xutility.d
54
include/d/core/sync/barrier.d
59
include/d/core/sync/barrier.d
Lines 554-576 include/d/std/xml.d Link Here
554
include/d/std/zip.d
559
include/d/std/zip.d
555
include/d/std/zlib.d
560
include/d/std/zlib.d
556
lib/libdruntime-ldc-debug-shared.so
561
lib/libdruntime-ldc-debug-shared.so
557
lib/libdruntime-ldc-debug-shared.so.2.0.84
562
lib/libdruntime-ldc-debug-shared.so.2.0.85
558
lib/libdruntime-ldc-debug-shared.so.84
563
lib/libdruntime-ldc-debug-shared.so.85
559
lib/libdruntime-ldc-debug.a
564
lib/libdruntime-ldc-debug.a
560
lib/libdruntime-ldc-shared.so
565
lib/libdruntime-ldc-shared.so
561
lib/libdruntime-ldc-shared.so.2.0.84
566
lib/libdruntime-ldc-shared.so.2.0.85
562
lib/libdruntime-ldc-shared.so.84
567
lib/libdruntime-ldc-shared.so.85
563
lib/libdruntime-ldc.a
568
lib/libdruntime-ldc.a
564
lib/libldc-jit-rt.a
569
lib/libldc-jit-rt.a
565
lib/libldc-jit.so
570
lib/libldc-jit.so
566
lib/libldc-jit.so.2.0.84
571
lib/libldc-jit.so.2.0.85
567
lib/libldc-jit.so.84
572
lib/libldc-jit.so.85
568
lib/libphobos2-ldc-debug-shared.so
573
lib/libphobos2-ldc-debug-shared.so
569
lib/libphobos2-ldc-debug-shared.so.2.0.84
574
lib/libphobos2-ldc-debug-shared.so.2.0.85
570
lib/libphobos2-ldc-debug-shared.so.84
575
lib/libphobos2-ldc-debug-shared.so.85
571
lib/libphobos2-ldc-debug.a
576
lib/libphobos2-ldc-debug.a
572
lib/libphobos2-ldc-shared.so
577
lib/libphobos2-ldc-shared.so
573
lib/libphobos2-ldc-shared.so.2.0.84
578
lib/libphobos2-ldc-shared.so.2.0.85
574
lib/libphobos2-ldc-shared.so.84
579
lib/libphobos2-ldc-shared.so.85
575
lib/libphobos2-ldc.a
580
lib/libphobos2-ldc.a
576
@dir include/d/etc/c/zlib
581
@dir include/d/etc/c/zlib

Return to bug 237427