From 0d6e18e14dba175de31dcae847b4546d62ea4c1c Mon Sep 17 00:00:00 2001 From: k4leg 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(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(ucontext->uc_mcontext.gp_regs[32]); + state->sp = reinterpret_cast(ucontext->uc_mcontext.gp_regs[1]); + state->fp = reinterpret_cast(ucontext->uc_mcontext.gp_regs[31]); ++ #else ++ state->pc = reinterpret_cast(ucontext->uc_mcontext.gregs[32]); ++ state->sp = reinterpret_cast(ucontext->uc_mcontext.gregs[1]); ++ state->fp = reinterpret_cast(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 " +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 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 " 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