From 0b8892cef99e1378dd90f819dd4f5ed522052e5b Mon Sep 17 00:00:00 2001 From: Lukas Martini Date: Tue, 14 Nov 2023 15:05:23 +0100 Subject: [PATCH] land: Add pacman port, build userland using makepkg --- land/base/PKGBUILD | 37 +++++++ land/base/etc/init.d/console-login | 4 + land/bash/PKGBUILD | 35 +++++++ land/binutils/PKGBUILD | 51 ++++++++++ land/bzip2/PKGBUILD | 18 ++++ land/cairo/PKGBUILD | 47 +++++++++ land/coreutils/PKGBUILD | 46 +++++++++ land/curl/PKGBUILD | 47 +++++++++ land/darkhttpd/PKGBUILD | 29 ++++++ land/dash/PKGBUILD | 30 ++++++ land/dialog/PKGBUILD | 35 +++++++ land/diffutils/PKGBUILD | 33 ++++++ land/dropbear/PKGBUILD | 40 ++++++++ land/e2fsprogs/PKGBUILD | 37 +++++++ land/ffmpeg/PKGBUILD | 46 +++++++++ land/flac/PKGBUILD | 37 +++++++ land/font-dejavu/PKGBUILD | 14 +++ land/font-fira-code/PKGBUILD | 13 +++ land/font-fira/PKGBUILD | 14 +++ land/font-roboto/PKGBUILD | 13 +++ land/fontconfig/PKGBUILD | 36 +++++++ land/freetype/PKGBUILD | 34 +++++++ land/gfxcompd/PKGBUILD | 23 +++++ land/gfxcompd/src/Makefile | 4 +- land/gmp/PKGBUILD | 34 +++++++ land/grep/PKGBUILD | 32 ++++++ land/gzip/PKGBUILD | 33 ++++++ land/htop/PKGBUILD | 42 ++++++++ land/less/PKGBUILD | 24 +++++ land/libarchive/PKGBUILD | 35 +++++++ land/libedit/PKGBUILD | 36 +++++++ land/libevent/PKGBUILD | 38 +++++++ land/libexpat/PKGBUILD | 34 +++++++ land/libiconv/PKGBUILD | 34 +++++++ land/libpng/PKGBUILD | 36 +++++++ land/libtextstyle/PKGBUILD | 35 +++++++ land/libxml2/PKGBUILD | 37 +++++++ land/mpc/PKGBUILD | 40 ++++++++ land/mpfr/PKGBUILD | 35 +++++++ land/nano/PKGBUILD | 40 ++++++++ land/ncurses/PKGBUILD | 37 +++++++ land/openssl/PKGBUILD | 28 +++++ land/pacman/Makefile.xelix | 22 ++++ land/pacman/PKGBUILD | 39 +++++++ land/pacman/pacman-6.0.2.patch | 158 +++++++++++++++++++++++++++++ land/pacman/pacman.conf | 80 +++++++++++++++ land/pacman/xelixconfig.h | 73 +++++++++++++ land/pciutils/PKGBUILD | 53 ++++++++++ land/pcre2/PKGBUILD | 33 ++++++ land/pixman/PKGBUILD | 37 +++++++ land/setenv.sh | 17 ++++ land/tar/PKGBUILD | 33 ++++++ land/tmux/PKGBUILD | 34 +++++++ land/tz/PKGBUILD | 29 ++++++ land/vim/PKGBUILD | 36 +++++++ land/wget/PKGBUILD | 40 ++++++++ land/which/PKGBUILD | 23 +++++ land/xelix-utils/PKGBUILD | 23 +++++ land/xelix-utils/src/Makefile | 2 +- land/xz/PKGBUILD | 33 ++++++ land/zlib/PKGBUILD | 19 ++++ land/zsh/PKGBUILD | 34 +++++++ 62 files changed, 2168 insertions(+), 3 deletions(-) create mode 100644 land/base/PKGBUILD create mode 100644 land/base/etc/init.d/console-login create mode 100644 land/bash/PKGBUILD create mode 100644 land/binutils/PKGBUILD create mode 100644 land/bzip2/PKGBUILD create mode 100644 land/cairo/PKGBUILD create mode 100644 land/coreutils/PKGBUILD create mode 100644 land/curl/PKGBUILD create mode 100644 land/darkhttpd/PKGBUILD create mode 100644 land/dash/PKGBUILD create mode 100644 land/dialog/PKGBUILD create mode 100644 land/diffutils/PKGBUILD create mode 100644 land/dropbear/PKGBUILD create mode 100644 land/e2fsprogs/PKGBUILD create mode 100644 land/ffmpeg/PKGBUILD create mode 100644 land/flac/PKGBUILD create mode 100644 land/font-dejavu/PKGBUILD create mode 100644 land/font-fira-code/PKGBUILD create mode 100644 land/font-fira/PKGBUILD create mode 100644 land/font-roboto/PKGBUILD create mode 100644 land/fontconfig/PKGBUILD create mode 100644 land/freetype/PKGBUILD create mode 100644 land/gfxcompd/PKGBUILD create mode 100644 land/gmp/PKGBUILD create mode 100644 land/grep/PKGBUILD create mode 100644 land/gzip/PKGBUILD create mode 100644 land/htop/PKGBUILD create mode 100644 land/less/PKGBUILD create mode 100644 land/libarchive/PKGBUILD create mode 100644 land/libedit/PKGBUILD create mode 100644 land/libevent/PKGBUILD create mode 100644 land/libexpat/PKGBUILD create mode 100644 land/libiconv/PKGBUILD create mode 100644 land/libpng/PKGBUILD create mode 100644 land/libtextstyle/PKGBUILD create mode 100644 land/libxml2/PKGBUILD create mode 100644 land/mpc/PKGBUILD create mode 100644 land/mpfr/PKGBUILD create mode 100644 land/nano/PKGBUILD create mode 100644 land/ncurses/PKGBUILD create mode 100644 land/openssl/PKGBUILD create mode 100644 land/pacman/Makefile.xelix create mode 100644 land/pacman/PKGBUILD create mode 100644 land/pacman/pacman-6.0.2.patch create mode 100644 land/pacman/pacman.conf create mode 100644 land/pacman/xelixconfig.h create mode 100644 land/pciutils/PKGBUILD create mode 100644 land/pcre2/PKGBUILD create mode 100644 land/pixman/PKGBUILD create mode 100644 land/setenv.sh create mode 100644 land/tar/PKGBUILD create mode 100644 land/tmux/PKGBUILD create mode 100644 land/tz/PKGBUILD create mode 100644 land/vim/PKGBUILD create mode 100644 land/wget/PKGBUILD create mode 100644 land/which/PKGBUILD create mode 100644 land/xelix-utils/PKGBUILD create mode 100644 land/xz/PKGBUILD create mode 100644 land/zlib/PKGBUILD create mode 100644 land/zsh/PKGBUILD diff --git a/land/base/PKGBUILD b/land/base/PKGBUILD new file mode 100644 index 00000000..eb6f907b --- /dev/null +++ b/land/base/PKGBUILD @@ -0,0 +1,37 @@ +pkgname=base +pkgver=1 +pkgrel=2 +pkgdesc="The basic components of the Xelix operating system." +arch=('any') +url="https://xelix.org" +license=('GPL') +depennds=('xelix-kernel' 'coreutils' 'bash' 'xelix-utils') +makedepends=() +source=() +sha256sums=() + +package() { + install -d $pkgdir/boot + install -d $pkgdir/dev + install -d $pkgdir/etc + install -d $pkgdir/etc/init.d + install -d $pkgdir/home + install -d $pkgdir/home/root -m 700 + install -d $pkgdir/sys + install -d $pkgdir/tmp + install -d $pkgdir/usr + install -d $pkgdir/usr/bin + install -d $pkgdir/usr/include + install -d $pkgdir/usr/lib + install -d $pkgdir/usr/share + install -d $pkgdir/var + install -d $pkgdir/var/run + + rm $pkgdir/bin || true + ln -s usr/bin $pkgdir/bin + + rm $pkgdir/etc/mtab || true + ln -s /sys/mounts $pkgdir/etc/mtab + + cp -r ../etc $pkgdir/ +} diff --git a/land/base/etc/init.d/console-login b/land/base/etc/init.d/console-login new file mode 100644 index 00000000..cc840e9d --- /dev/null +++ b/land/base/etc/init.d/console-login @@ -0,0 +1,4 @@ +[Service] +Target=default +ExecStart=/usr/bin/login +Restart=always diff --git a/land/bash/PKGBUILD b/land/bash/PKGBUILD new file mode 100644 index 00000000..c6eff10b --- /dev/null +++ b/land/bash/PKGBUILD @@ -0,0 +1,35 @@ +pkgname=bash +pkgver=5.0 +pkgrel=1 +epoch= +pkgdesc="" +arch=('i786') +url="https://www.gnu.org/software/bash/" +license=('GPL') +source=('https://ftp.gnu.org/gnu/bash/bash-5.0.tar.gz' 'bash-5.0.patch') +sha256sums=( + 'b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d' + 'bcf1b6c4e9c5075aae1d2330b9512b714837597fc86e3048284bdadbfb1b2881') + +prepare() { + patch -p0 < $pkgname-$pkgver.patch + + cd $pkgname-$pkgver + # Multiple definitions needed due to conflicting definitions in termcap/libreadline + LDFLAGS="-Wl,--allow-multiple-definition" ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --without-bash-malloc \ + --disable-job-control +} + +build() { + cd $pkgname-$pkgver + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/binutils/PKGBUILD b/land/binutils/PKGBUILD new file mode 100644 index 00000000..6d07c331 --- /dev/null +++ b/land/binutils/PKGBUILD @@ -0,0 +1,51 @@ +pkgname=binutils +pkgver=2.40 +pkgrel=1 +pkgdesc="The GNU Binutils are a collection of binary tools." +arch=('i786') +url="https://www.gnu.org/software/binutils/" +license=('GPL') +makedepends=('flac' 'openssl' 'zlib' 'bzip2') +source=( + 'https://ftp.gnu.org/gnu/binutils/binutils-2.40.tar.gz' + 'binutils-2.40.patch' + 'elf_i386_xelix.sh' + 'elf_x86_64_xelix.sh' +) +sha256sums=( + 'd7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956' + 'SKIP' + 'SKIP' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname-$pkgver.patch + cp ../elf_i386_xelix.sh ../elf_x86_64_xelix.sh ld/emulparams + find . -name "config.cache" -delete +} + +build() { + cd $pkgname-$pkgver + cd ld + aclocal + automake + cd .. + autoreconf-2.69 + + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-werror \ + --disable-plugins \ + --disable-nls + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/bzip2/PKGBUILD b/land/bzip2/PKGBUILD new file mode 100644 index 00000000..e2bb5920 --- /dev/null +++ b/land/bzip2/PKGBUILD @@ -0,0 +1,18 @@ +pkgname=bzip2 +pkgver=1.0.2 +pkgrel=1 +pkgdesc="bzip2 is a freely available, patent free (see below), high-quality data compressor." +arch=('i786') +url="https://sourceware.org/bzip2/" +source=('https://sourceware.org/pub/bzip2/bzip2-1.0.2.tar.gz') +sha256sums=('4b526afa73ca1ccd6f5f1f5fd23813f159f715c3d0e00688f1df54b51f443cdd') + +build() { + cd $pkgname-$pkgver + make CC=i786-pc-xelix-gcc libbz2.a bzip2 +} + +package() { + cd $pkgname-$pkgver + make PREFIX=$pkgdir install +} diff --git a/land/cairo/PKGBUILD b/land/cairo/PKGBUILD new file mode 100644 index 00000000..cd5ce10e --- /dev/null +++ b/land/cairo/PKGBUILD @@ -0,0 +1,47 @@ +pkgname=cairo +pkgver=1.16.0 +pkgrel=1 +pkgdesc="Cairo is a 2D graphics library with support for multiple output devices." +arch=('i786') +url="https://www.cairographics.org/" +depends=('fontconfig') +makedepends=('zlib' 'libpng' 'freetype' 'fontconfig' 'pixman') +source=( + 'https://www.cairographics.org/releases/cairo-1.16.0.tar.xz' + 'cairo.patch' +) +sha256sums=( + '5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../cairo.patch +} + +build() { + cd $pkgname-$pkgver + CFLAGS="$CFLAGS -DCAIRO_NO_MUTEX=1" ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-xcb \ + --disable-xcb-shm \ + --disable-xlib \ + --disable-xlib-xrender \ + --disable-gobject \ + --disable-fc + + # Disable tests that won't work in non-native environment + echo -e 'all:\n\ttrue\ninstall:\n\ttrue' > test/Makefile + echo -e 'all:\n\ttrue\ninstall:\n\ttrue' > perf/Makefile + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/coreutils/PKGBUILD b/land/coreutils/PKGBUILD new file mode 100644 index 00000000..c1e44cdf --- /dev/null +++ b/land/coreutils/PKGBUILD @@ -0,0 +1,46 @@ +pkgname=coreutils +pkgver=8.32 +pkgrel=3 +pkgdesc="The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system." +arch=('i786') +arch_override=('i786') +url="https://www.gnu.org/software/coreutils/" +license=('GPL') +makedepends=('newlib' 'openssl' 'libiconv' 'gmp') +source=( + 'https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz' + 'coreutils-8.32.patch' + 'coreutils-8.32-patch-two.patch') +sha256sums=( + '4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa' + '927b1b9d90d09063e8e662e3b41f91f1d216cea0e97a5df247137b4970da1714' + '74d85891fbfd578f779749febfee5a1ca0db65a2349a47b8c5f6b1a38808c1bb') + +prepare() { + patch -p0 < $pkgname-$pkgver.patch + cd $pkgname-$pkgver + autoreconf + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-threads \ + --disable-acl \ + --disable-xattr \ + --disable-largefile \ + --enable-no-install-program=arch,coreutils,dmesg,mknod,uptime \ + --with-openssl + + # Needs to be applied after configure + patch -p1 < ../coreutils-8.32-patch-two.patch +} + +build() { + cd $pkgname-$pkgver + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/curl/PKGBUILD b/land/curl/PKGBUILD new file mode 100644 index 00000000..30134a7b --- /dev/null +++ b/land/curl/PKGBUILD @@ -0,0 +1,47 @@ +pkgname=curl +pkgver= +pkgrel=1 +epoch= +pkgdesc="" +arch=('i786') +arch_override=('i786') +url="https://www.gnu.org/software/coreutils/" +license=('GPL') +makedepends=('newlib' 'openssl' 'libiconv' 'gmp') +source=( + 'https://curl.se/download/curl-8.4.0.tar.xz' + 'coreutils-8.32.patch' + 'coreutils-8.32-patch-two.patch') +sha256sums=( + '4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa' + '927b1b9d90d09063e8e662e3b41f91f1d216cea0e97a5df247137b4970da1714' + '74d85891fbfd578f779749febfee5a1ca0db65a2349a47b8c5f6b1a38808c1bb') + +prepare() { + patch -p0 < $pkgname-$pkgver.patch + cd $pkgname-$pkgver + autoreconf + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-threads \ + --disable-acl \ + --disable-xattr \ + --disable-largefile \ + --enable-no-install-program=arch,coreutils,dmesg,mknod \ + --with-openssl + + # Needs to be applied after configure + patch -p1 < ../coreutils-8.32-patch-two.patch +} + +build() { + cd $pkgname-$pkgver + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/darkhttpd/PKGBUILD b/land/darkhttpd/PKGBUILD new file mode 100644 index 00000000..820646de --- /dev/null +++ b/land/darkhttpd/PKGBUILD @@ -0,0 +1,29 @@ +pkgname=darkhttpd +pkgver=1.13 +pkgrel=1 +pkgdesc="When you need a web server in a hurry." +arch=('i786') +url="https://github.com/emikulic/darkhttpd" +source=( + 'https://github.com/emikulic/darkhttpd/archive/refs/tags/v1.13.tar.gz' + 'darkhttpd-1.13.patch' +) +sha256sums=( + '1d88c395ac79ca9365aa5af71afe4ad136a4ed45099ca398168d4a2014dc0fc2' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + CC=i786-pc-xelix-gcc CFLAGS="-O3 -DNO_IPV6" make +} + +package() { + cd $pkgname-$pkgver + install -d $pkgdir/usr/bin/ + install -D darkhttpd $pkgdir/usr/bin/ +} diff --git a/land/dash/PKGBUILD b/land/dash/PKGBUILD new file mode 100644 index 00000000..389e9f43 --- /dev/null +++ b/land/dash/PKGBUILD @@ -0,0 +1,30 @@ +pkgname=dash +pkgver=0.5.10.2 +pkgrel=1 +pkgdesc="DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible." +arch=('i786') +url="http://gondor.apana.org.au/~herbert/dash/" +source=( + 'http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.10.2.tar.gz' + 'dash-0.5.10.2.patch' +) +sha256sums=( + '3c663919dc5c66ec991da14c7cf7e0be8ad00f3db73986a987c118862b5f6071' + 'SKIP' +) + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + patch -p1 < ../dash-0.5.10.2.patch + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/dialog/PKGBUILD b/land/dialog/PKGBUILD new file mode 100644 index 00000000..c8817100 --- /dev/null +++ b/land/dialog/PKGBUILD @@ -0,0 +1,35 @@ +pkgname=dialog +pkgver=1.3.20191210 +pkgrel=1 +pkgdesc="Display dialog boxes from shell scripts." +arch=('i786') +depends=('ncurses') +source=( + 'https://invisible-island.net/archives/dialog/dialog-1.3-20191210.tgz' + 'dialog-1.3-20191210.patch' +) +sha256sums=( + '10f7c02ee5dea311e61b0d3e29eb6e18bcedd6fb6672411484c1a37729cbd7a6' + 'SKIP' +) + +prepare() { + patch -p0 < dialog-1.3-20191210.patch +} + +build() { + cd dialog-1.3-20191210 + ./configure \ + --host=i786-pc-xelix \ + --disable-shared \ + --enable-static \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd dialog-1.3-20191210 + make DESTDIR=$pkgdir install +} diff --git a/land/diffutils/PKGBUILD b/land/diffutils/PKGBUILD new file mode 100644 index 00000000..88663bc4 --- /dev/null +++ b/land/diffutils/PKGBUILD @@ -0,0 +1,33 @@ +pkgname=diffutils +pkgver=3.6 +pkgrel=1 +pkgdesc="GNU Diffutils is a package of several programs related to finding differences between files." +arch=('i786') +url="https://www.gnu.org/software/diffutils/" +source=( + 'https://ftp.gnu.org/gnu/diffutils/diffutils-3.6.tar.xz' + 'diffutils-3.6.patch' +) +sha256sums=( + 'd621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6' + 'SKIP' +) + +prepare() { + patch -p0 < diffutils-3.6.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/dropbear/PKGBUILD b/land/dropbear/PKGBUILD new file mode 100644 index 00000000..ae445d2f --- /dev/null +++ b/land/dropbear/PKGBUILD @@ -0,0 +1,40 @@ +pkgname=dropbear +pkgver=2020.81 +pkgrel=1 +pkgdesc="Dropbear is a relatively small SSH server and client." +arch=('i786') +url="https://matt.ucc.asn.au/dropbear/dropbear.html" +makedepends=('zlib') +source=( + 'https://matt.ucc.asn.au/dropbear/releases/dropbear-2020.81.tar.bz2' + 'dropbear.patch' +) +sha256sums=( + '48235d10b37775dbda59341ac0c4b239b82ad6318c31568b985730c788aac53b' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../dropbear.patch +} + +build() { + cd $pkgname-$pkgver + CFLAGS="$CFLAGS -DDROPBEAR_SVR_PASSWORD_AUTH=0" ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --disable-syslog \ + --disable-lastlog \ + --disable-harden \ + --enable-static + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/e2fsprogs/PKGBUILD b/land/e2fsprogs/PKGBUILD new file mode 100644 index 00000000..fb3ab246 --- /dev/null +++ b/land/e2fsprogs/PKGBUILD @@ -0,0 +1,37 @@ +pkgname=e2fsprogs +pkgver=1.45.5 +pkgrel=1 +pkgdesc="Filesystem utilities for use with the ext2 filesystem." +arch=('i786') +url="https://e2fsprogs.sourceforge.net/" +source=( + 'https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.45.5/e2fsprogs-1.45.5.tar.xz' + 'e2fsprogs.patch' +) +sha256sums=( + 'f9faccc0d90f73556e797dc7cc5979b582bd50d3f8609c0f2ad48c736d44aede' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../e2fsprogs.patch +} + +build() { + cd $pkgname-$pkgver + + autoconf + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --disable-nls + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/ffmpeg/PKGBUILD b/land/ffmpeg/PKGBUILD new file mode 100644 index 00000000..9bc7a28a --- /dev/null +++ b/land/ffmpeg/PKGBUILD @@ -0,0 +1,46 @@ +pkgname=ffmpeg +pkgver=4.4 +pkgrel=1 +pkgdesc="FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata." +arch=('i786') +url="https://ffmpeg.org/" +license=('GPL') +makedepends=('flac' 'openssl' 'zlib' 'bzip2') +source=( + 'https://ffmpeg.org/releases/ffmpeg-4.4.tar.xz' + 'ffmpeg.patch' + 'xelixsnd.c' + 'xelixsnd.h' + 'xelixsnd_enc.c') +sha256sums=( + '06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +prepare() { + cp xelixsnd.c $pkgname-$pkgver/libavdevice/ + cp xelixsnd.h $pkgname-$pkgver/libavdevice/ + cp xelixsnd_enc.c $pkgname-$pkgver/libavdevice/ + cd $pkgname-$pkgver + patch -p0 < ../ffmpeg.patch +} + +build() { + cd $pkgname-$pkgver + CFLAGS="-D__have_long64=0 -D__int64_t_defined" ./configure \ + --arch=x86 \ + --target-os=xelix \ + --cross-prefix=i786-pc-xelix- \ + --prefix=/usr \ + --disable-shared \ + --disable-network \ + --disable-iconv + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/flac/PKGBUILD b/land/flac/PKGBUILD new file mode 100644 index 00000000..01b8a492 --- /dev/null +++ b/land/flac/PKGBUILD @@ -0,0 +1,37 @@ +pkgname=flac +pkgver=1.3.3 +pkgrel=1 +pkgdesc="Free Lossless Audio Codec" +arch=('i786') +url="https://github.com/xiph/flac" +source=( + 'https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.3.3.tar.xz' + 'flac-1.3.3.patch' +) +sha256sums=( + '213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748' + 'SKIP' +) + +prepare() { + patch -p0 < flac-1.3.3.patch +} + +build() { + cd $pkgname-$pkgver + CPPFLAGS="$CPPFLAGS -D_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC=0 -D_GLIBCXX_USE_C99_STDLIB=0 -mno-sse" CFLAGS="$CFLAGS -mno-sse" ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-shared \ + --disable-asm-optimizations \ + --disable-cpplibs \ + --without-ogg + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/font-dejavu/PKGBUILD b/land/font-dejavu/PKGBUILD new file mode 100644 index 00000000..54d170ef --- /dev/null +++ b/land/font-dejavu/PKGBUILD @@ -0,0 +1,14 @@ +pkgname=font-dejavu +pkgver=2.37 +pkgrel=1 +pkgdesc="The DejaVu font family." +arch=('any') +url="https://dejavu-fonts.github.io/" +source=('http://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2') +sha256sums=('fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7') + +package() { + cd dejavu-fonts-ttf-2.37 + install -d -m 755 $pkgdir/usr/share/fonts + install -D ttf/* -m 644 $pkgdir/usr/share/fonts +} diff --git a/land/font-fira-code/PKGBUILD b/land/font-fira-code/PKGBUILD new file mode 100644 index 00000000..2801f52f --- /dev/null +++ b/land/font-fira-code/PKGBUILD @@ -0,0 +1,13 @@ +pkgname=font-fira-code +pkgver=2 +pkgrel=1 +pkgdesc="The Fira Code font family." +arch=('any') +url="https://github.com/tonsky/FiraCode" +source=('https://github.com/tonsky/FiraCode/releases/download/2/FiraCode_2.zip') +sha256sums=('60d5b1106b708cc134c521aae4e503bb1d2ec3c9bf8ad978f2c659820505d492') + +package() { + install -d -m 755 $pkgdir/usr/share/fonts + install -D ttf/* -m 644 $pkgdir/usr/share/fonts +} diff --git a/land/font-fira/PKGBUILD b/land/font-fira/PKGBUILD new file mode 100644 index 00000000..e304db49 --- /dev/null +++ b/land/font-fira/PKGBUILD @@ -0,0 +1,14 @@ +pkgname=font-fira +pkgver=4.202 +pkgrel=1 +pkgdesc="The Fira font family." +arch=('any') +url="http://mozilla.github.io/Fira/" +source=('https://github.com/mozilla/Fira/archive/4.202.tar.gz') +sha256sums=('d86269657387f144d77ba12011124f30f423f70672e1576dc16f918bb16ddfe4') + +package() { + cd Fira-4.202 + install -d -m 755 $pkgdir/usr/share/fonts + install -D ttf/* -m 644 $pkgdir/usr/share/fonts +} diff --git a/land/font-roboto/PKGBUILD b/land/font-roboto/PKGBUILD new file mode 100644 index 00000000..77c89787 --- /dev/null +++ b/land/font-roboto/PKGBUILD @@ -0,0 +1,13 @@ +pkgname=font-roboto +pkgver=2.138 +pkgrel=1 +pkgdesc="The Roboto font family." +arch=('any') +url="https://github.com/googlefonts/roboto" +source=('https://github.com/googlefonts/roboto/releases/download/v2.138/roboto-unhinted.zip') +sha256sums=('70f64c718510a601fbcf752aafe644314dacaeb85474dc689c89787c4a72a728') + +package() { + install -d -m 755 $pkgdir/usr/share/fonts + install -D *.ttf -m 644 $pkgdir/usr/share/fonts +} diff --git a/land/fontconfig/PKGBUILD b/land/fontconfig/PKGBUILD new file mode 100644 index 00000000..6a87fc07 --- /dev/null +++ b/land/fontconfig/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=fontconfig +pkgver=2.13.92 +pkgrel=1 +pkgdesc="Fontconfig is a library for configuring and customizing font access." +arch=('i786') +url="https://www.freedesktop.org/wiki/Software/fontconfig/" +makedepends=('libexpat' 'freetype' 'libpng' 'zlib' 'bzip2') +source=( + 'https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.13.92.tar.xz' + 'fontconfig.patch' +) +sha256sums=( + '506e61283878c1726550bc94f2af26168f1e9f2106eac77eaaf0b2cdfad66e4e' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../fontconfig.patch +} + +build() { + cd $pkgname-$pkgver + FREETYPE_LIBS="-lfreetype -lpng -lz -lbz2 -lm" ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/freetype/PKGBUILD b/land/freetype/PKGBUILD new file mode 100644 index 00000000..f2efb1d9 --- /dev/null +++ b/land/freetype/PKGBUILD @@ -0,0 +1,34 @@ +pkgname=freetype +pkgver=2.9 +pkgrel=1 +pkgdesc="FreeType is a freely available software library to render fonts." +arch=('i786') +url="https://freetype.org/" +makedepends=('zlib' 'libpng') +source=( + 'https://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.gz' + 'freetype-2.9.patch' +) +sha256sums=( + 'bf380e4d7c4f3b5b1c1a7b2bf3abb967bda5e9ab480d0df656e0e08c5019c5e6' + 'SKIP' +) + +prepare() { + patch -p0 < freetype-2.9.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/gfxcompd/PKGBUILD b/land/gfxcompd/PKGBUILD new file mode 100644 index 00000000..9acd1a57 --- /dev/null +++ b/land/gfxcompd/PKGBUILD @@ -0,0 +1,23 @@ +pkgname=gfxcompd +pkgver=r2576.fb8939c5 +pkgrel=1 +epoch= +pkgdesc="The graphics compositor of Xelix" +arch=('i786') +url="https://github.com/lutoma/xelix/tree/main/land/gfxcompd" +license=('GPL') +depends=('font-roboto') +makedepends=('cairo' 'freetype' 'libpng') +source=() + +pkgver() { + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + make +} + +package() { + make DESTDIR=$pkgdir install +} diff --git a/land/gfxcompd/src/Makefile b/land/gfxcompd/src/Makefile index 0c2f246c..f8d0ed8f 100644 --- a/land/gfxcompd/src/Makefile +++ b/land/gfxcompd/src/Makefile @@ -1,7 +1,7 @@ PATH += :../../toolchain/local/bin/ CC := i786-pc-xelix-gcc LD := i786-pc-xelix-ld -CFLAGS += -std=gnu18 -fcommon -O3 -g -D_GNU_SOURCE -I$(DESTDIR)/usr/include/freetype2 +MAKE_CFLAGS += -std=gnu18 -fcommon -O3 -g -D_GNU_SOURCE -I$(DESTDIR)/usr/include/freetype2 DESTDIR ?= ../../../mnt .PHONY: all @@ -12,7 +12,7 @@ clean: rm -f gfxcompd gfxcompd: main.o mouse.o window.o bus.o text.o render.o bar.o - $(CC) $(CFLAGS) -o $@ $^ -lcairo -lpixman-1 -lfreetype -lpng -lz -lm -lbz2 + $(CC) $(CFLAGS) $(MAKE_CFLAGS) -o $@ $^ $(LDFLAGS) -lcairo -lpixman-1 -lfreetype -lpng -lz -lm -lbz2 libxelixgfx.a: libxelixgfx.o ar rcs $@ $^ diff --git a/land/gmp/PKGBUILD b/land/gmp/PKGBUILD new file mode 100644 index 00000000..c2456620 --- /dev/null +++ b/land/gmp/PKGBUILD @@ -0,0 +1,34 @@ +pkgname=gmp +pkgver=6.2.0 +pkgrel=1 +pkgdesc="GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers." +arch=('i786') +url="https://gmplib.org" +source=( + 'https://gmplib.org/download/gmp/gmp-6.2.0.tar.xz' + 'gmp-6.2.0.patch' +) +sha256sums=( + '258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../gmp-6.2.0.patch +} + +build() { + cd $pkgname-$pkgver + CC=i786-pc-xelix-gcc ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-shared + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/grep/PKGBUILD b/land/grep/PKGBUILD new file mode 100644 index 00000000..6351f715 --- /dev/null +++ b/land/grep/PKGBUILD @@ -0,0 +1,32 @@ +pkgname=grep +pkgver=3.1 +pkgrel=1 +pkgdesc="Grep searches one or more input files for lines containing a match to a specified pattern." +arch=('i786') +url="https://www.gnu.org/software/grep/" +source=( + 'https://ftp.gnu.org/gnu/grep/grep-3.1.tar.xz' + 'grep-3.1.patch' +) +sha256sums=( + 'db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e' + 'SKIP' +) + +prepare() { + patch -p0 < ../grep-3.1.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/gzip/PKGBUILD b/land/gzip/PKGBUILD new file mode 100644 index 00000000..5fe41e2b --- /dev/null +++ b/land/gzip/PKGBUILD @@ -0,0 +1,33 @@ +pkgname=gzip +pkgver=1.9 +pkgrel=1 +pkgdesc="gzip is a single-file/stream lossless data compression utility, where the resulting compressed file generally has the suffix .gz." +arch=('i786') +url="https://www.gzip.org/" +source=( + 'https://ftp.gnu.org/gnu/gzip/gzip-1.9.tar.xz' + 'gzip-1.9.patch' +) +sha256sums=( + 'ae506144fc198bd8f81f1f4ad19ce63d5a2d65e42333255977cf1dcf1479089a' + 'SKIP' +) + +prepare() { + patch -p0 < gzip-1.9.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/htop/PKGBUILD b/land/htop/PKGBUILD new file mode 100644 index 00000000..f527fbd0 --- /dev/null +++ b/land/htop/PKGBUILD @@ -0,0 +1,42 @@ +pkgname=htop +pkgver=3.0.5 +pkgrel=1 +pkgdesc="An interactive process viewer" +arch=('i786') +url="https://htop.dev/" +depends=('ncurses') +source=( + 'https://github.com/htop-dev/htop/archive/refs/tags/3.0.5.tar.gz' + 'htop.patch' +) +sha256sums=( + '4c2629bd50895bd24082ba2f81f8c972348aa2298cc6edc6a21a7fa18b73990c' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../htop.patch + + cp -r ../../xelix . +} + +build() { + cd $pkgname-$pkgver + ./autogen.sh + echo -e "#!/bin/sh\necho i786-pc-xelix" > config.sub + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --program-transform-name= \ + --disable-unicode \ + --disable-linux_affinity + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/less/PKGBUILD b/land/less/PKGBUILD new file mode 100644 index 00000000..acaa8bfb --- /dev/null +++ b/land/less/PKGBUILD @@ -0,0 +1,24 @@ +pkgname=less +pkgver=551 +pkgrel=1 +pkgdesc="Less is a free, open-source file pager." +arch=('i786') +depends=('ncurses') +url="http://greenwoodsoftware.com/less/" +source=('http://www.greenwoodsoftware.com/less/less-551.tar.gz') +sha256sums=('ff165275859381a63f19135a8f1f6c5a194d53ec3187f94121ecd8ef0795fe3d') + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/libarchive/PKGBUILD b/land/libarchive/PKGBUILD new file mode 100644 index 00000000..a3827bb2 --- /dev/null +++ b/land/libarchive/PKGBUILD @@ -0,0 +1,35 @@ +pkgname=libarchive +pkgver=3.7.2 +pkgrel=1 +pkgdesc="Multi-format archive and compression library" +arch=('i786') +makedepends=('libxml2' 'openssl' 'bzip2' 'zlib' 'libiconv' 'xz') +url="https://www.libarchive.org/" +source=( + 'https://github.com/libarchive/libarchive/releases/download/v3.7.2/libarchive-3.7.2.tar.xz' + 'libarchive-3.7.2.patch' +) +sha256sums=( + '04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../libarchive-3.7.2.patch +} + +build() { + cd $pkgname-$pkgver + LIBS="-lxml2 -lz -llzma -lm" ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/libedit/PKGBUILD b/land/libedit/PKGBUILD new file mode 100644 index 00000000..0d8cb9af --- /dev/null +++ b/land/libedit/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=libedit +pkgver=20191231.3.1 +pkgrel=1 +pkgdesc="This is an autotool- and libtoolized port of the NetBSD Editline library (libedit)." +arch=('i786') +depends=('ncurses') +url="https://thrysoee.dk/editline/" +source=( + 'https://thrysoee.dk/editline/libedit-20191231-3.1.tar.gz' + 'libedit-20191231-3.1.patch' +) +sha256sums=( + 'dbb82cb7e116a5f8025d35ef5b4f7d4a3cdd0a3909a146a39112095a2d229071' + 'SKIP' +) + +prepare() { + patch -p0 < libedit-20191231-3.1.patch +} + +build() { + cd libedit-20191231-3.1 + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-shared \ + --disable-widec + + make +} + +package() { + cd libedit-20191231-3.1 + make DESTDIR=$pkgdir install +} diff --git a/land/libevent/PKGBUILD b/land/libevent/PKGBUILD new file mode 100644 index 00000000..98c05f71 --- /dev/null +++ b/land/libevent/PKGBUILD @@ -0,0 +1,38 @@ +pkgname=libevent +pkgver=2.1.12 +pkgrel=1 +pkgdesc="The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached" +arch=('i786') +url="https://libevent.org/" +source=( + 'https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz' + 'libevent-2.1.12.patch' +) +sha256sums=( + '92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb' + 'SKIP' +) + +prepare() { + cd libevent-2.1.12-stable + patch -p0 < ../libevent-2.1.12.patch +} + +build() { + cd libevent-2.1.12-stable + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-shared \ + --disable-samples \ + --disable-thread-support \ + --disable-libevent-regress + + make +} + +package() { + cd libevent-2.1.12-stable + make DESTDIR=$pkgdir install +} diff --git a/land/libexpat/PKGBUILD b/land/libexpat/PKGBUILD new file mode 100644 index 00000000..ae8b12d7 --- /dev/null +++ b/land/libexpat/PKGBUILD @@ -0,0 +1,34 @@ +pkgname=libexpat +pkgver=2.2.9 +pkgrel=1 +pkgdesc="Fast streaming XML parser written in C99 with >90% test coverage" +arch=('i786') +url="https://libexpat.github.io/" +source=( + 'https://github.com/libexpat/libexpat/releases/download/R_2_2_9/expat-2.2.9.tar.xz' + 'libexpat.patch' +) +sha256sums=( + '1ea6965b15c2106b6bbe883397271c80dfa0331cdf821b2c319591b55eadc0a4' + 'SKIP' +) + +prepare() { + cd expat-2.2.9 + patch -p0 < ../libexpat.patch +} + +build() { + cd expat-2.2.9 + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd expat-2.2.9 + make DESTDIR=$pkgdir install +} diff --git a/land/libiconv/PKGBUILD b/land/libiconv/PKGBUILD new file mode 100644 index 00000000..04293c29 --- /dev/null +++ b/land/libiconv/PKGBUILD @@ -0,0 +1,34 @@ +pkgname=libiconv +pkgver=1.16 +pkgrel=1 +pkgdesc="This library provides an iconv() implementation, for use on systems which don't have one, or whose implementation cannot convert from/to Unicode." +arch=('i786') +url="https://www.gnu.org/software/libiconv/" +source=( + 'https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz' + 'libiconv.patch' +) +sha256sums=( + 'e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/libpng/PKGBUILD b/land/libpng/PKGBUILD new file mode 100644 index 00000000..d251784f --- /dev/null +++ b/land/libpng/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=libpng +pkgver=1.6.37 +pkgrel=1 +pkgdesc="libpng is the official PNG reference library." +arch=('i786') +makedepend=('zlib') +url="http://www.libpng.org/pub/png/libpng.html" +source=( + 'http://prdownloads.sourceforge.net/libpng/libpng-1.6.37.tar.xz?download' + 'libpng.patch' +) +sha256sums=( + '505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-hardware-optimizations + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/libtextstyle/PKGBUILD b/land/libtextstyle/PKGBUILD new file mode 100644 index 00000000..0f114ca6 --- /dev/null +++ b/land/libtextstyle/PKGBUILD @@ -0,0 +1,35 @@ +pkgname=libtextstyle +pkgver=0.8 +pkgrel=1 +pkgdesc="GNU libtextstyle provides an easy way to add styling to programs that produce output to a console or terminal emulator window." +arch=('i786') +depend=('ncurses') +url="https://www.gnu.org/software/gettext/libtextstyle/manual/libtextstyle.html" +source=( + 'https://alpha.gnu.org/gnu/gettext/libtextstyle-0.8.tar.gz' + "$pkgname.patch" +) +sha256sums=( + '5cd91ef7683111af2734095e00f4ee4995c916cf32ea38e314aee251f8683216' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/libxml2/PKGBUILD b/land/libxml2/PKGBUILD new file mode 100644 index 00000000..1df044ad --- /dev/null +++ b/land/libxml2/PKGBUILD @@ -0,0 +1,37 @@ +pkgname=libxml2 +pkgver=2.9.9 +pkgrel=1 +pkgdesc="libxml2 is an XML toolkit implemented in C, originally developed for the GNOME Project." +arch=('i786') +makedepend=('zlib' 'xz') +url="https://gitlab.gnome.org/GNOME/libxml2" +source=( + 'https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.9.tar.xz' + "$pkgname-$pkgver.patch" +) +sha256sums=( + '58a5c05a2951f8b47656b676ce1017921a29f6b1419c45e3baed0d6435ba03f5' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --without-threads \ + --without-http \ + --without-python + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/mpc/PKGBUILD b/land/mpc/PKGBUILD new file mode 100644 index 00000000..2f1eb131 --- /dev/null +++ b/land/mpc/PKGBUILD @@ -0,0 +1,40 @@ +pkgname=mpc +pkgver=1.2.0 +pkgrel=1 +pkgdesc="GNU MPC is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result." +arch=('i786') +makedepend=('gmp' 'mpfr') +url="https://www.multiprecision.org" +source=( + 'https://ftp.gnu.org/gnu/mpc/mpc-1.2.0.tar.gz' + "$pkgname-$pkgver.patch" +) +sha256sums=( + 'e90f2d99553a9c19911abdb4305bf8217106a957e3994436428572c8dfe8fda6' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-shared \ + --with-gmp-include=$DESTDIR/usr/include \ + --with-gmp-lib=$DESTDIR/usr/lib \ + --with-mpfr-include=$DESTDIR/usr/include \ + --with-mpfr-lib=$DESTDIR/usr/lib + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/mpfr/PKGBUILD b/land/mpfr/PKGBUILD new file mode 100644 index 00000000..4df6fdc7 --- /dev/null +++ b/land/mpfr/PKGBUILD @@ -0,0 +1,35 @@ +pkgname=mpfr +pkgver=4.1.0 +pkgrel=1 +pkgdesc="GNU libtextstyle provides an easy way to add styling to programs that produce output to a console or terminal emulator window." +arch=('i786') +depend=('ncurses') +url="https://www.gnu.org/software/gettext/libtextstyle/manual/libtextstyle.html" +source=( + 'https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.xz' + "$pkgname.patch" +) +sha256sums=( + '5cd91ef7683111af2734095e00f4ee4995c916cf32ea38e314aee251f8683216' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/nano/PKGBUILD b/land/nano/PKGBUILD new file mode 100644 index 00000000..966e08bf --- /dev/null +++ b/land/nano/PKGBUILD @@ -0,0 +1,40 @@ +pkgname=nano +pkgver=4.2 +pkgrel=1 +pkgdesc="GNU nano is a small and friendly text editor." +arch=('i786') +depend=('ncurses') +url="https://www.nano-editor.org" +source=( + 'https://www.nano-editor.org/dist/v4/nano-4.2.tar.xz' + "$pkgname-$pkgver.patch" + 'nanorc' +) +sha256sums=( + '1143defce62e391b241252ffdb6e5c1ded56cfe26d46ee81b796abe0ccc45df9' + 'SKIP' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-largefile \ + --disable-threads \ + --disable-speller \ + --disable-mouse + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/ncurses/PKGBUILD b/land/ncurses/PKGBUILD new file mode 100644 index 00000000..8dc2826a --- /dev/null +++ b/land/ncurses/PKGBUILD @@ -0,0 +1,37 @@ +pkgname=ncurses +pkgver=6.1 +pkgrel=1 +pkgdesc="The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0 (SVr4), and more." +arch=('i786') +url="https://invisible-island.net/ncurses/announce.html" +source=( + 'https://invisible-island.net/archives/ncurses/ncurses-6.1.tar.gz' + "$pkgname-$pkgver.patch" + 'xelix.terminfo' +) +sha256sums=( + 'aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17' + 'SKIP' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --without-cxx-binding + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install + tic -o $pkgdir/usr/share/terminfo ../xelix.terminfo +} diff --git a/land/openssl/PKGBUILD b/land/openssl/PKGBUILD new file mode 100644 index 00000000..ea3b2728 --- /dev/null +++ b/land/openssl/PKGBUILD @@ -0,0 +1,28 @@ +pkgname=openssl +pkgver=1.1.1d +pkgrel=1 +pkgdesc="A robust, commercial-grade, full-featured toolkit for general-purpose cryptography and secure communication." +arch=('i786') +url="https://www.openssl.org/" +source=( + 'https://www.openssl.org/source/openssl-1.1.1d.tar.gz' + "$pkgname-$pkgver.patch" +) +sha256sums=( + '1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + CROSS_COMPILE=i786-pc-xelix- ./Configure xelix-x86 no-shared no-threads no-hw no-dso no-asm 386 no-sse2 no-zlib no-tests --prefix=/usr +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/pacman/Makefile.xelix b/land/pacman/Makefile.xelix new file mode 100644 index 00000000..2b1292a5 --- /dev/null +++ b/land/pacman/Makefile.xelix @@ -0,0 +1,22 @@ +.PHONY: all +all: pacman + +%.o: %.c + i786-pc-xelix-gcc $(CFLAGS) -Isrc/common -Ilib/libalpm -D_FILE_OFFSET_BITS=64 -std=gnu99 -O0 -g -include xelixconfig.h -o $@ -c $< + +libalpm.a: lib/libalpm/add.o lib/libalpm/alpm.o lib/libalpm/alpm_list.o lib/libalpm/backup.o lib/libalpm/base64.o lib/libalpm/be_local.o lib/libalpm/be_package.o lib/libalpm/be_sync.o lib/libalpm/conflict.o lib/libalpm/db.o lib/libalpm/deps.o lib/libalpm/diskspace.o lib/libalpm/dload.o lib/libalpm/error.o lib/libalpm/filelist.o lib/libalpm/graph.o lib/libalpm/group.o lib/libalpm/handle.o lib/libalpm/hook.o lib/libalpm/log.o lib/libalpm/package.o lib/libalpm/pkghash.o lib/libalpm/rawstr.o lib/libalpm/remove.o lib/libalpm/signing.o lib/libalpm/sync.o lib/libalpm/trans.o lib/libalpm/util.o lib/libalpm/version.o + ar rcs $@ $< + +pacman: libalpm.a src/pacman/callback.o src/pacman/check.o src/pacman/conf.o src/pacman/database.o src/pacman/deptest.o src/pacman/files.o src/pacman/package.o src/pacman/pacman.o src/pacman/query.o src/pacman/remove.o src/pacman/sighandler.o src/pacman/sync.o src/pacman/upgrade.o src/pacman/util.o src/pacman/ini.c src/pacman/util-common.c + i786-pc-xelix-gcc -o $@ src/pacman/callback.o src/pacman/check.o src/pacman/conf.o src/pacman/database.o src/pacman/deptest.o src/pacman/files.o src/pacman/package.o src/pacman/pacman.o src/pacman/query.o src/pacman/remove.o src/pacman/sighandler.o src/pacman/sync.o src/pacman/upgrade.o src/pacman/util.o src/pacman/ini.c src/pacman/util-common.c lib/libalpm/add.o lib/libalpm/alpm.o lib/libalpm/alpm_list.o lib/libalpm/backup.o lib/libalpm/base64.o lib/libalpm/be_local.o lib/libalpm/be_package.o lib/libalpm/be_sync.o lib/libalpm/conflict.o lib/libalpm/db.o lib/libalpm/deps.o lib/libalpm/diskspace.o lib/libalpm/dload.o lib/libalpm/error.o lib/libalpm/filelist.o lib/libalpm/graph.o lib/libalpm/group.o lib/libalpm/handle.o lib/libalpm/hook.o lib/libalpm/log.o lib/libalpm/package.o lib/libalpm/pkghash.o lib/libalpm/rawstr.o lib/libalpm/remove.o lib/libalpm/signing.o lib/libalpm/sync.o lib/libalpm/trans.o lib/libalpm/util.o lib/libalpm/version.o -L. $(LDFLAGS) -larchive -lcurl -lssl -lcrypto -lbz2 -lxml2 -llzma -lz -lm + +.PHONY: clean +clean: + find . -iname "*.o" -delete + +.PHONY: install +install: + install -d $(DESTDIR)/usr/lib + install -D libalpm.a $(DESTDIR)/usr/lib + install -d $(DESTDIR)/usr/bin + install -D pacman $(DESTDIR)/usr/bin diff --git a/land/pacman/PKGBUILD b/land/pacman/PKGBUILD new file mode 100644 index 00000000..8ff25b7e --- /dev/null +++ b/land/pacman/PKGBUILD @@ -0,0 +1,39 @@ +pkgname=pacman +pkgver=6.0.2 +pkgrel=4 +pkgdesc="Pacman - package management combining a simple binary package format with an easy-to-use build system." +arch=('i786') +makedepend=('libarchive' 'curl' 'openssl' 'bzip2' 'libxml2' 'xz' 'zlib') +url="https://gitlab.archlinux.org/pacman/pacman" +source=( + 'https://gitlab.archlinux.org/pacman/pacman/-/archive/v6.0.2/pacman-v6.0.2.tar.gz' + "$pkgname-$pkgver.patch" + 'Makefile.xelix' + 'xelixconfig.h' + 'pacman.conf' +) +sha256sums=( + 'e39eab7f2cbd7cd802f56bc33e677df22a31caf7887ec4fae4d2b1649a95e410' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' +) + +prepare() { + cd $pkgname-v$pkgver + patch -p1 < ../$pkgname-$pkgver.patch + cp ../Makefile.xelix ../xelixconfig.h . +} + +build() { + cd $pkgname-v$pkgver + make -f Makefile.xelix +} + +package() { + cd $pkgname-v$pkgver + make -f Makefile.xelix DESTDIR=$pkgdir install + install -d $pkgdir/etc + install -D ../pacman.conf $pkgdir/etc +} diff --git a/land/pacman/pacman-6.0.2.patch b/land/pacman/pacman-6.0.2.patch new file mode 100644 index 00000000..c398e9a1 --- /dev/null +++ b/land/pacman/pacman-6.0.2.patch @@ -0,0 +1,158 @@ +diff --git a/lib/libalpm/diskspace.c b/lib/libalpm/diskspace.c +index 6293b753..343b458b 100644 +--- a/lib/libalpm/diskspace.c ++++ b/lib/libalpm/diskspace.c +@@ -219,6 +219,7 @@ static alpm_mountpoint_t *match_mount_point(const alpm_list_t *mount_points, + static int calculate_removed_size(alpm_handle_t *handle, + const alpm_list_t *mount_points, alpm_pkg_t *pkg) + { ++ #ifndef __xelix__ + size_t i; + alpm_filelist_t *filelist = alpm_pkg_get_files(pkg); + +@@ -274,6 +275,7 @@ static int calculate_removed_size(alpm_handle_t *handle, + mp->blocks_needed -= remove_size; + mp->used |= USED_REMOVE; + } ++ #endif + + return 0; + } +@@ -281,6 +283,7 @@ static int calculate_removed_size(alpm_handle_t *handle, + static int calculate_installed_size(alpm_handle_t *handle, + const alpm_list_t *mount_points, alpm_pkg_t *pkg) + { ++ #ifndef __xelix__ + size_t i; + alpm_filelist_t *filelist = alpm_pkg_get_files(pkg); + +@@ -333,12 +336,14 @@ static int calculate_installed_size(alpm_handle_t *handle, + mp->blocks_needed += install_size; + mp->used |= USED_INSTALL; + } ++ #endif + + return 0; + } + + static int check_mountpoint(alpm_handle_t *handle, alpm_mountpoint_t *mp) + { ++ #ifndef __xelix__ + /* cushion is roughly min(5% capacity, 20MiB) */ + fsblkcnt_t fivepc = (mp->fsp.f_blocks / 20) + 1; + fsblkcnt_t twentymb = (20 * 1024 * 1024 / mp->fsp.f_bsize) + 1; +@@ -355,12 +360,14 @@ static int check_mountpoint(alpm_handle_t *handle, alpm_mountpoint_t *mp) + mp->mount_dir, (intmax_t)needed, (uintmax_t)mp->fsp.f_bavail); + return 1; + } ++ #endif + return 0; + } + + int _alpm_check_downloadspace(alpm_handle_t *handle, const char *cachedir, + size_t num_files, const off_t *file_sizes) + { ++ #ifndef __xelix__ + alpm_list_t *mount_points; + alpm_mountpoint_t *cachedir_mp; + char resolved_cachedir[PATH_MAX]; +@@ -414,6 +421,7 @@ finish: + if(error) { + RET_ERR(handle, ALPM_ERR_DISK_SPACE, -1); + } ++ #endif + + return 0; + } +diff --git a/lib/libalpm/diskspace.h b/lib/libalpm/diskspace.h +index 8dac7bb6..413223b8 100644 +--- a/lib/libalpm/diskspace.h ++++ b/lib/libalpm/diskspace.h +@@ -53,7 +53,7 @@ typedef struct __alpm_mountpoint_t { + enum mount_used_level used; + int read_only; + enum mount_fsinfo fsinfo_loaded; +- FSSTATSTYPE fsp; ++ void* fsp; + } alpm_mountpoint_t; + + int _alpm_check_diskspace(alpm_handle_t *handle); +diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c +index c4d291cb..ee97a4f7 100644 +--- a/lib/libalpm/log.c ++++ b/lib/libalpm/log.c +@@ -76,6 +76,7 @@ int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix, + + va_start(args, fmt); + ++ #ifndef __xelix__ + if(handle->usesyslog) { + /* we can't use a va_list more than once, so we need to copy it + * so we can use the original when calling vfprintf below. */ +@@ -84,6 +85,7 @@ int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix, + vsyslog(LOG_WARNING, fmt, args_syslog); + va_end(args_syslog); + } ++ #endif + + if(handle->logstream) { + if(_alpm_log_leader(handle->logstream, prefix) < 0 +diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c +index 299d287e..60a10fb4 100644 +--- a/lib/libalpm/util.c ++++ b/lib/libalpm/util.c +@@ -613,7 +613,11 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[], + /* Flush open fds before fork() to avoid cloning buffers */ + fflush(NULL); + ++ #ifdef __xelix__ ++ if(1) { ++ #else + if(socketpair(AF_UNIX, SOCK_STREAM, 0, child2parent_pipefd) == -1) { ++ #endif + _alpm_log(handle, ALPM_LOG_ERROR, _("could not create pipe (%s)\n"), strerror(errno)); + retval = 1; + goto cleanup; +diff --git a/src/common/util-common.c b/src/common/util-common.c +index 3f547d3b..6a1ca445 100644 +--- a/src/common/util-common.c ++++ b/src/common/util-common.c +@@ -188,7 +188,7 @@ size_t strtrim(char *str) + return end - pch; + } + +-#ifndef HAVE_STRNLEN ++#ifndef __xelix__ + /* A quick and dirty implementation derived from glibc */ + /** Determines the length of a fixed-size string. + * @param s string to be measured +diff --git a/src/pacman/conf.c b/src/pacman/conf.c +index 12fee64c..915b41ec 100644 +--- a/src/pacman/conf.c ++++ b/src/pacman/conf.c +@@ -1059,7 +1059,7 @@ static int process_include(const char *value, void *data, + "config file %s, line %d: include globbing out of space\n", + file, linenum); + break; +- case GLOB_ABORTED: ++ case GLOB_ERR: + pm_printf(ALPM_LOG_DEBUG, + "config file %s, line %d: include globbing read error for %s\n", + file, linenum, value); +diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c +index e398855a..56a765e6 100644 +--- a/src/pacman/pacman.c ++++ b/src/pacman/pacman.c +@@ -1170,10 +1170,12 @@ int main(int argc, char *argv[]) + cleanup(EXIT_FAILURE); + } + ++ #ifndef __xelix__ + if(!freopen(ctermid(NULL), "r", stdin)) { + pm_printf(ALPM_LOG_ERROR, _("failed to reopen stdin for reading: (%s)\n"), + strerror(errno)); + } ++ #endif + + if(!target_found) { + pm_printf(ALPM_LOG_ERROR, _("argument '-' specified with empty stdin\n")); diff --git a/land/pacman/pacman.conf b/land/pacman/pacman.conf new file mode 100644 index 00000000..f59ec646 --- /dev/null +++ b/land/pacman/pacman.conf @@ -0,0 +1,80 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +Color +#NoProgressBar +#CheckSpace +#VerbosePkgLists +#ParallelDownloads = 5 + +# PGP signature checking +#SigLevel = Optional DatabaseOptional +#LocalFileSigLevel = Optional +#RemoteFileSigLevel = Optional + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# An example of a disabled remote package repository with multiple servers +# available. To enable, uncomment the following lines. You can add preferred +# servers immediately after the header and they will be used before the +# default mirrors. +#[core] +#SigLevel = Required +#Server = ftp://ftp.example.com/foobar/$repo/os/$arch/ +# The file referenced here should contain a list of 'Server = ' lines. +#Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/packages + +[core] +Server = https://pkgs.xelix.org/core/i786/ diff --git a/land/pacman/xelixconfig.h b/land/pacman/xelixconfig.h new file mode 100644 index 00000000..fde51f22 --- /dev/null +++ b/land/pacman/xelixconfig.h @@ -0,0 +1,73 @@ +#pragma once + +#define CACHEDIR "/var/cache/pacman/pkg/" + +#define CONFFILE "/etc/pacman.conf" + +#define DBPATH "/var/lib/pacman/" + +#undef ENABLE_NLS + +#define FSSTATSTYPE struct statvfs + +#define GPGDIR "/etc/pacman.d/gnupg/" + +#undef HAVE_GETMNTENT + +#define HAVE_LIBCURL 1 + +#undef HAVE_LIBGPGME + +#define HAVE_LIBSSL 1 + +#define HAVE_MNTENT_H + +#define HAVE_STRNDUP 1 + +#define HAVE_STRNLEN 1 + +#define HAVE_STRSEP 1 + +#undef HAVE_STRUCT_STATFS_F_FLAGS + +#define HAVE_STRUCT_STATVFS_F_FLAG + +#define HAVE_STRUCT_STAT_ST_BLKSIZE + +#define HAVE_SWPRINTF 1 + +#define HAVE_SYS_MOUNT_H + +#define HAVE_SYS_PARAM_H + +#undef HAVE_SYS_STATVFS_H + +#define HAVE_SYS_TYPES_H + +#define HAVE_TCFLUSH 1 + +#define HAVE_TERMIOS_H + +#define HOOKDIR "/etc/pacman.d/hooks/" + +#define LDCONFIG "/sbin/ldconfig" + +#define LIB_VERSION "13.0.1" + +#define LOCALEDIR "/usr/share/locale" + +#define LOGFILE "/var/log/pacman.log" + +#define PACKAGE "pacman" + +#define PACKAGE_VERSION "6.0.1" + +#define PACMAN_DEBUG 1 + +#define ROOTDIR "/" + +#define SCRIPTLET_SHELL "/bin/sh" + +#define SYSHOOKDIR "/usr/share/libalpm/hooks/" + +#define _GNU_SOURCE diff --git a/land/pciutils/PKGBUILD b/land/pciutils/PKGBUILD new file mode 100644 index 00000000..2a3b0cd2 --- /dev/null +++ b/land/pciutils/PKGBUILD @@ -0,0 +1,53 @@ +pkgname=pciutils +pkgver=3.6.2 +pkgrel=1 +pkgdesc="A library for portable access to PCI bus configuration registers and several utilities based on this library." +arch=('i786') +makedepend=('zlib') +url="https://github.com/pciutils/pciutils" +source=( + 'https://github.com/pciutils/pciutils/archive/v3.6.2.tar.gz' + "$pkgname-$pkgver.patch" + 'xelix-device.c' +) +sha256sums=( + 'd84d7096a71890f0ddddc50e88ac5a3bc7412bf48d8100fc15857a411564687d' + 'SKIP' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch + cp xelix-device.c $pkgname-$pkgver/lib +} + +build() { + cd $pkgname-$pkgver + make \ + CROSS_COMPILE=i786-pc-xelix- \ + HOST=pc-xelix \ + CFLAGS="$CFLAGS -I$DESTDIR/usr/include" \ + LDFLAGS="$LDFLAGS -L$DESTDIR/usr/lib" \ + DNS=no \ + ZLIB=yes \ + PREFIX=/usr \ + BINDIR=/usr/bin \ + SBINDIR=/usr/bin \ + DESTDIR=$DESTDIR +} + +package() { + cd $pkgname-$pkgver + make \ + CROSS_COMPILE=i786-pc-xelix- \ + HOST=pc-xelix \ + CFLAGS="$CFLAGS -I$DESTDIR/usr/include" \ + LDFLAGS="$LDFLAGS -L$DESTDIR/usr/lib" \ + DNS=no \ + ZLIB=yes \ + PREFIX=/usr \ + BINDIR=/usr/bin \ + SBINDIR=/usr/bin \ + DESTDIR=$DESTDIR \ + install +} diff --git a/land/pcre2/PKGBUILD b/land/pcre2/PKGBUILD new file mode 100644 index 00000000..f08d458e --- /dev/null +++ b/land/pcre2/PKGBUILD @@ -0,0 +1,33 @@ +pkgname=pcre2 +pkgver=10.32 +pkgrel=1 +pkgdesc="The PCRE2 library is a set of C functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5." +arch=('i786') +url="https://github.com/PCRE2Project/pcre2" +source=( + 'https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.32/pcre2-10.32.tar.bz2' + "$pkgname-$pkgver.patch" +) +sha256sums=( + 'f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/pixman/PKGBUILD b/land/pixman/PKGBUILD new file mode 100644 index 00000000..1cc384ac --- /dev/null +++ b/land/pixman/PKGBUILD @@ -0,0 +1,37 @@ +pkgname=pixman +pkgver=0.38.4 +pkgrel=1 +pkgdesc="Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization." +arch=('i786') +url="https://pixman.org" +source=( + 'https://cairographics.org/releases/pixman-0.38.4.tar.gz' + "$pkgname.patch" +) +sha256sums=( + 'da66d6fd6e40aee70f7bd02e4f8f76fc3f006ec879d346bae6a723025cfbdde7' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname.patch +} + +build() { + cd $pkgname-$pkgver + CFLAGS="-DPIXMAN_NO_TLS" ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-mmx \ + --disable-vmx + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/setenv.sh b/land/setenv.sh new file mode 100644 index 00000000..8b43a8ba --- /dev/null +++ b/land/setenv.sh @@ -0,0 +1,17 @@ +if test "$#" -ne 1; then + echo "Usage: source setenv.sh >image root>" + exit 1 +fi + +export SYSROOT=$1 +export PKG_CONFIG_DIR="$SYSROOT" +export PKG_CONFIG_LIBDIR="$SYSROOT/usr/lib/pkgconfig:$SYSROOT/usr/share/pkgconfig" +export PKG_CONFIG_SYSROOT_DIR="$SYSROOT" +export CFLAGS="-O3 -I$SYSROOT/usr/include --sysroot $SYSROOT" +export CPPFLAGS="$CFLAGS -D__STDC_ISO_10646__ -D_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC=0 -D_GLIBCXX_USE_C99_STDLIB=0" +export LDFLAGS="-L$SYSROOT/usr/lib" + +fix_config_sub() { + echo "Replacing file $1" + echo -e "#!/bin/sh\necho i786-pc-xelix" +} diff --git a/land/tar/PKGBUILD b/land/tar/PKGBUILD new file mode 100644 index 00000000..e0603634 --- /dev/null +++ b/land/tar/PKGBUILD @@ -0,0 +1,33 @@ +pkgname=tar +pkgver=1.32 +pkgrel=1 +pkgdesc="GNU Tar provides the ability to create tar archives, as well as various other kinds of manipulation." +arch=('i786') +url="https://www.gnu.org/software/tar/" +source=( + 'https://ftp.gnu.org/gnu/tar/tar-1.32.tar.xz' + "$pkgname-$pkgver.patch" +) +sha256sums=( + 'd0d3ae07f103323be809bc3eac0dcc386d52c5262499fe05511ac4788af1fdd8' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/tmux/PKGBUILD b/land/tmux/PKGBUILD new file mode 100644 index 00000000..88b26c6d --- /dev/null +++ b/land/tmux/PKGBUILD @@ -0,0 +1,34 @@ +pkgname=tmux +pkgver=3.3a +pkgrel=1 +pkgdesc="tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen." +arch=('i786') +url="https://github.com/tmux/tmux" +source=( + 'https://github.com/tmux/tmux/releases/download/3.3a/tmux-3.3a.tar.gz' + "$pkgname-$pkgver.patch" +) +sha256sums=( + 'e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/tz/PKGBUILD b/land/tz/PKGBUILD new file mode 100644 index 00000000..cc7aaf81 --- /dev/null +++ b/land/tz/PKGBUILD @@ -0,0 +1,29 @@ +pkgname=tzdb +pkgver=2019a +pkgrel=1 +pkgdesc="The Time Zone Database (often called tz or zoneinfo) contains code and data that represent the history of local time for many representative locations around the globe." +arch=('i786') +url="https://www.iana.org/time-zones" +source=( + "https://data.iana.org/time-zones/releases/tzdb-$pkgver.tar.lz" + "tz.patch" +) +sha256sums=( + '16d10794dd8de8eb21abbf21e74020b5e1b0227ea1f094299b0b4467954eecc7' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../tz.patch +} + +build() { + cd $pkgname-$pkgver + make CC=i786-pc-xelix-gcc +} + +package() { + cd $pkgname-$pkgver + make CC=i786-pc-xelix-gcc ZIC=zic DESTDIR=$pkgdir install +} diff --git a/land/vim/PKGBUILD b/land/vim/PKGBUILD new file mode 100644 index 00000000..d6a2fa51 --- /dev/null +++ b/land/vim/PKGBUILD @@ -0,0 +1,36 @@ +pkgname=vim +pkgver=8.1 +pkgrel=1 +pkgdesc="Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient." +arch=('i786') +makedepend=('ncurses') +url="https://www.vim.org/" +source=('ftp://ftp.vim.org/pub/vim/unix/vim-8.1.tar.bz2') +sha256sums=('8b69fbd01c877dd8ecbbeca1dc66e5e927228d631ac4c2174b9307eb5c827c86') + +build() { + cd vim81 + + ac_cv_sizeof_int=4 \ + vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_tgetent=zero \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no \ + vim_cv_tty_group=world \ + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-tlib=ncurses + + cd src && sh osdef.sh && cd .. + make +} + +package() { + cd vim81 + make DESTDIR=$pkgdir install + ln -s vim $pkgdir/usr/bin/vi +} diff --git a/land/wget/PKGBUILD b/land/wget/PKGBUILD new file mode 100644 index 00000000..516248eb --- /dev/null +++ b/land/wget/PKGBUILD @@ -0,0 +1,40 @@ +pkgname=wget +pkgver=1.20.3 +pkgrel=1 +pkgdesc="GNU Wget is a free software package for retrieving files using HTTP, HTTPS, FTP and FTPS, the most widely used Internet protocols. " +arch=('i786') +makedepend=('zlib' 'pcre2' 'openssl') +url="https://www.gnu.org/software/wget/" +source=( + 'https://ftp.gnu.org/gnu/wget/wget-1.20.3.tar.gz' + "$pkgname-$pkgver.patch" + "$pkgname-$pkgver-two.patch" +) +sha256sums=( + '31cccfc6630528db1c8e3a06f6decf2a370060b982841cfab2b8677400a5092e' + 'SKIP' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-ssl=openssl \ + --disable-threads \ + --without-libpsl + + patch -p1 < ../$pkgname-$pkgver-two.patch + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/which/PKGBUILD b/land/which/PKGBUILD new file mode 100644 index 00000000..e5b24bf0 --- /dev/null +++ b/land/which/PKGBUILD @@ -0,0 +1,23 @@ +pkgname=which +pkgver=2.21 +pkgrel=1 +pkgdesc="A utility that is used to find which executable (or alias or shell function) is executed when entered on the shell prompt. " +arch=('i786') +url="https://savannah.gnu.org/projects/which" +source=('https://ftp.gnu.org/gnu/which/which-2.21.tar.gz') +sha256sums=('f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad') + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/xelix-utils/PKGBUILD b/land/xelix-utils/PKGBUILD new file mode 100644 index 00000000..c9be7461 --- /dev/null +++ b/land/xelix-utils/PKGBUILD @@ -0,0 +1,23 @@ +pkgname=xelix-utils +pkgver=r2576.fb8939c5 +pkgrel=2 +epoch= +pkgdesc="A suite of Xelix-specific standard system utilities." +arch=('i786') +url="https://github.com/lutoma/xelix/tree/main/land/xelix-utils" +license=('GPL') +depends=('font-fira-code' 'gfxcompd') +makedepends=('newlib' 'flac' 'freetype' 'libpng') +source=() + +pkgver() { + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + CFLAGS="$CFLAGS -I$SYSROOT/usr/include/freetype2" make +} + +package() { + make DESTDIR=$pkgdir install +} diff --git a/land/xelix-utils/src/Makefile b/land/xelix-utils/src/Makefile index 52ee5742..be047469 100644 --- a/land/xelix-utils/src/Makefile +++ b/land/xelix-utils/src/Makefile @@ -20,7 +20,7 @@ play: play.c $(CC) $(CFLAGS) -o $@ play.c -L. -lFLAC -lm -lutil gfxterm: gfxterm.c tmt.c tmt.h - $(CC) $(CFLAGS) -o $@ tmt.c gfxterm.c -I$(DESTDIR)/usr/include -I$(DESTDIR)/usr/include/freetype2 -lxelixgfx -lfreetype -lpng -lz -lm -lbz2 + $(CC) $(CFLAGS) -o $@ tmt.c gfxterm.c -lxelixgfx -lfreetype -lpng -lz -lm -lbz2 png: png.c $(CC) $(CFLAGS) -o $@ png.c -lxelixgfx -lpng -lz -lm diff --git a/land/xz/PKGBUILD b/land/xz/PKGBUILD new file mode 100644 index 00000000..13810b15 --- /dev/null +++ b/land/xz/PKGBUILD @@ -0,0 +1,33 @@ +pkgname=xz +pkgver=5.2.4 +pkgrel=1 +pkgdesc="XZ Utils is free general-purpose data compression software with a high compression ratio." +arch=('i786') +url="https://tukaani.org/xz/" +source=( + 'https://tukaani.org/xz/xz-5.2.4.tar.xz' + "$pkgname-$pkgver.patch" +) +sha256sums=( + '9717ae363760dedf573dad241420c5fea86256b65bc21d2cf71b2b12f0544f4b' + 'SKIP' +) + +prepare() { + patch -p0 < $pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/zlib/PKGBUILD b/land/zlib/PKGBUILD new file mode 100644 index 00000000..729d2ffb --- /dev/null +++ b/land/zlib/PKGBUILD @@ -0,0 +1,19 @@ +pkgname=zlib +pkgver=1.2.11 +pkgrel=1 +pkgdesc="A Massively Spiffy Yet Delicately Unobtrusive Compression Library" +arch=('i786') +url="https://zlib.net" +source=('https://zlib.net/fossils/zlib-1.2.11.tar.gz') + +sha256sums=('c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1') + +build() { + cd $pkgname-$pkgver + CC=i786-pc-xelix-gcc ./configure --static --prefix=/usr --sysconfdir=/etc +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/land/zsh/PKGBUILD b/land/zsh/PKGBUILD new file mode 100644 index 00000000..97cb881f --- /dev/null +++ b/land/zsh/PKGBUILD @@ -0,0 +1,34 @@ +pkgname=zsh +pkgver=5.9 +pkgrel=1 +pkgdesc="Zsh is a shell designed for interactive use, although it is also a powerful scripting language." +arch=('i786') +url="ttps://www.zsh.org" +source=( + 'https://www.zsh.org/pub/zsh-5.9.tar.xz' + "$pkgname-$pkgver.patch" +) +sha256sums=( + '9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5' + 'SKIP' +) + +prepare() { + cd $pkgname-$pkgver + patch -p0 < ../$pkgname-$pkgver.patch +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --host=i786-pc-xelix \ + --prefix=/usr \ + --sysconfdir=/etc + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR=$pkgdir install +}