Compare commits
524 commits
0.0.0-alph
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
e8922e3074 | ||
|
420b1342a7 | ||
|
2423bb97ff | ||
|
d93ee32d37 | ||
|
bddb66e2b5 | ||
|
faa49ca42b | ||
|
5b3143c78a | ||
|
e720be2cc4 | ||
|
c51b212249 | ||
|
812ac0b356 | ||
|
0e8560d717 | ||
|
a341b3d9ba | ||
|
81b3b7eb7e | ||
|
f284766c8b | ||
|
ea117c1dc8 | ||
|
d80fa0f931 | ||
|
1b6733360f | ||
|
16a5b53b85 | ||
|
357b165cb1 | ||
|
f5a5840714 | ||
|
47c2233e4e | ||
|
09ab08e335 | ||
|
9fb7decc0a | ||
|
746d4af16a | ||
|
b450e4f01e | ||
|
34af7242ae | ||
|
a924e2bb41 | ||
|
27f8f32dc5 | ||
|
74d7e57319 | ||
|
fd7657e5af | ||
|
4f67771a2b | ||
|
25b5bd7b32 | ||
|
f155ccb2a8 | ||
|
c16d63a8e9 | ||
|
f08570a296 | ||
|
1d22ff8c45 | ||
|
4dc9b0c175 | ||
|
43f9c5535b | ||
|
208bbbe22b | ||
|
0f98f828a2 | ||
|
a2eec6b648 | ||
|
25a7e2c67b | ||
|
a3c01e7787 | ||
|
d8ba48c8fd | ||
|
969b87569e | ||
|
85bf643e8d | ||
|
424683162b | ||
|
4fe77a04d4 | ||
|
7e5efb935f | ||
|
f9839feeab | ||
|
bf36066fa8 | ||
|
92bacf2a17 | ||
|
3dc7073386 | ||
|
588963d7da | ||
|
c5604f0980 | ||
|
00a3eb18c7 | ||
|
ff3539eacc | ||
|
c9e09e92e0 | ||
|
7a2d99e044 | ||
|
1f6f51b9be | ||
|
8899af9d0e | ||
|
302a3e773a | ||
|
ac48f1b27c | ||
|
0651c95066 | ||
|
f0d49d6637 | ||
|
a7f17f70e6 | ||
|
d5206bb40e | ||
|
1e86166a8a | ||
|
ddc5fc6dff | ||
|
aca5f9d64c | ||
|
47841eb2da | ||
|
3309ea4e25 | ||
|
27a0ae453b | ||
|
3d8ff233dc | ||
|
4c80b29903 | ||
|
3934e0209b | ||
|
6826e06456 | ||
|
990e9371b7 | ||
|
7eac1789f7 | ||
|
43bef18e61 | ||
|
07764545d1 | ||
|
4fe1e5a8a7 | ||
|
631b9634ed | ||
|
b71e91c8b7 | ||
|
2af13914b9 | ||
|
069d504b0b | ||
|
bd66ced110 | ||
|
f48f0524a3 | ||
|
d343ecf55c | ||
|
c195af9916 | ||
|
a70c3b89a5 | ||
|
b4e372d713 | ||
|
76bef47f89 | ||
|
5187699314 | ||
|
93ee7edfa3 | ||
|
f81107394c | ||
|
ceebfddd34 | ||
|
1ae568f6a7 | ||
|
8581fbddc2 | ||
|
52e479ee9a | ||
|
1691d14260 | ||
|
6f81bab5c8 | ||
|
be930b1161 | ||
|
b6dc8fca26 | ||
|
f850f1a08e | ||
|
cff05c4fa6 | ||
|
c10ccb744d | ||
|
f282a514cd | ||
|
af3aacaebc | ||
|
629d1713eb | ||
|
31f1b45be6 | ||
|
3048367a7d | ||
|
cfb8c64e69 | ||
|
2bcdcf8183 | ||
|
85619cc189 | ||
|
6bd09efb05 | ||
|
517ce35a46 | ||
|
3dbb1496e3 | ||
|
14c970f831 | ||
|
bb4bedb615 | ||
|
c007731926 | ||
|
b344c59d4f | ||
|
af9e8fe900 | ||
|
c5f93c496e | ||
|
fb7ee2330b | ||
|
4de0af80de | ||
|
f0e77247b7 | ||
|
8a3779d207 | ||
|
513d7d5ceb | ||
|
b859e777d0 | ||
|
32d66a7f56 | ||
|
0fa4d5617c | ||
|
5c6531dc76 | ||
|
b3fa8f77d8 | ||
|
64ec36b51a | ||
|
1b869812b8 | ||
|
b2877c4179 | ||
|
44f3573897 | ||
|
fddec8071a | ||
|
28b6b47c23 | ||
|
41fc569409 | ||
|
815c729478 | ||
|
10cb00dca1 | ||
|
40ce59bed3 | ||
|
59eb971fbf | ||
|
7a53d74d6b | ||
|
223f33fb05 | ||
|
dbd979f86c | ||
|
58f0d1a3e5 | ||
|
7186587583 | ||
|
2b88699048 | ||
|
6a03423232 | ||
|
d84cf4da05 | ||
|
55ce7cece0 | ||
|
b710db0ade | ||
|
f0ce298beb | ||
|
4f387bcb0b | ||
|
879ade0254 | ||
|
927269cf2d | ||
|
d81558e5bd | ||
|
95b7b96c63 | ||
|
3ce664f0f2 | ||
|
c364bb1937 | ||
|
437ed9533a | ||
|
fc61c9354c | ||
|
43a359c58d | ||
|
52b51c90b8 | ||
|
31d9629111 | ||
|
e46f5d532a | ||
|
39a8ac0915 | ||
|
54390807a1 | ||
|
7488ce0293 | ||
|
d2235a7fc5 | ||
|
6d8649e736 | ||
|
94b93c2c7b | ||
|
685fe1f01b | ||
|
71b5f9a679 | ||
|
1ee2276f8c | ||
|
f5214b4bd5 | ||
|
9eed69a7ae | ||
|
ceb0f9bf61 | ||
|
bebc06c640 | ||
|
e52f1879ee | ||
|
e9b42da5bf | ||
|
7f18de5ebd | ||
|
5de8710490 | ||
|
78193cc7bd | ||
|
f6dc883c13 | ||
|
38fe5e4809 | ||
|
f18677f304 | ||
|
c5bca6fe45 | ||
|
b68a480e60 | ||
|
b6bf357c2e | ||
|
eec6e95767 | ||
|
18b397601d | ||
|
19ac0a9042 | ||
|
b6f279d346 | ||
|
e821f1af61 | ||
|
e0ecfd3071 | ||
|
64d1875926 | ||
|
f7d8864d91 | ||
|
cca79d57f1 | ||
|
111f998fe6 | ||
|
c1be13f67a | ||
|
87a0c74418 | ||
|
8e4455111a | ||
|
03fe192d95 | ||
|
d161a8f389 | ||
|
bb882a72a6 | ||
|
4875f10fa5 | ||
|
dec8a193c3 | ||
|
4113b098fe | ||
|
4819200984 | ||
|
59883fed2c | ||
|
151c673fbb | ||
|
bb1f3b2c15 | ||
|
20445fc782 | ||
|
c08e70d5c1 | ||
|
cc3be42a8c | ||
|
7ce3e44f46 | ||
|
dac0e1a5e5 | ||
|
20b9ffbfd8 | ||
|
a644fe8127 | ||
|
6833d5249c | ||
|
0722b6d58c | ||
|
7abb2d4646 | ||
|
c59cbaa1c8 | ||
|
5225818a6e | ||
|
d4572871e5 | ||
|
ec0e9c18f8 | ||
|
0296395ce2 | ||
|
95a518736e | ||
|
685214107f | ||
|
2258e2657d | ||
|
ce0f7937d2 | ||
|
94dd287d27 | ||
|
9ceb5a4d88 | ||
|
cabdc07954 | ||
|
0d31e36918 | ||
|
d00657f039 | ||
|
f75567a365 | ||
|
de78135599 | ||
|
f045e3dc5c | ||
|
c2488b2c57 | ||
|
fb250befe8 | ||
|
1118b80341 | ||
|
26afa3190f | ||
|
a675f81f88 | ||
|
50835c75ce | ||
|
ddd1ab85ea | ||
|
1c81d44858 | ||
|
7791190760 | ||
|
b9c06d8127 | ||
|
53ba9651d8 | ||
|
ba57a8f982 | ||
|
9dc682bee3 | ||
|
3a1e88c202 | ||
|
14a4ca1937 | ||
|
550c78e460 | ||
|
02db0b15a6 | ||
|
cb3360340b | ||
|
33e27a4c9c | ||
|
194dfde2d3 | ||
|
21db1a7915 | ||
|
6d65df8cb6 | ||
|
446f7bd8e7 | ||
|
1461a8f981 | ||
|
a652de4c6c | ||
|
bf288a1019 | ||
|
cf636ba891 | ||
|
acfcd56dfe | ||
|
5242121840 | ||
|
0f45579aea | ||
|
5ea842eb26 | ||
|
fbc445b4a9 | ||
|
4c60a8cf82 | ||
|
958b7f0640 | ||
|
00c226d90e | ||
|
3820aa5604 | ||
|
3e417d7788 | ||
|
a176f5879d | ||
|
43bcff2ab3 | ||
|
47d0cf2ec8 | ||
|
5bdef5032d | ||
|
7f996db826 | ||
|
3255cbd2b0 | ||
|
21eebdb14f | ||
|
76e9750ee8 | ||
|
c071af7965 | ||
|
be0f5b3775 | ||
|
477359c180 | ||
|
b49408406b | ||
|
ed30e5c98b | ||
|
0b3fbb4c35 | ||
|
25e86ce9d6 | ||
|
63672bc731 | ||
|
2e949cd90f | ||
|
e50e16da75 | ||
|
65d8e1f6d2 | ||
|
cbbf032021 | ||
|
ece7ecab26 | ||
|
a44930ad28 | ||
|
09e1981a2b | ||
|
1baef94125 | ||
|
da5eeecf6f | ||
|
4161b09f40 | ||
|
d6e6298d70 | ||
|
e1d9f7cae4 | ||
|
ac86355b81 | ||
|
be1419e51a | ||
|
3596ce32ec | ||
|
2dfa59a423 | ||
|
70132cdae8 | ||
|
c70baf31f8 | ||
|
646e441078 | ||
|
0568550a7a | ||
|
eb7df4e1d2 | ||
|
2f236e6c10 | ||
|
25f4372d9c | ||
|
6ca4ad4d8a | ||
|
63a64d7e7d | ||
|
a248d8321a | ||
|
958e3f04ec | ||
|
6b0f61efb9 | ||
|
b55500afa1 | ||
|
5eb1ab99c6 | ||
|
2d537e8494 | ||
|
3d41e0f06a | ||
|
47ec406d7f | ||
|
5ca93ce42d | ||
|
699d917491 | ||
|
e8eeb60196 | ||
|
89c56f6ef1 | ||
|
a3e6131436 | ||
|
d5f812c72a | ||
|
2a53059a34 | ||
|
999c4bd350 | ||
|
df548c4eca | ||
|
7bbc6b3a82 | ||
|
74589f40a4 | ||
|
77a16b3760 | ||
|
4c91e0af35 | ||
|
9604e785a0 | ||
|
ca3511593b | ||
|
94ba1e7a44 | ||
|
0fd644ce98 | ||
|
9bbb20c7ba | ||
|
790338bc2e | ||
|
56b065f63e | ||
|
3e1b97ea71 | ||
|
74ea2f2ad3 | ||
|
36d573745d | ||
|
970ea16ca3 | ||
|
c14f3de6d0 | ||
|
f46358d7bd | ||
|
14eca3078c | ||
|
891df5eacc | ||
|
19e818dae9 | ||
|
d4a927cb22 | ||
|
9a3667b66b | ||
|
5810de9b52 | ||
|
73c1faf641 | ||
|
78c77c8c11 | ||
|
37fd842bfd | ||
|
55c1f73d86 | ||
|
e8bbc7069c | ||
|
31cb1d50a6 | ||
|
6dabada74d | ||
|
8f13ffd9f1 | ||
|
081b9378c1 | ||
|
015ec48c73 | ||
|
1cf9b0af34 | ||
|
626071e635 | ||
|
78cd5e5079 | ||
|
dafb2394b8 | ||
|
71b4644ec0 | ||
|
030af0be13 | ||
|
8d8cbc593c | ||
|
91d4210763 | ||
|
21eb616ceb | ||
|
df3c282f42 | ||
|
a55e2671b8 | ||
|
4e68361184 | ||
|
46d1049a13 | ||
|
de3e5322aa | ||
|
0c0a0c9f90 | ||
|
abaaf147ab | ||
|
91ed203f60 | ||
|
5e2dcbb4e5 | ||
|
c11f6761d6 | ||
|
665e600e19 | ||
|
3299a5aa34 | ||
|
499848b2a4 | ||
|
13eee962a8 | ||
|
c619015a49 | ||
|
73a867c29e | ||
|
5b83ee5c80 | ||
|
09425da1b0 | ||
|
dfecee312f | ||
|
87b58205a6 | ||
|
31d0732a36 | ||
|
3e0992c3ce | ||
|
993c3adf6c | ||
|
bdaa75904a | ||
|
6996c42f0d | ||
|
bcb0c85d91 | ||
|
3520b62d25 | ||
|
91b0d32e32 | ||
|
375ad77edb | ||
|
efb5be7acf | ||
|
2800f7d613 | ||
|
33de5a2b93 | ||
|
3194de6c06 | ||
|
3d3a575032 | ||
|
fb8578593e | ||
|
ebcdd18866 | ||
|
9f80fe89d3 | ||
|
f0b50cf978 | ||
|
f4c7d71e40 | ||
|
8d8cf195bd | ||
|
f772cfd434 | ||
|
a16ad10c47 | ||
|
35b5baef6f | ||
|
61e95f0bf6 | ||
|
5fc4bc88ff | ||
|
287719d320 | ||
|
18da6658d2 | ||
|
f714464e34 | ||
|
72c2758136 | ||
|
dd30140492 | ||
|
b8e911ec3b | ||
|
262d3d8d42 | ||
|
0ada838249 | ||
|
bb4afc18c9 | ||
|
f5bf272992 | ||
|
54cc091673 | ||
|
31b7e114ca | ||
|
7780e311d8 | ||
|
39b9430cf8 | ||
|
b0824a051b | ||
|
30bb741143 | ||
|
29afdfc83d | ||
|
1dbcb41aab | ||
|
26f6458750 | ||
|
fb90077c58 | ||
|
c9a12c86c4 | ||
|
e92ccd7de5 | ||
|
d9f7d3c2e8 | ||
|
80cf076806 | ||
|
f1b5d615ea | ||
|
c9fe261560 | ||
|
d9cc56c6a0 | ||
|
d789835fa3 | ||
|
3dc6a96584 | ||
|
0c7f72de8a | ||
|
e6adc6ff76 | ||
|
d655cf87a9 | ||
|
58954c1a5e | ||
|
7c0fa83de8 | ||
|
dfdf3b3520 | ||
|
6906cc95e6 | ||
|
649b66265b | ||
|
899db77c8e | ||
|
bd69bf93ab | ||
|
18bb7ee1a9 | ||
|
f2b55321fb | ||
|
9f9fded8e9 | ||
|
3aec5e92ec | ||
|
674a26f2fa | ||
|
72a3dbf39c | ||
|
122c5d8a8a | ||
|
e1b7034146 | ||
|
c2beee39ca | ||
|
0cf277cfae | ||
|
fad3d36fa6 | ||
|
22bf298057 | ||
|
db5da3eaa6 | ||
|
2c9a387620 | ||
|
920bcb07ef | ||
|
ac7776a449 | ||
|
ba4f0f2500 | ||
|
cdacf16826 | ||
|
2e06ba4be0 | ||
|
d39936edde | ||
|
1b831f88fd | ||
|
e4ad719886 | ||
|
de84485260 | ||
|
b5f20ad5cb | ||
|
89caa8b7c9 | ||
|
4848e542d3 | ||
|
754ee5d0a9 | ||
|
9342ff839d | ||
|
e2dcf71e39 | ||
|
7d0753f501 | ||
|
b652640657 | ||
|
9c865d4958 | ||
|
6172c74c4f | ||
|
605a0d7e56 | ||
|
c89aa236bd | ||
|
872362f202 | ||
|
04042c4108 | ||
|
bbd6a84a3f | ||
|
0736d58ac7 | ||
|
c9d80e8fab | ||
|
bba90fba2e | ||
|
0c02c92c8a | ||
|
e96b193f01 | ||
|
e1d10e44fe | ||
|
0e6dc6fa43 | ||
|
afaf3f306c | ||
|
ef04d2a079 | ||
|
eef865de62 | ||
|
93055230fe | ||
|
4eb7ec623a | ||
|
71a9af0b96 | ||
|
74bc23f853 | ||
|
27cb7ab164 | ||
|
71e71c1978 | ||
|
09e680bfa3 | ||
|
a111e7a454 | ||
|
f69c804de8 | ||
|
7ef735574d | ||
|
422942d6d7 | ||
|
9554174f21 |
375 changed files with 15027 additions and 5597 deletions
8
.editorconfig
Normal file
8
.editorconfig
Normal file
|
@ -0,0 +1,8 @@
|
|||
root = true
|
||||
[*]
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{c,h,sh}]
|
||||
indent_style = tab
|
||||
tab_width = 4
|
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -2,3 +2,8 @@ src/
|
|||
out/
|
||||
pkgs/*/src
|
||||
pkgs/*/out
|
||||
isoroot
|
||||
isoout
|
||||
fdiskscript
|
||||
diskroot
|
||||
*.img
|
||||
|
|
70
INSTALL.md
Normal file
70
INSTALL.md
Normal file
|
@ -0,0 +1,70 @@
|
|||
# Iglunix Installation Guide
|
||||
|
||||
## Getting an installation image
|
||||
There are two ways of getting hold of an install image: From the releases tab on
|
||||
GitHub and with [iglunix-autobuild](https://github.com/iglunix/iglunix-autobuild).
|
||||
|
||||
### Using Autobuild
|
||||
```
|
||||
git clone https://github.com/iglunix/iglunix-autobuild
|
||||
cd iglunix-autobuild
|
||||
./autobuild.sh
|
||||
./chroot.sh
|
||||
./img.sh
|
||||
```
|
||||
|
||||
### Writing the image
|
||||
Write the image to a USB to boot on the target computer.
|
||||
Make sure to triple check which disk you're writing to.
|
||||
```
|
||||
dd if=build/iglunix.img of=/dev/sdX bs=64M
|
||||
```
|
||||
|
||||
## Disk Partitioning
|
||||
Iglunix recommends a two partition layout with an MBR partition table, a FAT
|
||||
formatted boot partition and an EXT4 formated root partition. The following
|
||||
is a guide on how to do it where `/dev/disk` is the target install disk.
|
||||
```
|
||||
fdisk /dev/disk
|
||||
>o
|
||||
>n
|
||||
>p
|
||||
>1
|
||||
>2048
|
||||
>+512M
|
||||
>t
|
||||
>ef
|
||||
>n
|
||||
>p
|
||||
>2
|
||||
>
|
||||
>
|
||||
>w
|
||||
|
||||
mkfs.vfat -n BOOT /dev/disk1
|
||||
mkfs.ext4 -L ROOT /dev/disk2
|
||||
mkdir /install_root
|
||||
mount /dev/disk2 /install_root
|
||||
mkdir /install_root/boot
|
||||
mount /dev/disk1 /install_root/boot
|
||||
```
|
||||
|
||||
## Extracting Packages
|
||||
For any packages you want to install
|
||||
```
|
||||
tar -I zstd -xf /mnt/<pkgname>.<pkgver>.tar.zst -C /install_root
|
||||
```
|
||||
|
||||
## The init system
|
||||
Use https://github.com/iglunix/iglunix/tree/main/init not https://github.com/iglunix/init
|
||||
|
||||
## Installing Bootloaders
|
||||
|
||||
```
|
||||
limine-deploy /dev/disk
|
||||
cp /usr/share/limine/limine.sys /install_root/boot
|
||||
# If the oslo package wasn't installed earlier and you want UEFI support
|
||||
cp /usr/share/limine/BOOTX64.EFI /install_root/boot/efi/boot/bootx64.efi
|
||||
```
|
||||
Edit `/install_root/boot/efi/oslo/entries.ini` and `/install_root/boot/limine.cfg`
|
||||
accordingly
|
97
README.md
97
README.md
|
@ -1,44 +1,67 @@
|
|||
# lazybox
|
||||
# [Iglunix](https://iglunix.xyz/)
|
||||
Unix like software distribution with no GNU components
|
||||
|
||||
All build scripts are 0BSD Licensed.
|
||||
|
||||
To create an ISO from a non-iglunix OS please see https://github.com/iglunix/iglunix-autobuild
|
||||
|
||||
## TODO
|
||||
- Switch to different file system layout (follow standard)
|
||||
- Switch to making single utilities with busybox and toybox
|
||||
- LLVM (Work out how to split packages)
|
||||
- LLVM Sort out the symlinking madness
|
||||
- Linux kernel (no perl patch, byacc patch)
|
||||
- FreeBSD Kernel (bootloader?, syslinux should support it)
|
||||
- FreeBSD libc? Standalone build how? (rly need LLVM libc)
|
||||
- Init system ( paralel shit and dependencies )
|
||||
- QEMU for multiarch
|
||||
## Is this GNU/Linux
|
||||
No, GNU currently contributes roughly 10 MiB of code in the base system whilst,
|
||||
LLVM and Linux both contribute approximately 1 GiB each. Instead we suggest that
|
||||
one should refer to Igluinx running on the Linux kernel as LLVM/Musl/Linux.
|
||||
LLVM and Linux because they are the two largest packages and make up the
|
||||
majority of the base system, and Musl to be explicit about the C library,
|
||||
target triple and to differentiate it from any system using LLVM's libc
|
||||
(which will may very well likely use in the future).
|
||||
|
||||
## New File System Layout
|
||||
__**NO LIB64 or LIB32**__
|
||||
```
|
||||
/bin
|
||||
/boot
|
||||
/dev
|
||||
/etc
|
||||
/home
|
||||
/lib
|
||||
/mnt
|
||||
/opt
|
||||
/proc
|
||||
/root
|
||||
/run
|
||||
/sbin
|
||||
/srv
|
||||
/sys
|
||||
/tmp
|
||||
/usr
|
||||
|--/bin
|
||||
|--/include
|
||||
|--/lib
|
||||
|--<arch>-linux-musl => .
|
||||
|--aarch64-linux-musl
|
||||
## Instalation
|
||||
See [INSTALL.md](INSTALL.md)
|
||||
|
||||
/var
|
||||
```
|
||||
## Discord
|
||||
Join us at [link](https://discord.gg/NKB9qD2bMx)
|
||||
|
||||
<!--
|
||||
## Status of Other Kernels
|
||||
|
||||
### FreeBSD
|
||||
FreeBSD has solid upstream LLVM support which would make it ideal for iglunix.
|
||||
However, I haven't been successful at building the required parts of the base
|
||||
system.
|
||||
|
||||
### OpenBSD
|
||||
Iglunix has been tested to work on OpenBSD. (don't forget to symlink `libc.so`
|
||||
otherwise the toolchain breaks).
|
||||
|
||||
### Darwin
|
||||
I have found no easy way of building libc on Darwin platforms as on yet.
|
||||
Because of this I haven't got far at all porting Iglunix to Darwin
|
||||
based systems such as MacOS and PureDarwin.
|
||||
-->
|
||||
|
||||
## Web Browsers
|
||||
Iglunix has Firefox ESR packaged requiring 2 extra GNU packages: `gm4` and
|
||||
`autoconf`. Iglunix may switch to using a patched version of webkit gtk with
|
||||
openssl and maybe ffmpeg replacing gstreamer.
|
||||
|
||||
## Replacements LUT
|
||||
|
||||
|standard tool | iglunix tool | use |
|
||||
|--------------|--------------------|----------------------------------|
|
||||
|glibc | musl | libc |
|
||||
|glibc | libexecinfo | Backtrace functions |
|
||||
|libstdc++ | libc++ | C++ standard library |
|
||||
|libgcc | libunwind | Stack unwinding |
|
||||
|libgcc | compiler-rt | Compiler builtins |
|
||||
|bison | byacc | POSIX yacc |
|
||||
|coreutils | toybox+busybox | POSIX utilities |
|
||||
|gcc | clang | C++ compiler |
|
||||
|zlib | zlib-ng | Compression library |
|
||||
|gmake | bmake, others | POSIX Make implementation |
|
||||
|ninja | samurai | Ninja build implementation |
|
||||
|GNU M4 | OpenBSD M4 | POSIX M4 implementation |
|
||||
|ncurses | netbsd-curses | X/Open Curses implementation |
|
||||
|bash | mksh | Shell |
|
||||
|Linux PAM | Open PAM | Pluggable Authentication Modules |
|
||||
|sudo | doas | Privilege escalation |
|
||||
|pkg-config | pkgconf | Package configuration tool |
|
||||
|e2fsprogs | make_ext4fs | Make an ext4 file system |
|
||||
|
|
7
bad/README.md
Normal file
7
bad/README.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Bad Packages
|
||||
Bad packages are packages included that we want
|
||||
to remove our dependency on. All of these packages
|
||||
should eventually be removed.
|
||||
|
||||
- `autoconf` is required for building `firefox`
|
||||
- `gmake` is required for building a number of packages
|
23
bad/autoconf/autoconf.sh.patch
Normal file
23
bad/autoconf/autoconf.sh.patch
Normal file
|
@ -0,0 +1,23 @@
|
|||
--- a/autoconf.sh
|
||||
+++ b/autoconf.sh
|
||||
@@ -115,13 +115,14 @@
|
||||
# Use the frozen version of Autoconf if available.
|
||||
r= f=
|
||||
# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
|
||||
-case `$M4 --help < /dev/null 2>&1` in
|
||||
-*reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
|
||||
-*traditional*) ;;
|
||||
-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
|
||||
-esac
|
||||
+# case `$M4 --help < /dev/null 2>&1` in
|
||||
+# *reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
|
||||
+# *traditional*) ;;
|
||||
+# *) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
|
||||
+# esac
|
||||
|
||||
-$M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
|
||||
+# $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
|
||||
+$M4 -g -D__GNU__ -I$AC_MACRODIR $use_localdir autoconf.m4 $infile -> $tmpout ||
|
||||
{ rm -f $tmpin $tmpout; exit 2; }
|
||||
|
||||
# You could add your own prefixes to pattern if you wanted to check for
|
11
bad/autoconf/autoheader.sh.patch
Normal file
11
bad/autoconf/autoheader.sh.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- autoconf-2.13/autoheader.sh
|
||||
+++ old/autoheader.sh
|
||||
@@ -122,7 +122,7 @@
|
||||
# Extract assignments of SYMS, TYPES, FUNCS, HEADERS, and LIBS from the
|
||||
# modified autoconf processing of the input file. The sed hair is
|
||||
# necessary to win for multi-line macro invocations.
|
||||
-eval "`$M4 -I$AC_MACRODIR $use_localdir $r autoheader.m4$f $infile |
|
||||
+eval "`$M4 -g -D__gnu__ -I$AC_MACRODIR $use_localdir autoheader.m4 $infile |
|
||||
sed -n -e '
|
||||
: again
|
||||
/^@@@.*@@@$/s/^@@@\(.*\)@@@$/\1/p
|
31
bad/autoconf/build.sh
Normal file
31
bad/autoconf/build.sh
Normal file
|
@ -0,0 +1,31 @@
|
|||
pkgname=autoconf
|
||||
pkgver=2.13
|
||||
|
||||
fetch() {
|
||||
curl "https://ftp.gnu.org/gnu/autoconf/autoconf-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
cd $pkgname-$pkgver
|
||||
patch -p1 < ../../makefile-m4f.patch
|
||||
patch -p1 < ../../autoconf.sh.patch
|
||||
patch -p1 < ../../autoheader.sh.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr/bad/autoconf/ \
|
||||
--build=$TRIPLE \
|
||||
--host=$TRIPLE
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
70
bad/autoconf/makefile-m4f.patch
Normal file
70
bad/autoconf/makefile-m4f.patch
Normal file
|
@ -0,0 +1,70 @@
|
|||
--- src/autoconf-2.13/Makefile.in
|
||||
+++ Makefile.in
|
||||
@@ -33,8 +33,8 @@
|
||||
# Programs that are ALWAYS installed (and are created in the build dir).
|
||||
ASCRIPTS = autoconf autoheader autoreconf autoupdate ifnames
|
||||
|
||||
-# M4 input that is frozen.
|
||||
-M4FROZEN = autoconf.m4f autoheader.m4f
|
||||
+# Don't freeze anything with OpenBSD m4
|
||||
+M4FROZEN =
|
||||
|
||||
# All programs, including those only installed if you have perl.
|
||||
SCRIPTS = $(ASCRIPTS) @SCRIPTS@
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -137,23 +137,23 @@
|
||||
cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
|
||||
|
||||
installdirs:
|
||||
- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
|
||||
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(acdatadir)
|
||||
|
||||
install: all $(M4FILES) acconfig.h installdirs install-info
|
||||
for p in $(ASCRIPTS); do \
|
||||
- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
+ $(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
done
|
||||
for i in $(M4FROZEN); do \
|
||||
- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \
|
||||
+ $(INSTALL_DATA) $$i $(DESTDIR)/$(acdatadir)/$$i; \
|
||||
done
|
||||
for i in $(M4FILES) acconfig.h; do \
|
||||
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
|
||||
+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \
|
||||
done
|
||||
-if test -f autoscan; then \
|
||||
- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
|
||||
+ $(INSTALL_PROGRAM) autoscan $(DESTDIR)/$(bindir)/`echo autoscan|sed '$(transform)'`; \
|
||||
for i in acfunctions acheaders acidentifiers acprograms \
|
||||
acmakevars; do \
|
||||
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
|
||||
+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \
|
||||
done; \
|
||||
else :; fi
|
||||
|
||||
@@ -161,11 +161,11 @@
|
||||
install-info: info installdirs
|
||||
if test -f autoconf.info; then \
|
||||
for i in *.info*; do \
|
||||
- $(INSTALL_DATA) $$i $(infodir)/$$i; \
|
||||
+ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \
|
||||
done; \
|
||||
else \
|
||||
for i in $(srcdir)/*.info*; do \
|
||||
- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
|
||||
+ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -139,7 +139,7 @@
|
||||
installdirs:
|
||||
$(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(infodir) $(DESTDIR)/$(acdatadir)
|
||||
|
||||
-install: all $(M4FILES) acconfig.h installdirs install-info
|
||||
+install: all $(M4FILES) acconfig.h installdirs
|
||||
for p in $(ASCRIPTS); do \
|
||||
$(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
done
|
28
bad/bad/build.sh
Normal file
28
bad/bad/build.sh
Normal file
|
@ -0,0 +1,28 @@
|
|||
pkgname=bad
|
||||
pkgver=main
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/iglunix/bad/archive/refs/heads/main.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
[ -z "$WITH_CROSS" ] || export CFLAGS="$CFLAGS --target=$TRIPLE --sysroot=$WITH_CROSS_DIR"
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir PREFIX=/usr
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
31
bad/gm4/build.sh
Normal file
31
bad/gm4/build.sh
Normal file
|
@ -0,0 +1,31 @@
|
|||
pkgname=gm4
|
||||
pkgver=1.4.19
|
||||
|
||||
fetch() {
|
||||
curl "http://ftp.gnu.org/pub/gnu/m4/m4-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mv m4-$pkgver gm4-$pkgver
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=$TRIPLE \
|
||||
--program-prefix=g \
|
||||
--host=$TRIPLE \
|
||||
--disable-nls
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
54
bad/gmake/build.sh
Normal file
54
bad/gmake/build.sh
Normal file
|
@ -0,0 +1,54 @@
|
|||
pkgver=4.3
|
||||
pkgname=gmake
|
||||
pkgrel=1
|
||||
deps="musl"
|
||||
bad="gmake"
|
||||
ext="doc:dev"
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl "https://ftp.gnu.org/gnu/make/make-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
mv make-$pkgver $pkgname-$pkgver
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr/bad/gmake \
|
||||
--program-prefix=g \
|
||||
--disable-nls \
|
||||
--build=$HOST_TRIPLE \
|
||||
--host=$TRIPLE
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
rm -r $pkgdir/usr/bad/gmake/share
|
||||
rm -r $pkgdir/usr/bad/gmake/include
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESDIR=$pkgdir
|
||||
rm -r $pkgdir/usr/bad/gmake/bin
|
||||
rm -r $pkgdir/usr/bad/gmake/share/info
|
||||
rm -r $pkgdir/usr/bad/gmake/include
|
||||
}
|
||||
package_dev() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
rm -r $pkgdir/usr/bad/gmake/bin
|
||||
rm -r $pkgdir/usr/bad/gmake/share
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
3
base/README.md
Normal file
3
base/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Base Packages
|
||||
These packages make up the base Iglunix system and are
|
||||
included in all kernels
|
37
base/bmake/build.sh
Normal file
37
base/bmake/build.sh
Normal file
|
@ -0,0 +1,37 @@
|
|||
pkgver=20220303
|
||||
pkgname=bmake
|
||||
mkdeps=""
|
||||
deps=""
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl http://www.crufty.net/ftp/pub/sjg/bmake-$pkgver.tar.gz -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
mv $pkgname $pkgname-$pkgver
|
||||
cd $pkgname-$pkgver
|
||||
patch ./boot-strap < ../../no-test.patch
|
||||
patch ./install-sh < ../../install.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure --prefix=/usr --with-default-sys-path=/usr/share/mk --build=$HOST_TRIPLE --host=$ARCH-linux-musl --with-machine-arch=$ARCH
|
||||
MANTARGET=man sh ./make-bootstrap.sh
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bmake -m ./mk install -f Makefile DESTDIR=$pkgdir MANTARGET=man prefix=/usr/ BINDIR=/usr/bin
|
||||
ln -s bmake $pkgdir/usr/bin/make
|
||||
rm -rf $pkgdir/usr/share/man/cat1
|
||||
install -Dm644 ./bmake.1 $pkgdir/usr/share/man/man1
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
11
base/bmake/no-test.patch
Normal file
11
base/bmake/no-test.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/boot-strap
|
||||
+++ b/boot-strap
|
||||
@@ -420,7 +420,7 @@
|
||||
|
||||
op_test() {
|
||||
[ -x bmake ] || op_build
|
||||
- Bmake test "$@" || exit 1
|
||||
+ #Bmake test "$@" || exit 1
|
||||
}
|
||||
|
||||
op_clean() {
|
40
base/byacc/build.sh
Normal file
40
base/byacc/build.sh
Normal file
|
@ -0,0 +1,40 @@
|
|||
pkgver=20220128
|
||||
pkgname=byacc
|
||||
deps="musl"
|
||||
mkdeps="bmake"
|
||||
bad=""
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl "ftp://ftp.invisible-island.net/byacc/byacc-$pkgver.tgz" -O
|
||||
tar -xf $pkgname-$pkgver.tgz
|
||||
# Merged upstream; Don't need
|
||||
# cp ../reader-mesa.patch .
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--program-prefix=b \
|
||||
--enable-btyacc \
|
||||
--build=$HOST_TRIPLE \
|
||||
--host=$TRIPLE
|
||||
# patch -p1 < ../reader-mesa.patch
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
ln -sr $pkgdir/usr/bin/byacc $pkgdir/usr/bin/yacc
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
11
base/byacc/reader-mesa.patch
Normal file
11
base/byacc/reader-mesa.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/reader.c
|
||||
+++ b/reader.c
|
||||
@@ -902,7 +902,7 @@
|
||||
|
||||
if (!lflag)
|
||||
fprintf(text_file, line_format, lineno, input_file_name);
|
||||
- puts_both("typedef union");
|
||||
+ puts_both("typedef union YYSTYPE");
|
||||
|
||||
depth = 0;
|
||||
loop:
|
59
base/cmake/build.sh
Normal file
59
base/cmake/build.sh
Normal file
|
@ -0,0 +1,59 @@
|
|||
pkgver=3.23.1
|
||||
pkgname=cmake
|
||||
pkgrel=1
|
||||
mkdeps="samurai"
|
||||
deps=""
|
||||
bad=""
|
||||
ext=""
|
||||
|
||||
fetch() {
|
||||
curl "https://cmake.org/files/v3.23/cmake-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
if [ -z "$WITH_CROSS" ]; then
|
||||
./bootstrap \
|
||||
--prefix=/usr \
|
||||
--mandir=/share/man \
|
||||
--datadir=/share/$pkgname \
|
||||
--docdir=/share/doc/$pkgname \
|
||||
--generator=Ninja \
|
||||
--no-system-libs
|
||||
else
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G Ninja .. \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_SYSTEM_NAME=Linux \
|
||||
-DCMAKE_SYSROOT=$WITH_CROSS_DIR \
|
||||
-DCMAKE_C_COMPILER_TARGET=$TRIPLE \
|
||||
-DCMAKE_CXX_COMPILER_TARGET=$TRIPLE \
|
||||
-DCMAKE_ASM_COMPILER_TARGET=$TRIPLE \
|
||||
-DHAVE_POLL_FINE_EXITCODE=OFF \
|
||||
-DHAVE_POLL_FINE_EXITCODE__TRYRUN_OUTPUT=OFF \
|
||||
-DCMAKE_PREFIX_PATH=$WITH_CROSS_DIR \
|
||||
-DBUILD_CursesDialog=OFF
|
||||
fi
|
||||
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
if [ ! -z "$WITH_CROSS" ]; then
|
||||
cd build
|
||||
fi
|
||||
DESTDIR=$pkgdir samu install
|
||||
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat Copyright.txt
|
||||
}
|
71
base/compiler-rt/build.sh
Normal file
71
base/compiler-rt/build.sh
Normal file
|
@ -0,0 +1,71 @@
|
|||
pkgname=compiler-rt
|
||||
pkgver=14.0.1
|
||||
deps=linux
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/compiler-rt-$pkgver.src.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
# for c++ headers
|
||||
# curl -L "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/libcxx-$pkgver.src.tar.xz" -o libcxx-$pkgver.tar.xz
|
||||
# musl required for C headers
|
||||
curl -O "http://musl.libc.org/releases/musl-1.2.2.tar.gz"
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mv $pkgname-$pkgver.src $pkgname-$pkgver
|
||||
# tar -xf libcxx-$pkgver.tar.xz
|
||||
# mv libcxx-$pkgver.src libcxx-$pkgver
|
||||
# cp ../__config_site libcxx-$pkgver/include
|
||||
mkdir $pkgname-$pkgver/build
|
||||
tar -xf musl-1.2.2.tar.gz
|
||||
cd musl-1.2.2
|
||||
CFLAGS="--sysroot=/usr/$ARCH-linux-musl --target=$TRIPLE" ./configure --prefix=$(pwd)/../libc --target=$TRIPLE
|
||||
bad --gmake gmake install-headers
|
||||
}
|
||||
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
cmake -G Ninja ../ \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/lib/clang/$pkgver/ \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib \
|
||||
-DCMAKE_C_COMPILER_TARGET=$TRIPLE \
|
||||
-DCMAKE_CXX_COMPILER_TARGET=$TRIPLE \
|
||||
-DCMAKE_ASM_COMPILER_TARGET=$TRIPLE \
|
||||
-DCMAKE_C_COMPILER_WORKS=ON \
|
||||
-DCMAKE_CXX_COMPILER_WORKS=ON \
|
||||
-DCMAKE_SYSROOT=/usr/$ARCH-linux-musl \
|
||||
-DCMAKE_C_FLAGS_INIT="-I $(pwd)/../../libc/include " \
|
||||
-DCMAKE_C_FLAGS="-I $(pwd)/../../libc/include" \
|
||||
-DCMAKE_CXX_FLAGS_INIT="-I $(pwd)/../../libc/include" \
|
||||
-DCMAKE_CXX_FLAGS="-I $(pwd)/../../libc/include" \
|
||||
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=OFF \
|
||||
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=OFF \
|
||||
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
|
||||
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \
|
||||
-DCOMPILER_RT_BUILD_XRAY=OFF \
|
||||
-DCOMPILER_RT_BUILD_MEMPROF=OFF \
|
||||
-DCOMPILER_RT_BUILD_ORC=OFF \
|
||||
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
|
||||
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
|
||||
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
|
||||
-DCOMPILER_RT_BUILD_PROFILE=OFF \
|
||||
-DCAN_TARGET_$ARCH=ON \
|
||||
-DCMAKE_SIZEOF_VOID_P=8
|
||||
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE.TXT
|
||||
}
|
36
base/curl/build.sh
Normal file
36
base/curl/build.sh
Normal file
|
@ -0,0 +1,36 @@
|
|||
pkgver=7.81.0
|
||||
pkg_ver=$(echo $pkgver | tr '.' '_')
|
||||
pkgname=curl
|
||||
pkgrel=1
|
||||
mkdeps=""
|
||||
deps="openssl"
|
||||
bad=""
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/curl/curl/releases/download/curl-$pkg_ver/curl-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure --prefix=/usr \
|
||||
--build=$HOST_TRIPLE \
|
||||
--host=$TRIPLE \
|
||||
--with-openssl
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make DESTDIR=$pkgdir install
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
|
@ -3,9 +3,10 @@ pkgname=doas
|
|||
pkgrel=1
|
||||
bad="gmake"
|
||||
ext="doc"
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/Duncaen/OpenDoas/releases/download/v6.8/opendoas-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
curl -L "https://github.com/Duncaen/OpenDoas/releases/download/v$pkgver/opendoas-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mv opendoas-$pkgver $pkgname-$pkgver
|
||||
cp ../build.ninja $pkgname-$pkgver
|
||||
|
@ -13,26 +14,23 @@ fetch() {
|
|||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure --prefix=/usr
|
||||
gmake
|
||||
./configure --prefix=/usr \
|
||||
--without-pam
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/usr/bin
|
||||
install -Dm4755 doas $pkgdir/usr/bin
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/usr/share/man/
|
||||
install -d $pkgdir/usr/share/man/man1
|
||||
install -d $pkgdir/usr/share/man/man5
|
||||
install -Dm644 doas.1 $pkgdir/usr/share/man/man1
|
||||
install -Dm644 doas.conf.5 $pkgdir/usr/share/man/man5
|
||||
install -Dm755 doas $pkgdir/usr/bin
|
||||
chmod u+s $pkgdir/usr/bin/doas
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
36
base/expat/build.sh
Normal file
36
base/expat/build.sh
Normal file
|
@ -0,0 +1,36 @@
|
|||
pkgver=2.2.10
|
||||
pkgname=expat
|
||||
bad=""
|
||||
mkdeps="bmake"
|
||||
deps=""
|
||||
ext="dev"
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
pkgver_r=$(echo $pkgver | tr '.' '_')
|
||||
curl -L https://github.com/libexpat/libexpat/releases/download/R_$pkgver_r/$pkgname-$pkgver.tar.xz -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=$HOST_TRIPLE \
|
||||
--host=$TRIPLE
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
30
base/fakeroot/build.sh
Normal file
30
base/fakeroot/build.sh
Normal file
|
@ -0,0 +1,30 @@
|
|||
pkgname=fakeroot
|
||||
pkgver=1.26
|
||||
|
||||
fetch() {
|
||||
curl "https://deb.debian.org/debian/pool/main/f/fakeroot/fakeroot_$pkgver.orig.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
patch -p1 < ../../no64.patch
|
||||
patch -p1 < ../../stdint.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=$TRIPLE \
|
||||
--host=$TRIPLE
|
||||
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
17
base/fakeroot/no64.patch
Normal file
17
base/fakeroot/no64.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
--- a/libfakeroot.c
|
||||
+++ b/libfakeroot.c
|
||||
@@ -81,12 +81,14 @@
|
||||
#define SEND_STAT64(a,b,c) send_stat64(a,b,c)
|
||||
#define SEND_GET_STAT(a,b) send_get_stat(a,b)
|
||||
#define SEND_GET_STAT64(a,b) send_get_stat64(a,b)
|
||||
+#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b,c)
|
||||
#define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b,c)
|
||||
#else
|
||||
#define SEND_STAT(a,b,c) send_stat(a,b)
|
||||
#define SEND_STAT64(a,b,c) send_stat64(a,b)
|
||||
#define SEND_GET_STAT(a,b) send_get_stat(a)
|
||||
#define SEND_GET_STAT64(a,b) send_get_stat64(a)
|
||||
+#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b)
|
||||
#define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b)
|
||||
#endif
|
||||
|
34
base/fakeroot/stdint.patch
Normal file
34
base/fakeroot/stdint.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
--- a/faked.c
|
||||
+++ b/faked.c
|
||||
@@ -514,11 +514,11 @@
|
||||
|
||||
#ifdef FAKEROOT_DB_PATH
|
||||
if (find_path(i->buf.dev, i->buf.ino, roots, path))
|
||||
- fprintf(f,"mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu %s\n",
|
||||
+ fprintf(f,"mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" %s\n",
|
||||
(uint64_t) i->buf.mode,(uint64_t) i->buf.uid,(uint64_t) i->buf.gid,
|
||||
(uint64_t) i->buf.nlink,(uint64_t) i->buf.rdev,path);
|
||||
#else
|
||||
- fprintf(f,"dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n",
|
||||
+ fprintf(f,"dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n",
|
||||
(uint64_t) i->buf.dev,(uint64_t) i->buf.ino,(uint64_t) i->buf.mode,
|
||||
(uint64_t) i->buf.uid,(uint64_t) i->buf.gid,(uint64_t) i->buf.nlink,
|
||||
(uint64_t) i->buf.rdev);
|
||||
@@ -544,7 +544,7 @@
|
||||
|
||||
while(1){
|
||||
#ifdef FAKEROOT_DB_PATH
|
||||
- r=scanf("mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu "DB_PATH_SCAN"\n",
|
||||
+ r=scanf("mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" "DB_PATH_SCAN"\n",
|
||||
&stmode, &stuid, &stgid, &stnlink, &strdev, &path);
|
||||
if (r != 6)
|
||||
break;
|
||||
@@ -559,7 +559,7 @@
|
||||
stdev = path_st.st_dev;
|
||||
stino = path_st.st_ino;
|
||||
#else
|
||||
- r=scanf("dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n",
|
||||
+ r=scanf("dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n",
|
||||
&stdev, &stino, &stmode, &stuid, &stgid, &stnlink, &strdev);
|
||||
if (r != 7)
|
||||
break;
|
36
base/flex/build.sh
Normal file
36
base/flex/build.sh
Normal file
|
@ -0,0 +1,36 @@
|
|||
pkgname=flex
|
||||
pkgver=2.6.4
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/westes/flex/releases/download/v2.6.4/flex-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
[ -z "$WITH_CROSS" ] || extra_flags=--disable-bootstrap
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=$HOST_TRIPLE \
|
||||
--host=$TRIPLE \
|
||||
$extra_flags
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
ln -sr $pkgdir/usr/bin/flex $pkgdir/usr/bin/lex
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
29
base/gettext-tiny/build.sh
Normal file
29
base/gettext-tiny/build.sh
Normal file
|
@ -0,0 +1,29 @@
|
|||
pkgname=gettext-tiny
|
||||
pkgver=master
|
||||
deps=""
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/sabotage-linux/gettext-tiny/archive/master.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install DESTDIR=$pkgdir prefix=/usr
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
38
base/git/build.sh
Normal file
38
base/git/build.sh
Normal file
|
@ -0,0 +1,38 @@
|
|||
pkgver=2.32.0
|
||||
pkgname=git
|
||||
pkgrel=1
|
||||
mkdeps="zlib-ng-dev:curl-dev:gmake"
|
||||
deps="zlib-ng:curl"
|
||||
bad="gmake"
|
||||
ext="doc"
|
||||
|
||||
fetch() {
|
||||
curl "https://mirrors.edge.kernel.org/pub/software/scm/git/git-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
# gmake NO_PERL=1 NO_REGEX=NeedsStartEnd NO_TCLTK=1 NO_MSGFMT_EXTENDED_OPTIONS=1 prefix=/usr gitexecdir=lib/gitcore INSTALL_SYMLINKS=1
|
||||
bad --gmake gmake NO_REGEX=NeedsStartEnd NO_TCLTK=1 NO_MSGFMT_EXTENDED_OPTIONS=1 prefix=/usr gitexecdir=lib/gitcore INSTALL_SYMLINKS=1
|
||||
# Need to run twice for it to work ¯\_(ツ)_/¯
|
||||
# Some issue with `msgfmt` 'cause I'm using gettext-tiny but idk why it works on the second run
|
||||
# gmake NO_PERL=1 NO_REGEX=NeedsStartEnd NO_TCLTK=1 NO_MSGFMT_EXTENDED_OPTIONS=1 prefix=/usr gitexecdir=lib/gitcore INSTALL_SYMLINKS=1
|
||||
bad --gmake gmake NO_REGEX=NeedsStartEnd NO_TCLTK=1 NO_MSGFMT_EXTENDED_OPTIONS=1 prefix=/usr gitexecdir=lib/gitcore INSTALL_SYMLINKS=1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
# gmake NO_PERL=1 NO_REGEX=NeedsStartEnd NO_TCLTK=1 NO_MSGFMT_EXTENDED_OPTIONS=1 install prefix=/usr gitexecdir=lib/gitcore DESTDIR=$pkgdir INSTALL_SYMLINKS=1
|
||||
bad --gmake gmake NO_REGEX=NeedsStartEnd NO_TCLTK=1 NO_MSGFMT_EXTENDED_OPTIONS=1 install prefix=/usr gitexecdir=lib/gitcore DESTDIR=$pkgdir INSTALL_SYMLINKS=1
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
# gmake NO_PERL=1 NO_REGEX=NeedsStartEnd NO_TCLTK=1 NO_MSGFMT_EXTENDED_OPTIONS=1 install-man prefix=/usr DESTDIR=$pkgdir INSTALL_SYMLINKS=1
|
||||
bad --gmake gmake NO_REGEX=NeedsStartEnd NO_TCLTK=1 NO_MSGFMT_EXTENDED_OPTIONS=1 install-man prefix=/usr DESTDIR=$pkgdir INSTALL_SYMLINKS=1
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
47
base/iglunix/build.sh
Normal file
47
base/iglunix/build.sh
Normal file
|
@ -0,0 +1,47 @@
|
|||
pkgver=main
|
||||
pkgname=iglunix
|
||||
pkgrel=1
|
||||
deps="busybox:toybox"
|
||||
bad=""
|
||||
ext="dev:doc"
|
||||
|
||||
fetch() {
|
||||
mkdir $pkgname-$pkgver
|
||||
cp ../profile.sh .
|
||||
cp ../motd .
|
||||
cd $pkgname-$pkgver
|
||||
cp ../../../../scripts/iglu*.sh .
|
||||
cp ../../../../man/iglu.8 .
|
||||
cp ../../../../LICENSE .
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
echo "Nothing to do"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/etc/
|
||||
install -Dm644 ../profile.sh $pkgdir/etc/profile
|
||||
install -Dm644 ../motd $pkgdir/etc/
|
||||
install -d $pkgdir/usr/sbin
|
||||
install -Dm755 iglu.sh $pkgdir/usr/sbin/iglu
|
||||
}
|
||||
|
||||
package_dev() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/usr/bin
|
||||
install -Dm755 iglupkg.sh $pkgdir/usr/bin/iglupkg
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/usr/share/man/man8
|
||||
install -Dm644 iglu.8 $pkgdir/usr/share/man/man8
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
14
base/iglunix/motd
Normal file
14
base/iglunix/motd
Normal file
|
@ -0,0 +1,14 @@
|
|||
|
|
||||
| |
|
||||
|
|
||||
| ________
|
||||
| /\ | \
|
||||
/ \ | \ |
|
||||
/ \ \ |
|
||||
/ \________\
|
||||
\ / /
|
||||
\ / /
|
||||
\ / /
|
||||
\/________/
|
||||
|
||||
Iglunix: Drop the Packages
|
20
base/iglunix/profile.sh
Normal file
20
base/iglunix/profile.sh
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Setup Path
|
||||
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||
export POSIX_ME_HARDER=1
|
||||
|
||||
# Setup Shell Prompt
|
||||
if [ "$(whoami)" == "root" ]; then
|
||||
export PS1=$(hostname)"# "
|
||||
else
|
||||
export PS1=$(hostname)"$ "
|
||||
fi
|
||||
|
||||
# Replace TERM with xterm because netbsd-curses doesn't include alacritty
|
||||
if [ "$TERM" == "alacritty" ]; then
|
||||
export TERM=xterm
|
||||
fi
|
||||
|
||||
# load profile
|
||||
for file in $(ls /etc/profile.d); do
|
||||
. /etc/profile.d/$file
|
||||
done
|
25
base/iglupkg/build.sh
Normal file
25
base/iglupkg/build.sh
Normal file
|
@ -0,0 +1,25 @@
|
|||
pkgname=iglupkg
|
||||
pkgver=main
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/iglunix/iglupkg/archive/refs/heads/main.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
return
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir PREFIX=/usr
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
return
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
|
@ -1,24 +1,23 @@
|
|||
pkgver=builtin-terminal-ui
|
||||
pkgver=master
|
||||
pkgname=kakoune
|
||||
pkgrel=1
|
||||
deps="musl:llvm"
|
||||
bad=""
|
||||
ext="doc"
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/mawww/kakoune/archive/builtin-terminal-ui.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
curl -L "https://github.com/mawww/kakoune/archive/master.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd src
|
||||
ckati
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd src
|
||||
ckati install DESTDIR=$pkgdir PREFIX=/usr
|
||||
bad --gmake gmake install DESTDIR=$pkgdir PREFIX=/usr
|
||||
rm -r $pkgdir/usr/share/doc
|
||||
rm -r $pkgdir/usr/share/man
|
||||
rm -r $pkgdir/usr/libexec
|
||||
|
@ -26,7 +25,6 @@ package() {
|
|||
|
||||
package_doc() {
|
||||
cd $pkgname-$pkgver
|
||||
cd src
|
||||
ckati install DESTDIR=$pkgdir PREFIX=/usr
|
||||
rm -r $pkgdir/usr/share/kak
|
||||
rm -r $pkgdir/usr/libexec
|
||||
|
@ -37,3 +35,7 @@ license() {
|
|||
cd $pkgname-$pkgver
|
||||
cat UNLICENSE
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
|
@ -3,13 +3,13 @@ pkgname=kati
|
|||
pkgrel=1
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/google/kati/archive/master.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
curl -LL "https://github.com/google/kati/archive/master.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
gmake
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
28
base/lc-make/build.sh
Normal file
28
base/lc-make/build.sh
Normal file
|
@ -0,0 +1,28 @@
|
|||
pkgname=lc-make
|
||||
pkgver=main
|
||||
mkdeps="rust"
|
||||
deps=""
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/LightningCreations/lc-make/archive/refs/heads/main.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
cd $pkgname-$pkgver
|
||||
mkdir .cargo
|
||||
cargo vendor > .cargo/config
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cargo build --release --locked --all-features
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -Dm755 target/release/$pkgname $pkgdir/usr/bin/
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
63
base/libcxx/build.sh
Normal file
63
base/libcxx/build.sh
Normal file
|
@ -0,0 +1,63 @@
|
|||
pkgver=14.0.1
|
||||
pkgname=libcxx
|
||||
bad=""
|
||||
ext="dev"
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-project-$pkgver.src.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mv llvm-project-$pkgver.src $pkgname-$pkgver
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
PREFIX=/usr
|
||||
[ -z "$FOR_CROSS" ] || PREFIX=$FOR_CROSS_DIR
|
||||
[ -z "$WITH_CROSS" ] || cmake_extra_flags=-DCMAKE_SYSROOT=$WITH_CROSS_DIR
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G Ninja -Wno-dev \
|
||||
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
|
||||
-DLIBCXX_ENABLE_FILESYSTEM=ON \
|
||||
-DLIBCXX_USE_COMPILER_RT=ON \
|
||||
-DLIBCXX_HAS_MUSL_LIBC=ON \
|
||||
-DLIBCXXABI_USE_COMPILER_RT=ON \
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \
|
||||
-DLIBCXX_ENABLE_STATIC=OFF \
|
||||
-DLIBCXX_HAS_ATOMIC_LIB=OFF \
|
||||
-DCMAKE_C_COMPILER=$CC \
|
||||
-DCMAKE_CXX_COMPILER=$CXX \
|
||||
-DCMAKE_C_COMPILER_TARGET=$ARCH-linux-musl \
|
||||
-DCMAKE_CXX_COMPILER_TARGET=$ARCH-linux-musl \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||
$cmake_extra_flags \
|
||||
-DCMAKE_INSTALL_PREFIX=$PREFIX \
|
||||
-DCMAKE_CXX_COMPILER_WORKS=1 \
|
||||
-DCMAKE_SKIP_BUILD_RPATH=0 \
|
||||
-DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \
|
||||
-DCMAKE_INSTALL_RPATH='${ORIGIN}/../lib' \
|
||||
../runtimes
|
||||
|
||||
samu -j$JOBS
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
package_dev() {
|
||||
echo "No... Shut"
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat */LICENSE.TXT
|
||||
}
|
47
base/libelf/build.sh
Normal file
47
base/libelf/build.sh
Normal file
|
@ -0,0 +1,47 @@
|
|||
pkgname=libelf
|
||||
pkgver=0.186
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -LO "https://sourceware.org/elfutils/ftp/$pkgver/elfutils-$pkgver.tar.bz2"
|
||||
tar -xf elfutils-$pkgver.tar.bz2
|
||||
cd elfutils-$pkgver
|
||||
patch -p1 < ../../musl.patch
|
||||
}
|
||||
|
||||
if [ -z "$FOR_CROSS" ]; then
|
||||
PREFIX=/usr
|
||||
else
|
||||
PREFIX=$FOR_CROSS_DIR
|
||||
fi
|
||||
|
||||
build() {
|
||||
cd elfutils-$pkgver
|
||||
export CFLAGS="$CFLAGS -Wno-error"
|
||||
./configure \
|
||||
--prefix=$PREFIX \
|
||||
--sysconfdir=/etc \
|
||||
--build=$HOST_TRIPLE \
|
||||
--host=$TRIPLE \
|
||||
--disable-symbol-versioning \
|
||||
--disable-debuginfod \
|
||||
--disable-libdebuginfod \
|
||||
--disable-nls \
|
||||
ac_cv_c99=yes
|
||||
|
||||
bad --gmake gmake -C lib
|
||||
bad --gmake gmake -C libelf
|
||||
}
|
||||
|
||||
package() {
|
||||
cd elfutils-$pkgver
|
||||
bad --gmake gmake -C libelf install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
return
|
||||
}
|
59
base/libelf/musl.patch
Normal file
59
base/libelf/musl.patch
Normal file
|
@ -0,0 +1,59 @@
|
|||
diff --git a/configure b/configure
|
||||
index d03dab4..7fc88bd 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -7758,7 +7758,7 @@ LIBS="$saved_LIBS"
|
||||
case "$ac_cv_search_argp_parse" in
|
||||
no) { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
-as_fn_error $? "failed to find argp_parse
|
||||
+: $? "failed to find argp_parse
|
||||
See \`config.log' for more details" "$LINENO" 5; } ;;
|
||||
-l*) argp_LDADD="$ac_cv_search_argp_parse" ;;
|
||||
*) argp_LDADD= ;;
|
||||
@@ -7826,7 +7826,7 @@ LIBS="$saved_LIBS"
|
||||
case "$ac_cv_search_fts_close" in
|
||||
no) { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
-as_fn_error $? "failed to find fts_close
|
||||
+: $? "failed to find fts_close
|
||||
See \`config.log' for more details" "$LINENO" 5; } ;;
|
||||
-l*) fts_LIBS="$ac_cv_search_fts_close" ;;
|
||||
*) fts_LIBS= ;;
|
||||
@@ -7894,7 +7894,7 @@ LIBS="$saved_LIBS"
|
||||
case "$ac_cv_search__obstack_free" in
|
||||
no) { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
-as_fn_error $? "failed to find _obstack_free
|
||||
+: $? "failed to find _obstack_free
|
||||
See \`config.log' for more details" "$LINENO" 5; } ;;
|
||||
-l*) obstack_LIBS="$ac_cv_search__obstack_free" ;;
|
||||
*) obstack_LIBS= ;;
|
||||
diff --git a/lib/Makefile.in b/lib/Makefile.in
|
||||
index 41ff5f7..0c81496 100644
|
||||
--- a/lib/Makefile.in
|
||||
+++ b/lib/Makefile.in
|
||||
@@ -117,8 +117,8 @@ libeu_a_AR = $(AR) $(ARFLAGS)
|
||||
libeu_a_LIBADD =
|
||||
am_libeu_a_OBJECTS = xasprintf.$(OBJEXT) xstrdup.$(OBJEXT) \
|
||||
xstrndup.$(OBJEXT) xmalloc.$(OBJEXT) next_prime.$(OBJEXT) \
|
||||
- crc32.$(OBJEXT) crc32_file.$(OBJEXT) color.$(OBJEXT) \
|
||||
- error.$(OBJEXT) printversion.$(OBJEXT)
|
||||
+ crc32.$(OBJEXT) crc32_file.$(OBJEXT) \
|
||||
+ error.$(OBJEXT)
|
||||
libeu_a_OBJECTS = $(am_libeu_a_OBJECTS)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
@@ -406,10 +406,10 @@ textrel_check = if $(READELF) -d $@ | fgrep -q TEXTREL; then $(textrel_found); f
|
||||
noinst_LIBRARIES = libeu.a
|
||||
libeu_a_SOURCES = xasprintf.c xstrdup.c xstrndup.c xmalloc.c next_prime.c \
|
||||
crc32.c crc32_file.c \
|
||||
- color.c error.c printversion.c
|
||||
+ error.c
|
||||
|
||||
noinst_HEADERS = fixedsizehash.h libeu.h system.h dynamicsizehash.h list.h \
|
||||
- eu-config.h color.h printversion.h bpf.h \
|
||||
+ eu-config.h bpf.h \
|
||||
atomics.h stdatomic-fbsd.h dynamicsizehash_concurrent.h
|
||||
|
||||
EXTRA_DIST = dynamicsizehash.c dynamicsizehash_concurrent.c
|
37
base/libffi/build.sh
Normal file
37
base/libffi/build.sh
Normal file
|
@ -0,0 +1,37 @@
|
|||
pkgver=3.3
|
||||
pkgname=libffi
|
||||
bad="gmake"
|
||||
ext="dev"
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure --prefix=$PREFIX \
|
||||
--build=$HOST_TRIPLE \
|
||||
--host=$TRIPLE
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
package_dev() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
22
base/libnl-tiny/build.sh
Normal file
22
base/libnl-tiny/build.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
pkgname=libnl-tiny
|
||||
pkgver=master
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/sabotage-linux/libnl-tiny/archive/refs/heads/master.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
cd $pkgname-$pkgver
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake prefix=/usr all CC=cc
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake prefix=/usr DESTDIR=$pkgdir install
|
||||
}
|
||||
|
||||
license() {
|
||||
curl "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt"
|
||||
}
|
11
base/libnl-tiny/cmake-no-extra-errs.patch
Normal file
11
base/libnl-tiny/cmake-no-extra-errs.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
INCLUDE_DIRECTORIES(include)
|
||||
|
||||
-ADD_DEFINITIONS(-Wall -Werror -Wextra -Wno-unused-parameter)
|
||||
+#ADD_DEFINITIONS(-Wall -Werror -Wextra -Wno-unused-parameter)
|
||||
STRING(REPLACE "-DNDEBUG" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||
|
||||
ADD_LIBRARY(nl-tiny SHARED
|
70
base/libunwind/build.sh
Normal file
70
base/libunwind/build.sh
Normal file
|
@ -0,0 +1,70 @@
|
|||
pkgver=14.0.1
|
||||
pkgname=libunwind
|
||||
bad=""
|
||||
ext="dev"
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-project-$pkgver.src.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mv llvm-project-$pkgver.src $pkgname-$pkgver
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
|
||||
PREFIX=/usr
|
||||
|
||||
[ -z "$FOR_CROSS" ] || PREFIX=$FOR_CROSS_DIR
|
||||
|
||||
if [ ! -z "$WITH_CROSS" ]; then
|
||||
cmake_extra_flags=-DCMAKE_SYSROOT=$WITH_CROSS_DIR
|
||||
fi
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G Ninja -Wno-dev \
|
||||
-DLLVM_ENABLE_RUNTIMES="libunwind" \
|
||||
-DLIBUNWIND_USE_COMPILER_RT=ON \
|
||||
-DLIBUNWIND_SUPPORTS_FNO_EXCEPTIONS_FLAG=1 \
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=YES \
|
||||
-DLIBCXX_HAS_MUSL_LIBC=ON \
|
||||
-DCMAKE_ASM_COMPILER=$CC \
|
||||
-DCMAKE_C_COMPILER=$CC \
|
||||
-DCMAKE_CXX_COMPILER=$CXX \
|
||||
-DCMAKE_ASM_COMPILER_TARGET=$ARCH-linux-musl \
|
||||
-DCMAKE_C_COMPILER_TARGET=$ARCH-linux-musl \
|
||||
-DCMAKE_CXX_COMPILER_TARGET=$ARCH-linux-musl \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||
-DCMAKE_ASM_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -unwindlib=none" \
|
||||
$cmake_extra_flags \
|
||||
-DCMAKE_INSTALL_PREFIX=$PREFIX \
|
||||
-DCMAKE_C_COMPILER_WORKS=1 \
|
||||
-DCMAKE_CXX_COMPILER_WORKS=1 \
|
||||
-DCMAKE_SKIP_BUILD_RPATH=0 \
|
||||
-DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \
|
||||
-DCMAKE_INSTALL_RPATH='${ORIGIN}/../lib' \
|
||||
../runtimes
|
||||
|
||||
samu -j$JOBS
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
package_dev() {
|
||||
echo "No... Shut"
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat */LICENSE.TXT
|
||||
}
|
150
base/llvm/build.sh
Normal file
150
base/llvm/build.sh
Normal file
|
@ -0,0 +1,150 @@
|
|||
pkgver=14.0.1
|
||||
pkgname=llvm
|
||||
bad=""
|
||||
ext="dev"
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-project-$pkgver.src.tar.xz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
mv llvm-project-$pkgver.src $pkgname-$pkgver
|
||||
|
||||
cd $pkgname-$pkgver
|
||||
patch -p1 < ../../riscv-relax.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
|
||||
if [ ! -z "$WITH_CROSS" ]; then
|
||||
EXTRA_ARGS="-DCMAKE_SYSROOT=$WITH_CROSS_DIR \
|
||||
-DCMAKE_C_COMPILER_WORKS=ON \
|
||||
-DCMAKE_CXX_COMPILER_WORKS=ON \
|
||||
-DCMAKE_SYSTEM_NAME=Linux \
|
||||
-DLLVM_TABLEGEN=$(pwd)/host-build/bin/llvm-tblgen \
|
||||
-DCLANG_TABLEGEN=$(pwd)/host-build/bin/clang-tblgen \
|
||||
-DLLVM_CONFIG_PATH=/usr/bin/llvm-config \
|
||||
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
|
||||
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
|
||||
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY"
|
||||
mkdir -p host-build
|
||||
cd host-build
|
||||
cmake -G Ninja -Wno-dev \
|
||||
-DLLVM_ENABLE_PROJECTS='clang' \
|
||||
-DCMAKE_C_COMPILER=cc \
|
||||
-DCMAKE_CXX_COMPILER=c++ \
|
||||
../llvm
|
||||
|
||||
samu llvm-tblgen clang-tblgen
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G Ninja -Wno-dev \
|
||||
-DCMAKE_C_COMPILER_TARGET=$TRIPLE \
|
||||
-DCMAKE_CXX_COMPILER_TARGET=$TRIPLE \
|
||||
-DCMAKE_C_COMPILER=$CC \
|
||||
-DCMAKE_CXX_COMPILER=$CXX \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLLVM_VERSION_SUFFIX="" \
|
||||
-DLLVM_APPEND_VC_REV=OFF \
|
||||
-DLLVM_ENABLE_PROJECTS="llvm;lld;clang" \
|
||||
-DLLVM_ENABLE_LLD=ON \
|
||||
-DLLVM_TARGETS_TO_BUILD="all" \
|
||||
-DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \
|
||||
-DLLVM_INSTALL_CCTOOLS_SYMLINKS=ON \
|
||||
-DLLVM_INCLUDE_EXAMPLES=OFF \
|
||||
-DLLVM_ENABLE_PIC=ON \
|
||||
-DLLVM_ENABLE_LTO=OFF \
|
||||
-DLLVM_INCLUDE_GO_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_TESTS=OFF \
|
||||
-DLLVM_HOST_TRIPLE=$TRIPLE \
|
||||
-DLLVM_DEFAULT_TARGET_TRIPLE=$TRIPLE \
|
||||
-DLLVM_ENABLE_LIBXML2=OFF \
|
||||
-DLLVM_ENABLE_ZLIB=OFF\
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
||||
-DLLVM_LINK_LLVM_DYLIB=ON \
|
||||
-DLLVM_OPTIMIZED_TABLEGEN=ON \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||
-DLLVM_INCLUDE_DOCS=ON \
|
||||
-DLLVM_TOOL_LLVM_ITANIUM_DEMANGLE_FUZZER_BUILD=OFF \
|
||||
-DLLVM_TOOL_LLVM_MC_ASSEMBLE_FUZZER_BUILD=OFF \
|
||||
-DLLVM_TOOL_LLVM_MC_DISASSEMBLE_FUZZER_BUILD=OFF \
|
||||
-DLLVM_TOOL_LLVM_OPT_FUZZER_BUILD=OFF \
|
||||
-DLLVM_TOOL_LLVM_MICROSOFT_DEMANGLE_FUZZER_BUILD=OFF \
|
||||
-DLLVM_TOOL_LLVM_GO_BUILD=OFF \
|
||||
-DLLVM_INSTALL_UTILS=ON \
|
||||
-DLLVM_ENABLE_LIBCXX=ON \
|
||||
-DLLVM_STATIC_LINK_CXX_STDLIB=ON \
|
||||
-DLLVM_ENABLE_LIBEDIT=OFF \
|
||||
-DLLVM_ENABLE_TERMINFO=OFF \
|
||||
-DLIBCXX_ENABLE_FILESYSTEM=ON \
|
||||
-DLIBCXX_USE_COMPILER_RT=ON \
|
||||
-DLIBCXX_HAS_MUSL_LIBC=ON \
|
||||
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
|
||||
-DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=ON \
|
||||
-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
|
||||
-DLIBCXX_INSTALL_LIBRARY=ON \
|
||||
-DLIBCXXABI_ENABLE_ASSERTIONS=ON \
|
||||
-DLIBCXXABI_USE_COMPILER_RT=ON \
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \
|
||||
-DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \
|
||||
-DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=YES \
|
||||
-DLIBCXXABI_ENABLE_SHARED=OFF \
|
||||
-DLIBCXXABI_ENABLE_STATIC=ON \
|
||||
-DLIBCXXABI_INSTALL_LIBRARY=ON \
|
||||
-DLIBUNWIND_ENABLE_SHARED=ON \
|
||||
-DLIBUNWIND_ENABLE_STATIC=ON \
|
||||
-DLIBUNWIND_INSTALL_LIBRARY=ON \
|
||||
-DLIBUNWIND_USE_COMPILER_RT=ON \
|
||||
-DCLANG_DEFAULT_LINKER=lld \
|
||||
-DCLANG_DEFAULT_CXX_STDLIB='libc++' \
|
||||
-DCLANG_DEFAULT_RTLIB=compiler-rt \
|
||||
-DCLANG_DEFAULT_UNWINDLIB=libunwind \
|
||||
-DCLANG_VENDOR="Iglunix" \
|
||||
-DCLANG_ENABLE_STATIC_ANALYZER=OFF \
|
||||
-DCLANG_ENABLE_ARCMT=OFF \
|
||||
-DCLANG_LINK_CLANG_DYLIB=OFF \
|
||||
-DCLANG_TOOLING_BUILD_AST_INTROSPECTION=OFF \
|
||||
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=OFF \
|
||||
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=OFF \
|
||||
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
|
||||
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \
|
||||
-DCOMPILER_RT_BUILD_XRAY=OFF \
|
||||
-DCOMPILER_RT_BUILD_MEMPROF=OFF \
|
||||
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
|
||||
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
|
||||
-DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=TRUE \
|
||||
$EXTRA_ARGS \
|
||||
-DHAVE_CXX_ATOMICS_WITHOUT_LIB=ON \
|
||||
-DHAVE_CXX_ATOMICS64_WITHOUT_LIB=ON \
|
||||
../llvm
|
||||
|
||||
samu -j$JOBS
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
ln -s clang $pkgdir/usr/bin/cc
|
||||
ln -s clang $pkgdir/usr/bin/c89
|
||||
ln -s clang $pkgdir/usr/bin/c99
|
||||
ln -s clang++ $pkgdir/usr/bin/c++
|
||||
ln -s ld.lld $pkgdir/usr/bin/ld
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
package_dev() {
|
||||
echo "No... Shut"
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat */LICENSE.TXT
|
||||
}
|
5
base/llvm/default.llvm.conf
Normal file
5
base/llvm/default.llvm.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
#Uncomment this to get the latest release candiate
|
||||
#export RC
|
||||
|
||||
#Uncomment this to get the latest git version
|
||||
#export GIT
|
17
base/llvm/riscv-relax.patch
Normal file
17
base/llvm/riscv-relax.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
|
||||
index 8c343b869..65c357e86 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
|
||||
@@ -426,11 +426,7 @@ void riscv::getRISCVTargetFeatures(const Driver &D, const llvm::Triple &Triple,
|
||||
if (Args.hasArg(options::OPT_ffixed_x31))
|
||||
Features.push_back("+reserve-x31");
|
||||
|
||||
- // -mrelax is default, unless -mno-relax is specified.
|
||||
- if (Args.hasFlag(options::OPT_mrelax, options::OPT_mno_relax, true))
|
||||
- Features.push_back("+relax");
|
||||
- else
|
||||
- Features.push_back("-relax");
|
||||
+ Features.push_back("-relax");
|
||||
|
||||
// GCC Compatibility: -mno-save-restore is default, unless -msave-restore is
|
||||
// specified...
|
25
base/man-pages-posix/build.sh
Normal file
25
base/man-pages-posix/build.sh
Normal file
|
@ -0,0 +1,25 @@
|
|||
pkgname=man-pages-posix
|
||||
pkgver=2017
|
||||
|
||||
fetch() {
|
||||
curl "https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-2017-a.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
return
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat POSIX-COPYRIGHT
|
||||
}
|
31
base/meson/build.sh
Normal file
31
base/meson/build.sh
Normal file
|
@ -0,0 +1,31 @@
|
|||
pkgver=0.60.2
|
||||
pkgname=meson
|
||||
deps=python
|
||||
bad=""
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/mesonbuild/meson/releases/download/$pkgver/meson-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
cp ../not-darwin.patch .
|
||||
cd $pkgname-$pkgver
|
||||
patch -p1 < ../not-darwin.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
python setup.py build
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
python setup.py install --prefix=/usr --root=$pkgdir
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
19
base/meson/not-darwin.patch
Normal file
19
base/meson/not-darwin.patch
Normal file
|
@ -0,0 +1,19 @@
|
|||
--- a/mesonbuild/scripts/depfixer.py
|
||||
+++ b/mesonbuild/scripts/depfixer.py
|
||||
@@ -16,6 +16,7 @@
|
||||
import sys, struct
|
||||
import shutil, subprocess
|
||||
import typing as T
|
||||
+import platform
|
||||
|
||||
from ..mesonlib import OrderedSet
|
||||
|
||||
@@ -478,7 +479,7 @@
|
||||
# https://github.com/mesonbuild/meson/pull/6612#discussion_r378581401
|
||||
if INSTALL_NAME_TOOL is False:
|
||||
INSTALL_NAME_TOOL = bool(shutil.which('install_name_tool'))
|
||||
- if INSTALL_NAME_TOOL:
|
||||
+ if INSTALL_NAME_TOOL and platform.system() == "Darwin":
|
||||
if isinstance(new_rpath, bytes):
|
||||
new_rpath = new_rpath.decode('utf8')
|
||||
fix_darwin(fname, new_rpath, final_path, install_name_mappings)
|
|
@ -1,5 +1,6 @@
|
|||
pkgver=59c
|
||||
pkgname=mksh
|
||||
deps="musl"
|
||||
bad=""
|
||||
ext="doc"
|
||||
|
||||
|
@ -10,6 +11,7 @@ fetch() {
|
|||
|
||||
build() {
|
||||
cd $pkgname
|
||||
CPPFLAGS="-DMKSH_BINSHPOSIX" sh Build.sh -L
|
||||
sh Build.sh
|
||||
}
|
||||
|
||||
|
@ -17,13 +19,13 @@ package() {
|
|||
cd $pkgname
|
||||
install -d $pkgdir/bin
|
||||
install -Dm755 ./mksh $pkgdir/bin
|
||||
install -Dm755 ./lksh $pkgdir/bin
|
||||
ln -sr $pkgdir/bin/mksh $pkgdir/bin/bash
|
||||
ln -sr $pkgdir/bin/lksh $pkgdir/bin/sh
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
cd $pkgname
|
||||
install -d $pkgdir/usr/share/man/man1
|
||||
install -Dm 644 ./mksh.1 $pkgdir/usr/share/man/man1
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
32
base/netbsd-curses/build.sh
Normal file
32
base/netbsd-curses/build.sh
Normal file
|
@ -0,0 +1,32 @@
|
|||
pkgver=master
|
||||
pkgname=netbsd-curses
|
||||
bad="gmake"
|
||||
deps="musl"
|
||||
ext="doc:dev"
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/sabotage-linux/netbsd-curses/archive/master.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
cd $pkgname-$pkgver
|
||||
patch -p1 < ../../cross.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake PREFIX=/usr HOSTCC=cc CROSSCOMPILING=1 LDFLAGS_HOST= CFLAGS_HOST=
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install DESTDIR=$pkgdir PREFIX=/usr HOSTCC=cc CROSSCOMPILING=1 LDFLAGS_HOST= CFLAGS_HOST=
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
47
base/netbsd-curses/cross.patch
Normal file
47
base/netbsd-curses/cross.patch
Normal file
|
@ -0,0 +1,47 @@
|
|||
--- a/GNUmakefile
|
||||
+++ b/GNUmakefile
|
||||
@@ -477,7 +477,7 @@
|
||||
$(RANLIB) $@
|
||||
|
||||
$(TI_LIBSO): $(TI_LOBJS)
|
||||
- $(CC) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
+ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
|
||||
libterminfo/hash.c: libterminfo/genhash libterminfo/term.h
|
||||
@echo "Generating terminfo hash"
|
||||
@@ -514,7 +514,7 @@
|
||||
|
||||
$(CU_LIBSO): $(TI_LIBSO)
|
||||
$(CU_LIBSO): $(CU_LOBJS)
|
||||
- $(CC) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
+ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
|
||||
libcurses/fileio.h: libcurses/shlib_version libcurses/genfileioh.awk
|
||||
$(AWK) -f ./genfileioh.awk < ./shlib_version > ./fileio.h
|
||||
@@ -526,7 +526,7 @@
|
||||
|
||||
$(PA_LIBSO): $(CU_LIBSO)
|
||||
$(PA_LIBSO): $(PA_LOBJS)
|
||||
- $(CC) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
+ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
|
||||
$(ME_LIBA): $(ME_OBJS)
|
||||
rm -f $@
|
||||
@@ -535,7 +535,7 @@
|
||||
|
||||
$(ME_LIBSO): $(CU_LIBSO)
|
||||
$(ME_LIBSO): $(ME_LOBJS)
|
||||
- $(CC) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
+ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
|
||||
$(FO_LIBA): $(FO_OBJS)
|
||||
rm -f $@
|
||||
@@ -544,7 +544,7 @@
|
||||
|
||||
$(FO_LIBSO): $(CU_LIBSO)
|
||||
$(FO_LIBSO): $(FO_LOBJS)
|
||||
- $(CC) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
+ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname=$(notdir $@)
|
||||
|
||||
# Allow terminfo descriptions to be compiled into libterminfo
|
||||
${TERMINFODIR}/terminfo.cdb: $(TOOL_TIC) ${TERMINFODIR}/terminfo
|
|
@ -1,18 +1,23 @@
|
|||
pkgver=6.7
|
||||
pkgname=om4
|
||||
pkgrel=1
|
||||
deps="musl"
|
||||
bad=""
|
||||
ext="doc"
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/ibara/m4/releases/download/om4-6.7/om4-6.7.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
cd $pkgname-$pkgver
|
||||
patch -p1 < ../../m4-hand-written-lexer.patch
|
||||
patch -p1 < ../../configure.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure --prefix=/
|
||||
make
|
||||
make -j1
|
||||
}
|
||||
|
||||
package() {
|
||||
|
@ -23,12 +28,16 @@ package() {
|
|||
}
|
||||
|
||||
package_doc() {
|
||||
cd $pkgname-$pkgver
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/usr/share/man/man1
|
||||
install -Dm644 m4.1 $pkgdir/share/man/man1
|
||||
install -Dm644 m4.1 $pkgdir/usr/share/man/man1
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
echo "Source are a combination of BSD and ISC licensed files"
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
21
base/om4/configure.patch
Normal file
21
base/om4/configure.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -10,16 +10,8 @@
|
||||
EOF
|
||||
$CC -o conftest conftest.c > /dev/null 2>&1
|
||||
if [ $? -eq 0 ] ; then
|
||||
+ cc="$CC"
|
||||
+ return 0
|
||||
- ./conftest
|
||||
- if [ $? -eq 0 ] ; then
|
||||
- rm -f conftest conftest.c
|
||||
- cc="$CC"
|
||||
- return 0
|
||||
- else
|
||||
- echo "could not build working executables"
|
||||
- echo "Please ensure your C compiler is a native compiler"
|
||||
- exit 1
|
||||
- fi
|
||||
else
|
||||
rm -f conftest conftest.c
|
||||
fi
|
327
base/om4/m4-hand-written-lexer.patch
Normal file
327
base/om4/m4-hand-written-lexer.patch
Normal file
|
@ -0,0 +1,327 @@
|
|||
From edf250c633bef40e7e37dafc9fc393dd2ad9074f Mon Sep 17 00:00:00 2001
|
||||
From: Michael Forney <mforney@mforney.org>
|
||||
Date: Tue, 10 Apr 2018 13:37:14 -0700
|
||||
Subject: [PATCH] m4: Use hand-written lexer to avoid cycle in bootstrap
|
||||
|
||||
---
|
||||
tokenizer.c | 191 +++++++++++++++++++++++++++++++++++++++++
|
||||
tokenizer.l | 109 -----------------------
|
||||
2 files changed, 191 insertions(+), 109 deletions(-)
|
||||
create mode 100644 tokenizer.c
|
||||
delete mode 100644 tokenizer.l
|
||||
|
||||
diff --git a/tokenizer.c b/tokenizer.c
|
||||
new file mode 100644
|
||||
index 00000000000..fa19fc65035
|
||||
--- /dev/null
|
||||
+++ b/tokenizer.c
|
||||
@@ -0,0 +1,191 @@
|
||||
+/* $OpenBSD: tokenizer.l,v 1.10 2017/06/17 01:55:16 bcallah Exp $ */
|
||||
+/*
|
||||
+ * Copyright (c) 2004 Marc Espie <espie@cvs.openbsd.org>
|
||||
+ *
|
||||
+ * Permission to use, copy, modify, and distribute this software for any
|
||||
+ * purpose with or without fee is hereby granted, provided that the above
|
||||
+ * copyright notice and this permission notice appear in all copies.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
+ */
|
||||
+#include "parser.h"
|
||||
+#include <assert.h>
|
||||
+#include <ctype.h>
|
||||
+#include <errno.h>
|
||||
+#include <limits.h>
|
||||
+#include <stdbool.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdint.h>
|
||||
+
|
||||
+extern void m4_warnx(const char *, ...);
|
||||
+extern int mimic_gnu;
|
||||
+extern int32_t yylval;
|
||||
+static const char *yypos;
|
||||
+
|
||||
+void
|
||||
+yy_scan_string(const char *s)
|
||||
+{
|
||||
+ yypos = s;
|
||||
+}
|
||||
+
|
||||
+static int32_t
|
||||
+number(const char *yytext, size_t yylen)
|
||||
+{
|
||||
+ long l;
|
||||
+
|
||||
+ errno = 0;
|
||||
+ l = strtol(yytext, NULL, 0);
|
||||
+ if (((l == LONG_MAX || l == LONG_MIN) && errno == ERANGE) ||
|
||||
+ l > INT32_MAX || l < INT32_MIN)
|
||||
+ m4_warnx("numeric overflow in expr: %.*s", (int)yylen, yytext);
|
||||
+ return l;
|
||||
+}
|
||||
+
|
||||
+static int32_t
|
||||
+parse_radix(const char *yytext, size_t yylen)
|
||||
+{
|
||||
+ long base;
|
||||
+ char *next;
|
||||
+ long l;
|
||||
+ int d;
|
||||
+
|
||||
+ l = 0;
|
||||
+ base = strtol(yytext+2, &next, 0);
|
||||
+ if (base > 36 || next == NULL) {
|
||||
+ m4_warnx("error in number %.*s", (int)yylen, yytext);
|
||||
+ } else {
|
||||
+ next++;
|
||||
+ while (*next != 0) {
|
||||
+ if (*next >= '0' && *next <= '9')
|
||||
+ d = *next - '0';
|
||||
+ else if (*next >= 'a' && *next <= 'z')
|
||||
+ d = *next - 'a' + 10;
|
||||
+ else {
|
||||
+ assert(*next >= 'A' && *next <= 'Z');
|
||||
+ d = *next - 'A' + 10;
|
||||
+ }
|
||||
+ if (d >= base) {
|
||||
+ m4_warnx("error in number %.*s", (int)yylen, yytext);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ l = base * l + d;
|
||||
+ next++;
|
||||
+ }
|
||||
+ }
|
||||
+ return l;
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+isodigit(int c)
|
||||
+{
|
||||
+ return c >= '0' && c <= '7';
|
||||
+}
|
||||
+
|
||||
+int yylex(void)
|
||||
+{
|
||||
+ const char *start;
|
||||
+
|
||||
+next:
|
||||
+ start = yypos;
|
||||
+ switch (*yypos) {
|
||||
+ case ' ':
|
||||
+ case '\t':
|
||||
+ case '\n':
|
||||
+ ++yypos;
|
||||
+ goto next;
|
||||
+ case '<':
|
||||
+ switch (yypos[1]) {
|
||||
+ case '=':
|
||||
+ yypos += 2;
|
||||
+ return LE;
|
||||
+ case '<':
|
||||
+ yypos += 2;
|
||||
+ return LSHIFT;
|
||||
+ }
|
||||
+ break;
|
||||
+ case '>':
|
||||
+ switch (yypos[1]) {
|
||||
+ case '=':
|
||||
+ yypos += 2;
|
||||
+ return GE;
|
||||
+ case '>':
|
||||
+ yypos += 2;
|
||||
+ return RSHIFT;
|
||||
+ }
|
||||
+ break;
|
||||
+ case '=':
|
||||
+ if (yypos[1] != '=')
|
||||
+ break;
|
||||
+ yypos += 2;
|
||||
+ return EQ;
|
||||
+ case '!':
|
||||
+ if (yypos[1] != '=')
|
||||
+ break;
|
||||
+ yypos += 2;
|
||||
+ return NE;
|
||||
+ case '&':
|
||||
+ if (yypos[1] != '&')
|
||||
+ break;
|
||||
+ yypos += 2;
|
||||
+ return LAND;
|
||||
+ case '|':
|
||||
+ if (yypos[1] != '|')
|
||||
+ break;
|
||||
+ yypos += 2;
|
||||
+ return LOR;
|
||||
+ case '*':
|
||||
+ if (!mimic_gnu || yypos[1] != '*')
|
||||
+ break;
|
||||
+ yypos += 2;
|
||||
+ return EXPONENT;
|
||||
+ case '0':
|
||||
+ switch (*++yypos) {
|
||||
+ case 'x':
|
||||
+ case 'X':
|
||||
+ if (!isxdigit(*++yypos))
|
||||
+ return ERROR;
|
||||
+ do ++yypos;
|
||||
+ while (isxdigit(*yypos));
|
||||
+ break;
|
||||
+ case 'r':
|
||||
+ case 'R':
|
||||
+ if (!mimic_gnu)
|
||||
+ break;
|
||||
+ if (!isdigit(*++yypos))
|
||||
+ return ERROR;
|
||||
+ do ++yypos;
|
||||
+ while (isdigit(*yypos));
|
||||
+ if (*yypos != ':')
|
||||
+ return ERROR;
|
||||
+ if (!isalnum(*++yypos))
|
||||
+ return ERROR;
|
||||
+ do ++yypos;
|
||||
+ while (isalnum(*yypos));
|
||||
+ yylval = parse_radix(start, yypos - start);
|
||||
+ return NUMBER;
|
||||
+ default:
|
||||
+ do ++yypos;
|
||||
+ while (isodigit(*yypos));
|
||||
+ break;
|
||||
+ }
|
||||
+ yylval = number(start, yypos - start);
|
||||
+ return NUMBER;
|
||||
+ case '\0':
|
||||
+ return '\0';
|
||||
+ }
|
||||
+ if (isdigit(*yypos)) {
|
||||
+ do ++yypos;
|
||||
+ while (isdigit(*yypos));
|
||||
+ yylval = number(start, yypos - start);
|
||||
+ return NUMBER;
|
||||
+ }
|
||||
+
|
||||
+ return *yypos++;
|
||||
+}
|
||||
diff --git a/tokenizer.l b/tokenizer.l
|
||||
deleted file mode 100644
|
||||
index 94f02fb6085..00000000000
|
||||
--- a/tokenizer.l
|
||||
+++ /dev/null
|
||||
@@ -1,109 +0,0 @@
|
||||
-%{
|
||||
-/* $OpenBSD: tokenizer.l,v 1.10 2017/06/17 01:55:16 bcallah Exp $ */
|
||||
-/*
|
||||
- * Copyright (c) 2004 Marc Espie <espie@cvs.openbsd.org>
|
||||
- *
|
||||
- * Permission to use, copy, modify, and distribute this software for any
|
||||
- * purpose with or without fee is hereby granted, provided that the above
|
||||
- * copyright notice and this permission notice appear in all copies.
|
||||
- *
|
||||
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
- */
|
||||
-#include "parser.h"
|
||||
-#include <assert.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <errno.h>
|
||||
-#include <stdint.h>
|
||||
-#include <limits.h>
|
||||
-
|
||||
-extern void m4_warnx(const char *, ...);
|
||||
-extern int mimic_gnu;
|
||||
-extern int32_t yylval;
|
||||
-
|
||||
-int32_t number(void);
|
||||
-int32_t parse_radix(void);
|
||||
-%}
|
||||
-
|
||||
-delim [ \t\n]
|
||||
-ws {delim}+
|
||||
-hex 0[xX][0-9a-fA-F]+
|
||||
-oct 0[0-7]*
|
||||
-dec [1-9][0-9]*
|
||||
-radix 0[rR][0-9]+:[0-9a-zA-Z]+
|
||||
-
|
||||
-%option noyywrap
|
||||
-
|
||||
-%%
|
||||
-{ws} {/* just skip it */}
|
||||
-{hex}|{oct}|{dec} { yylval = number(); return(NUMBER); }
|
||||
-{radix} { if (mimic_gnu) {
|
||||
- yylval = parse_radix(); return(NUMBER);
|
||||
- } else {
|
||||
- return(ERROR);
|
||||
- }
|
||||
- }
|
||||
-"<=" { return(LE); }
|
||||
-">=" { return(GE); }
|
||||
-"<<" { return(LSHIFT); }
|
||||
-">>" { return(RSHIFT); }
|
||||
-"==" { return(EQ); }
|
||||
-"!=" { return(NE); }
|
||||
-"&&" { return(LAND); }
|
||||
-"||" { return(LOR); }
|
||||
-"**" { if (mimic_gnu) { return (EXPONENT); } }
|
||||
-. { return yytext[0]; }
|
||||
-%%
|
||||
-
|
||||
-int32_t
|
||||
-number()
|
||||
-{
|
||||
- long l;
|
||||
-
|
||||
- errno = 0;
|
||||
- l = strtol(yytext, NULL, 0);
|
||||
- if (((l == LONG_MAX || l == LONG_MIN) && errno == ERANGE) ||
|
||||
- l > INT32_MAX || l < INT32_MIN)
|
||||
- m4_warnx("numeric overflow in expr: %s", yytext);
|
||||
- return l;
|
||||
-}
|
||||
-
|
||||
-int32_t
|
||||
-parse_radix()
|
||||
-{
|
||||
- long base;
|
||||
- char *next;
|
||||
- long l;
|
||||
- int d;
|
||||
-
|
||||
- l = 0;
|
||||
- base = strtol(yytext+2, &next, 0);
|
||||
- if (base > 36 || next == NULL) {
|
||||
- m4_warnx("error in number %s", yytext);
|
||||
- } else {
|
||||
- next++;
|
||||
- while (*next != 0) {
|
||||
- if (*next >= '0' && *next <= '9')
|
||||
- d = *next - '0';
|
||||
- else if (*next >= 'a' && *next <= 'z')
|
||||
- d = *next - 'a' + 10;
|
||||
- else {
|
||||
- assert(*next >= 'A' && *next <= 'Z');
|
||||
- d = *next - 'A' + 10;
|
||||
- }
|
||||
- if (d >= base) {
|
||||
- m4_warnx("error in number %s", yytext);
|
||||
- return 0;
|
||||
- }
|
||||
- l = base * l + d;
|
||||
- next++;
|
||||
- }
|
||||
- }
|
||||
- return l;
|
||||
-}
|
||||
-
|
||||
--
|
||||
2.17.0
|
||||
|
32
base/openssh/build.sh
Normal file
32
base/openssh/build.sh
Normal file
|
@ -0,0 +1,32 @@
|
|||
pkgname=openssh
|
||||
pkgver=8.8p1
|
||||
|
||||
fetch() {
|
||||
curl "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=$TRIPLE \
|
||||
--host=$TRIPLE \
|
||||
--libexecdir=/usr/lib
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENCE
|
||||
}
|
55
base/openssl/build.sh
Normal file
55
base/openssl/build.sh
Normal file
|
@ -0,0 +1,55 @@
|
|||
pkgname=openssl
|
||||
pkgver=3.0.0
|
||||
ext="dev"
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl "https://www.openssl.org/source/openssl-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
PREFIX=/usr
|
||||
[ -z "$FOR_CROSS" ] || PREFIX=$FOR_CROSS_DIR
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./Configure \
|
||||
--prefix=/$PREFIX \
|
||||
--openssldir=/etc/ssl \
|
||||
--libdir=lib \
|
||||
linux-generic64 \
|
||||
shared no-zlib no-async \
|
||||
no-comp no-idea no-mdc2 \
|
||||
no-rc5 no-ec2m no-sm2 \
|
||||
no-sm4 -no-ssl2 no-ssl3 \
|
||||
no-seed no-weak-ssl-ciphers \
|
||||
-Wa,--noexecstack
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install_sw DESTDIR=$pkgdir
|
||||
if [ -z "$FOR_CROSS" ]; then
|
||||
install -d $pkgdir/usr/sbin
|
||||
install -Dm755 ../../update-ca.sh $pkgdir/usr/sbin/update-ca
|
||||
else
|
||||
rm -rf $pkgdir/$PREFIX/bin
|
||||
fi
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
|
||||
echo 'Copyright 20xx-20yy The OpenSSL Project Authors. All Rights Reserved.'
|
||||
echo
|
||||
echo 'Licensed under the Apache License 2.0 (the "License"). You may not use'
|
||||
echo 'this file except in compliance with the License. You can obtain a copy'
|
||||
echo 'in the file LICENSE in the source distribution or at'
|
||||
echo 'https://www.openssl.org/source/license.html'
|
||||
}
|
2
base/openssl/update-ca.sh
Executable file
2
base/openssl/update-ca.sh
Executable file
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
curl -L https://curl.haxx.se/ca/cacert.pem -o /etc/ssl/cert.pem
|
39
base/oslo/build.sh
Normal file
39
base/oslo/build.sh
Normal file
|
@ -0,0 +1,39 @@
|
|||
pkgname=oslo
|
||||
pkgver=main
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/iglunix/oslo/archive/refs/heads/main.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
make ARCH=$ARCH
|
||||
}
|
||||
|
||||
case $ARCH in
|
||||
aarch64)
|
||||
_a=aa64
|
||||
;;
|
||||
x86_64)
|
||||
_a=x64
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -Dm755 oslo.efi $pkgdir/boot/efi/boot/boot$_a.efi
|
||||
install -Dm644 efi/oslo/entries.ini $pkgdir/boot/efi/oslo/entries.ini
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat license.txt
|
||||
}
|
||||
|
||||
backup() {
|
||||
echo boot/efi/oslo/entries.ini
|
||||
}
|
57
base/perl/build.sh
Normal file
57
base/perl/build.sh
Normal file
|
@ -0,0 +1,57 @@
|
|||
pkgname=perl
|
||||
pkgver=5.34.0
|
||||
|
||||
fetch() {
|
||||
curl "https://www.cpan.org/src/5.0/perl-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
|
||||
./Configure -des \
|
||||
-Dccflags="$CFLAGS" \
|
||||
-Dcccdlflags='-fPIC' \
|
||||
-Dcccdlflags='-fPIC' \
|
||||
-Dccdlflags='-rdynamic' \
|
||||
-Dprefix=/usr \
|
||||
-Dprivlib=/usr/share/perl5/core_perl \
|
||||
-Darchlib=/usr/lib/perl5/core_perl \
|
||||
-Dvendorprefix=/usr \
|
||||
-Dvendorlib=/usr/share/perl5/vendor_perl \
|
||||
-Dvendorarch=/usr/lib/perl5/vendor_perl \
|
||||
-Dsiteprefix=/usr/local \
|
||||
-Dsitelib=/usr/local/share/perl5/site_perl \
|
||||
-Dsitearch=/usr/local/lib/perl5/site_perl \
|
||||
-Dlocincpth=' ' \
|
||||
-Duselargefiles \
|
||||
-Dusethreads \
|
||||
-Duseshrplib \
|
||||
-Dd_semctl_semun \
|
||||
-Dman1dir=/usr/share/man/man1 \
|
||||
-Dman3dir=/usr/share/man/man3 \
|
||||
-Dinstallman1dir=/usr/share/man/man1 \
|
||||
-Dinstallman3dir=/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dcf_by='Iglunix' \
|
||||
-Ud_csh \
|
||||
-Dusenm
|
||||
|
||||
make libperl.so && make || return 1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
rm -rf $pkgdir/usr/share/man
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat Copying
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
pkgver=1.1.0
|
||||
pkgver=1.7.4
|
||||
pkgname=pkgconf
|
||||
bad=""
|
||||
ext="doc"
|
||||
|
||||
fetch() {
|
||||
curl https://distfiles.dereferenced.org/pkgconf/pkgconf-1.1.0.tar.xz -o $pkgname-$pkgver.tar.xz
|
||||
curl https://distfiles.dereferenced.org/pkgconf/pkgconf-$pkgver.tar.xz -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
30
base/python-mako/build.sh
Normal file
30
base/python-mako/build.sh
Normal file
|
@ -0,0 +1,30 @@
|
|||
pkgver=1.1.4
|
||||
pkgname=python-mako
|
||||
deps=python
|
||||
bad=""
|
||||
ext="doc"
|
||||
|
||||
fetch() {
|
||||
curl -L "https://pypi.io/packages/source/M/Mako/Mako-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
mv Mako-$pkgver $pkgname-$pkgver
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
python setup.py build
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
python setup.py install --prefix=/usr --root=$pkgdir
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
echo $pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
55
base/python/build.sh
Normal file
55
base/python/build.sh
Normal file
|
@ -0,0 +1,55 @@
|
|||
pkgname=python
|
||||
pkgver=3.10.4
|
||||
bad=""
|
||||
ext="doc"
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl "https://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mv Python-$pkgver $pkgname-$pkgver
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=$HOST_TRIPLE \
|
||||
--host=$TRIPLE \
|
||||
--with-system-ffi=true \
|
||||
--with-ssl-default-suites=openssl \
|
||||
--without-ensure-pip \
|
||||
ax_cv_c_float_words_bigendian=no \
|
||||
ac_cv_buggy_getaddrinfo=no \
|
||||
ac_cv_file__dev_ptmx=yes \
|
||||
ac_cv_file__dev_ptc=no
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
rm -r $pkgdir/usr/lib/python3.10/test
|
||||
rm -r $pkgdir/usr/lib/python3.10/ctypes/test
|
||||
rm -r $pkgdir/usr/lib/python3.10/distutils/tests
|
||||
rm -r $pkgdir/usr/lib/python3.10/idlelib/idle_test
|
||||
rm -r $pkgidr/usr/lib/python3.10/lib2to3/tests
|
||||
rm -r $pkgidr/usr/lib/python3.10/sqlite3/test
|
||||
rm -r $pkgdir/usr/lib/python3.10/tkinter/test
|
||||
rm -r $pkgdir/usr/lib/python3.10/unittest/test
|
||||
rm -r $pkgdir/usr/share
|
||||
ln -sr $pkgdir/usr/bin/python3 $pkgdir/usr/bin/python
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
rm -r $pkgdir/lib
|
||||
rm -r $pkgdir/bin
|
||||
rm -r $pkgdir/include
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
pkgver=1.2
|
||||
pkgname=samurai
|
||||
pkgrel=1
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "http://github.com/michaelforney/samurai/releases/download/1.2/$pkgname-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
|
@ -9,16 +10,20 @@ fetch() {
|
|||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
samu
|
||||
make LDFLAGS="$LDFLAGS"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/bin
|
||||
install -Dm755 ./samu $pkgdir/bin/
|
||||
install -d $pkgdir/usr/bin
|
||||
install -Dm755 ./samu $pkgdir/usr/bin/
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
51
base/toybox/build.sh
Normal file
51
base/toybox/build.sh
Normal file
|
@ -0,0 +1,51 @@
|
|||
pkgver=0.8.7
|
||||
pkgname=toybox
|
||||
pkgrel=1
|
||||
deps="musl"
|
||||
|
||||
fetch() {
|
||||
curl -O "https://landley.net/toybox/downloads/toybox-$pkgver.tar.gz"
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
curl "https://pci-ids.ucw.cz/v2.2/pci.ids" -o pci.ids
|
||||
cd $pkgname-$pkgver
|
||||
patch -p1 < ../../ls-colour.patch
|
||||
patch -p1 < ../../mksh.patch
|
||||
patch -p1 < ../../xxd-i.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
CPUS=1 bad --gmake gmake defconfig
|
||||
sed 's|# CONFIG_SH is not set|CONFIG_SH=y|' .config > /tmp/_
|
||||
mv /tmp/_ .config
|
||||
CPUS=1 bad --gmake gmake
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
package() {
|
||||
install -d $pkgdir/usr/share/misc
|
||||
install -Dm 644 pci.ids $pkgdir/usr/share/misc
|
||||
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake PREFIX=$pkgdir install
|
||||
|
||||
# Provided by NetBSD Curses
|
||||
rm $pkgdir/usr/bin/clear
|
||||
rm $pkgdir/usr/bin/reset
|
||||
|
||||
# LLVM Provides this
|
||||
rm $pkgdir/usr/bin/readelf
|
||||
# rm $pkgdir/usr/bin/tar
|
||||
|
||||
# MKSH provides this
|
||||
rm $pkgdir/bin/sh
|
||||
rm $pkgdir/bin/bash
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
15
base/toybox/ls-colour.patch
Normal file
15
base/toybox/ls-colour.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
--- a/toys/posix/ls.c
|
||||
+++ b/toys/posix/ls.c
|
||||
@@ -513,9 +513,11 @@
|
||||
if (!FLAG(show_control_chars)) toys.optflags |= FLAG_b;
|
||||
if (FLAG(l)||FLAG(o)||FLAG(n)||FLAG(g)) toys.optflags |= FLAG_1;
|
||||
else if (!(FLAG(1)||FLAG(x)||FLAG(m))) toys.optflags |= FLAG_C;
|
||||
+ if (TT.color && !strcmp(TT.color, "never")) toys.optflags ^= FLAG_color;
|
||||
+ else toys.optflags |= FLAG_color;
|
||||
} else {
|
||||
if (!FLAG(m)) toys.optflags |= FLAG_1;
|
||||
- if (TT.color) toys.optflags ^= FLAG_color;
|
||||
+ if (TT.color && strcmp(TT.color, "always")) toys.optflags ^= FLAG_color;
|
||||
}
|
||||
|
||||
TT.screen_width = 80;
|
55
base/toybox/lspci-fix-ids.patch
Normal file
55
base/toybox/lspci-fix-ids.patch
Normal file
|
@ -0,0 +1,55 @@
|
|||
--- a/toys/other/lspci.c
|
||||
+++ b/toys/other/lspci.c
|
||||
@@ -78,18 +78,45 @@
|
||||
|
||||
fseek(TT.db, 0, SEEK_SET);
|
||||
while (!vbig || !dbig) {
|
||||
+ int tc = 0; // tab count
|
||||
s = p;
|
||||
if (!fgets(s, sizeof(toybuf)-(p-toybuf)-1, TT.db)) break;
|
||||
- while (isspace(*s)) s++;
|
||||
+ while (*s == ' ') s++;
|
||||
if (*s == '#') continue;
|
||||
- if (vbig && s == p) break;
|
||||
- if (strstart(&s, vbig ? device : vendor)) {
|
||||
- if (vbig) dbig = s+2;
|
||||
- else vbig = s+2;
|
||||
- s += strlen(s);
|
||||
- s[-1] = 0; // trim ending newline
|
||||
- p = s + 1;
|
||||
+ while (*s == '\t') { s++; tc++; }
|
||||
+ switch (tc) {
|
||||
+ case 0:
|
||||
+ if (strstart(&s, vendor)) {
|
||||
+ vbig = s + 2;
|
||||
+ s += strlen(s);
|
||||
+ s[-1] = 0;
|
||||
+ p = s + 1;
|
||||
+ }
|
||||
+ break;
|
||||
+ case 1:
|
||||
+ if (vbig && strstart(&s, device)) {
|
||||
+ dbig = s + 2;
|
||||
+ s += strlen(s);
|
||||
+ s[-1] = 0;
|
||||
+ p = s + 1;
|
||||
+ }
|
||||
+ break;
|
||||
+ case 2:
|
||||
+ if (strstart(&s, vendor)) {
|
||||
+ s+=5;
|
||||
+ if (strstart(&s, device))
|
||||
+ printf("subven: %s\n", s);
|
||||
+ }
|
||||
+ break;
|
||||
}
|
||||
+
|
||||
+ // if (strstart(&s, vbig ? device : vendor)) {
|
||||
+ // if (vbig) dbig = s+2;
|
||||
+ // else vbig = s+2;
|
||||
+ // s += strlen(s);
|
||||
+ // s[-1] = 0; // trim ending newline
|
||||
+ // p = s + 1;
|
||||
+ // }
|
||||
}
|
||||
}
|
35
base/toybox/mksh.patch
Normal file
35
base/toybox/mksh.patch
Normal file
|
@ -0,0 +1,35 @@
|
|||
--- a/scripts/genconfig.sh
|
||||
+++ b/scripts/genconfig.sh
|
||||
@@ -16,7 +16,7 @@
|
||||
# Symbol name is first argument, flags second, feed C file to stdin
|
||||
probesymbol()
|
||||
{
|
||||
- probecc "${@:2}" 2>/dev/null && DEFAULT=y || DEFAULT=n
|
||||
+ probecc "$2" 2>/dev/null && DEFAULT=y || DEFAULT=n
|
||||
rm a.out 2>/dev/null
|
||||
echo -e "config $1\n\tbool\n\tdefault $DEFAULT\n" || exit 1
|
||||
}
|
||||
--- a/scripts/portability.sh
|
||||
+++ b/scripts/portability.sh
|
||||
@@ -35,7 +35,7 @@
|
||||
fi
|
||||
|
||||
# Centos 7 bug workaround, EOL June 30 2024. TODO
|
||||
-DASHN=-n; wait -n 2>/dev/null; [ $? -eq 2 ] && unset DASHN
|
||||
+# DASHN=-n; wait -n 2>/dev/null; [ $? -eq 2 ] && unset DASHN
|
||||
|
||||
# If the build is using gnu tools, make them behave less randomly.
|
||||
export LANG=c
|
||||
--- a/scripts/make.sh
|
||||
+++ b/scripts/make.sh
|
||||
@@ -76,8 +76,8 @@
|
||||
echo -e "\$BUILD lib/*.c $TOYFILES \$LINK -o $OUTNAME"
|
||||
}
|
||||
|
||||
-if ! cmp -s <(genbuildsh 2>/dev/null | head -n 5) \
|
||||
- <(head -n 5 "$GENDIR"/build.sh 2>/dev/null | $SED '5s/ -o .*//')
|
||||
+if [ "$(genbuildsh 2>/dev/null | head -n 5)" != \
|
||||
+ "$(head -n 5 "$GENDIR"/build.sh 2>/dev/null | $SED '5s/ -o .*//')" ]
|
||||
then
|
||||
echo -n "Library probe"
|
||||
|
46
base/toybox/xxd-i.patch
Normal file
46
base/toybox/xxd-i.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
--- a/toys/other/xxd.c
|
||||
+++ b/toys/other/xxd.c
|
||||
@@ -77,11 +77,13 @@ static void do_xxd(int fd, char *name)
|
||||
|
||||
static void do_xxd_include(int fd, char *name)
|
||||
{
|
||||
+ long long total = 0;
|
||||
int c = 1, i, len;
|
||||
|
||||
// The original xxd outputs a header/footer if given a filename (not stdin).
|
||||
// We don't, which means that unlike the original we can implement -ri.
|
||||
while ((len = read(fd, toybuf, sizeof(toybuf))) > 0) {
|
||||
+ total += len;
|
||||
for (i = 0; i < len; ++i) {
|
||||
printf("%s%#.02x", c > 1 ? ", " : " ", toybuf[i]);
|
||||
if (c++ == TT.c) {
|
||||
--- a/toys/other/xxd.c
|
||||
+++ b/toys/other/xxd.c
|
||||
@@ -80,7 +80,12 @@
|
||||
int c = 1, i, len;
|
||||
|
||||
// The original xxd outputs a header/footer if given a filename (not stdin).
|
||||
- // We don't, which means that unlike the original we can implement -ri.
|
||||
+ // We don't, which means that unlike the original we can implement -ri
|
||||
+ printf("unsigned char %s", isdigit(name[0]) ? "__": "");
|
||||
+ for (char *n = name; *n; n++)
|
||||
+ putchar(*n == '.' ? '_' : *n);
|
||||
+ puts("[] = {");
|
||||
+
|
||||
while ((len = read(fd, toybuf, sizeof(toybuf))) > 0) {
|
||||
total += len;
|
||||
for (i = 0; i < len; ++i) {
|
||||
@@ -91,6 +96,13 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+ puts("};");
|
||||
+ printf("unsigned int %s", isdigit(name[0]) ? "__": "");
|
||||
+ for (char *n = name; *n; n++)
|
||||
+ putchar(*n == '.' ? '_' : *n);
|
||||
+
|
||||
+ printf("_len = %lld;\n", total);
|
||||
+
|
||||
if (len < 0) perror_msg_raw(name);
|
||||
if (c > 1) xputc('\n');
|
||||
}
|
34
base/wpa_supplicant/build.sh
Normal file
34
base/wpa_supplicant/build.sh
Normal file
|
@ -0,0 +1,34 @@
|
|||
pkgname=wpa_supplicant
|
||||
pkgver=2.9
|
||||
|
||||
fetch() {
|
||||
curl "https://w1.fi/releases/wpa_supplicant-2.9.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
cp ../config .
|
||||
}
|
||||
|
||||
build() {
|
||||
#############################################################################
|
||||
# This software is unlikely to be secure in the way that we are building it #
|
||||
# #
|
||||
# USE AT YOUR OWN RISK! #
|
||||
# #
|
||||
#############################################################################
|
||||
|
||||
cd $pkgname-$pkgver
|
||||
cd $pkgname
|
||||
cp ../../config .config
|
||||
|
||||
CFLAGS='-D_GNU_SOURCE -DCONFIG_LIBNL20 -DCONFIG_LIBNL20 -DLIBNL1_COMPAT -I/usr/include/libnl-tiny' gmake CONFIG_LIBNL_TINY=y
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd $pkgname
|
||||
bad --gmake gmake install DESTDIR=$pkgdir BINDIR=/usr/sbin
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
620
base/wpa_supplicant/config
Normal file
620
base/wpa_supplicant/config
Normal file
|
@ -0,0 +1,620 @@
|
|||
# Example wpa_supplicant build time configuration
|
||||
#
|
||||
# This file lists the configuration options that are used when building the
|
||||
# wpa_supplicant binary. All lines starting with # are ignored. Configuration
|
||||
# option lines must be commented out complete, if they are not to be included,
|
||||
# i.e., just setting VARIABLE=n is not disabling that variable.
|
||||
#
|
||||
# This file is included in Makefile, so variables like CFLAGS and LIBS can also
|
||||
# be modified from here. In most cases, these lines should use += in order not
|
||||
# to override previous values of the variables.
|
||||
|
||||
|
||||
# Uncomment following two lines and fix the paths if you have installed OpenSSL
|
||||
# or GnuTLS in non-default location
|
||||
#CFLAGS += -I/usr/local/openssl/include
|
||||
#LIBS += -L/usr/local/openssl/lib
|
||||
|
||||
# Some Red Hat versions seem to include kerberos header files from OpenSSL, but
|
||||
# the kerberos files are not in the default include path. Following line can be
|
||||
# used to fix build issues on such systems (krb5.h not found).
|
||||
#CFLAGS += -I/usr/include/kerberos
|
||||
|
||||
# Driver interface for generic Linux wireless extensions
|
||||
# Note: WEXT is deprecated in the current Linux kernel version and no new
|
||||
# functionality is added to it. nl80211-based interface is the new
|
||||
# replacement for WEXT and its use allows wpa_supplicant to properly control
|
||||
# the driver to improve existing functionality like roaming and to support new
|
||||
# functionality.
|
||||
CONFIG_DRIVER_WEXT=y
|
||||
|
||||
# Driver interface for Linux drivers using the nl80211 kernel interface
|
||||
CONFIG_DRIVER_NL80211=y
|
||||
|
||||
# QCA vendor extensions to nl80211
|
||||
#CONFIG_DRIVER_NL80211_QCA=y
|
||||
|
||||
# driver_nl80211.c requires libnl. If you are compiling it yourself
|
||||
# you may need to point hostapd to your version of libnl.
|
||||
#
|
||||
#CFLAGS += -I$<path to libnl include files>
|
||||
#LIBS += -L$<path to libnl library files>
|
||||
|
||||
# Use libnl v2.0 (or 3.0) libraries.
|
||||
#CONFIG_LIBNL20=y
|
||||
|
||||
# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
|
||||
#CONFIG_LIBNL32=y
|
||||
|
||||
|
||||
# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
|
||||
#CONFIG_DRIVER_BSD=y
|
||||
#CFLAGS += -I/usr/local/include
|
||||
#LIBS += -L/usr/local/lib
|
||||
#LIBS_p += -L/usr/local/lib
|
||||
#LIBS_c += -L/usr/local/lib
|
||||
|
||||
# Driver interface for Windows NDIS
|
||||
#CONFIG_DRIVER_NDIS=y
|
||||
#CFLAGS += -I/usr/include/w32api/ddk
|
||||
#LIBS += -L/usr/local/lib
|
||||
# For native build using mingw
|
||||
#CONFIG_NATIVE_WINDOWS=y
|
||||
# Additional directories for cross-compilation on Linux host for mingw target
|
||||
#CFLAGS += -I/opt/mingw/mingw32/include/ddk
|
||||
#LIBS += -L/opt/mingw/mingw32/lib
|
||||
#CC=mingw32-gcc
|
||||
# By default, driver_ndis uses WinPcap for low-level operations. This can be
|
||||
# replaced with the following option which replaces WinPcap calls with NDISUIO.
|
||||
# However, this requires that WZC is disabled (net stop wzcsvc) before starting
|
||||
# wpa_supplicant.
|
||||
# CONFIG_USE_NDISUIO=y
|
||||
|
||||
# Driver interface for wired Ethernet drivers
|
||||
CONFIG_DRIVER_WIRED=y
|
||||
|
||||
# Driver interface for MACsec capable Qualcomm Atheros drivers
|
||||
#CONFIG_DRIVER_MACSEC_QCA=y
|
||||
|
||||
# Driver interface for Linux MACsec drivers
|
||||
#CONFIG_DRIVER_MACSEC_LINUX=y
|
||||
|
||||
# Driver interface for the Broadcom RoboSwitch family
|
||||
#CONFIG_DRIVER_ROBOSWITCH=y
|
||||
|
||||
# Driver interface for no driver (e.g., WPS ER only)
|
||||
#CONFIG_DRIVER_NONE=y
|
||||
|
||||
# Solaris libraries
|
||||
#LIBS += -lsocket -ldlpi -lnsl
|
||||
#LIBS_c += -lsocket
|
||||
|
||||
# Enable IEEE 802.1X Supplicant (automatically included if any EAP method or
|
||||
# MACsec is included)
|
||||
CONFIG_IEEE8021X_EAPOL=y
|
||||
|
||||
# EAP-MD5
|
||||
CONFIG_EAP_MD5=y
|
||||
|
||||
# EAP-MSCHAPv2
|
||||
CONFIG_EAP_MSCHAPV2=y
|
||||
|
||||
# EAP-TLS
|
||||
CONFIG_EAP_TLS=y
|
||||
|
||||
# EAL-PEAP
|
||||
CONFIG_EAP_PEAP=y
|
||||
|
||||
# EAP-TTLS
|
||||
CONFIG_EAP_TTLS=y
|
||||
|
||||
# EAP-FAST
|
||||
CONFIG_EAP_FAST=y
|
||||
|
||||
# EAP-TEAP
|
||||
# Note: The current EAP-TEAP implementation is experimental and should not be
|
||||
# enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number
|
||||
# of conflicting statements and missing details and the implementation has
|
||||
# vendor specific workarounds for those and as such, may not interoperate with
|
||||
# any other implementation. This should not be used for anything else than
|
||||
# experimentation and interoperability testing until those issues has been
|
||||
# resolved.
|
||||
#CONFIG_EAP_TEAP=y
|
||||
|
||||
# EAP-GTC
|
||||
CONFIG_EAP_GTC=y
|
||||
|
||||
# EAP-OTP
|
||||
CONFIG_EAP_OTP=y
|
||||
|
||||
# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
|
||||
#CONFIG_EAP_SIM=y
|
||||
|
||||
# Enable SIM simulator (Milenage) for EAP-SIM
|
||||
#CONFIG_SIM_SIMULATOR=y
|
||||
|
||||
# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
|
||||
#CONFIG_EAP_PSK=y
|
||||
|
||||
# EAP-pwd (secure authentication using only a password)
|
||||
#CONFIG_EAP_PWD=y
|
||||
|
||||
# EAP-PAX
|
||||
#CONFIG_EAP_PAX=y
|
||||
|
||||
# LEAP
|
||||
CONFIG_EAP_LEAP=y
|
||||
|
||||
# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
|
||||
#CONFIG_EAP_AKA=y
|
||||
|
||||
# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used).
|
||||
# This requires CONFIG_EAP_AKA to be enabled, too.
|
||||
#CONFIG_EAP_AKA_PRIME=y
|
||||
|
||||
# Enable USIM simulator (Milenage) for EAP-AKA
|
||||
#CONFIG_USIM_SIMULATOR=y
|
||||
|
||||
# EAP-SAKE
|
||||
#CONFIG_EAP_SAKE=y
|
||||
|
||||
# EAP-GPSK
|
||||
#CONFIG_EAP_GPSK=y
|
||||
# Include support for optional SHA256 cipher suite in EAP-GPSK
|
||||
#CONFIG_EAP_GPSK_SHA256=y
|
||||
|
||||
# EAP-TNC and related Trusted Network Connect support (experimental)
|
||||
#CONFIG_EAP_TNC=y
|
||||
|
||||
# Wi-Fi Protected Setup (WPS)
|
||||
CONFIG_WPS=y
|
||||
# Enable WPS external registrar functionality
|
||||
#CONFIG_WPS_ER=y
|
||||
# Disable credentials for an open network by default when acting as a WPS
|
||||
# registrar.
|
||||
#CONFIG_WPS_REG_DISABLE_OPEN=y
|
||||
# Enable WPS support with NFC config method
|
||||
#CONFIG_WPS_NFC=y
|
||||
|
||||
# EAP-IKEv2
|
||||
#CONFIG_EAP_IKEV2=y
|
||||
|
||||
# EAP-EKE
|
||||
#CONFIG_EAP_EKE=y
|
||||
|
||||
# MACsec
|
||||
#CONFIG_MACSEC=y
|
||||
|
||||
# PKCS#12 (PFX) support (used to read private key and certificate file from
|
||||
# a file that usually has extension .p12 or .pfx)
|
||||
CONFIG_PKCS12=y
|
||||
|
||||
# Smartcard support (i.e., private key on a smartcard), e.g., with openssl
|
||||
# engine.
|
||||
CONFIG_SMARTCARD=y
|
||||
|
||||
# PC/SC interface for smartcards (USIM, GSM SIM)
|
||||
# Enable this if EAP-SIM or EAP-AKA is included
|
||||
#CONFIG_PCSC=y
|
||||
|
||||
# Support HT overrides (disable HT/HT40, mask MCS rates, etc.)
|
||||
CONFIG_HT_OVERRIDES=y
|
||||
|
||||
# Support VHT overrides (disable VHT, mask MCS rates, etc.)
|
||||
CONFIG_VHT_OVERRIDES=y
|
||||
|
||||
# Development testing
|
||||
#CONFIG_EAPOL_TEST=y
|
||||
|
||||
# Select control interface backend for external programs, e.g, wpa_cli:
|
||||
# unix = UNIX domain sockets (default for Linux/*BSD)
|
||||
# udp = UDP sockets using localhost (127.0.0.1)
|
||||
# udp6 = UDP IPv6 sockets using localhost (::1)
|
||||
# named_pipe = Windows Named Pipe (default for Windows)
|
||||
# udp-remote = UDP sockets with remote access (only for tests systems/purpose)
|
||||
# udp6-remote = UDP IPv6 sockets with remote access (only for tests purpose)
|
||||
# y = use default (backwards compatibility)
|
||||
# If this option is commented out, control interface is not included in the
|
||||
# build.
|
||||
CONFIG_CTRL_IFACE=y
|
||||
|
||||
# Include support for GNU Readline and History Libraries in wpa_cli.
|
||||
# When building a wpa_cli binary for distribution, please note that these
|
||||
# libraries are licensed under GPL and as such, BSD license may not apply for
|
||||
# the resulting binary.
|
||||
#CONFIG_READLINE=y
|
||||
|
||||
# Include internal line edit mode in wpa_cli. This can be used as a replacement
|
||||
# for GNU Readline to provide limited command line editing and history support.
|
||||
#CONFIG_WPA_CLI_EDIT=y
|
||||
|
||||
# Remove debugging code that is printing out debug message to stdout.
|
||||
# This can be used to reduce the size of the wpa_supplicant considerably
|
||||
# if debugging code is not needed. The size reduction can be around 35%
|
||||
# (e.g., 90 kB).
|
||||
#CONFIG_NO_STDOUT_DEBUG=y
|
||||
|
||||
# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save
|
||||
# 35-50 kB in code size.
|
||||
#CONFIG_NO_WPA=y
|
||||
|
||||
# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support
|
||||
# This option can be used to reduce code size by removing support for
|
||||
# converting ASCII passphrases into PSK. If this functionality is removed, the
|
||||
# PSK can only be configured as the 64-octet hexstring (e.g., from
|
||||
# wpa_passphrase). This saves about 0.5 kB in code size.
|
||||
#CONFIG_NO_WPA_PASSPHRASE=y
|
||||
|
||||
# Simultaneous Authentication of Equals (SAE), WPA3-Personal
|
||||
#CONFIG_SAE=y
|
||||
|
||||
# Disable scan result processing (ap_mode=1) to save code size by about 1 kB.
|
||||
# This can be used if ap_scan=1 mode is never enabled.
|
||||
#CONFIG_NO_SCAN_PROCESSING=y
|
||||
|
||||
# Select configuration backend:
|
||||
# file = text file (e.g., wpa_supplicant.conf; note: the configuration file
|
||||
# path is given on command line, not here; this option is just used to
|
||||
# select the backend that allows configuration files to be used)
|
||||
# winreg = Windows registry (see win_example.reg for an example)
|
||||
CONFIG_BACKEND=file
|
||||
|
||||
# Remove configuration write functionality (i.e., to allow the configuration
|
||||
# file to be updated based on runtime configuration changes). The runtime
|
||||
# configuration can still be changed, the changes are just not going to be
|
||||
# persistent over restarts. This option can be used to reduce code size by
|
||||
# about 3.5 kB.
|
||||
#CONFIG_NO_CONFIG_WRITE=y
|
||||
|
||||
# Remove support for configuration blobs to reduce code size by about 1.5 kB.
|
||||
#CONFIG_NO_CONFIG_BLOBS=y
|
||||
|
||||
# Select program entry point implementation:
|
||||
# main = UNIX/POSIX like main() function (default)
|
||||
# main_winsvc = Windows service (read parameters from registry)
|
||||
# main_none = Very basic example (development use only)
|
||||
#CONFIG_MAIN=main
|
||||
|
||||
# Select wrapper for operating system and C library specific functions
|
||||
# unix = UNIX/POSIX like systems (default)
|
||||
# win32 = Windows systems
|
||||
# none = Empty template
|
||||
#CONFIG_OS=unix
|
||||
|
||||
# Select event loop implementation
|
||||
# eloop = select() loop (default)
|
||||
# eloop_win = Windows events and WaitForMultipleObject() loop
|
||||
#CONFIG_ELOOP=eloop
|
||||
|
||||
# Should we use poll instead of select? Select is used by default.
|
||||
#CONFIG_ELOOP_POLL=y
|
||||
|
||||
# Should we use epoll instead of select? Select is used by default.
|
||||
#CONFIG_ELOOP_EPOLL=y
|
||||
|
||||
# Should we use kqueue instead of select? Select is used by default.
|
||||
#CONFIG_ELOOP_KQUEUE=y
|
||||
|
||||
# Select layer 2 packet implementation
|
||||
# linux = Linux packet socket (default)
|
||||
# pcap = libpcap/libdnet/WinPcap
|
||||
# freebsd = FreeBSD libpcap
|
||||
# winpcap = WinPcap with receive thread
|
||||
# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y)
|
||||
# none = Empty template
|
||||
#CONFIG_L2_PACKET=linux
|
||||
|
||||
# Disable Linux packet socket workaround applicable for station interface
|
||||
# in a bridge for EAPOL frames. This should be uncommented only if the kernel
|
||||
# is known to not have the regression issue in packet socket behavior with
|
||||
# bridge interfaces (commit 'bridge: respect RFC2863 operational state')').
|
||||
CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y
|
||||
|
||||
# IEEE 802.11w (management frame protection), also known as PMF
|
||||
# Driver support is also needed for IEEE 802.11w.
|
||||
#CONFIG_IEEE80211W=y
|
||||
|
||||
# Support Operating Channel Validation
|
||||
#CONFIG_OCV=y
|
||||
|
||||
# Select TLS implementation
|
||||
# openssl = OpenSSL (default)
|
||||
# gnutls = GnuTLS
|
||||
# internal = Internal TLSv1 implementation (experimental)
|
||||
# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental)
|
||||
# none = Empty template
|
||||
CONFIG_TLS=internal
|
||||
|
||||
# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
|
||||
# can be enabled to get a stronger construction of messages when block ciphers
|
||||
# are used. It should be noted that some existing TLS v1.0 -based
|
||||
# implementation may not be compatible with TLS v1.1 message (ClientHello is
|
||||
# sent prior to negotiating which version will be used)
|
||||
#CONFIG_TLSV11=y
|
||||
|
||||
# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
|
||||
# can be enabled to enable use of stronger crypto algorithms. It should be
|
||||
# noted that some existing TLS v1.0 -based implementation may not be compatible
|
||||
# with TLS v1.2 message (ClientHello is sent prior to negotiating which version
|
||||
# will be used)
|
||||
#CONFIG_TLSV12=y
|
||||
|
||||
# Select which ciphers to use by default with OpenSSL if the user does not
|
||||
# specify them.
|
||||
#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW"
|
||||
|
||||
# If CONFIG_TLS=internal is used, additional library and include paths are
|
||||
# needed for LibTomMath. Alternatively, an integrated, minimal version of
|
||||
# LibTomMath can be used. See beginning of libtommath.c for details on benefits
|
||||
# and drawbacks of this option.
|
||||
CONFIG_INTERNAL_LIBTOMMATH=y
|
||||
#ifndef CONFIG_INTERNAL_LIBTOMMATH
|
||||
#LTM_PATH=/usr/src/libtommath-0.39
|
||||
#CFLAGS += -I$(LTM_PATH)
|
||||
#LIBS += -L$(LTM_PATH)
|
||||
#LIBS_p += -L$(LTM_PATH)
|
||||
#endif
|
||||
# At the cost of about 4 kB of additional binary size, the internal LibTomMath
|
||||
# can be configured to include faster routines for exptmod, sqr, and div to
|
||||
# speed up DH and RSA calculation considerably
|
||||
CONFIG_INTERNAL_LIBTOMMATH_FAST=y
|
||||
|
||||
# Include NDIS event processing through WMI into wpa_supplicant/wpasvc.
|
||||
# This is only for Windows builds and requires WMI-related header files and
|
||||
# WbemUuid.Lib from Platform SDK even when building with MinGW.
|
||||
#CONFIG_NDIS_EVENTS_INTEGRATED=y
|
||||
#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib"
|
||||
|
||||
# Add support for new DBus control interface
|
||||
# (fi.w1.hostap.wpa_supplicant1)
|
||||
#CONFIG_CTRL_IFACE_DBUS_NEW=y
|
||||
|
||||
# Add introspection support for new DBus control interface
|
||||
#CONFIG_CTRL_IFACE_DBUS_INTRO=y
|
||||
|
||||
# Add support for loading EAP methods dynamically as shared libraries.
|
||||
# When this option is enabled, each EAP method can be either included
|
||||
# statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn).
|
||||
# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to
|
||||
# be loaded in the beginning of the wpa_supplicant configuration file
|
||||
# (see load_dynamic_eap parameter in the example file) before being used in
|
||||
# the network blocks.
|
||||
#
|
||||
# Note that some shared parts of EAP methods are included in the main program
|
||||
# and in order to be able to use dynamic EAP methods using these parts, the
|
||||
# main program must have been build with the EAP method enabled (=y or =dyn).
|
||||
# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries
|
||||
# unless at least one of them was included in the main build to force inclusion
|
||||
# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included
|
||||
# in the main build to be able to load these methods dynamically.
|
||||
#
|
||||
# Please also note that using dynamic libraries will increase the total binary
|
||||
# size. Thus, it may not be the best option for targets that have limited
|
||||
# amount of memory/flash.
|
||||
#CONFIG_DYNAMIC_EAP_METHODS=y
|
||||
|
||||
# IEEE Std 802.11r-2008 (Fast BSS Transition) for station mode
|
||||
CONFIG_IEEE80211R=y
|
||||
|
||||
# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
|
||||
#CONFIG_DEBUG_FILE=y
|
||||
|
||||
# Send debug messages to syslog instead of stdout
|
||||
CONFIG_DEBUG_SYSLOG=y
|
||||
# Set syslog facility for debug messages
|
||||
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
|
||||
|
||||
# Add support for sending all debug messages (regardless of debug verbosity)
|
||||
# to the Linux kernel tracing facility. This helps debug the entire stack by
|
||||
# making it easy to record everything happening from the driver up into the
|
||||
# same file, e.g., using trace-cmd.
|
||||
#CONFIG_DEBUG_LINUX_TRACING=y
|
||||
|
||||
# Add support for writing debug log to Android logcat instead of standard
|
||||
# output
|
||||
#CONFIG_ANDROID_LOG=y
|
||||
|
||||
# Enable privilege separation (see README 'Privilege separation' for details)
|
||||
#CONFIG_PRIVSEP=y
|
||||
|
||||
# Enable mitigation against certain attacks against TKIP by delaying Michael
|
||||
# MIC error reports by a random amount of time between 0 and 60 seconds
|
||||
#CONFIG_DELAYED_MIC_ERROR_REPORT=y
|
||||
|
||||
# Enable tracing code for developer debugging
|
||||
# This tracks use of memory allocations and other registrations and reports
|
||||
# incorrect use with a backtrace of call (or allocation) location.
|
||||
#CONFIG_WPA_TRACE=y
|
||||
# For BSD, uncomment these.
|
||||
#LIBS += -lexecinfo
|
||||
#LIBS_p += -lexecinfo
|
||||
#LIBS_c += -lexecinfo
|
||||
|
||||
# Use libbfd to get more details for developer debugging
|
||||
# This enables use of libbfd to get more detailed symbols for the backtraces
|
||||
# generated by CONFIG_WPA_TRACE=y.
|
||||
#CONFIG_WPA_TRACE_BFD=y
|
||||
# For BSD, uncomment these.
|
||||
#LIBS += -lbfd -liberty -lz
|
||||
#LIBS_p += -lbfd -liberty -lz
|
||||
#LIBS_c += -lbfd -liberty -lz
|
||||
|
||||
# wpa_supplicant depends on strong random number generation being available
|
||||
# from the operating system. os_get_random() function is used to fetch random
|
||||
# data when needed, e.g., for key generation. On Linux and BSD systems, this
|
||||
# works by reading /dev/urandom. It should be noted that the OS entropy pool
|
||||
# needs to be properly initialized before wpa_supplicant is started. This is
|
||||
# important especially on embedded devices that do not have a hardware random
|
||||
# number generator and may by default start up with minimal entropy available
|
||||
# for random number generation.
|
||||
#
|
||||
# As a safety net, wpa_supplicant is by default trying to internally collect
|
||||
# additional entropy for generating random data to mix in with the data fetched
|
||||
# from the OS. This by itself is not considered to be very strong, but it may
|
||||
# help in cases where the system pool is not initialized properly. However, it
|
||||
# is very strongly recommended that the system pool is initialized with enough
|
||||
# entropy either by using hardware assisted random number generator or by
|
||||
# storing state over device reboots.
|
||||
#
|
||||
# wpa_supplicant can be configured to maintain its own entropy store over
|
||||
# restarts to enhance random number generation. This is not perfect, but it is
|
||||
# much more secure than using the same sequence of random numbers after every
|
||||
# reboot. This can be enabled with -e<entropy file> command line option. The
|
||||
# specified file needs to be readable and writable by wpa_supplicant.
|
||||
#
|
||||
# If the os_get_random() is known to provide strong random data (e.g., on
|
||||
# Linux/BSD, the board in question is known to have reliable source of random
|
||||
# data from /dev/urandom), the internal wpa_supplicant random pool can be
|
||||
# disabled. This will save some in binary size and CPU use. However, this
|
||||
# should only be considered for builds that are known to be used on devices
|
||||
# that meet the requirements described above.
|
||||
CONFIG_NO_RANDOM_POOL=y
|
||||
|
||||
# Should we attempt to use the getrandom(2) call that provides more reliable
|
||||
# yet secure randomness source than /dev/random on Linux 3.17 and newer.
|
||||
# Requires glibc 2.25 to build, falls back to /dev/random if unavailable.
|
||||
CONFIG_GETRANDOM=y
|
||||
|
||||
# IEEE 802.11n (High Throughput) support (mainly for AP mode)
|
||||
#CONFIG_IEEE80211N=y
|
||||
|
||||
# IEEE 802.11ac (Very High Throughput) support (mainly for AP mode)
|
||||
# (depends on CONFIG_IEEE80211N)
|
||||
#CONFIG_IEEE80211AC=y
|
||||
|
||||
# Wireless Network Management (IEEE Std 802.11v-2011)
|
||||
# Note: This is experimental and not complete implementation.
|
||||
CONFIG_WNM=y
|
||||
|
||||
# Interworking (IEEE 802.11u)
|
||||
# This can be used to enable functionality to improve interworking with
|
||||
# external networks (GAS/ANQP to learn more about the networks and network
|
||||
# selection based on available credentials).
|
||||
#CONFIG_INTERWORKING=y
|
||||
|
||||
# Hotspot 2.0
|
||||
#CONFIG_HS20=y
|
||||
|
||||
# Enable interface matching in wpa_supplicant
|
||||
#CONFIG_MATCH_IFACE=y
|
||||
|
||||
# Disable roaming in wpa_supplicant
|
||||
#CONFIG_NO_ROAMING=y
|
||||
|
||||
# AP mode operations with wpa_supplicant
|
||||
# This can be used for controlling AP mode operations with wpa_supplicant. It
|
||||
# should be noted that this is mainly aimed at simple cases like
|
||||
# WPA2-Personal while more complex configurations like WPA2-Enterprise with an
|
||||
# external RADIUS server can be supported with hostapd.
|
||||
#CONFIG_AP=y
|
||||
|
||||
# P2P (Wi-Fi Direct)
|
||||
# This can be used to enable P2P support in wpa_supplicant. See README-P2P for
|
||||
# more information on P2P operations.
|
||||
#CONFIG_P2P=y
|
||||
|
||||
# Enable TDLS support
|
||||
#CONFIG_TDLS=y
|
||||
|
||||
# Wi-Fi Display
|
||||
# This can be used to enable Wi-Fi Display extensions for P2P using an external
|
||||
# program to control the additional information exchanges in the messages.
|
||||
#CONFIG_WIFI_DISPLAY=y
|
||||
|
||||
# Autoscan
|
||||
# This can be used to enable automatic scan support in wpa_supplicant.
|
||||
# See wpa_supplicant.conf for more information on autoscan usage.
|
||||
#
|
||||
# Enabling directly a module will enable autoscan support.
|
||||
# For exponential module:
|
||||
#CONFIG_AUTOSCAN_EXPONENTIAL=y
|
||||
# For periodic module:
|
||||
#CONFIG_AUTOSCAN_PERIODIC=y
|
||||
|
||||
# Password (and passphrase, etc.) backend for external storage
|
||||
# These optional mechanisms can be used to add support for storing passwords
|
||||
# and other secrets in external (to wpa_supplicant) location. This allows, for
|
||||
# example, operating system specific key storage to be used
|
||||
#
|
||||
# External password backend for testing purposes (developer use)
|
||||
#CONFIG_EXT_PASSWORD_TEST=y
|
||||
|
||||
# Enable Fast Session Transfer (FST)
|
||||
#CONFIG_FST=y
|
||||
|
||||
# Enable CLI commands for FST testing
|
||||
#CONFIG_FST_TEST=y
|
||||
|
||||
# OS X builds. This is only for building eapol_test.
|
||||
#CONFIG_OSX=y
|
||||
|
||||
# Automatic Channel Selection
|
||||
# This will allow wpa_supplicant to pick the channel automatically when channel
|
||||
# is set to "0".
|
||||
#
|
||||
# TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative
|
||||
# to "channel=0". This would enable us to eventually add other ACS algorithms in
|
||||
# similar way.
|
||||
#
|
||||
# Automatic selection is currently only done through initialization, later on
|
||||
# we hope to do background checks to keep us moving to more ideal channels as
|
||||
# time goes by. ACS is currently only supported through the nl80211 driver and
|
||||
# your driver must have survey dump capability that is filled by the driver
|
||||
# during scanning.
|
||||
#
|
||||
# TODO: In analogy to hostapd be able to customize the ACS survey algorithm with
|
||||
# a newly to create wpa_supplicant.conf variable acs_num_scans.
|
||||
#
|
||||
# Supported ACS drivers:
|
||||
# * ath9k
|
||||
# * ath5k
|
||||
# * ath10k
|
||||
#
|
||||
# For more details refer to:
|
||||
# http://wireless.kernel.org/en/users/Documentation/acs
|
||||
#CONFIG_ACS=y
|
||||
|
||||
# Support Multi Band Operation
|
||||
#CONFIG_MBO=y
|
||||
|
||||
# Fast Initial Link Setup (FILS) (IEEE 802.11ai)
|
||||
#CONFIG_FILS=y
|
||||
# FILS shared key authentication with PFS
|
||||
#CONFIG_FILS_SK_PFS=y
|
||||
|
||||
# Support RSN on IBSS networks
|
||||
# This is needed to be able to use mode=1 network profile with proto=RSN and
|
||||
# key_mgmt=WPA-PSK (i.e., full key management instead of WPA-None).
|
||||
CONFIG_IBSS_RSN=y
|
||||
|
||||
# External PMKSA cache control
|
||||
# This can be used to enable control interface commands that allow the current
|
||||
# PMKSA cache entries to be fetched and new entries to be added.
|
||||
#CONFIG_PMKSA_CACHE_EXTERNAL=y
|
||||
|
||||
# Mesh Networking (IEEE 802.11s)
|
||||
#CONFIG_MESH=y
|
||||
|
||||
# Background scanning modules
|
||||
# These can be used to request wpa_supplicant to perform background scanning
|
||||
# operations for roaming within an ESS (same SSID). See the bgscan parameter in
|
||||
# the wpa_supplicant.conf file for more details.
|
||||
# Periodic background scans based on signal strength
|
||||
#CONFIG_BGSCAN_SIMPLE=y
|
||||
# Learn channels used by the network and try to avoid bgscans on other
|
||||
# channels (experimental)
|
||||
#CONFIG_BGSCAN_LEARN=y
|
||||
|
||||
# Opportunistic Wireless Encryption (OWE)
|
||||
# Experimental implementation of draft-harkins-owe-07.txt
|
||||
#CONFIG_OWE=y
|
||||
|
||||
# Device Provisioning Protocol (DPP)
|
||||
# This requires CONFIG_IEEE80211W=y to be enabled, too. (see
|
||||
# wpa_supplicant/README-DPP for details)
|
||||
#CONFIG_DPP=y
|
||||
|
||||
# uBus IPC/RPC System
|
||||
# Services can connect to the bus and provide methods
|
||||
# that can be called by other services or clients.
|
||||
CONFIG_UBUS=y
|
44
base/zlib-ng/build.sh
Normal file
44
base/zlib-ng/build.sh
Normal file
|
@ -0,0 +1,44 @@
|
|||
pkgname=zlib-ng
|
||||
pkgver=2.0.5
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mkdir $pkgname-$pkgver/build
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
|
||||
PREFIX=/usr
|
||||
|
||||
[ -z "$WITH_CROSS" ] || cmake_extra_flags="-DCMAKE_CROSSCOMPILING=ON \
|
||||
-DCMAKE_SYSROOT=$WITH_CROSS_DIR \
|
||||
-DCMAKE_C_COMPILER_TARGET=$ARCH-linux-musl"
|
||||
[ -z "$FOR_CROSS" ] || PREFIX=$FOR_CROSS_DIR
|
||||
|
||||
cmake -G Ninja ../ \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$PREFIX \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib \
|
||||
-DZLIB_COMPAT=ON \
|
||||
$cmake_extra_flags
|
||||
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE.md
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
29
base/zstd/build.sh
Normal file
29
base/zstd/build.sh
Normal file
|
@ -0,0 +1,29 @@
|
|||
pkgname=zstd
|
||||
pkgver=1.5.2
|
||||
auto_cross
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/facebook/zstd/releases/download/v$pkgver/zstd-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install PREFIX=/usr DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
3
bootstrap/README.md
Normal file
3
bootstrap/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Bootstrap
|
||||
These packages are not meant to be used in a complete Iglunix system but are
|
||||
ment as a stepping stone to build the full packages.
|
33
bootstrap/rust/build.sh
Normal file
33
bootstrap/rust/build.sh
Normal file
|
@ -0,0 +1,33 @@
|
|||
pkgname=rust
|
||||
pkgver=beta
|
||||
|
||||
fetch() {
|
||||
curl "https://static.rust-lang.org/dist/rust-$pkgver-$ARCH-unknown-linux-musl.tar.gz" -o rust.tar.gz
|
||||
tar -xf rust.tar.gz
|
||||
}
|
||||
|
||||
build() {
|
||||
[ -f libgcc_s.so ] \
|
||||
|| clang -shared -o libgcc_s.so \
|
||||
-Wl,--allow-multiple-definition -Wl,--whole-archive \
|
||||
$(clang -print-libgcc-file-name) -lunwind
|
||||
}
|
||||
|
||||
package() {
|
||||
[ -f $pkgdir/opt/rust/lib/rustlib/uninstall.sh ] \
|
||||
|| ./rust-$pkgver-$ARCH-unknown-linux-musl/install.sh \
|
||||
--disable-ldconfig \
|
||||
--destdir=$pkgdir \
|
||||
--prefix=/opt/rust
|
||||
|
||||
[ -f $pkgdir/opt/rust/lib/libgcc_s.so.1 ] \
|
||||
|| cp ./libgcc_s.so $pkgdir/opt/rust/lib/libgcc_s.so.1
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
return
|
||||
}
|
59
docs/index.md
Normal file
59
docs/index.md
Normal file
|
@ -0,0 +1,59 @@
|
|||
# Iglunix Linux
|
||||
|
||||
|
||||
## Building
|
||||
Inorder to build from source you need a complete LLVM/Musl toolchain.
|
||||
I have provided one on the releases page on this repo.
|
||||
|
||||
```sh
|
||||
tar -xf llvm...tar.xz -C $LBROOT
|
||||
|
||||
```
|
||||
|
||||
Next one must install musl from source
|
||||
```sh
|
||||
./configure --prefix=/usr --enable-wrapper=no
|
||||
make
|
||||
make install DESTDIR=$LBROOT
|
||||
```
|
||||
Next one must grab the binary releases of busybox and toybox from
|
||||
their respective websites and place them in `$LBROOT/bin`
|
||||
|
||||
|
||||
Next one needs to chroot into `$LBROOT`
|
||||
```sh
|
||||
doas chroot $LBROOT /bin/busybox --install -s
|
||||
doas chroot $LBROOT /bin/sh
|
||||
```
|
||||
One may need to adjust their `$PATH`.
|
||||
|
||||
One needs to cross compile GNU Make and place it in `/usr/bin/gmake`
|
||||
|
||||
From here one needs to build the first package, `mksh` which will
|
||||
allow one to rebuild `toybox` and `busybox`.
|
||||
|
||||
Clone this git repo into `$LBROOT/root/iglunix` and then chroot to `$LBROOT`
|
||||
```sh
|
||||
cd /root/iglunix
|
||||
|
||||
cd pkgs/mksh
|
||||
../../iglupkg.sh
|
||||
tar -xf out/mksh*.tar.xz -C /
|
||||
|
||||
cd ../..
|
||||
|
||||
cd pkgs/bmake
|
||||
../../iglupkg.sh
|
||||
tar -xf out/bmake*.tar.xz -C /
|
||||
|
||||
cd ../..
|
||||
|
||||
cd pkgs/gmake
|
||||
../../iglupkg.sh
|
||||
tar-xf out/gmake*.tar.xz -C /
|
||||
|
||||
cd ../../
|
||||
```
|
||||
Build packages like above. There is a problem with building CMake as it needs LibreSSL but LibreSSL needs CMake to build.
|
||||
To get around this one will need to manually build LibreSSL with `./configure` first, then build CMake then rebuild
|
||||
LibreSSL.
|
|
@ -1,22 +0,0 @@
|
|||
fetch() {
|
||||
# in ./src
|
||||
# for fetching and patching source files
|
||||
}
|
||||
|
||||
build() {
|
||||
# in ./src
|
||||
# configure and build
|
||||
./configure --prefix=/
|
||||
# make is bmake
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
# in ./src
|
||||
# make is bmake
|
||||
make install DESTDIR=$pkgdir
|
||||
# samurai is the default ninja implementation
|
||||
DESTDIR=$pkgdir samu install
|
||||
# for rust programs we just do this
|
||||
install -Dm755 target/release/$pkgname $pkgdir/bin
|
||||
}
|
28
extra/alsa-lib/build.sh
Normal file
28
extra/alsa-lib/build.sh
Normal file
|
@ -0,0 +1,28 @@
|
|||
pkgname=alsa-lib
|
||||
pkgver=1.2.5.1
|
||||
|
||||
fetch() {
|
||||
curl -L "http://www.alsa-project.org/files/pub/lib/alsa-lib-$pkgver.tar.bz2" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=$TRIPLE \
|
||||
--host=$TRIPLE
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
34
extra/autossh/build.sh
Normal file
34
extra/autossh/build.sh
Normal file
|
@ -0,0 +1,34 @@
|
|||
pkgname=autossh
|
||||
pkgver=1.4g
|
||||
|
||||
fetch() {
|
||||
curl "https://www.harding.motd.ca/autossh/autossh-$pkgver.tgz" -LO
|
||||
tar -xf $pkgname-$pkgver.tgz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--mandir=/usr/share/man \
|
||||
--build=$TRIPLE \
|
||||
--host=$TRIPLE
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
backup() {
|
||||
return
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
22
extra/bat/build.sh
Normal file
22
extra/bat/build.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
pkgname=bat
|
||||
pkgver=0.17.1
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/sharkdp/bat/archive/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cargo build --release --locked --all-features
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -Dm 755 target/release/${pkgname} "${pkgdir}/usr/bin/"
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE-MIT
|
||||
}
|
30
extra/brotli/build.sh
Normal file
30
extra/brotli/build.sh
Normal file
|
@ -0,0 +1,30 @@
|
|||
pkgname=brotli
|
||||
pkgver=1.0.9
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/google/brotli/archive/refs/tags/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mkdir $pkgname-$pkgver/build
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
cmake -G Ninja ../ \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
52
extra/bzip2/build.sh
Normal file
52
extra/bzip2/build.sh
Normal file
|
@ -0,0 +1,52 @@
|
|||
pkgname=bzip2
|
||||
pkgver=1.0.8
|
||||
ext=dev
|
||||
|
||||
fetch() {
|
||||
curl "https://sourceware.org/pub/bzip2/$pkgname-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
|
||||
make -f Makefile-libbz2_so CC=cc
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/usr/lib/
|
||||
install -Dm755 ./libbz2.so.$pkgver $pkgdir/usr/lib/
|
||||
ln -sr $pkgdir/usr/lib/libbz2.so.$pkgver $pkgdir/usr/lib/libbz2.so
|
||||
ln -sr $pkgdir/usr/lib/libbz2.so.$pkgver $pkgdir/usr/lib/libbz2.so.1
|
||||
ln -sr $pkgdir/usr/lib/libbz2.so.$pkgver $pkgdir/usr/lib/libbz2.so.1.0
|
||||
}
|
||||
|
||||
package_dev() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/usr/include/
|
||||
install -Dm644 ./bzlib.h $pkgdir/usr/include/
|
||||
install -d $pkgdir/usr/share/pkgconfig/
|
||||
|
||||
cat > $pkgdir/usr/share/pkgconfig/bzip2.pc << EOF
|
||||
prefix=/usr
|
||||
exec_prefix=/usr
|
||||
bindir=${exec_prefix}/bin
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: bzip2
|
||||
Description: A file compression library
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lbz2
|
||||
Cflags: -I${includedir}
|
||||
EOF
|
||||
|
||||
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
30
extra/cbindgen/build.sh
Normal file
30
extra/cbindgen/build.sh
Normal file
|
@ -0,0 +1,30 @@
|
|||
pkgname=cbindgen
|
||||
pkgver=0.20.0
|
||||
|
||||
_clear_vendor_checksums() {
|
||||
sed -i 's/\("files":{\)[^}]*/\1/' vendor/$1/.cargo-checksum.json
|
||||
}
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/eqrion/cbindgen/archive/refs/tags/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
cd $pkgname-$pkgver
|
||||
mkdir -p .cargo
|
||||
cargo vendor > .cargo/config
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cargo build --release --locked --all-features
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -Dm755 target/release/$pkgname $pkgdir/usr/bin/$pkgname
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
30
extra/ccache/build.sh
Normal file
30
extra/ccache/build.sh
Normal file
|
@ -0,0 +1,30 @@
|
|||
pkgname=ccache
|
||||
pkgver=4.2.1
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/ccache/ccache/releases/download/v4.2.1/ccache-4.2.1.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mkdir $pkgname-$pkgver/build
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
cmake -G Ninja ../ \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
35
extra/distcc/build.sh
Normal file
35
extra/distcc/build.sh
Normal file
|
@ -0,0 +1,35 @@
|
|||
pkgname=distcc
|
||||
pkgver=3.3.5
|
||||
bad="gmake"
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/distcc/distcc/releases/download/v$pkgver/distcc-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=x86_64-unknown-linux-musl \
|
||||
--host=x86_64-unknown-linux-musl \
|
||||
--without-libiberty
|
||||
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install DESTDIR=$pkgdir
|
||||
|
||||
install -d $pkgdir/usr/lib/distcc
|
||||
ln -sr $pkgdir/usr/bin/distcc $pkgdir/usr/lib/distcc/cc
|
||||
ln -sr $pkgdir/usr/bin/distcc $pkgdir/usr/lib/distcc/c89
|
||||
ln -sr $pkgdir/usr/bin/distcc $pkgdir/usr/lib/distcc/c99
|
||||
ln -sr $pkgdir/usr/bin/distcc $pkgdir/usr/lib/distcc/c++
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
30
extra/editorconfig-core-c/build.sh
Normal file
30
extra/editorconfig-core-c/build.sh
Normal file
|
@ -0,0 +1,30 @@
|
|||
pkgname=editorconfig-core-c
|
||||
pkgver=0.12.5
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/editorconfig/editorconfig-core-c/archive/refs/tags/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mkdir $pkgname-$pkgver/build
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
cmake -G Ninja ../ \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
31
extra/exa/build.sh
Normal file
31
extra/exa/build.sh
Normal file
|
@ -0,0 +1,31 @@
|
|||
pkgname=exa
|
||||
pkgver=0.9.0
|
||||
ext="doc"
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/ogham/exa/archive/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
ln -s /usr/bin/gmake make
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
PATH=$(pwd)"/..:$PATH" cargo build --release --locked --all-features
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd target/release
|
||||
install -Dm755 "$pkgname" "$pkgdir/usr/bin/"
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
cd $pkgname-$pkgver
|
||||
cd contrib/man
|
||||
install -Dm644 $pkgname.1 $pkgdir/usr/share/man/man1/
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENCE
|
||||
}
|
31
extra/extra-cmake-modules/build.sh
Normal file
31
extra/extra-cmake-modules/build.sh
Normal file
|
@ -0,0 +1,31 @@
|
|||
pkgname=extra-cmake-modules
|
||||
_ver_maj_min=5.82
|
||||
pkgver=$_ver_maj_min.0
|
||||
|
||||
fetch() {
|
||||
curl -L "https://download.kde.org/stable/frameworks/$_ver_maj_min/extra-cmake-modules-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mkdir $pkgname-$pkgver/build
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
cmake -G Ninja ../ \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
32
extra/fish/build.sh
Normal file
32
extra/fish/build.sh
Normal file
|
@ -0,0 +1,32 @@
|
|||
pkgver=3.1.2
|
||||
pkgname=fish
|
||||
pkgrel=1
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/fish-shell/fish-shell/releases/download/3.1.2/fish-3.1.2.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
cd $pkgname-$pkgver
|
||||
patch -p1 < ../../output_tputs_cast.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G Ninja .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_EXE_LINKER_FLAGS=-lterminfo \
|
||||
-DCMAKE_INSTALL_PREFIX='/usr'
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR="$pkgdir/" samu install
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat COPYING
|
||||
}
|
8
extra/fish/git_version_gen.patch
Normal file
8
extra/fish/git_version_gen.patch
Normal file
|
@ -0,0 +1,8 @@
|
|||
--- git_version_gen.sh.1
|
||||
+++ git_version_gen.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env sh
|
||||
+#!/bin/sh
|
||||
# Originally from the git sources (GIT-VERSION-GEN)
|
||||
# Presumably (C) Junio C Hamano <junkio@cox.net>
|
||||
# Reused under GPL v2.0
|
11
extra/fish/output_tputs_cast.patch
Normal file
11
extra/fish/output_tputs_cast.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/src/output.cpp
|
||||
+++ b/src/output.cpp
|
||||
@@ -364,7 +364,7 @@
|
||||
scoped_push<outputter_t *> push(&s_tputs_receiver, this);
|
||||
// On some systems, tputs takes a char*, on others a const char*.
|
||||
// Like tparm, we just cast it to unconst, that should work everywhere.
|
||||
- return tputs(const_cast<char *>(str), affcnt, tputs_writer);
|
||||
+ return tputs(const_cast<char *>(str), affcnt, (int (*)(int)) tputs_writer);
|
||||
}
|
||||
|
||||
/// Write a wide character to the outputter. This should only be used when writing characters from
|
22
extra/glow/build.sh
Normal file
22
extra/glow/build.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
pkgname=glow
|
||||
pkgver=1.3.0
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/charmbracelet/glow/archive/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
go build -o build/
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -Dm755 build/$pkgname $pkgdir/usr/bin/$pkgname
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
32
extra/go/build.sh
Normal file
32
extra/go/build.sh
Normal file
|
@ -0,0 +1,32 @@
|
|||
pkgname=go
|
||||
pkgver=1.16
|
||||
|
||||
# TODO(Ella): should be loaded from `/etc/iglupkg.d/go.conf`
|
||||
GOROOT_BOOTSTRAP=/usr/lib/go
|
||||
|
||||
fetch() {
|
||||
curl -L "https://golang.org/dl/go${pkgver/_/}.src.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mv go go-$pkgver
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd src
|
||||
GOROOT_BOOTSTRAP=/usr/lib/go ./make.bash
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -d $pkgdir/usr/bin
|
||||
install -d $pkgdir/usr/lib/go
|
||||
cp -a bin pkg src lib misc api test $pkgdir/usr/lib/go
|
||||
|
||||
ln -sr $pkgdir/usr/lib/go/bin/go $pkgdir/usr/bin/go
|
||||
ln -sr $pkgdir/usr/lib/go/bin/gofmt $pkgdir/usr/bin/gofmt
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
23
extra/gyp/build.sh
Normal file
23
extra/gyp/build.sh
Normal file
|
@ -0,0 +1,23 @@
|
|||
pkgname=gyp
|
||||
pkgver=master
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/chromium/gyp/archive/refs/heads/master.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
python setup.py build
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
python setup.py install --root=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
37
extra/heirloom-doctools/build.sh
Normal file
37
extra/heirloom-doctools/build.sh
Normal file
|
@ -0,0 +1,37 @@
|
|||
pkgver=master
|
||||
pkgname=heirloom-doctools
|
||||
pkgrel=1
|
||||
deps="musl"
|
||||
bad="gmake"
|
||||
ext="doc"
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/n-t-roff/heirloom-doctools/archive/master.tar.gz" -o $pkgname-$pkgver.tar.gz
|
||||
tar -xf $pkgname-$pkgver.tar.gz
|
||||
cd $pkgname-$pkgver
|
||||
cp ../../mk.config .
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure
|
||||
bad --gmake gmake
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install ROOT=$pkgdir
|
||||
rm -r $pkgdir/usr/share
|
||||
}
|
||||
|
||||
package_doc() {
|
||||
cd $pkgname-$pkgver
|
||||
bad --gmake gmake install ROOT=$pkgdir
|
||||
rm -r $pkgdir/usr/lib
|
||||
rm -r $pkgdir/usr/bin
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
}
|
109
extra/heirloom-doctools/mk.config
Normal file
109
extra/heirloom-doctools/mk.config
Normal file
|
@ -0,0 +1,109 @@
|
|||
#
|
||||
# A BSD-compatible install command.
|
||||
#
|
||||
INSTALL=install
|
||||
|
||||
#
|
||||
# Packaging prefix.
|
||||
#
|
||||
PREFIX=/usr
|
||||
|
||||
#
|
||||
# Where to place binaries.
|
||||
#
|
||||
BINDIR=$(PREFIX)/bin
|
||||
|
||||
#
|
||||
# Where to place libraries.
|
||||
#
|
||||
LIBDIR=$(PREFIX)/lib
|
||||
|
||||
#
|
||||
# Where to place ASCII charts and the like.
|
||||
#
|
||||
PUBDIR=$(PREFIX)/lib/doctools/pub
|
||||
|
||||
#
|
||||
# Where to place manual pages.
|
||||
#
|
||||
MANDIR=$(PREFIX)/share/man
|
||||
|
||||
#
|
||||
# Where to place the troff macro packages.
|
||||
#
|
||||
MACDIR=$(LIBDIR)/doctools/tmac
|
||||
|
||||
#
|
||||
# Where to place the troff font files.
|
||||
#
|
||||
FNTDIR=$(LIBDIR)/doctools/font
|
||||
|
||||
#
|
||||
# Where to place PostScript helper files.
|
||||
#
|
||||
PSTDIR=$(FNTDIR)/devpost/postscript
|
||||
|
||||
#
|
||||
# Where to place the nroff terminal description files.
|
||||
#
|
||||
TABDIR=$(LIBDIR)/doctools/nterm
|
||||
|
||||
#
|
||||
# Where to place troff hyphenation files.
|
||||
#
|
||||
HYPDIR=$(LIBDIR)/doctools/hyphen
|
||||
|
||||
#
|
||||
# Where to place files belonging to the "refer" utility.
|
||||
#
|
||||
REFDIR=$(LIBDIR)/reftools
|
||||
|
||||
#
|
||||
# Define this if you want troff and nroff to be able to process
|
||||
# locale-specific (8-bit) characters. It requires appropriate support
|
||||
# from the C library, so it does not work e.g. with diet libc.
|
||||
#
|
||||
EUC=-DEUC
|
||||
|
||||
#
|
||||
# Binaries are stripped with this command after installation.
|
||||
#
|
||||
STRIP=strip
|
||||
|
||||
#
|
||||
# The C compiler.
|
||||
#
|
||||
CC=cc
|
||||
|
||||
#
|
||||
# The C++ compiler.
|
||||
#
|
||||
CXX=c++
|
||||
|
||||
#
|
||||
# Compiler flags.
|
||||
#
|
||||
_CFLAGS=$(CFLAGS) $(_CPPFLAGS) $(__CDBG) $(__CLDBG)
|
||||
|
||||
#
|
||||
# C preprocessor flags.
|
||||
#
|
||||
# Use -D_GNU_SOURCE for Linux with GNU libc.
|
||||
# Use -D_INCLUDE__STDC_A1_SOURCE for HP-UX.
|
||||
#
|
||||
_CPPFLAGS=$(CPPFLAGS) -D_GNU_SOURCE
|
||||
|
||||
#
|
||||
# Linker flags.
|
||||
#
|
||||
_LDFLAGS=$(LDFLAGS) $(__CLDBG)
|
||||
|
||||
#
|
||||
# Additional libraries to link with.
|
||||
#
|
||||
#LIBS=
|
||||
|
||||
#
|
||||
# A Bourne-compatible shell.
|
||||
#
|
||||
SHELL=/bin/sh
|
30
extra/json-c/build.sh
Normal file
30
extra/json-c/build.sh
Normal file
|
@ -0,0 +1,30 @@
|
|||
pkgname=json-c
|
||||
pkgver=0.15
|
||||
|
||||
fetch() {
|
||||
curl -L "https://s3.amazonaws.com/json-c_releases/releases/json-c-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
mkdir $pkgname-$pkgver/build
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
cmake -G Ninja ../ \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib
|
||||
samu
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
cd build
|
||||
DESTDIR=$pkgdir samu install
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
24
extra/kak-lsp/build.sh
Normal file
24
extra/kak-lsp/build.sh
Normal file
|
@ -0,0 +1,24 @@
|
|||
pkgname=kak-lsp
|
||||
pkgver=9.0.0
|
||||
|
||||
fetch() {
|
||||
curl -L "https://github.com/kak-lsp/kak-lsp/archive/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
cargo build --release --locked --all-features
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
install -Dm755 target/release/$pkgname $pkgdir/usr/bin/
|
||||
install -Dm644 rc/lsp.kak $pkgdir/usr/share/kak-lsp/rc/
|
||||
install -Dm644 kak-lsp.toml $pkgdir/usr/share/kak-lsp/examples/
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat UNLICENSE
|
||||
}
|
28
extra/libarchive/build.sh
Normal file
28
extra/libarchive/build.sh
Normal file
|
@ -0,0 +1,28 @@
|
|||
pkgname=libarchive
|
||||
pkgver=3.5.1
|
||||
|
||||
fetch() {
|
||||
curl "http://libarchive.org/downloads/libarchive-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||
tar -xf $pkgname-$pkgver.tar.xz
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $pkgname-$pkgver
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--build=$TRIPLE \
|
||||
--host=$TRIPLE
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make install DESTDIR=$pkgdir
|
||||
}
|
||||
|
||||
license() {
|
||||
cd $pkgname-$pkgver
|
||||
cat LICENSE
|
||||
# cat COPYING
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue