commit dea360f0f39e6bf8a01af932d88973a54b8d4a99 Author: Matt Jenkins Date: Sat Sep 20 15:57:29 2025 +0100 Initial building work diff --git a/bin/makepkg b/bin/makepkg new file mode 100755 index 0000000..38c90d4 --- /dev/null +++ b/bin/makepkg @@ -0,0 +1,147 @@ +#!/bin/sh + +BPROG=$0 + +ABI="32" +CFLAGS="-I/usr/local/include" +CXXFLAGS="-I/usr/local/include" + +SITE_GNU=ftp://ftp.mirrorservice.org/sites/ftp.gnu.org/gnu + +NCPU=`/usr/sbin/psrinfo -p` +ARCH=`uname -m` +OSVER=`uname -r` +OSNAME=`uname -s` +OS="${OSNAME}-${OSVER}" + + + +OPT_INSTALL=0 +OPT_RECURSE=0 + + + +set -- `getopt is $*` +for i in $* +do + case $i in + -i) OPT_INSTALL=1; shift;; + -s) OPT_RECURSE=1; shift;; + --) shift; break;; + esac +done + + +if [ ! -f "PKGCONF" ]; then + echo "Missing PKGCONF file." + exit 10 +fi + +. PKGCONF + +if [ -z "$URL" ]; then + echo "URL missing from PKGCONF." + exit 10 +fi + +HERE=`pwd` +SRCDIR="${HERE}/src" +DESTDIR="${HERE}/staging" +PKGDIR="${HERE}/pkg" +export DESTDIR + +mkdir -p "${SRCDIR}" +mkdir -p "${DESTDIR}" +mkdir -p "${PKGDIR}" + +download() { + ( cd "${SRCDIR}" && /usr/sfw/bin/wget -c "${URL}" ) +} + +extract() { + printf "Extracting ${SRC} ... " + ( + cd "${SRCDIR}" + gzip -d < "${SRC}" | tar xf - + ) + echo "done" +} + +package() { + echo "PKG=\"${PACKAGE}\"" > "${HERE}/pkginfo" + echo "NAME=\"${PACKAGE} ${VERSION}\"" >> "${HERE}/pkginfo" + echo "VERSION=\"${VERSION}\"" >> "${HERE}/pkginfo" + echo "ARCH=\"${ARCH}\"" >> "${HERE}/pkginfo" + echo "CLASSES=\"none\"" >> "${HERE}/pkginfo" + echo "CATEGORY=\"${CATEGORY}\"" >> "${HERE}/pkginfo" + echo "VENDOR=\"Local\"" >> "${HERE}/pkginfo" + echo "BASEDIR=\"/\"" >> "${HERE}/pkginfo" + + cd "${DESTDIR}" + echo "i pkginfo" > "${HERE}/Prototype" + find . | pkgproto | awk '{print $1 " " $2 " /" $3 " " $4 " root root"}' >> "${HERE}/Prototype" + cd "${HERE}" + + pkgmk -o -r "${DESTDIR}" -d "${PKGDIR}" -f Prototype + + pkgtrans "${PKGDIR}" "${HERE}/${PACKAGE}_${VERSION}_${ARCH}_${OS}.pkg" ${PACKAGE} + +# cd "${DESTDIR}" +# tar -cf "${HERE}/${PACKAGE}_${VERSION}_${ARCH}_${OS}.tar" * +# cd "${HERE}" +# compress -f ${PACKAGE}_${VERSION}_${ARCH}_${OS}.tar +} + +runonce() { + FUNC=$1 + if [ ! -f "${HERE}/.${FUNC}" ]; then + $1 "$2" "$3" "$4" "$5" "$6" || exit 10 + fi + touch "${HERE}/.${FUNC}" +} + +installpkg() { + su root -c "/usr/sbin/pkgadd -d \"${HERE}/${PACKAGE}_${VERSION}_${ARCH}_${OS}.pkg\"" +} + +checkdepend() { + if [ ! -z "${DEPENDS}" ]; then + FAIL=0 + for DEP in ${DEPENDS}; do + CATNAME=`echo $DEP | cut -f1 -d'/'` + PKGNAME=`echo $DEP | cut -f2 -d'/'` + if pkginfo -q -c $CATNAME $PKGNAME; then + echo "$PKGNAME found" + else + echo "Missing requirement: $DEP" + if [ "${OPT_RECURSE}" = "1" ]; then + ( + cd "${HERE}/../../$CATNAME/$PKGNAME" + $BPROG -s -i + cd "${HERE}" + ) + else + FAIL=1 + fi + fi + done + if [ "$FAIL" = "1" ]; then + exit 10 + fi + fi +} + + +checkdepend + + +runonce download +runonce extract +runonce configure +runonce build +runonce install +runonce package + +if [ "${OPT_INSTALL}" = "1" ]; then + runonce installpkg +fi diff --git a/devel/autoconf/PKGCONF b/devel/autoconf/PKGCONF new file mode 100644 index 0000000..ef2fb3c --- /dev/null +++ b/devel/autoconf/PKGCONF @@ -0,0 +1,24 @@ +VERSION=2.72 +PACKAGE=autoconf +SRC=${PACKAGE}-${VERSION}.tar.gz +URL=${SITE_GNU}/${PACKAGE}/${SRC} +DEPENDS=m4 +CATEGORY=devel + +configure() { + echo "Configuring $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + ./configure +} + +build() { + echo "Building $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make -j ${NCPU} +} + +install() { + echo "Installing $PACKAGE to ${DESTDIR}" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make install DESTDIR="${DESTDIR}" +} diff --git a/devel/automake/PKGCONF b/devel/automake/PKGCONF new file mode 100644 index 0000000..a23cf48 --- /dev/null +++ b/devel/automake/PKGCONF @@ -0,0 +1,24 @@ +VERSION=1.18 +PACKAGE=automake +SRC=${PACKAGE}-${VERSION}.tar.gz +URL=${SITE_GNU}/${PACKAGE}/${SRC} +DEPENDS=m4 +CATEGORY=devel + +configure() { + echo "Configuring $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + ./configure +} + +build() { + echo "Building $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make -j ${NCPU} +} + +install() { + echo "Installing $PACKAGE to ${DESTDIR}" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make install DESTDIR="${DESTDIR}" +} diff --git a/devel/binutils/PKGCONF b/devel/binutils/PKGCONF new file mode 100644 index 0000000..2fd4e23 --- /dev/null +++ b/devel/binutils/PKGCONF @@ -0,0 +1,24 @@ +VERSION=2.45 +PACKAGE=binutils +SRC=${PACKAGE}-${VERSION}.tar.gz +URL=${SITE_GNU}/binutils/${SRC} +CATEGORY=devel +DEPENDS=libs/isl + +configure() { + echo "Configuring $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + ./configure +} + +build() { + echo "Building $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make -j ${NCPU} +} + +install() { + echo "Installing $PACKAGE to ${DESTDIR}" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make install DESTDIR="${DESTDIR}" +} diff --git a/devel/m4/PKGCONF b/devel/m4/PKGCONF new file mode 100644 index 0000000..a9f5514 --- /dev/null +++ b/devel/m4/PKGCONF @@ -0,0 +1,24 @@ +VERSION=1.4.20 +PACKAGE=m4 +SRC=${PACKAGE}-${VERSION}.tar.gz +URL=${SITE_GNU}/${PACKAGE}/${SRC} +CATEGORY=devel +DEPENDS=libiconv + +configure() { + echo "Configuring $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + ./configure +} + +build() { + echo "Building $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make -j ${NCPU} +} + +install() { + echo "Installing $PACKAGE to ${DESTDIR}" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make install DESTDIR="${DESTDIR}" +} diff --git a/libs/gmp/PKGCONF b/libs/gmp/PKGCONF new file mode 100644 index 0000000..8a1560b --- /dev/null +++ b/libs/gmp/PKGCONF @@ -0,0 +1,23 @@ +PACKAGE=gmp +VERSION=6.3.0 +SRC=${PACKAGE}-${VERSION}.tar.gz +URL=${SITE_GNU}/${PACKAGE}/${SRC} +CATEGORY=libs + +configure() { + echo "Configuring $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + ./configure +} + +build() { + echo "Building $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make -j ${NCPU} +} + +install() { + echo "Installing $PACKAGE to ${DESTDIR}" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make install DESTDIR="${DESTDIR}" +} diff --git a/libs/isl/PKGCONF b/libs/isl/PKGCONF new file mode 100644 index 0000000..994664d --- /dev/null +++ b/libs/isl/PKGCONF @@ -0,0 +1,24 @@ +PACKAGE=isl +VERSION=0.27 +SRC=${PACKAGE}-${VERSION}.tar.gz +URL=ftp://ftp.majenko.co.uk/mirrors/libisl.sourceforge.io/${SRC} +CATEGORY=libs +DEPENDS=libs/gmp + +configure() { + echo "Configuring $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + ./configure +} + +build() { + echo "Building $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make -j ${NCPU} +} + +install() { + echo "Installing $PACKAGE to ${DESTDIR}" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make install DESTDIR="${DESTDIR}" +} diff --git a/libs/libiconv/PKGCONF b/libs/libiconv/PKGCONF new file mode 100644 index 0000000..6d94c52 --- /dev/null +++ b/libs/libiconv/PKGCONF @@ -0,0 +1,23 @@ +PACKAGE=libiconv +VERSION=1.18 +SRC=${PACKAGE}-${VERSION}.tar.gz +URL=${SITE_GNU}/${PACKAGE}/${SRC} +CATEGORY=libs + +configure() { + echo "Configuring $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + ./configure +} + +build() { + echo "Building $PACKAGE" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make -j ${NCPU} +} + +install() { + echo "Installing $PACKAGE to ${DESTDIR}" + cd "${SRCDIR}/${PACKAGE}-${VERSION}" + make install DESTDIR="${DESTDIR}" +}