# Maintainer: Aaron Graves # Contributor: Julian Raufelder # Contributor: Morten Linderud # Contributor: Sebastian Stenzel # Contributor: Armin Schrenk pkgname=cryptomator pkgver=$PKG_VERSION pkgrel=$PKG_RELEASE pkgdesc="Multiplatform transparent client-side encryption of your files in the cloud." arch=('any') url="https://cryptomator.org/" license=('GPL3') depends=('fuse3' 'alsa-lib' 'hicolor-icon-theme' 'libxtst' 'libnet' 'libxrender') makedepends=('maven' 'unzip') optdepends=('keepassxc-cryptomator: Use KeePassXC to store vault passwords' 'ttf-hanazono: Install this font when using Japanese system language') _jdkver=25.0.2+10 _jfxver=25.0.2 _src_app_dir=cryptomator-${pkgver//_/-} source=($SOURCES); source_x86_64=("jdk-${_jdkver}.tar.gz::https://github.com/adoptium/temurin${_jdkver:0:2}-binaries/releases/download/jdk-${_jdkver//\+/%2B}/OpenJDK${_jdkver:0:2}U-jdk_x64_linux_hotspot_${_jdkver//\+/_}.tar.gz" "openjfx-${_jfxver}.zip::https://download2.gluonhq.com/openjfx/${_jfxver}/openjfx-${_jfxver}_linux-x64_bin-jmods.zip") source_aarch64=("jdk-${_jdkver}.tar.gz::https://github.com/adoptium/temurin${_jdkver:0:2}-binaries/releases/download/jdk-${_jdkver//\+/%2B}/OpenJDK${_jdkver:0:2}U-jdk_aarch64_linux_hotspot_${_jdkver//\+/_}.tar.gz" "openjfx-${_jfxver}.zip::https://download2.gluonhq.com/openjfx/${_jfxver}/openjfx-${_jfxver}_linux-aarch64_bin-jmods.zip") noextract=("jdk-${_jdkver}.tar.gz" "openjfx-${_jfxver}.zip") sha256sums=($SOURCES_SHA) sha256sums_x86_64=('987387933b64b9833846dee373b640440d3e1fd48a04804ec01a6dbf718e8ab8' 'e0a9c29d8cf3af9b8b48848b43f87b5785bc107c53a951b19668ce05842bba1b') sha256sums_aarch64=('a9d73e711d967dc44896d4f430f73a68fd33590dabc29a7f2fb9f593425b854c' 'c3408f818693cce09e59829a8e862a82c7695fdfcd585c41cfd527f5fc3fe646') options=('!strip') validpgpkeys=('58117AFA1F85B3EEC154677D615D449FE6E6A235') build() { export JAVA_HOME="${srcdir}/jdk-${_jdkver}" JMODS_PATH="${srcdir}/openjfx-${_jfxver}-jmods" #JEP 493 if ! $(${JAVA_HOME}/bin/jlink --help | grep -q "Linking from run-time image enabled"); then JMODS_PATH="${JMODS_PATH}:${JAVA_HOME}/jmods:" fi tar xfz "jdk-${_jdkver}.tar.gz" mkdir "openjfx-${_jfxver}-jmods" unzip -j "openjfx-${_jfxver}.zip" \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d "openjfx-${_jfxver}-jmods" cd "${srcdir}/${_src_app_dir}" mvn -B clean package -DskipTests -Plinux cp LICENSE.txt target cp target/cryptomator-*.jar target/mods cd target "$JAVA_HOME/bin/jlink" \ --output runtime \ --module-path "$JMODS_PATH" \ --add-modules java.base,java.desktop,java.instrument,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,javafx.base,javafx.graphics,javafx.controls,javafx.fxml,jdk.crypto.ec,jdk.crypto.cryptoki,jdk.unsupported,jdk.security.auth,jdk.accessibility,jdk.management.jfr,jdk.net,java.compiler \ --strip-native-commands \ --no-header-files \ --no-man-pages \ --strip-debug \ --compress=zip-0 ##Note: jpackage does not allow -beta suffixes, have to strip those "$JAVA_HOME/bin/jpackage" \ --type app-image \ --runtime-image runtime \ --input libs \ --module-path mods \ --module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator \ --dest . \ --name cryptomator \ --vendor "Skymatic GmbH" \ --copyright "(C) 2016 - 2026 Skymatic GmbH" \ --java-options "--enable-preview" \ --java-options '--enable-native-access=javafx.graphics,org.cryptomator.jfuse.linux.amd64,org.cryptomator.jfuse.linux.aarch64,org.purejava.appindicator' \ --java-options "-Xss5m" \ --java-options "-Xmx256m" \ --java-options "-Dfile.encoding=\"utf-8\"" \ --java-options "-Djava.net.useSystemProxies=true" \ --java-options "-Dcryptomator.adminConfigPath=\"/etc/cryptomator/config.properties\"" \ --java-options "-Dcryptomator.appVersion=\"${pkgver//_/-}\"" \ --java-options "-Dcryptomator.buildNumber=\"aur-${pkgrel}\"" \ --java-options "-Dcryptomator.disableUpdateCheck=true" \ --java-options "-Dcryptomator.integrationsLinux.autoStartCmd=\"cryptomator\"" \ --java-options "-Dcryptomator.ipcSocketPath=\"@{userhome}/.config/Cryptomator/ipc.socket\"" \ --java-options "-Dcryptomator.logDir=\"@{userhome}/.local/share/Cryptomator/logs\"" \ --java-options "-Dcryptomator.mountPointsDir=\"@{userhome}/.local/share/Cryptomator/mnt\"" \ --java-options "-Dcryptomator.networking.truststore.p12Path=\"/etc/cryptomator/certs.p12\"" \ --java-options "-Dcryptomator.pluginDir=\"@{userhome}/.local/share/Cryptomator/plugins\"" \ --java-options "-Dcryptomator.p12Path=\"@{userhome}/.config/Cryptomator/key.p12\"" \ --java-options "-Dcryptomator.settingsPath=\"@{userhome}/.config/Cryptomator/settings.json:~/.Cryptomator/settings.json\"" \ --java-options "-Dcryptomator.showTrayIcon=true" \ --java-options "-Dcryptomator.hub.enableTrustOnFirstUse=true" \ --app-version "${pkgver//_*/}" \ --verbose } package() { install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/application-vnd.cryptomator.vault.xml" "${pkgdir}/usr/share/mime/packages/cryptomator-vault.xml" install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.desktop" "${pkgdir}/usr/share/applications/org.cryptomator.Cryptomator.desktop" install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator256.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/org.cryptomator.Cryptomator.png" install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/org.cryptomator.Cryptomator.png" install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg" install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.tray.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.tray.svg" install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.tray-unlocked.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.tray-unlocked.svg" install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.tray.svg" "${pkgdir}/usr/share/icons/hicolor/symbolic/apps/org.cryptomator.Cryptomator.tray-symbolic.svg" install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.tray-unlocked.svg" "${pkgdir}/usr/share/icons/hicolor/symbolic/apps/org.cryptomator.Cryptomator.tray-unlocked-symbolic.svg" mkdir -p "${pkgdir}/opt/cryptomator/" cp -R "${srcdir}/${_src_app_dir}/target/cryptomator" "${pkgdir}/opt/" install -Dm644 "${srcdir}/${_src_app_dir}/target/LICENSE.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}" mkdir -p "${pkgdir}/usr/bin" ln -s "/opt/cryptomator/bin/cryptomator" "${pkgdir}/usr/bin/cryptomator" }