summaryrefslogtreecommitdiff
path: root/dev-lang/zig-bin
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-08-22 14:43:09 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-08-22 14:43:09 +0100
commitc0a9f2400f704c438b0cef4f4105e7bb6c3cbbff (patch)
treef03dacf9fcbf88186d23a1c68620015cca2a06b2 /dev-lang/zig-bin
parent4c4bbf21230bd972cf759b2a40b782aa4149fc1f (diff)
gentoo auto-resync : 22:08:2022 - 14:43:09
Diffstat (limited to 'dev-lang/zig-bin')
-rw-r--r--dev-lang/zig-bin/Manifest7
-rw-r--r--dev-lang/zig-bin/files/zig-bin-0.9.1-fix-detecting-abi.patch19
-rw-r--r--dev-lang/zig-bin/metadata.xml16
-rw-r--r--dev-lang/zig-bin/zig-bin-0.9.1.ebuild37
4 files changed, 79 insertions, 0 deletions
diff --git a/dev-lang/zig-bin/Manifest b/dev-lang/zig-bin/Manifest
new file mode 100644
index 000000000000..6e3b461c41a5
--- /dev/null
+++ b/dev-lang/zig-bin/Manifest
@@ -0,0 +1,7 @@
+AUX zig-bin-0.9.1-fix-detecting-abi.patch 1008 BLAKE2B b2556e70039cd73720d5f2518930a31baab483ab4a9212ff0edb6573f2c91c377f0912def0fbcadf5193d9eef6c48505035e447e811eea9d562de4ce667c8c62 SHA512 5ebd53548d589a1412d5991118ea1c253a846bb2eebcbeb42e69ca42690dc38a839dd1b2d6902e0a3a1aefdd1dfd5b350193da32b1e48652ba0c523c6b6e5c7c
+DIST zig-linux-aarch64-0.9.1.tar.xz 37034860 BLAKE2B 3b984198d74ee01570e4e10175dc4471268970cc5bd66d732042f17f1cf31301cec9237df756b7fa589915ed4c4f29dcd9ba61fb8e65ce7e9b579762773fe26d SHA512 ca647f04a67a45ad9e869e335266fad9a4a0f3f377da31d54a6f022727404db6cf2386d33315df20d5da0b6883f59e27bb0d73e18856e571cf4bc8f890565639
+DIST zig-linux-armv7a-0.9.1.tar.xz 37974652 BLAKE2B 5d51260d8322d1400719d97c7cac2d12555622272900533128e20d45ea7a1c321b8a3eb9c7c406bbfd459da24d19451c65011bc2cac0b0c29a0372c56ea73a2b SHA512 239c5f02aeb1c85bc2c43374d610e27722c434d23cf3adf43b3923772dfe5800e340d6a6b3672bd307c159c2cccce5137aabb5b6648148c351e29c171de9e333
+DIST zig-linux-i386-0.9.1.tar.xz 44969172 BLAKE2B 7051242284f1ceca662a64257adf64b7383b71b475f27abd3377bdaf8335d56d8cbb9a961ebceb6ae26058258216848dcbde2f50f95a74e0b64578a9522f33d5 SHA512 5bdf0ebffe45023b5a28331137458d258048c7974311c8e8090bc610f0ec262dc0004f0a939cff443b1d94a9cca4035de8e6e98dad9d668413888da02b325b6d
+DIST zig-linux-x86_64-0.9.1.tar.xz 41011464 BLAKE2B 053fc1c3d30e5798b7d30c9a4f9b5609b9b080e9f237dab52ae661b183663fca6582dcc37458e8a51dd7eb4fbd1d3a9946f7c67cb756b69460f0e23b03cc96eb SHA512 0e5f5971dc9e586911f98122a410c98d8aaef2795d2d68488a1e9468ea45135479dac7f92708c973db4f8efce78cb0c6b3759cf239fba6237052434a2120d4d3
+EBUILD zig-bin-0.9.1.ebuild 915 BLAKE2B c4b465f7342216ef2cbd9485bc821f4e3611d26861f1dde99b8f7f54ba7e8796f798e2f457fc10b47b6a8e2fd3a0e7fd7f4ee276ef60ba99a7f18fd2cfd8c5e4 SHA512 45e65d01e738e87b7a5f4c2cd892cc10eb723e17dfcb551f96990050f77ef14d6f144bc81207e5d30ee473af593c02c9df589f7f775d4012a04186af89378418
+MISC metadata.xml 541 BLAKE2B 6f5c7fbf759f0430f69073a17a0dae4b8bebf335b54c3b43da6b24104dc3de05a3b686cddbbd31e4dae1fc31695a2f08d000d22437ed6f1847de8fa95e3b1952 SHA512 d49cf0a8ad76ac9a6f6fb091effddbbcd812b56f91df6d3c782e15197cb4ff4423fb1076671a232aabcb9833af19ef8c820ad6df312a1e4d72e665680314c083
diff --git a/dev-lang/zig-bin/files/zig-bin-0.9.1-fix-detecting-abi.patch b/dev-lang/zig-bin/files/zig-bin-0.9.1-fix-detecting-abi.patch
new file mode 100644
index 000000000000..6aa2f49b379a
--- /dev/null
+++ b/dev-lang/zig-bin/files/zig-bin-0.9.1-fix-detecting-abi.patch
@@ -0,0 +1,19 @@
+From: Eric Joldasov <bratishkaerik@getgoogleoff.me>
+
+Upstream parses /usr/bin/env ELF file for detecting C ABI and the dynamic linker.
+However, if sys-apps/coreutils was merged with "multicall" USE flag, it would be a script and not a ELF file.
+This will raise error.UnexpectedEndOfFile, and Zig will fallback to default dynamic linker (i.e. musl),
+which breaks building programs with Zig on glibc systems. This patch changes file from
+/usr/bin/env to /bin/bash, because it is more reliable on Gentoo systems.
+
+--- a/lib/std/zig/system/NativeTargetInfo.zig
++++ b/lib/std/zig/system/NativeTargetInfo.zig
+@@ -355,7 +355,7 @@ fn detectAbiAndDynamicLinker(
+ return result;
+ }
+
+- const env_file = std.fs.openFileAbsoluteZ("/usr/bin/env", .{}) catch |err| switch (err) {
++ const env_file = std.fs.openFileAbsoluteZ("/bin/bash", .{}) catch |err| switch (err) {
+ error.NoSpaceLeft => unreachable,
+ error.NameTooLong => unreachable,
+ error.PathAlreadyExists => unreachable,
diff --git a/dev-lang/zig-bin/metadata.xml b/dev-lang/zig-bin/metadata.xml
new file mode 100644
index 000000000000..a5a5818faae7
--- /dev/null
+++ b/dev-lang/zig-bin/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>bratishkaerik@getgoogleoff.me</email>
+ <name>Eric Joldasov</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ziglang/zig</remote-id>
+ <bugs-to>https://github.com/ziglang/zig/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lang/zig-bin/zig-bin-0.9.1.ebuild b/dev-lang/zig-bin/zig-bin-0.9.1.ebuild
new file mode 100644
index 000000000000..7aa14d86a3ea
--- /dev/null
+++ b/dev-lang/zig-bin/zig-bin-0.9.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A robust, optimal, and maintainable programming language"
+HOMEPAGE="https://ziglang.org/"
+SRC_URI="
+ amd64? ( https://ziglang.org/download/${PV}/zig-linux-x86_64-${PV}.tar.xz )
+ arm? ( https://ziglang.org/download/${PV}/zig-linux-armv7a-${PV}.tar.xz )
+ arm64? ( https://ziglang.org/download/${PV}/zig-linux-aarch64-${PV}.tar.xz )
+ x86? ( https://ziglang.org/download/${PV}/zig-linux-i386-${PV}.tar.xz )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="!dev-lang/zig"
+
+PATCHES=( "${FILESDIR}/${P}-fix-detecting-abi.patch" )
+
+QA_PREBUILT="opt/${P}/zig"
+
+src_unpack() {
+ unpack ${A}
+
+ mv "${WORKDIR}/"* "${S}"
+}
+
+src_install() {
+ insinto /opt/
+ doins -r "${S}"
+
+ dosym -r /opt/${P}/doc/ /usr/share/doc/${PF}
+ dosym -r /opt/${P}/zig /usr/bin/zig
+ fperms 0755 /usr/bin/zig
+}