We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent b2efaa8 commit 69eb589Copy full SHA for 69eb589
8 files changed
README.md
@@ -1,5 +1,5 @@
1
# rad
2
-glaucus package manager
+glaucus package builder
3
4
## Community
5
- [Discord](https://discord.gg/nDKNmNc)
rad.nimble
@@ -1,6 +1,6 @@
version = "0.1.0"
author = "Firas Khana <firasuke@glaucuslinux.org>"
-description = "glaucus package manager"
+description = "glaucus package builder"
license = "MPL-2.0"
6
skipFiles = @["LICENSE", "README.md"]
src/arch.nim
src/bootstrap.nim
@@ -6,7 +6,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
7
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
9
-import std/os, constants
+import std/[os, strformat, strutils], constants, tools
10
11
proc cleanBootstrap*() =
12
const dirs = ["../cross", "../log", "../tmp", "../toolchain"]
@@ -26,6 +26,18 @@ proc prepareCross*() =
26
removeDir(dir)
27
createDir(dir)
28
29
+proc require*() =
30
+ const exes = [
31
+ "autoconf", "automake", "autopoint", "awk", "bash", "booster", "bzip2", "curl",
32
+ "diff", "find", "gcc", "git", "grep", "gzip", "ld.bfd", "lex", "libtool", "limine",
33
+ "m4", "make", "meson", "mkfs.erofs", "mkfs.fat", "ninja", "patch", "perl",
34
+ "pkg-config", "sed", "tar", "xz", "yacc", "zstd",
35
+ ]
36
+
37
+ for i in exes:
38
+ if findExe(i).isEmptyOrWhitespace():
39
+ abort(&"""{127:8}{&"\{i\} not found":48}""")
40
41
proc setEnvBootstrap*() =
42
const env = [
43
("REPO", "../core"),
src/flags.nim
src/options.nim
-import std/[os, parseopt, strutils], arch, bootstrap, packages, constants, tools
+import std/[os, parseopt, strutils], bootstrap, packages, constants, tools
proc options*() =
const
@@ -74,7 +74,6 @@ Copyright © 2018-2025 Firas Khana"""
74
echo helpBootstrap
75
of "1", "stage1", "toolchain":
76
require()
77
- setEnvArch()
78
setEnvBootstrap()
79
cleanBootstrap()
80
prepareBootstrap()
@@ -85,7 +84,6 @@ Copyright © 2018-2025 Firas Khana"""
85
84
echo ""
86
echo "stage 1 (toolchain) complete"
87
of "2", "stage2", "cross":
88
89
90
setEnvCross()
91
prepareCross()
@@ -96,7 +94,6 @@ Copyright © 2018-2025 Firas Khana"""
96
94
97
95
echo "stage 2 (cross) complete"
98
of "3", "stage3", "native":
99
100
setEnvNative()
101
102
let stage3 = parsePackage("native").run.split()
@@ -107,7 +104,6 @@ Copyright © 2018-2025 Firas Khana"""
107
104
else:
108
105
exit(helpBootstrap, QuitFailure)
109
106
of "build":
110
111
112
cleanPackages()
113
0 commit comments