mirror of
https://github.com/mitchellh/zig-overlay.git
synced 2025-05-08 18:46:02 +03:00
Merge 253c827042
into 51f156aa02
This commit is contained in:
commit
3309fc70ec
5 changed files with 428 additions and 7434 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -1,4 +1,9 @@
|
||||||
index.json
|
index.json
|
||||||
index.json.minisig
|
zig-index.json
|
||||||
|
zig-index.json.minisig
|
||||||
|
mach-index.json
|
||||||
sources.old.json
|
sources.old.json
|
||||||
sources.new.json
|
sources.new.json
|
||||||
|
|
||||||
|
.direnv
|
||||||
|
result
|
||||||
|
|
|
@ -43,6 +43,8 @@ $ nix run 'github:mitchellh/zig-overlay'
|
||||||
$ nix shell 'github:mitchellh/zig-overlay#master-2021-02-13'
|
$ nix shell 'github:mitchellh/zig-overlay#master-2021-02-13'
|
||||||
# open a shell with latest nightly version
|
# open a shell with latest nightly version
|
||||||
$ nix shell 'github:mitchellh/zig-overlay#master'
|
$ nix shell 'github:mitchellh/zig-overlay#master'
|
||||||
|
# open a shell with latest Mach nominated version
|
||||||
|
$ nix shell 'github:mitchellh/zig-overlay#mach-latest'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Compiler Development
|
### Compiler Development
|
||||||
|
|
31
default.nix
31
default.nix
|
@ -33,8 +33,12 @@
|
||||||
lib.attrsets.mapAttrs
|
lib.attrsets.mapAttrs
|
||||||
(k: v: mkBinaryInstall {inherit (v.${system}) version url sha256;})
|
(k: v: mkBinaryInstall {inherit (v.${system}) version url sha256;})
|
||||||
(lib.attrsets.filterAttrs
|
(lib.attrsets.filterAttrs
|
||||||
(k: v: (builtins.hasAttr system v) && (v.${system}.url != null) && (v.${system}.sha256 != null))
|
(k: v:
|
||||||
(builtins.removeAttrs sources ["master"]));
|
(builtins.hasAttr system v)
|
||||||
|
&& (v.${system}.url != null)
|
||||||
|
&& (v.${system}.sha256 != null)
|
||||||
|
&& !(lib.strings.hasSuffix "mach" k))
|
||||||
|
(builtins.removeAttrs sources ["master" "mach-latest"]));
|
||||||
|
|
||||||
# The master packages
|
# The master packages
|
||||||
masterPackages =
|
masterPackages =
|
||||||
|
@ -52,13 +56,34 @@
|
||||||
(k: v: (builtins.hasAttr system v) && (v.${system}.url != null))
|
(k: v: (builtins.hasAttr system v) && (v.${system}.url != null))
|
||||||
sources.master);
|
sources.master);
|
||||||
|
|
||||||
|
# Mach nominated versions
|
||||||
|
# https://machengine.org/docs/nominated-zig/
|
||||||
|
machPackages =
|
||||||
|
lib.attrsets.mapAttrs
|
||||||
|
(k: v: mkBinaryInstall {inherit (v.${system}) version url sha256;})
|
||||||
|
(lib.attrsets.filterAttrs (k: v: lib.strings.hasSuffix "mach" k)
|
||||||
|
(builtins.removeAttrs sources ["master"]));
|
||||||
|
|
||||||
# This determines the latest /released/ version.
|
# This determines the latest /released/ version.
|
||||||
latest = lib.lists.last (
|
latest = lib.lists.last (
|
||||||
builtins.sort
|
builtins.sort
|
||||||
(x: y: (builtins.compareVersions x y) < 0)
|
(x: y: (builtins.compareVersions x y) < 0)
|
||||||
(builtins.attrNames taggedPackages)
|
(builtins.attrNames taggedPackages)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
# Latest Mach nominated version
|
||||||
|
machLatest = lib.lists.last (
|
||||||
|
builtins.sort
|
||||||
|
(x: y: (builtins.compareVersions x y) < 0)
|
||||||
|
(builtins.attrNames machPackages)
|
||||||
|
);
|
||||||
in
|
in
|
||||||
# We want the packages but also add a "default" that just points to the
|
# We want the packages but also add a "default" that just points to the
|
||||||
# latest released version.
|
# latest released version.
|
||||||
taggedPackages // masterPackages // {"default" = taggedPackages.${latest};}
|
taggedPackages
|
||||||
|
// masterPackages
|
||||||
|
// machPackages
|
||||||
|
// {
|
||||||
|
"default" = taggedPackages.${latest};
|
||||||
|
mach-latest = machPackages.${machLatest};
|
||||||
|
}
|
||||||
|
|
7806
sources.json
7806
sources.json
File diff suppressed because it is too large
Load diff
16
update
16
update
|
@ -6,14 +6,18 @@ set -e
|
||||||
PUBLIC_KEY="RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U"
|
PUBLIC_KEY="RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U"
|
||||||
|
|
||||||
# Grab the JSON and parse the version
|
# Grab the JSON and parse the version
|
||||||
rm -rf index.json index.json.minisig
|
rm -rf *index.json zig-index.json.minisig
|
||||||
curl -s 'https://ziglang.org/download/index.json' > index.json
|
curl -s 'https://ziglang.org/download/index.json' > zig-index.json
|
||||||
VERSION=$(cat index.json | jq -r '.master.version')
|
VERSION=$(cat zig-index.json | jq -r '.master.version')
|
||||||
echo "Parsing master version: ${VERSION}"
|
echo "Parsing master version: ${VERSION}"
|
||||||
|
|
||||||
# Verify the signature of the JSON before we parse it
|
# Verify the signature of the JSON before we parse it
|
||||||
curl -s "https://ziglang.org/builds/zig-${VERSION}-index.json.minisig" > index.json.minisig
|
curl -s "https://ziglang.org/builds/zig-${VERSION}-index.json.minisig" > zig-index.json.minisig
|
||||||
minisign -V -P ${PUBLIC_KEY} -x index.json.minisig -m index.json
|
minisign -V -P ${PUBLIC_KEY} -x zig-index.json.minisig -m zig-index.json
|
||||||
|
|
||||||
|
# Merge Mach's index.json with the official one
|
||||||
|
curl -s 'https://machengine.org/zig/index.json' > mach-index.json
|
||||||
|
jq -s '.[0] * .[1]' mach-index.json zig-index.json > index.json
|
||||||
|
|
||||||
# Build our new sources.json
|
# Build our new sources.json
|
||||||
cat index.json | jq '
|
cat index.json | jq '
|
||||||
|
@ -35,7 +39,7 @@ def toentry(vsn; x):
|
||||||
reduce to_entries[] as $entry ({}; . * (
|
reduce to_entries[] as $entry ({}; . * (
|
||||||
$entry | {
|
$entry | {
|
||||||
(.key): (
|
(.key): (
|
||||||
if (.key != "master") then
|
if (.key != "master" and .key != "mach-latest") then
|
||||||
toentry(.key; .value)
|
toentry(.key; .value)
|
||||||
else {
|
else {
|
||||||
"latest": toentry(.value.version; .value),
|
"latest": toentry(.value.version; .value),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue