summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Peukert2020-02-16 12:52:49 +0100
committerDaniel Peukert2020-02-16 12:52:49 +0100
commit848559e13fde49a0378d5fd43b9690fe84cf86a3 (patch)
tree624581b8a98b35a18fa8e5919e72c7bcbb1db535
parent56b989edcadc4c0e1be09cdb2bfc00f873587841 (diff)
downloadaur-848559e13fde49a0378d5fd43b9690fe84cf86a3.tar.gz
Updated ferdi to 5.4.3
-rw-r--r--.SRCINFO29
-rw-r--r--.editorconfig8
-rw-r--r--.gitignore14
-rw-r--r--PKGBUILD145
-rw-r--r--ferdi.desktop12
-rw-r--r--ferdi.sh2
6 files changed, 117 insertions, 93 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3b366d873931..996eede25932 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,27 +1,24 @@
pkgbase = ferdi
- pkgdesc = Ferdi is a messaging browser that allows you to combine your favorite messaging services into one application.
- pkgver = 5.4.1_beta.4
+ pkgdesc = A messaging browser that allows you to combine your favorite messaging services into one application
+ pkgver = 5.4.3
pkgrel = 1
- url = https://getferdi.com/
+ url = https://getferdi.com
arch = x86_64
arch = i686
+ arch = armv7h
+ arch = aarch64
license = Apache
- makedepends = expac
- makedepends = git
makedepends = npm
- makedepends = python2
depends = electron
- conflicts = ferdi-git
- source = git+https://github.com/getferdi/ferdi#tag=v5.4.1-beta.4
- source = git+https://github.com/getferdi/recipes#commit=ecf037c
- source = git+https://github.com/getferdi/internal-server#commit=cca6cd9
+ source = ferdi-5.4.3-1.tar.gz::https://github.com/getferdi/ferdi/archive/v5.4.3.tar.gz
+ source = ferdi-5.4.3-1-recipes.tar.gz::https://github.com/getferdi/recipes/archive/f6da5d54280e5156c46c295ad48d6cdcd5e10bb8.zip
+ source = ferdi-5.4.3-1-internal-server.tar.gz::https://github.com/getferdi/internal-server/archive/24c8ea3aad5b828297686a032103d2cc4eabc373.zip
source = ferdi.desktop
source = ferdi.sh
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
+ sha256sums = 5b76514a103a46c9c3c578a474de28b9d5ba4140122cd0950cfe02b9b8e2c84f
+ sha256sums = 3524ac90ec0087af47bbdeb4de666d5eb0e8e6558e719cbf34f6737669a8d184
+ sha256sums = 48e60f9cf26da82e3836b782ffb9718018f041dadfa25abb3f9825a514326e9b
+ sha256sums = 5013233fc508f16b6782efa72da2ac242996f8555b3135aa0d2d98029c2bbc53
+ sha256sums = 3a21a67cc821892f9ae1b53b9108ec1859aa42b301fa6523c6c7accf6bc2a6c5
pkgname = ferdi
-
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 000000000000..a467ee9a97a6
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,8 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = tab
+tab_width = 4
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..82b3c183d5d4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,14 @@
+# from https://github.com/github/gitignore/blob/master/ArchLinuxPackages.gitignore
+*.tar
+*.tar.*
+*.rpm
+*.jar
+*.exe
+*.msi
+*.zip
+*.tgz
+*.log
+*.log.*
+*.sig
+
+*/
diff --git a/PKGBUILD b/PKGBUILD
index f213e104294d..e98773c41db1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,90 +1,97 @@
-# Maintainer: Christoph Mohr <christoph.mohr@gmail.com>
-# Contributor: Giovanni 'ItachiSan' Santini <giovannisantini93@yahoo.it>
+# Maintainer: Daniel Peukert <dan.peukert@gmail.com>
+# Contributor: Christoph Mohr <christoph.mohr@gmail.com>
+# Contributor: Giovanni 'ItachiSan' Santini <giovannisantini93@yahoo.it>
# Contributor: Filipe LaĆ­ns (FFY00) <lains@archlinux.org>
# Contributor: Pieter Goetschalckx <3.14.e.ter <at> gmail <dot> com>
-
-pkgname=ferdi
-_pkgver="5.4.1-beta.4"
-# use beta because of electron 7 compatibility
-pkgver=${_pkgver//-/_}
-pkgrel=1
-pkgdesc='Ferdi is a messaging browser that allows you to combine your favorite messaging services into one application.'
-arch=(x86_64 i686)
-url='https://getferdi.com/'
-license=(Apache)
-depends=(electron)
-conflicts=('ferdi-git')
-makedepends=(expac git npm python2)
-_recipes=ecf037c
-_server=cca6cd9
-source=("git+https://github.com/getferdi/$pkgname#tag=v$_pkgver"
- "git+https://github.com/getferdi/recipes#commit=${_recipes}"
- "git+https://github.com/getferdi/internal-server#commit=${_server}"
- 'ferdi.desktop'
- 'ferdi.sh')
-sha512sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP')
+pkgname='ferdi'
+pkgver='5.4.3'
+_recipescommit='f6da5d54280e5156c46c295ad48d6cdcd5e10bb8'
+_internalservercommit='24c8ea3aad5b828297686a032103d2cc4eabc373'
+pkgrel='1'
+pkgdesc='A messaging browser that allows you to combine your favorite messaging services into one application'
+arch=('x86_64' 'i686' 'armv7h' 'aarch64')
+url="https://get$pkgname.com"
+license=('Apache')
+depends=('electron')
+makedepends=('npm')
+source=(
+ "$pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/get$pkgname/$pkgname/archive/v$pkgver.tar.gz"
+ "$pkgname-$pkgver-$pkgrel-recipes.tar.gz::https://github.com/get$pkgname/recipes/archive/$_recipescommit.zip"
+ "$pkgname-$pkgver-$pkgrel-internal-server.tar.gz::https://github.com/get$pkgname/internal-server/archive/$_internalservercommit.zip"
+ "$pkgname.desktop"
+ "$pkgname.sh"
+)
+sha256sums=('5b76514a103a46c9c3c578a474de28b9d5ba4140122cd0950cfe02b9b8e2c84f'
+ '3524ac90ec0087af47bbdeb4de666d5eb0e8e6558e719cbf34f6737669a8d184'
+ '48e60f9cf26da82e3836b782ffb9718018f041dadfa25abb3f9825a514326e9b'
+ '5013233fc508f16b6782efa72da2ac242996f8555b3135aa0d2d98029c2bbc53'
+ '3a21a67cc821892f9ae1b53b9108ec1859aa42b301fa6523c6c7accf6bc2a6c5')
+
+case "$CARCH" in
+ i686)
+ _electronbuilderarch='ia32'
+ ;;
+ armv7h)
+ _electronbuilderarch='armv7l'
+ ;;
+ aarch64)
+ _electronbuilderarch='arm64'
+ ;;
+ *)
+ _electronbuilderarch='x64'
+ ;;
+esac
+
+_sourcedirectory="$pkgname-$pkgver"
prepare() {
- # Prepare Python 2 for later
- mkdir python2_path
- ln -s `which python2` python2_path/python
-
- cd ferdi
- git submodule init
- git config submodule.recipes.url $srcdir/recipes
- git config submodule.src/internal-server.url $srcdir/internal-server
+ cd "$srcdir/$_sourcedirectory/"
- git submodule update --init --recursive
+ # Provide git submodules
+ rm -rf 'recipes/' 'src/internal-server/'
+ mv "../recipes-$_recipescommit/" 'recipes/'
+ mv "../internal-server-$_internalservercommit/" 'src/internal-server/'
- # Prevent ferdi from being launched in dev mode
- sed -i "s|export const isDevMode = .*|export const isDevMode = false;|g" \
- src/environment.js
- sed -i "s|import isDevMode from 'electron-is-dev'|export const isDevMode = false|g" \
- src/index.js
+ # Set system Electron version for ABI compatibility
+ sed -E -i -e 's|("electron": ").*"|\1'"$(cat /usr/lib/electron/version)"'"|' 'package.json'
- # Adjust the electron version to use when building
- electron_version="`expac %v electron | cut -d'-' -f1`"
- sed -i "s|\(\s\+\"electron\":\).*,|\1 \"$electron_version\",|" package.json
+ # Prevent Ferdi from being launched in dev mode
+ sed -i 's|export const isDevMode = .*|export const isDevMode = false;|g' 'src/environment.js'
+ sed -i "s|import isDevMode from 'electron-is-dev'|export const isDevMode = false|g" 'src/index.js'
- # Better configuration for npm cache and calling installed binaries
- export npm_config_cache="$srcdir"/npm_cache
- export PATH="$srcdir/$pkgname/node_modules/.bin:$srcdir/python2_path:$PATH"
+ # Prepare dependencies
+ export HOME="$srcdir/$pkgname-$pkgver-$pkgrel-home"
+ export XDG_CACHE_HOME="$srcdir/$pkgname-$pkgver-$pkgrel-cache"
+ export npm_config_devdir="$srcdir/$pkgname-$pkgver-$pkgrel-npm-dev"
+ export npm_config_cache="$srcdir/$pkgname-$pkgver-$pkgrel-npm-cache"
- # Adjust node-sass version to avoid build issues
- npm install "node-sass@4.13.0"
-
- # Prepare the packages for building
- npm install lerna
- lerna bootstrap
+ npx lerna bootstrap
}
build() {
- cd ferdi
+ cd "$srcdir/$_sourcedirectory/"
- # Better configuration for npm cache and calling installed binaries
- export npm_config_cache="$srcdir"/npm_cache
- export PATH="$srcdir/ferdi/node_modules/.bin:$srcdir/python2_path:$PATH"
+ export NODE_ENV='production'
+ export HOME="$srcdir/$pkgname-$pkgver-$pkgrel-home"
+ export XDG_CACHE_HOME="$srcdir/$pkgname-$pkgver-$pkgrel-cache"
+ export npm_config_devdir="$srcdir/$pkgname-$pkgver-$pkgrel-npm-dev"
+ export npm_config_cache="$srcdir/$pkgname-$pkgver-$pkgrel-npm-cache"
- gulp build
- electron-builder --linux dir
+ npx gulp build
+ npx electron-builder --linux dir "--$_electronbuilderarch" -c.electronDist='/usr/lib/electron' -c.electronVersion="$(cat /usr/lib/electron/version)"
}
package() {
- cd ferdi
+ cd "$srcdir/$_sourcedirectory/"
- # Install the .asar files
- install -dm 755 "$pkgdir"/usr/lib/ferdi
- cp -r --no-preserve=ownership --preserve=mode out/linux-unpacked/resources "$pkgdir"/usr/lib/ferdi/
+ install -Dm644 'out/linux-unpacked/resources/app.asar' "$pkgdir/usr/lib/$pkgname/app.asar"
+ install -dm755 "$pkgdir/usr/lib/$pkgname/resources/app.asar.unpacked/"
+ cp -r --no-preserve=ownership --preserve=mode 'out/linux-unpacked/resources/app.asar.unpacked/recipes/' "$pkgdir/usr/lib/$pkgname/resources/app.asar.unpacked/recipes/"
- # Install icon
- install -Dm 644 "$srcdir"/ferdi.desktop "$pkgdir"/usr/share/applications/ferdi.desktop
- install -Dm 644 build-helpers/images/icon.png "$pkgdir"/usr/share/icons/ferdi.png
+ install -Dm755 "../$pkgname.sh" "$pkgdir/usr/bin/ferdi"
- # Install run script
- install -Dm 755 "$srcdir"/ferdi.sh "$pkgdir"/usr/bin/ferdi
+ install -Dm644 "../$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
+ for _size in 16 24 32 48 64 96 128 256 512 1024; do
+ install -Dm644 "build-helpers/images/icons/${_size}x${_size}.png" "$pkgdir/usr/share/icons/hicolor/${_size}x${_size}/apps/$pkgname.png"
+ done
}
-
diff --git a/ferdi.desktop b/ferdi.desktop
index 3ef3369928d7..03827b62c5b3 100644
--- a/ferdi.desktop
+++ b/ferdi.desktop
@@ -1,12 +1,10 @@
[Desktop Entry]
-Type=Application
-Version=5.4.1
Name=Ferdi
-GenericName=Internet Messenger
-Comment=A free messaging app for services like WhatsApp, Slack, Messenger and many more.
-Icon=ferdi
-TryExec=/usr/bin/ferdi
Exec=/usr/bin/ferdi %U
Terminal=false
+Type=Application
+Icon=ferdi
+StartupWMClass=Ferdi
+Comment=Ferdi is your messaging app / former Emperor of Austria and combines chat & messaging services into one application. Ferdi currently supports Slack, WhatsApp, WeChat, HipChat, Facebook Messenger, Telegram, Google Hangouts, GroupMe, Skype and many more. You can download Ferdi for free for Mac & Windows.
+MimeType=x-scheme-handler/ferdi;
Categories=Network;InstantMessaging;
-Name[de_DE]=Ferdi
diff --git a/ferdi.sh b/ferdi.sh
index 1e01e7298c55..72320288d665 100644
--- a/ferdi.sh
+++ b/ferdi.sh
@@ -1,3 +1,3 @@
#!/bin/sh
-electron /usr/lib/ferdi/resources/app.asar "$@"
+exec electron '/usr/lib/ferdi/app.asar' "$@"