From ff6b7dbff7f755b9fa0ef26cd3b558a1c291a4a4 Mon Sep 17 00:00:00 2001 From: bonny Date: Thu, 10 Jul 2025 10:12:06 +0200 Subject: [PATCH] initial commit --- .SRCINFO | 18 +++++++++++++ .gitignore | 4 +++ PKGBUILD | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 2 ++ 4 files changed, 91 insertions(+) create mode 100644 .SRCINFO create mode 100644 .gitignore create mode 100644 PKGBUILD create mode 100644 requirements.txt diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..6b9745edd470 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,18 @@ +pkgbase = eez-studio-appimage + pkgdesc = Cross-platform low-code GUI and automation + pkgver = 0.23.2 + pkgrel = 1 + url = https://github.com/eez-open/studio/releases + arch = x86_64 + arch = aarch64 + license = GPL + makedepends = python-pip + makedepends = python-setuptools + depends = python + options = !strip + source = eez-studio-appimage-0.23.2.AppImage::https://github.com/eez-open/studio/releases/download/v0.23.2/EEZ-Studio-0.23.2.AppImage + source = requirements.txt + sha256sums = 18380472a9ddc3001a63fb8438022425f47fc9268f7502aad2947c69382f5530 + sha256sums = 7019be3da97f345557fb38a581aabfd8a1d2e5324391a785213d8e5eb238aa90 + +pkgname = eez-studio-appimage diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..3007e6573df6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +pkg/ +src/ +*.pkg* +*.AppImage diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4a71b5e9ef85 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Matteo Bonora + +pkgname=eez-studio-appimage +pkgver=0.23.2 +pkgrel=1 +pkgdesc="Cross-platform low-code GUI and automation" +arch=('x86_64' 'aarch64') +url="https://github.com/eez-open/studio/releases" +license=('GPL') +options=(!strip) + +depends=( + 'python' +) + +makedepends=( + 'python-pip' + 'python-setuptools' +) + +source=( + "${pkgname}-${pkgver}.AppImage::https://github.com/eez-open/studio/releases/download/v${pkgver}/EEZ-Studio-${pkgver}.AppImage" + "requirements.txt" +) + +sha256sums=('18380472a9ddc3001a63fb8438022425f47fc9268f7502aad2947c69382f5530' + '7019be3da97f345557fb38a581aabfd8a1d2e5324391a785213d8e5eb238aa90') + +prepare() { + chmod +x "${srcdir}/${pkgname}-${pkgver}.AppImage" + cd "${srcdir}" + ./"${pkgname}-${pkgver}.AppImage" --appimage-extract +} + +build() { + sed -i "s|Exec=AppRun|Exec=${pkgname%-appimage}|" "${srcdir}/squashfs-root/eezstudio.desktop" + pip install --target="${srcdir}/pydeps" -r "${srcdir}/requirements.txt" +} + +package() { + # Create the application directory + mkdir -p "${pkgdir}/opt/${pkgname}" + + # Copy extracted AppImage contents to /opt/${pkgname} + # The trailing dot in the source path ensures hidden files are copied + cp -a "${srcdir}/squashfs-root/." "${pkgdir}/opt/${pkgname}/" + + # Copy Python dependencies to /opt/${pkgname} + cp -a "${srcdir}/pydeps/"* "${pkgdir}/opt/${pkgname}/" + + # Ensure all files in /opt/${pkgname} have correct permissions + chmod -R 755 "${pkgdir}/opt/${pkgname}" + + # Install desktop file + install -Dm644 "${srcdir}/squashfs-root/eezstudio.desktop" "${pkgdir}/usr/share/applications/${pkgname%-appimage}.desktop" + + # Install icon + install -Dm644 "${srcdir}/squashfs-root/eezstudio.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/${pkgname%-appimage}.png" + + # Create symlink for executable + mkdir -p "${pkgdir}/usr/bin" + install -Dm755 "/dev/stdin" "${pkgdir}/usr/bin/${pkgname%-appimage}" <