diff options
author | Darren Ng | 2021-03-22 00:41:50 +0800 |
---|---|---|
committer | Darren Ng | 2021-03-22 00:41:50 +0800 |
commit | 9f3206f35f65adaf01a388a96afa7c8ff100607a (patch) | |
tree | d75374fe3c4c21f6be71ffc2a31cd04598d08877 /PKGBUILD | |
parent | 645de4f23015a63ceda62faf716fd3dab1c9edd5 (diff) | |
download | aur-9f3206f35f65adaf01a388a96afa7c8ff100607a.tar.gz |
patch extern (static)
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 114 |
1 files changed, 89 insertions, 25 deletions
@@ -1,51 +1,115 @@ -# Maintainer: Darren Wu <$(base64 --decode <<<'ZGFycmVuMTk5NzA4MTBAZ21haWwuY29tCg==')> +# Maintainer: Darren Ng <$(base64 --decode <<<VW4xR2ZuQGdtYWlsLmNvbQo=)> pkgname=i8086emu-git -pkgver=0.9.2.r35.g1143f09 -pkgrel=2 +pkgver=0.9.2.r35.1143f09 +pkgrel=1 +epoch=1 pkgdesc="cross-platform emulator for the Intel 8086 microprocessor" -arch=('x86_64') -url="https://sourceforge.net/projects/i8086emu/" -license=('GPL2') -depends=('gtk2' 'beep') -makedepends=('git' 'nasm' 'cmake') -provides=("${pkgname%-git}") -conflicts=("${pkgname%-git}") -source=("${pkgname%-git}::git+https://git.code.sf.net/p/i8086emu/git") -md5sums=('SKIP') +arch=($CARCH) +url=http://${pkgname%-git}.sourceforge.net/ +license=(GPL2) +depends=(gtk2 beep) +makedepends=(git nasm cmake) +provides=(${pkgname%-git}) +conflicts=(${pkgname%-git}) + +# (A) +# source=(file:///dev/null) +# md5sums=(SKIP) + +# (B) +source=(${pkgname%-git}::git+https://git.code.sf.net/p/i8086emu/git extern.patch) +sha1sums=(SKIP a5c1091422a1f9454a6fa161107781854f387896) + +prepare() { + + # (A) + # cp -a ~/i8086emu.git/ ./ + + # (B) + patch --directory=${pkgname%-git} --input=- --strip=1 --verbose <extern.patch # --dry-run + + cd ${pkgname%-git}/${pkgname%-git}/src + + # https://unix.stackexchange.com/a/450857 + # Insert text blob w/ sed in case any whitespace get messed up + # diff -u {x,y}.c | sed -i -e '/^INSERT_TEXT_BLOB/{r /dev/stdin' -e 'd;}' ~/.cache/yay/i8086emu-git/PKGBUILD + + # echo + # { for h in i8086gui.h i8086gui_paint.h i8086gui_emufuncs.h i8086gui_util.h; do + # echo "patch --verbose $h <<\"EOP\"" + # diff -u "$h" ~/.cache/yay/i8086emu-git/src/i8086emu/i8086emu/src + # echo "EOP" + # echo + # done } | sed -i -e '/^SED_BLOB/{r /dev/stdin' -e 'd;}' ~/.cache/yay/i8086emu-git/PKGBUILD + +} pkgver() { - cd "$srcdir/${pkgname%-git}" + cd ${pkgname%-git} # cutting off 'v' prefix that presents in the git tag - git describe --long --tags| sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' + printf "%s" "$(git describe --long --tags | sed 's/^v//;s/\([^-]*-\)g/r\1/;s/-/./g')" } build() { - cd "$srcdir/${pkgname%-git}/${pkgname%-git}/" + + cd ${pkgname%-git}/${pkgname%-git}/ + export CFLAGS="-fPIC $CFLAGS" # i8086text + # ./configure --help | less; echo; pwd; echo; return 1 + # i8086emu-git W: ELF file ('usr/bin/i8086text') lacks FULL RELRO, check LDFLAGS. + # i8086emu-git W: ELF file ('usr/lib/i8086emu/i8086beep.so') lacks FULL RELRO, check LDFLAGS. + # i8086emu-git W: ELF file ('usr/lib/i8086emu/i8086pic.so') lacks FULL RELRO, check LDFLAGS. + # i8086emu-git W: ELF file ('usr/lib/i8086emu/i8086pit.so') lacks FULL RELRO, check LDFLAGS. ./configure \ + \ --prefix=/usr \ + --exec-prefix=/usr \ + \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/${pkgname%-git} \ --sysconfdir=/etc \ + --localstatedir=/var \ --infodir=/usr/share/doc \ - usegtk=0 - make CFLAGS="-fPIC $CFLAGS" + --mandir=/usr/share/man \ + usegtk=1 + # gcc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -shared -fPIC devices/i8086pic.c i8086error.o i8086messages.o i8086util.o -o devices/i8086pic.so + # /usr/bin/ld: i8086messages.o: warning: relocation against `msgFuncs' in read-only section `.text' + # /usr/bin/ld: i8086messages.o: relocation R_X86_64_PC32 against symbol `criticalSection' can not be used when making a shared object; recompile with -fPIC + # make CFLAGS="-fPIC $CFLAGS" + make # i8086gui - mkdir cmake_build_gui - cd cmake_build_gui - cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/ .. - make + cmake -B cmake_build_gui -S . \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_VERBOSE_MAKEFILE=ON + # ccmake -B cmake_build_gui -S .; echo; pwd; echo; return 1 + make -C cmake_build_gui\ + } +# makepkg --noextract --holdver --repackage package() { + cd ${pkgname%-git}/${pkgname%-git}/ + # i8086text - cd "$srcdir/${pkgname%-git}/${pkgname%-git}/" make DESTDIR="$pkgdir" install + rm -v \ + "$pkgdir/usr/bin/i8086text" \ + "$pkgdir/usr/lib/i8086emu/i8086beep.so" \ + "$pkgdir/usr/lib/i8086emu/i8086pic.so" \ + "$pkgdir/usr/lib/i8086emu/i8086pit.so" + rmdir -v "$pkgdir/usr/lib/i8086emu" + + [ -z "$(ls -A "$pkgdir/usr/bin")" ] + [ -z "$(ls -A "$pkgdir/usr/lib")" ] # i8086gui - install -Dm755 \ - "$srcdir/${pkgname%-git}/${pkgname%-git}/cmake_build_gui/bin/i8086gui" \ - "$pkgdir/usr/bin/" + install -vDm755 cmake_build_gui/bin/* "$pkgdir/usr/bin/" + install -vDm755 cmake_build_gui/lib/*.so "$pkgdir/usr/lib/" + install -vDm644 cmake_build_gui/lib/*.a "$pkgdir/usr/lib/" } |