added hyperion (hercules 4.0)

This commit is contained in:
kitzman 2022-04-09 20:27:49 +03:00
parent 0e47445903
commit 0e2c6316e4
Signed by: kitzman
GPG Key ID: 83289D84AA7C9A54
2 changed files with 136 additions and 0 deletions

98
images/hyperion/APKBUILD Normal file
View File

@ -0,0 +1,98 @@
pkgname=hyperion
pkgver=4.4.1
pkgrel=1
pkgdesc='Software implementation of System/370 and ESA/390'
arch='x86_64 aarch64'
url='https://github.com/SDL-Hercules-390/hyperion'
license='custom'
makedepends="libtool pkgconf bash make cmake linux-headers zlib-dev bzip2-dev libnsl-dev"
depends="bzip2 libnsl zlib perl libltdl"
options='!check !dbg suid libtool'
subpackages="$pkgname-doc"
# this is still WIP...
source="
hyperion.tar.gz::https://github.com/SDL-Hercules-390/$pkgname/archive/refs/tags/Release_$pkgver.tar.gz
crypto-master.tar.gz::https://github.com/SDL-Hercules-390/crypto/archive/refs/heads/master.tar.gz
decNumber-master.tar.gz::https://github.com/SDL-Hercules-390/decNumber/archive/refs/heads/master.tar.gz
SoftFloat-master.tar.gz::https://github.com/SDL-Hercules-390/SoftFloat/archive/refs/heads/master.tar.gz
telnet-master.tar.gz::https://github.com/SDL-Hercules-390/telnet/archive/refs/heads/master.tar.gz
"
# custom variables
builddir="$srcdir"/hyperion-Release_"$pkgver"
crypto_builddir="$srcdir"/crypto-master
decNumber_builddir="$srcdir"/decNumber-master
SoftFloat_builddir="$srcdir"/SoftFloat-master
telnet_builddir="$srcdir"/telnet-master
extpkgdir="$builddir"/extpkgs
# packaging functions
prepare() {
cd "$builddir"
# __gnu_linux__ not defined on musl - but Linux support is
# known
sed -i '381s/undef/define/' hostopts.h
sed -i '382s/undef/define/' hostopts.h
sed -i '385s/undef/define/' hostopts.h
}
build() {
mkdir -p "$extpkgdir"
for ext_proj in "$crypto_builddir" \
"$decNumber_builddir" \
"$SoftFloat_builddir" \
"$telnet_builddir"; do
project_name=$(basename "$ext_proj" | sed 's/-master//g')
echo "building external package $project_name"
mkdir "$ext_proj"/"$project_name"
cd "$ext_proj"/"$project_name"
"$ext_proj"/build --pkgname . -r -i "$extpkgdir" \
-m $pkgarch \
-a BOTH
done
cd "$builddir"
CONFIG_SHELL=/bin/bash \
SHELL=/bin/bash \
MAKESHELL=/bin/bash \
./configure --prefix=/usr \
--enable-optimization=yes \
--enable-extpkgs="$extpkgdir"
CONFIG_SHELL=/bin/bash \
SHELL=/bin/bash \
MAKESHELL=/bin/bash \
make
}
package() {
cd "$builddir"
DESTDIR="$pkgdir" \
CONFIG_SHELL=/bin/bash \
SHELL=/bin/bash \
MAKESHELL=/bin/bash \
make install
install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/hercules/qpl1"
cp -r "$extpkgdir"/* "$pkgdir"/usr
}
sha512sums="
cf0f8e9aad96446ca486ee5034f2f3bc39dca86a7f30f479bf1ccc97180f39ed34bc2d14ba441b0e9c43368cc77519aaafd7714deacf011a235936d70b36d839 hyperion.tar.gz
8cc8eb174f4d682d3ba7babe13798466c42769cd00af0129de8147941219aaaa7d7dd48349554ed444451f0f92c6270350c245ef2194a2fe17e2685497d4fd00 crypto-master.tar.gz
8e2e97cdd83d81a1d6d2913a7b0a7bf3501a379d1ed8aff250d90c42aa77e64b6ac29625074caeec1c37fc6414075d97d736710a5264af49e4a8d845011e4cbd decNumber-master.tar.gz
6e0040c91ed0b46ef7d206fbb7734f43c0e4b30498641b77e2a892a708e111479c0b3156840c66d5a062b546cef18e3734274ef104deed11b57e023428ddfc57 SoftFloat-master.tar.gz
c402299591f1f7f5e1a1babebfb3630fcd4ef77e6ef8c332aad9e8fd708d6fa2fa39c159d95074e555f4b81fe9ed8bfc089f21326953bbe02623f34f07f6beab telnet-master.tar.gz
"

View File

@ -0,0 +1,38 @@
FROM alpine:3.14
RUN apk update
RUN apk upgrade
RUN apk add coreutils shadow sudo
RUN apk add ca-certificates ca-certificates-bundle
RUN update-ca-certificates
RUN apk add alpine-sdk
RUN useradd -m -G wheel,users,abuild abuild-user
RUN sed '$a%wheel ALL=(ALL) NOPASSWD: ALL' -i /etc/sudoers
USER abuild-user
RUN mkdir -p /home/abuild-user/staging/hyperion
WORKDIR /home/abuild-user/staging/hyperion
COPY APKBUILD .
RUN abuild-keygen -a -i -n
RUN sudo -u abuild-user sh -c 'abuild -r'
RUN sudo apk add --allow-untrusted /home/abuild-user/packages/staging/aarch64/hyperion*.apk
RUN sudo rm -rf /home/abuild-user/staging
RUN sudo rm -rf /home/abuild-user/packages
USER root
RUN apk add libcap
RUN setcap 'cap_sys_nice=eip' /usr/bin/hercules
RUN setcap 'cap_sys_nice=eip' /usr/bin/herclin
RUN setcap 'cap_net_admin+ep' /usr/bin/hercifc
RUN sed 's|%wheel ALL=(ALL) NOPASSWD: ALL||g' -i /etc/sudoers
WORKDIR /