Unified · Split
| @@ -11,6 +11,7 @@ PKGS=\ · 10 unmodified lines | ||
| 11 | 11 | p_graphics.$O\ |
| 12 | 12 | p_music.$O\ |
| 13 | 13 | p_network.$O\ |
| 14 | + p_util.$O\ | |
| 14 | 15 | p_vcs.$O\ |
| 15 | 16 | |
| 16 | 17 | OFILES=\ |
| @@ -12,6 +12,17 @@ Pkg fontsel = { · 11 unmodified lines | ||
| 12 | 12 | }, |
| 13 | 13 | }; |
| 14 | 14 | |
| 15 | +Pkg picker = { | |
| 16 | + .name = "picker", | |
| 17 | + .src = {"github://ftrvxmtrx/picker"}, | |
| 18 | + .meta = { | |
| 19 | + .descr = "Color picker", | |
| 20 | + .web = "http://ftrv.se/_/9", | |
| 21 | + .license = "public domain", | |
| 22 | + .cat = Cgraphics, | |
| 23 | + }, | |
| 24 | +}; | |
| 25 | + | |
| 15 | 26 | Pkg makeu = { |
| 16 | 27 | .name = "makeu", |
| 17 | 28 | .src = {"sourcehut://~amavect/makeu"}, |
| @@ -26,3 +26,28 @@ Pkg zuke = { · 25 unmodified lines | ||
| 26 | 26 | .cat = Caudio, |
| 27 | 27 | }, |
| 28 | 28 | }; |
| 29 | + | |
| 30 | +Pkg orca = { | |
| 31 | + .name = "orca", | |
| 32 | + .src = {"github://ftrvxmtrx/orca9"}, | |
| 33 | + .inputs = { | |
| 34 | + .runtime = {&picker}, | |
| 35 | + }, | |
| 36 | + .meta = { | |
| 37 | + .descr = "Live Programming Environment", | |
| 38 | + .web = "https://wiki.xxiivv.com/site/orca.html", | |
| 39 | + .license = "MIT", | |
| 40 | + .cat = Caudio|Cgames, | |
| 41 | + }, | |
| 42 | +}; | |
| 43 | + | |
| 44 | +Pkg mpl = { | |
| 45 | + .name = "mpl", | |
| 46 | + .src = {"github://majiru/mpl"}, | |
| 47 | + .meta = { | |
| 48 | + .descr = "Music player", | |
| 49 | + .web = "https://github.com/majiru/mpl", | |
| 50 | + .license = "BSD-2", | |
| 51 | + .cat = Caudio, | |
| 52 | + }, | |
| 53 | +}; | |
| @@ -0,0 +1,13 @@ | ||
| 1 | +#include <u.h> | |
| 2 | +#include "pkg.h" | |
| 3 | + | |
| 4 | +Pkg hx = { | |
| 5 | + .name = "hx", | |
| 6 | + .src = {"github://ftrvxmtrx/hx"}, | |
| 7 | + .meta = { | |
| 8 | + .descr = "A faster version of 'hexdump -C'", | |
| 9 | + .web = "https://github.com/ftrvxmtrx/hx", | |
| 10 | + .license = "public domain", | |
| 11 | + .cat = Cdev, | |
| 12 | + }, | |
| 13 | +}; | |
| @@ -9,9 +9,13 @@ · 8 unmodified lines | ||
| 9 | 9 | Pkg *pkgs[] = { |
| 10 | 10 | &fontsel, |
| 11 | 11 | &git9, |
| 12 | + &hx, | |
| 12 | 13 | &libtags, |
| 13 | 14 | &makeu, |
| 15 | + &mpl, | |
| 16 | + &orca, | |
| 14 | 17 | &pal, |
| 18 | + &picker, | |
| 15 | 19 | &unionfs, |
| 16 | 20 | &whiteboardfs, |
| 17 | 21 | &xmpp, |
| @@ -41,9 +41,13 @@ struct Pkg { · 40 unmodified lines | ||
| 41 | 41 | |
| 42 | 42 | extern Pkg fontsel; |
| 43 | 43 | extern Pkg git9; |
| 44 | +extern Pkg hx; | |
| 44 | 45 | extern Pkg libtags; |
| 45 | 46 | extern Pkg makeu; |
| 47 | +extern Pkg mpl; | |
| 48 | +extern Pkg orca; | |
| 46 | 49 | extern Pkg pal; |
| 50 | +extern Pkg picker; | |
| 47 | 51 | extern Pkg unionfs; |
| 48 | 52 | extern Pkg whiteboardfs; |
| 49 | 53 | extern Pkg xmpp; |
| @@ -0,0 +1,4 @@ | ||
| 1 | +#!/bin/rc | |
| 2 | + | |
| 3 | +cat p_*.c | awk '/^Pkg / { print "extern Pkg "$2";" }' | sort | |
| 4 | +cat p_*.c | awk '/^Pkg / { print " &"$2"," }' | sort | |
| @@ -29,7 +29,7 @@ unpacktargz(int f) · 28 unmodified lines | ||
| 29 | 29 | } |
| 30 | 30 | |
| 31 | 31 | static void |
| 32 | −fetchhttp(void *args) | |
| 32 | +hget(void *args) | |
| 33 | 33 | { |
| 34 | 34 | FetchArgs *a; |
| 35 | 35 | char *cmd; |
| @@ -41,18 +41,20 @@ fetchhttp(void *args) · 5 unmodified lines | ||
| 41 | 41 | procexecl(nil, "/bin/rc", "rc", "-c", cmd, nil); |
| 42 | 42 | } |
| 43 | 43 | |
| 44 | +static void | |
| 45 | +fetchgit(void *) | |
| 46 | +{ | |
| 47 | +} | |
| 48 | + | |
| 44 | 49 | static int |
| 45 | −fetchgithub(Src *src) | |
| 50 | +fetchhttp(Src *src) | |
| 46 | 51 | { |
| 47 | − char *path, *repo, b58[128]; | |
| 52 | + char path[12] = "XXXXXXXXXXX", b58[128]; | |
| 48 | 53 | u8int *buf, hash[SHA2_512dlen]; |
| 49 | 54 | int out, n, p[2]; |
| 50 | 55 | FetchArgs a; |
| 51 | 56 | SHA2_512state *ds; |
| 52 | 57 | |
| 53 | − repo = strrchr(src->url, '/') + 1; | |
| 54 | − if((path = smprint("%s_XXXXXXXXXXX", repo)) == nil) | |
| 55 | − sysfatal("no memory"); | |
| 56 | 58 | mktemp(path); |
| 57 | 59 | if(path[1] == 0) |
| 58 | 60 | sysfatal("mktemp failed"); |
| @@ -61,13 +63,11 @@ fetchgithub(Src *src) · 2 unmodified lines | ||
| 61 | 63 | return -1; |
| 62 | 64 | } |
| 63 | 65 | free(path); |
| 64 | − if((a.url = smprint("https://codeload.github.com/%s/tar.gz/%s", src->url+9, src->rev)) == nil) | |
| 65 | − sysfatal("no memory"); | |
| 66 | 66 | pipe(p); |
| 67 | + a.url = src->url; | |
| 67 | 68 | a.fd = p[1]; |
| 68 | − procrfork(fetchhttp, &a, 16384, RFFDG); | |
| 69 | + procrfork(hget, &a, 4096, RFFDG); | |
| 69 | 70 | close(p[1]); |
| 70 | − free(a.url); | |
| 71 | 71 | |
| 72 | 72 | if((buf = malloc(Bufsz)) == nil) |
| 73 | 73 | sysfatal("no memory"); |
| @@ -94,6 +94,12 @@ fetchgithub(Src *src) · 20 unmodified lines | ||
| 94 | 94 | return out; |
| 95 | 95 | } |
| 96 | 96 | |
| 97 | +static int | |
| 98 | +fetchgithub(Src *) | |
| 99 | +{ | |
| 100 | + return -1; | |
| 101 | +} | |
| 102 | + | |
| 97 | 103 | int |
| 98 | 104 | fetchsrc(Src *src) |
| 99 | 105 | { |