mirror of git://git.2f30.org/morpheus.git
Add fetching and unpacking magic
This commit is contained in:
parent
f56149fa6f
commit
82d58abc2c
18
mkfile
18
mkfile
|
@ -12,13 +12,29 @@ all world:VQ: $pkgs
|
|||
clean:V:
|
||||
rm -f .state/* pkgs.mk
|
||||
|
||||
fetchpkgs = ${pkgs:%=%-fetch}
|
||||
|
||||
fetch-all fetch-world:VQ: ${fetchpkgs}
|
||||
|
||||
# generate a pkgs.mk file with the tarkets for all packages in pkgs/
|
||||
`{ mkdir -p src }
|
||||
`{ mkdir -p .state }
|
||||
`{ echo '# auto-generated file, do not edit' > pkgs.mk }
|
||||
`{ cd pkgs && for pkg in *; do cat $pkg | sed -e "s,^build:,$pkg:QP./stuff/cmp-pkgs: pkgs/$pkg," >> ../pkgs.mk && echo -e '\tcd $top && cp pkgs/$target .state/$target\n' >> ../pkgs.mk; done }
|
||||
`{ cd pkgs && for pkg in *; do cat $pkg ../stuff/fetch-pkg.mk |\
|
||||
sed -e "s,^build:,$pkg:QP./stuff/cmp-pkgs: $pkg-fetch pkgs/$pkg," |\
|
||||
sed -e "s,^fetch-target:,$pkg-fetch:," |\
|
||||
sed -e "s,^v=,${pkg}_v=," |\
|
||||
sed -e "s,\$v,\${${pkg}_v}," |\
|
||||
sed -e "s,\$url,\${${pkg}_url}," |\
|
||||
sed -e "s, url=, ${pkg}_url=," |\
|
||||
sed -e "s,\$git,\${${pkg}_git}," |\
|
||||
sed -e "s,^git=,${pkg}_git=," |\
|
||||
sed -e "s,^url=,${pkg}_url=," >> ../pkgs.mk; done }
|
||||
|
||||
<pkgs.mk
|
||||
|
||||
test:VQ:
|
||||
echo test
|
||||
|
||||
bootable:V:
|
||||
stuff/create-bootable "$root" morpheus-$arch-$version.img
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
git="git://repo.or.cz/abduco.git"
|
||||
|
||||
build: crossmusl
|
||||
url="git://repo.or.cz/abduco.git"
|
||||
cd src
|
||||
[ -d abduco ] || git clone $url
|
||||
cd abduco
|
||||
cd src/abduco
|
||||
make clean
|
||||
sed -i "s@PREFIX = /usr/local@PREFIX = /@" config.mk
|
||||
sed -i "s@INCS = -I. -I/usr/include -I/usr/local/include@INCS = -I. -I$libcroot/include@" config.mk
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
url="$mirror/busybox"
|
||||
|
||||
build: crossmusl
|
||||
url="$mirror/busybox"
|
||||
cd src
|
||||
wget -c ${url}
|
||||
chmod +x busybox
|
||||
cp busybox "${root}/bin"
|
||||
cd "${root}/bin"
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
build: prepare-root
|
||||
v="0.9.15"
|
||||
url="$mirror/crossx86-$arch-linux-musl-$v.tar.xz"
|
||||
v="0.9.15"
|
||||
url="$mirror/crossx86-$arch-linux-musl-$v.tar.xz"
|
||||
|
||||
build: prepare_root
|
||||
targets="ar as c++ g++ gcc ld ld.bfd nm objcopy objdump ranlib strip"
|
||||
cd src
|
||||
wget -c $url
|
||||
tar xJf crossx86-$arch-linux-musl-$v.tar.xz -C "$root/opt/cross"
|
||||
cp -r $arch-linux-musl "$root/opt/cross/"
|
||||
if test "$arch" = "x86_64"; then
|
||||
mv "$root/opt/cross/$arch-linux-musl/$arch-linux-musl/lib64"/* "$root/opt/cross/$arch-linux-musl/$arch-linux-musl/lib"
|
||||
fi
|
||||
|
|
10
pkgs/dvtm
10
pkgs/dvtm
|
@ -1,10 +1,8 @@
|
|||
v="0.10"
|
||||
url="http://www.brain-dump.org/projects/dvtm/dvtm-$v.tar.gz"
|
||||
|
||||
build: ncurses
|
||||
v="0.10"
|
||||
url="http://www.brain-dump.org/projects/dvtm/dvtm-$v.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d dvtm-$v ] || tar -xzf dvtm-$v.tar.gz
|
||||
cd dvtm-$v
|
||||
cd src/dvtm-$v
|
||||
make clean
|
||||
sed -i "s@PREFIX = /usr/local@PREFIX = /@" config.mk
|
||||
sed -i "s@INCS = -I. -I/usr/include -I/usr/local/include@INCS = -I. -I$libcroot/include -I$libcroot/include/ncursesw@" config.mk
|
||||
|
|
8
pkgs/dwm
8
pkgs/dwm
|
@ -1,9 +1,7 @@
|
|||
url="$mirror/dwm-git.tar.gz"
|
||||
|
||||
build: tinyxlib
|
||||
url="$mirror/dwm-git.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d dwm ] || tar xzf dwm-git.tar.gz
|
||||
cd dwm
|
||||
cd src/dwm
|
||||
make clean
|
||||
sed -i 's@PREFIX = /usr/local@PREFIX = @' config.mk
|
||||
sed -i "s@X11INC = /usr/X11R6/include@X11INC = $libcroot/include @" config.mk
|
||||
|
|
9
pkgs/fs
9
pkgs/fs
|
@ -1,6 +1,5 @@
|
|||
build: prepare-root
|
||||
url="git://git.2f30.org/fs"
|
||||
cd src
|
||||
[ -d fs ] || git clone ${url}
|
||||
cd fs
|
||||
git="git://git.2f30.org/fs"
|
||||
|
||||
build: prepare_root
|
||||
cd src/fs
|
||||
cp -r * "${root}/"
|
||||
|
|
10
pkgs/jupp
10
pkgs/jupp
|
@ -1,10 +1,8 @@
|
|||
v="3.1jupp26"
|
||||
url="$mirror/joe-$v.tgz"
|
||||
|
||||
build: crossmusl
|
||||
v="3.1jupp26"
|
||||
url="$mirror/joe-$v.tgz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d jupp ] || tar xzf joe-$v.tgz
|
||||
cd jupp
|
||||
cd src/jupp
|
||||
CC=$CC sh configure --prefix="/" || return 1
|
||||
make || return 1
|
||||
cp joe termidx "$root/bin"
|
||||
|
|
11
pkgs/kernel
11
pkgs/kernel
|
@ -1,10 +1,7 @@
|
|||
build: crossmusl
|
||||
v="3.10.32"
|
||||
url="$mirror/kernel.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d linux-$v ] || tar xzf kernel.tar.gz
|
||||
cd linux-$v
|
||||
v="3.10.32"
|
||||
|
||||
build: crossmusl kernel_headers
|
||||
cd src/linux-$v
|
||||
cp $top/stuff/kernel-config .config
|
||||
#make menuconfig
|
||||
make oldconfig
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
v="3.10.32"
|
||||
url="$mirror/kernel.tar.gz"
|
||||
|
||||
build:
|
||||
v="3.10.32"
|
||||
url="$mirror/kernel.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d linux-$v ] || tar xzf kernel.tar.gz
|
||||
cd linux-$v
|
||||
cd src/linux-$v
|
||||
if test "$arch" = x86_64; then
|
||||
A=$arch
|
||||
else
|
|
@ -1,10 +1,8 @@
|
|||
v="2.0.21"
|
||||
url="$mirror/libevent-$v-stable.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
v="2.0.21"
|
||||
url="$mirror/libevent-$v-stable.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d libevent-$v-stable ] || tar xzf libevent-$v-stable.tar.gz
|
||||
cd libevent-$v-stable
|
||||
cd src/libevent-$v-stable
|
||||
CC="$CC -static" ./configure --prefix="$libcroot" --disable-shared --enable-static || return 1
|
||||
make -j$nprocs || return 1
|
||||
make install || return 1
|
||||
|
|
10
pkgs/make
10
pkgs/make
|
@ -1,10 +1,8 @@
|
|||
v="3.82"
|
||||
url="$mirror/make-$v.tar.bz2"
|
||||
|
||||
build: crossmusl
|
||||
v="3.82"
|
||||
url="$mirror/make-$v.tar.bz2"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d make-$v ] || tar xjf make-$v.tar.bz2
|
||||
cd make-$v
|
||||
cd src/make-$v
|
||||
CC="$CC -static" ./configure --prefix="$root" --disable-nls || return 1
|
||||
make -j$nprocs || return 1
|
||||
make install || return 1
|
||||
|
|
8
pkgs/man
8
pkgs/man
|
@ -1,8 +1,6 @@
|
|||
url="$mirror/man.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
url="$mirror/man.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d man ] || tar xzf man.tar.gz
|
||||
cd man
|
||||
cd src/man
|
||||
$CC -std=gnu99 -o man man.c -static || return 1
|
||||
cp man "$root/bin"
|
||||
|
|
10
pkgs/mksh
10
pkgs/mksh
|
@ -1,10 +1,8 @@
|
|||
v="R47"
|
||||
url="$mirror/mksh-$v.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
v="R47"
|
||||
url="$mirror/mksh-$v.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d mksh ] || tar xzf mksh-$v.tar.gz
|
||||
cd mksh
|
||||
cd src/mksh
|
||||
CC=$CC sh Build.sh || return 1
|
||||
mkdir -p "$root/share/man/man1" "$root/share/man/cat1"
|
||||
cp mksh "$root/bin"
|
||||
|
|
10
pkgs/mpg123
10
pkgs/mpg123
|
@ -1,10 +1,8 @@
|
|||
v="1.18.0"
|
||||
url="$mirror/mpg123-$v.tar.bz2"
|
||||
|
||||
build: tinyalsa
|
||||
v="1.18.0"
|
||||
url="$mirror/mpg123-$v.tar.bz2"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d mpg123-$v ] || tar xjf mpg123-$v.tar.bz2
|
||||
cd mpg123-$v
|
||||
cd src/mpg123-$v
|
||||
CC=$CC ./configure --prefix="$root" --with-default-audio=tinyalsa \
|
||||
--enable-static=yes --enable-shared=no || return 1
|
||||
make || return 1
|
||||
|
|
10
pkgs/ncurses
10
pkgs/ncurses
|
@ -1,10 +1,8 @@
|
|||
v="5.9"
|
||||
url="$mirror/ncurses.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
v="5.9"
|
||||
url="$mirror/ncurses.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d ncurses-$v ] || tar xzf ncurses.tar.gz
|
||||
cd ncurses-$v
|
||||
cd src/ncurses-$v
|
||||
cp $top/stuff/ncurses-fallback.c ncurses/fallback.c
|
||||
CC="$CC -static" ./configure --prefix="${libcroot}" --mandir="$root/share" --without-tests \
|
||||
--with-normal --enable-sigwinch --disable-nls --without-dlsym \
|
||||
|
|
10
pkgs/rsync
10
pkgs/rsync
|
@ -1,10 +1,8 @@
|
|||
v="3.0.9"
|
||||
url="$mirror/rsync-$v.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
v="3.0.9"
|
||||
url="$mirror/rsync-$v.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d rsync-$v ] || tar xzf rsync-$v.tar.gz
|
||||
cd rsync-$v
|
||||
cd src/rsync-$v
|
||||
CC=$CC ./configure --prefix="$root" || return 1
|
||||
make -j$nprocs || return 1
|
||||
make install || return 1
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
git="git://git.2f30.org/sbase"
|
||||
|
||||
build: crossmusl
|
||||
url="git://git.2f30.org/sbase"
|
||||
cd src
|
||||
[ -d sbase ] || git clone $url
|
||||
cd sbase
|
||||
cd src/sbase
|
||||
make clean
|
||||
make -j$nprocs CC=$CC LDFLAGS="$LDFLAGS" || return 1
|
||||
make PREFIX="$root" install
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
url="$mirror/sdhcp.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
url="$mirror/sdhcp.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d sdhcp ] || tar xzf sdhcp.tar.gz
|
||||
cd sdhcp
|
||||
cd src/sdhcp
|
||||
make clean
|
||||
make CC=$CC || return 1
|
||||
cp sdhcp "$root/bin" || return 1
|
||||
|
|
8
pkgs/sic
8
pkgs/sic
|
@ -1,9 +1,7 @@
|
|||
url="$mirror/sic.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
url="$mirror/sic.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d sic ] || tar xzf sic.tar.gz
|
||||
cd sic
|
||||
cd src/sic
|
||||
make clean
|
||||
make CC=$CC LDFLAGS="$LDFLAGS" || return 1
|
||||
cp sic "$root/bin"
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
git="git://git.2f30.org/sinit"
|
||||
|
||||
build: crossmusl
|
||||
url="git://git.2f30.org/sinit"
|
||||
cd src
|
||||
[ -d sinit ] || git clone $url
|
||||
cd sinit
|
||||
cd src/sinit
|
||||
make clean
|
||||
make -j$nprocs CC=$CC LDFLAGS="$LDFLAGS" || return 1
|
||||
make PREFIX="$root" install
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
git="git://git.2f30.org/smdev"
|
||||
|
||||
build: crossmusl
|
||||
url="git://git.2f30.org/smdev"
|
||||
cd src
|
||||
[ -d smdev ] || git clone $url
|
||||
cd smdev
|
||||
cd src/smdev
|
||||
make clean
|
||||
make CC=$CC LDFLAGS="$LDFLAGS" || return 1
|
||||
make PREFIX="$root" install || return 1
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
build: prepare-root
|
||||
url="$mirror/syslinux.tar.gz"
|
||||
url="$mirror/syslinux.tar.gz"
|
||||
|
||||
build: prepare_root
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d syslinux ] || tar xzf syslinux.tar.gz
|
||||
cp -r syslinux/* $root/
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
v="4.38"
|
||||
url="$mirror/terminus-font-$v.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
v="4.38"
|
||||
url="$mirror/terminus-font-$v.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d terminus-font-$v ] || tar xzf terminus-font-$v.tar.gz
|
||||
cd terminus-font-$v
|
||||
cd src/terminus-font-$v
|
||||
sh configure --psfdir="$root/share/fonts/console" \
|
||||
--x11dir="$root/share/fonts/misc" || return 1
|
||||
make || return 1
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
url="$mirror/tinyalsa.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
url="$mirror/tinyalsa.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d tinyalsa ] || tar xzf tinyalsa.tar.gz
|
||||
cd tinyalsa
|
||||
cd src/tinyalsa
|
||||
make clean 2>/dev/null
|
||||
make CC=$CC || return 1
|
||||
cp tinycap tinymix tinypcminfo tinyplay "$root/bin"
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
url="$mirror/tinyxlib.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
url="$mirror/tinyxlib.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d tinyxlib ] || tar xzf tinyxlib.tar.gz
|
||||
cd tinyxlib
|
||||
cd src/tinyxlib
|
||||
make clean
|
||||
make CC=$CC BINDIR="/bin" LIBDIR="/lib" STATIC=1 \
|
||||
FONT_ENCODINGS_DIRECTORY="/share/fonts/encodings/encodings.dir" || return 1
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
url="$mirror/tinyxserver.tar.gz"
|
||||
|
||||
build: tinyxlib zlib
|
||||
url="$mirror/tinyxserver.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d tinyxserver ] || tar xzf tinyxserver.tar.gz
|
||||
cd tinyxserver
|
||||
cd src/tinyxserver
|
||||
make clean
|
||||
make CC=$CC EXTRA_CFLAGS="-D_XSERVER64=1 $CFLAGS" \
|
||||
FONTDIR="/usr/share/fonts" || return 1
|
||||
|
|
10
pkgs/tmux
10
pkgs/tmux
|
@ -1,10 +1,8 @@
|
|||
v="1.8"
|
||||
url="$mirror/tmux-$v.tar.gz"
|
||||
|
||||
build: ncurses libevent
|
||||
v="1.8"
|
||||
url="$mirror/tmux-$v.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d tmux-$v ] || tar xzf tmux-$v.tar.gz
|
||||
cd tmux-$v
|
||||
cd src/tmux-$v
|
||||
CC=$CC ./configure --prefix="$root" \
|
||||
CFLAGS="-I$libcroot/include/ncursesw $CFLAGS" || return 1
|
||||
make -j$nprocs || return 1
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
git="git://git.2f30.org/ubase"
|
||||
|
||||
build: crossmusl
|
||||
url="git://git.2f30.org/ubase"
|
||||
cd src
|
||||
[ -d ubase ] || git clone $url
|
||||
cd ubase
|
||||
cd src/ubase
|
||||
make clean
|
||||
make -j$nprocs CC=$CC LDFLAGS="$LDFLAGS" || return 1
|
||||
make PREFIX="$root" install || return 1
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
url="$mirror/uuterm.tar.gz"
|
||||
|
||||
build: tinyxlib
|
||||
url="$mirror/uuterm.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d uuterm ] || tar xzf uuterm.tar.gz
|
||||
cd uuterm
|
||||
cd src/uuterm
|
||||
make clean
|
||||
make CC=$CC LDFLAGS_X11="$LDFLAGS" uuterm-x11 || return 1
|
||||
cp uuterm-x11 "$root/bin"
|
||||
|
|
10
pkgs/vim
10
pkgs/vim
|
@ -1,10 +1,8 @@
|
|||
v="7.4"
|
||||
url="http://ftp.vim.org/pub/vim/unix/vim-$v.tar.bz2"
|
||||
|
||||
build: ncurses
|
||||
v="7.4"
|
||||
url="http://ftp.vim.org/pub/vim/unix/vim-$v.tar.bz2"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d vim74 ] || tar xjf vim-$v.tar.bz2
|
||||
cd vim74
|
||||
cd src/vim74
|
||||
make clean
|
||||
CC=$CC ./configure --prefix=/ \
|
||||
--enable-multibyte --disable-gui --with-x=no \
|
||||
|
|
10
pkgs/zlib
10
pkgs/zlib
|
@ -1,10 +1,8 @@
|
|||
v="1.2.8"
|
||||
url="$mirror/zlib-$v.tar.gz"
|
||||
|
||||
build: crossmusl
|
||||
v="1.2.8"
|
||||
url="$mirror/zlib-$v.tar.gz"
|
||||
cd src
|
||||
wget -c $url
|
||||
[ -d zlib-$v ] || tar xzf zlib-$v.tar.gz
|
||||
cd zlib-$v
|
||||
cd src/zlib-$v
|
||||
CC=$CC ./configure --prefix="$libcroot" --static || return 1
|
||||
make -j$nprocs || return 1
|
||||
make install || return 1
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
pkg=`echo $1 | sed -e 's,-fetch$,,'`
|
||||
cmp -s .state/$1 pkgs/$pkg
|
|
@ -0,0 +1,26 @@
|
|||
cp $top/pkgs/$target $top/.state/$target
|
||||
|
||||
fetch-target:QP./stuff/cmp-fetch: .
|
||||
cd src
|
||||
pkg=`echo $target | sed -e 's,-fetch$,,'`
|
||||
eval url=$url
|
||||
if test "$url" = ""; then
|
||||
if test "$git" = ""; then
|
||||
echo $target: nothing to download
|
||||
else
|
||||
[ -d $pkg ] || git clone $git $pkg
|
||||
fi
|
||||
else
|
||||
wget -c $url
|
||||
file=`basename $url`
|
||||
type=`file -b $file | cut -d ' ' -f 1`
|
||||
if test "$type" = "gzip"; then
|
||||
tar -xzf $file
|
||||
elif test "$type" = "bzip2"; then
|
||||
tar -xjf $file
|
||||
elif test "$type" = "XZ"; then
|
||||
tar -xJf $file
|
||||
fi
|
||||
fi
|
||||
cp $top/pkgs/$pkg $top/.state/$target
|
||||
|
Loading…
Reference in New Issue