56 lines
1.2 KiB
Bash
Executable File
56 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. $Y_PORT_UTILS/sig.sh
|
|
|
|
SRC_FILENAME="${GNU_PROJECT}-${Y_PORT_VERSION}.tar.gz"
|
|
RELEASE_BASE="https://ftp.gnu.org/gnu/${GNU_PROJECT}"
|
|
RELEASE_URL="$RELEASE_BASE/$SRC_FILENAME"
|
|
|
|
gnu_fetch() {
|
|
source_dir=$2
|
|
build_dir=$3
|
|
|
|
mkdir -p $source_dir
|
|
cd $source_dir
|
|
|
|
if [ ! -f .source-ready ]; then
|
|
curl -LO $RELEASE_URL
|
|
verify_sha256 $SRC_SHA256 $SRC_FILENAME
|
|
|
|
tar xf $SRC_FILENAME
|
|
|
|
cd ${GNU_PROJECT}-${Y_PORT_VERSION}
|
|
for patch in $1/patches/${Y_PORT_VERSION}/*.patch; do
|
|
echo Apply $patch
|
|
patch -p1 <$patch
|
|
done
|
|
|
|
touch $source_dir/.source-ready
|
|
fi
|
|
}
|
|
|
|
gnu_compile() {
|
|
source_dir=$2
|
|
build_dir=$3
|
|
|
|
mkdir -p $build_dir
|
|
cd $build_dir
|
|
|
|
if [ ! -f Makefile ]; then
|
|
CC="clang" CFLAGS="-DNO_ARCHIVES -fPIC -target $Y_TRIPLE --sysroot $Y_SYSROOT" \
|
|
$source_dir/${GNU_PROJECT}-${Y_PORT_VERSION}/configure \
|
|
--prefix=/usr \
|
|
--build=x86_64-pc-linux-gnu \
|
|
--host=x86_64-unknown-yggdrasil \
|
|
$GNU_CONFIGURE_OPTIONS
|
|
fi
|
|
|
|
make -j
|
|
}
|
|
|
|
gnu_install() {
|
|
build_dir=$3
|
|
cd $build_dir
|
|
make -j install DESTDIR=$Y_SYSROOT >/dev/null
|
|
}
|