summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-06-27 20:30:15 -0700
committerMichael Forney <mforney@mforney.org>2016-06-27 20:30:15 -0700
commitf732e53f58b8f92132dece66b05f32576f830cc4 (patch)
treeb494541dae14382ed9865cda387c09e2c4d9db50
parent2b32697b70a7429c490b47723a9469fc14310ae9 (diff)
Integrate source fetching into ninja files
-rw-r--r--core/awk/.rev1
-rw-r--r--core/awk/gen.rc2
-rw-r--r--core/bc/.rev1
-rw-r--r--core/bc/gen.rc2
-rw-r--r--core/bzip2/.rev1
-rw-r--r--core/bzip2/gen.rc2
-rw-r--r--core/curl/.rev1
-rw-r--r--core/curl/gen.rc1
-rw-r--r--core/e2fsprogs/.rev1
-rw-r--r--core/e2fsprogs/gen.rc2
-rw-r--r--core/file/.rev1
-rw-r--r--core/file/gen.rc2
-rw-r--r--core/git/.rev1
-rw-r--r--core/git/gen.rc2
-rw-r--r--core/iproute2/.rev1
-rw-r--r--core/iproute2/gen.rc2
-rw-r--r--core/kbd/.rev1
-rw-r--r--core/kbd/gen.rc2
-rw-r--r--core/libressl/.rev1
-rw-r--r--core/libressl/gen.rc2
-rw-r--r--core/loksh/.rev1
-rw-r--r--core/loksh/gen.rc2
-rw-r--r--core/mdocml/.rev1
-rw-r--r--core/mdocml/gen.rc2
-rw-r--r--core/ninja/.rev1
-rw-r--r--core/ninja/gen.rc2
-rw-r--r--core/openbsd/.rev1
-rw-r--r--core/openbsd/gen.rc2
-rw-r--r--core/openssh/.rev1
-rw-r--r--core/openssh/gen.rc2
-rw-r--r--core/perp/.rev1
-rw-r--r--core/perp/gen.rc2
-rw-r--r--core/pigz/.rev1
-rw-r--r--core/pigz/gen.rc2
-rw-r--r--core/plan9port/.rev1
-rw-r--r--core/plan9port/gen.rc2
-rw-r--r--core/sbase/.rev1
-rw-r--r--core/sbase/gen.rc2
-rw-r--r--core/sinit/.rev1
-rw-r--r--core/sinit/gen.rc2
-rw-r--r--core/tz/.rev1
-rw-r--r--core/tz/gen.rc2
-rw-r--r--core/ubase/.rev1
-rw-r--r--core/ubase/gen.rc2
-rw-r--r--core/xz/.rev1
-rw-r--r--core/xz/gen.rc2
-rw-r--r--core/zlib/.rev1
-rw-r--r--core/zlib/gen.rc2
-rw-r--r--desktop/expat/.rev1
-rw-r--r--desktop/expat/gen.rc2
-rw-r--r--desktop/freetype/.rev1
-rw-r--r--desktop/freetype/gen.rc2
-rw-r--r--desktop/libdrm/.rev1
-rw-r--r--desktop/libdrm/gen.rc2
-rw-r--r--desktop/libevdev/.rev1
-rw-r--r--desktop/libevdev/gen.rc2
-rw-r--r--desktop/libffi/.rev1
-rw-r--r--desktop/libffi/gen.rc2
-rw-r--r--desktop/libpciaccess/.rev1
-rw-r--r--desktop/libpciaccess/gen.rc2
-rw-r--r--desktop/pixman/.rev1
-rw-r--r--desktop/pixman/gen.rc2
-rw-r--r--desktop/plan9fonts/.rev1
-rw-r--r--desktop/plan9fonts/gen.rc2
-rw-r--r--desktop/wayland/.rev1
-rw-r--r--desktop/wayland/gen.rc2
-rw-r--r--devel/cparser/.rev1
-rw-r--r--devel/cparser/gen.rc2
-rw-r--r--devel/libfirm/.rev1
-rw-r--r--devel/libfirm/gen.rc2
-rw-r--r--devel/make/.rev1
-rw-r--r--devel/make/gen.rc2
-rw-r--r--devel/mc/.rev1
-rw-r--r--devel/mc/gen.rc2
-rw-r--r--devel/qbe/.rev1
-rw-r--r--devel/qbe/gen.rc2
-rw-r--r--extra/hostap/.rev1
-rw-r--r--extra/hostap/gen.rc2
-rw-r--r--extra/libevent/.rev1
-rw-r--r--extra/libevent/gen.rc2
-rw-r--r--extra/libfuse/.rev1
-rw-r--r--extra/libfuse/gen.rc2
-rw-r--r--extra/libnl/.rev1
-rw-r--r--extra/libnl/gen.rc2
-rw-r--r--extra/msmtp/.rev1
-rw-r--r--extra/msmtp/gen.rc2
-rw-r--r--extra/pcre/.rev1
-rw-r--r--extra/pcre/gen.rc2
-rw-r--r--extra/sshfs/.rev1
-rw-r--r--extra/sshfs/gen.rc2
-rw-r--r--extra/the_silver_searcher/.rev1
-rw-r--r--extra/the_silver_searcher/gen.rc2
-rw-r--r--extra/transmission/.rev1
-rw-r--r--extra/transmission/gen.rc2
-rw-r--r--extra/unzip/.rev1
-rw-r--r--extra/unzip/gen.rc2
-rwxr-xr-xfetch.rc117
-rw-r--r--ninja.rc8
-rw-r--r--rules.ninja10
-rwxr-xr-xscripts/fetch-curl.rc38
-rwxr-xr-xscripts/fetch-git.rc17
-rwxr-xr-xsetup.rc4
102 files changed, 219 insertions, 118 deletions
diff --git a/core/awk/.rev b/core/awk/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/awk/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/awk/gen.rc b/core/awk/gen.rc
index 25ad9a67..0b393610 100644
--- a/core/awk/gen.rc
+++ b/core/awk/gen.rc
@@ -18,3 +18,5 @@ exe awk -d '$outdir'/ytab.h\
'$outdir'/^(gram.tab.c proctab.c)
file bin/awk '$outdir'/awk 755
file share/man/man1/awk.1 '$srcdir'/awk.1 644
+
+fetch git
diff --git a/core/bc/.rev b/core/bc/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/bc/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/bc/gen.rc b/core/bc/gen.rc
index 15b8ab61..c75aff92 100644
--- a/core/bc/gen.rc
+++ b/core/bc/gen.rc
@@ -8,3 +8,5 @@ lib libbc.a lib/number.c
exe bin/bc bc/^(main.c bc.c scan.c execute.c load.c storage.c util.c global.c warranty.c) libbc.a
file bin/bc '$outdir'/bin/bc 755
file share/man/man1/bc.1 '$srcdir'/doc/bc.1 644
+
+fetch curl
diff --git a/core/bzip2/.rev b/core/bzip2/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/bzip2/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/bzip2/gen.rc b/core/bzip2/gen.rc
index 42e81ac5..b0155424 100644
--- a/core/bzip2/gen.rc
+++ b/core/bzip2/gen.rc
@@ -4,3 +4,5 @@ exe bzip2 bzip2.c libbz2.a
file bin/bzip2 '$outdir'/bzip2 755
file share/man/man1/bzip2.1 '$srcdir'/bzip2.1 644
sym bin/bzcat bzip2
+
+fetch curl
diff --git a/core/curl/.rev b/core/curl/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/curl/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/curl/gen.rc b/core/curl/gen.rc
index 43f8aacb..055e853a 100644
--- a/core/curl/gen.rc
+++ b/core/curl/gen.rc
@@ -105,3 +105,4 @@ exe curl -d '$outdir'/include/curl/curlbuild.h\
file bin/curl '$outdir'/curl 755
file share/man/man1/curl.1 '$srcdir'/docs/curl.1 644
+fetch git
diff --git a/core/e2fsprogs/.rev b/core/e2fsprogs/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/e2fsprogs/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/e2fsprogs/gen.rc b/core/e2fsprogs/gen.rc
index 1d58f54d..be507f98 100644
--- a/core/e2fsprogs/gen.rc
+++ b/core/e2fsprogs/gen.rc
@@ -195,3 +195,5 @@ exe bin/resize2fs -d 'phony/$dir/headers' resize/^(\
) $libs
file bin/resize2fs '$outdir'/bin/resize2fs 755
man resize/resize2fs.8.in
+
+fetch git
diff --git a/core/file/.rev b/core/file/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/file/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/file/gen.rc b/core/file/gen.rc
index 032f96a9..fbc9c359 100644
--- a/core/file/gen.rc
+++ b/core/file/gen.rc
@@ -56,3 +56,5 @@ exe file -d 'phony/$dir/headers' src/file.c libmagic.a '$builddir/core/zlib/libz
file bin/file '$outdir'/file 755
file share/man/man1/file.1 '$outdir'/file.1 644
file share/file/magic.mgc '$outdir'/magic.mgc 644
+
+fetch git
diff --git a/core/git/.rev b/core/git/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/git/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/git/gen.rc b/core/git/gen.rc
index a5f5ad29..322eff44 100644
--- a/core/git/gen.rc
+++ b/core/git/gen.rc
@@ -376,3 +376,5 @@ file share/git-core/templates/info/exclude '$srcdir'/templates/info--exclude 644
dir share/git-core/templates/hooks 755
# TODO: Build and install man pages.
+
+fetch git
diff --git a/core/iproute2/.rev b/core/iproute2/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/iproute2/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/iproute2/gen.rc b/core/iproute2/gen.rc
index 77f88cea..df09bbab 100644
--- a/core/iproute2/gen.rc
+++ b/core/iproute2/gen.rc
@@ -48,3 +48,5 @@ for(man in ip-address ip-link ip-route) {
expr s,@SYSCONFDIR@,/etc,g
file share/man/man8/$man.8 '$outdir'/$man.8 644
}
+
+fetch git
diff --git a/core/kbd/.rev b/core/kbd/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/kbd/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/kbd/gen.rc b/core/kbd/gen.rc
index 4813c739..d813efd7 100644
--- a/core/kbd/gen.rc
+++ b/core/kbd/gen.rc
@@ -74,3 +74,5 @@ keymaps=(\
file share/kbd/$keymap.gz '$outdir'/$keymap.gz 644
}
sym share/kbd/keymaps/ppc mac
+
+fetch git
diff --git a/core/libressl/.rev b/core/libressl/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/libressl/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/libressl/gen.rc b/core/libressl/gen.rc
index dbe2b549..8b1ffcd0 100644
--- a/core/libressl/gen.rc
+++ b/core/libressl/gen.rc
@@ -288,3 +288,5 @@ lib libssl.a src/lib/libssl/src/ssl/^(\
file lib/libssl.a '$outdir'/libssl.a 644
file share/libressl/cert.pem '$srcdir'/src/lib/libcrypto/cert.pem 644
+
+fetch git
diff --git a/core/loksh/.rev b/core/loksh/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/loksh/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/loksh/gen.rc b/core/loksh/gen.rc
index 931185f1..98426444 100644
--- a/core/loksh/gen.rc
+++ b/core/loksh/gen.rc
@@ -30,3 +30,5 @@ exe ksh\
file bin/ksh '$outdir'/ksh 755
sym bin/sh ksh
for(name in ksh sh) file share/man/man1/$name.1 '$srcdir'/$name.1 644
+
+fetch git
diff --git a/core/mdocml/.rev b/core/mdocml/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/mdocml/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/mdocml/gen.rc b/core/mdocml/gen.rc
index 5a562219..1d1c7516 100644
--- a/core/mdocml/gen.rc
+++ b/core/mdocml/gen.rc
@@ -63,3 +63,5 @@ for(man in mandoc.1 demandoc.1 man.1 mandoc.3 man.7 mdoc.7 roff.7 eqn.7 tbl.7 ma
sect=`{printf %s $man | tail -c 1}
file share/man/man$sect/$man '$srcdir'/$man 644
}
+
+fetch curl
diff --git a/core/ninja/.rev b/core/ninja/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/ninja/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/ninja/gen.rc b/core/ninja/gen.rc
index c29b830b..a3d49945 100644
--- a/core/ninja/gen.rc
+++ b/core/ninja/gen.rc
@@ -29,3 +29,5 @@ exe ninja src/^(\
)
file bin/ninja '$outdir'/ninja 755
+
+fetch git
diff --git a/core/openbsd/.rev b/core/openbsd/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/openbsd/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/openbsd/gen.rc b/core/openbsd/gen.rc
index 213986e9..12dfd806 100644
--- a/core/openbsd/gen.rc
+++ b/core/openbsd/gen.rc
@@ -53,3 +53,5 @@ exe yacc usr.bin/yacc/^(\
) libbsd.a
file bin/yacc '$outdir'/yacc 755
file share/man/man1/yacc.1 '$srcdir'/usr.bin/yacc/yacc.1 644
+
+fetch curl
diff --git a/core/openssh/.rev b/core/openssh/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/openssh/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/openssh/gen.rc b/core/openssh/gen.rc
index bb3eeb18..3e8d3704 100644
--- a/core/openssh/gen.rc
+++ b/core/openssh/gen.rc
@@ -122,3 +122,5 @@ exe sftp-server\
libssh.a libopenbsd-compat.a '$builddir'/core/openbsd/libbsd.a
file libexec/sftp-server '$outdir'/sftp-server 755
file share/man/man8/sftp-server.8 '$srcdir'/sftp-server.8 644
+
+fetch git
diff --git a/core/perp/.rev b/core/perp/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/perp/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/perp/gen.rc b/core/perp/gen.rc
index 78d0ab28..cb96d0c3 100644
--- a/core/perp/gen.rc
+++ b/core/perp/gen.rc
@@ -83,3 +83,5 @@ tools=(\
file share/man/man5/perpetrate.5 '$srcdir'/perp/man/perpetrate.5 644
file share/man/man8/perp_intro.8 '$srcdir'/perp/man/perp_intro.8 644
file share/man/man5/runtools_intro.8 '$srcdir'/runtools/man/runtools_intro.8 644
+
+fetch curl
diff --git a/core/pigz/.rev b/core/pigz/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/pigz/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/pigz/gen.rc b/core/pigz/gen.rc
index 3f32a811..04353d89 100644
--- a/core/pigz/gen.rc
+++ b/core/pigz/gen.rc
@@ -6,3 +6,5 @@ exe pigz -d phony/core/zlib/headers\
'$builddir'/core/zlib/libz.a
file bin/pigz '$outdir'/pigz 755
for(alias in gzip gunzip zcat) sym bin/$alias pigz
+
+fetch git
diff --git a/core/plan9port/.rev b/core/plan9port/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/plan9port/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/plan9port/gen.rc b/core/plan9port/gen.rc
index d30570b4..dcddbd8c 100644
--- a/core/plan9port/gen.rc
+++ b/core/plan9port/gen.rc
@@ -405,3 +405,5 @@ for(exe in rc sam) {
}
file lib/rcmain '$srcdir'/rcmain 644
+
+fetch git
diff --git a/core/sbase/.rev b/core/sbase/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/sbase/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/sbase/gen.rc b/core/sbase/gen.rc
index e2126d50..9cff104f 100644
--- a/core/sbase/gen.rc
+++ b/core/sbase/gen.rc
@@ -192,3 +192,5 @@ sym bin/[ test
# TODO: binutils' config/lib-ld.m4 should use AC_REQUIRE([AC_PROG_EGREP]) and
# $EGREP instead of egrep.
file bin/egrep '$dir'/egrep 755
+
+fetch git
diff --git a/core/sinit/.rev b/core/sinit/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/sinit/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/sinit/gen.rc b/core/sinit/gen.rc
index 7b65ca2f..d45f6720 100644
--- a/core/sinit/gen.rc
+++ b/core/sinit/gen.rc
@@ -4,3 +4,5 @@ exe sinit sinit.c
file bin/sinit '$outdir'/sinit 755
file share/man/man8/sinit.8 '$srcdir'/sinit.8 644
+
+fetch git
diff --git a/core/tz/.rev b/core/tz/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/tz/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/tz/gen.rc b/core/tz/gen.rc
index 03d69cc8..b5ebefe6 100644
--- a/core/tz/gen.rc
+++ b/core/tz/gen.rc
@@ -37,3 +37,5 @@ for(data in $tzdata) {
sym share/zoneinfo/$link(2) $target
}
}
+
+fetch git
diff --git a/core/ubase/.rev b/core/ubase/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/ubase/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/ubase/gen.rc b/core/ubase/gen.rc
index 229ee455..10ba1f9b 100644
--- a/core/ubase/gen.rc
+++ b/core/ubase/gen.rc
@@ -92,3 +92,5 @@ x uptime 1
x vtallow 1
x watch 1
x who 1
+
+fetch git
diff --git a/core/xz/.rev b/core/xz/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/xz/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/xz/gen.rc b/core/xz/gen.rc
index 398c626c..1bf8f5c5 100644
--- a/core/xz/gen.rc
+++ b/core/xz/gen.rc
@@ -136,3 +136,5 @@ exe xz src/^(\
file bin/xz '$outdir'/xz 755
file share/man/man1/xz.1 '$srcdir'/src/xz/xz.1 644
for(alias in unxz xzcat) sym bin/$alias xz
+
+fetch git
diff --git a/core/zlib/.rev b/core/zlib/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/core/zlib/.rev
@@ -0,0 +1 @@
+1
diff --git a/core/zlib/gen.rc b/core/zlib/gen.rc
index 5694cb51..4843b6d9 100644
--- a/core/zlib/gen.rc
+++ b/core/zlib/gen.rc
@@ -30,3 +30,5 @@ for(hdr in $hdrs) {
file include/$hdr '$srcdir'/$hdr 644
}
phony headers include/$hdrs
+
+fetch git
diff --git a/desktop/expat/.rev b/desktop/expat/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/expat/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/expat/gen.rc b/desktop/expat/gen.rc
index 8d673c24..a90e5aa9 100644
--- a/desktop/expat/gen.rc
+++ b/desktop/expat/gen.rc
@@ -7,3 +7,5 @@ lib libexpat.a expat/lib/^(xmlparse.c xmltok.c xmlrole.c)
hdrs=(expat.h expat_external.h)
for(hdr in $hdrs) build '$outdir'/include/$hdr copy '$srcdir'/expat/lib/$hdr
phony headers include/$hdrs
+
+fetch git
diff --git a/desktop/freetype/.rev b/desktop/freetype/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/freetype/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/freetype/gen.rc b/desktop/freetype/gen.rc
index f3d380a4..a60d5674 100644
--- a/desktop/freetype/gen.rc
+++ b/desktop/freetype/gen.rc
@@ -39,3 +39,5 @@ lib libfreetype.a builds/unix/ftsystem.c src/^(\
type42/type42.c\
winfonts/winfnt.c\
)
+
+fetch git
diff --git a/desktop/libdrm/.rev b/desktop/libdrm/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/libdrm/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/libdrm/gen.rc b/desktop/libdrm/gen.rc
index 9cbee9d2..023ce9ad 100644
--- a/desktop/libdrm/gen.rc
+++ b/desktop/libdrm/gen.rc
@@ -35,3 +35,5 @@ if(~ nouveau $config_video_drivers) {
}
status=()
+
+fetch git
diff --git a/desktop/libevdev/.rev b/desktop/libevdev/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/libevdev/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/libevdev/gen.rc b/desktop/libevdev/gen.rc
index 76226966..c65456b9 100644
--- a/desktop/libevdev/gen.rc
+++ b/desktop/libevdev/gen.rc
@@ -12,3 +12,5 @@ phony headers '$outdir'/include/$hdrs
lib libevdev.a libevdev/^(libevdev.c libevdev-names.c)
file lib/libevdev.a '$outdir'/libevdev.a 644
+
+fetch git
diff --git a/desktop/libffi/.rev b/desktop/libffi/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/libffi/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/libffi/gen.rc b/desktop/libffi/gen.rc
index fa073b8e..a0e6dd4d 100644
--- a/desktop/libffi/gen.rc
+++ b/desktop/libffi/gen.rc
@@ -22,3 +22,5 @@ lib libffi.a -d 'phony/$dir/headers' src/^(\
x86/^(ffi64.c unix64.S ffi.c sysv.S)\
)
file lib/libffi.a '$outdir'/libffi.a 644
+
+fetch git
diff --git a/desktop/libpciaccess/.rev b/desktop/libpciaccess/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/libpciaccess/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/libpciaccess/gen.rc b/desktop/libpciaccess/gen.rc
index d433a104..ab0fb6ff 100644
--- a/desktop/libpciaccess/gen.rc
+++ b/desktop/libpciaccess/gen.rc
@@ -16,3 +16,5 @@ lib libpciaccess.a src/^(\
common_vgaarb.c\
linux_sysfs.c linux_devmem.c\
)
+
+fetch git
diff --git a/desktop/pixman/.rev b/desktop/pixman/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/pixman/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/pixman/gen.rc b/desktop/pixman/gen.rc
index 1c853ec5..1b637a42 100644
--- a/desktop/pixman/gen.rc
+++ b/desktop/pixman/gen.rc
@@ -55,3 +55,5 @@ lib libpixman.a -d $"deps pixman/^(\
pixman-utils.c\
$cpuobjs\
)
+
+fetch git
diff --git a/desktop/plan9fonts/.rev b/desktop/plan9fonts/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/plan9fonts/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/plan9fonts/gen.rc b/desktop/plan9fonts/gen.rc
index 18af1e1b..a5e6df0e 100644
--- a/desktop/plan9fonts/gen.rc
+++ b/desktop/plan9fonts/gen.rc
@@ -2,3 +2,5 @@ fonts=(terminus)
for(font in $fonts) for(f in $font/^(*.font *.*-*)) {
file share/fonts/plan9/$f '$srcdir'/$f 644
}
+
+fetch git
diff --git a/desktop/wayland/.rev b/desktop/wayland/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/desktop/wayland/.rev
@@ -0,0 +1 @@
+1
diff --git a/desktop/wayland/gen.rc b/desktop/wayland/gen.rc
index 63d93444..c0706847 100644
--- a/desktop/wayland/gen.rc
+++ b/desktop/wayland/gen.rc
@@ -52,3 +52,5 @@ lib libwayland-client.a -d 'phony/$dir/headers' src/^(\
wayland-client.c\
wayland-util.c.o\
) wayland-protocol.c.o
+
+fetch git
diff --git a/devel/cparser/.rev b/devel/cparser/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/devel/cparser/.rev
@@ -0,0 +1 @@
+1
diff --git a/devel/cparser/gen.rc b/devel/cparser/gen.rc
index 4427d705..22fbdeb6 100644
--- a/devel/cparser/gen.rc
+++ b/devel/cparser/gen.rc
@@ -25,3 +25,5 @@ exe cparser -d '$outdir/revision.h phony/devel/libfirm/headers' src/^(\
) '$builddir'/devel/libfirm/libfirm.a
file bin/cparser '$outdir'/cparser 755
file share/man/man1/cparser.1 '$srcdir'/cparser.1 644
+
+fetch git
diff --git a/devel/libfirm/.rev b/devel/libfirm/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/devel/libfirm/.rev
@@ -0,0 +1 @@
+1
diff --git a/devel/libfirm/gen.rc b/devel/libfirm/gen.rc
index 159d24a4..99b12d62 100644
--- a/devel/libfirm/gen.rc
+++ b/devel/libfirm/gen.rc
@@ -57,3 +57,5 @@ for(backend in $backends) {
phony internal_headers $genhdrs 'phony/$dir/headers'
ar libfirm.a $objs
+
+fetch git
diff --git a/devel/make/.rev b/devel/make/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/devel/make/.rev
@@ -0,0 +1 @@
+1
diff --git a/devel/make/gen.rc b/devel/make/gen.rc
index fdce2806..0a4b3332 100644
--- a/devel/make/gen.rc
+++ b/devel/make/gen.rc
@@ -16,3 +16,5 @@ exe make\
libglob.a
file bin/make '$outdir'/make 755
file share/man/man1/make.1 '$srcdir'/make.1 644
+
+fetch git
diff --git a/devel/mc/.rev b/devel/mc/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/devel/mc/.rev
@@ -0,0 +1 @@
+1
diff --git a/devel/mc/gen.rc b/devel/mc/gen.rc
index 2c769d76..a5276dec 100644
--- a/devel/mc/gen.rc
+++ b/devel/mc/gen.rc
@@ -48,3 +48,5 @@ file share/man/man1/muse.1 '$srcdir'/doc/muse.1 644
build '$outdir'/_myrrt.s cat '$srcdir'/rt/^(start-linux.s common.s abort-linux.s)
build '$outdir'/_myrrt.o as '$outdir'/_myrrt.s
file lib/myr/_myrrt.o '$outdir'/_myrrt.o 644
+
+fetch git
diff --git a/devel/qbe/.rev b/devel/qbe/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/devel/qbe/.rev
@@ -0,0 +1 @@
+1
diff --git a/devel/qbe/gen.rc b/devel/qbe/gen.rc
index 033af78f..1da79beb 100644
--- a/devel/qbe/gen.rc
+++ b/devel/qbe/gen.rc
@@ -5,3 +5,5 @@ cflags\
abi=sysv
exe qbe main.c util.c parse.c mem.c ssa.c copy.c fold.c live.c isel.c spill.c rega.c emit.c $abi.c
file bin/qbe '$outdir'/qbe 755
+
+fetch git
diff --git a/extra/hostap/.rev b/extra/hostap/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/hostap/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/hostap/gen.rc b/extra/hostap/gen.rc
index 5edd15bb..5464f8d7 100644
--- a/extra/hostap/gen.rc
+++ b/extra/hostap/gen.rc
@@ -83,3 +83,5 @@ exe bin/wpa_cli -d $"deps\
wpa_supplicant/wpa_cli.c\
libcommon.a
file bin/wpa_cli '$outdir'/bin/wpa_cli 755
+
+fetch git
diff --git a/extra/libevent/.rev b/extra/libevent/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/libevent/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/libevent/gen.rc b/extra/libevent/gen.rc
index 6910ae5d..1743490c 100644
--- a/extra/libevent/gen.rc
+++ b/extra/libevent/gen.rc
@@ -18,3 +18,5 @@ lib libevent.a -d 'phony/$dir/headers' \
epoll.c signal.c\
\
event_tagging.c http.c evdns.c evrpc.c
+
+fetch git
diff --git a/extra/libfuse/.rev b/extra/libfuse/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/libfuse/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/libfuse/gen.rc b/extra/libfuse/gen.rc
index 430618bc..096ac3e0 100644
--- a/extra/libfuse/gen.rc
+++ b/extra/libfuse/gen.rc
@@ -29,3 +29,5 @@ lib libfuse.a lib/^(\
\
mount.c mount_util.c.o\
)
+
+fetch git
diff --git a/extra/libnl/.rev b/extra/libnl/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/libnl/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/libnl/gen.rc b/extra/libnl/gen.rc
index d16e52e8..c11636fe 100644
--- a/extra/libnl/gen.rc
+++ b/extra/libnl/gen.rc
@@ -48,3 +48,5 @@ lib libnl-3.a -d 'phony/$dir/headers' lib/^(\
lib libnl-genl-3.a -d 'phony/$dir/headers' \
lib/genl/^(ctrl.c family.c genl.c mngt.c)
+
+fetch git
diff --git a/extra/msmtp/.rev b/extra/msmtp/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/msmtp/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/msmtp/gen.rc b/extra/msmtp/gen.rc
index 9734dfe9..b70ed220 100644
--- a/extra/msmtp/gen.rc
+++ b/extra/msmtp/gen.rc
@@ -28,3 +28,5 @@ exe msmtp src/^(\
file bin/msmtp '$outdir'/msmtp 755
file share/man/man1/msmtp.1 '$srcdir'/doc/msmtp.1 644
+
+fetch git
diff --git a/extra/pcre/.rev b/extra/pcre/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/pcre/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/pcre/gen.rc b/extra/pcre/gen.rc
index dfdde386..000b184e 100644
--- a/extra/pcre/gen.rc
+++ b/extra/pcre/gen.rc
@@ -37,3 +37,5 @@ lib libpcre.a -d 'phony/$dir/headers' \
pcre_version.c\
pcre_xclass.c\
'$outdir'/pcre_chartables.c
+
+fetch curl
diff --git a/extra/sshfs/.rev b/extra/sshfs/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/sshfs/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/sshfs/gen.rc b/extra/sshfs/gen.rc
index 38b51725..e10c9bfc 100644
--- a/extra/sshfs/gen.rc
+++ b/extra/sshfs/gen.rc
@@ -10,3 +10,5 @@ build '$outdir'/sshfs.1 sed '$srcdir'/sshfs.1.in ; with\
exe sshfs sshfs.c nocache.c '$builddir'/extra/libfuse/libfuse.a
file bin/sshfs '$outdir'/sshfs 755
file share/man/man1/sshfs.1 '$outdir'/sshfs.1 644
+
+fetch git
diff --git a/extra/the_silver_searcher/.rev b/extra/the_silver_searcher/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/the_silver_searcher/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/the_silver_searcher/gen.rc b/extra/the_silver_searcher/gen.rc
index 6e28c858..26d39acd 100644
--- a/extra/the_silver_searcher/gen.rc
+++ b/extra/the_silver_searcher/gen.rc
@@ -10,3 +10,5 @@ exe ag -d phony/extra/pcre/headers src/^(\
) '$builddir'/extra/pcre/libpcre.a
file bin/ag '$outdir'/ag 755
file share/man/man1/ag.1 '$srcdir'/doc/ag.1 644
+
+fetch git
diff --git a/extra/transmission/.rev b/extra/transmission/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/transmission/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/transmission/gen.rc b/extra/transmission/gen.rc
index 9d069df8..c1eee19c 100644
--- a/extra/transmission/gen.rc
+++ b/extra/transmission/gen.rc
@@ -156,3 +156,5 @@ file share/man/man1/transmission-daemon.1 '$srcdir'/daemon/transmission-daemon.1
exe transmission-remote -d $"deps daemon/remote.c libtransmission.a $libs
file bin/transmission-remote '$outdir'/transmission-remote 755
file share/man/man1/transmission-remote.1 '$srcdir'/daemon/transmission-remote.1 644
+
+fetch curl
diff --git a/extra/unzip/.rev b/extra/unzip/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/unzip/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/unzip/gen.rc b/extra/unzip/gen.rc
index dc5c8eea..5423892c 100644
--- a/extra/unzip/gen.rc
+++ b/extra/unzip/gen.rc
@@ -11,3 +11,5 @@ exe unzip\
'$builddir'/core/bzip2/libbz2.a
file bin/unzip '$outdir'/unzip 755
file share/man/man1/unzip.1 '$srcdir'/man/unzip.1 644
+
+fetch curl
diff --git a/fetch.rc b/fetch.rc
deleted file mode 100755
index 2d8278f8..00000000
--- a/fetch.rc
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/bin/rc
-
-flag e +
-
-aflag=0
-if(~ $1 -a) aflag=1
-if not if(~ $#* 0) {
- echo 'usage: '$0' package...'
- echo ' '$0' -a'
-} >[1=2]
-
-packages=$*
-
-cd `{git rev-parse --show-toplevel}
-
-fn fetch-git {
- git submodule update --init --checkout src
- if([ -d patch ]) {
- patches=patch/*
- git -C src am ../$patches
- }
- status=()
-}
-
-fn fetch-curl {
- if([ -d src ]) rm -rf src
-
- if(! sha256sum -c sha256 >[2]/dev/null) {
- curl -L -O -K url
- sha256sum -c sha256
- }
-
- for(archive in `{awk '{print $2}' sha256}) {
- switch($archive) {
- case *.gz
- tool=zcat
- case *.bz2
- tool=bzcat
- case *.xz
- tool=xzcat
- case *
- tool=()
- }
- if(! ~ $#tool 0) $tool $archive | pax -r -s '/^\.\|[^\/]*/src/'
- }
-
- if([ -d patch ]) {
- if(prefix=`{git rev-parse --show-prefix >[2]/dev/null}) dir=$prefix^src
- if not dir=src
- git apply -v --directory $dir patch/*
- }
- status=()
-}
-
-fn fetch {
- if (~ $aflag 1 || ~ $1 $packages) @ {
- cd $1
- switch($2) {
- case git
- fetch-git
- case curl
- fetch-curl
- case *
- echo 'unknown fetch type: '$2
- }
- }
- status=()
-}
-
-fetch core/awk git
-fetch core/bc curl
-fetch core/bzip2 curl
-fetch core/curl git
-fetch core/e2fsprogs git
-fetch core/file git
-fetch core/git git
-fetch core/iproute2 git
-fetch core/kbd git
-fetch core/libressl git
-fetch core/loksh git
-fetch core/mdocml curl
-fetch core/ninja git
-fetch core/openbsd curl
-fetch core/openssh git
-fetch core/perp curl
-fetch core/pigz git
-fetch core/plan9port git
-fetch core/sbase git
-fetch core/sinit git
-fetch core/tz git
-fetch core/ubase git
-fetch core/xz git
-fetch core/zlib git
-fetch desktop/expat git
-fetch desktop/freetype git
-fetch desktop/libpciaccess git
-fetch desktop/libevdev git
-fetch desktop/libdrm git
-fetch desktop/libffi git
-fetch desktop/pixman git
-fetch desktop/plan9fonts git
-fetch desktop/wayland git
-fetch devel/cparser git
-fetch devel/libfirm git
-fetch devel/make git
-fetch devel/mc git
-fetch devel/qbe git
-fetch extra/hostap git
-fetch extra/libevent git
-fetch extra/libfuse git
-fetch extra/libnl git
-fetch extra/msmtp git
-fetch extra/pcre curl
-fetch extra/sshfs git
-fetch extra/the_silver_searcher git
-fetch extra/transmission curl
-fetch extra/unzip curl
diff --git a/ninja.rc b/ninja.rc
index 2e1776da..af3a0feb 100644
--- a/ninja.rc
+++ b/ninja.rc
@@ -31,8 +31,9 @@ fn rule {
}
fn build {
- out=$1 rule=$2 {
+ out=$1 rule=$2 src=() {
shift 2
+ for(src) if(~ $src '$srcdir'/*) allsrcs=($allsrcs $src)
echo build $out: $rule $*
}
}
@@ -153,4 +154,9 @@ fn sym {
status=()
}
+fn fetch {
+ ifs=$nl {allsrcs=`{printf %s\n $allsrcs | sort -u}}
+ build $"allsrcs fetch$1 '|' '$dir'/.rev
+}
+
status=()
diff --git a/rules.ninja b/rules.ninja
index 0c383268..ef4053c4 100644
--- a/rules.ninja
+++ b/rules.ninja
@@ -60,3 +60,13 @@ rule gitarchive
rule gitinit
command = mkdir -p $builddir/$repo.git && git -C $builddir/$repo.git init --bare && touch $out
+
+rule fetchcurl
+ command = rc ./scripts/fetch-curl.rc $dir
+ restat = 1
+ generator = 1
+
+rule fetchgit
+ command = rc ./scripts/fetch-git.rc $dir
+ restat = 1
+ generator = 1
diff --git a/scripts/fetch-curl.rc b/scripts/fetch-curl.rc
new file mode 100755
index 00000000..2926a9f0
--- /dev/null
+++ b/scripts/fetch-curl.rc
@@ -0,0 +1,38 @@
+#!/bin/rc
+
+flag e +
+
+if(! ~ $#* 1) {
+ echo 'usage: fetch-curl.rc dir' >[1=2]
+ exit 2
+}
+
+cd $1
+
+if([ -e src ]) rm -rf src
+
+if(! sha256sum -c sha256 >[2]/dev/null) {
+ curl -L -O -K url
+ sha256sum -c sha256
+}
+
+for(archive in `{awk '{print $2}' sha256}) {
+ switch($archive) {
+ case *.gz
+ tool=zcat
+ case *.bz2
+ tool=bzcat
+ case *.xz
+ tool=xzcat
+ case *
+ tool=()
+ }
+ if(! ~ $#tool 0) $tool $archive | pax -r -s '/^\.\|[^\/]*/src/'
+}
+
+if([ -d patch ]) {
+ if(prefix=`{git rev-parse --show-prefix >[2]/dev/null}) dir=$prefix^src
+ if not dir=src
+ git apply -v --directory $dir patch/*
+}
+status=()
diff --git a/scripts/fetch-git.rc b/scripts/fetch-git.rc
new file mode 100755
index 00000000..fec6a809
--- /dev/null
+++ b/scripts/fetch-git.rc
@@ -0,0 +1,17 @@
+#!/bin/rc
+
+flag e +
+
+if(! ~ $#* 1) {
+ echo 'usage: fetch-git.rc dir' >[1=2]
+ exit 2
+}
+
+cd $1
+
+git submodule update --init --checkout src
+if([ -d patch ]) {
+ patches=patch/*
+ git -C src am ../$patches
+}
+status=()
diff --git a/setup.rc b/setup.rc
index 92509477..1c085caa 100755
--- a/setup.rc
+++ b/setup.rc
@@ -11,6 +11,9 @@ fn usage {
if(! ~ $#* 0 1) usage
+nl='
+'
+
. ./ninja.rc
fn subgen {
@@ -28,6 +31,7 @@ fn gen {
cd $1
+ allsrcs=()
tree_perms=()
perms_inputs=()
tree_inputs=()