Index: Makefile =================================================================== --- Makefile (revision 504245) +++ Makefile (working copy) @@ -1,64 +1,104 @@ # $FreeBSD$ -PORTNAME= ldc -PORTVERSION= 1.14.0 +PORTNAME= ldc +PORTVERSION= 1.15.0 DISTVERSIONPREFIX= v -CATEGORIES= lang +CATEGORIES= lang -MAINTAINER= acm@FreeBSD.org -COMMENT= The LLVM-based D compiler +MAINTAINER= acm@FreeBSD.org +COMMENT= The LLVM-based D compiler +LICENSE= BSD3CLAUSE +USES= ninja cmake:insource compiler +CONFLICTS_INSTALL= ldc -LICENSE= BSD3CLAUSE +FLAVORS= llvm70 llvm80 +FLAVOR?= ${FLAVORS[0]} -BUILD_DEPENDS= llvm70>0:devel/llvm70 -RUN_DEPENDS= llvm70>0:devel/llvm70 -LIB_DEPENDS= libconfig.so:devel/libconfig +OPTIONS_GROUP= BOOTSTRAP +BOOTSTRAP_DESC= Force using ltsmaster to bootstrap +OPTIONS_GROUP_BOOTSTRAP=LTSMASTER -BROKEN_aarch64= fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf? +llvm70_PKGNAMEPREFIX= llvm70- +llvm70_BUILD_DEPENDS= llvm70>0:devel/llvm70 +llvm70_RUN_DEPENDS= llvm70>0:devel/llvm70 + +llvm80_PKGNAMEPREFIX= llvm80- +llvm80_BUILD_DEPENDS= llvm80>0:devel/llvm80 +llvm80_RUN_DEPENDS= llvm80>0:devel/llvm80 + +PREFIX?= ${LOCALBASE}/${PKGNAMEPREFIX}${PORTNAME} +PLIST_SUB= LOCALBASE=${LOCALBASE} + BROKEN_armv6= fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf? BROKEN_armv7= fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf? BROKEN_i386= function core.bitop.bsf (uint v) is not callable using argument types (ulong) BROKEN_powerpc64= fails to compile: cc1plus: error: unrecognized command line option "-std=c++11" -USES= cmake:insource -USE_GITHUB= yes -GH_ACCOUNT= ldc-developers -GH_PROJECT= ldc -GH_TUPLE= ldc-developers:ldc:911589c:tree/ltsmaster \ - ldc-developers:druntime:694089c:druntimelts/ltsmaster/runtime/druntime \ - ldc-developers:phobos:1d758b2:phoboslts/ltsmaster/runtime/phobos \ - ldc-developers:druntime:54cb25c:druntime/runtime/druntime \ - ldc-developers:phobos:71cf74f:phobos/runtime/phobos +USE_GITHUB= yes +GH_ACCOUNT= ldc-developers +GH_PROJECT= ldc +GH_TUPLE= ldc-developers:druntime:8a85f37:druntime/runtime/druntime \ + ldc-developers:phobos:981412b:phobos/runtime/phobos -CMAKE_ARGS+= -DD_COMPILER:STRING="${WRKSRC}/ltsmaster/bin/ldmd2" \ - -DBUILD_SHARED_LIBS:STRING="BOTH" +CC= ${LOCALBASE}/bin/clang${LLVMVER} +CXX= ${LOCALBASE}/bin/clang++${LLVMVER} +LLVM_CONFIG= ${LOCALBASE}/bin/llvm-config${LLVMVER} +LDCVER= ${PORTVERSION} -CC= clang70 -CXX= clang++70 +.include -BOOTVER= 0.17.6 -LLVM_CONFIG= llvm-config70 -LDCVER= ${PORTVERSION} +.if ${FLAVOR} == "llvm70" +LLVMVER= 70 +.else +LLVMVER= 80 +.endif -.include +.if ${ARCH} == "amd64" || ${ARCH} == "aarch64" +CFLAGS+= -fPIC +.endif -.if ${ARCH} == "amd64" -CFLAGS+= -fPIC +# Search for a usable bootstrap compiler or fall back to building ltsmaster +DRUNTIME_MINVER= 20680 +DRUNTIME_MAXVER= 20841 + +DCOMPILERS= ldmd2 gdmd dmd + +.if empty(PORT_OPTIONS:MLTSMASTER) +.for DC_TRY in ${DCOMPILERS} +.if !defined(DC_HOST) +VERSION!= `which ${DC_TRY}` --version | ${SED} -n 's!^.*DMD.*v\([0-9]\).\([0-9][0-9][0-9]\).\([0-9]\).*!\1\2\3!p' +.if ${VERSION} > ${DRUNTIME_MINVER} && ${VERSION} <= ${DRUNTIME_MAXVER} +DC_HOST!= which ${DC_TRY} +BUILD_BOOTSTRAP= no .endif +.endif +.endfor +.endif -.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1200029 -EXTRA_PATCHES= ${PATCHDIR}/fbsd12-* +# falling back to creating bootstrap d-compiler +.if !defined (DC_HOST) +BUILD_BOOTSTRAP= yes +BOOTSTRAP_DIR= ${WRKDIRPREFIX}${.CURDIR}/work-bootstrap +DC_HOST= ${BOOTSTRAP_DIR}/ltsmaster/bin/ldmd2 +BUILD_BOOTSTRAP= yes .endif -post-patch: - ${REINPLACE_CMD} -e 's|$${llvm_config_names}|${LLVM_CONFIG}|g' \ - ${WRKSRC}/ltsmaster/cmake/Modules/FindLLVM.cmake \ - ${WRKSRC}/cmake/Modules/FindLLVM.cmake +CMAKE_ARGS+= -DLDC_INSTALL_PREFIX="${PREFIX}" \ + -DD_COMPILER:STRING="${DC_HOST}" \ + -DCMAKE_C_COMPILER:STRING="${CC}" \ + -DCMAKE_CXX_COMPILER:STRING="${CXX}" \ + -DLLVM_CONFIG:PATH=${LLVM_CONFIG} \ + -DBUILD_SHARED_LIBS:STRING="BOTH" +pre-build: + @echo "DEBUG: bootstrap:${BUILD_BOOTSTRAP} dmd:${DC_HOST} ver:${VERSION} options:${PORT_OPTIONS} flavor:${FLAVOR}" + +.if ${BUILD_BOOTSTRAP} == "yes" pre-configure: - @cd ${WRKSRC}/ltsmaster && \ - ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} . - @cd ${WRKSRC}/ltsmaster && \ - ${SETENV} ${MAKE_ENV} ${MAKE} + @echo "Building Bootstrap d-compiler..." + ${MAKE} -f Makefile.bootstrap FLAVOR=bootstrap +.else + @echo "Reusing pre-existing d-compiler..." +.endif .include Index: Makefile.bootstrap =================================================================== --- Makefile.bootstrap (nonexistent) +++ Makefile.bootstrap (working copy) @@ -0,0 +1,59 @@ +# $FreeBSD$ + +PORTNAME= ldc +PORTVERSION= 0.17.6 +DISTVERSIONPREFIX= v +CATEGORIES= lang + +PATCHDIR= ${MASTERDIR}/files.bootstrap +DISTINFO_FILE= ${MASTERDIR}/distinfo.bootstrap + +MAINTAINER= acm@FreeBSD.org +COMMENT= The LLVM-based D compiler +LICENSE= BSD3CLAUSE +USES= ninja cmake:insource compiler + +BUILD_DEPENDS= llvm70>0:devel/llvm70 +LLVMVER= 70 + +# fake flavor support in bootstrap (as it is being passed down) +FLAVORS= bootstrap +FLAVOR?= ${FLAVORS[0]} + +BROKEN_armv6= fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf? +BROKEN_armv7= fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf? +BROKEN_i386= function core.bitop.bsf (uint v) is not callable using argument types (ulong) +BROKEN_powerpc64= fails to compile: cc1plus: error: unrecognized command line option "-std=c++11" + +USE_GITHUB= yes +GH_ACCOUNT= ldc-developers +GH_PROJECT= ldc +GH_TUPLE= ldc-developers:druntime:13b1ccf:druntimelts/runtime/druntime \ + ldc-developers:phobos:1d758b2:phoboslts/runtime/phobos + +CC= ${LOCALBASE}/bin/clang${LLVMVER} +CXX= ${LOCALBASE}/bin/clang++${LLVMVER} +LLVM_CONFIG= ${LOCALBASE}/bin/llvm-config${LLVMVER} +LDCVER= ${PORTVERSION} + +.include + +.if ${ARCH} == "amd64" || ${ARCH} == "aarch64" +CFLAGS+= -fPIC +.endif + +CMAKE_ARGS+= -DCMAKE_C_COMPILER:STRING="${CC}" \ + -DCMAKE_CXX_COMPILER:STRING="${CXX}" \ + -DLLVM_CONFIG:PATH=${LLVM_CONFIG} \ + -DBUILD_SHARED_LIBS:STRING="BOTH" + +.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1200029 +EXTRA_PATCHES= ${PATCHDIR}/fbsd12-* +.endif + +post-patch: + ${LN} -sf ${WRKSRC} ${WRKDIR}/ltsmaster + ${REINPLACE_CMD} -e 's|$${llvm_config_names}|${LLVM_CONFIG}|g' \ + ${WRKSRC}/cmake/Modules/FindLLVM.cmake + +.include Property changes on: Makefile.bootstrap ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: distinfo =================================================================== --- distinfo (revision 504245) +++ distinfo (working copy) @@ -1,13 +1,13 @@ -TIMESTAMP = 1551800863 -SHA256 (ldc-developers-ldc-v1.14.0_GH0.tar.gz) = daa7876ce846861cd9feb92f35dc0ca537a845492ca8a3eebecc9d166bc324b3 -SIZE (ldc-developers-ldc-v1.14.0_GH0.tar.gz) = 1664660 -SHA256 (ldc-developers-ldc-911589c_GH0.tar.gz) = c10ee47d857358ea97eccd14b49b4152c7b2621c0129eee1e8f98988f1d13f5e -SIZE (ldc-developers-ldc-911589c_GH0.tar.gz) = 1231073 -SHA256 (ldc-developers-druntime-694089c_GH0.tar.gz) = 29b1a27f767ac9c8a0c30926991d9abcda119aaf923b05caa686a6c396ac0a83 -SIZE (ldc-developers-druntime-694089c_GH0.tar.gz) = 953726 +TIMESTAMP = 1555631456 +SHA256 (ldc-developers-ldc-v1.15.0_GH0.tar.gz) = ccf4f11b1c841b48abf39d6160cdf42424ad30ed18d51e5114080d82cdca8c94 +SIZE (ldc-developers-ldc-v1.15.0_GH0.tar.gz) = 1701470 +SHA256 (ldc-developers-ldc-d442f9f_GH0.tar.gz) = a74e55ef567209600fd5fe54f927df2db1540037ba2612ead55862bdf408ed79 +SIZE (ldc-developers-ldc-d442f9f_GH0.tar.gz) = 1231193 +SHA256 (ldc-developers-druntime-13b1ccf_GH0.tar.gz) = 0be26cb90b540e972eae3660e1b865f97d5b1cb6c7ffe76e2ec4eae89ed63f4a +SIZE (ldc-developers-druntime-13b1ccf_GH0.tar.gz) = 953762 SHA256 (ldc-developers-phobos-1d758b2_GH0.tar.gz) = af70f2d4b09e0062ba986e215677f484c1cec2977a74ca1a73d3534a120992e9 SIZE (ldc-developers-phobos-1d758b2_GH0.tar.gz) = 1923043 -SHA256 (ldc-developers-druntime-54cb25c_GH0.tar.gz) = 47a71942f9f6d4c36d867eb2526a72aece36fb959cf99619e525cacb4951e864 -SIZE (ldc-developers-druntime-54cb25c_GH0.tar.gz) = 1665530 -SHA256 (ldc-developers-phobos-71cf74f_GH0.tar.gz) = fe01cb3decccde3c5aa0defcba715c283a1f11bf2bed6aedd0e33e43030c9c72 -SIZE (ldc-developers-phobos-71cf74f_GH0.tar.gz) = 2355367 +SHA256 (ldc-developers-druntime-8a85f37_GH0.tar.gz) = 966c0ea5b99e56e834eed00f038bd77040898b23dc19e978189deaabe41a8ea7 +SIZE (ldc-developers-druntime-8a85f37_GH0.tar.gz) = 1699161 +SHA256 (ldc-developers-phobos-981412b_GH0.tar.gz) = 2bafb346226e68a9739bd0e65f20f1c176fa51b800b738469b73599e2f3c68b7 +SIZE (ldc-developers-phobos-981412b_GH0.tar.gz) = 2358879 Index: distinfo.bootstrap =================================================================== --- distinfo.bootstrap (nonexistent) +++ distinfo.bootstrap (working copy) @@ -0,0 +1,7 @@ +TIMESTAMP = 1555631456 +SHA256 (ldc-developers-ldc-v0.17.6_GH0.tar.gz) = 95aad1cdab93914ef051d79d13de255b7cf271fbdb4d1d93d1b2ea21f546f2c6 +SIZE (ldc-developers-ldc-v0.17.6_GH0.tar.gz) = 1230980 +SHA256 (ldc-developers-druntime-13b1ccf_GH0.tar.gz) = 0be26cb90b540e972eae3660e1b865f97d5b1cb6c7ffe76e2ec4eae89ed63f4a +SIZE (ldc-developers-druntime-13b1ccf_GH0.tar.gz) = 953762 +SHA256 (ldc-developers-phobos-1d758b2_GH0.tar.gz) = af70f2d4b09e0062ba986e215677f484c1cec2977a74ca1a73d3534a120992e9 +SIZE (ldc-developers-phobos-1d758b2_GH0.tar.gz) = 1923043 Property changes on: distinfo.bootstrap ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d =================================================================== --- files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d (revision 504245) +++ files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d (nonexistent) @@ -1,14 +0,0 @@ ---- ltsmaster/runtime/druntime/src/core/sys/freebsd/sys/event.d 2018-08-21 18:55:47.000000000 +0000 -+++ ltsmaster/runtime/druntime/src/core/sys/freebsd/sys/event.d 2019-03-06 04:06:16.750660000 +0000 -@@ -46,8 +46,9 @@ - short filter; /* filter for event */ - ushort flags; - uint fflags; -- intptr_t data; -- void *udata; /* opaque user data identifier */ -+ long data; -+ void* udata; /* opaque user data identifier */ -+ ulong[4] ext; - } - - enum Property changes on: files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -on \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d =================================================================== --- files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d (revision 504245) +++ files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d (nonexistent) @@ -1,59 +0,0 @@ ---- ltsmaster/runtime/druntime/src/core/sys/posix/sys/stat.d 2018-08-21 18:55:47.000000000 +0000 -+++ ltsmaster/runtime/druntime/src/core/sys/posix/sys/stat.d 2019-03-06 04:13:18.999142000 +0000 -@@ -714,32 +714,42 @@ - { - struct stat_t - { -- dev_t st_dev; -- ino_t st_ino; -- mode_t st_mode; -- nlink_t st_nlink; -- uid_t st_uid; -- gid_t st_gid; -- dev_t st_rdev; -+ dev_t st_dev; -+ ino_t st_ino; -+ nlink_t st_nlink; -+ mode_t st_mode; -+ short st_padding0; -+ uid_t st_uid; -+ gid_t st_gid; -+ int st_padding1; -+ dev_t st_rdev; - -+ version(X86) int st_atim_ext; -+ - time_t st_atime; - c_long __st_atimensec; -+ -+ version(X86) int st_mtim_ext; -+ - time_t st_mtime; - c_long __st_mtimensec; -+ -+ version(X86) int st_ctim_ext; -+ - time_t st_ctime; - c_long __st_ctimensec; - -- off_t st_size; -- blkcnt_t st_blocks; -- blksize_t st_blksize; -- fflags_t st_flags; -- uint st_gen; -- int st_lspare; -+ version(X86) int st_btim_ext; - - time_t st_birthtime; - c_long st_birthtimensec; - -- ubyte[16 - timespec.sizeof] padding; -+ off_t st_size; -+ blkcnt_t st_blocks; -+ blksize_t st_blksize; -+ fflags_t st_flags; -+ ulong st_gen; -+ ulong[10] st_spare; - } - - enum S_IRUSR = 0x100; // octal 0000400 Property changes on: files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d =================================================================== --- files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d (revision 504245) +++ files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d (nonexistent) @@ -1,19 +0,0 @@ ---- ltsmaster/runtime/druntime/src/core/sys/posix/sys/types.d 2019-03-06 04:17:35.909692000 +0000 -+++ ltsmaster/runtime/druntime/src/core/sys/posix/sys/types.d 2019-03-06 04:18:41.162430000 +0000 -@@ -124,12 +124,12 @@ - else version( FreeBSD ) - { - alias long blkcnt_t; -- alias uint blksize_t; -- alias uint dev_t; -+ alias ulong blksize_t; -+ alias ulong dev_t; - alias uint gid_t; -- alias uint ino_t; -+ alias ulong ino_t; - alias ushort mode_t; -- alias ushort nlink_t; -+ alias ulong nlink_t; - alias long off_t; - alias int pid_t; - //size_t (defined in core.stdc.stddef) Property changes on: files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d =================================================================== --- files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d (revision 504245) +++ files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d (nonexistent) @@ -1,17 +0,0 @@ ---- ltsmaster/runtime/druntime/src/core/sys/posix/dirent.d 2019-03-06 04:07:06.836421000 +0000 -+++ ltsmaster/runtime/druntime/src/core/sys/posix/dirent.d 2019-03-06 04:08:34.306001000 +0000 -@@ -131,10 +131,12 @@ - align(4) - struct dirent - { -- uint d_fileno; -+ ino_t d_fileno; -+ off_t d_off; - ushort d_reclen; - ubyte d_type; -- ubyte d_namlen; -+ ushort d_namlen; -+ ushort d_pad1; - char[256] d_name; - } - Property changes on: files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: files/fbsd12-runtime-druntime-src-core-sys-posix_dirent.d =================================================================== --- files/fbsd12-runtime-druntime-src-core-sys-posix_dirent.d (revision 504245) +++ files/fbsd12-runtime-druntime-src-core-sys-posix_dirent.d (working copy) @@ -1,21 +1,19 @@ ---- runtime/druntime/src/core/sys/posix/dirent.d 2019-03-05 17:39:54.822687000 +0000 -+++ runtime/druntime/src/core/sys/posix/dirent.d 2019-03-05 17:41:19.267583000 +0000 +--- runtime/druntime/src/core/sys/posix/dirent.d.orig 2019-04-06 12:24:12.000000000 +0000 ++++ runtime/druntime/src/core/sys/posix/dirent.d 2019-04-21 14:13:39.676998000 +0000 @@ -152,11 +152,13 @@ align(4) struct dirent { - uint d_fileno; -- ushort d_reclen; -- ubyte d_type; ++ ino_t d_fileno; ++ off_t d_off; + ushort d_reclen; + ubyte d_type; - ubyte d_namlen; -- char[256] d_name; -+ ino_t d_fileno; -+ off_t d_off; -+ ushort d_reclen; -+ ubyte d_type; -+ ushort d_namlen; -+ ushort d_pad1; -+ char[256] d_name; +- char[256] d_name = 0; ++ ushort d_namlen; ++ ushort d_pad1; ++ char[256] d_name; } alias void* DIR; Index: files.bootstrap/fbsd12-ltsmaster-cmakelists.txt =================================================================== --- files.bootstrap/fbsd12-ltsmaster-cmakelists.txt (nonexistent) +++ files.bootstrap/fbsd12-ltsmaster-cmakelists.txt (working copy) @@ -0,0 +1,12 @@ +--- CMakeLists.txt 2019-02-02 15:57:45.000000000 +0100 ++++ CMakeLists.txt 2019-06-16 00:33:00.317055000 +0200 +@@ -163,6 +163,9 @@ + endforeach() + endif() + ++append("-DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING" LLVM_CFLAGS) ++append("-DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING" LLVM_CXXFLAGS) ++ + # Append -mminimal-toc for gcc 4.0.x - 4.5.x on ppc64 + if( CMAKE_COMPILER_IS_GNUCXX + AND CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64|powerpc64" Property changes on: files.bootstrap/fbsd12-ltsmaster-cmakelists.txt ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d =================================================================== --- files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d (nonexistent) +++ files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d (working copy) @@ -0,0 +1,14 @@ +--- runtime/druntime/src/core/sys/freebsd/sys/event.d 2018-08-21 18:55:47.000000000 +0000 ++++ runtime/druntime/src/core/sys/freebsd/sys/event.d 2019-03-06 04:06:16.750660000 +0000 +@@ -46,8 +46,9 @@ + short filter; /* filter for event */ + ushort flags; + uint fflags; +- intptr_t data; +- void *udata; /* opaque user data identifier */ ++ long data; ++ void* udata; /* opaque user data identifier */ ++ ulong[4] ext; + } + + enum Property changes on: files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d =================================================================== --- files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d (nonexistent) +++ files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d (working copy) @@ -0,0 +1,59 @@ +--- runtime/druntime/src/core/sys/posix/sys/stat.d 2018-08-21 18:55:47.000000000 +0000 ++++ runtime/druntime/src/core/sys/posix/sys/stat.d 2019-03-06 04:13:18.999142000 +0000 +@@ -714,32 +714,42 @@ + { + struct stat_t + { +- dev_t st_dev; +- ino_t st_ino; +- mode_t st_mode; +- nlink_t st_nlink; +- uid_t st_uid; +- gid_t st_gid; +- dev_t st_rdev; ++ dev_t st_dev; ++ ino_t st_ino; ++ nlink_t st_nlink; ++ mode_t st_mode; ++ short st_padding0; ++ uid_t st_uid; ++ gid_t st_gid; ++ int st_padding1; ++ dev_t st_rdev; + ++ version(X86) int st_atim_ext; ++ + time_t st_atime; + c_long __st_atimensec; ++ ++ version(X86) int st_mtim_ext; ++ + time_t st_mtime; + c_long __st_mtimensec; ++ ++ version(X86) int st_ctim_ext; ++ + time_t st_ctime; + c_long __st_ctimensec; + +- off_t st_size; +- blkcnt_t st_blocks; +- blksize_t st_blksize; +- fflags_t st_flags; +- uint st_gen; +- int st_lspare; ++ version(X86) int st_btim_ext; + + time_t st_birthtime; + c_long st_birthtimensec; + +- ubyte[16 - timespec.sizeof] padding; ++ off_t st_size; ++ blkcnt_t st_blocks; ++ blksize_t st_blksize; ++ fflags_t st_flags; ++ ulong st_gen; ++ ulong[10] st_spare; + } + + enum S_IRUSR = 0x100; // octal 0000400 Property changes on: files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d =================================================================== --- files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d (nonexistent) +++ files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d (working copy) @@ -0,0 +1,19 @@ +--- runtime/druntime/src/core/sys/posix/sys/types.d 2019-03-06 04:17:35.909692000 +0000 ++++ runtime/druntime/src/core/sys/posix/sys/types.d 2019-03-06 04:18:41.162430000 +0000 +@@ -124,12 +124,12 @@ + else version( FreeBSD ) + { + alias long blkcnt_t; +- alias uint blksize_t; +- alias uint dev_t; ++ alias ulong blksize_t; ++ alias ulong dev_t; + alias uint gid_t; +- alias uint ino_t; ++ alias ulong ino_t; + alias ushort mode_t; +- alias ushort nlink_t; ++ alias ulong nlink_t; + alias long off_t; + alias int pid_t; + //size_t (defined in core.stdc.stddef) Property changes on: files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d =================================================================== --- files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d (nonexistent) +++ files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d (working copy) @@ -0,0 +1,17 @@ +--- runtime/druntime/src/core/sys/posix/dirent.d 2019-03-06 04:07:06.836421000 +0000 ++++ runtime/druntime/src/core/sys/posix/dirent.d 2019-03-06 04:08:34.306001000 +0000 +@@ -131,10 +131,12 @@ + align(4) + struct dirent + { +- uint d_fileno; ++ ino_t d_fileno; ++ off_t d_off; + ushort d_reclen; + ubyte d_type; +- ubyte d_namlen; ++ ushort d_namlen; ++ ushort d_pad1; + char[256] d_name; + } + Property changes on: files.bootstrap/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files.bootstrap/ltsmaster-patch-aarch64 =================================================================== --- files.bootstrap/ltsmaster-patch-aarch64 (nonexistent) +++ files.bootstrap/ltsmaster-patch-aarch64 (working copy) @@ -0,0 +1,82 @@ +- Upstreamed aarch64 support patch (but not merged into ldc's fork): + https://github.com/dlang/druntime/pull/2269 +- Remove failing (on aarch64) static assert in bootstrap compiler's math function + +--- runtime/druntime/src/core/sys/posix/setjmp.d.orig 2018-12-15 16:48:11 UTC ++++ runtime/druntime/src/core/sys/posix/setjmp.d +@@ -163,6 +163,12 @@ else version( FreeBSD ) + enum _JBLEN = 5; + struct _jmp_buf { c_long[_JBLEN + 1] _jb; } + } ++ else version( AArch64 ) ++ { ++ enum _JBLEN = 31; ++ // __int128_t ++ struct _jmp_buf { long[2][_JBLEN + 1] _jb; }; ++ } + else + static assert(0); + alias _jmp_buf[1] jmp_buf; +@@ -249,6 +255,11 @@ else version( FreeBSD ) + enum _JB_SIGMASK = 3; + enum _JB_SIGFLAG = 5; + struct _sigjmp_buf { c_long[_JBLEN + 1] _sjb; } ++ } ++ else version( AArch64 ) ++ { ++ // __int128_t ++ struct _sigjmp_buf { long[2][_JBLEN + 1] _jb; }; + } + else + static assert(0); +--- runtime/druntime/src/core/sys/posix/ucontext.d.orig 2018-12-15 16:48:11 UTC ++++ runtime/druntime/src/core/sys/posix/ucontext.d +@@ -686,6 +686,38 @@ else version( FreeBSD ) + int[6] mc_spare2; + } + } ++ else version( AArch64 ) ++ { ++ alias __register_t = long; ++ ++ struct gpregs ++ { ++ __register_t[30] gp_x; ++ __register_t gp_lr; ++ __register_t gp_sp; ++ __register_t gp_elr; ++ uint gp_spsr; ++ int gp_pad; ++ } ++ ++ struct fpregs ++ { ++ ulong[2][32] fp_q; // __uint128_t ++ uint fp_sr; ++ uint fp_cr; ++ int fp_flags; ++ int fp_pad; ++ } ++ ++ struct mcontext_t ++ { ++ gpregs mc_gpregs; ++ fpregs mc_fpregs; ++ int mc_flags; ++ int mc_pad; ++ ulong[8] mc_spare; ++ } ++ } + + // + enum UCF_SWAPPED = 0x00000001; +--- runtime/phobos/std/internal/math/gammafunction.d.orig 2019-04-20 23:21:36 UTC ++++ runtime/phobos/std/internal/math/gammafunction.d +@@ -1654,7 +1654,6 @@ real logmdigammaInverse(real y) + { + import std.numeric: findRoot; + enum maxY = logmdigamma(real.min_normal); +- static assert(maxY > 0 && maxY <= real.max); + + if (y >= maxY) + { Property changes on: files.bootstrap/ltsmaster-patch-aarch64 ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: pkg-plist =================================================================== --- pkg-plist (revision 504245) +++ pkg-plist (working copy) @@ -14,6 +14,7 @@ include/d/core/internal/abort.d include/d/core/internal/arrayop.d include/d/core/internal/convert.d +include/d/core/internal/dassert.d include/d/core/internal/hash.d include/d/core/internal/parseoptions.d include/d/core/internal/spinlock.d @@ -20,6 +21,7 @@ include/d/core/internal/string.d include/d/core/internal/traits.d include/d/core/internal/utf.d +include/d/core/lifetime.d include/d/core/math.d include/d/core/memory.d include/d/core/runtime.d @@ -46,9 +48,12 @@ include/d/core/stdc/time.d include/d/core/stdc/wchar_.d include/d/core/stdc/wctype.d +include/d/core/stdcpp/allocator.d include/d/core/stdcpp/array.d include/d/core/stdcpp/exception.d +include/d/core/stdcpp/new_.d include/d/core/stdcpp/string_view.d +include/d/core/stdcpp/type_traits.d include/d/core/stdcpp/typeinfo.d include/d/core/stdcpp/xutility.d include/d/core/sync/barrier.d @@ -554,23 +559,29 @@ include/d/std/zip.d include/d/std/zlib.d lib/libdruntime-ldc-debug-shared.so -lib/libdruntime-ldc-debug-shared.so.2.0.84 -lib/libdruntime-ldc-debug-shared.so.84 +lib/libdruntime-ldc-debug-shared.so.2.0.85 +lib/libdruntime-ldc-debug-shared.so.85 lib/libdruntime-ldc-debug.a lib/libdruntime-ldc-shared.so -lib/libdruntime-ldc-shared.so.2.0.84 -lib/libdruntime-ldc-shared.so.84 +lib/libdruntime-ldc-shared.so.2.0.85 +lib/libdruntime-ldc-shared.so.85 lib/libdruntime-ldc.a lib/libldc-jit-rt.a lib/libldc-jit.so -lib/libldc-jit.so.2.0.84 -lib/libldc-jit.so.84 +lib/libldc-jit.so.2.0.85 +lib/libldc-jit.so.85 lib/libphobos2-ldc-debug-shared.so -lib/libphobos2-ldc-debug-shared.so.2.0.84 -lib/libphobos2-ldc-debug-shared.so.84 +lib/libphobos2-ldc-debug-shared.so.2.0.85 +lib/libphobos2-ldc-debug-shared.so.85 lib/libphobos2-ldc-debug.a lib/libphobos2-ldc-shared.so -lib/libphobos2-ldc-shared.so.2.0.84 -lib/libphobos2-ldc-shared.so.84 +lib/libphobos2-ldc-shared.so.2.0.85 +lib/libphobos2-ldc-shared.so.85 lib/libphobos2-ldc.a @dir include/d/etc/c/zlib +@postexec if [ ! -f %%LOCALBASE%%/bin/ldc2 ]; then ln -s %%PREFIX%%/bin/ldc2 %%LOCALBASE%%/bin/ldc2 && touch %%PREFIX%%/.ldc2-alt-linked ;fi +@postexec if [ ! -f %%LOCALBASE%%/bin/ldmd2 ]; then ln -s %%PREFIX%%/bin/ldmd2 %%LOCALBASE%%/bin/ldmd2 && touch %%PREFIX%%/.ldmd2-alt-linked ;fi +@postexec if [ ! -f %%LOCALBASE%%/etc/ldc2.conf ]; then ln -s %%PREFIX%%/etc/ldc2.conf %%LOCALBASE%%/etc/ldc2.conf && touch %%PREFIX%%/.ldc2.conf-alt-linked ;fi +@postunexec if [ -f %%PREFIX%%/.ldc2-alt-linked ]; then rm %%LOCALBASE%%/bin/ldc2 ;fi +@postunexec if [ -f %%PREFIX%%/.ldmd2-alt-linked ]; then rm %%LOCALBASE%%/bin/ldmd2 ;fi +@postunexec if [ -f %%PREFIX%%/.ldc2.conf-alt-linked ]; then rm %%LOCALBASE%%/etc/ldc2.conf ;fi