Unified · Split
| @@ -11,6 +11,7 @@ PKGS=\ · 10 unmodified lines | |||
| 11 | p_graphics.$O\ | 11 | p_graphics.$O\ |
| 12 | p_music.$O\ | 12 | p_music.$O\ |
| 13 | p_network.$O\ | 13 | p_network.$O\ |
| 14 | p_util.$O\ | ||
| 14 | p_vcs.$O\ | 15 | p_vcs.$O\ |
| 15 | 16 | ||
| 16 | OFILES=\ | 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 | Pkg makeu = { | 26 | Pkg makeu = { |
| 16 | .name = "makeu", | 27 | .name = "makeu", |
| 17 | .src = {"sourcehut://~amavect/makeu"}, | 28 | .src = {"sourcehut://~amavect/makeu"}, |
| @@ -26,3 +26,28 @@ Pkg zuke = { · 25 unmodified lines | |||
| 26 | .cat = Caudio, | 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 | Pkg *pkgs[] = { | 9 | Pkg *pkgs[] = { |
| 10 | &fontsel, | 10 | &fontsel, |
| 11 | &git9, | 11 | &git9, |
| 12 | &hx, | ||
| 12 | &libtags, | 13 | &libtags, |
| 13 | &makeu, | 14 | &makeu, |
| 15 | &mpl, | ||
| 16 | &orca, | ||
| 14 | &pal, | 17 | &pal, |
| 18 | &picker, | ||
| 15 | &unionfs, | 19 | &unionfs, |
| 16 | &whiteboardfs, | 20 | &whiteboardfs, |
| 17 | &xmpp, | 21 | &xmpp, |
| @@ -41,9 +41,13 @@ struct Pkg { · 40 unmodified lines | |||
| 41 | 41 | ||
| 42 | extern Pkg fontsel; | 42 | extern Pkg fontsel; |
| 43 | extern Pkg git9; | 43 | extern Pkg git9; |
| 44 | extern Pkg hx; | ||
| 44 | extern Pkg libtags; | 45 | extern Pkg libtags; |
| 45 | extern Pkg makeu; | 46 | extern Pkg makeu; |
| 47 | extern Pkg mpl; | ||
| 48 | extern Pkg orca; | ||
| 46 | extern Pkg pal; | 49 | extern Pkg pal; |
| 50 | extern Pkg picker; | ||
| 47 | extern Pkg unionfs; | 51 | extern Pkg unionfs; |
| 48 | extern Pkg whiteboardfs; | 52 | extern Pkg whiteboardfs; |
| 49 | extern Pkg xmpp; | 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 | static void | 31 | static void |
| 32 | fetchhttp(void *args) | 32 | hget(void *args) |
| 33 | { | 33 | { |
| 34 | FetchArgs *a; | 34 | FetchArgs *a; |
| 35 | char *cmd; | 35 | char *cmd; |
| @@ -41,18 +41,20 @@ fetchhttp(void *args) · 5 unmodified lines | |||
| 41 | procexecl(nil, "/bin/rc", "rc", "-c", cmd, nil); | 41 | procexecl(nil, "/bin/rc", "rc", "-c", cmd, nil); |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | static void | ||
| 45 | fetchgit(void *) | ||
| 46 | { | ||
| 47 | } | ||
| 48 | |||
| 44 | static int | 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 | u8int *buf, hash[SHA2_512dlen]; | 53 | u8int *buf, hash[SHA2_512dlen]; |
| 49 | int out, n, p[2]; | 54 | int out, n, p[2]; |
| 50 | FetchArgs a; | 55 | FetchArgs a; |
| 51 | SHA2_512state *ds; | 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 | mktemp(path); | 58 | mktemp(path); |
| 57 | if(path[1] == 0) | 59 | if(path[1] == 0) |
| 58 | sysfatal("mktemp failed"); | 60 | sysfatal("mktemp failed"); |
| @@ -61,13 +63,11 @@ fetchgithub(Src *src) · 2 unmodified lines | |||
| 61 | return -1; | 63 | return -1; |
| 62 | } | 64 | } |
| 63 | free(path); | 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 | pipe(p); | 66 | pipe(p); |
| 67 | a.url = src->url; | ||
| 67 | a.fd = p[1]; | 68 | a.fd = p[1]; |
| 68 | procrfork(fetchhttp, &a, 16384, RFFDG); | 69 | procrfork(hget, &a, 4096, RFFDG); |
| 69 | close(p[1]); | 70 | close(p[1]); |
| 70 | free(a.url); | ||
| 71 | 71 | ||
| 72 | if((buf = malloc(Bufsz)) == nil) | 72 | if((buf = malloc(Bufsz)) == nil) |
| 73 | sysfatal("no memory"); | 73 | sysfatal("no memory"); |
| @@ -94,6 +94,12 @@ fetchgithub(Src *src) · 20 unmodified lines | |||
| 94 | return out; | 94 | return out; |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | static int | ||
| 98 | fetchgithub(Src *) | ||
| 99 | { | ||
| 100 | return -1; | ||
| 101 | } | ||
| 102 | |||
| 97 | int | 103 | int |
| 98 | fetchsrc(Src *src) | 104 | fetchsrc(Src *src) |
| 99 | { | 105 | { |