Github messages for voidlinux
 help / color / mirror / Atom feed
From: Johnnynator <Johnnynator@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] mattermost-desktop: use system provided electron
Date: Mon, 17 Aug 2020 21:55:40 +0200	[thread overview]
Message-ID: <20200817195540.h_Vs89Pg6xlcLYFy-hHV7Cm1l6Jm1D1_DjNik-sGK3o@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-24332@inbox.vuxu.org>

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

There is an updated 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: 4459 bytes --]

From 3c1768fb31aaee5e47c7f43295fdae65f229c79d 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           | 48 +++++++++++++++----
 3 files changed, 43 insertions(+), 11 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..3fd21ea9e31 100644
--- a/srcpkgs/mattermost-desktop/template
+++ b/srcpkgs/mattermost-desktop/template
@@ -1,36 +1,66 @@
 # Template file for 'mattermost-desktop'
 pkgname=mattermost-desktop
 version=4.5.2
-revision=1
-archs="x86_64 i686"
+revision=2
+archs="x86_64* i686*"
 wrksrc="desktop-${version}"
 # electron-builder needs GNU tar
-hostmakedepends="git nodejs-lts-10 python libicns GraphicsMagick xz tar"
-makedepends="libnotify-devel"
+hostmakedepends="git p7zip 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"
 homepage="https://mattermost.com/"
 distfiles="https://github.com/mattermost/desktop/archive/v${version}.tar.gz"
 checksum=17e32346592d175f091a4f12068e0cfc5cfd20ed7894f88bb5b54b2eb6eac74a
+nocross=yes
+
+if [ "$XBPS_LIBC" = "musl" ]; then
+	hostmakedepends+=" gcompat" #XXX: ugly af
+	# Npm fetches a bunch of binaries that are lined against glibc
+	# refuses to use the system one
+	# this also kinda limits the amount of support host archs for the build
+	# can partly fixed by adding some host deps so these tools can be built
+	# from source. In short npm packages are a busted mess that shouldn't exist
+fi
+
+do_configure() {
+	case "${XBPS_TARGET_MACHINE#-musl}" in
+		x86_64*) sed -i 's/--ia32//g' package.json ;;
+		i686*) sed -i 's/--x64//g' package.json ;;
+	esac
+
+	# 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() {
+	# XXX: Should probably be done in some kind of npm helper
+	export USE_SYSTEM_7ZA="true"
 	npm install
 }
 
 do_build() {
+	export USE_SYSTEM_7ZA="true"
 	npm run build
 	npm run package:linux
 }
 
 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
 }

  parent reply	other threads:[~2020-08-17 19:55 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17 16:52 [PR PATCH] " 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 ` Johnnynator [this message]
2020-08-17 23:27 ` fosslinux
2020-08-27 18:15 ` [PR PATCH] [Merged]: " Johnnynator

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200817195540.h_Vs89Pg6xlcLYFy-hHV7Cm1l6Jm1D1_DjNik-sGK3o@z \
    --to=johnnynator@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).