# Maintainer: Alfredo Ramos # Contributor: Muflone http://www.muflone.com/contacts/english/ # Contributor: Arne Hoch /dev/null | sed -r 's/^v//;s/-/./g' } prepare() { # Fix version number in profile file gzip --decompress --keep --stdout "${srcdir}/${_pkgname}.profile.gz" | sed "s/DBEAVER_VERSION/${pkgver}/g" | gzip -9 >"${srcdir}/${pkgname}.profile.gz" export JAVA_HOME="/usr/lib/jvm/$(archlinux-java status | tail -n +2 | sort | cut -d ' ' -f 3 | sort -nr -k 2 -t '-' | grep -E '17-|18-|19-' -m 1)" export MAVEN_OPTS="-Xmx2048m" cd "${srcdir}/${_pkgname}" mvn --batch-mode validate } build() { cd "${srcdir}/${_pkgname}" mvn --batch-mode package } package() { cd "${srcdir}/${_pkgname}/product/community" # Install icons into /usr/share/icons/hicolor for _size in 16 32 48 64 128 256 512; do install -m 644 -D "icons-sources/icon_${_size}x${_size}.png" "${pkgdir}/usr/share/icons/hicolor/${_size}x${_size}/apps/dbeaver.png" done # Move into the target directory cd "target/products/org.jkiss.dbeaver.core.product/linux/gtk/${CARCH}" # Initially install everything into /usr/lib/dbeaver install -m 755 -d "${pkgdir}/usr/lib" cp -r "${_pkgname}" "${pkgdir}/usr/lib/" # Move shared data to /usr/share/dbeaver cd "${pkgdir}/usr/lib/${_pkgname}" install -m 755 -d "${pkgdir}/usr/share/${_pkgname}" for _file in configuration features p2 .eclipseproduct artifacts.xml dbeaver.ini readme.txt; do mv "${_file}" "${pkgdir}/usr/share/${_pkgname}" ln -s "/usr/share/${_pkgname}/${_file}" . done # Install additional licenses install -m 755 -d "${pkgdir}/usr/share/licenses" mv licenses "${pkgdir}/usr/share/licenses/${_pkgname}" ln -s "/usr/share/licenses/${_pkgname}" "${pkgdir}/usr/lib/${_pkgname}/licenses" # Install icons install -m 755 -d "${pkgdir}/usr/share/pixmaps" mv dbeaver.png "${pkgdir}/usr/share/pixmaps/${_pkgname}.png" mv icon.xpm "${pkgdir}/usr/share/pixmaps/${_pkgname}.xpm" # Install executable script into /usr/bin install -m 755 -d "${pkgdir}/usr/bin" install -m 755 "${srcdir}/dbeaver.sh" "${pkgdir}/usr/bin/${_pkgname}" # Install application launcher into /usr/share/applications install -m 755 -d "${pkgdir}/usr/share/applications" install -m 755 -t "${pkgdir}/usr/share/applications" "${srcdir}/io.${_pkgname}.DBeaver.desktop" # Clean up and install new profile rm -rf "${pkgdir}/usr/share/${_pkgname}/p2/org.eclipse.equinox.p2.core" cd "${pkgdir}/usr/share/${_pkgname}/p2/org.eclipse.equinox.p2.engine/profileRegistry/DefaultProfile.profile" find . -name "*.profile.gz" -delete install -m 644 "${srcdir}/${pkgname}.profile.gz" "1679887494965.profile.gz" cd "${pkgdir}/usr/share/${_pkgname}/p2/org.eclipse.equinox.p2.engine" rm -f ".settings/org.eclipse.equinox.p2.artifact.repository.prefs" rm ".settings/org.eclipse.equinox.p2.metadata.repository.prefs" rmdir ".settings" # Install system hook install -m 755 -d "${pkgdir}/usr/share/libalpm/hooks" install -m 644 "${srcdir}/${_pkgname}.hook" "${pkgdir}/usr/share/libalpm/hooks" # Create configuration file (handled by the hook) cd "${pkgdir}/usr/share/dbeaver/configuration/org.eclipse.equinox.simpleconfigurator" install -m 755 -d "${pkgdir}/etc/${_pkgname}/bundles.d" mv "bundles.info" "${pkgdir}/etc/${_pkgname}/bundles.d/00-${_pkgname}.info" ln -rs "${pkgdir}/etc/${_pkgname}/bundles.info" . }