Package Details: zig-git 0.9.0-1

Git Clone URL: https://aur.archlinux.org/zig-git.git (read-only, click to copy)
Package Base: zig-git
Description: a programming language prioritizing robustness, optimality, and clarity
Upstream URL: https://ziglang.org
Licenses: MIT
Conflicts: zig
Provides: zig
Submitter: PedroHLC
Maintainer: jonathon
Last Packager: jonathon
Votes: 10
Popularity: 1.12
First Submitted: 2016-08-09 17:43 (UTC)
Last Updated: 2021-12-25 21:12 (UTC)

Required by (41)

Sources (1)

Latest Comments

Techcable commented on 2022-06-28 02:24 (UTC)

Currently the latest master commit will not build because of Zig issue #11137. Essentially Zig does not link to c_nonshared, although that is needed on recent version of Arch.

Here is an example of a compilation failure on latest master: Github Gist Several other examples of compilation failure are available on the issue.

PR #11529 provides a simple (but hacky) fix to the solution.

You should patch it until upstream adds a proper fix.

graysky commented on 2022-06-17 12:43 (UTC)

@clarfonthey - just build with makepkg -sA to skip the arch check.

Techcable commented on 2022-05-24 18:14 (UTC)

It would be really amazing if you could add a debug build for this package. Maybe using OPTIONS=(debug !strip) and passing the appropriate options to cmake.

Not sure if this is best done in a seperate package, but it would be really awesome :)

clarfonthey commented on 2022-05-05 15:46 (UTC)

Would you be willing to add aarch64 to the list of supported architectures? I haven't had any problems building for it and it would be useful to not have to locally patch it.

cajm commented on 2021-12-25 18:04 (UTC) (edited on 2021-12-27 00:42 (UTC) by cajm)

@jonathon Got it. The problem with calling make is that sometimes the CMAKE_GENERATOR environment variable set to Ninja, making CMake generate a build.ninja instead of a Makefile. Using cmake --build (as demonstrated in the AUR CMake packaging guidelines detects whether it should call make or ninja based on what it generated. If you want for force make usage, I suggest adding -G 'Unix Makefiles' to the cmake parameters. Otherwise you get an error saying make: *** No targets specified and no makefile found. Stop.

jonathon commented on 2021-12-22 12:02 (UTC)

@cajm, the PKGBUILD mostly follows the upstream build instructions.

cajm commented on 2021-12-02 15:03 (UTC)

Please use cmake --build build and cmake --install build instead of running make directly. Not everyone uses make as their cmake generator.

tas commented on 2021-11-12 04:50 (UTC)

The Zig repository has been moved to 'https://github.com/ziglang/zig.git'. While GitHub still forwards the old path to the new one, the old organization name (and repository path) is now up for grabs, so please update this package to the new URL when you can.

diegovsky commented on 2021-04-28 03:58 (UTC)

A patch to use llvm 12 is needed. This isn't building rn. I guess we wait for llvm 12 to reach pacman's repos or we patch to use the AUR llvm.

wbthomason commented on 2020-06-26 14:21 (UTC)

@tiehuis: Thanks!

katt commented on 2020-06-26 12:40 (UTC) (edited on 2020-06-26 12:41 (UTC) by katt)

The new pkgver no longer complies with the VCS package guidelines. https://wiki.archlinux.org/index.php/VCS_package_guidelines#The_pkgver()_function

It should at the very least contain the revision

tiehuis commented on 2020-06-26 12:39 (UTC) (edited on 2020-06-26 12:40 (UTC) by tiehuis)

Apologies for the delay here. I've updated the PKGBUILD as per jonathon's patch and added him as a co-maintainer at his request to ensure there can be more timely updates in the case I am busy in the future.

Thank you jonathon for the patch.

wbthomason commented on 2020-06-25 15:25 (UTC)

@tiehuis: Could you please update the PKGBUILD with @jonathon's patch? As noted in the 2020-05-05 out-of-date flag message, the existing PKGBUILD no longer works.

jonathon commented on 2020-04-19 11:39 (UTC) (edited on 2020-04-22 13:53 (UTC) by jonathon)

Here's a git diff for 0.6.0 and LLVM 10 support. It tidies the PKGBUILD a little bit too:

diff --git a/.SRCINFO b/.SRCINFO
index 8f79be3..2ec1f2a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,18 +1,19 @@
 pkgbase = zig-git
    pkgdesc = a programming language prioritizing robustness, optimality, and clarity
-   pkgver = 0.4.0.r938.gc47b75312
+   pkgver = 0.6.0
    pkgrel = 1
-   url = http://ziglang.org
+   url = https://ziglang.org
    arch = i686
    arch = x86_64
    license = MIT
    makedepends = cmake
    makedepends = git
    depends = clang
-   depends = llvm
+   depends = llvm>=10
+   depends = lld
    provides = zig
    conflicts = zig
-   source = git://github.com/zig-lang/zig.git
+   source = git+https://github.com/zig-lang/zig.git
    md5sums = SKIP

 pkgname = zig-git
diff --git a/PKGBUILD b/PKGBUILD
index a413e4e..e828000 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,41 +1,36 @@
 # Maintainer: Marc Tiehuis <marctiehuis at gmail.com>

 pkgname=zig-git
-pkgver=0.4.0.r938.gc47b75312
+pkgver=0.6.0
 pkgrel=1
 pkgdesc="a programming language prioritizing robustness, optimality, and clarity"
 arch=('i686' 'x86_64')
-url='http://ziglang.org'
+url='https://ziglang.org'
 license=('MIT')
-depends=('clang' 'llvm')
+depends=('clang' 'llvm>=10' 'lld')
 makedepends=('cmake' 'git')
 provides=(zig)
 conflicts=(zig)
-source=("git://github.com/zig-lang/zig.git")
+source=("git+https://github.com/zig-lang/zig.git")
 md5sums=('SKIP')

 pkgver() {
-    cd "$srcdir/$provides"
-    git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
+    git -C zig describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
 }

 build() {
-    cd "$srcdir/$provides"
     mkdir -p build
     cd build
-    cmake .. -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr
+    cmake ../zig -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr -DZIG_PREFER_CLANG_CPP_DYLIB=ON
     make DESTDIR=.
 }

 check() {
-    cd "$srcdir/$provides/build"
-
     # omit full compiler test since it takes ages
-    ./zig version
+    build/zig version
 }

 package() {
-    cd "$srcdir/$provides/build"
-    install -Dm644 "$srcdir/$provides/LICENSE" "$pkgdir/usr/share/licenses/$provides/LICENSE"
-    make DESTDIR="$pkgdir" install
+    install -Dm644 zig/LICENSE "$pkgdir/usr/share/licenses/$provides/LICENSE"
+    make -C build DESTDIR="$pkgdir" install
 }

ugla commented on 2020-02-05 15:38 (UTC)

@daurminator I see. Thanks for letting me know!

daurnimator commented on 2020-02-05 15:16 (UTC)

@alva that was an upstream bug, should be fixed now. https://github.com/ziglang/zig/pull/4394

ugla commented on 2020-02-05 12:40 (UTC)

Seems that CMAKE_BUILD_TYPE must now be one of Debug, Release, RelWithDebInfo, or MinSizeRel. Installing the package currently fails:

==> Starting build()...
::
:: ERROR: Invalid build type: None
::
:: valid types: { Debug, Release, RelWithDebInfo, MinSizeRel }
::
CMake Error at CMakeLists.txt:17 (message):


-- Configuring incomplete, errors occurred!
==> ERROR: A failure occurred in build().
    Aborting...

tiehuis commented on 2019-07-29 10:40 (UTC)

Thanks daurnimator. Updated.

daurnimator commented on 2019-07-29 09:26 (UTC)

Could you pass -DCMAKE_BUILD_TYPE=None so that makepkg flags are respected? See https://wiki.archlinux.org/index.php/Makepkg#CFLAGS.2FCXXFLAGS.2FLDFLAGS_in_makepkg.conf_do_not_work_for_CMake_based_packages

tiehuis commented on 2019-07-25 09:19 (UTC)

Thank you for the patch! Updated.

jonathon commented on 2019-07-24 13:05 (UTC)

Andrew pushed a temporary fix upstream: https://github.com/ziglang/zig/commit/77c2ac3fcd27b114b0068d3b64b3d884aa71e4ef

Here's a diff to use it:

diff --git a/.SRCINFO b/.SRCINFO
index df25e51..ba5c46a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
 pkgbase = zig-git
    pkgdesc = a programming language prioritizing robustness, optimality, and clarity
-   pkgver = 0.4.0.r184.g40fe6afd
+   pkgver = 0.4.0.r933.g59850c1ce
    pkgrel = 1
    url = http://ziglang.org
    arch = i686
@@ -13,9 +13,7 @@ pkgbase = zig-git
    provides = zig
    conflicts = zig
    source = git://github.com/zig-lang/zig.git
-   source = force_dynamic_llvm.patch
    md5sums = SKIP
-   md5sums = 9a935ede50ab8f1a789349fc3b760c1c

 pkgname = zig-git

diff --git a/PKGBUILD b/PKGBUILD
index 98930fe..f396d22 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Marc Tiehuis <marctiehuis at gmail.com>

 pkgname=zig-git
-pkgver=0.4.0.r184.g40fe6afd
+pkgver=0.4.0.r933.g59850c1ce
 pkgrel=1
 pkgdesc="a programming language prioritizing robustness, optimality, and clarity"
 arch=('i686' 'x86_64')
@@ -11,13 +11,8 @@ depends=('clang' 'llvm')
 makedepends=('cmake' 'git')
 provides=(zig)
 conflicts=(zig)
-source=("git://github.com/zig-lang/zig.git" 'force_dynamic_llvm.patch')
-md5sums=('SKIP' '9a935ede50ab8f1a789349fc3b760c1c')
-
-prepare() {
-    cd "$srcdir/$provides"
-    patch -Np1 -i "$srcdir/force_dynamic_llvm.patch"
-}
+source=("git://github.com/zig-lang/zig.git")
+md5sums=('SKIP')

 pkgver() {
     cd "$srcdir/$provides"
@@ -29,7 +24,7 @@ build() {
     mkdir -p build
     cd build
     cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
-    make
+    make DESTDIR=.
 }

 check() {
diff --git a/force_dynamic_llvm.patch b/force_dynamic_llvm.patch
deleted file mode 100644
index c92f302..0000000
--- a/force_dynamic_llvm.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake
-index 021c3c6f..82b435af 100644
---- a/cmake/Findllvm.cmake
-+++ b/cmake/Findllvm.cmake
-@@ -15,7 +15,7 @@ find_program(LLVM_CONFIG_EXE
-         "c:/msys64/mingw64/bin"
-         "C:/Libraries/llvm-6.0.0/bin")
- 
--if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug") OR ZIG_STATIC)
-+if(false)
-   execute_process(
-       COMMAND ${LLVM_CONFIG_EXE} --libfiles --link-static
-       OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES

tiehuis commented on 2019-07-23 00:21 (UTC)

Thanks for filing that issue. I'll check today if the currently changed behavior is sufficient to package and update on progress.

jonathon commented on 2019-07-21 20:59 (UTC)

I've reported a build failure here: https://github.com/ziglang/zig/issues/2928

I don't know if this is related to the new ZIG_STATIC configuration (https://github.com/ziglang/zig/pull/2858) or if it's just coincidence.

tiehuis commented on 2019-04-20 08:29 (UTC)

Updated the patch. I've used git describe in the pkgver() as per your patch. Thanks for that. This patch will be removed fairly soon when I update upstream to fix the root issue.

jonathon commented on 2019-04-17 11:52 (UTC) (edited on 2019-04-18 17:30 (UTC) by jonathon)

Patch no_stage2_artifacts.patch fails to apply after around bc2d60c1.

Here's a diff to update both patch files:

diff --git a/PKGBUILD b/PKGBUILD
index 2a16f18..82f8dfd 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Marc Tiehuis <marctiehuis at gmail.com>

 pkgname=zig-git
-pkgver=0.3.0r3806.3f13a59c
+pkgver=0.4.0.r77.gbc2d60c1
 pkgrel=1
 pkgdesc="a programming language prioritizing robustness, optimality, and clarity"
 arch=('i686' 'x86_64')
@@ -12,7 +12,9 @@ makedepends=('cmake' 'git')
 provides=(zig)
 conflicts=(zig)
 source=("git://github.com/zig-lang/zig.git" 'force_dynamic_llvm.patch' 'no_stage2_artifacts.patch')
-md5sums=('SKIP' '9a935ede50ab8f1a789349fc3b760c1c' 'cb0bbf9c19971a48eff41e8c764ac990')
+md5sums=('SKIP'
+         '742f8c08b999afb7895675ca63649aec'
+         '5e28035a8ce415a9d1589558a8d636cb')

 prepare() {
     cd "$srcdir/$provides"
@@ -22,7 +24,7 @@ prepare() {

 pkgver() {
     cd "$srcdir/$provides"
-    printf "0.3.0r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+    git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
 }

 build() {
diff --git a/force_dynamic_llvm.patch b/force_dynamic_llvm.patch
index c92f302..bcf1242 100644
--- a/force_dynamic_llvm.patch
+++ b/force_dynamic_llvm.patch
@@ -2,10 +2,10 @@ diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake
 index 021c3c6f..82b435af 100644
 --- a/cmake/Findllvm.cmake
 +++ b/cmake/Findllvm.cmake
-@@ -15,7 +15,7 @@ find_program(LLVM_CONFIG_EXE
-         "c:/msys64/mingw64/bin"
-         "C:/Libraries/llvm-6.0.0/bin")
- 
+@@ -65,7 +65,7 @@ find_program(LLVM_CONFIG_EXE
+ NEED_TARGET("X86")
+ NEED_TARGET("XCore")
+
 -if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug") OR ZIG_STATIC)
 +if(false)
    execute_process(
diff --git a/no_stage2_artifacts.patch b/no_stage2_artifacts.patch
index a89edcc..fef4b3f 100644
--- a/no_stage2_artifacts.patch
+++ b/no_stage2_artifacts.patch
@@ -2,7 +2,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
 index bda57634..52599838 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -254,7 +254,6 @@ else()
+@@ -257,7 +257,6 @@ else()
          embedded_lld_wasm
          embedded_lld_lib
      )
@@ -10,11 +10,11 @@ index bda57634..52599838 100644
  endif()

  # No patches have been applied to SoftFloat-3e
-@@ -775,7 +774,6 @@ if(MSVC OR MINGW)
-     target_link_libraries(zig LINK_PUBLIC version)
- endif()
- install(TARGETS zig DESTINATION bin)
+@@ -6640,7 +6640,6 @@ if(MSVC OR MINGW)
+ set_target_properties(zig_cpp PROPERTIES
+     COMPILE_FLAGS ${EXE_CFLAGS}
+ )
 -install(TARGETS zig_cpp DESTINATION "${ZIG_CPP_LIB_DIR}")
- 
- foreach(file ${ZIG_C_HEADER_FILES})
-     get_filename_component(file_dir "${C_HEADERS_DEST}/${file}" DIRECTORY)
+ 
+ add_library(opt_c_util STATIC ${OPTIMIZED_C_SOURCES})
+ set_target_properties(opt_c_util PROPERTIES

(Watch out for missing whitespace if you copy-and-paste, there's a full-text version here: https://bpaste.net/show/0c103164d943)

jonathon commented on 2019-04-09 14:41 (UTC)

The upstream tag of 0.4.0 might be a good opportunity to switch to a fully generated pkgver. ;)

jonathon commented on 2018-10-02 18:07 (UTC) (edited on 2019-04-10 12:11 (UTC) by jonathon)

Something to consider, the wiki has some examples of pkgver() functions which don't require hard-coding a version number, e.g.:

pkgver() {
  cd "${pkgname/-git/}"
  git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}

->

0.3.0.r19.g364bc669

tiehuis commented on 2018-09-23 10:10 (UTC) (edited on 2018-09-23 10:11 (UTC) by tiehuis)

This is outdated and will not build until the system LLVM is updated to LLVM-7.0 [1]. For the mean time, if you require a master build, see the auto-built static binaries on the website [2].

[1] https://www.archlinux.org/todo/llvm-7/

[2] https://ziglang.org/builds/zig-linux-x86_64-master.tar.xz

tiehuis commented on 2018-04-30 05:35 (UTC)

Should be fixed now.

antoyo commented on 2018-04-30 02:34 (UTC)

Hi. I have the following error when trying to install this package:

==> Lancement de prepare()... patching file cmake/Findllvm.cmake Hunk #1 FAILED at 15. 1 out of 1 hunk FAILED -- saving rejects to file cmake/Findllvm.cmake.rej

Could you please fix this? Thanks.