diff options
author | Ľubomír Kučera | 2023-07-03 20:02:58 +0200 |
---|---|---|
committer | Ľubomír Kučera | 2023-07-04 21:01:15 +0200 |
commit | 5144b103ee5cda9815120040d84f891e0b9f7b69 (patch) | |
tree | 6b2daa061e56e6dd6e8f1d30da4b2c6f5b0a5865 | |
download | aur-5144b103ee5cda9815120040d84f891e0b9f7b69.tar.gz |
Add version 2.0.0.4-1
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | PKGBUILD | 133 | ||||
-rw-r--r-- | missing-symbols.cpp | 7 | ||||
-rw-r--r-- | missing-symbols.version | 3 | ||||
-rwxr-xr-x | wrapper | 5 |
6 files changed, 183 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..736eeb344de1 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,29 @@ +pkgbase = d.launcher2 + pkgdesc = Application for Qualified Electronic Signature + pkgver = 2.0.0.4 + pkgrel = 1 + url = https://www.slovensko.sk/sk/na-stiahnutie + arch = x86_64 + license = custom + makedepends = fuse2 + makedepends = gcc + makedepends = proot + depends = gcc-libs + depends = glibc + depends = libzip + depends = openssl-1.1 + depends = pacparser + depends = qt5-base + depends = qt5-svg + depends = xerces-c + depends = xml-security-c + source = missing-symbols.cpp + source = missing-symbols.version + source = wrapper + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + source_x86_64 = https://www.slovensko.sk/static/kep/apps/dlauncher2_2.x/sk.ditec.dlauncher2-linux-x86_64.zip + sha256sums_x86_64 = 76a5b15c812e14fc20610ae1bc976a29ca28c031763a1e31e5bff7d56562704a + +pkgname = d.launcher2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..bc34d57ed2f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.log +*.log.* +*.pkg.* +*.zip +/pkg +/src diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..6b18f9a88d81 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,133 @@ +#!/bin/bash +# Maintainer: Ľubomír 'the-k' Kučera <lubomir.kucera.jr at gmail.com> + +pkgname=d.launcher2 +pkgver=2.0.0.4 +pkgrel=1 +pkgdesc="Application for Qualified Electronic Signature" +arch=( + x86_64 +) +url=https://www.slovensko.sk/sk/na-stiahnutie +license=( + custom +) +depends=( + gcc-libs + glibc + libzip + openssl-1.1 + pacparser + qt5-base + qt5-svg + xerces-c + xml-security-c +) +makedepends=( + fuse2 + gcc + proot +) +source=( + missing-symbols.cpp + missing-symbols.version + wrapper +) +source_x86_64=( + https://www.slovensko.sk/static/kep/apps/dlauncher2_2.x/sk.ditec.dlauncher2-linux-x86_64.zip +) +sha256sums=( + SKIP + SKIP + SKIP +) +# https://www.slovensko.sk/static/kep/apps/dlauncher2_2.x/sk.ditec.dlauncher2.xml +# $ echo <sha256> | base64 -d | xxd -c 0 -p +sha256sums_x86_64=( + 76a5b15c812e14fc20610ae1bc976a29ca28c031763a1e31e5bff7d56562704a +) + +: "${pkgname}" +: "${pkgver}" +: "${pkgrel}" +: "${pkgdesc}" +: "${arch[@]}" +: "${url}" +: "${license[@]}" +: "${depends[@]}" +: "${makedepends[@]}" +: "${source[@]}" +: "${source_x86_64[@]}" +: "${sha256sums[@]}" +: "${sha256sums_x86_64[@]}" + +prepare() { + ./DLauncher2.linux.x86_64.run --appimage-extract +} + +build() { + IFS=" " read -r -a BUILD_FLAGS <<< "${CXXFLAGS} ${LDFLAGS} ${LTOFLAGS}" + + rm -r install + + mkdir -p install/{sbin,install/.local/share} + + # Prevents the installer from trying to use systemctl + ln -fs /usr/bin/true install/sbin/systemctl + + for exe in dBridge2Nm dLauncher2; do + install -Dm755 "squashfs-root/dlauncher2/${exe}" \ + "install/opt/${pkgname}/_${exe}" + + ln -fs "/opt/${pkgname}/wrapper" "install/opt/${pkgname}/${exe}" + done + + # Fixes `undefined symbol: _ZdlPvm, version Qt_5` error. + # https://community.esri.com/t5/qt-maps-sdk-questions/undefined-reference-to-operator-delete-void/m-p/238571/highlight/true#M1203 + g++ "${BUILD_FLAGS[@]}" -Wl,--version-script=missing-symbols.version \ + -shared -fPIC -o "install/opt/${pkgname}/libmissingsymbols.so" \ + missing-symbols.cpp + install -Dm755 wrapper "install/opt/${pkgname}" + + install -Dm644 squashfs-root/dlauncher2/*.png "install/opt/${pkgname}" + + # --register fixes `path` in manifests. + for mode in install register; do + env -i proot -S install -b /bin -b /etc -b /lib64 -b /usr -w / /usr/bin/env \ + HOME=/install \ + PATH=/sbin:/usr/bin \ + QT_QPA_PLATFORM=offscreen \ + XDG_UTILS_INSTALL_MODE=user \ + "/opt/${pkgname}/dLauncher2" --headless "--${mode}" + done +} + +package() { + : "${pkgdir:?}" + + cp -r install/opt "${pkgdir}" + + install -Dm644 install/install/.ditec/dlauncher2/manifest-chrome.json \ + "${pkgdir}/etc/chromium/native-messaging-hosts/sk.ditec.dbridge2.nm.json" + mkdir -p "${pkgdir}/etc/opt/chrome/native-messaging-hosts" + ln -fs /etc/chromium/native-messaging-hosts/sk.ditec.dbridge2.nm.json \ + "${pkgdir}/etc/opt/chrome/native-messaging-hosts/sk.ditec.dbridge2.nm.json" + + install -Dm644 install/install/.ditec/dlauncher2/manifest-firefox.json \ + "${pkgdir}/usr/lib/mozilla/native-messaging-hosts/sk.ditec.dbridge2.nm.json" + + install -Dm644 install/install/.local/share/applications/sk.ditec.dlauncher2.desktop \ + "${pkgdir}/usr/share/applications/sk.ditec.dlauncher2.desktop" + sed -i "s|/install/.local/share/dlauncher2/|/opt/${pkgname}/|g" \ + "${pkgdir}/usr/share/applications/sk.ditec.dlauncher2.desktop" + + for size in 16 32 48 64 128 256 512; do + mkdir -p "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/"{apps,mimetypes} + ln -fs "/opt/${pkgname}/sk.ditec.dlauncher2_${size}.png" \ + "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/sk.ditec.dlauncher2.png" + ln -fs "/opt/${pkgname}/sk.ditec.dlauncher2_${size}.png" \ + "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/mimetypes/gnome-mime-sk.ditec.dlauncher2.png" + ln -fs "/opt/${pkgname}/sk.ditec.dlauncher2_${size}.png" \ + "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/mimetypes/sk.ditec.dlauncher2.png" + done +} diff --git a/missing-symbols.cpp b/missing-symbols.cpp new file mode 100644 index 000000000000..40c4e3576e4d --- /dev/null +++ b/missing-symbols.cpp @@ -0,0 +1,7 @@ +#include <new> + +extern "C++" { + __attribute__((visibility("default"))) void operator delete(void * ptr, std::size_t) noexcept { + ::operator delete(ptr); + } +} diff --git a/missing-symbols.version b/missing-symbols.version new file mode 100644 index 000000000000..3c9b2c189097 --- /dev/null +++ b/missing-symbols.version @@ -0,0 +1,3 @@ +Qt_5 { + *; +}; diff --git a/wrapper b/wrapper new file mode 100755 index 000000000000..e28622ee666f --- /dev/null +++ b/wrapper @@ -0,0 +1,5 @@ +#!/bin/bash + +export LD_PRELOAD=/opt/d.launcher2/libmissingsymbols.so + +exec "/opt/d.launcher2/_$(basename "$0")" "$@" |