Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] mattermost-desktop: use system provided electron
@ 2020-08-17 16:52 Johnnynator
  2020-08-17 16:56 ` [PR REVIEW] " ericonr
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Johnnynator @ 2020-08-17 16:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 381 bytes --]

There is a new pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages mattermost-desktop
https://github.com/void-linux/void-packages/pull/24332

mattermost-desktop: use system provided electron
@ashpooljh Can you test this?

A patch file from https://github.com/void-linux/void-packages/pull/24332.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mattermost-desktop-24332.patch --]
[-- Type: text/x-diff, Size: 4343 bytes --]

From 7e41cf43d18a48054041facf944c4792cb4ddc74 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 17 Aug 2020 18:47:51 +0200
Subject: [PATCH] mattermost-desktop: use system provided electron

---
 .../files/mattermost-desktop.sh               |  2 +
 .../patches/20-create-desktop-file.patch      |  4 +-
 srcpkgs/mattermost-desktop/template           | 46 +++++++++++++++----
 3 files changed, 42 insertions(+), 10 deletions(-)
 create mode 100644 srcpkgs/mattermost-desktop/files/mattermost-desktop.sh

diff --git a/srcpkgs/mattermost-desktop/files/mattermost-desktop.sh b/srcpkgs/mattermost-desktop/files/mattermost-desktop.sh
new file mode 100644
index 00000000000..a9e09a37a86
--- /dev/null
+++ b/srcpkgs/mattermost-desktop/files/mattermost-desktop.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec electron7 /usr/libexec/mattermost-desktop/app.asar --disable-dev-mode "$@"
diff --git a/srcpkgs/mattermost-desktop/patches/20-create-desktop-file.patch b/srcpkgs/mattermost-desktop/patches/20-create-desktop-file.patch
index 8cb468d77b9..c83d76f5415 100644
--- a/srcpkgs/mattermost-desktop/patches/20-create-desktop-file.patch
+++ b/srcpkgs/mattermost-desktop/patches/20-create-desktop-file.patch
@@ -10,8 +10,8 @@
 +[Desktop Entry]
 +Name=Mattermost
 +Comment=Mattermost Desktop application for Linux
-+Exec=/usr/bin/mattermost-desktop/mattermost-desktop
++Exec=/usr/bin/mattermost-desktop
 +Terminal=false
 +Type=Application
-+Icon=/usr/libexec/mattermost-desktop/icon.svg
++Icon=mattermost-desktop
 +Categories=Network;InstantMessaging;
diff --git a/srcpkgs/mattermost-desktop/template b/srcpkgs/mattermost-desktop/template
index 9bb3d8dc95f..a5d1f213d57 100644
--- a/srcpkgs/mattermost-desktop/template
+++ b/srcpkgs/mattermost-desktop/template
@@ -2,11 +2,12 @@
 pkgname=mattermost-desktop
 version=4.5.2
 revision=1
-archs="x86_64 i686"
 wrksrc="desktop-${version}"
+archs="x86_64* i686*"
 # electron-builder needs GNU tar
-hostmakedepends="git nodejs-lts-10 python libicns GraphicsMagick xz tar"
-makedepends="libnotify-devel"
+hostmakedepends="git jq nodejs-lts-10 python libicns GraphicsMagick xz tar"
+makedepends="libnotify-devel electron7"
+depends="electron7"
 short_desc="Team messaging app, an open source Slack alternative"
 maintainer="Artem Zhurikhin <ashpool@xecut.net>"
 license="Apache-2.0"
@@ -14,6 +15,35 @@ homepage="https://mattermost.com/"
 distfiles="https://github.com/mattermost/desktop/archive/v${version}.tar.gz"
 checksum=17e32346592d175f091a4f12068e0cfc5cfd20ed7894f88bb5b54b2eb6eac74a
 
+if [ "$XBPS_LIBC" = "musl" ]; then
+	hostmakedepends+=" gcompat" #XXX: ugly af
+	# Npm just fetches a 7za binary that is lined against glibc
+	# refuses to use the system one
+fi
+
+do_configure() {
+	if [ "${XBPS_TARGET_MACHINE#-musl}" = x86_64 ];then
+		sed -i 's/--ia32//g' package.json
+	elif [ "${XBPS_TARGET_MACHINE#-musl}" = i686 ];then
+		sed -i 's/--x64//g' package.json
+	fi
+
+	# Do not build tar.gz, nor .deb or appimages. This reduces build time.
+	jq '.linux .target |= ["dir"]' \
+		electron-builder.json > electron-builder-new.json
+	# jq cannot output to the same file it get input from.
+	mv electron-builder-new.json electron-builder.json
+
+	# Prepend to system electron in order to avoid an unneeded download.
+	local electronDist="/usr/lib/electron7"
+	local electronVersion="$(<"$electronDist"/version)"
+	jq '{"electronDist": $electronDist, "electronVersion": $electronVersion} + .' \
+		--arg electronDist "$electronDist" \
+		--arg electronVersion "$electronVersion" \
+		electron-builder.json > electron-builder-new.json
+	mv electron-builder-new.json electron-builder.json
+}
+
 pre_build() {
 	npm install
 }
@@ -25,12 +55,12 @@ do_build() {
 
 do_install() {
 	case $XBPS_TARGET_MACHINE in
-		x86_64)	cd release/linux-unpacked ;;
-		i686)	cd release/linux-ia32-unpacked ;;
+		x86_64*)	cd release/linux-unpacked ;;
+		i686*)		cd release/linux-ia32-unpacked ;;
 	esac
 	vmkdir usr/libexec/${pkgname}
-	vcopy . usr/libexec/${pkgname}
+	vinstall resources/app.asar 644 usr/libexec/${pkgname}
 	vinstall Mattermost.desktop 644 usr/share/applications
-	vmkdir usr/bin
-	ln -s ../libexec/mattermost-desktop ${DESTDIR}/usr/bin/mattermost-desktop
+	vinstall icon.svg 644 usr/share/icons/hicolor/scalable/apps mattermost-desktop.svg
+	vbin ${FILESDIR}/mattermost-desktop.sh mattermost-desktop
 }

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-08-27 18:15 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-17 16:52 [PR PATCH] mattermost-desktop: use system provided electron Johnnynator
2020-08-17 16:56 ` [PR REVIEW] " ericonr
2020-08-17 16:57 ` [PR PATCH] [Updated] " Johnnynator
2020-08-17 17:02 ` [PR REVIEW] " ericonr
2020-08-17 17:02 ` ericonr
2020-08-17 17:04 ` Johnnynator
2020-08-17 17:04 ` Johnnynator
2020-08-17 18:35 ` ericonr
2020-08-17 19:55 ` [PR PATCH] [Updated] " Johnnynator
2020-08-17 23:27 ` [PR REVIEW] " fosslinux
2020-08-27 18:15 ` [PR PATCH] [Merged]: " Johnnynator

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).