diff --git a/ports/doom/build.sh b/ports/doom/build.sh index bc481a8b..27be680b 100755 --- a/ports/doom/build.sh +++ b/ports/doom/build.sh @@ -4,6 +4,10 @@ NAME='doom' VERSION='git' DOWNLOAD_URL="https://github.com/ozkl/doomgeneric.git#613f870b6fa83ede448a247de5a2571092fa729d" +configure() { + : +} + build() { if [ ! -f doom1.wad ]; then wget https://distro.ibiblio.org/slitaz/sources/packages/d/doom1.wad || exit 1 diff --git a/ports/install.sh b/ports/install.sh index 2193395d..aca103f5 100755 --- a/ports/install.sh +++ b/ports/install.sh @@ -6,7 +6,7 @@ if (( $# != 1 )); then fi if [[ -z $BANAN_ROOT_DIR ]]; then - BANAN_ROOT_DIR="$(dirname $(realpath $0))/.." + BANAN_ROOT_DIR="$(realpath $(dirname $(realpath $0))/..)" fi source "$BANAN_ROOT_DIR/script/config.sh" @@ -18,6 +18,10 @@ export PKG_CONFIG_SYSROOT_DIR="$BANAN_SYSROOT" export PKG_CONFIG_LIBDIR="$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig" export PKG_CONFIG_PATH="$PKG_CONFIG_SYSROOT_DIR/usr/share/pkgconfig" +export CC="$BANAN_TOOLCHAIN_TRIPLE-gcc" +export CXX="$BANAN_TOOLCHAIN_TRIPLE-g++" +export LD="$BANAN_TOOLCHAIN_TRIPLE-ld" + if [ ! -f "$BANAN_SYSROOT/usr/lib/libc.a" ]; then pushd "$BANAN_ROOT_DIR" >/dev/null ./bos libc || exit 1 @@ -29,11 +33,13 @@ clean() { find . -mindepth 1 -maxdepth 1 -not -name 'patches' -not -name 'build.sh' -exec rm -rf {} + } -build() { +configure() { configure_options=("--host=$BANAN_ARCH-banan_os" '--prefix=/usr') - configure_options+=(${CONFIGURE_OPTIONS[*]}) + configure_options+=("${CONFIGURE_OPTIONS[@]}") + ./configure "${configure_options[@]}" || exit 1 +} - ./configure ${configure_options[*]} || exit 1 +build() { make -j$(nproc) || exit 1 } @@ -143,6 +149,7 @@ fi cd "$build_dir" if (( $needs_compile )); then + configure build sha256sum "$BANAN_SYSROOT/usr/lib/libc.a" > "../.compile_hash" fi diff --git a/ports/ncurses/build.sh b/ports/ncurses/build.sh index 7763ee65..da35a39e 100755 --- a/ports/ncurses/build.sh +++ b/ports/ncurses/build.sh @@ -4,7 +4,10 @@ NAME='ncurses' VERSION='6.5' DOWNLOAD_URL="https://ftp.gnu.org/gnu/ncurses/ncurses-$VERSION.tar.gz#136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6" CONFIGURE_OPTIONS=( - '--disable-db-intall' + "--with-pkg-config='$PKG_CONFIG'" + "--with-pkg-config-libdir=/usr/lib/pkgconfig" + '--enable-pc-files' + '--enable-sigwinch' '--disable-widec' '--without-ada' '--without-manpages' diff --git a/ports/update.sh b/ports/update.sh index 79560fe3..b22494e9 100755 --- a/ports/update.sh +++ b/ports/update.sh @@ -1,9 +1,16 @@ #!/bin/bash +if [ -z $BANAN_PORT_DIR ]; then + echo "You must set the BANAN_PORT_DIR environment variable" >&2 + exit 1 +fi + cd $(dirname $(realpath $0)) +rm -f $BANAN_PORT_DIR/.installed + while IFS= read -r port; do pushd $(dirname "$port") >/dev/null ./build.sh popd >/dev/null -done < <(find . -name '.compile_hash') +done < <(find $BANAN_PORT_DIR -name '.compile_hash') diff --git a/ports/vim/build.sh b/ports/vim/build.sh index 3a29a29a..d54b56b4 100755 --- a/ports/vim/build.sh +++ b/ports/vim/build.sh @@ -4,7 +4,7 @@ NAME='vim' VERSION='9.0' DOWNLOAD_URL="ftp://ftp.vim.org/pub/vim/unix/vim-$VERSION.tar.bz2#a6456bc154999d83d0c20d968ac7ba6e7df0d02f3cb6427fb248660bacfb336e" TAR_CONTENT='vim90' -DEPENDENCIES=('ncurses' ) +DEPENDENCIES=('ncurses') CONFIGURE_OPTIONS=( '--with-tlib=ncurses' '--disable-nls' diff --git a/script/config.sh b/script/config.sh index 64dfceae..7502c722 100644 --- a/script/config.sh +++ b/script/config.sh @@ -1,6 +1,6 @@ if [[ -z $BANAN_ROOT_DIR ]]; then if ! [[ -z $BANAN_SCRIPT_DIR ]]; then - export BANAN_ROOT_DIR=$BANAN_SCRIPT_DIR/.. + export BANAN_ROOT_DIR="$(realpath $BANAN_SCRIPT_DIR/..)" else echo "You must set the BANAN_ROOT_DIR environment variable" >&2 exit 1 @@ -13,10 +13,12 @@ fi export BANAN_TOOLCHAIN_DIR=$BANAN_ROOT_DIR/toolchain export BANAN_TOOLCHAIN_PREFIX=$BANAN_TOOLCHAIN_DIR/local -export BANAN_TOOLCHAIN_TRIPLE_PREFIX=$BANAN_ARCH-banan_os +export BANAN_TOOLCHAIN_TRIPLE=$BANAN_ARCH-banan_os export BANAN_BUILD_DIR=$BANAN_ROOT_DIR/build +export BANAN_PORT_DIR=$BANAN_ROOT_DIR/ports + export BANAN_SYSROOT=$BANAN_BUILD_DIR/sysroot export BANAN_SYSROOT_TAR=$BANAN_SYSROOT.tar diff --git a/toolchain/build.sh b/toolchain/build.sh index d4584659..3e7d672f 100755 --- a/toolchain/build.sh +++ b/toolchain/build.sh @@ -47,8 +47,8 @@ if [[ -z $BANAN_TOOLCHAIN_PREFIX ]]; then exit 1 fi -if [[ -z $BANAN_TOOLCHAIN_TRIPLE_PREFIX ]]; then - echo "You must set the BANAN_TOOLCHAIN_TRIPLE_PREFIX environment variable" >&2 +if [[ -z $BANAN_TOOLCHAIN_TRIPLE ]]; then + echo "You must set the BANAN_TOOLCHAIN_TRIPLE environment variable" >&2 exit 1 fi @@ -89,7 +89,7 @@ build_binutils () { enter_clean_build ../configure \ - --target="$BANAN_TOOLCHAIN_TRIPLE_PREFIX" \ + --target="$BANAN_TOOLCHAIN_TRIPLE" \ --prefix="$BANAN_TOOLCHAIN_PREFIX" \ --with-sysroot="$BANAN_SYSROOT" \ --disable-initfini-array \ @@ -116,7 +116,7 @@ build_gcc () { enter_clean_build ../configure \ - --target="$BANAN_TOOLCHAIN_TRIPLE_PREFIX" \ + --target="$BANAN_TOOLCHAIN_TRIPLE" \ --prefix="$BANAN_TOOLCHAIN_PREFIX" \ --with-sysroot="$BANAN_SYSROOT" \ --disable-initfini-array \ @@ -189,7 +189,7 @@ build_cmake() { } BUILD_BINUTILS=1 -if [[ -f $BANAN_TOOLCHAIN_PREFIX/bin/$BANAN_TOOLCHAIN_TRIPLE_PREFIX-ld ]]; then +if [[ -f $BANAN_TOOLCHAIN_PREFIX/bin/$BANAN_TOOLCHAIN_TRIPLE-ld ]]; then echo "You already seem to have a binutils installed." read -e -p "Do you want to rebuild it [y/N]? " choice if ! [[ "$choice" == [Yy]* ]]; then @@ -198,7 +198,7 @@ if [[ -f $BANAN_TOOLCHAIN_PREFIX/bin/$BANAN_TOOLCHAIN_TRIPLE_PREFIX-ld ]]; then fi BUILD_GCC=1 -if [[ -f $BANAN_TOOLCHAIN_PREFIX/bin/$BANAN_TOOLCHAIN_TRIPLE_PREFIX-gcc ]]; then +if [[ -f $BANAN_TOOLCHAIN_PREFIX/bin/$BANAN_TOOLCHAIN_TRIPLE-gcc ]]; then echo "You already seem to have a gcc installed." read -e -p "Do you want to rebuild it [y/N]? " choice if ! [[ "$choice" == [Yy]* ]]; then