diff --git a/community/zeroc-ice/PKGBUILD b/community/zeroc-ice/PKGBUILD new file mode 100644 index 000000000..3df7fc27e --- /dev/null +++ b/community/zeroc-ice/PKGBUILD @@ -0,0 +1,87 @@ +# Maintainer: Sven-Hendrik Haase +# Contributor: Joe George +# Contributor: Daniel Spies +# Contributor: Otto Allmendinger + +# ALARM: Kevin Mihelich +# - fix 32-bit lib packaging + +pkgname=(zeroc-ice zeroc-ice-java) +pkgbase=(zeroc-ice) +pkgver=3.7.2 +pkgrel=1 +pkgdesc="An object-oriented middleware that provides RPC functionality" +arch=(x86_64) +url="https://zeroc.com" +license=(GPL custom:ice) +makedepends=(bzip2 gradle java-environment) +depends=(mcpp lmdb) +source=( + "ice-${pkgver}.tar.gz::https://github.com/zeroc-ice/ice/archive/v${pkgver}.tar.gz" + "ice-packaging-${pkgver}.tar.gz::https://github.com/zeroc-ice/ice-packaging/archive/v${pkgver}.tar.gz" + zeroc-ice.sysusers +) +sha256sums=('e329a24abf94a4772a58a0fe61af4e707743a272c854552eef3d7833099f40f9' + '4a1aa0bfe3b2ec8ca9b834cbf3b1300fc48e25ccffe82a7a1b6d2f46644ba0bc' + '5fdbb1ed753e84e6b49c529e171af848e74a8890fe485dfe1d2bbec3c198dd90') + +_make_args=( + "OPTIMIZE=yes" + "USR_DIR_INSTALL=yes" + "prefix=/usr" + "CONFIGS=shared cpp11-shared" + "SKIP=slice2py" +) + +build() { + cd ${srcdir}/ice-${pkgver} + make "${_make_args[@]}" "LANGUAGES=cpp java" +} + +package_zeroc-ice() { + backup=("etc/glacier2router.conf" + "etc/icegridnode.conf" + "etc/icegridregistry.conf" + ) + + cd ${srcdir}/ice-${pkgver} + + make install "${_make_args[@]}" DESTDIR="${pkgdir}" "LANGUAGES=cpp" + install -Dm644 ${srcdir}/ice-${pkgver}/ICE_LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + + rm -f ${pkgdir}/usr/share/Ice-${pkgver}/LICENSE + rm -f ${pkgdir}/usr/share/Ice-${pkgver}/ICE_LICENSE + + if [ $CARCH = "x86_64" ]; then + rm -df ${pkgdir}/usr/lib/ + mv ${pkgdir}/usr/lib64/ ${pkgdir}/usr/lib/ + fi + + install -Dm644 ${srcdir}/ice-packaging-${pkgver}/ice/rpm/glacier2router.conf ${pkgdir}/etc/glacier2router.conf + install -Dm644 ${srcdir}/ice-packaging-${pkgver}/ice/rpm/icegridnode.conf ${pkgdir}/etc/icegridnode.conf + install -Dm644 ${srcdir}/ice-packaging-${pkgver}/ice/rpm/icegridregistry.conf ${pkgdir}/etc/icegridregistry.conf + + install -Dm644 ${srcdir}/ice-packaging-${pkgver}/ice/rpm/glacier2router.service \ + ${pkgdir}/usr/lib/systemd/system/glacier2router.service + install -Dm644 ${srcdir}/ice-packaging-${pkgver}/ice/rpm/icegridnode.service \ + ${pkgdir}/usr/lib/systemd/system/icegridnode.service + install -Dm644 ${srcdir}/ice-packaging-${pkgver}/ice/rpm/icegridregistry.service \ + ${pkgdir}/usr/lib/systemd/system/icegridregistry.service + + mkdir -p ${pkgdir}/var/lib/ice/icegrid/{node1,registry} + chown -R 101:101 ${pkgdir}/var/lib/ice + + install -Dm644 ${srcdir}/zeroc-ice.sysusers ${pkgdir}/usr/lib/sysusers.d/$pkgname.conf +} + +package_zeroc-ice-java() { + makedepends=(gradle 'java-environment=8') + depends=(zeroc-ice java-environment) + + cd ${srcdir}/ice-${pkgver} + + export GRADLE_USER_HOME=/tmp + make install "${_make_args[@]}" DESTDIR="${pkgdir}" "LANGUAGES=java" + + rm -rf "${pkgdir}"/usr/share/ice +} diff --git a/community/zeroc-ice/zeroc-ice.sysusers b/community/zeroc-ice/zeroc-ice.sysusers new file mode 100644 index 000000000..f31a60156 --- /dev/null +++ b/community/zeroc-ice/zeroc-ice.sysusers @@ -0,0 +1 @@ +u ice 101 "Ice User" /var/lib/ice