Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WIP] atom: update to 1.41.0.
@ 2019-11-05 17:32 voidlinux-github
  2019-11-08 21:23 ` [PR PATCH] [Updated] " voidlinux-github
  2019-11-08 21:24 ` voidlinux-github
  0 siblings, 2 replies; 3+ messages in thread
From: voidlinux-github @ 2019-11-05 17:32 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages atom
https://github.com/void-linux/void-packages/pull/16150

[WIP] atom: update to 1.41.0.
I almost managed to update _Atom_. I get such an [error](http://dpaste.com/1VEGFKR), what should I do?
_Q_: Why did I use `nodejs-lts` version _10.x.x_?
_A_: _Atom_ wants to use leveldown version _4.0.2_, but starting with `nodejs` _12.x.x_, the [minimum version of `leveldown` is _5.0.0_](https://www.npmjs.com/package/leveldown#supported-platforms).
Also I do not want to be an accompanying `nodejs-lts-10`. These patches were taken from `nodejs-lts`. So, if need to create patches, then I can not check them. I'm a newbie, I’m unlikely to create them at all.
- `nodejs-lts-10` successfully compiled on _x86_64_.

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

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

From 0d6e18e14dba175de31dcae847b4546d62ea4c1c Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Tue, 5 Nov 2019 20:07:50 +0300
Subject: [PATCH 1/2] New package: nodejs-lts-10-10.17.0 [ci skip]

---
 srcpkgs/nodejs-lts-10-devel               |  1 +
 srcpkgs/nodejs-lts-10/patches/ppc32.patch | 43 ++++++++++
 srcpkgs/nodejs-lts-10/patches/ppc64.patch | 41 ++++++++++
 srcpkgs/nodejs-lts-10/template            | 95 +++++++++++++++++++++++
 4 files changed, 180 insertions(+)
 create mode 120000 srcpkgs/nodejs-lts-10-devel
 create mode 100644 srcpkgs/nodejs-lts-10/patches/ppc32.patch
 create mode 100644 srcpkgs/nodejs-lts-10/patches/ppc64.patch
 create mode 100644 srcpkgs/nodejs-lts-10/template

diff --git a/srcpkgs/nodejs-lts-10-devel b/srcpkgs/nodejs-lts-10-devel
new file mode 120000
index 00000000000..2591e8fa650
--- /dev/null
+++ b/srcpkgs/nodejs-lts-10-devel
@@ -0,0 +1 @@
+nodejs-lts-10
\ No newline at end of file
diff --git a/srcpkgs/nodejs-lts-10/patches/ppc32.patch b/srcpkgs/nodejs-lts-10/patches/ppc32.patch
new file mode 100644
index 00000000000..343eff58512
--- /dev/null
+++ b/srcpkgs/nodejs-lts-10/patches/ppc32.patch
@@ -0,0 +1,43 @@
+--- configure.py
++++ configure.py
+@@ -848,7 +848,7 @@ def host_arch_cc():
+     '__MIPSEL__'  : 'mipsel',
+     '__mips__'    : 'mips',
+     '__PPC64__'   : 'ppc64',
+-    '__PPC__'     : 'ppc64',
++    '__PPC__'     : 'ppc',
+     '__x86_64__'  : 'x64',
+     '__s390__'    : 's390',
+     '__s390x__'   : 's390x',
+--- node.gyp
++++ node.gyp
+@@ -479,6 +479,11 @@
+       'msvs_disabled_warnings!': [4244],
+ 
+       'conditions': [
++        [ 'host_arch=="mips" or host_arch=="mipsel" or host_arch=="ppc"', {
++	  'link_settings': {
++	    'libraries': [ '-latomic' ],
++	  },
++	}],
+         [ 'node_code_cache_path!=""', {
+           'sources': [ '<(node_code_cache_path)' ]
+         }, {
+--- deps/v8/src/libsampler/sampler.cc
++++ deps/v8/src/libsampler/sampler.cc
+@@ -418,9 +418,15 @@ void SignalHandler::FillRegisterState(void* context, RegisterState* state) {
+       reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R31]);
+ #else
+   // Some C libraries, notably Musl, define the regs member as a void pointer
++  #if !V8_TARGET_ARCH_32_BIT
+   state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[32]);
+   state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[1]);
+   state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[31]);
++  #else
++  state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[32]);
++  state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[1]);
++  state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[31]);
++  #endif
+ #endif
+ #elif V8_HOST_ARCH_S390
+ #if V8_TARGET_ARCH_32_BIT
diff --git a/srcpkgs/nodejs-lts-10/patches/ppc64.patch b/srcpkgs/nodejs-lts-10/patches/ppc64.patch
new file mode 100644
index 00000000000..8190db1ce6f
--- /dev/null
+++ b/srcpkgs/nodejs-lts-10/patches/ppc64.patch
@@ -0,0 +1,41 @@
+Taken from Adélie Linux, fixes node on big endian ELFv2.
+--- deps/v8/src/ppc/assembler-ppc.h.old 2019-03-05 15:16:29.000000000 +0000
++++ deps/v8/src/ppc/assembler-ppc.h     2019-04-02 07:05:25.977213735 +0000
+@@ -48,7 +48,8 @@
+ #include "src/ppc/constants-ppc.h"
+ 
+ #if V8_HOST_ARCH_PPC && \
+-    (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN))
++    (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && \
++      (V8_TARGET_BIG_ENDIAN && (!defined(_CALL_ELF) || _CALL_ELF == 1))))
+ #define ABI_USES_FUNCTION_DESCRIPTORS 1
+ #else
+ #define ABI_USES_FUNCTION_DESCRIPTORS 0
+@@ -60,13 +61,15 @@
+ #define ABI_PASSES_HANDLES_IN_REGS 0
+ #endif
+ 
+-#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN
++#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \
++    (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))
+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
+ #else
+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0
+ #endif
+ 
+-#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN)
++#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && \
++    (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)))
+ #define ABI_CALL_VIA_IP 1
+ #else
+ #define ABI_CALL_VIA_IP 0
+@@ -220,7 +220,8 @@
+ // The following constants describe the stack frame linkage area as
+ // defined by the ABI.  Note that kNumRequiredStackFrameSlots must
+ // satisfy alignment requirements (rounding up if required).
+-#if V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN
++#if V8_TARGET_ARCH_PPC64 && (V8_TARGET_LITTLE_ENDIAN || \
++    defined(_CALL_ELF) && _CALL_ELF == 2)
+ // [0] back chain
+ // [1] condition register save area
+ // [2] link register save area
diff --git a/srcpkgs/nodejs-lts-10/template b/srcpkgs/nodejs-lts-10/template
new file mode 100644
index 00000000000..3f201bcb586
--- /dev/null
+++ b/srcpkgs/nodejs-lts-10/template
@@ -0,0 +1,95 @@
+# Template file for 'nodejs-lts-10'
+pkgname=nodejs-lts-10
+version=10.17.0
+revision=1
+wrksrc="node-v${version}"
+hostmakedepends="pkg-config python zlib-devel $(vopt_if icu icu-devel)
+ $(vopt_if ssl libressl-devel) $(vopt_if libuv libuv-devel)
+ $(vopt_if http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel)
+ $(vopt_if cares c-ares-devel)"
+makedepends="zlib-devel python-devel $(vopt_if icu icu-devel)
+ $(vopt_if ssl libressl-devel) $(vopt_if libuv libuv-devel)
+ $(vopt_if http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel)
+ $(vopt_if cares c-ares-devel)"
+short_desc="Evented I/O for V8 javascript (Dubnium)"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://nodejs.org/"
+distfiles="${homepage}/download/release/latest-v10.x/node-v${version}.tar.xz"
+checksum=412667d76bd5273c07cb69c215998109fd5bb35c874654f93e6a0132d666c58e
+
+build_options="ssl libuv http_parser icu nghttp2 cares"
+desc_option_ssl="Enable shared libressl"
+desc_option_libuv="Enable shared libuv"
+desc_option_http_parser="Enable shared http-parser"
+desc_option_icu="Enable shared icu"
+desc_option_nghttp2="Enable shared nghttp2"
+desc_option_cares="Enable shared c-ares"
+build_options_default="libuv http_parser icu nghttp2 cares"
+
+replaces="iojs>=0"
+conflicts="nodejs nodejs-lts"
+provides="nodejs-runtime-0_1"
+
+if [ "$XBPS_WORDSIZE" -ne "$XBPS_TARGET_WORDSIZE" ]; then
+	nocross="host and target must have the same pointer size"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	mips*|ppc*) hostmakedepends+=" libatomic-devel" ;;
+	*) ;;
+esac
+
+do_configure() {
+	local _args
+
+	export LD="$CXX"
+	if [ "$CROSS_BUILD" ]; then
+		case "$XBPS_TARGET_MACHINE" in
+			arm*) _args="--dest-cpu=arm" ;;
+			aarch64*) _args="--dest-cpu=arm64" ;;
+			ppc64*) _args="--dest-cpu=ppc64" ;;
+			ppc*) _args="--dest-cpu=ppc" ;;
+			mipsel*) _args="--dest-cpu=mipsel" ;;
+			mips*) _args="--dest-cpu=mips" ;;
+			i686*) _args="--dest-cpu=x86" ;;
+			x86_64*) _args="--dest-cpu=x86_64" ;;
+			*) msg_error "$pkgver: cannot be cross compiled for ${XBPS_TARGET_MACHINE}.\n" ;;
+		esac
+		_args+=" --without-snapshot"
+	fi
+	# their pregenerated asm is for ELFv1...
+	case "$XBPS_TARGET_MACHINE" in
+		ppc64|ppc64-musl) _args+=" --openssl-no-asm" ;;
+	esac
+	./configure --prefix=/usr --shared-zlib \
+		$(vopt_if icu --with-intl=system-icu) \
+		$(vopt_if http_parser --shared-http-parser) \
+		$(vopt_if ssl --shared-openssl) \
+		$(vopt_if libuv --shared-libuv) \
+		$(vopt_if nghttp2 --shared-nghttp2) \
+		$(vopt_if cares --shared-cares) ${_args}
+}
+
+do_build() {
+	if [ "$CROSS_BUILD" ]; then
+		make LD="$CXX" LDFLAGS+=-ldl ${makejobs} PORTABLE=1 V=1
+	else
+		make LD="$CXX" LDFLAGS+=-ldl ${makejobs} V=1
+	fi
+}
+
+do_install() {
+	make LD="$CXX" LDFLAGS+=-ldl DESTDIR="$DESTDIR" install
+	rm $DESTDIR/usr/include/node/openssl -rf
+	vlicense LICENSE
+}
+
+nodejs-lts-10-devel_package() {
+	short_desc+=" (development files)"
+	conflicts="nodejs-devel nodejs-lts-devel"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 6f3ca336e6917ca144cfc211c58b6803d602483f Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Tue, 5 Nov 2019 20:07:57 +0300
Subject: [PATCH 2/2] atom: update to 1.41.0. [ci skip]

---
 srcpkgs/atom/patches/desktop.patch | 23 +++++++++++------------
 srcpkgs/atom/patches/icons.patch   | 17 +++++------------
 srcpkgs/atom/template              | 11 +++++++----
 3 files changed, 23 insertions(+), 28 deletions(-)

diff --git a/srcpkgs/atom/patches/desktop.patch b/srcpkgs/atom/patches/desktop.patch
index 2362854e847..2b8dc908f27 100644
--- a/srcpkgs/atom/patches/desktop.patch
+++ b/srcpkgs/atom/patches/desktop.patch
@@ -1,13 +1,12 @@
---- resources/linux/atom.desktop.in
-+++ resources/linux/atom.desktop.in
-@@ -2,8 +2,8 @@
- Name=<%= appName %>
- Comment=<%= description %>
- GenericName=Text Editor
--Exec=<%= installDir %>/bin/<%= appFileName %> %F
+--- a/resources/linux/atom.desktop.in	2019-11-04 13:25:58.043401517 +0300
++++ b/resources/linux/atom.desktop.in	2019-11-04 13:28:32.183204157 +0300
+@@ -2,2 +2,2 @@
+-Name=<%= appName %>
+-Comment=<%= description %>
++Name=Atom
++Comment=Chrome-based text editor from Github
+@@ -5,2 +5,2 @@ GenericName=Text Editor
+-Exec=env ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false <%= installDir %>/bin/<%= appFileName %> %F
 -Icon=<%= iconPath %>
-+Exec=/usr/bin/atom %F
-+Icon=/usr/share/atom/atom.png
- Type=Application
- StartupNotify=true
- Categories=GNOME;GTK;Utility;TextEditor;Development;
++Exec=env ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false /usr/bin/atom %F
++Icon=atom
diff --git a/srcpkgs/atom/patches/icons.patch b/srcpkgs/atom/patches/icons.patch
index ce9a00da05e..88a9eec0f14 100644
--- a/srcpkgs/atom/patches/icons.patch
+++ b/srcpkgs/atom/patches/icons.patch
@@ -1,12 +1,5 @@
---- script/lib/install-application.js
-+++ script/lib/install-application.js
-@@ -79,7 +79,8 @@ module.exports = function (packagedAppPath, installDir) {
-     install(installationDirPath, packagedAppFileName, packagedAppPath)
-
-     { // Install icons
--      const baseIconThemeDirPath = findBaseIconThemeDirPath()
-+      const baseIconThemeDirPath = path.join(prefixDirPath, 'share/icons/hicolor')
-+
-       const fullIconName = atomExecutableName + '.png'
-
-       let existingIconsFound = false
+--- a/script/lib/install-application.js	2019-11-04 22:40:40.249619511 +0300
++++ b/script/lib/install-application.js	2019-11-04 22:43:43.257197791 +0300
+@@ -103 +103 @@ module.exports = function(packagedAppPat
+-      const baseIconThemeDirPath = findBaseIconThemeDirPath();
++		  const baseIconThemeDirPath = path.join(prefixDirPath, 'share/icons/hicolor')
diff --git a/srcpkgs/atom/template b/srcpkgs/atom/template
index fb29de77854..b31abc69bee 100644
--- a/srcpkgs/atom/template
+++ b/srcpkgs/atom/template
@@ -1,16 +1,19 @@
 # Template file for 'atom'
 pkgname=atom
-version=1.33.1
+version=1.41.0
 revision=1
 archs="x86_64"
-hostmakedepends="git pkg-config python-devel nodejs curl gtk+3 libXtst libXScrnSaver nss python alsa-lib"
-makedepends="python-devel GConf-devel libgnome-keyring-devel gtk+3-devel libX11-devel libxkbfile-devel libsecret-devel"
+hostmakedepends="git pkg-config python-devel nodejs-lts-10 nodejs-lts-10-devel curl gtk+3
+ libXtst libXScrnSaver nss python alsa-lib"
+makedepends="python-devel GConf-devel libgnome-keyring-devel gtk+3-devel
+ libX11-devel libxkbfile-devel libsecret-devel"
 short_desc="Chrome-based text editor from Github"
 maintainer="Wilson Birney <wpb@360scada.com>"
 license="MIT"
 homepage="https://atom.io"
 distfiles="https://github.com/atom/atom/archive/v${version}.tar.gz"
-checksum=2b89ae78b637b7c39b419e011168a1ddf256bf442f56e0dff2b2e10c94a9af1d
+checksum=4a440909462c461cbec9b82b5f97bd21719a34f0ab59f2d859df85a40246c949
+patch_args="-Np1"
 nocross=yes
 nostrip=yes
 

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

* Re: [PR PATCH] [Updated] [WIP] atom: update to 1.41.0.
  2019-11-05 17:32 [PR PATCH] [WIP] atom: update to 1.41.0 voidlinux-github
@ 2019-11-08 21:23 ` voidlinux-github
  2019-11-08 21:24 ` voidlinux-github
  1 sibling, 0 replies; 3+ messages in thread
From: voidlinux-github @ 2019-11-08 21:23 UTC (permalink / raw)
  To: ml

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

There is an updated pull request by k4leg against master on the void-packages repository

https://github.com/k4leg/void-packages atom
https://github.com/void-linux/void-packages/pull/16150

[WIP] atom: update to 1.41.0.
I almost managed to update _Atom_. I get such an [error](http://dpaste.com/1VEGFKR), what should I do?
_Q_: Why did I use `nodejs-lts` version _10.x.x_?
_A_: _Atom_ wants to use leveldown version _4.0.2_, but starting with `nodejs` _12.x.x_, the [minimum version of `leveldown` is _5.0.0_](https://www.npmjs.com/package/leveldown#supported-platforms).
Also I do not want to be an accompanying `nodejs-lts-10`. These patches were taken from `nodejs-lts`. So, if need to create patches, then I can not check them. I'm a newbie, I’m unlikely to create them at all.
- `nodejs-lts-10` successfully compiled on _x86_64_.

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

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

From 0d6e18e14dba175de31dcae847b4546d62ea4c1c Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Tue, 5 Nov 2019 20:07:50 +0300
Subject: [PATCH 1/2] New package: nodejs-lts-10-10.17.0 [ci skip]

---
 srcpkgs/nodejs-lts-10-devel               |  1 +
 srcpkgs/nodejs-lts-10/patches/ppc32.patch | 43 ++++++++++
 srcpkgs/nodejs-lts-10/patches/ppc64.patch | 41 ++++++++++
 srcpkgs/nodejs-lts-10/template            | 95 +++++++++++++++++++++++
 4 files changed, 180 insertions(+)
 create mode 120000 srcpkgs/nodejs-lts-10-devel
 create mode 100644 srcpkgs/nodejs-lts-10/patches/ppc32.patch
 create mode 100644 srcpkgs/nodejs-lts-10/patches/ppc64.patch
 create mode 100644 srcpkgs/nodejs-lts-10/template

diff --git a/srcpkgs/nodejs-lts-10-devel b/srcpkgs/nodejs-lts-10-devel
new file mode 120000
index 00000000000..2591e8fa650
--- /dev/null
+++ b/srcpkgs/nodejs-lts-10-devel
@@ -0,0 +1 @@
+nodejs-lts-10
\ No newline at end of file
diff --git a/srcpkgs/nodejs-lts-10/patches/ppc32.patch b/srcpkgs/nodejs-lts-10/patches/ppc32.patch
new file mode 100644
index 00000000000..343eff58512
--- /dev/null
+++ b/srcpkgs/nodejs-lts-10/patches/ppc32.patch
@@ -0,0 +1,43 @@
+--- configure.py
++++ configure.py
+@@ -848,7 +848,7 @@ def host_arch_cc():
+     '__MIPSEL__'  : 'mipsel',
+     '__mips__'    : 'mips',
+     '__PPC64__'   : 'ppc64',
+-    '__PPC__'     : 'ppc64',
++    '__PPC__'     : 'ppc',
+     '__x86_64__'  : 'x64',
+     '__s390__'    : 's390',
+     '__s390x__'   : 's390x',
+--- node.gyp
++++ node.gyp
+@@ -479,6 +479,11 @@
+       'msvs_disabled_warnings!': [4244],
+ 
+       'conditions': [
++        [ 'host_arch=="mips" or host_arch=="mipsel" or host_arch=="ppc"', {
++	  'link_settings': {
++	    'libraries': [ '-latomic' ],
++	  },
++	}],
+         [ 'node_code_cache_path!=""', {
+           'sources': [ '<(node_code_cache_path)' ]
+         }, {
+--- deps/v8/src/libsampler/sampler.cc
++++ deps/v8/src/libsampler/sampler.cc
+@@ -418,9 +418,15 @@ void SignalHandler::FillRegisterState(void* context, RegisterState* state) {
+       reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R31]);
+ #else
+   // Some C libraries, notably Musl, define the regs member as a void pointer
++  #if !V8_TARGET_ARCH_32_BIT
+   state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[32]);
+   state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[1]);
+   state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[31]);
++  #else
++  state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[32]);
++  state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[1]);
++  state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[31]);
++  #endif
+ #endif
+ #elif V8_HOST_ARCH_S390
+ #if V8_TARGET_ARCH_32_BIT
diff --git a/srcpkgs/nodejs-lts-10/patches/ppc64.patch b/srcpkgs/nodejs-lts-10/patches/ppc64.patch
new file mode 100644
index 00000000000..8190db1ce6f
--- /dev/null
+++ b/srcpkgs/nodejs-lts-10/patches/ppc64.patch
@@ -0,0 +1,41 @@
+Taken from Adélie Linux, fixes node on big endian ELFv2.
+--- deps/v8/src/ppc/assembler-ppc.h.old 2019-03-05 15:16:29.000000000 +0000
++++ deps/v8/src/ppc/assembler-ppc.h     2019-04-02 07:05:25.977213735 +0000
+@@ -48,7 +48,8 @@
+ #include "src/ppc/constants-ppc.h"
+ 
+ #if V8_HOST_ARCH_PPC && \
+-    (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN))
++    (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && \
++      (V8_TARGET_BIG_ENDIAN && (!defined(_CALL_ELF) || _CALL_ELF == 1))))
+ #define ABI_USES_FUNCTION_DESCRIPTORS 1
+ #else
+ #define ABI_USES_FUNCTION_DESCRIPTORS 0
+@@ -60,13 +61,15 @@
+ #define ABI_PASSES_HANDLES_IN_REGS 0
+ #endif
+ 
+-#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN
++#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \
++    (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))
+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
+ #else
+ #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0
+ #endif
+ 
+-#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN)
++#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && \
++    (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)))
+ #define ABI_CALL_VIA_IP 1
+ #else
+ #define ABI_CALL_VIA_IP 0
+@@ -220,7 +220,8 @@
+ // The following constants describe the stack frame linkage area as
+ // defined by the ABI.  Note that kNumRequiredStackFrameSlots must
+ // satisfy alignment requirements (rounding up if required).
+-#if V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN
++#if V8_TARGET_ARCH_PPC64 && (V8_TARGET_LITTLE_ENDIAN || \
++    defined(_CALL_ELF) && _CALL_ELF == 2)
+ // [0] back chain
+ // [1] condition register save area
+ // [2] link register save area
diff --git a/srcpkgs/nodejs-lts-10/template b/srcpkgs/nodejs-lts-10/template
new file mode 100644
index 00000000000..3f201bcb586
--- /dev/null
+++ b/srcpkgs/nodejs-lts-10/template
@@ -0,0 +1,95 @@
+# Template file for 'nodejs-lts-10'
+pkgname=nodejs-lts-10
+version=10.17.0
+revision=1
+wrksrc="node-v${version}"
+hostmakedepends="pkg-config python zlib-devel $(vopt_if icu icu-devel)
+ $(vopt_if ssl libressl-devel) $(vopt_if libuv libuv-devel)
+ $(vopt_if http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel)
+ $(vopt_if cares c-ares-devel)"
+makedepends="zlib-devel python-devel $(vopt_if icu icu-devel)
+ $(vopt_if ssl libressl-devel) $(vopt_if libuv libuv-devel)
+ $(vopt_if http_parser http-parser-devel) $(vopt_if nghttp2 nghttp2-devel)
+ $(vopt_if cares c-ares-devel)"
+short_desc="Evented I/O for V8 javascript (Dubnium)"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://nodejs.org/"
+distfiles="${homepage}/download/release/latest-v10.x/node-v${version}.tar.xz"
+checksum=412667d76bd5273c07cb69c215998109fd5bb35c874654f93e6a0132d666c58e
+
+build_options="ssl libuv http_parser icu nghttp2 cares"
+desc_option_ssl="Enable shared libressl"
+desc_option_libuv="Enable shared libuv"
+desc_option_http_parser="Enable shared http-parser"
+desc_option_icu="Enable shared icu"
+desc_option_nghttp2="Enable shared nghttp2"
+desc_option_cares="Enable shared c-ares"
+build_options_default="libuv http_parser icu nghttp2 cares"
+
+replaces="iojs>=0"
+conflicts="nodejs nodejs-lts"
+provides="nodejs-runtime-0_1"
+
+if [ "$XBPS_WORDSIZE" -ne "$XBPS_TARGET_WORDSIZE" ]; then
+	nocross="host and target must have the same pointer size"
+fi
+
+case "$XBPS_MACHINE" in
+	ppc64*) ;;
+	mips*|ppc*) hostmakedepends+=" libatomic-devel" ;;
+	*) ;;
+esac
+
+do_configure() {
+	local _args
+
+	export LD="$CXX"
+	if [ "$CROSS_BUILD" ]; then
+		case "$XBPS_TARGET_MACHINE" in
+			arm*) _args="--dest-cpu=arm" ;;
+			aarch64*) _args="--dest-cpu=arm64" ;;
+			ppc64*) _args="--dest-cpu=ppc64" ;;
+			ppc*) _args="--dest-cpu=ppc" ;;
+			mipsel*) _args="--dest-cpu=mipsel" ;;
+			mips*) _args="--dest-cpu=mips" ;;
+			i686*) _args="--dest-cpu=x86" ;;
+			x86_64*) _args="--dest-cpu=x86_64" ;;
+			*) msg_error "$pkgver: cannot be cross compiled for ${XBPS_TARGET_MACHINE}.\n" ;;
+		esac
+		_args+=" --without-snapshot"
+	fi
+	# their pregenerated asm is for ELFv1...
+	case "$XBPS_TARGET_MACHINE" in
+		ppc64|ppc64-musl) _args+=" --openssl-no-asm" ;;
+	esac
+	./configure --prefix=/usr --shared-zlib \
+		$(vopt_if icu --with-intl=system-icu) \
+		$(vopt_if http_parser --shared-http-parser) \
+		$(vopt_if ssl --shared-openssl) \
+		$(vopt_if libuv --shared-libuv) \
+		$(vopt_if nghttp2 --shared-nghttp2) \
+		$(vopt_if cares --shared-cares) ${_args}
+}
+
+do_build() {
+	if [ "$CROSS_BUILD" ]; then
+		make LD="$CXX" LDFLAGS+=-ldl ${makejobs} PORTABLE=1 V=1
+	else
+		make LD="$CXX" LDFLAGS+=-ldl ${makejobs} V=1
+	fi
+}
+
+do_install() {
+	make LD="$CXX" LDFLAGS+=-ldl DESTDIR="$DESTDIR" install
+	rm $DESTDIR/usr/include/node/openssl -rf
+	vlicense LICENSE
+}
+
+nodejs-lts-10-devel_package() {
+	short_desc+=" (development files)"
+	conflicts="nodejs-devel nodejs-lts-devel"
+	pkg_install() {
+		vmove usr/include
+	}
+}

From 8f246f3e70b3032ed3d47112d6be3ede5b8a5b6c Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Tue, 5 Nov 2019 20:07:57 +0300
Subject: [PATCH 2/2] atom: update to 1.41.0. [ci skip]

---
 common/shlibs                      |   1 +
 srcpkgs/atom/patches/desktop.patch |  13 --
 srcpkgs/atom/patches/fixes.patch   | 184 +++++++++++++++++++++++++++++
 srcpkgs/atom/patches/icons.patch   |  12 --
 srcpkgs/atom/template              |  25 ++--
 5 files changed, 203 insertions(+), 32 deletions(-)
 delete mode 100644 srcpkgs/atom/patches/desktop.patch
 create mode 100644 srcpkgs/atom/patches/fixes.patch
 delete mode 100644 srcpkgs/atom/patches/icons.patch

diff --git a/common/shlibs b/common/shlibs
index c958f39efba..2e5ad1682d0 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -121,6 +121,7 @@ libEGL.so.1 libEGL-7.11_1
 libGLESv1_CM.so.1 libGLES-1.0_1
 libGLESv2.so.2 libGLES-1.0_1
 libEGL.so rpi-userland-0.0.0.0.20150907_1
+libGLESv2.so atom-1.41.0_1
 libGLESv2.so rpi-userland-0.0.0.0.20150907_1
 libGLESv2.so opera-55.0.2994.37_2
 libGLESv2.so discord-0.0.7_1
diff --git a/srcpkgs/atom/patches/desktop.patch b/srcpkgs/atom/patches/desktop.patch
deleted file mode 100644
index 2362854e847..00000000000
--- a/srcpkgs/atom/patches/desktop.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- resources/linux/atom.desktop.in
-+++ resources/linux/atom.desktop.in
-@@ -2,8 +2,8 @@
- Name=<%= appName %>
- Comment=<%= description %>
- GenericName=Text Editor
--Exec=<%= installDir %>/bin/<%= appFileName %> %F
--Icon=<%= iconPath %>
-+Exec=/usr/bin/atom %F
-+Icon=/usr/share/atom/atom.png
- Type=Application
- StartupNotify=true
- Categories=GNOME;GTK;Utility;TextEditor;Development;
diff --git a/srcpkgs/atom/patches/fixes.patch b/srcpkgs/atom/patches/fixes.patch
new file mode 100644
index 00000000000..894f8c1ff3e
--- /dev/null
+++ b/srcpkgs/atom/patches/fixes.patch
@@ -0,0 +1,184 @@
+diff -Naurp0 a/atom.sh b/atom.sh
+--- a/atom.sh	2019-11-08 22:04:23.210260827 +0300
++++ b/atom.sh	2019-11-08 22:08:36.721968851 +0300
+@@ -2,25 +1,0 @@
+-
+-if [ "$(uname)" == 'Darwin' ]; then
+-  OS='Mac'
+-elif [ "$(expr substr $(uname -s) 1 5)" == 'Linux' ]; then
+-  OS='Linux'
+-else
+-  echo "Your platform ($(uname -a)) is not supported."
+-  exit 1
+-fi
+-
+-case $(basename $0) in
+-  atom-beta)
+-    CHANNEL=beta
+-    ;;
+-  atom-nightly)
+-    CHANNEL=nightly
+-    ;;
+-  atom-dev)
+-    CHANNEL=dev
+-    ;;
+-  *)
+-    CHANNEL=stable
+-    ;;
+-esac
+-
+@@ -91,0 +67 @@ mkdir -p "$ATOM_HOME"
++ATOM_PATH="/usr/libexec/atom/atom"
+@@ -93,9 +69,5 @@ mkdir -p "$ATOM_HOME"
+-if [ $OS == 'Mac' ]; then
+-  if [ -L "$0" ]; then
+-    SCRIPT="$(readlink "$0")"
+-  else
+-    SCRIPT="$0"
+-  fi
+-  ATOM_APP="$(dirname "$(dirname "$(dirname "$(dirname "$SCRIPT")")")")"
+-  if [ "$ATOM_APP" == . ]; then
+-    unset ATOM_APP
++if [ $EXPECT_OUTPUT ]; then
++  "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++  ATOM_EXIT=$?
++  if [ ${ATOM_EXIT} -eq 0 ] && [ -n "${EXIT_CODE_OVERRIDE}" ]; then
++    exit "${EXIT_CODE_OVERRIDE}"
+@@ -103,2 +75 @@ if [ $OS == 'Mac' ]; then
+-    ATOM_PATH="$(dirname "$ATOM_APP")"
+-    ATOM_APP_NAME="$(basename "$ATOM_APP")"
++    exit ${ATOM_EXIT}
+@@ -106,85 +77,6 @@ if [ $OS == 'Mac' ]; then
+-
+-  if [ ! -z "${ATOM_APP_NAME}" ]; then
+-    # If ATOM_APP_NAME is known, use it as the executable name
+-    ATOM_EXECUTABLE_NAME="${ATOM_APP_NAME%.*}"
+-  else
+-    # Else choose it from the inferred channel name
+-    if [ "$CHANNEL" == 'beta' ]; then
+-      ATOM_EXECUTABLE_NAME="Atom Beta"
+-    elif [ "$CHANNEL" == 'nightly' ]; then
+-      ATOM_EXECUTABLE_NAME="Atom Nightly"
+-    elif [ "$CHANNEL" == 'dev' ]; then
+-      ATOM_EXECUTABLE_NAME="Atom Dev"
+-    else
+-      ATOM_EXECUTABLE_NAME="Atom"
+-    fi
+-  fi
+-
+-  if [ -z "${ATOM_PATH}" ]; then
+-    # If ATOM_PATH isn't set, check /Applications and then ~/Applications for Atom.app
+-    if [ -x "/Applications/$ATOM_APP_NAME" ]; then
+-      ATOM_PATH="/Applications"
+-    elif [ -x "$HOME/Applications/$ATOM_APP_NAME" ]; then
+-      ATOM_PATH="$HOME/Applications"
+-    else
+-      # We haven't found an Atom.app, use spotlight to search for Atom
+-      ATOM_PATH="$(mdfind "kMDItemCFBundleIdentifier == 'com.github.atom'" | grep -v ShipIt | head -1 | xargs -0 dirname)"
+-
+-      # Exit if Atom can't be found
+-      if [ ! -x "$ATOM_PATH/$ATOM_APP_NAME" ]; then
+-        echo "Cannot locate ${ATOM_APP_NAME}, it is usually located in /Applications. Set the ATOM_PATH environment variable to the directory containing ${ATOM_APP_NAME}."
+-        exit 1
+-      fi
+-    fi
+-  fi
+-
+-  if [ $EXPECT_OUTPUT ]; then
+-    "$ATOM_PATH/$ATOM_APP_NAME/Contents/MacOS/$ATOM_EXECUTABLE_NAME" --executed-from="$(pwd)" --pid=$$ "$@"
+-    ATOM_EXIT=$?
+-    if [ ${ATOM_EXIT} -eq 0 ] && [ -n "${EXIT_CODE_OVERRIDE}" ]; then
+-      exit "${EXIT_CODE_OVERRIDE}"
+-    else
+-      exit ${ATOM_EXIT}
+-    fi
+-  else
+-    open -a "$ATOM_PATH/$ATOM_APP_NAME" -n --args --executed-from="$(pwd)" --pid=$$ --path-environment="$PATH" "$@"
+-  fi
+-elif [ $OS == 'Linux' ]; then
+-  SCRIPT=$(readlink -f "$0")
+-  USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
+-
+-  case $CHANNEL in
+-    beta)
+-      ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
+-      ;;
+-    nightly)
+-      ATOM_PATH="$USR_DIRECTORY/share/atom-nightly/atom"
+-      ;;
+-    dev)
+-      ATOM_PATH="$USR_DIRECTORY/share/atom-dev/atom"
+-      ;;
+-    *)
+-      ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
+-      ;;
+-  esac
+-
+-  : ${TMPDIR:=/tmp}
+-
+-  [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
+-
+-  if [ $EXPECT_OUTPUT ]; then
+-    "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+-    ATOM_EXIT=$?
+-    if [ ${ATOM_EXIT} -eq 0 ] && [ -n "${EXIT_CODE_OVERRIDE}" ]; then
+-      exit "${EXIT_CODE_OVERRIDE}"
+-    else
+-      exit ${ATOM_EXIT}
+-    fi
+-  else
+-    (
+-    nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+-    if [ $? -ne 0 ]; then
+-      cat "$ATOM_HOME/nohup.out"
+-      exit $?
+-    fi
+-    ) &
++else
++  (
++  nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
++  if [ $? -ne 0 ]; then
++    cat "$ATOM_HOME/nohup.out"
++    exit $?
+@@ -191,0 +84 @@ elif [ $OS == 'Linux' ]; then
++  ) &
+diff -Naurp0 a/resources/linux/atom.desktop.in b/resources/linux/atom.desktop.in
+--- a/resources/linux/atom.desktop.in	2019-11-08 22:29:18.312985700 +0300
++++ b/resources/linux/atom.desktop.in	2019-11-08 22:31:30.748437296 +0300
+@@ -2,2 +2,2 @@
+-Name=<%= appName %>
+-Comment=<%= description %>
++Name=Atom
++Comment=Chrome-based text editor from Github
+@@ -5,2 +5,2 @@ GenericName=Text Editor
+-Exec=env ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false <%= installDir %>/bin/<%= appFileName %> %F
+-Icon=<%= iconPath %>
++Exec=env ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false /usr/bin/atom %F
++Icon=atom
+diff -Naurp0 a/script/lib/install-application.js b/script/lib/install-application.js
+--- a/script/lib/install-application.js	2019-11-08 22:32:22.593396868 +0300
++++ b/script/lib/install-application.js	2019-11-08 22:58:19.347068485 +0300
+@@ -90 +90 @@ module.exports = function(packagedAppPat
+-    const shareDirPath = path.join(prefixDirPath, 'share');
++    const shareDirPath = path.join(prefixDirPath, 'libexec');
+@@ -103 +103 @@ module.exports = function(packagedAppPat
+-      const baseIconThemeDirPath = findBaseIconThemeDirPath();
++      const baseIconThemeDirPath = path.join(prefixDirPath, 'share/icons/hicolor')
+@@ -216 +216 @@ module.exports = function(packagedAppPat
+-          'share',
++          'libexec',
+diff -Naurp0 a/src/main-process/atom-application.js b/src/main-process/atom-application.js
+--- a/src/main-process/atom-application.js	2019-11-08 22:12:01.212764247 +0300
++++ b/src/main-process/atom-application.js	2019-11-08 22:16:34.637836128 +0300
+@@ -719 +719 @@ module.exports = class AtomApplication e
+-      path.join(process.resourcesPath, 'LICENSE.md')
++      '/usr/share/licenses/atom/LICENSE.md'
+@@ -2050 +2050 @@ module.exports = class AtomApplication e
+-    const args = [];
++    const args = ['/usr/lib/atom/atom'];
+diff -Naurp0 a/src/workspace.js b/src/workspace.js
+--- a/src/workspace.js	2019-11-08 22:14:27.324474946 +0300
++++ b/src/workspace.js	2019-11-08 22:15:49.853005612 +0300
+@@ -1303 +1303 @@ module.exports = class Workspace extends
+-    return this.open(path.join(process.resourcesPath, 'LICENSE.md'));
++    return this.open('/usr/share/licenses/atom/LICENSE.md');
diff --git a/srcpkgs/atom/patches/icons.patch b/srcpkgs/atom/patches/icons.patch
deleted file mode 100644
index ce9a00da05e..00000000000
--- a/srcpkgs/atom/patches/icons.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- script/lib/install-application.js
-+++ script/lib/install-application.js
-@@ -79,7 +79,8 @@ module.exports = function (packagedAppPath, installDir) {
-     install(installationDirPath, packagedAppFileName, packagedAppPath)
-
-     { // Install icons
--      const baseIconThemeDirPath = findBaseIconThemeDirPath()
-+      const baseIconThemeDirPath = path.join(prefixDirPath, 'share/icons/hicolor')
-+
-       const fullIconName = atomExecutableName + '.png'
-
-       let existingIconsFound = false
diff --git a/srcpkgs/atom/template b/srcpkgs/atom/template
index fb29de77854..b7c70ac674e 100644
--- a/srcpkgs/atom/template
+++ b/srcpkgs/atom/template
@@ -1,27 +1,38 @@
 # Template file for 'atom'
 pkgname=atom
-version=1.33.1
+version=1.41.0
 revision=1
 archs="x86_64"
-hostmakedepends="git pkg-config python-devel nodejs curl gtk+3 libXtst libXScrnSaver nss python alsa-lib"
-makedepends="python-devel GConf-devel libgnome-keyring-devel gtk+3-devel libX11-devel libxkbfile-devel libsecret-devel"
+hostmakedepends="git pkg-config python-devel nodejs-lts-10 nodejs-lts-10-devel curl gtk+3
+ libXtst libXScrnSaver nss python alsa-lib"
+makedepends="python-devel GConf-devel libgnome-keyring-devel gtk+3-devel
+ libX11-devel libxkbfile-devel libsecret-devel"
 short_desc="Chrome-based text editor from Github"
 maintainer="Wilson Birney <wpb@360scada.com>"
 license="MIT"
 homepage="https://atom.io"
 distfiles="https://github.com/atom/atom/archive/v${version}.tar.gz"
-checksum=2b89ae78b637b7c39b419e011168a1ddf256bf442f56e0dff2b2e10c94a9af1d
+checksum=4a440909462c461cbec9b82b5f97bd21719a34f0ab59f2d859df85a40246c949
+shlib_provides="libGLESv2.so"
+patch_args="-Np1"
 nocross=yes
 nostrip=yes
 
-do_install() {
+pre_build() {
 	npm install -g gyp
 	vmkdir /usr/share/icons/hicolor
+}
+
+do_build() {
 	script/build --install=$DESTDIR/usr
+}
+
+do_install() {
+	mv $DESTDIR/usr/libexec/applications $DESTDIR/usr/share
 	vlicense LICENSE.md
 }
 
 post_install() {
-	#very hackish, git-imap-send is linked to openssl's libssl/libcrypto. Removing it allows it to package
-	rm ${DESTDIR}/usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send
+	# Very hackish, git-imap-send is linked to openssl's libssl/libcrypto. Removing it allows it to package
+	rm $DESTDIR/usr/libexec/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send
 }

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

* Re: [WIP] atom: update to 1.41.0.
  2019-11-05 17:32 [PR PATCH] [WIP] atom: update to 1.41.0 voidlinux-github
  2019-11-08 21:23 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-11-08 21:24 ` voidlinux-github
  1 sibling, 0 replies; 3+ messages in thread
From: voidlinux-github @ 2019-11-08 21:24 UTC (permalink / raw)
  To: ml

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

New comment by k4leg on void-packages repository

https://github.com/void-linux/void-packages/pull/16150#issuecomment-551995019

Comment:
- Atom successfully compiled and working.

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

end of thread, other threads:[~2019-11-08 21:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-05 17:32 [PR PATCH] [WIP] atom: update to 1.41.0 voidlinux-github
2019-11-08 21:23 ` [PR PATCH] [Updated] " voidlinux-github
2019-11-08 21:24 ` voidlinux-github

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).