zig: use ZIG_GLOBAL_CACHE_DIR and ZIG_LOCAL_CACHE_DIR for zig and applications, remove old comments.diff -r1.35 -r1.36 pkgsrc/lang/zig/Makefile
(nikita)
@@ -1,48 +1,48 @@ | @@ -1,48 +1,48 @@ | |||
1 | # $NetBSD: Makefile,v 1.35 2024/04/26 09:57:34 nikita Exp $ | 1 | # $NetBSD: Makefile,v 1.36 2024/04/26 11:38:07 nikita Exp $ | |
2 | 2 | |||
3 | DISTNAME= zig-0.12.0 | 3 | DISTNAME= zig-0.12.0 | |
4 | PKGREVISION= 1 | |||
4 | CATEGORIES= lang | 5 | CATEGORIES= lang | |
5 | MASTER_SITES= https://ziglang.org/download/${PKGVERSION_NOREV}/ | 6 | MASTER_SITES= https://ziglang.org/download/${PKGVERSION_NOREV}/ | |
6 | EXTRACT_SUFX= .tar.xz | 7 | EXTRACT_SUFX= .tar.xz | |
7 | 8 | |||
8 | MAINTAINER= pkgsrc-users@NetBSD.org | 9 | MAINTAINER= pkgsrc-users@NetBSD.org | |
9 | HOMEPAGE= https://ziglang.org/ | 10 | HOMEPAGE= https://ziglang.org/ | |
10 | COMMENT= Programming language designed for robustness and clarity | 11 | COMMENT= Programming language designed for robustness and clarity | |
11 | LICENSE= mit | 12 | LICENSE= mit | |
12 | 13 | |||
13 | # Broken at least on *BSD, needs a new release, 0.11.0 does not build | 14 | # Broken at least on *BSD, needs a new release, 0.11.0 does not build | |
14 | # stage 3 of the build process (fixed upstream). | 15 | # stage 3 of the build process (fixed upstream). | |
15 | USE_CXX_FEATURES+= c++14 | 16 | USE_CXX_FEATURES+= c++14 | |
16 | USE_LANGUAGES= c c++ | 17 | USE_LANGUAGES= c c++ | |
17 | USE_TOOLS+= bash:run | 18 | USE_TOOLS+= bash:run | |
18 | 19 | |||
19 | CMAKE_CONFIGURE_ARGS+= -DCMAKE_BUILD_TYPE=Release | 20 | CMAKE_CONFIGURE_ARGS+= -DCMAKE_BUILD_TYPE=Release | |
20 | CMAKE_CONFIGURE_ARGS+= -DZIG_SHARED_LLVM=ON | 21 | CMAKE_CONFIGURE_ARGS+= -DZIG_SHARED_LLVM=ON | |
21 | CMAKE_CONFIGURE_ARGS+= -DCMAKE_INSTALL_PREFIX=${DESTDIR}${PREFIX} | 22 | CMAKE_CONFIGURE_ARGS+= -DCMAKE_INSTALL_PREFIX=${DESTDIR}${PREFIX} | |
22 | # avoid full-cu-features available to build host, | 23 | # avoid full-cu-features available to build host, | |
23 | # in other words ensure that we run everywhere | 24 | # in other words ensure that we run everywhere | |
24 | CMAKE_CONFIGURE_ARGS+= -DZIG_TARGET_MCPU=baseline | 25 | CMAKE_CONFIGURE_ARGS+= -DZIG_TARGET_MCPU=baseline | |
25 | CMAKE_CONFIGURE_ARGS+= -DZIG_PIE=ON | 26 | CMAKE_CONFIGURE_ARGS+= -DZIG_PIE=ON | |
26 | 27 | |||
28 | MAKE_ENV+= ZIG_GLOBAL_CACHE_DIR=${WRKDIR}/zig-global-cache | |||
29 | MAKE_ENV+= ZIG_LOCAL_CACHE_DIR=${WRKDIR}/zig-local-cache | |||
30 | ||||
27 | CHECK_PORTABILITY_SKIP+= ci/azure/macos_script | 31 | CHECK_PORTABILITY_SKIP+= ci/azure/macos_script | |
28 | BUILDLINK_TRANSFORM+= rm:-Werror | 32 | BUILDLINK_TRANSFORM+= rm:-Werror | |
29 | 33 | |||
30 | UNLIMIT_RESOURCES= stacksize | 34 | UNLIMIT_RESOURCES= stacksize | |
31 | 35 | |||
32 | # \todo: There is currently an issue building this as a PIE | |||
33 | #MKPIE_SUPPORTED= no | |||
34 | # RELRO checks fail for this package at the moment | |||
35 | #RELRO_SUPPORTED= no | |||
36 | # TODO: /usr/bin/env + /bin/env in lib/std/zig/system.zig | 36 | # TODO: /usr/bin/env + /bin/env in lib/std/zig/system.zig | |
37 | 37 | |||
38 | # after install, because the zig binary ends up in paths like | 38 | # after install, because the zig binary ends up in paths like | |
39 | # ./zig-0.10.1/zig-cache/o/e6445b80597d6bc8fe865e7254800ac9/zig | 39 | # ./zig-0.10.1/zig-cache/o/e6445b80597d6bc8fe865e7254800ac9/zig | |
40 | # unless we want to run find for the executable here? | 40 | # unless we want to run find for the executable here? | |
41 | do-test: | 41 | do-test: | |
42 | mkdir ${WRKDIR}/cache | 42 | mkdir ${WRKDIR}/cache | |
43 | cd ${WRKSRC} && \ | 43 | cd ${WRKSRC} && \ | |
44 | ${DESTDIR}${PREFIX}/bin/zig build test-behavior \ | 44 | ${DESTDIR}${PREFIX}/bin/zig build test-behavior \ | |
45 | --cache-dir ${WRKDIR}/cache --global-cache-dir ${WRKDIR}/cache \ | 45 | --cache-dir ${WRKDIR}/cache --global-cache-dir ${WRKDIR}/cache \ | |
46 | --zig-lib-dir ${WRKSRC}/lib | 46 | --zig-lib-dir ${WRKSRC}/lib | |
47 | 47 | |||
48 | .include "../../devel/cmake/build.mk" | 48 | .include "../../devel/cmake/build.mk" |
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | # $NetBSD: application.mk,v 1.8 2024/04/24 20:48:30 nikita Exp $ | 1 | # $NetBSD: application.mk,v 1.9 2024/04/26 11:38:07 nikita Exp $ | |
2 | # | 2 | # | |
3 | # Common logic to handle zig packages | 3 | # Common logic to handle zig packages | |
4 | # This is only usable if they include a 'build.zig' file | 4 | # This is only usable if they include a 'build.zig' file | |
5 | # | 5 | # | |
6 | .include "../../mk/bsd.fast.prefs.mk" | 6 | .include "../../mk/bsd.fast.prefs.mk" | |
7 | 7 | |||
8 | # https://github.com/ziglang/zig/issues/3382 | 8 | # https://github.com/ziglang/zig/issues/3382 | |
9 | # For now, Zig doesn't support CFLAGS/LDFLAGS/etc. | 9 | # For now, Zig doesn't support CFLAGS/LDFLAGS/etc. | |
10 | 10 | |||
11 | # Debug build (default): | 11 | # Debug build (default): | |
12 | # Fast compilation speed, Safety checks enabled, Slow runtime performance | 12 | # Fast compilation speed, Safety checks enabled, Slow runtime performance | |
13 | # Large binary size, No reproducible build requirement | 13 | # Large binary size, No reproducible build requirement | |
14 | # ReleaseFast (-Drelease-fast) | 14 | # ReleaseFast (-Drelease-fast) | |
@@ -20,34 +20,34 @@ | @@ -20,34 +20,34 @@ | |||
20 | # ReleaseSmall (-Drelease-small=true) | 20 | # ReleaseSmall (-Drelease-small=true) | |
21 | # Medium runtime performance, Safety checks disabled, Slow compilation speed | 21 | # Medium runtime performance, Safety checks disabled, Slow compilation speed | |
22 | # Small binary size | 22 | # Small binary size | |
23 | ZIGBUILDMODE?= --release=safe | 23 | ZIGBUILDMODE?= --release=safe | |
24 | ZIGCPUMODE?= -Dcpu=baseline | 24 | ZIGCPUMODE?= -Dcpu=baseline | |
25 | ZIGBUILDARGS?= | 25 | ZIGBUILDARGS?= | |
26 | ZIGTESTARGS?= | 26 | ZIGTESTARGS?= | |
27 | ZIGPIE?= yes | 27 | ZIGPIE?= yes | |
28 | ZIGSTRIP?= yes | 28 | ZIGSTRIP?= yes | |
29 | 29 | |||
30 | TOOL_DEPENDS+= zig-[0-9]*:../../lang/zig | 30 | TOOL_DEPENDS+= zig-[0-9]*:../../lang/zig | |
31 | USE_LANGUAGES= c | 31 | USE_LANGUAGES= c | |
32 | 32 | |||
33 | #MAKE_ENV+= ZIG_GLOBAL_CACHE_DIR=${WRKSRC}/tmp | 33 | MAKE_ENV+= ZIG_GLOBAL_CACHE_DIR=${WRKDIR}/zig-gobal-cache | |
34 | MAKE_ENV+= ZIG_LOCAL_CACHE_DIR=${WRKDIR}/zig-local-cache | |||
34 | 35 | |||
35 | .if ${ZIGPIE:Uyes:M[yY][eE][sS]} | 36 | .if ${ZIGPIE:Uyes:M[yY][eE][sS]} | |
36 | ZIGBUILDARGS+= -Dpie=true | 37 | ZIGBUILDARGS+= -Dpie=true | |
37 | .endif | 38 | .endif | |
38 | 39 | |||
39 | .if ${ZIGSTRIP:Uyes:M[yY][eE][sS]} | 40 | .if ${ZIGSTRIP:Uyes:M[yY][eE][sS]} | |
40 | . if ${MKDEBUG:Uyes:M[yY][eE][sS]} && ${INSTALL_UNSTRIPPED:Uyes:tl} == yes | 41 | . if ${MKDEBUG:Uyes:M[yY][eE][sS]} && ${INSTALL_UNSTRIPPED:Uyes:tl} == yes | |
41 | ZIGBUILDARGS+= -Dstrip=true | 42 | ZIGBUILDARGS+= -Dstrip=true | |
42 | . endif | 43 | . endif | |
43 | .endif | 44 | .endif | |
44 | 45 | |||
45 | do-build: | 46 | do-build: | |
46 | mkdir ${WRKSRC}/tmp | |||
47 | cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} zig build ${ZIGBUILDMODE} ${ZIGCPUMODE} ${ZIGBUILDARGS} --prefix ${DESTDIR}${PREFIX} | 47 | cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} zig build ${ZIGBUILDMODE} ${ZIGCPUMODE} ${ZIGBUILDARGS} --prefix ${DESTDIR}${PREFIX} | |
48 | 48 | |||
49 | do-install: | 49 | do-install: | |
50 | cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} zig build install ${ZIGBUILDMODE} ${ZIGCPUMODE} ${ZIGBUILDARGS} --prefix ${DESTDIR}${PREFIX} | 50 | cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} zig build install ${ZIGBUILDMODE} ${ZIGCPUMODE} ${ZIGBUILDARGS} --prefix ${DESTDIR}${PREFIX} | |
51 | 51 | |||
52 | do-test: | 52 | do-test: | |
53 | cd ${WRKSRC} && ${SETENV} ${TEST_ENV} zig build ${ZIGBUILDMODE} ${ZIGBUILDARGS} ${ZIGCPUMODE} ${ZIGTESTARGS} test | 53 | cd ${WRKSRC} && ${SETENV} ${TEST_ENV} zig build ${ZIGBUILDMODE} ${ZIGBUILDARGS} ${ZIGCPUMODE} ${ZIGTESTARGS} test |