From 893d791e05d36d7f995ff4afde21af5af81dfc42 Mon Sep 17 00:00:00 2001 From: Alessandro Mauri Date: Fri, 19 Jan 2024 16:14:59 +0100 Subject: [PATCH] Try packaging manually --- AppRun | 20 +++++++++++ Floorp.desktop | 8 +++++ package.sh | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 AppRun create mode 100644 Floorp.desktop create mode 100755 package.sh diff --git a/AppRun b/AppRun new file mode 100644 index 0000000..fd16445 --- /dev/null +++ b/AppRun @@ -0,0 +1,20 @@ +#!/bin/sh -e + +# Firefox specific environment variables +# https://github.com/AppImage/pkg2appimage/commit/c9b09eb557b6b0b4d914ecb82998148f38880d1d +export SNAP_NAME="floorp" +export MOZ_LEGACY_PROFILES=1 + +# Find the AppDir. It is the directory that contains AppRun. +# This assumes that this script resides inside the AppDir or a subdirectory. +# If this script is run inside an AppImage, then the AppImage runtime likely has already set $APPDIR +if [ -z "$APPDIR" ] ; then + HERE="$(dirname "$(readlink -f "${0}")")" + export APPDIR="$HERE" +fi + +export PATH="$APPDIR/usr/bin:$PATH" +export XDG_DATA_DIRS="$APPDIR/share/:$XDG_DATA_DIRS" +export LD_LIBRARY_PATH="$APPDIR/usr/lib:$LD_LIBRARY_PATH" + +exec "$APPDIR/usr/bin/floorp" diff --git a/Floorp.desktop b/Floorp.desktop new file mode 100644 index 0000000..a54af38 --- /dev/null +++ b/Floorp.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Floorp +Icon=floorp +Exec=floorp %u +Categories=GNOME;GTK;Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall; +StartupNotify=true diff --git a/package.sh b/package.sh new file mode 100755 index 0000000..89986b9 --- /dev/null +++ b/package.sh @@ -0,0 +1,98 @@ +#!/bin/sh + +VERSION="11.8.1" +LINK="https://github.com/Floorp-Projects/Floorp/releases/download/v$VERSION/floorp-$VERSION.linux-x86_64.tar.bz2" + +APPDIR="Floorp.Appdir" + +mkdir -p build +cd build || exit + +echo '===# Creating AppDir #===' +rm -rf "$APPDIR" +mkdir -p "$APPDIR" + +echo '===# Donwloading Archive #===' +wget -nc $LINK +rm -f floorp +tar xf floorp*.tar.bz2 + +echo '===# Copying Files to AppDir #===' +# AppRun +cp ../AppRun "$APPDIR" +chmod a+x "$APPDIR"/AppRun + +# Desktop Entry +cp ../Floorp.desktop "$APPDIR" + +# AppImage Icons +find floorp -name default128.png -exec cp {} "$APPDIR"/floorp.png ';' +ln -srfv "$APPDIR"/floorp.png "$APPDIR"/.DirIcon + +# Other Icons +mkdir -p "$APPDIR"usr/share/icons/hicolor/16x16/apps +mkdir -p "$APPDIR"usr/share/icons/hicolor/32x32/apps +mkdir -p "$APPDIR"usr/share/icons/hicolor/48x48/apps +mkdir -p "$APPDIR"usr/share/icons/hicolor/64x64/apps +mkdir -p "$APPDIR"usr/share/icons/hicolor/128x128/apps + +find floorp -name default16.png -exec cp {} "$APPDIR"/usr/share/icons/hicolor/16x16/apps/floorp.png ';' +find floorp -name default32.png -exec cp {} "$APPDIR"/usr/share/icons/hicolor/32x32/apps/floorp.png ';' +find floorp -name default48.png -exec cp {} "$APPDIR"/usr/share/icons/hicolor/48x48/apps/floorp.png ';' +find floorp -name default64.png -exec cp {} "$APPDIR"/usr/share/icons/hicolor/64x64/apps/floorp.png ';' +find floorp -name default128.png -exec cp {} "$APPDIR"/usr/share/icons/hicolor/128x128/apps/floorp.png ';' + +# Binaries +mkdir -p "$APPDIR"/usr/share +mkdir -p "$APPDIR"/usr/bin +mkdir -p "$APPDIR"/usr/lib + +cp floorp/floorp "$APPDIR"/usr/bin +cp floorp/glxtest "$APPDIR"/usr/bin +cp floorp/pingsender "$APPDIR"/usr/bin +cp floorp/plugin-container "$APPDIR"/usr/bin +cp floorp/updater "$APPDIR"/usr/bin +cp floorp/vaapitest "$APPDIR"/usr/bin +# Link instead of wrapper +ln -srfv "$APPDIR"/usr/bin/floorp "$APPDIR"/usr/bin/floorp-bin + +# Libraries +cp floorp/libfreeblpriv3.so "$APPDIR"/usr/lib +cp floorp/libipcclientcerts.so "$APPDIR"/usr/lib +cp floorp/liblgpllibs.so "$APPDIR"/usr/lib +cp floorp/libmozavcodec.so "$APPDIR"/usr/lib +cp floorp/libmozavutil.so "$APPDIR"/usr/lib +cp floorp/libmozgtk.so "$APPDIR"/usr/lib +cp floorp/libmozsandbox.so "$APPDIR"/usr/lib +cp floorp/libmozsqlite3.so "$APPDIR"/usr/lib +cp floorp/libmozwayland.so "$APPDIR"/usr/lib +cp floorp/libnspr4.so "$APPDIR"/usr/lib +cp floorp/libnss3.so "$APPDIR"/usr/lib +cp floorp/libnssckbi.so "$APPDIR"/usr/lib +cp floorp/libnssutil3.so "$APPDIR"/usr/lib +cp floorp/libplc4.so "$APPDIR"/usr/lib +cp floorp/libplds4.so "$APPDIR"/usr/lib +cp floorp/libsmime3.so "$APPDIR"/usr/lib +cp floorp/libsoftokn3.so "$APPDIR"/usr/lib +cp floorp/libssl3.so "$APPDIR"/usr/lib +cp floorp/libxul.so "$APPDIR"/usr/lib + +# Bits and Bobs +cp floorp/omni.ja "$APPDIR" +cp floorp/platform.ini "$APPDIR" +cp floorp/update-settings.ini "$APPDIR" +cp floorp/updater.ini "$APPDIR" +cp -r floorp/browser/ "$APPDIR" +cp -r floorp/defaults/ "$APPDIR" +cp -r floorp/fonts/ "$APPDIR" +cp -r floorp/gmp-clearkey/ "$APPDIR" +cp -r floorp/icons/ "$APPDIR" + + +echo '===# Getting Appimagetool #===' +wget -nc "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-$(uname -m).AppImage" -O appimagetool +chmod +x appimagetool + +echo '===# Generating AppImage #===' +./appimagetool --no-appstream --comp gzip "$APPDIR" "Floorp-$VERSION-x86_64.AppImage" +chmod +x "Floorp-$VERSION-x86_64.AppImage"