Initial commit
This commit is contained in:
8
Makefile
Normal file
8
Makefile
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
SRCS = src/main.sols
|
||||||
|
TARGET = solspkg
|
||||||
|
|
||||||
|
${TARGET}: ${SRCS}
|
||||||
|
solstice ${SRCS} -o ${TARGET}
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm ${TARGET}
|
||||||
97
solspkg
Executable file
97
solspkg
Executable file
@@ -0,0 +1,97 @@
|
|||||||
|
#!/usr/bin/env ground
|
||||||
|
fun !input -string -string &msg
|
||||||
|
set &tmp_0 ""
|
||||||
|
set &retval $tmp_0
|
||||||
|
drop &tmp_0
|
||||||
|
print $msg
|
||||||
|
input &retval
|
||||||
|
return $retval
|
||||||
|
endfun
|
||||||
|
fun !print -string -string &msg
|
||||||
|
print $msg
|
||||||
|
return $msg
|
||||||
|
endfun
|
||||||
|
fun !println -string -string &msg
|
||||||
|
println $msg
|
||||||
|
return $msg
|
||||||
|
endfun
|
||||||
|
fun !request_Get -string -string &url
|
||||||
|
endfun
|
||||||
|
fun !request_Post -string -string &url -string &data
|
||||||
|
endfun
|
||||||
|
extern "request"
|
||||||
|
fun !file_Read -string -string &file
|
||||||
|
endfun
|
||||||
|
fun !file_Write -void -string &file -string &content
|
||||||
|
endfun
|
||||||
|
extern "fileio"
|
||||||
|
set &tmp_1 "package to install: "
|
||||||
|
call !input $tmp_1 &tmp_2
|
||||||
|
set &thing $tmp_2
|
||||||
|
drop &tmp_2
|
||||||
|
set &tmp_3 "version number (default is latest): "
|
||||||
|
call !input $tmp_3 &tmp_4
|
||||||
|
set &version $tmp_4
|
||||||
|
drop &tmp_4
|
||||||
|
set &tmp_5 ""
|
||||||
|
equal $version $tmp_5 &tmp_6
|
||||||
|
drop &tmp_5
|
||||||
|
not $tmp_6 &tmp_7
|
||||||
|
if $tmp_7 %if_0
|
||||||
|
drop &tmp_7
|
||||||
|
drop &tmp_6
|
||||||
|
set &tmp_8 "https://sols.dev/pkgs/"
|
||||||
|
add $tmp_8 $thing &tmp_9
|
||||||
|
drop &tmp_8
|
||||||
|
set &tmp_10 "/latest"
|
||||||
|
add $tmp_9 $tmp_10 &tmp_11
|
||||||
|
drop &tmp_9
|
||||||
|
drop &tmp_10
|
||||||
|
call !request_Get $tmp_11 &tmp_12
|
||||||
|
set &version $tmp_12
|
||||||
|
drop &tmp_12
|
||||||
|
@if_0
|
||||||
|
set &tmp_13 "latest"
|
||||||
|
equal $version $tmp_13 &tmp_14
|
||||||
|
drop &tmp_13
|
||||||
|
not $tmp_14 &tmp_15
|
||||||
|
if $tmp_15 %if_1
|
||||||
|
drop &tmp_15
|
||||||
|
drop &tmp_14
|
||||||
|
set &tmp_16 "https://sols.dev/pkgs/"
|
||||||
|
add $tmp_16 $thing &tmp_17
|
||||||
|
drop &tmp_16
|
||||||
|
set &tmp_18 "/latest"
|
||||||
|
add $tmp_17 $tmp_18 &tmp_19
|
||||||
|
drop &tmp_17
|
||||||
|
drop &tmp_18
|
||||||
|
call !request_Get $tmp_19 &tmp_20
|
||||||
|
set &version $tmp_20
|
||||||
|
drop &tmp_20
|
||||||
|
@if_1
|
||||||
|
set &tmp_21 "https://sols.dev/pkgs/"
|
||||||
|
add $tmp_21 $thing &tmp_22
|
||||||
|
drop &tmp_21
|
||||||
|
set &tmp_23 "/"
|
||||||
|
add $tmp_22 $tmp_23 &tmp_24
|
||||||
|
drop &tmp_22
|
||||||
|
drop &tmp_23
|
||||||
|
add $tmp_24 $version &tmp_25
|
||||||
|
drop &tmp_24
|
||||||
|
set &tmp_26 ".sols"
|
||||||
|
add $tmp_25 $tmp_26 &tmp_27
|
||||||
|
drop &tmp_25
|
||||||
|
drop &tmp_26
|
||||||
|
call !request_Get $tmp_27 &tmp_28
|
||||||
|
set &file $tmp_28
|
||||||
|
drop &tmp_28
|
||||||
|
set &tmp_29 "/usr/lib/solstice/"
|
||||||
|
add $tmp_29 $thing &tmp_30
|
||||||
|
drop &tmp_29
|
||||||
|
set &tmp_31 ".sols"
|
||||||
|
add $tmp_30 $tmp_31 &tmp_32
|
||||||
|
drop &tmp_30
|
||||||
|
drop &tmp_31
|
||||||
|
call !file_Write $tmp_32 $file &tmp_33
|
||||||
|
set &tmp_34 "installed"
|
||||||
|
call !println $tmp_34 &tmp_35
|
||||||
26
src/main.sols
Normal file
26
src/main.sols
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
use io
|
||||||
|
use request
|
||||||
|
use file
|
||||||
|
|
||||||
|
// get package details
|
||||||
|
thing = input("package to install: ")
|
||||||
|
version = input("version number (default is latest): ")
|
||||||
|
|
||||||
|
// if using default, get the latest version number
|
||||||
|
if version == "" {
|
||||||
|
version = request_Get("https://sols.dev/pkgs/" + thing + "/latest")
|
||||||
|
}
|
||||||
|
|
||||||
|
if version == "latest" {
|
||||||
|
version = request_Get("https://sols.dev/pkgs/" + thing + "/latest")
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the file
|
||||||
|
file = request_Get("https://sols.dev/pkgs/" + thing + "/" + version + ".sols")
|
||||||
|
|
||||||
|
// write the file
|
||||||
|
file_Write("/usr/lib/solstice/" + thing + ".sols", file)
|
||||||
|
|
||||||
|
// tell the user
|
||||||
|
println("installed")
|
||||||
|
|
||||||
Reference in New Issue
Block a user