summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorĽubomír Kučera2023-07-03 20:02:58 +0200
committerĽubomír Kučera2023-07-04 21:01:15 +0200
commit5144b103ee5cda9815120040d84f891e0b9f7b69 (patch)
tree6b2daa061e56e6dd6e8f1d30da4b2c6f5b0a5865
downloadaur-5144b103ee5cda9815120040d84f891e0b9f7b69.tar.gz
Add version 2.0.0.4-1
-rw-r--r--.SRCINFO29
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD133
-rw-r--r--missing-symbols.cpp7
-rw-r--r--missing-symbols.version3
-rwxr-xr-xwrapper5
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")" "$@"