summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 819eb1754439b3c4c4a0c19a5a347ed4b3515dd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Maintainer:  Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>

pkgname="zine"
pkgver=0.10.2
pkgrel=1
pkgdesc="Fast, Scalable, Flexible Static Site Generator (SSG)"
arch=('aarch64' 'x86_64')
url="https://zine-ssg.io"
_url="https://github.com/kristoff-it/${pkgname}"
license=('MIT')
depends=('glibc')
makedepends=('zig>=0.14')
_pkgsrc="${pkgname}-${pkgver}"
_zig_deps=(
  # zine
  "ziggy-8a29017169f43dc2c3526817e98142eb9a335087.tar.gz::https://github.com/kristoff-it/ziggy/archive/8a29017169f43dc2c3526817e98142eb9a335087.tar.gz"
  "zig-afl-kit-f003bfe714f2964c90939fdc940d5993190a66ec.tar.gz::https://github.com/kristoff-it/zig-afl-kit/archive/f003bfe714f2964c90939fdc940d5993190a66ec.tar.gz"
  "zig-lsp-kit-87ff3d537a0c852442e180137d9557711963802c.tar.gz::https://github.com/kristoff-it/zig-lsp-kit/archive/87ff3d537a0c852442e180137d9557711963802c.tar.gz"
  "scripty-57056571abcc6fe69fcb171c10b0c9e5962f53b0.tar.gz::https://github.com/kristoff-it/scripty/archive/57056571abcc6fe69fcb171c10b0c9e5962f53b0.tar.gz"
  "tracy-67d2d89e351048c76fc6d161e0ac09d8a831dc60.tar.gz::https://github.com/kristoff-it/tracy/archive/67d2d89e351048c76fc6d161e0ac09d8a831dc60.tar.gz"
  "mime-0b676643886b1e2f19cf11b4e15b028768708342.tar.gz::https://github.com/andrewrk/mime/archive/0b676643886b1e2f19cf11b4e15b028768708342.tar.gz"
  "zeit-52b100caa223d5cb1ff0d34f1b677f26e0ce8b84.tar.gz::https://github.com/rockorager/zeit/archive/52b100caa223d5cb1ff0d34f1b677f26e0ce8b84.tar.gz"
  "flow-syntax-d231728c92cb3c5a7139cb0d75a321a119b8e777.tar.gz::https://github.com/neurocyte/flow-syntax/archive/d231728c92cb3c5a7139cb0d75a321a119b8e777.tar.gz"
  "wuffs-818c8ad6607dd5c1ee571362fdb9813b744ee548.tar.gz::https://github.com/allyourcodebase/wuffs/archive/818c8ad6607dd5c1ee571362fdb9813b744ee548.tar.gz"
  "xcode-frameworks-8a1cfb373587ea4c9bb1468b7c986462d8d4e10e.tar.gz::https://github.com/hexops/xcode-frameworks/archive/8a1cfb373587ea4c9bb1468b7c986462d8d4e10e.tar.gz"
  "superhtml-16887e9fa3122c36a3d4942470e33c1c282fe859.tar.gz::https://github.com/kristoff-it/superhtml/archive/16887e9fa3122c36a3d4942470e33c1c282fe859.tar.gz"
  "supermd-48500784d7706eaba2d5e1a35332353aca3fc04e.tar.gz::https://github.com/kristoff-it/supermd/archive/48500784d7706eaba2d5e1a35332353aca3fc04e.tar.gz"

  # ziggy
  "known-folders-aa24df42183ad415d10bc0a33e6238c437fc0f59.tar.gz::https://github.com/ziglibs/known-folders/archive/aa24df42183ad415d10bc0a33e6238c437fc0f59.tar.gz"
  "zig-yaml-27f63d3d2d13ed228d8fc077635205e6c2a405c7.tar.gz::https://github.com/kubkon/zig-yaml/archive/27f63d3d2d13ed228d8fc077635205e6c2a405c7.tar.gz"
  # zig-afl-kit
  "AFLplusplus-032984eabf5a35af386a3d0e542df7686da339c1.tar.gz::https://github.com/allyourcodebase/AFLplusplus/archive/032984eabf5a35af386a3d0e542df7686da339c1.tar.gz"
  # zig-lsp-kit
  "diffz-ef45c00d655e5e40faf35afbbde81a1fa5ed7ffb.tar.gz::https://github.com/ziglibs/diffz/archive/ef45c00d655e5e40faf35afbbde81a1fa5ed7ffb.tar.gz"
  "zig-lsp-codegen-063a98c13a2293d8654086140813bdd1de6501bc.tar.gz::https://github.com/zigtools/zig-lsp-codegen/archive/063a98c13a2293d8654086140813bdd1de6501bc.tar.gz"
  # scripty
  "zig-afl-kit-1e9fcaa08361307d16a9bde82b4a7fd4560ce502.tar.gz::https://github.com/kristoff-it/zig-afl-kit/archive/1e9fcaa08361307d16a9bde82b4a7fd4560ce502.tar.gz"
  # flow-syntax
  "tree-sitter-86dd4d2536f2748c5b4ea0e1e70678039a569aac.tar.gz::https://github.com/neurocyte/tree-sitter/releases/download/master-86dd4d2536f2748c5b4ea0e1e70678039a569aac/source.tar.gz"
  #"tree-sitter.tar.gz::https://github.com/neurocyte/tree-sitter/releases/download/master-86dd4d2536f2748c5b4ea0e1e70678039a569aac/source.tar.gz"
  "cbor-1fccb83c70cd84e1dff57cc53f7db8fb99909a94.tar.gz::https://github.com/neurocyte/cbor/archive/1fccb83c70cd84e1dff57cc53f7db8fb99909a94.tar.gz"
  # wuffs
  "wuffs-mirror-release-c-90e4d81a6a8b7b601e8e568da32a105d7f7705e5.tar.gz::https://github.com/google/wuffs-mirror-release-c/archive/90e4d81a6a8b7b601e8e568da32a105d7f7705e5.tar.gz"
  # supermd
  "cmark-gfm-675efb13f41f1dcaebfa0e9dc42d9b504e4b5508.tar.gz::https://github.com/kristoff-it/cmark-gfm/archive/675efb13f41f1dcaebfa0e9dc42d9b504e4b5508.tar.gz"
  "superhtml-bf6443fb272808b350d2e0399b8e66cc2427b4e6.tar.gz::https://github.com/kristoff-it/superhtml/archive/bf6443fb272808b350d2e0399b8e66cc2427b4e6.tar.gz"

  # AFLplusplus
  "AFLplusplus-4.21c.tar.gz::https://github.com/AFLplusplus/AFLplusplus/archive/refs/tags/v4.21c.tar.gz"
  # zig-afl-kit
  "AFLplusplus-73098eac7ec38baf978b0f22d17b283014fefe1c.tar.gz::https://github.com/allyourcodebase/AFLplusplus/archive/73098eac7ec38baf978b0f22d17b283014fefe1c.tar.gz"
)
# noextract=("${_zig_deps[@]%%::*}")
noextract=("tree-sitter-86dd4d2536f2748c5b4ea0e1e70678039a569aac.tar.gz")
source=("${_pkgsrc}.tar.gz::${_url}/archive/refs/tags/v${pkgver}.tar.gz"
        "${_pkgsrc}_aflplusplus_target_iswasm.patch"
        "${_pkgsrc}_zig014_zon.patch"
        "${_zig_deps[@]}")
b2sums=('f3d7f26faa5e111ca56ecc46e11c6eb794562fd8456928294614f9e2e7f482d607442a51187b35030feee201a4de0eb487fc1b92d98cf47c1f3b55fce2f5bcc0'
        '7aad5c2902d92639e989332c61e6a8b9fd7c214b7f3b454579dd5de3c19a90d6c62c8618425b804246e60992e88d8a2b1969d29c9927c6010169ab059313e902'
        '51da34f9d41b9ee2b5706b99a1bad35aefafdb1d72edf094b4efb59a392b5b5346f81ceebb3050b2f6c8c3e2bee7fc82d012ebae0785ea32dca68abeed426bea'
        'aa4226f1b36fdc9325546ff5138e8a1c9370cbeab66eec0218b77c864aa8bde5119898082a59b698b1f310f8a1186672f3bc1019b59ae00beb34eddeb1189715'
        '3eabc0667b34e9c889b44075a3b7b6b98f719462f69dabf86a69a2ed41e7518accc4e708f838c0a26c78930828029c53e2f0bf22a8c27b58ffece276652ea9f9'
        'f370f2b633185127ed01c0a27ebb9e50a89475d277944f1c04f36dc91cc088fadc9704eb6d5a100d234b0433723d22fd3b2925a74b47d31717733ac457bdf72a'
        'fe3c45e99312aca75ffb07c84206b37f5099590c7c215b15f41eb11738f27051fb8a191d0ab34773536d4e1b2e96e43049204f60676cde34b30669078934ea63'
        '5a97d4082003cc843551028cde0179d05c82d3a981769166a114dab542af5b511617e07dfb77da41171a49015c7fc068fa76d8452de6093c21a83158dc4a59c9'
        '7a093a8b3eda56b7f05f406e2c55d57dc1c775321ec559f4c4f8dab8841ab6f3c689020cb2c0302428992da48d1f79813a7ea01d9ec0235affcf61841ac3e570'
        'b2cdf311b6a7b0fc248483709def6a29ccebbbaca35d568712bbf5f9e82b0c847d9cbba6e424040bc7b265ce2924404cacc2f1667a6952a10876554f333dfbd8'
        'ad1d4f4c0780f28925206b590685c455331f5d12bf03bdaee2f9146cf1b18e0cd923139c6a05f8ab785a3c05dbee57310e09a8e58229388681bbce7de3849fb9'
        'dc126b16649e94b2151d1300a71afc11571ce1e6930d95fed4543b4dc31310320c923427a49032c6067ef3f33fc2ef267767b785e80e6927738742a4fb557f4e'
        '4cd650a055f84d1f37d47535f8a839cb1ed469cdce7f62aa2dc80fcd682f0b50dfa7128266153116c5952e381dac6b94fc1cccc64acb7d7201d670336568a20a'
        '5133d2b2fdc409f0b755f01feb800404b6aa0048763ff430e5ffdf646d2fd5498d7f2876f7e2daf6436e464b2ea8fb2d864b2c0acce8a6820b88bc219ab58308'
        '7704fee4469c489671c51270f937c0a729878421f2256558efe14c7981ecb9d5a8ab13efa30e5e3ff56647b888640b369ec8d24aea94aad5b76c4b03d6336a78'
        'c2d8a5062b1baf2868b4b6f58df9d065638a551c60bc7217a14e8395009a231603d2b2a8112fad7198ede43934f523c2b25654a54f89a088eabf72d23bd9b48d'
        'f53f2766fa1c959e0ccac5dff26160937d916cf426dd21001038db15bf6cbad88a00f17ed9c8acd11c2062e4043972ab551fb3a541d6384d7c030179a3f275a4'
        'd863e69e6ef2fff9a1623bf3fbf04825b27b5ff5396cb106c1a7a40d0795e2c010969ce4f4ffadb2d38644983c2160abd874313f27fd7279872c50f6249ba2f5'
        'a45402e3c452ec6b094886ecc7b356c1e8e4a39ebb56147681a9cb795f09c769ba4a4cbed6cdefe76843fc6c6ddbf9a180ab74134743e8e2990a18a0706c6b12'
        '6b00efb9e9a32a792f34549b99c6203450f5d2faa47c70a88f73bba31da495457d694f10eb21246c73255ee351dc51a56d249670edd06c2abc1f06d8412fbbc2'
        'a3d71e63663d1a0a3d60854ee9d2d5738fc2123b876fcb78e9215bffb50b02dc9a01a6b188e4fae66fcfbcef9418509da9fbf691894d47b7db8b5edad1f50641'
        'f3b04ef0b2d6ac6b9e79d4c80692c5a372a05bc4f30cbffee43e33dff12720f1e39180ef3318124d517b373a74639d55fb86ef65710276c99ea70acab7ee764c'
        '46e42eae3bd576a081f54a250f62bb46f563eee9e8b59b162ff87db89ff6b12543a35f0c02a857ddc7b888977f50d184fc5231a31d81fdf21a0096dda461573c'
        '5a2d52fe16ecc746d05e38623fd19a5c64d563e009b66f7333288a3f0b8ad5705b930c779ca9429769975c977aa17904a0c46c27e049e4566439c6a46fc75764'
        'f8890cc8efc54e21250fa0d8574b5f2473a2093ad61c1ca363147042635502a1c8bca6ceb43b72b08fe0a3352d63eff15e84655c5d891c4064d9cfa34a6c8649'
        '74d944836076728e3a519f8097d016c10beaf975f3cbb735d26b2f6f8dc1ee0223aee5a9f389531d8e96e1ca8f45cff23264bc3572538d66a99e1155857fb953'
        'c182260ba25a8a7a87b91ece5b3ea6aafba09b3361259361d9be24b7c5dd90430403a3170ed9397edaa714a45f62de26f324aab005a27a44fffce2708bb366e5'
        '5a7cc5c55858253da14bc94227efe450a7b90d2dfa238fbb30aa62c68c464fb213672f626e926413074c3f116d8eb71cc2f161f865c8ca4efdd65fba711ae9f7')
           
prepare() {
  cd "${srcdir}"
  mkdir -p tree-sitter-86dd4d2536f2748c5b4ea0e1e70678039a569aac
  bsdtar -xf tree-sitter-86dd4d2536f2748c5b4ea0e1e70678039a569aac.tar.gz --strip-components 1 -C tree-sitter-86dd4d2536f2748c5b4ea0e1e70678039a569aac

  patch -Np1 -i "${_pkgsrc}_aflplusplus_target_iswasm.patch"
  patch -Np1 -i "${_pkgsrc}_zig014_zon.patch"

  for dep in "${_zig_deps[@]}"; do
    zig fetch --global-cache-dir ./zig-global-cache "${dep%%\.tar\.gz::*}"
  done
}

build() {
  local zig_options=(
    --summary all
    --prefix /usr
    --search-prefix /usr
    --global-cache-dir "${srcdir}/zig-global-cache"
    --system "${srcdir}/zig-global-cache/p"
    --verbose
    -Dtarget=native-linux.6.1-gnu.2.41
    -Dcpu=baseline
    -Doptimize=ReleaseSafe
  )

  cd "${srcdir}/${_pkgsrc}"
  DESTDIR="build" zig build "${zig_options[@]}"
}

package() {
  cd "${srcdir}/${_pkgsrc}"
  cp -va build/* "${pkgdir}"

  install -vDm644 "README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"
  install -vDm644 "LICENSE"   "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

  find "${pkgdir}" -type f -name '*.zig' -delete
}