diff options
Diffstat (limited to 'pcr/neo6502/PKGBUILD')
-rw-r--r-- | pcr/neo6502/PKGBUILD | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/pcr/neo6502/PKGBUILD b/pcr/neo6502/PKGBUILD new file mode 100644 index 000000000..34005354b --- /dev/null +++ b/pcr/neo6502/PKGBUILD @@ -0,0 +1,102 @@ +# Maintainer: bill-auger <bill-auger@programmer.net> + + +pkgbase=neo6502 +pkgname=(neo6502-docs neo6502-emulator neo6502-firmware) +_upstream_name=neo6502-firmware +pkgver=0.16.3 +_pico_sdk_ver=1.5.1 +_tinyusb_ver=0.16.0 +_picodvi_rev=a248d72b8cc95a08b43ef4307cd954eb801272b2 # no stable release available +_pico_fatfs_ver=1.0.8 +pkgrel=1 +pkgdesc="Emulator and firmware for the Neo6502 Retro-computer" +arch=(armv7h i686 x86_64) +license=(custom:MIT) +url=http://www.neo6502.com/ + +depends=() +makedepends=(64tass arm-none-eabi-gcc arm-none-eabi-newlib cmake + python-gitpython python-pillow sdl2 zip) +makedepends+=(pandoc texlive-latex texlive-latexextra texlive-latexrecommended) +source=(neo6502-firmware-${pkgver}.tar.gz::https://github.com/paulscottrobson/${_upstream_name}/archive/refs/tags/v${pkgver}.tar.gz + pico-sdk-${_pico_sdk_ver}.tar.gz::https://github.com/raspberrypi/pico-sdk/archive/refs/tags/${_pico_sdk_ver}.tar.gz + tinyusb-${_tinyusb_ver}.tar.gz::https://github.com/hathach/tinyusb/archive/refs/tags/${_tinyusb_ver}.tar.gz + PicoDVI-${_picodvi_rev}.tar.gz::https://github.com/Wren6991/PicoDVI/archive/${_picodvi_rev}.tar.gz + pico_fatfs-${_pico_fatfs_ver}.tar.gz::https://github.com/carlk3/no-OS-FatFS-SD-SPI-RPi-Pico/archive/refs/tags/v${_pico_fatfs_ver}.tar.gz) +source+=(build_offline.patch) +sha256sums=('a935688087259743f98fb707cfcde39e9d2bf2192a77e550a71e325a43dc9c80' + '95f5e522be3919e36a47975ffd3b208c38880c14468bd489ac672cfe3cec803c' + '5b24ed6d7732d07bb25a2013b3ad65fdb8752da3e9faac6372ff0574b26a0447' + 'efd85ffe21335004f8ebfe6d07c2a6482c4dd96bc6f0132fa4adb21464845a88' + '68ffa9f157b94df969d3bc34f32acb4d4fdf2bdf5391952cf242fec20f53b0b8') +sha256sums+=(SKIP) + + +prepare() +{ + cd "${srcdir}"/pico-sdk-${_pico_sdk_ver} + + sed -i 's|ARM_TOOLCHAIN_COMMON_FLAGS "|& -march=armv6-m -mtune=cortex-m0plus -fcf-protection=none -fstack-check=generic -fno-stack-clash-protection |' cmake/preload/toolchains/pico_arm_gcc.cmake + + + cd "${srcdir}"/${_upstream_name}-${pkgver} + + # avoid downloading sources at build-time + patch -Np1 < "${srcdir}"/build_offline.patch + + # avoid building the windows emulator + sed -i 's|emulator release|emulator clean\n\t$(MAKE) -B -C emulator elinux|' Makefile + sed -i '/neo.exe/d' release/Makefile + + sed -i 's|STORAGE = USBKEY|STORAGE = NO|' firmware/Makefile + # prevent exit failure when sourcing cvimg.py + sed -i 's|sys\.exit(1)|sys.exit(0)|' basic/images/cvimg.py +} + +build() +{ + cd "${srcdir}"/${_upstream_name}-${pkgver} + + # avoid downloading sources at build-time + export PICO_SDK_FETCH_FROM_GIT=off + export PICO_SDK_PATH="${srcdir}"/pico-sdk-${_pico_sdk_ver} + export PICO_TINYUSB_PATH="${srcdir}"/tinyusb-${_tinyusb_ver} + export PICO_DVI_PATH="${srcdir}"/PicoDVI-${_picodvi_rev} + export PICO_FATFS_PATH="${srcdir}"/no-OS-FatFS-SD-SPI-RPi-Pico-${_pico_fatfs_ver} + + make +} + +package_neo6502-docs() +{ + cd "${srcdir}"/${_upstream_name}-${pkgver} + + install -Dm644 documents/release/*.odt -t "${pkgdir}"/usr/share/doc/${pkgbase}/ + install -Dm644 documents/release/*.pdf -t "${pkgdir}"/usr/share/doc/${pkgbase}/ + install -Dm644 documents/*.pdf -t "${pkgdir}"/usr/share/doc/${pkgbase}/ +} + +package_neo6502-emulator() +{ + optdepends=("neo6502-docs: Neo6502 documentation") + + cd "${srcdir}"/${_upstream_name}-${pkgver} + + install -Dm755 bin/neo "${pkgdir}"/usr/bin/neo + install -d "${pkgdir}"/usr/share/${pkgbase}/examples/ + cp -a examples/ "${pkgdir}"/usr/share/${pkgbase}/examples/ + chmod -R 644 "${pkgdir}"/usr/share/${pkgbase}/examples/ + install -Dm644 bin/*.zip -t "${pkgdir}"/usr/share/${pkgbase}/utils/ + install -Dm644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgbase}/ +} + +package_neo6502-firmware() +{ + optdepends=("neo6502-docs: Neo6502 documentation") + + cd "${srcdir}"/${_upstream_name}-${pkgver} + + install -Dm644 bin/*.bin -t "${pkgdir}"/usr/share/${pkgbase}/firmware/ + install -Dm644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgbase}/ +} |