public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2016-04-06 11:12 Heather Cynede
  0 siblings, 0 replies; 9+ messages in thread
From: Heather Cynede @ 2016-04-06 11:12 UTC (permalink / raw
  To: gentoo-commits

commit:     10167cfdb6cecdabd85531bbdda3e35c297349f7
Author:     Heather Cynede <cynede <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  6 11:06:32 2016 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Wed Apr  6 11:07:39 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10167cfd

app-editors/atom: text editor by github

version 1.6.2

based on ebuild from for-gentoo repository by Sabayon
originally created by Ettore Di Giacinto, Brenton Horne

Package-Manager: portage-2.2.28

 app-editors/atom/Manifest                |  1 +
 app-editors/atom/atom-1.6.2.ebuild       | 85 ++++++++++++++++++++++++++++++++
 app-editors/atom/files/atom-python.patch | 10 ++++
 app-editors/atom/metadata.xml            |  7 +++
 4 files changed, 103 insertions(+)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
new file mode 100644
index 0000000..a2b9e29
--- /dev/null
+++ b/app-editors/atom/Manifest
@@ -0,0 +1 @@
+DIST 1.6.2.tar.gz 10340322 SHA256 63ee85a67d642bf85179c67ba455042e2892a5091dedc31f007f8ec2de8fc3af SHA512 ef378a3bfa539a4e9da2f8a391e5716bc8312f4cb5c02692b4518fe1805e1771f59a47612fe184b0ce7200358c6c711545393f7a2aec2b996c40654a24469120 WHIRLPOOL 8a34c3dab6f76dc7204ae8dc2bc08f24fb1822dbb153d561c71929dba83a57c457678ff9f85819b3c7d342864c06c51a5fffa1aada603d1eab8729784ea028fa

diff --git a/app-editors/atom/atom-1.6.2.ebuild b/app-editors/atom/atom-1.6.2.ebuild
new file mode 100644
index 0000000..1ab58ea
--- /dev/null
+++ b/app-editors/atom/atom-1.6.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit flag-o-matic python-any-r1 eutils
+
+DESCRIPTION="A hackable text editor for the 21st Century"
+HOMEPAGE="https://atom.io"
+SRC_URI="https://github.com/atom/atom/archive/v${PV}.tar.gz -> ${PV}.tar.gz"
+RESTRICT="mirror"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+	${PYTHON_DEPS}
+	net-libs/nodejs[npm]
+	media-fonts/inconsolata
+	gnome-base/gconf
+	x11-libs/gtk+:2
+	gnome-base/libgnome-keyring
+	x11-libs/libnotify
+	x11-libs/libXtst
+	dev-libs/nss
+	media-libs/alsa-lib
+"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+	npm config set python $PYTHON
+}
+
+src_prepare(){
+	epatch "${FILESDIR}/${PN}-python.patch"
+	sed -i  -e "/exception-reporting/d" \
+		-e "/metrics/d" package.json
+	sed -e "s/<%= description %>/$pkgdesc/" \
+		-e "s|<%= installDir %>/share/<%= appFileName %>/atom|/usr/bin/atom|"\
+		-e "s|<%= iconPath %>|atom|"\
+		-e "s|<%= appName %>|Atom|" \
+		resources/linux/atom.desktop.in > resources/linux/Atom.desktop
+
+	# Fix atom location guessing
+	sed -i -e 's/ATOM_PATH="$USR_DIRECTORY\/share\/atom/ATOM_PATH="$USR_DIRECTORY\/../g' \
+		./atom.sh \
+		|| die "Fail fixing atom-shell directory"
+
+	# Make bootstrap process more verbose
+	sed -i -e 's@node script/bootstrap@node script/bootstrap --no-quiet@g' \
+		./script/build \
+		|| die "Fail fixing verbosity of script/build"
+}
+
+src_compile(){
+	./script/build --verbose --build-dir "${T}" || die "Failed to compile"
+	"${T}/Atom/resources/app/apm/bin/apm" rebuild || die "Failed to rebuild native module"
+	echo "python = $PYTHON" >> "${T}/Atom/resources/app/apm/.apmrc"
+}
+
+src_install(){
+	insinto "/usr/share/${PN}"
+	doins -r "${T}/Atom/*"
+	insinto "/usr/share/applications"
+	newins resources/linux/Atom.desktop atom.desktop
+	insinto "/usr/share/pixmaps"
+	newins resources/app-icons/stable/png/128.png atom.png
+	insinto "/usr/share/licenses/${PN}"
+	doins LICENSE.md
+	# Fixes permissions
+	fperms +x "/usr/share/${PN}/${PN}"
+	fperms +x "/usr/share/${PN}/libgcrypt.so.11"
+	fperms +x "/usr/share/${PN}/libnotify.so.4"
+	fperms +x "/usr/share/${PN}/resources/app/atom.sh"
+	fperms +x "/usr/share/${PN}/resources/app/apm/bin/apm"
+	fperms +x "/usr/share/${PN}/resources/app/apm/bin/node"
+	fperms +x "/usr/share/${PN}/resources/app/apm/node_modules/npm/bin/node-gyp-bin/node-gyp"
+	# Symlinking to /usr/bin
+	dosym "/usr/share/${PN}/resources/app/atom.sh /usr/bin/atom"
+	dosym "/usr/share/${PN}/resources/app/apm/bin/apm /usr/bin/apm"
+}

diff --git a/app-editors/atom/files/atom-python.patch b/app-editors/atom/files/atom-python.patch
new file mode 100644
index 0000000..250ca57
--- /dev/null
+++ b/app-editors/atom/files/atom-python.patch
@@ -0,0 +1,10 @@
+--- ~atom.sh	2015-10-30 11:41:20.090417736 +0100
++++ atom.sh	2015-10-30 11:42:19.707553644 +0100
+@@ -92,6 +92,7 @@
+   fi
+ 
+   ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
++  export PYTHON=python2
+   mkdir -p "$ATOM_HOME"
+ 
+   : ${TMPDIR:=/tmp}

diff --git a/app-editors/atom/metadata.xml b/app-editors/atom/metadata.xml
new file mode 100644
index 0000000..8f40765
--- /dev/null
+++ b/app-editors/atom/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>cynede@gentoo.org</email>
+	</maintainer>
+</pkgmetadata>


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

* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2016-05-10 11:28 Patrice Clement
  0 siblings, 0 replies; 9+ messages in thread
From: Patrice Clement @ 2016-05-10 11:28 UTC (permalink / raw
  To: gentoo-commits

commit:     35a0f25a84b32b2f15b5d115aa607db4020cc55b
Author:     Elvis Pranskevichus <elvis <AT> magic <DOT> io>
AuthorDate: Sun May  8 16:35:08 2016 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Tue May 10 11:12:16 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35a0f25a

app-editors/atom: Switch to using dev-util/electron, recompile binaries and unbundle libraries.

Proper build of dev-util/electron is now in the tree (#579116),
which makes it possible to rebuild Atom properly, i.e. without
the use of precompiled blobs and with proper library unbundling.

The strategy used in this build is to take the upstream release
build and recompile the native module portions against the system
Electron and system libraries.

Gentoo-Bug: https://bugs.gentoo.org/582462
Package-Manager: portage-2.2.28
Closes: https://github.com/gentoo/gentoo/pull/1430

Signed-off-by: Patrice Clement <monsieurp <AT> gentoo.org>

 app-editors/atom/Manifest                          |  28 +-
 app-editors/atom/atom-1.7.3.ebuild                 | 388 ++++++++++++++++++---
 .../atom/files/atom-unbundle-electron.patch        |  45 +++
 app-editors/atom/files/gyp-unbundle.py             | 123 +++++++
 app-editors/atom/metadata.xml                      |   8 +
 5 files changed, 538 insertions(+), 54 deletions(-)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
index 4d55d7c..3f33557 100644
--- a/app-editors/atom/Manifest
+++ b/app-editors/atom/Manifest
@@ -1 +1,27 @@
-DIST 1.7.3.tar.gz 10352768 SHA256 5074b59ddaca5525eb48098dee6fe63013799cbc77749add314b9e1bc894b8f4 SHA512 87d1452086b5434ba204773508a361b02d1f695dd37b8d40540997dbfb53c57c8a7117abe752b6ffd18beccc0f2318afadf6b2c506d54307ea15bb73074647f3 WHIRLPOOL 72398d4432759cd9de13c0c537e5eaea6dc28dbe144b46d972331c0e5cbebeeafc0d747b62d33e3a08959d1b72d8dba271966bce519b2ba7bc7ba7e433630ac2
+DIST atom-1.7.3.rpm 63702044 SHA256 0f21d09318cc526b12fa31eb4a527caa9db59eea4531b72b611658cbe16283a3 SHA512 f7ea3e906e6c3fa7185e49ae5fc0a461e02c079e37f8f96540847106b48c126aa7f3e431d835f98fd8fe831eae86288028623dabd83be095fd2c89e8ff50268f WHIRLPOOL 4238cca8f10b4d3bf72d78da5a019d3a33e31c9e39ad771855c8bf6aa5589e7cf9ec37aa5b62079d4fe56e33d98243dd3233d389ad2c3f05ef092fee5b213772
+DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 SHA256 5487e7641d5031e652deeef8bebe2d3af4e4d2b89989dd8700bf14e33843ce89 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d WHIRLPOOL 573d0f703989f31109854f0eb324d6b1364e93cd057c4cfe20409415dee3101964cacabc246d4df43124dad881d8fec8575c6bbb23ba98698e6c73cf3c5614d4
+DIST atom-git-utils-4.1.2.tar.gz 36492 SHA256 fd627647742359946d3b8f88bc91dd4d68a047dcba5bfafbd690e1a20afeb908 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a WHIRLPOOL 4ee4620b0208a30f848167fffce05c5999d38bf5a3e50567e6bcf295fdafc7861e870346cfeb28a61392e7a737e100f90ae1dbd25066469926e3148006e02937
+DIST atom-keyboard-layout-1.0.0.tar.gz 6430 SHA256 d3f20f0765b7a243c3cfa3e49360851404977c2ed6e84dc84e9aaf28d8547d03 SHA512 a96b77c29eb1f5367f1d60ddc501fdd6e507fc92f980974bb2c1bec923b264e73104650180722819946e075284a928b4aaa01f8594365186bd8530a0179c7ff5 WHIRLPOOL 693f4a1546e0ca772ea2b2f860e6c2cf55f645031eb516021107296a3a05fca9086de62080255abae55c0ea42cc0f5aeeba26e6dd0b7eb274a8b69135bbf79c9
+DIST atom-marker-index-3.1.0.tar.gz 18065 SHA256 264e5553edee7e10766083433f952a515601201b53d332ecfe0fd43870fb4a38 SHA512 e50c2e03555d18e2eae0eb4ca5b16f486a53bf67803da6eb7eec90ef86048939f302baf15678a3af964b36ae809387d4665024e4d61bd9741738b12e84f4db64 WHIRLPOOL 179fafbd85d9b6e093ab646264716b0708d39aa3e1cd5771fbe173f2cd1ebb05f9a2525e5bb27d9605e2fd4ab5773a68d6552667c285ad3cbdbfbb6ae7d8b30e
+DIST atom-node-ctags-3.0.0.tar.gz 15062 SHA256 40605012d06d4dcbfc369862b57900b6963613e2e4ee3b37fea21693b2b418a7 SHA512 6f7277a0ff872991c365f811c635fd881c3e466c20219d8a7bdaf6fec7c26c5feaa7ae2118691a8d52ceb3ecfda6d795bf39dfda7f8df5a6d02388575a010f87 WHIRLPOOL 2cff81d2ca405a615e5c7d284785f129f8fcd968998c68a42af1ca2e6d76a6fcb404a92f3c0d20220567b28593448b91657db6df8bce19de1f2eedbfe2959140
+DIST atom-node-keytar-3.0.2.tar.gz 5718 SHA256 16af03d2a7876e3008f82d35e913753384655bc181e93cb771639b6d5a2439bf SHA512 f08ec6e50071e6e8995244607144009eaa8fd61a1724c80c40ccfb497e2b4682b30d6a091de9480b78f49ceb11f1a655e12ccb6b43d3df34f7e089585381697a WHIRLPOOL 69b10619531bedb839c61c1b29d18d1a0bf4e468ed05ebd58db349010b8de555673f45bdf98c4ad252aaa960b47faa00d952470e9b3545a0e1e189bbb3e49ded
+DIST atom-node-nslog-3.0.0.tar.gz 2774 SHA256 6f2c7b79dd27688829d72dcbb94cc3da8b86fe74f355e1d407907cc56da29747 SHA512 1891632486acfa014eec79f70b14d56d967670310e46dedccfc9dfa505581365765f6bd42ad538b29e74d7c7de83d045b4199dd634fc588734a1ee086dcddb0a WHIRLPOOL d29f2c68e6168ce020c2a73d73f107ffb4c777e006fba4f01a93045ad631fb2d8b83f989244caf4d5e2f66474e660f3479d79a03e82a6b8fa8a297586ee6e556
+DIST atom-node-oniguruma-5.1.2.tar.gz 662091 SHA256 130ab56cd6c29c4acc1f14ba31ec3f04146f02fe89c865c0af092f9d639fbdfb SHA512 e451f742ac1319b64e203848bce5d9c15251e15b083419b7a97588316eac3d86acfdbf6d7541cbd92eece48b41f90fd23f69b5e7e2d93e8bc18559c703944353 WHIRLPOOL 2cf44d2a4023655c96aed93c6c8faa45c569c75eaf2435b39f0a09ddcd53377c0ea05ac186b2e67f256c75c146bb50d971b7f9b7170d64031de79c4e76ef5252
+DIST atom-node-pathwatcher-6.2.4.tar.gz 23324 SHA256 6b47f7f0e8009fe4dac0800ac11f2a2a0366fb4fd889e444d99787e093b8cf2e SHA512 f891777a326a4f11f36a64f382fb0c9bd3fa5e6478144130b0c554aaaced079223489461050667293f1392e356f5a84838196dc39f8d54f7b3fd537f361c2c9a WHIRLPOOL 67ea2fa8a98214f3ce64a3cc5ce1ff0a757c606c02599f1c1069e3e7aa2addd32a48da2273648632b92149027cf18b64131ee9070e46c6e0a2d227239a47eeaf
+DIST atom-node-runas-3.1.1.tar.gz 6628 SHA256 9d7d5a157b16fdd7263f50adb2831706d6fcf0902a1af528fc2602db6f9dc1cf SHA512 bada6e99ceb833c8c6e74f4b3116c49f21b54b922c1a27668312552779b9e5ccebf380b41c781d49c1c0dd0fdff6de8b71a0dcaf1f992892593e85f4572238df WHIRLPOOL d286d76f38ee8a23b4b76a9070913abe901f4db273073d9c0dcef13004abe7e10e9b4cad451cfe8d0cd4cc1e0ac2ab28ed50f327c1b9d317689153658f7b8944
+DIST atom-node-spellchecker-3.2.3.tar.gz 481966 SHA256 bf4a07b4c671cd38b176ff8ef375f3cdf277decb941a0a279f8ffb36151fad55 SHA512 b0209fdfcbee53d289443e1c203a720888a82fa59648b4038c036c6afe68a6b04624e23267e69c36f23c185160d6ab84b1e4020047fbe6d94354e99d717a60b9 WHIRLPOOL d883cd3d3962e38ebe4c55e997ce461fa0b0da98e8b982793b77342eac1413e16090d562a9a50cb8200a18eda751a873528fdfde3b1f1928629bd56c5568f887
+DIST atom-scrollbar-style-3.2.0.tar.gz 4609 SHA256 ea0f8f00cac609537af0d10d228054371c58b5a74785bd52fbbd276af02911ef SHA512 fc3ddfe7582517df45d7258a5857ca05fbadb92417d68b0c77d1e89e54b3bdaef3a1624e29177ebe64a2a994e62e1d1f5cb438911e881124aeec359426fab1bc WHIRLPOOL f6e75aafa8946ccc16949bdffa33b2bf050f06434a3fedcf8e1abac8b6b2d31dd37fcc137a43274d4c55d5926349486fda157d3fb6948d97063aac33b99e6578
+DIST node-asap-2.0.3.tar.gz 38970 SHA256 ae81fe67d5f36f238d5f7dd315baffce7f7d243a67c739ea8b5a6373a452fe36 SHA512 ed8556b61dd6677c0a4b16724e2e1d7fa9c93bd141459ef481821988bdb04b713efed145e5cb0e377ba3f35a7292b692f894a06689d08fa25bb00fd600945c96 WHIRLPOOL d0936375945a6558eac9e6b6101232d7d650dddb32393ebd5722a2f17a5b7e276e55ff1ab3ce35eb3a6e850e6d3cc56b0c5167d6d91f8aeb957710e0f310c27c
+DIST node-combyne-0.8.1.tar.gz 43384 SHA256 f5490904428b6204d2cad0e87abc3df289da3d7d75a4c1ab381506ad858cf42b SHA512 e35c6c5d6576e745b4e20b73c1793e12dd6bc4eb4977a97b4396654c7df2f52cf64eead7ad510f8d82fb5434a5780832195d1e16e9afaecbef10772876c06abd WHIRLPOOL 97552bab4f4c6cbe56553dbacb4276e1df279a2e69a85223e7ffba703531e34f390308c4a5a636dbb9143ca491af98b083acb0e975e355d31dd6df29497acc58
+DIST node-fs-extra-0.26.2.tar.gz 38210 SHA256 46e1dc219e9bf8e5962232ab428ca5fb26476f738f75aba2ebcb472334e5e07b SHA512 49d1b78dc5690a309c8bb4c3404bbbd0a9c7eabf9012095f223fbb360e7ef478a2dcf64b4f53373d702d002af29d557dbb5cd7a4c4478eb70ab4ae42f4df95fd WHIRLPOOL fa5c98d0087500e0b03ba35f76d18dd3a1b55a0ad985450834d18c4ce729c53832fed0b31eec9cf67e652ae90c3b9f89245fe2f834604c4037062b6a0b50d650
+DIST node-graceful-fs-4.1.2.tar.gz 8162 SHA256 1133697e1ebfdc25ab4c23b7b34a9591b8970d00f48dcfa806068778bd94aaa7 SHA512 7ee59ea3bc767640c2fc8895f50a751ca1c8004ce7d49623941202c408390f60b54aba06ae205d0222abfa80388a7899559e3ae2e5acd9e7349a45156c4aaec1 WHIRLPOOL a64042dc1ba43ff8bd95bfab2db443f6fe618e779bd82ca05b82e224e4739a9cf2537473dc8cb8ed5024372ef8dcd4e06b75e9dfb1200ddd1d09c1c9b426d43d
+DIST node-js-beautify-1.5.10.tar.gz 301789 SHA256 055ce354da5f38387020d87ec68bd926af43eb36766b560f721b39fc3617c86a SHA512 a137e759533b4fa9e06895f27b0f8b5761a04ba00927ac8a964a755d3c11df1af6aaded039273d0e22d5ccc6cd6255878241cc9c55a2338e040defa540e1ad0e WHIRLPOOL 56577c5ae36e6d6f9c626a9275117e8592286a8e58b968c56ea36ae4dfa002fff0f7c032302060507796b532d5b1a05b0ed3eb14603403171e3ff66a6d2a9716
+DIST node-jsonfile-2.1.0.tar.gz 4390 SHA256 bdfe02539486eb30293c67202858552466db2e1774d1fe9d71631ee615aa3eee SHA512 8c51b41ecfd0e6c6e2bf7923f61b215fa42a905a44ba31e20a7b682d1ed992fc9cda65d4c09e97863eb6ec8c02dfeb7bb0cacb4fa0f63093e9c2d32e88e1ee37 WHIRLPOOL 6c1fcc2468ca63b189a7c55b568e2b51a67fd45745137b63781ed7b67e931cba847308388f942c8724192bf2c16d89722632afe053819c7725b9427f3f84e8fc
+DIST node-klaw-1.0.0.tar.gz 4054 SHA256 ea1f37abe8bc23ec60375d7e81f23976398bf6ec0a81785bbf4a9d37635853b3 SHA512 9d9148202629143ec7839352d8539055401c8c85013e270546105b6af831f8ff5f4a0156f2f51bedab39bce2a1bbfb83018585f69400b56f1f8a367d9d0e62f4 WHIRLPOOL ea82b224071247421af12daecca9ed25ea8115841bab964cc12e381624e6bc1e443b18f603c50f17f951238b333e91992f15cfb97790b901e376d76d8d04de41
+DIST node-lodash-3.10.1.tgz 173550 SHA256 4578a0a45fae7bfc8f0ea464e9ca3b1330ad6d2c4696d61dc7e7afdcf4e2c925 SHA512 f660c3c2a54899ae8e657efd6650c009997cb019b44c49e47fdf7357788c0381b39084fff618aa3f9998d07a13d6234b0ab29cfd1d4707257ec897d159526bc9 WHIRLPOOL 13c347ac2925fea303d27d89697a9e83ca6228ee1cbf55986cf14bd9a8056ebd8bb7563f1f86b63c40809c80cadd8d263948a36ec9ed3228c4365a5858c4019d
+DIST node-object-assign-4.0.1.tar.gz 3429 SHA256 d59183984993c1e08ad504c15ddb1e12f6f327bc45770309d5f318fcae98c173 SHA512 973504ea20510db1d0a428b6b02885f863ca94649e737843d49c9f0059b991b8086b80ddf0fbb643300e154d33c583b2bf34fa596c48bb13adc891c530f0dfd8 WHIRLPOOL 36ea749150efc5ed3dcd245425302429fe7bced5024bb660c8130fffa356e42069a8e5e776600d5ea4a786fcd3bb35521c19038a53204b3d4a06db061daa5df9
+DIST node-rimraf-2.2.8.tar.gz 4397 SHA256 766aa845c3688d409181856ef14a1a9f4489390bf7735ed159ab6cd9cb2ad5fc SHA512 790283e3b1461cf3946f3d499fa3aca766dccca02ade7f6733768ef461f62bb7c2ffb8093e3c03fba9e00bae59d57491de9285033c2542f73e05b3152fcd7b75 WHIRLPOOL 02feb1b90399834f2d17c377c62a620507751da1add89396bf33a1a9394d8d2e5d7c709dd7be1a3b3d12641cf03032f3ea16ae16ed0f425725bcdc6f4f56f81d
+DIST nodegit-0.12.0.tar.gz 12428114 SHA256 b9b1cb8b8058a0e590635657a31193408a6db3b742f95958d70a02218990a9ab SHA512 dd7273dc6f78bd6e074d793fe066feed14b1b4554e03adf4c4053ab05960d132b7ecd44360b51b17a3c10388bd875a04e85532af4069cbc9a28f67352f64007f WHIRLPOOL 09c679861a3fc6510ebc79ea730f01d59da317423bcd3b4699a1f3da8b6b92964347fb0ab1aaa21412f3aa045f7c2a0a7451aa7fa902f0a654aa76bced38727b
+DIST nodegit-promise-4.0.0.tgz 9486 SHA256 7b1c4f2a0e2475ffb333a5d360dc2c006e74a14e78e44d0661329a9b6ae0a7e7 SHA512 ebaf81f14d7ac7cc42e43b1a58a2b8c09743108d6ba8c6f577dd582047b8207848505f7a9cef327e2b8af15a790e3f82f0171f80528ad6c49672b6aef3eb986e WHIRLPOOL e6383d55696dabc121471cccfdd32743e9880bc1d2f054217e816e6c8c1be3a4f167bb9cda3ceddb778e7b609291aeefddc1fe2a21b3e8c1080a7ee29c5f3c46
+DIST nodegit-promisify-node-0.4.0.tar.gz 6190 SHA256 9bf342475d7c82d2f95d29eb1ce97f6f61387170d37c3690d107aaa0109dd435 SHA512 e9771bbd857084f115df7cee884182fd5c5e9e8f600350bd1a38c72427f34edcf1125280ebbc3154dc93db86fa614b75ab9df7d1b8b22f90ea3e80cc1cb70830 WHIRLPOOL 224c24cc0e5f8b0858eef565cfb40327f2369f8f60869b84e263d967e3c9d780773af9b06f31b9e895a4fd66aa78ca4369bf1d6b6f9f2c607af6722e29fe70ad
+DIST nodejs-nan-2.0.9.tar.gz 147832 SHA256 4c29221f2beacd79a53f3399f3e6c34a33a0febf5249d92947391e615bfb4899 SHA512 7a680759f2391901c34c2fdd6be20565869c666bde786767a016beade561137b12038afbcf089496f9febdff3a9e6638e310f0ce8f60efb8beca5204ad8e1442 WHIRLPOOL c88038876b294f44da6f6f0a697f91f60d5c2beee018b95115dbd284ce23db80f76593737f507c02a4515265a06f59df4573b657062e6b1252c0ed4d834fe28a

diff --git a/app-editors/atom/atom-1.7.3.ebuild b/app-editors/atom/atom-1.7.3.ebuild
index 6c0541e..36de15d 100644
--- a/app-editors/atom/atom-1.7.3.ebuild
+++ b/app-editors/atom/atom-1.7.3.ebuild
@@ -5,81 +5,363 @@
 EAPI=6
 
 PYTHON_COMPAT=( python2_7 )
-inherit flag-o-matic python-any-r1 eutils
+inherit flag-o-matic python-any-r1 eutils rpm
 
 DESCRIPTION="A hackable text editor for the 21st Century"
 HOMEPAGE="https://atom.io"
-SRC_URI="https://github.com/atom/atom/archive/v${PV}.tar.gz -> ${PV}.tar.gz"
+MY_PV="${PV//_/-}"
+
+# All binary packages depend on this
+NAN_V=2.0.9
+
+# Keep dep versions in sync with atom/package.json
+CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
+GIT_UTILS_V=4.1.2
+NODEGIT_V=0.12.0
+NODE_NSLOG_V=3.0.0
+NODE_ONIGURUMA_V=5.1.2
+NODE_PATHWATCHER_V=6.2.4
+NODE_RUNAS_V=3.1.1
+SCROLLBAR_STYLE_V=3.2.0
+SPELL_CHECK_V=0.67.0
+
+# textbuffer dependency
+MARKER_INDEX_V=3.1.0
+
+# apm dependency
+NODE_KEYTAR_V=3.0.2
+
+# atom-keymap dependency
+KEYBOARD_LAYOUT_V=1.0.0
+
+# symbols-view dependency
+NODE_CTAGS_V=3.0.0
+
+# spell-check dependency
+NODE_SPELLCHECKER_V=3.2.3
+
+# nodegit dependencies
+PROMISIFY_NODE_V=0.4.0
+NODE_FS_EXTRA_V=0.26.2
+NODE_GRACEFUL_FS_V=4.1.2
+NODE_JSONFILE_V=2.1.0
+NODE_KLAW_V=1.0.0
+RIMRAF_V=2.2.8
+NODE_LODASH_V=3.10.1
+COMBYNE_V=0.8.1
+JS_BEAUTIFY_V=1.5.10
+NODEGIT_PROMISE_V=4.0.0
+ASAP_V=2.0.3
+OBJECT_ASSIGN_V=4.0.1
+
+# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
+SRC_URI="
+	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
+	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
+	https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
+	https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
+	https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
+	https://github.com/nodegit/nodegit/archive/v${NODEGIT_V}.tar.gz -> nodegit-${NODEGIT_V}.tar.gz
+	https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
+	https://github.com/atom/marker-index/archive/v${MARKER_INDEX_V}.tar.gz -> atom-marker-index-${MARKER_INDEX_V}.tar.gz
+	https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
+	https://github.com/atom/node-nslog/archive/v${NODE_NSLOG_V}.tar.gz -> atom-node-nslog-${NODE_NSLOG_V}.tar.gz
+	https://github.com/atom/node-oniguruma/archive/v${NODE_ONIGURUMA_V}.tar.gz -> atom-node-oniguruma-${NODE_ONIGURUMA_V}.tar.gz
+	https://github.com/atom/node-pathwatcher/archive/v${NODE_PATHWATCHER_V}.tar.gz -> atom-node-pathwatcher-${NODE_PATHWATCHER_V}.tar.gz
+	https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
+	https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
+	https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
+
+	https://github.com/nodegit/promisify-node/archive/${PROMISIFY_NODE_V}.tar.gz -> nodegit-promisify-node-${PROMISIFY_NODE_V}.tar.gz
+	https://registry.npmjs.org/nodegit-promise/-/nodegit-promise-${NODEGIT_PROMISE_V}.tgz
+	https://registry.npmjs.org/lodash/-/lodash-${NODE_LODASH_V}.tgz -> node-lodash-${NODE_LODASH_V}.tgz
+	https://github.com/kriskowal/asap/archive/v${ASAP_V}.tar.gz -> node-asap-${ASAP_V}.tar.gz
+	https://github.com/sindresorhus/object-assign/archive/v${OBJECT_ASSIGN_V}.tar.gz -> node-object-assign-${OBJECT_ASSIGN_V}.tar.gz
+	https://github.com/jprichardson/node-fs-extra/archive/${NODE_FS_EXTRA_V}.tar.gz -> node-fs-extra-${NODE_FS_EXTRA_V}.tar.gz
+	https://github.com/jprichardson/node-jsonfile/archive/${NODE_JSONFILE_V}.tar.gz -> node-jsonfile-${NODE_JSONFILE_V}.tar.gz
+	https://github.com/jprichardson/node-klaw/archive/${NODE_KLAW_V}.tar.gz -> node-klaw-${NODE_KLAW_V}.tar.gz
+	https://github.com/isaacs/node-graceful-fs/archive/v${NODE_GRACEFUL_FS_V}.tar.gz -> node-graceful-fs-${NODE_GRACEFUL_FS_V}.tar.gz
+	https://github.com/isaacs/rimraf/archive/v${RIMRAF_V}.tar.gz -> node-rimraf-${RIMRAF_V}.tar.gz
+	https://github.com/tbranyen/combyne/archive/${COMBYNE_V}.tar.gz -> node-combyne-${COMBYNE_V}.tar.gz
+	https://github.com/beautify-web/js-beautify/archive/v${JS_BEAUTIFY_V}.tar.gz -> node-js-beautify-${JS_BEAUTIFY_V}.tar.gz
+"
+
+BINMODS="
+		cached-run-in-this-context
+		node-ctags
+		git-utils
+		nodegit
+		keyboard-layout
+		node-nslog
+		node-oniguruma
+		node-pathwatcher
+		node-runas
+		node-keytar
+		scrollbar-style
+		node-spellchecker
+		marker-index
+"
+
 RESTRICT="mirror"
 LICENSE="MIT"
 SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64"
 IUSE=""
 
 DEPEND="
+	!dev-util/apm
 	${PYTHON_DEPS}
-	net-libs/nodejs[npm]
-	media-fonts/inconsolata
-	gnome-base/gconf
-	x11-libs/gtk+:2
-	gnome-base/libgnome-keyring
-	x11-libs/libnotify
-	x11-libs/libXtst
-	dev-libs/nss
-	media-libs/alsa-lib
+	>=net-libs/nodejs-5.9.0:=[npm]
+	>=app-text/hunspell-1.3.3:=
+	=dev-libs/libgit2-0.23*:=[ssh]
+	>=dev-libs/oniguruma-5.9.5:=
+	>=dev-util/ctags-5.8
+	dev-util/electron:0/36
 "
 RDEPEND="${DEPEND}"
 
+S="${WORKDIR}/${PN}-${MY_PV}"
+
 pkg_setup() {
 	python-any-r1_pkg_setup
-	npm config set python $PYTHON
 }
 
-src_prepare(){
+get_install_suffix() {
+	local c=(${SLOT//\// })
+	local slot=${c[0]}
+	local suffix
+
+	if [[ "${slot}" == "0" ]]; then
+		suffix=""
+	else
+		suffix="-${slot}"
+	fi
+
+	echo -n "${suffix}"
+}
+
+get_install_dir() {
+	echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
+}
+
+package_dir() {
+	local binmod="${1}" binmod_v
+	eval binmod_v=\${$(tr '[:lower:]' '[:upper:]' <<< ${binmod//-/_}_V)}
+	echo -n ${binmod}-${binmod_v}
+}
+
+_unpack_npm_package() {
+	local a="${1}" basename suffix
+
+	basename=${a%.*}
+	suffix=${basename##*.}
+	if [[ "${suffix}" == "tar" ]]; then
+		basename=${basename%.*}
+	fi
+
+	unpack ${a}
+	mv package "${basename}" || die
+}
+
+_have_patches_for() {
+	local _patches="${1}-*.patch" _find
+	_find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
+	test -n "$_find"
+}
+
+src_unpack() {
+	local a
+
+	for a in ${A} ; do
+		case ${a} in
+		*.rpm) srcrpm_unpack "${a}" ;;
+		nodegit-promise*|node-lodash*) _unpack_npm_package "${a}" ;;
+		*) unpack "${a}" ;;
+		esac
+	done
+
+	mkdir "${WORKDIR}/atom-${MY_PV}" || die
+	mv "${WORKDIR}/usr" "${WORKDIR}/atom-${MY_PV}" || die
+}
+
+src_prepare() {
+	local install_dir="$(get_install_dir)"
+	local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
+
+	cd "${S}/usr/share/atom/resources/app" || die
 	epatch "${FILESDIR}/${PN}-python.patch"
-	sed -i  -e "/exception-reporting/d" \
-		-e "/metrics/d" package.json
-	sed -e "s/<%= description %>/$pkgdesc/" \
-		-e "s|<%= installDir %>/share/<%= appFileName %>/atom|/usr/bin/atom|"\
-		-e "s|<%= iconPath %>|atom|"\
-		-e "s|<%= appName %>|Atom|" \
-		resources/linux/atom.desktop.in > resources/linux/Atom.desktop
-
-	# Fix atom location guessing
-	sed -i -e 's/ATOM_PATH="$USR_DIRECTORY\/share\/atom/ATOM_PATH="$USR_DIRECTORY\/../g' \
+	epatch "${FILESDIR}/${PN}-unbundle-electron.patch"
+
+	sed -i -e "s|{{ATOM_PATH}}|/usr/$(get_libdir)/electron/electron|g" \
 		./atom.sh \
-		|| die "Fail fixing atom-shell directory"
+		|| die
 
-	# Make bootstrap process more verbose
-	sed -i -e 's@node script/bootstrap@node script/bootstrap --no-quiet@g' \
-		./script/build \
-		|| die "Fail fixing verbosity of script/build"
-	default
+	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
+		./atom.sh \
+		|| die
+
+	local env="export NPM_CONFIG_NODEDIR=/usr/include/electron/node/"
+	sed -i -e \
+		"s|\"\$binDir/\$nodeBin\" --harmony_collections|${env}\nexec /usr/bin/node|g" \
+			apm/bin/apm || die
+
+	rm apm/bin/node || die
+
+	sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
+		"${S}/usr/share/applications/atom.desktop" || die
+
+	cd "${S}" || die
+
+	for binmod in ${BINMODS}; do
+		_s="${WORKDIR}/$(package_dir ${binmod})"
+		cd "${_s}" || die
+		if _have_patches_for "${binmod}"; then
+			for patch in "${FILESDIR}"/${binmod}-*.patch; do
+				epatch "${patch}"
+			done
+		fi
+	done
+
+	# Unbundle bundled libs from modules
+
+	_s="${WORKDIR}/$(package_dir git-utils)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "git;libgit2;git2" "${_s}/binding.gyp" || die
+
+	_s="${WORKDIR}/$(package_dir node-oniguruma)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "onig_scanner;oniguruma;onig" "${_s}/binding.gyp" || die
+
+	_s="${WORKDIR}/$(package_dir node-spellchecker)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "spellchecker;hunspell;hunspell" "${_s}/binding.gyp" || die
+
+	for binmod in ${BINMODS}; do
+		_s="${WORKDIR}/$(package_dir ${binmod})"
+		mkdir -p "${_s}/node_modules" || die
+		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
+	done
+
+	_s="${WORKDIR}/$(package_dir nodegit)"
+	ln -s "${WORKDIR}/$(package_dir node-fs-extra)" "${_s}/node_modules/fs-extra" || die
+	ln -s "${WORKDIR}/$(package_dir promisify-node)" "${_s}/node_modules/promisify-node" || die
+	ln -s "${WORKDIR}/$(package_dir combyne)" "${_s}/node_modules/combyne" || die
+	ln -s "${WORKDIR}/$(package_dir js-beautify)" "${_s}/node_modules/js-beautify" || die
+	ln -s "${WORKDIR}/$(package_dir node-lodash)" "${_s}/node_modules/lodash" || die
+
+	_s="${WORKDIR}/$(package_dir promisify-node)"
+	mkdir "${_s}/node_modules" || die
+	ln -s "${WORKDIR}/$(package_dir nodegit-promise)" "${_s}/node_modules/nodegit-promise" || die
+	ln -s "${WORKDIR}/$(package_dir object-assign)" "${_s}/node_modules/object-assign" || die
+
+	_s="${WORKDIR}/$(package_dir nodegit-promise)"
+	mkdir "${_s}/node_modules" || die
+	ln -s "${WORKDIR}/$(package_dir asap)" "${_s}/node_modules/asap" || die
+
+	_s="${WORKDIR}/$(package_dir node-fs-extra)"
+	mkdir "${_s}/node_modules" || die
+	ln -s "${WORKDIR}/$(package_dir node-graceful-fs)" "${_s}/node_modules/graceful-fs" || die
+	ln -s "${WORKDIR}/$(package_dir node-jsonfile)" "${_s}/node_modules/jsonfile" || die
+	ln -s "${WORKDIR}/$(package_dir node-klaw)" "${_s}/node_modules/klaw" || die
+	ln -s "${WORKDIR}/$(package_dir rimraf)" "${_s}/node_modules/rimraf" || die
+
+	eapply_user
 }
 
-src_compile(){
-	./script/build --verbose --build-dir "${T}" || die "Failed to compile"
-	"${T}/Atom/resources/app/apm/bin/apm" rebuild || die "Failed to rebuild native module"
-	echo "python = $PYTHON" >> "${T}/Atom/resources/app/apm/.apmrc"
+src_configure() {
+	local binmod _s
+
+	_s="${WORKDIR}/$(package_dir nodegit)"
+	cd "${_s}" || die
+	node generate/scripts/generateJson.js || die
+	node generate/scripts/generateNativeCode.js || die
+
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "nodegit;vendor/libgit2.gyp:libgit2;git2;ssh2" "${_s}/binding.gyp" || die
+
+	for binmod in ${BINMODS}; do
+		einfo "Configuring ${binmod}..."
+		_s="${WORKDIR}/$(package_dir ${binmod})"
+		cd "${_s}" || die
+		node-gyp --nodedir=/usr/include/electron/node/ configure || die
+		# Unclobber MAKEFLAGS
+		sed -i -e '/MAKEFLAGS=-r/d' build/Makefile || die
+	done
 }
 
-src_install(){
-	insinto "/usr/share/${PN}"
-	doins -r "${T}"/Atom/*
-	insinto "/usr/share/applications"
-	newins resources/linux/Atom.desktop atom.desktop
-	insinto "/usr/share/pixmaps"
-	newins resources/app-icons/stable/png/128.png atom.png
-	insinto "/usr/share/licenses/${PN}"
-	doins LICENSE.md
-	# Fixes permissions
-	fperms +x "/usr/share/${PN}/${PN}"
-	fperms +x "/usr/share/${PN}/libgcrypt.so.11"
-	fperms +x "/usr/share/${PN}/resources/app/atom.sh"
-	fperms +x "/usr/share/${PN}/resources/app/apm/bin/apm"
-	fperms +x "/usr/share/${PN}/resources/app/apm/bin/node"
-	fperms +x "/usr/share/${PN}/resources/app/apm/node_modules/npm/bin/node-gyp-bin/node-gyp"
-	# Symlinking to /usr/bin
-	dosym "/usr/share/${PN}/resources/app/atom.sh" /usr/bin/atom
-	dosym "/usr/share/${PN}/resources/app/apm/bin/apm" /usr/bin/apm
+src_compile() {
+	local binmod _s x
+
+	mkdir -p "${S}/build/modules/" || die
+
+	for binmod in ${BINMODS}; do
+		einfo "Building ${binmod}..."
+		_s="${WORKDIR}/$(package_dir ${binmod})"
+		cd "${_s}" || die
+		node-gyp --nodedir=/usr/include/electron/node/ --verbose build || die
+		x=${binmod##node-}
+		mkdir -p "${S}/build/modules/${x}"
+		cp build/Release/*.node "${S}/build/modules/${x}"
+	done
+}
+
+_fix_binmods() {
+	local _dir="${2}" _prefix="${1}" path relpath modpath mod depth link f d
+	local cruft
+
+	find "${_prefix}/${_dir}" -name '*.node' -print | while IFS= read -r path; do
+		f=$(basename "${path}")
+		d=$(dirname "${path}")
+	    relpath=${path#${_prefix}}
+		relpath=${relpath##/}
+		relpath=${relpath#W${_dir}}
+		modpath=$(dirname ${relpath})
+		modpath=${modpath%build/Release}
+		mod=$(basename ${modpath})
+
+		# must copy here as symlinks will cause the module loading to fail
+		cp "${ED}/${install_dir}/modules/${mod}/${f}" "${path}" || die
+		cruft=$(find "${d}" -name '*.a' -print)
+		if [ -n "${cruft}" ]; then
+			rm ${cruft} || die
+		fi
+	done
+}
+
+src_install() {
+	local install_dir="$(get_install_dir)"
+	local suffix="$(get_install_suffix)"
+	local ctags_d="${ED}/${install_dir}/app.asar.unpacked/node_modules/symbols-view/vendor"
+
+	cd "${S}" || die
+
+	insinto "${install_dir}"
+	doins -r build/modules
+
+	doins usr/share/atom/resources/app.asar
+	doins -r usr/share/atom/resources/app
+	doins -r usr/share/atom/resources/app.asar.unpacked
+
+	_fix_binmods "${ED}/${install_dir}" "app"
+	_fix_binmods "${ED}/${install_dir}" "app.asar.unpacked"
+
+	rm -r "${ED}/${install_dir}/modules" || die
+
+	# Remove vendored ctags binary and replace with a symlink to system ctags
+	rm "${ctags_d}"/* || die
+	ln -s "/usr/bin/ctags" "${ctags_d}/ctags-linux" || die
+
+	insinto /usr/share/applications/
+	newins usr/share/applications/atom.desktop "atom${suffix}.desktop"
+
+	insinto /usr/share/icons/
+	doins -r usr/share/icons/hicolor
+
+	exeinto "${install_dir}"
+	newexe usr/share/atom/resources/app/atom.sh atom
+	insinto /usr/share/licenses/"${PN}${suffix}"
+	doins usr/share/atom/resources/LICENSE.md
+	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
+	fperms +x "${install_dir}/app/apm/bin/apm"
+	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
 }

diff --git a/app-editors/atom/files/atom-unbundle-electron.patch b/app-editors/atom/files/atom-unbundle-electron.patch
new file mode 100644
index 0000000..ba58330
--- /dev/null
+++ b/app-editors/atom/files/atom-unbundle-electron.patch
@@ -0,0 +1,45 @@
+From d8e2b7e0fabdb4604063071f7f3a4a24e49daca7 Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Thu, 5 May 2016 17:23:35 -0400
+Subject: [PATCH] Unbundle electron
+
+---
+ atom.sh | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/atom.sh b/atom.sh
+index b68716b..d89587f 100755
+--- a/atom.sh
++++ b/atom.sh
+@@ -87,11 +87,9 @@ elif [ $OS == 'Linux' ]; then
+   SCRIPT=$(readlink -f "$0")
+   USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
+ 
+-  if [ -n "$BETA_VERSION" ]; then
+-    ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
+-  else
+-    ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
+-  fi
++  export NPM_CONFIG_NODEDIR="/usr/include/electron/node/"
++  export ATOM_RESOURCE_PATH="{{ATOM_RESOURCE_PATH}}"
++  ATOM_PATH="{{ATOM_PATH}}"
+ 
+   ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
+   mkdir -p "$ATOM_HOME"
+@@ -101,11 +99,11 @@ elif [ $OS == 'Linux' ]; then
+   [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
+ 
+   if [ $EXPECT_OUTPUT ]; then
+-    "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++    "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+     exit $?
+   else
+     (
+-    nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
++    nohup "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+     if [ $? -ne 0 ]; then
+       cat "$ATOM_HOME/nohup.out"
+       exit $?
+-- 
+2.7.3
+

diff --git a/app-editors/atom/files/gyp-unbundle.py b/app-editors/atom/files/gyp-unbundle.py
new file mode 100644
index 0000000..381de79
--- /dev/null
+++ b/app-editors/atom/files/gyp-unbundle.py
@@ -0,0 +1,123 @@
+#!/usr/bin/env python
+
+from __future__ import print_function
+
+
+import argparse
+import sys
+
+
+def die(msg):
+    print(msg, file=sys.stderr)
+    sys.exit(1)
+
+
+def do_unbundle(gypdata, targets):
+    gyptargets = {t['target_name']: t for t in gypdata['targets']}
+    dropped_deps = set()
+
+    def _unbundle_in_block(gypblock):
+        gypdeps = gypblock.get('dependencies') or {}
+
+        for dep, libs in unbundlings.items():
+            if dep not in gypdeps:
+                continue
+
+            gypdeps.remove(dep)
+
+            try:
+                ls = gyptarget['link_settings']
+            except KeyError:
+                ls = gyptarget['link_settings'] = {}
+
+            try:
+                gyplibs = ls['libraries']
+            except KeyError:
+                gyplibs = ls['libraries'] = []
+
+            gyplibs.extend('-l{}'.format(lib) for lib in libs)
+
+            dropped_deps.add(dep)
+
+        gypconds = gypblock.get('conditions') or []
+        for cond in gypconds:
+            condblocks = cond[1:]
+            for condblock in condblocks:
+                _unbundle_in_block(condblock)
+
+    for target, unbundlings in targets.items():
+        if target not in gyptargets:
+            die('There is no {} target in gyp file'.format(target))
+
+        gyptarget = gyptargets[target]
+
+        _unbundle_in_block(gyptarget)
+
+    for gyptarget in gypdata['targets']:
+        if gyptarget['target_name'] in dropped_deps:
+            if gyptarget.get('dependencies'):
+                dropped_deps.update(gyptarget.get('dependencies'))
+
+    new_targets = []
+    for gyptarget in gypdata['targets']:
+        if gyptarget['target_name'] not in dropped_deps:
+            new_targets.append(gyptarget)
+
+    gypdata['targets'] = new_targets
+
+    gypconds = gypdata.get('conditions')
+    if gypconds:
+        for cond in gypconds:
+            condblocks = cond[1:]
+            for condblock in condblocks:
+                new_targets = []
+                blocktargets = condblock.get('targets')
+                if blocktargets:
+                    for blocktarget in blocktargets:
+                        if blocktarget['target_name'] not in dropped_deps:
+                            new_targets.append(blocktarget)
+                    condblock['targets'] = new_targets
+
+
+def main():
+    parser = argparse.ArgumentParser(description='Unbundle libs in gyp files')
+    parser.add_argument('gypfile', type=str, help='input gyp file')
+    parser.add_argument(
+        '--unbundle', type=str, action='append',
+        help='unbundle rule in the format <target>;<dep>;<lib>[;lib]')
+    parser.add_argument(
+        '-i', '--inplace', action='store_true',
+        help='modify gyp file in-place')
+
+    args = parser.parse_args()
+
+    targets = {}
+
+    for unbundle in args.unbundle:
+        rule = unbundle.split(';')
+        if len(rule) < 3:
+            die('Invalid unbundle rule: {!r}'.format(unbundle))
+        target, dep = rule[:2]
+        libs = rule[2:]
+
+        try:
+            target_unbundlings = targets[target]
+        except KeyError:
+            target_unbundlings = targets[target] = {}
+
+        target_unbundlings[dep] = libs
+
+    with open(args.gypfile, 'rt') as f:
+        gypdata = eval(f.read())
+
+    do_unbundle(gypdata, targets)
+
+    if args.inplace:
+        with open(args.gypfile, 'wt') as f:
+            f.write(repr(gypdata) + "\n")
+    else:
+        print(repr(gypdata))
+
+
+if __name__ == '__main__':
+    main()

diff --git a/app-editors/atom/metadata.xml b/app-editors/atom/metadata.xml
index 8f40765..1fac832 100644
--- a/app-editors/atom/metadata.xml
+++ b/app-editors/atom/metadata.xml
@@ -4,4 +4,12 @@
 	<maintainer type="person">
 		<email>cynede@gentoo.org</email>
 	</maintainer>
+	<maintainer type="person">
+		<email>elvis@magic.io</email>
+		<name>Elvis Pranskevichus</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
 </pkgmetadata>


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

* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2016-05-25  8:34 Patrice Clement
  0 siblings, 0 replies; 9+ messages in thread
From: Patrice Clement @ 2016-05-25  8:34 UTC (permalink / raw
  To: gentoo-commits

commit:     dae19fae0467398969398eb15faeb36cda02fa37
Author:     Elvis Pranskevichus <elvis <AT> magic <DOT> io>
AuthorDate: Tue May 24 21:32:33 2016 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Wed May 25 08:06:15 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dae19fae

app-editors/atom: Bump to 1.7.4, fix default apm path

Gentoo-Bug: https://bugs.gentoo.org/583040
Package-Manager: portage-2.2.28
Closes: https://github.com/gentoo/gentoo/pull/1531

Signed-off-by: Patrice Clement <monsieurp <AT> gentoo.org>

 app-editors/atom/Manifest                          |  5 +++--
 .../{atom-1.7.3-r1.ebuild => atom-1.7.4.ebuild}    | 25 +++++++++++++++++++++-
 app-editors/atom/files/atom-apm-path.patch         | 14 ++++++++++++
 3 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
index 3f33557..7d26c0a 100644
--- a/app-editors/atom/Manifest
+++ b/app-editors/atom/Manifest
@@ -1,4 +1,5 @@
-DIST atom-1.7.3.rpm 63702044 SHA256 0f21d09318cc526b12fa31eb4a527caa9db59eea4531b72b611658cbe16283a3 SHA512 f7ea3e906e6c3fa7185e49ae5fc0a461e02c079e37f8f96540847106b48c126aa7f3e431d835f98fd8fe831eae86288028623dabd83be095fd2c89e8ff50268f WHIRLPOOL 4238cca8f10b4d3bf72d78da5a019d3a33e31c9e39ad771855c8bf6aa5589e7cf9ec37aa5b62079d4fe56e33d98243dd3233d389ad2c3f05ef092fee5b213772
+DIST asar-0.10.0.tar.gz 975433 SHA256 49e743a952957aa22668b472ba926427f9e051ececeaadb922f8aff2bc8fd1ee SHA512 702fa0e496a1db55a61d7e00d55456f8703f7af00e458f26413771dc71cd03e9418e0334bb1a500aaabe14ab598e19c64612ebf6411c77e30004833c8d5d151e WHIRLPOOL a2e4f8563f779aea19357962f0ac0895005ff93a601d409a7b2c685348cba845106729e1f2a39f95001c186c0c0ba914d73ff1364d488e0853dbbabda0e80bb3
+DIST atom-1.7.4.rpm 64439092 SHA256 601ffa5d683b02cbd95bc65c76e28ecc091b7f12092b69c6e65eb93e941450e6 SHA512 4033c8bc36ba43332a1c7e08cf0fa5deaefb53152b7a56c8ca5f9c68bd88761fb54c57aa031c6702d46ce531cf1e9a8a24d2b7271fe0017a022bc4671d85d68d WHIRLPOOL 4adf85334482c49104bc6b1e96753f5c3d5243b799a6d745bd7770968d57b0ddaebee1fea382542a4219849f360f04d6ffc9d0eede5f6eb0d5e3ead3989fea03
 DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 SHA256 5487e7641d5031e652deeef8bebe2d3af4e4d2b89989dd8700bf14e33843ce89 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d WHIRLPOOL 573d0f703989f31109854f0eb324d6b1364e93cd057c4cfe20409415dee3101964cacabc246d4df43124dad881d8fec8575c6bbb23ba98698e6c73cf3c5614d4
 DIST atom-git-utils-4.1.2.tar.gz 36492 SHA256 fd627647742359946d3b8f88bc91dd4d68a047dcba5bfafbd690e1a20afeb908 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a WHIRLPOOL 4ee4620b0208a30f848167fffce05c5999d38bf5a3e50567e6bcf295fdafc7861e870346cfeb28a61392e7a737e100f90ae1dbd25066469926e3148006e02937
 DIST atom-keyboard-layout-1.0.0.tar.gz 6430 SHA256 d3f20f0765b7a243c3cfa3e49360851404977c2ed6e84dc84e9aaf28d8547d03 SHA512 a96b77c29eb1f5367f1d60ddc501fdd6e507fc92f980974bb2c1bec923b264e73104650180722819946e075284a928b4aaa01f8594365186bd8530a0179c7ff5 WHIRLPOOL 693f4a1546e0ca772ea2b2f860e6c2cf55f645031eb516021107296a3a05fca9086de62080255abae55c0ea42cc0f5aeeba26e6dd0b7eb274a8b69135bbf79c9
@@ -21,7 +22,7 @@ DIST node-klaw-1.0.0.tar.gz 4054 SHA256 ea1f37abe8bc23ec60375d7e81f23976398bf6ec
 DIST node-lodash-3.10.1.tgz 173550 SHA256 4578a0a45fae7bfc8f0ea464e9ca3b1330ad6d2c4696d61dc7e7afdcf4e2c925 SHA512 f660c3c2a54899ae8e657efd6650c009997cb019b44c49e47fdf7357788c0381b39084fff618aa3f9998d07a13d6234b0ab29cfd1d4707257ec897d159526bc9 WHIRLPOOL 13c347ac2925fea303d27d89697a9e83ca6228ee1cbf55986cf14bd9a8056ebd8bb7563f1f86b63c40809c80cadd8d263948a36ec9ed3228c4365a5858c4019d
 DIST node-object-assign-4.0.1.tar.gz 3429 SHA256 d59183984993c1e08ad504c15ddb1e12f6f327bc45770309d5f318fcae98c173 SHA512 973504ea20510db1d0a428b6b02885f863ca94649e737843d49c9f0059b991b8086b80ddf0fbb643300e154d33c583b2bf34fa596c48bb13adc891c530f0dfd8 WHIRLPOOL 36ea749150efc5ed3dcd245425302429fe7bced5024bb660c8130fffa356e42069a8e5e776600d5ea4a786fcd3bb35521c19038a53204b3d4a06db061daa5df9
 DIST node-rimraf-2.2.8.tar.gz 4397 SHA256 766aa845c3688d409181856ef14a1a9f4489390bf7735ed159ab6cd9cb2ad5fc SHA512 790283e3b1461cf3946f3d499fa3aca766dccca02ade7f6733768ef461f62bb7c2ffb8093e3c03fba9e00bae59d57491de9285033c2542f73e05b3152fcd7b75 WHIRLPOOL 02feb1b90399834f2d17c377c62a620507751da1add89396bf33a1a9394d8d2e5d7c709dd7be1a3b3d12641cf03032f3ea16ae16ed0f425725bcdc6f4f56f81d
-DIST nodegit-0.12.0.tar.gz 12428114 SHA256 b9b1cb8b8058a0e590635657a31193408a6db3b742f95958d70a02218990a9ab SHA512 dd7273dc6f78bd6e074d793fe066feed14b1b4554e03adf4c4053ab05960d132b7ecd44360b51b17a3c10388bd875a04e85532af4069cbc9a28f67352f64007f WHIRLPOOL 09c679861a3fc6510ebc79ea730f01d59da317423bcd3b4699a1f3da8b6b92964347fb0ab1aaa21412f3aa045f7c2a0a7451aa7fa902f0a654aa76bced38727b
+DIST nodegit-0.12.2.tar.gz 12429864 SHA256 d8bb337fb541dd8fefa1dd845e1f01996a5594e009bf491cf0b357a38e6ee62c SHA512 94ab080ef02484984ab7347b305869b6157df496d3b13c10b4dc196aaf3866d91dc6f8507c056d5f906a51a241c90388309945cd7b6a27d157142234d86e5ecd WHIRLPOOL 69bc8bd018976647cc4073240acfeea949eedb2c2c3b781913f9fb8c7349ccdea4af2ed3251754a3bcd853e0ba834281924914f34c56b44047c20e6ecd22ec01
 DIST nodegit-promise-4.0.0.tgz 9486 SHA256 7b1c4f2a0e2475ffb333a5d360dc2c006e74a14e78e44d0661329a9b6ae0a7e7 SHA512 ebaf81f14d7ac7cc42e43b1a58a2b8c09743108d6ba8c6f577dd582047b8207848505f7a9cef327e2b8af15a790e3f82f0171f80528ad6c49672b6aef3eb986e WHIRLPOOL e6383d55696dabc121471cccfdd32743e9880bc1d2f054217e816e6c8c1be3a4f167bb9cda3ceddb778e7b609291aeefddc1fe2a21b3e8c1080a7ee29c5f3c46
 DIST nodegit-promisify-node-0.4.0.tar.gz 6190 SHA256 9bf342475d7c82d2f95d29eb1ce97f6f61387170d37c3690d107aaa0109dd435 SHA512 e9771bbd857084f115df7cee884182fd5c5e9e8f600350bd1a38c72427f34edcf1125280ebbc3154dc93db86fa614b75ab9df7d1b8b22f90ea3e80cc1cb70830 WHIRLPOOL 224c24cc0e5f8b0858eef565cfb40327f2369f8f60869b84e263d967e3c9d780773af9b06f31b9e895a4fd66aa78ca4369bf1d6b6f9f2c607af6722e29fe70ad
 DIST nodejs-nan-2.0.9.tar.gz 147832 SHA256 4c29221f2beacd79a53f3399f3e6c34a33a0febf5249d92947391e615bfb4899 SHA512 7a680759f2391901c34c2fdd6be20565869c666bde786767a016beade561137b12038afbcf089496f9febdff3a9e6638e310f0ce8f60efb8beca5204ad8e1442 WHIRLPOOL c88038876b294f44da6f6f0a697f91f60d5c2beee018b95115dbd284ce23db80f76593737f507c02a4515265a06f59df4573b657062e6b1252c0ed4d834fe28a

diff --git a/app-editors/atom/atom-1.7.3-r1.ebuild b/app-editors/atom/atom-1.7.4.ebuild
similarity index 94%
rename from app-editors/atom/atom-1.7.3-r1.ebuild
rename to app-editors/atom/atom-1.7.4.ebuild
index 1b45786..c408132 100644
--- a/app-editors/atom/atom-1.7.3-r1.ebuild
+++ b/app-editors/atom/atom-1.7.4.ebuild
@@ -17,7 +17,7 @@ NAN_V=2.0.9
 # Keep dep versions in sync with atom/package.json
 CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
 GIT_UTILS_V=4.1.2
-NODEGIT_V=0.12.0
+NODEGIT_V=0.12.2
 NODE_NSLOG_V=3.0.0
 NODE_ONIGURUMA_V=5.1.2
 NODE_PATHWATCHER_V=6.2.4
@@ -54,9 +54,12 @@ NODEGIT_PROMISE_V=4.0.0
 ASAP_V=2.0.3
 OBJECT_ASSIGN_V=4.0.1
 
+ASAR_V=0.10.0
+
 # The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
 SRC_URI="
 	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
+	https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
 	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
 	https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
 	https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
@@ -187,6 +190,7 @@ src_unpack() {
 
 src_prepare() {
 	local install_dir="$(get_install_dir)"
+	local suffix="$(get_install_suffix)"
 	local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
 
 	cd "${S}/usr/share/atom/resources/app" || die
@@ -266,6 +270,19 @@ src_prepare() {
 	ln -s "${WORKDIR}/$(package_dir node-klaw)" "${_s}/node_modules/klaw" || die
 	ln -s "${WORKDIR}/$(package_dir rimraf)" "${_s}/node_modules/rimraf" || die
 
+	# Unpack app.asar
+	_s="${WORKDIR}/$(package_dir asar)"
+	"${_s}"/node_modules/asar/bin/asar \
+		extract "${S}/usr/share/atom/resources/app.asar" \
+				"${S}/build/app.asar" || die
+
+	cd "${S}" || die
+
+	epatch "${FILESDIR}/atom-apm-path.patch"
+
+	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
+		"${S}/build/app.asar/src/config-schema.js" || die
+
 	eapply_user
 }
 
@@ -304,6 +321,12 @@ src_compile() {
 		mkdir -p "${S}/build/modules/${x}"
 		cp build/Release/*.node "${S}/build/modules/${x}"
 	done
+
+	# Re-pack app.asar
+	_s="${WORKDIR}/$(package_dir asar)"
+	"${_s}"/node_modules/asar/bin/asar \
+		pack "${S}/build/app.asar" \
+             "${S}/usr/share/atom/resources/app.asar" || die
 }
 
 _fix_binmods() {

diff --git a/app-editors/atom/files/atom-apm-path.patch b/app-editors/atom/files/atom-apm-path.patch
new file mode 100644
index 0000000..8746b95
--- /dev/null
+++ b/app-editors/atom/files/atom-apm-path.patch
@@ -0,0 +1,14 @@
+--- build/app.asar/src/config-schema.js.orig	2016-05-24 16:59:41.284449076 -0400
++++ build/app.asar/src/config-schema.js	2016-05-24 17:01:05.685447769 -0400
+@@ -9,6 +9,11 @@
+     core: {
+       type: 'object',
+       properties: {
++        apmPath: {
++          type: 'string',
++          "default": '/usr/bin/apm{{ATOM_SUFFIX}}',
++          description: 'Path to apm executable.'
++        },
+         ignoredNames: {
+           type: 'array',
+           "default": [".git", ".hg", ".svn", ".DS_Store", "._*", "Thumbs.db"],


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

* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2016-09-20  6:12 Yixun Lan
  0 siblings, 0 replies; 9+ messages in thread
From: Yixun Lan @ 2016-09-20  6:12 UTC (permalink / raw
  To: gentoo-commits

commit:     44c6d933b15c5b677a4cc3c01cd6aaa6b14d4a18
Author:     Elvis Pranskevichus <elvis <AT> magic <DOT> io>
AuthorDate: Thu Sep 15 13:31:15 2016 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 06:12:22 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44c6d933

app-editors/atom: Migrate to slotted electron, add atom-1.10.2, fixes

Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=589900
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=593502
Closes: https://github.com/gentoo/gentoo/pull/2336

Package-Manager: portage-2.2.28

Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>

 app-editors/atom/Manifest                          |   7 +-
 .../{atom-1.7.4-r3.ebuild => atom-1.10.2.ebuild}   | 146 +++++++++------------
 .../{atom-1.8.0.ebuild => atom-1.7.4-r4.ebuild}    |  60 +++++++--
 .../{atom-1.7.4-r3.ebuild => atom-1.8.0-r1.ebuild} |  60 +++++++--
 .../atom/files/atom-unbundle-electron.patch        |   6 +-
 5 files changed, 169 insertions(+), 110 deletions(-)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
index e2a29dc..b940055 100644
--- a/app-editors/atom/Manifest
+++ b/app-editors/atom/Manifest
@@ -1,15 +1,19 @@
-DIST asar-0.10.0.tar.gz 975433 SHA256 49e743a952957aa22668b472ba926427f9e051ececeaadb922f8aff2bc8fd1ee SHA512 702fa0e496a1db55a61d7e00d55456f8703f7af00e458f26413771dc71cd03e9418e0334bb1a500aaabe14ab598e19c64612ebf6411c77e30004833c8d5d151e WHIRLPOOL a2e4f8563f779aea19357962f0ac0895005ff93a601d409a7b2c685348cba845106729e1f2a39f95001c186c0c0ba914d73ff1364d488e0853dbbabda0e80bb3
+DIST asar-0.12.1.tar.gz 1016626 SHA256 731714f0036318fe0878b517391a01977954bb088d4dbc7dd98682ff1e03c0e7 SHA512 fc64be9b11215426d405f7acd7adf6c0eead3135b0012baf6d168a13c77675058a4e2c60682928ac014e4bef4538d452ad745d1e87dd315387997a19e04718a7 WHIRLPOOL d73b8bb459724bb3b011de312171519c1f1954a94ce1bb0a20eb9877c168baa82a15786d3ab420d5b3d32ce8a11333e85f844b43c21cbd56c3b019e73774388e
+DIST atom-1.10.2.rpm 67753816 SHA256 18ad153c932ef41e9c6b8394eeb114005c4d9c317a30dac238ecb51b78920c16 SHA512 1cc4ca2adec2fee66c30c4ef3b0c8f5613a83a54608a7c3bc677680db7657c8c6128a3e1c424251a7b2e9a13b6bc84ee280ec0ee7ea70815784a0432558ec17c WHIRLPOOL 288748edb89f466dc471ed22f008c84ba3a377fd50defa70a45059ae78a9e805026c97d4438b587472fbb37c15b63afb80c1910c5da87adf5a288fe198ec34a3
 DIST atom-1.7.4.rpm 64439092 SHA256 601ffa5d683b02cbd95bc65c76e28ecc091b7f12092b69c6e65eb93e941450e6 SHA512 4033c8bc36ba43332a1c7e08cf0fa5deaefb53152b7a56c8ca5f9c68bd88761fb54c57aa031c6702d46ce531cf1e9a8a24d2b7271fe0017a022bc4671d85d68d WHIRLPOOL 4adf85334482c49104bc6b1e96753f5c3d5243b799a6d745bd7770968d57b0ddaebee1fea382542a4219849f360f04d6ffc9d0eede5f6eb0d5e3ead3989fea03
 DIST atom-1.8.0.rpm 64364944 SHA256 7e9d64fd894ac8c307c377714cfb8d6ace44f80f09fec9222cd2e7858459a2d7 SHA512 1766cbb5a3cf544962a4adc2df4bc8de79d0ae8b90273e5798920f264dba100adf8f1bdfc2b7011c9d666f59bbc328dbf024ccab369ac76ebe6961c050f6e748 WHIRLPOOL 652a815a500cca79431a79dd43b8c0f73c3b7c7a387dc0bf5e89ef828df23670ab6a87df0737e66bd80b87ef474772ef31c27e17d014092ae33515ce1da10afc
 DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 SHA256 5487e7641d5031e652deeef8bebe2d3af4e4d2b89989dd8700bf14e33843ce89 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d WHIRLPOOL 573d0f703989f31109854f0eb324d6b1364e93cd057c4cfe20409415dee3101964cacabc246d4df43124dad881d8fec8575c6bbb23ba98698e6c73cf3c5614d4
 DIST atom-git-utils-4.1.2.tar.gz 36492 SHA256 fd627647742359946d3b8f88bc91dd4d68a047dcba5bfafbd690e1a20afeb908 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a WHIRLPOOL 4ee4620b0208a30f848167fffce05c5999d38bf5a3e50567e6bcf295fdafc7861e870346cfeb28a61392e7a737e100f90ae1dbd25066469926e3148006e02937
 DIST atom-keyboard-layout-1.0.0.tar.gz 6430 SHA256 d3f20f0765b7a243c3cfa3e49360851404977c2ed6e84dc84e9aaf28d8547d03 SHA512 a96b77c29eb1f5367f1d60ddc501fdd6e507fc92f980974bb2c1bec923b264e73104650180722819946e075284a928b4aaa01f8594365186bd8530a0179c7ff5 WHIRLPOOL 693f4a1546e0ca772ea2b2f860e6c2cf55f645031eb516021107296a3a05fca9086de62080255abae55c0ea42cc0f5aeeba26e6dd0b7eb274a8b69135bbf79c9
+DIST atom-keyboard-layout-1.0.1.tar.gz 6512 SHA256 aed0c2745acaadf4c5fdcb74df4f0c0ad6fd6cb53742567c80a8220dc041aace SHA512 4d369a0a5cf9053929f20f21f3955703f5df6d44629a0208afd88d1d11af52fd30af6930de89480ab796f83202c21d42afbb56765cef0efb3b2ea381a9804081 WHIRLPOOL d600811081270a81c4ffb46883d24c5dca5c78023d83b6fce3375dd6ef140f39c7b83a4b8e4bcfcf304d8032b18c9461612316c71a8246ddb7465c1b3d781fd3
 DIST atom-marker-index-3.1.0.tar.gz 18065 SHA256 264e5553edee7e10766083433f952a515601201b53d332ecfe0fd43870fb4a38 SHA512 e50c2e03555d18e2eae0eb4ca5b16f486a53bf67803da6eb7eec90ef86048939f302baf15678a3af964b36ae809387d4665024e4d61bd9741738b12e84f4db64 WHIRLPOOL 179fafbd85d9b6e093ab646264716b0708d39aa3e1cd5771fbe173f2cd1ebb05f9a2525e5bb27d9605e2fd4ab5773a68d6552667c285ad3cbdbfbb6ae7d8b30e
+DIST atom-marker-index-4.0.0.tar.gz 18344 SHA256 afb0da1f7006d044aeeb8adbfa94fdafde9902f26fbfeb012a3caa97aee11fb0 SHA512 43e68e655f49d7a092af5cba7cbb7e902221e6076e1f7dfd163bf316ef06883db713af71ac79e63c1c81c22ed9bed168e36a2616b64c70ef4b654c71bbf76cd8 WHIRLPOOL 9fbc6346db0297bc3a097e9497b0ea4be07f7bd4da3eb0343734e0041535cc749c16510b71b4abde0e31fdde241e4f7b4605a5c0df7713d8b9683f2f786c07b5
 DIST atom-node-ctags-3.0.0.tar.gz 15062 SHA256 40605012d06d4dcbfc369862b57900b6963613e2e4ee3b37fea21693b2b418a7 SHA512 6f7277a0ff872991c365f811c635fd881c3e466c20219d8a7bdaf6fec7c26c5feaa7ae2118691a8d52ceb3ecfda6d795bf39dfda7f8df5a6d02388575a010f87 WHIRLPOOL 2cff81d2ca405a615e5c7d284785f129f8fcd968998c68a42af1ca2e6d76a6fcb404a92f3c0d20220567b28593448b91657db6df8bce19de1f2eedbfe2959140
 DIST atom-node-keytar-3.0.2.tar.gz 5718 SHA256 16af03d2a7876e3008f82d35e913753384655bc181e93cb771639b6d5a2439bf SHA512 f08ec6e50071e6e8995244607144009eaa8fd61a1724c80c40ccfb497e2b4682b30d6a091de9480b78f49ceb11f1a655e12ccb6b43d3df34f7e089585381697a WHIRLPOOL 69b10619531bedb839c61c1b29d18d1a0bf4e468ed05ebd58db349010b8de555673f45bdf98c4ad252aaa960b47faa00d952470e9b3545a0e1e189bbb3e49ded
 DIST atom-node-nslog-3.0.0.tar.gz 2774 SHA256 6f2c7b79dd27688829d72dcbb94cc3da8b86fe74f355e1d407907cc56da29747 SHA512 1891632486acfa014eec79f70b14d56d967670310e46dedccfc9dfa505581365765f6bd42ad538b29e74d7c7de83d045b4199dd634fc588734a1ee086dcddb0a WHIRLPOOL d29f2c68e6168ce020c2a73d73f107ffb4c777e006fba4f01a93045ad631fb2d8b83f989244caf4d5e2f66474e660f3479d79a03e82a6b8fa8a297586ee6e556
 DIST atom-node-oniguruma-5.1.2.tar.gz 662091 SHA256 130ab56cd6c29c4acc1f14ba31ec3f04146f02fe89c865c0af092f9d639fbdfb SHA512 e451f742ac1319b64e203848bce5d9c15251e15b083419b7a97588316eac3d86acfdbf6d7541cbd92eece48b41f90fd23f69b5e7e2d93e8bc18559c703944353 WHIRLPOOL 2cf44d2a4023655c96aed93c6c8faa45c569c75eaf2435b39f0a09ddcd53377c0ea05ac186b2e67f256c75c146bb50d971b7f9b7170d64031de79c4e76ef5252
 DIST atom-node-pathwatcher-6.2.4.tar.gz 23324 SHA256 6b47f7f0e8009fe4dac0800ac11f2a2a0366fb4fd889e444d99787e093b8cf2e SHA512 f891777a326a4f11f36a64f382fb0c9bd3fa5e6478144130b0c554aaaced079223489461050667293f1392e356f5a84838196dc39f8d54f7b3fd537f361c2c9a WHIRLPOOL 67ea2fa8a98214f3ce64a3cc5ce1ff0a757c606c02599f1c1069e3e7aa2addd32a48da2273648632b92149027cf18b64131ee9070e46c6e0a2d227239a47eeaf
+DIST atom-node-pathwatcher-6.5.0.tar.gz 23926 SHA256 a2f72f00cbe6a49152cdae85fb7585a77f0ee8b01be54fbc27a24f93935445c3 SHA512 0b8471885acc44f38161b4758951cff762f4c9ca2d17aefdb286b99fdefa6843eaa86d463e4ac54563a79f6701fcaa40252a72d73baf2b6c4e47aa00692ee314 WHIRLPOOL f3a82776b05416eda4e763c0f1db1e422b299f78cf516576b0d13b0447024962538603ce47c12a4889f7d9c984b98ca75013230ba3f1cea1575453e5c2e445dc
 DIST atom-node-runas-3.1.1.tar.gz 6628 SHA256 9d7d5a157b16fdd7263f50adb2831706d6fcf0902a1af528fc2602db6f9dc1cf SHA512 bada6e99ceb833c8c6e74f4b3116c49f21b54b922c1a27668312552779b9e5ccebf380b41c781d49c1c0dd0fdff6de8b71a0dcaf1f992892593e85f4572238df WHIRLPOOL d286d76f38ee8a23b4b76a9070913abe901f4db273073d9c0dcef13004abe7e10e9b4cad451cfe8d0cd4cc1e0ac2ab28ed50f327c1b9d317689153658f7b8944
 DIST atom-node-spellchecker-3.2.3.tar.gz 481966 SHA256 bf4a07b4c671cd38b176ff8ef375f3cdf277decb941a0a279f8ffb36151fad55 SHA512 b0209fdfcbee53d289443e1c203a720888a82fa59648b4038c036c6afe68a6b04624e23267e69c36f23c185160d6ab84b1e4020047fbe6d94354e99d717a60b9 WHIRLPOOL d883cd3d3962e38ebe4c55e997ce461fa0b0da98e8b982793b77342eac1413e16090d562a9a50cb8200a18eda751a873528fdfde3b1f1928629bd56c5568f887
 DIST atom-scrollbar-style-3.2.0.tar.gz 4609 SHA256 ea0f8f00cac609537af0d10d228054371c58b5a74785bd52fbbd276af02911ef SHA512 fc3ddfe7582517df45d7258a5857ca05fbadb92417d68b0c77d1e89e54b3bdaef3a1624e29177ebe64a2a994e62e1d1f5cb438911e881124aeec359426fab1bc WHIRLPOOL f6e75aafa8946ccc16949bdffa33b2bf050f06434a3fedcf8e1abac8b6b2d31dd37fcc137a43274d4c55d5926349486fda157d3fb6948d97063aac33b99e6578
@@ -27,3 +31,4 @@ DIST nodegit-0.12.2.tar.gz 12429864 SHA256 d8bb337fb541dd8fefa1dd845e1f01996a559
 DIST nodegit-promise-4.0.0.tgz 9486 SHA256 7b1c4f2a0e2475ffb333a5d360dc2c006e74a14e78e44d0661329a9b6ae0a7e7 SHA512 ebaf81f14d7ac7cc42e43b1a58a2b8c09743108d6ba8c6f577dd582047b8207848505f7a9cef327e2b8af15a790e3f82f0171f80528ad6c49672b6aef3eb986e WHIRLPOOL e6383d55696dabc121471cccfdd32743e9880bc1d2f054217e816e6c8c1be3a4f167bb9cda3ceddb778e7b609291aeefddc1fe2a21b3e8c1080a7ee29c5f3c46
 DIST nodegit-promisify-node-0.4.0.tar.gz 6190 SHA256 9bf342475d7c82d2f95d29eb1ce97f6f61387170d37c3690d107aaa0109dd435 SHA512 e9771bbd857084f115df7cee884182fd5c5e9e8f600350bd1a38c72427f34edcf1125280ebbc3154dc93db86fa614b75ab9df7d1b8b22f90ea3e80cc1cb70830 WHIRLPOOL 224c24cc0e5f8b0858eef565cfb40327f2369f8f60869b84e263d967e3c9d780773af9b06f31b9e895a4fd66aa78ca4369bf1d6b6f9f2c607af6722e29fe70ad
 DIST nodejs-nan-2.0.9.tar.gz 147832 SHA256 4c29221f2beacd79a53f3399f3e6c34a33a0febf5249d92947391e615bfb4899 SHA512 7a680759f2391901c34c2fdd6be20565869c666bde786767a016beade561137b12038afbcf089496f9febdff3a9e6638e310f0ce8f60efb8beca5204ad8e1442 WHIRLPOOL c88038876b294f44da6f6f0a697f91f60d5c2beee018b95115dbd284ce23db80f76593737f507c02a4515265a06f59df4573b657062e6b1252c0ed4d834fe28a
+DIST nodejs-nan-2.4.0.tar.gz 157071 SHA256 290b4cd678bb0770fcc0dfa8415f908db09173acfdde31135a4e31716c311883 SHA512 e6f3ab3f67c72b3cc9e6e6b9b5de0f73134ef504dedae5e68376198858a6796f00c35869438e0480f28006dd8f6be13dca3bcc436a1a6b28b1dea5cbc72f9e45 WHIRLPOOL 8628452c69c1774e02b8069ee8db12b7b97bc45166dd4dbec3e8d3f532c97f15a24920f2f59ecb3b8d4addcbada33eb04c1f71222531a7377bcbfaf7d4f3d86b

diff --git a/app-editors/atom/atom-1.7.4-r3.ebuild b/app-editors/atom/atom-1.10.2.ebuild
similarity index 68%
copy from app-editors/atom/atom-1.7.4-r3.ebuild
copy to app-editors/atom/atom-1.10.2.ebuild
index 0e0adcf..9f12366 100644
--- a/app-editors/atom/atom-1.7.4-r3.ebuild
+++ b/app-editors/atom/atom-1.10.2.ebuild
@@ -11,28 +11,29 @@ DESCRIPTION="A hackable text editor for the 21st Century"
 HOMEPAGE="https://atom.io"
 MY_PV="${PV//_/-}"
 
+ELECTRON_SLOT=0.37
+
 # All binary packages depend on this
-NAN_V=2.0.9
+NAN_V=2.4.0
 
 # Keep dep versions in sync with atom/package.json
 CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
 GIT_UTILS_V=4.1.2
-NODEGIT_V=0.12.2
 NODE_NSLOG_V=3.0.0
 NODE_ONIGURUMA_V=5.1.2
-NODE_PATHWATCHER_V=6.2.4
+NODE_PATHWATCHER_V=6.5.0
 NODE_RUNAS_V=3.1.1
 SCROLLBAR_STYLE_V=3.2.0
-SPELL_CHECK_V=0.67.0
+SPELL_CHECK_V=0.67.1
 
 # textbuffer dependency
-MARKER_INDEX_V=3.1.0
+MARKER_INDEX_V=4.0.0
 
 # apm dependency
 NODE_KEYTAR_V=3.0.2
 
 # atom-keymap dependency
-KEYBOARD_LAYOUT_V=1.0.0
+KEYBOARD_LAYOUT_V=1.0.1
 
 # symbols-view dependency
 NODE_CTAGS_V=3.0.0
@@ -40,21 +41,7 @@ NODE_CTAGS_V=3.0.0
 # spell-check dependency
 NODE_SPELLCHECKER_V=3.2.3
 
-# nodegit dependencies
-PROMISIFY_NODE_V=0.4.0
-NODE_FS_EXTRA_V=0.26.2
-NODE_GRACEFUL_FS_V=4.1.2
-NODE_JSONFILE_V=2.1.0
-NODE_KLAW_V=1.0.0
-RIMRAF_V=2.2.8
-NODE_LODASH_V=3.10.1
-COMBYNE_V=0.8.1
-JS_BEAUTIFY_V=1.5.10
-NODEGIT_PROMISE_V=4.0.0
-ASAP_V=2.0.3
-OBJECT_ASSIGN_V=4.0.1
-
-ASAR_V=0.10.0
+ASAR_V=0.12.1
 
 # The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
 SRC_URI="
@@ -64,7 +51,6 @@ SRC_URI="
 	https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
 	https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
 	https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
-	https://github.com/nodegit/nodegit/archive/v${NODEGIT_V}.tar.gz -> nodegit-${NODEGIT_V}.tar.gz
 	https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
 	https://github.com/atom/marker-index/archive/v${MARKER_INDEX_V}.tar.gz -> atom-marker-index-${MARKER_INDEX_V}.tar.gz
 	https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
@@ -74,26 +60,12 @@ SRC_URI="
 	https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
 	https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
 	https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
-
-	https://github.com/nodegit/promisify-node/archive/${PROMISIFY_NODE_V}.tar.gz -> nodegit-promisify-node-${PROMISIFY_NODE_V}.tar.gz
-	https://registry.npmjs.org/nodegit-promise/-/nodegit-promise-${NODEGIT_PROMISE_V}.tgz
-	https://registry.npmjs.org/lodash/-/lodash-${NODE_LODASH_V}.tgz -> node-lodash-${NODE_LODASH_V}.tgz
-	https://github.com/kriskowal/asap/archive/v${ASAP_V}.tar.gz -> node-asap-${ASAP_V}.tar.gz
-	https://github.com/sindresorhus/object-assign/archive/v${OBJECT_ASSIGN_V}.tar.gz -> node-object-assign-${OBJECT_ASSIGN_V}.tar.gz
-	https://github.com/jprichardson/node-fs-extra/archive/${NODE_FS_EXTRA_V}.tar.gz -> node-fs-extra-${NODE_FS_EXTRA_V}.tar.gz
-	https://github.com/jprichardson/node-jsonfile/archive/${NODE_JSONFILE_V}.tar.gz -> node-jsonfile-${NODE_JSONFILE_V}.tar.gz
-	https://github.com/jprichardson/node-klaw/archive/${NODE_KLAW_V}.tar.gz -> node-klaw-${NODE_KLAW_V}.tar.gz
-	https://github.com/isaacs/node-graceful-fs/archive/v${NODE_GRACEFUL_FS_V}.tar.gz -> node-graceful-fs-${NODE_GRACEFUL_FS_V}.tar.gz
-	https://github.com/isaacs/rimraf/archive/v${RIMRAF_V}.tar.gz -> node-rimraf-${RIMRAF_V}.tar.gz
-	https://github.com/tbranyen/combyne/archive/${COMBYNE_V}.tar.gz -> node-combyne-${COMBYNE_V}.tar.gz
-	https://github.com/beautify-web/js-beautify/archive/v${JS_BEAUTIFY_V}.tar.gz -> node-js-beautify-${JS_BEAUTIFY_V}.tar.gz
 "
 
 BINMODS="
 		cached-run-in-this-context
 		node-ctags
 		git-utils
-		nodegit
 		keyboard-layout
 		node-nslog
 		node-oniguruma
@@ -119,7 +91,7 @@ DEPEND="
 	>=gnome-base/libgnome-keyring-3.12:=
 	>=dev-libs/oniguruma-5.9.5:=
 	>=dev-util/ctags-5.8
-	>=dev-util/electron-0.36.12-r3:0/36
+	>=dev-util/electron-0.37.8:${ELECTRON_SLOT}
 "
 RDEPEND="${DEPEND}"
 
@@ -148,7 +120,11 @@ get_install_dir() {
 }
 
 get_electron_dir() {
-	echo -n "/usr/$(get_libdir)/electron"
+	echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+get_electron_nodedir() {
+	echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
 }
 
 enode_electron() {
@@ -157,11 +133,11 @@ enode_electron() {
 
 enodegyp_atom() {
 	local apmpath="/usr/share/atom/resources/app/apm"
-	local nodegyp="${S}/${apmpath}/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"
+	local nodegyp="${S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
 
 	PATH="$(get_electron_dir):${PATH}" \
 		enode_electron "${nodegyp}" \
-			--nodedir=/usr/include/electron/node/ $@ || die
+			--nodedir="$(get_electron_nodedir)" $@ || die
 }
 
 easar() {
@@ -201,7 +177,6 @@ src_unpack() {
 	for a in ${A} ; do
 		case ${a} in
 		*.rpm) srcrpm_unpack "${a}" ;;
-		nodegit-promise*|node-lodash*) _unpack_npm_package "${a}" ;;
 		*) unpack "${a}" ;;
 		esac
 	done
@@ -219,6 +194,10 @@ src_prepare() {
 	epatch "${FILESDIR}/${PN}-python.patch"
 	epatch "${FILESDIR}/${PN}-unbundle-electron.patch"
 
+	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+		./atom.sh \
+		|| die
+
 	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
 		./atom.sh \
 		|| die
@@ -227,11 +206,15 @@ src_prepare() {
 		./atom.sh \
 		|| die
 
-	local env="export NPM_CONFIG_NODEDIR=/usr/include/electron/node/"
+	local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)"
 	sed -i -e \
-		"s|\"\$binDir/\$nodeBin\" --harmony_collections|${env}\nexec $(get_electron_dir)/node|g" \
+		"s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
 			apm/bin/apm || die
 
+	sed -i -e \
+		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
 	rm apm/bin/node || die
 
 	sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
@@ -253,15 +236,18 @@ src_prepare() {
 
 	_s="${WORKDIR}/$(package_dir git-utils)"
 	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "git;libgit2;git2" "${_s}/binding.gyp" || die
+		--inplace --unbundle "git;libgit2;git2" \
+		"${_s}/binding.gyp" || die
 
 	_s="${WORKDIR}/$(package_dir node-oniguruma)"
 	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "onig_scanner;oniguruma;onig" "${_s}/binding.gyp" || die
+		--inplace --unbundle "onig_scanner;oniguruma;onig" \
+		"${_s}/binding.gyp" || die
 
 	_s="${WORKDIR}/$(package_dir node-spellchecker)"
 	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "spellchecker;hunspell;hunspell" "${_s}/binding.gyp" || die
+		--inplace --unbundle "spellchecker;hunspell;hunspell" \
+		"${_s}/binding.gyp" || die
 
 	for binmod in ${BINMODS}; do
 		_s="${WORKDIR}/$(package_dir ${binmod})"
@@ -269,36 +255,12 @@ src_prepare() {
 		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
 	done
 
-	_s="${WORKDIR}/$(package_dir nodegit)"
-	ln -s "${WORKDIR}/$(package_dir node-fs-extra)" "${_s}/node_modules/fs-extra" || die
-	ln -s "${WORKDIR}/$(package_dir promisify-node)" "${_s}/node_modules/promisify-node" || die
-	ln -s "${WORKDIR}/$(package_dir combyne)" "${_s}/node_modules/combyne" || die
-	ln -s "${WORKDIR}/$(package_dir js-beautify)" "${_s}/node_modules/js-beautify" || die
-	ln -s "${WORKDIR}/$(package_dir node-lodash)" "${_s}/node_modules/lodash" || die
-
-	_s="${WORKDIR}/$(package_dir promisify-node)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir nodegit-promise)" "${_s}/node_modules/nodegit-promise" || die
-	ln -s "${WORKDIR}/$(package_dir object-assign)" "${_s}/node_modules/object-assign" || die
-
-	_s="${WORKDIR}/$(package_dir nodegit-promise)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir asap)" "${_s}/node_modules/asap" || die
-
-	_s="${WORKDIR}/$(package_dir node-fs-extra)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir node-graceful-fs)" "${_s}/node_modules/graceful-fs" || die
-	ln -s "${WORKDIR}/$(package_dir node-jsonfile)" "${_s}/node_modules/jsonfile" || die
-	ln -s "${WORKDIR}/$(package_dir node-klaw)" "${_s}/node_modules/klaw" || die
-	ln -s "${WORKDIR}/$(package_dir rimraf)" "${_s}/node_modules/rimraf" || die
-
 	# Unpack app.asar
 	easar extract "${S}/usr/share/atom/resources/app.asar" "${S}/build/app"
 
 	cd "${S}" || die
 
 	epatch "${FILESDIR}/atom-apm-path.patch"
-	epatch "${FILESDIR}/asar-require.patch"
 
 	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
 		"${S}/build/app/src/config-schema.js" || die
@@ -309,14 +271,6 @@ src_prepare() {
 src_configure() {
 	local binmod _s
 
-	_s="${WORKDIR}/$(package_dir nodegit)"
-	cd "${_s}" || die
-	enode_electron generate/scripts/generateJson.js || die
-	enode_electron generate/scripts/generateNativeCode.js || die
-
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "nodegit;vendor/libgit2.gyp:libgit2;git2;ssh2" "${_s}/binding.gyp" || die
-
 	for binmod in ${BINMODS}; do
 		einfo "Configuring ${binmod}..."
 		_s="${WORKDIR}/$(package_dir ${binmod})"
@@ -362,11 +316,6 @@ src_compile() {
 	x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
 	easar pack "${x}" "app" "app.asar"
 	cd "${S}" || die
-
-	# Replace vendored ctags with a symlink to system ctags
-	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "/usr/bin/ctags" \
-		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
 }
 
 _fix_binmods() {
@@ -392,12 +341,36 @@ _fix_binmods() {
 	done
 }
 
+_fix_executables() {
+	local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
+
+	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+	| while IFS= read -r f; do
+		IFS= read -r shebang < "${f}"
+
+		if [[ ${shebang} == '#!'* ]]; then
+			fperms +x "${f#${ED}}"
+			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+				einfo "Fixing node shebang in ${f#${ED}}"
+				sed --follow-symlinks -i \
+					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+			fi
+		fi
+	done || die
+}
+
 src_install() {
 	local install_dir="$(get_install_dir)"
 	local suffix="$(get_install_suffix)"
+	local ctags_d="node_modules/symbols-view/vendor"
 
 	cd "${S}" || die
 
+	# Replace vendored ctags with a symlink to system ctags
+	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+	ln -s "/usr/bin/ctags" \
+		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+
 	insinto "${install_dir}"
 
 	doins build/app.asar
@@ -415,6 +388,11 @@ src_install() {
 	insinto /usr/share/licenses/"${PN}${suffix}"
 	doins usr/share/atom/resources/LICENSE.md
 	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
-	fperms +x "${install_dir}/app/apm/bin/apm"
 	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+	_fix_executables "${install_dir}/app/apm/bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
 }

diff --git a/app-editors/atom/atom-1.8.0.ebuild b/app-editors/atom/atom-1.7.4-r4.ebuild
similarity index 89%
rename from app-editors/atom/atom-1.8.0.ebuild
rename to app-editors/atom/atom-1.7.4-r4.ebuild
index 0e0adcf..4b3c7b7 100644
--- a/app-editors/atom/atom-1.8.0.ebuild
+++ b/app-editors/atom/atom-1.7.4-r4.ebuild
@@ -11,6 +11,8 @@ DESCRIPTION="A hackable text editor for the 21st Century"
 HOMEPAGE="https://atom.io"
 MY_PV="${PV//_/-}"
 
+ELECTRON_SLOT=0.36
+
 # All binary packages depend on this
 NAN_V=2.0.9
 
@@ -54,7 +56,7 @@ NODEGIT_PROMISE_V=4.0.0
 ASAP_V=2.0.3
 OBJECT_ASSIGN_V=4.0.1
 
-ASAR_V=0.10.0
+ASAR_V=0.12.1
 
 # The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
 SRC_URI="
@@ -119,7 +121,7 @@ DEPEND="
 	>=gnome-base/libgnome-keyring-3.12:=
 	>=dev-libs/oniguruma-5.9.5:=
 	>=dev-util/ctags-5.8
-	>=dev-util/electron-0.36.12-r3:0/36
+	>=dev-util/electron-0.36.12-r4:${ELECTRON_SLOT}
 "
 RDEPEND="${DEPEND}"
 
@@ -148,7 +150,11 @@ get_install_dir() {
 }
 
 get_electron_dir() {
-	echo -n "/usr/$(get_libdir)/electron"
+	echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+get_electron_nodedir() {
+	echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
 }
 
 enode_electron() {
@@ -161,7 +167,7 @@ enodegyp_atom() {
 
 	PATH="$(get_electron_dir):${PATH}" \
 		enode_electron "${nodegyp}" \
-			--nodedir=/usr/include/electron/node/ $@ || die
+			--nodedir="$(get_electron_nodedir)" $@ || die
 }
 
 easar() {
@@ -219,6 +225,10 @@ src_prepare() {
 	epatch "${FILESDIR}/${PN}-python.patch"
 	epatch "${FILESDIR}/${PN}-unbundle-electron.patch"
 
+	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+		./atom.sh \
+		|| die
+
 	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
 		./atom.sh \
 		|| die
@@ -227,11 +237,15 @@ src_prepare() {
 		./atom.sh \
 		|| die
 
-	local env="export NPM_CONFIG_NODEDIR=/usr/include/electron/node/"
+	local env="export NPM_CONFIG_NODEDIR=$(get_electron_node_dir)"
 	sed -i -e \
 		"s|\"\$binDir/\$nodeBin\" --harmony_collections|${env}\nexec $(get_electron_dir)/node|g" \
 			apm/bin/apm || die
 
+	sed -i -e \
+		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
 	rm apm/bin/node || die
 
 	sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
@@ -362,11 +376,6 @@ src_compile() {
 	x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
 	easar pack "${x}" "app" "app.asar"
 	cd "${S}" || die
-
-	# Replace vendored ctags with a symlink to system ctags
-	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "/usr/bin/ctags" \
-		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
 }
 
 _fix_binmods() {
@@ -392,12 +401,36 @@ _fix_binmods() {
 	done
 }
 
+_fix_executables() {
+	local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
+
+	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+	| while IFS= read -r f; do
+		IFS= read -r shebang < "${f}"
+
+		if [[ ${shebang} == '#!'* ]]; then
+			fperms +x "${f#${ED}}"
+			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+				einfo "Fixing node shebang in ${f#${ED}}"
+				sed --follow-symlinks -i \
+					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+			fi
+		fi
+	done || die
+}
+
 src_install() {
 	local install_dir="$(get_install_dir)"
 	local suffix="$(get_install_suffix)"
+	local ctags_d="node_modules/symbols-view/vendor"
 
 	cd "${S}" || die
 
+	# Replace vendored ctags with a symlink to system ctags
+	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+	ln -s "/usr/bin/ctags" \
+		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+
 	insinto "${install_dir}"
 
 	doins build/app.asar
@@ -415,6 +448,11 @@ src_install() {
 	insinto /usr/share/licenses/"${PN}${suffix}"
 	doins usr/share/atom/resources/LICENSE.md
 	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
-	fperms +x "${install_dir}/app/apm/bin/apm"
 	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+	_fix_executables "${install_dir}/app/apm/bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
 }

diff --git a/app-editors/atom/atom-1.7.4-r3.ebuild b/app-editors/atom/atom-1.8.0-r1.ebuild
similarity index 89%
rename from app-editors/atom/atom-1.7.4-r3.ebuild
rename to app-editors/atom/atom-1.8.0-r1.ebuild
index 0e0adcf..8fe84e7 100644
--- a/app-editors/atom/atom-1.7.4-r3.ebuild
+++ b/app-editors/atom/atom-1.8.0-r1.ebuild
@@ -11,6 +11,8 @@ DESCRIPTION="A hackable text editor for the 21st Century"
 HOMEPAGE="https://atom.io"
 MY_PV="${PV//_/-}"
 
+ELECTRON_SLOT=0.36
+
 # All binary packages depend on this
 NAN_V=2.0.9
 
@@ -54,7 +56,7 @@ NODEGIT_PROMISE_V=4.0.0
 ASAP_V=2.0.3
 OBJECT_ASSIGN_V=4.0.1
 
-ASAR_V=0.10.0
+ASAR_V=0.12.1
 
 # The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
 SRC_URI="
@@ -119,7 +121,7 @@ DEPEND="
 	>=gnome-base/libgnome-keyring-3.12:=
 	>=dev-libs/oniguruma-5.9.5:=
 	>=dev-util/ctags-5.8
-	>=dev-util/electron-0.36.12-r3:0/36
+	>=dev-util/electron-0.36.12-r3:${ELECTRON_SLOT}
 "
 RDEPEND="${DEPEND}"
 
@@ -148,7 +150,11 @@ get_install_dir() {
 }
 
 get_electron_dir() {
-	echo -n "/usr/$(get_libdir)/electron"
+	echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+get_electron_nodedir() {
+	echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
 }
 
 enode_electron() {
@@ -161,7 +167,7 @@ enodegyp_atom() {
 
 	PATH="$(get_electron_dir):${PATH}" \
 		enode_electron "${nodegyp}" \
-			--nodedir=/usr/include/electron/node/ $@ || die
+			--nodedir="$(get_electron_nodedir)" $@ || die
 }
 
 easar() {
@@ -219,6 +225,10 @@ src_prepare() {
 	epatch "${FILESDIR}/${PN}-python.patch"
 	epatch "${FILESDIR}/${PN}-unbundle-electron.patch"
 
+	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+		./atom.sh \
+		|| die
+
 	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
 		./atom.sh \
 		|| die
@@ -227,11 +237,15 @@ src_prepare() {
 		./atom.sh \
 		|| die
 
-	local env="export NPM_CONFIG_NODEDIR=/usr/include/electron/node/"
+	local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)"
 	sed -i -e \
 		"s|\"\$binDir/\$nodeBin\" --harmony_collections|${env}\nexec $(get_electron_dir)/node|g" \
 			apm/bin/apm || die
 
+	sed -i -e \
+		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
 	rm apm/bin/node || die
 
 	sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
@@ -362,11 +376,6 @@ src_compile() {
 	x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
 	easar pack "${x}" "app" "app.asar"
 	cd "${S}" || die
-
-	# Replace vendored ctags with a symlink to system ctags
-	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "/usr/bin/ctags" \
-		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
 }
 
 _fix_binmods() {
@@ -392,12 +401,36 @@ _fix_binmods() {
 	done
 }
 
+_fix_executables() {
+	local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
+
+	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+	| while IFS= read -r f; do
+		IFS= read -r shebang < "${f}"
+
+		if [[ ${shebang} == '#!'* ]]; then
+			fperms +x "${f#${ED}}"
+			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+				einfo "Fixing node shebang in ${f#${ED}}"
+				sed --follow-symlinks -i \
+					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+			fi
+		fi
+	done || die
+}
+
 src_install() {
 	local install_dir="$(get_install_dir)"
 	local suffix="$(get_install_suffix)"
+	local ctags_d="node_modules/symbols-view/vendor"
 
 	cd "${S}" || die
 
+	# Replace vendored ctags with a symlink to system ctags
+	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+	ln -s "/usr/bin/ctags" \
+		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+
 	insinto "${install_dir}"
 
 	doins build/app.asar
@@ -415,6 +448,11 @@ src_install() {
 	insinto /usr/share/licenses/"${PN}${suffix}"
 	doins usr/share/atom/resources/LICENSE.md
 	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
-	fperms +x "${install_dir}/app/apm/bin/apm"
 	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+	_fix_executables "${install_dir}/app/apm/bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
 }

diff --git a/app-editors/atom/files/atom-unbundle-electron.patch b/app-editors/atom/files/atom-unbundle-electron.patch
index ba58330..f9c7351 100644
--- a/app-editors/atom/files/atom-unbundle-electron.patch
+++ b/app-editors/atom/files/atom-unbundle-electron.patch
@@ -1,4 +1,4 @@
-From d8e2b7e0fabdb4604063071f7f3a4a24e49daca7 Mon Sep 17 00:00:00 2001
+From 19f9a5c6f8be7b4df069f728d9ea037a36bc03d2 Mon Sep 17 00:00:00 2001
 From: Elvis Pranskevichus <elvis@magic.io>
 Date: Thu, 5 May 2016 17:23:35 -0400
 Subject: [PATCH] Unbundle electron
@@ -8,7 +8,7 @@ Subject: [PATCH] Unbundle electron
  1 file changed, 5 insertions(+), 7 deletions(-)
 
 diff --git a/atom.sh b/atom.sh
-index b68716b..d89587f 100755
+index b68716b..e119cbd 100755
 --- a/atom.sh
 +++ b/atom.sh
 @@ -87,11 +87,9 @@ elif [ $OS == 'Linux' ]; then
@@ -20,7 +20,7 @@ index b68716b..d89587f 100755
 -  else
 -    ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
 -  fi
-+  export NPM_CONFIG_NODEDIR="/usr/include/electron/node/"
++  export NPM_CONFIG_NODEDIR="{{NPM_CONFIG_NODEDIR}}"
 +  export ATOM_RESOURCE_PATH="{{ATOM_RESOURCE_PATH}}"
 +  ATOM_PATH="{{ATOM_PATH}}"
  


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

* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2016-11-21  5:12 Göktürk Yüksek
  0 siblings, 0 replies; 9+ messages in thread
From: Göktürk Yüksek @ 2016-11-21  5:12 UTC (permalink / raw
  To: gentoo-commits

commit:     fa7a6c34df2baede60bd5b9134bf34753259ab1d
Author:     Elvis Pranskevichus <elvis <AT> magic <DOT> io>
AuthorDate: Mon Nov 14 19:58:18 2016 +0000
Commit:     Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Mon Nov 21 05:11:46 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa7a6c34

app-editors/atom: Version bump to 1.12.2

Gentoo-Bug: https://bugs.gentoo.org/597442

Package-Manager: portage-2.3.0

 app-editors/atom/Manifest                      |   4 +
 app-editors/atom/atom-1.12.2.ebuild            | 403 +++++++++++++++++++++++++
 app-editors/atom/files/atom-apm-path.patch     |   4 +-
 app-editors/atom/files/atom-license-path.patch |  11 +
 app-editors/atom/files/atom-python.patch       |   4 +-
 5 files changed, 422 insertions(+), 4 deletions(-)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
index b940055..7a18b4f 100644
--- a/app-editors/atom/Manifest
+++ b/app-editors/atom/Manifest
@@ -1,17 +1,21 @@
 DIST asar-0.12.1.tar.gz 1016626 SHA256 731714f0036318fe0878b517391a01977954bb088d4dbc7dd98682ff1e03c0e7 SHA512 fc64be9b11215426d405f7acd7adf6c0eead3135b0012baf6d168a13c77675058a4e2c60682928ac014e4bef4538d452ad745d1e87dd315387997a19e04718a7 WHIRLPOOL d73b8bb459724bb3b011de312171519c1f1954a94ce1bb0a20eb9877c168baa82a15786d3ab420d5b3d32ce8a11333e85f844b43c21cbd56c3b019e73774388e
 DIST atom-1.10.2.rpm 67753816 SHA256 18ad153c932ef41e9c6b8394eeb114005c4d9c317a30dac238ecb51b78920c16 SHA512 1cc4ca2adec2fee66c30c4ef3b0c8f5613a83a54608a7c3bc677680db7657c8c6128a3e1c424251a7b2e9a13b6bc84ee280ec0ee7ea70815784a0432558ec17c WHIRLPOOL 288748edb89f466dc471ed22f008c84ba3a377fd50defa70a45059ae78a9e805026c97d4438b587472fbb37c15b63afb80c1910c5da87adf5a288fe198ec34a3
+DIST atom-1.12.2.rpm 84876214 SHA256 bcf95d7a8f4105c016d2940540d7c8db9bf0948a7dc8b5411294bd0fac48ec15 SHA512 a63af5e0da6ce0e9cc70c47da55b13fe463903c27a7df4e7ce311f08ed16fb4e04712678479661febcdf70afa400e3a8235d540bacaf4078e92b1e3d42fdfc11 WHIRLPOOL 4d6793741496cc240da18540bb74751b193e293a2df14c365c8fed2a2672422f87b36c5faf324790cc45951c8006a4b482656e8c8d3fd46d723c12c8ca073b4e
 DIST atom-1.7.4.rpm 64439092 SHA256 601ffa5d683b02cbd95bc65c76e28ecc091b7f12092b69c6e65eb93e941450e6 SHA512 4033c8bc36ba43332a1c7e08cf0fa5deaefb53152b7a56c8ca5f9c68bd88761fb54c57aa031c6702d46ce531cf1e9a8a24d2b7271fe0017a022bc4671d85d68d WHIRLPOOL 4adf85334482c49104bc6b1e96753f5c3d5243b799a6d745bd7770968d57b0ddaebee1fea382542a4219849f360f04d6ffc9d0eede5f6eb0d5e3ead3989fea03
 DIST atom-1.8.0.rpm 64364944 SHA256 7e9d64fd894ac8c307c377714cfb8d6ace44f80f09fec9222cd2e7858459a2d7 SHA512 1766cbb5a3cf544962a4adc2df4bc8de79d0ae8b90273e5798920f264dba100adf8f1bdfc2b7011c9d666f59bbc328dbf024ccab369ac76ebe6961c050f6e748 WHIRLPOOL 652a815a500cca79431a79dd43b8c0f73c3b7c7a387dc0bf5e89ef828df23670ab6a87df0737e66bd80b87ef474772ef31c27e17d014092ae33515ce1da10afc
 DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 SHA256 5487e7641d5031e652deeef8bebe2d3af4e4d2b89989dd8700bf14e33843ce89 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d WHIRLPOOL 573d0f703989f31109854f0eb324d6b1364e93cd057c4cfe20409415dee3101964cacabc246d4df43124dad881d8fec8575c6bbb23ba98698e6c73cf3c5614d4
 DIST atom-git-utils-4.1.2.tar.gz 36492 SHA256 fd627647742359946d3b8f88bc91dd4d68a047dcba5bfafbd690e1a20afeb908 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a WHIRLPOOL 4ee4620b0208a30f848167fffce05c5999d38bf5a3e50567e6bcf295fdafc7861e870346cfeb28a61392e7a737e100f90ae1dbd25066469926e3148006e02937
 DIST atom-keyboard-layout-1.0.0.tar.gz 6430 SHA256 d3f20f0765b7a243c3cfa3e49360851404977c2ed6e84dc84e9aaf28d8547d03 SHA512 a96b77c29eb1f5367f1d60ddc501fdd6e507fc92f980974bb2c1bec923b264e73104650180722819946e075284a928b4aaa01f8594365186bd8530a0179c7ff5 WHIRLPOOL 693f4a1546e0ca772ea2b2f860e6c2cf55f645031eb516021107296a3a05fca9086de62080255abae55c0ea42cc0f5aeeba26e6dd0b7eb274a8b69135bbf79c9
 DIST atom-keyboard-layout-1.0.1.tar.gz 6512 SHA256 aed0c2745acaadf4c5fdcb74df4f0c0ad6fd6cb53742567c80a8220dc041aace SHA512 4d369a0a5cf9053929f20f21f3955703f5df6d44629a0208afd88d1d11af52fd30af6930de89480ab796f83202c21d42afbb56765cef0efb3b2ea381a9804081 WHIRLPOOL d600811081270a81c4ffb46883d24c5dca5c78023d83b6fce3375dd6ef140f39c7b83a4b8e4bcfcf304d8032b18c9461612316c71a8246ddb7465c1b3d781fd3
+DIST atom-keyboard-layout-2.0.1.tar.gz 18561 SHA256 057d01745b5cfb47381aa89d64344d4c1576d3b490756a25e3f616bfc68f6516 SHA512 f5b90c1c83574cd2cb49c82d11fabadb58ec41d34b5b6ea17b28b8a34b22ed9ce1afb1602cf1d3d28ba79e3cebcb60d8659201eea4c5294e0db2b29d7632b07a WHIRLPOOL a859b0d364b9059f4482b52f049e9a420bf356e00a5cfe5b657fbd0e1868fd6cd2bf39846560b88c9763e1ebc54fb7acb025a67af21182b00c3f83b380f4443f
 DIST atom-marker-index-3.1.0.tar.gz 18065 SHA256 264e5553edee7e10766083433f952a515601201b53d332ecfe0fd43870fb4a38 SHA512 e50c2e03555d18e2eae0eb4ca5b16f486a53bf67803da6eb7eec90ef86048939f302baf15678a3af964b36ae809387d4665024e4d61bd9741738b12e84f4db64 WHIRLPOOL 179fafbd85d9b6e093ab646264716b0708d39aa3e1cd5771fbe173f2cd1ebb05f9a2525e5bb27d9605e2fd4ab5773a68d6552667c285ad3cbdbfbb6ae7d8b30e
 DIST atom-marker-index-4.0.0.tar.gz 18344 SHA256 afb0da1f7006d044aeeb8adbfa94fdafde9902f26fbfeb012a3caa97aee11fb0 SHA512 43e68e655f49d7a092af5cba7cbb7e902221e6076e1f7dfd163bf316ef06883db713af71ac79e63c1c81c22ed9bed168e36a2616b64c70ef4b654c71bbf76cd8 WHIRLPOOL 9fbc6346db0297bc3a097e9497b0ea4be07f7bd4da3eb0343734e0041535cc749c16510b71b4abde0e31fdde241e4f7b4605a5c0df7713d8b9683f2f786c07b5
+DIST atom-marker-index-4.0.1.tar.gz 18433 SHA256 ecb6a5294088feb2a2b8ae71845dc262e1ab551a6a75e9ac99b05807b62b2d4a SHA512 2f5639ac0fef1a9d735dc10b464a046ee78f8cf7ecd8a6705232c319958a46056146bd91a0bf421aa0c6da39106f6deacaedaa40c442c0c08f0e6fbfd938b3ea WHIRLPOOL ccbd0f6a515b97a1fcf460f13388206ab3ccee364264203fa6d6ad3d6e68a4e06bad5f38ce19008d2a5f79d2becb14a459cbd016f0daaea48c5387c21ad1bb77
 DIST atom-node-ctags-3.0.0.tar.gz 15062 SHA256 40605012d06d4dcbfc369862b57900b6963613e2e4ee3b37fea21693b2b418a7 SHA512 6f7277a0ff872991c365f811c635fd881c3e466c20219d8a7bdaf6fec7c26c5feaa7ae2118691a8d52ceb3ecfda6d795bf39dfda7f8df5a6d02388575a010f87 WHIRLPOOL 2cff81d2ca405a615e5c7d284785f129f8fcd968998c68a42af1ca2e6d76a6fcb404a92f3c0d20220567b28593448b91657db6df8bce19de1f2eedbfe2959140
 DIST atom-node-keytar-3.0.2.tar.gz 5718 SHA256 16af03d2a7876e3008f82d35e913753384655bc181e93cb771639b6d5a2439bf SHA512 f08ec6e50071e6e8995244607144009eaa8fd61a1724c80c40ccfb497e2b4682b30d6a091de9480b78f49ceb11f1a655e12ccb6b43d3df34f7e089585381697a WHIRLPOOL 69b10619531bedb839c61c1b29d18d1a0bf4e468ed05ebd58db349010b8de555673f45bdf98c4ad252aaa960b47faa00d952470e9b3545a0e1e189bbb3e49ded
 DIST atom-node-nslog-3.0.0.tar.gz 2774 SHA256 6f2c7b79dd27688829d72dcbb94cc3da8b86fe74f355e1d407907cc56da29747 SHA512 1891632486acfa014eec79f70b14d56d967670310e46dedccfc9dfa505581365765f6bd42ad538b29e74d7c7de83d045b4199dd634fc588734a1ee086dcddb0a WHIRLPOOL d29f2c68e6168ce020c2a73d73f107ffb4c777e006fba4f01a93045ad631fb2d8b83f989244caf4d5e2f66474e660f3479d79a03e82a6b8fa8a297586ee6e556
 DIST atom-node-oniguruma-5.1.2.tar.gz 662091 SHA256 130ab56cd6c29c4acc1f14ba31ec3f04146f02fe89c865c0af092f9d639fbdfb SHA512 e451f742ac1319b64e203848bce5d9c15251e15b083419b7a97588316eac3d86acfdbf6d7541cbd92eece48b41f90fd23f69b5e7e2d93e8bc18559c703944353 WHIRLPOOL 2cf44d2a4023655c96aed93c6c8faa45c569c75eaf2435b39f0a09ddcd53377c0ea05ac186b2e67f256c75c146bb50d971b7f9b7170d64031de79c4e76ef5252
+DIST atom-node-oniguruma-6.1.0.tar.gz 661394 SHA256 dab5322efac0cbe2c646559f130a2832be24e7caf8becabeedaf66842b72b289 SHA512 6443881353b61ad59d29cab6628f07d488e54df7b5a04ddffe4de11329e928b2a9cfc7582e22e0a90b6a3c6bf0e37873d8a5e34036cee5f7187ed4ae11fd6507 WHIRLPOOL 9c67fc6800e3d2b15160faa763539aefa2a40584697619b46098bd0f1c2820904ca6cae638e442c102c09616f62817c0df11f9c2da11d65c7dc9c98d04f668a4
 DIST atom-node-pathwatcher-6.2.4.tar.gz 23324 SHA256 6b47f7f0e8009fe4dac0800ac11f2a2a0366fb4fd889e444d99787e093b8cf2e SHA512 f891777a326a4f11f36a64f382fb0c9bd3fa5e6478144130b0c554aaaced079223489461050667293f1392e356f5a84838196dc39f8d54f7b3fd537f361c2c9a WHIRLPOOL 67ea2fa8a98214f3ce64a3cc5ce1ff0a757c606c02599f1c1069e3e7aa2addd32a48da2273648632b92149027cf18b64131ee9070e46c6e0a2d227239a47eeaf
 DIST atom-node-pathwatcher-6.5.0.tar.gz 23926 SHA256 a2f72f00cbe6a49152cdae85fb7585a77f0ee8b01be54fbc27a24f93935445c3 SHA512 0b8471885acc44f38161b4758951cff762f4c9ca2d17aefdb286b99fdefa6843eaa86d463e4ac54563a79f6701fcaa40252a72d73baf2b6c4e47aa00692ee314 WHIRLPOOL f3a82776b05416eda4e763c0f1db1e422b299f78cf516576b0d13b0447024962538603ce47c12a4889f7d9c984b98ca75013230ba3f1cea1575453e5c2e445dc
 DIST atom-node-runas-3.1.1.tar.gz 6628 SHA256 9d7d5a157b16fdd7263f50adb2831706d6fcf0902a1af528fc2602db6f9dc1cf SHA512 bada6e99ceb833c8c6e74f4b3116c49f21b54b922c1a27668312552779b9e5ccebf380b41c781d49c1c0dd0fdff6de8b71a0dcaf1f992892593e85f4572238df WHIRLPOOL d286d76f38ee8a23b4b76a9070913abe901f4db273073d9c0dcef13004abe7e10e9b4cad451cfe8d0cd4cc1e0ac2ab28ed50f327c1b9d317689153658f7b8944

diff --git a/app-editors/atom/atom-1.12.2.ebuild b/app-editors/atom/atom-1.12.2.ebuild
new file mode 100644
index 00000000..70fdd96
--- /dev/null
+++ b/app-editors/atom/atom-1.12.2.ebuild
@@ -0,0 +1,403 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit flag-o-matic python-any-r1 multiprocessing rpm
+
+DESCRIPTION="A hackable text editor for the 21st Century"
+HOMEPAGE="https://atom.io"
+MY_PV="${PV//_/-}"
+
+ELECTRON_V=1.3.5
+ELECTRON_SLOT=1.3
+
+# All binary packages depend on this
+NAN_V=2.4.0
+
+# Keep dep versions in sync with atom/package.json
+CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
+GIT_UTILS_V=4.1.2
+NODE_NSLOG_V=3.0.0
+NODE_ONIGURUMA_V=6.1.0
+NODE_PATHWATCHER_V=6.5.0
+NODE_RUNAS_V=3.1.1
+SCROLLBAR_STYLE_V=3.2.0
+SPELL_CHECK_V=0.68.4
+
+# textbuffer dependency
+MARKER_INDEX_V=4.0.1
+
+# apm dependency
+NODE_KEYTAR_V=3.0.2
+
+# atom-keymap dependency
+KEYBOARD_LAYOUT_V=2.0.1
+
+# symbols-view dependency
+NODE_CTAGS_V=3.0.0
+
+# spell-check dependency
+NODE_SPELLCHECKER_V=3.2.3
+
+ASAR_V=0.12.1
+
+# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
+SRC_URI="
+	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
+	https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
+	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
+	https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
+	https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
+	https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
+	https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
+	https://github.com/atom/marker-index/archive/v${MARKER_INDEX_V}.tar.gz -> atom-marker-index-${MARKER_INDEX_V}.tar.gz
+	https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
+	https://github.com/atom/node-nslog/archive/v${NODE_NSLOG_V}.tar.gz -> atom-node-nslog-${NODE_NSLOG_V}.tar.gz
+	https://github.com/atom/node-oniguruma/archive/v${NODE_ONIGURUMA_V}.tar.gz -> atom-node-oniguruma-${NODE_ONIGURUMA_V}.tar.gz
+	https://github.com/atom/node-pathwatcher/archive/v${NODE_PATHWATCHER_V}.tar.gz -> atom-node-pathwatcher-${NODE_PATHWATCHER_V}.tar.gz
+	https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
+	https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
+	https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
+"
+
+BINMODS="
+		cached-run-in-this-context
+		node-ctags
+		git-utils
+		keyboard-layout
+		node-nslog
+		node-oniguruma
+		node-pathwatcher
+		node-runas
+		node-keytar
+		scrollbar-style
+		node-spellchecker
+		marker-index
+"
+
+RESTRICT="mirror"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="
+	${PYTHON_DEPS}
+	>=app-text/hunspell-1.3.3:=
+	>=dev-libs/libgit2-0.23:=[ssh]
+	>=gnome-base/libgnome-keyring-3.12:=
+	>=dev-libs/oniguruma-5.9.5:=
+	>=dev-util/ctags-5.8
+	>=dev-util/electron-1.3.5:${ELECTRON_SLOT}
+"
+RDEPEND="
+	${DEPEND}
+	!sys-apps/apmd
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+}
+
+get_install_suffix() {
+	local c=(${SLOT//\// })
+	local slot=${c[0]}
+	local suffix
+
+	if [[ "${slot}" == "0" ]]; then
+		suffix=""
+	else
+		suffix="-${slot}"
+	fi
+
+	echo -n "${suffix}"
+}
+
+get_install_dir() {
+	echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
+}
+
+get_electron_dir() {
+	echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+get_electron_nodedir() {
+	echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
+}
+
+enode_electron() {
+	"$(get_electron_dir)"/node $@
+}
+
+enodegyp_atom() {
+	local apmpath="/usr/share/atom/resources/app/apm"
+	local nodegyp="${S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
+
+	PATH="$(get_electron_dir):${PATH}" \
+		enode_electron "${nodegyp}" \
+			--nodedir="$(get_electron_nodedir)" $@ || die
+}
+
+easar() {
+	local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
+	echo "asar" $@
+	enode_electron "${asar}" $@ || die
+}
+
+package_dir() {
+	local binmod="${1}" binmod_v
+	eval binmod_v=\${$(tr '[:lower:]' '[:upper:]' <<< ${binmod//-/_}_V)}
+	echo -n ${binmod}-${binmod_v}
+}
+
+_unpack_npm_package() {
+	local a="${1}" basename suffix
+
+	basename=${a%.*}
+	suffix=${basename##*.}
+	if [[ "${suffix}" == "tar" ]]; then
+		basename=${basename%.*}
+	fi
+
+	unpack ${a}
+	mv package "${basename}" || die
+}
+
+_have_patches_for() {
+	local _patches="${1}-*.patch" _find
+	_find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
+	test -n "$_find"
+}
+
+src_unpack() {
+	local a
+
+	for a in ${A} ; do
+		case ${a} in
+		*.rpm) srcrpm_unpack "${a}" ;;
+		*) unpack "${a}" ;;
+		esac
+	done
+
+	mkdir "${WORKDIR}/atom-${MY_PV}" || die
+	mv "${WORKDIR}/usr" "${WORKDIR}/atom-${MY_PV}" || die
+}
+
+src_prepare() {
+	local install_dir="$(get_install_dir)"
+	local suffix="$(get_install_suffix)"
+	local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
+
+	cd "${S}/usr/share/atom/resources/app" || die
+	eapply "${FILESDIR}/${PN}-python.patch"
+	eapply "${FILESDIR}/${PN}-unbundle-electron.patch"
+
+	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
+		./atom.sh \
+		|| die
+
+	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
+		./atom.sh \
+		|| die
+
+	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
+		./atom.sh \
+		|| die
+
+	local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)"
+	sed -i -e \
+		"s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
+			apm/bin/apm || die
+
+	sed -i -e \
+		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
+			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
+	rm apm/bin/node || die
+
+	sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
+		"${S}/usr/share/applications/atom.desktop" || die
+
+	cd "${S}" || die
+
+	for binmod in ${BINMODS}; do
+		_s="${WORKDIR}/$(package_dir ${binmod})"
+		cd "${_s}" || die
+		if _have_patches_for "${binmod}"; then
+			for patch in "${FILESDIR}"/${binmod}-*.patch; do
+				eapply "${patch}"
+			done
+		fi
+	done
+
+	# Unbundle bundled libs from modules
+
+	_s="${WORKDIR}/$(package_dir git-utils)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "git;libgit2;git2" \
+		"${_s}/binding.gyp" || die
+
+	_s="${WORKDIR}/$(package_dir node-oniguruma)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "onig_scanner;oniguruma;onig" \
+		"${_s}/binding.gyp" || die
+
+	_s="${WORKDIR}/$(package_dir node-spellchecker)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "spellchecker;hunspell;hunspell" \
+		"${_s}/binding.gyp" || die
+
+	for binmod in ${BINMODS}; do
+		_s="${WORKDIR}/$(package_dir ${binmod})"
+		mkdir -p "${_s}/node_modules" || die
+		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
+	done
+
+	# Unpack app.asar
+	easar extract "${S}/usr/share/atom/resources/app.asar" "${S}/build/app"
+
+	cd "${S}" || die
+
+	eapply "${FILESDIR}/atom-apm-path.patch"
+	eapply "${FILESDIR}/atom-license-path.patch"
+
+	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
+		"${S}/build/app/src/config-schema.js" || die
+
+	eapply_user
+}
+
+src_configure() {
+	local binmod _s
+
+	for binmod in ${BINMODS}; do
+		einfo "Configuring ${binmod}..."
+		_s="${WORKDIR}/$(package_dir ${binmod})"
+		cd "${_s}" || die
+		enodegyp_atom configure
+	done
+}
+
+src_compile() {
+	local binmod _s x
+	local ctags_d="node_modules/symbols-view/vendor"
+	local jobs=$(makeopts_jobs) gypopts
+
+	gypopts="--verbose"
+
+	if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
+		gypopts+=" --jobs ${jobs}"
+	fi
+
+	mkdir -p "${S}/build/modules/" || die
+
+	for binmod in ${BINMODS}; do
+		einfo "Building ${binmod}..."
+		_s="${WORKDIR}/$(package_dir ${binmod})"
+		cd "${_s}" || die
+		enodegyp_atom ${gypopts} build
+		x=${binmod##node-}
+		mkdir -p "${S}/build/modules/${x}" || die
+		cp build/Release/*.node "${S}/build/modules/${x}" || die
+	done
+
+	# Put compiled binary modules in place
+	_fix_binmods "${S}/build" "app"
+	_fix_binmods "${S}/usr/share/atom/resources" "app"
+
+	# Remove non-Linux vendored ctags binaries
+	rm "${S}/build/app/${ctags_d}/ctags-darwin" \
+	   "${S}/build/app/${ctags_d}/ctags-win32.exe" || die
+
+	# Re-pack app.asar
+	# Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
+	cd "${S}/build" || die
+	x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
+	easar pack "${x}" "app" "app.asar"
+	cd "${S}" || die
+}
+
+_fix_binmods() {
+	local _dir="${2}" _prefix="${1}" path relpath modpath mod depth link f d
+	local cruft
+
+	(find "${_prefix}/${_dir}" -name '*.node' -print || die) \
+	| while IFS= read -r path; do
+		f=$(basename "${path}")
+		d=$(dirname "${path}")
+	    relpath=${path#${_prefix}}
+		relpath=${relpath##/}
+		relpath=${relpath#W${_dir}}
+		modpath=$(dirname ${relpath})
+		modpath=${modpath%build/Release}
+		mod=$(basename ${modpath})
+
+		# must copy here as symlinks will cause the module loading to fail
+		cp -f "${S}/build/modules/${mod}/${f}" "${path}" || die
+		cruft=$(find "${d}" -name '*.a' -print)
+		if [[ -n "${cruft}" ]]; then
+			rm ${cruft} || die
+		fi
+	done
+}
+
+_fix_executables() {
+	local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
+
+	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
+	| while IFS= read -r f; do
+		IFS= read -r shebang < "${f}"
+
+		if [[ ${shebang} == '#!'* ]]; then
+			fperms +x "${f#${ED}}"
+			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
+				einfo "Fixing node shebang in ${f#${ED}}"
+				sed --follow-symlinks -i \
+					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
+			fi
+		fi
+	done || die
+}
+
+src_install() {
+	local install_dir="$(get_install_dir)"
+	local suffix="$(get_install_suffix)"
+	local ctags_d="node_modules/symbols-view/vendor"
+
+	cd "${S}" || die
+
+	# Replace vendored ctags with a symlink to system ctags
+	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+	ln -s "/usr/bin/ctags" \
+		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+
+	insinto "${install_dir}"
+
+	doins build/app.asar
+	doins -r build/app.asar.unpacked
+	doins -r usr/share/atom/resources/app
+
+	insinto /usr/share/applications/
+	newins usr/share/applications/atom.desktop "atom${suffix}.desktop"
+
+	insinto /usr/share/icons/
+	doins -r usr/share/icons/hicolor
+
+	exeinto "${install_dir}"
+	newexe usr/share/atom/resources/app/atom.sh atom
+	insinto /usr/share/licenses/"${PN}${suffix}"
+	doins usr/share/atom/resources/LICENSE.md
+	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
+	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+	_fix_executables "${install_dir}/app/apm/bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
+}

diff --git a/app-editors/atom/files/atom-apm-path.patch b/app-editors/atom/files/atom-apm-path.patch
index 957fed4..7ee7cdb 100644
--- a/app-editors/atom/files/atom-apm-path.patch
+++ b/app-editors/atom/files/atom-apm-path.patch
@@ -1,5 +1,5 @@
---- build/app/src/config-schema.js.orig	2016-05-24 16:59:41.284449076 -0400
-+++ build/app/src/config-schema.js	2016-05-24 17:01:05.685447769 -0400
+--- a/build/app/src/config-schema.js
++++ b/build/app/src/config-schema.js
 @@ -9,6 +9,11 @@
      core: {
        type: 'object',

diff --git a/app-editors/atom/files/atom-license-path.patch b/app-editors/atom/files/atom-license-path.patch
new file mode 100644
index 00000000..0ddf993
--- /dev/null
+++ b/app-editors/atom/files/atom-license-path.patch
@@ -0,0 +1,11 @@
+--- a/build/app/src/main-process/atom-application.js
++++ b/build/app/src/main-process/atom-application.js
+@@ -406,7 +406,7 @@
+       this.openPathOnEvent('application:open-your-keymap', 'atom://.atom/keymap');
+       this.openPathOnEvent('application:open-your-snippets', 'atom://.atom/snippets');
+       this.openPathOnEvent('application:open-your-stylesheet', 'atom://.atom/stylesheet');
+-      this.openPathOnEvent('application:open-license', path.join(process.resourcesPath, 'LICENSE.md'));
++      this.openPathOnEvent('application:open-license', '/usr/share/licenses/atom/LICENSE.md');
+       this.disposable.add(ipcHelpers.on(app, 'before-quit', (function(_this) {
+         return function(event) {
+           if (!_this.quitting) {

diff --git a/app-editors/atom/files/atom-python.patch b/app-editors/atom/files/atom-python.patch
index 250ca57..57a475e 100644
--- a/app-editors/atom/files/atom-python.patch
+++ b/app-editors/atom/files/atom-python.patch
@@ -1,5 +1,5 @@
---- ~atom.sh	2015-10-30 11:41:20.090417736 +0100
-+++ atom.sh	2015-10-30 11:42:19.707553644 +0100
+--- a/atom.sh
++++ b/atom.sh
 @@ -92,6 +92,7 @@
    fi
  


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

* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2016-11-21  5:12 Göktürk Yüksek
  0 siblings, 0 replies; 9+ messages in thread
From: Göktürk Yüksek @ 2016-11-21  5:12 UTC (permalink / raw
  To: gentoo-commits

commit:     60deb5cf5ced4e641e8d6dbf01633083efb17509
Author:     Elvis Pranskevichus <elvis <AT> magic <DOT> io>
AuthorDate: Sun Nov 20 17:54:48 2016 +0000
Commit:     Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Mon Nov 21 05:12:10 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60deb5cf

app-editors/atom: Drop old versions

Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=596758

Package-Manager: portage-2.3.0

 app-editors/atom/Manifest                 |  23 --
 app-editors/atom/atom-1.10.2.ebuild       | 398 --------------------------
 app-editors/atom/atom-1.12.2.ebuild       |   2 +-
 app-editors/atom/atom-1.7.4-r4.ebuild     | 458 ------------------------------
 app-editors/atom/atom-1.8.0-r1.ebuild     | 458 ------------------------------
 app-editors/atom/files/asar-require.patch |  45 ---
 6 files changed, 1 insertion(+), 1383 deletions(-)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
index 7a18b4f..0e8e0bf 100644
--- a/app-editors/atom/Manifest
+++ b/app-editors/atom/Manifest
@@ -1,38 +1,15 @@
 DIST asar-0.12.1.tar.gz 1016626 SHA256 731714f0036318fe0878b517391a01977954bb088d4dbc7dd98682ff1e03c0e7 SHA512 fc64be9b11215426d405f7acd7adf6c0eead3135b0012baf6d168a13c77675058a4e2c60682928ac014e4bef4538d452ad745d1e87dd315387997a19e04718a7 WHIRLPOOL d73b8bb459724bb3b011de312171519c1f1954a94ce1bb0a20eb9877c168baa82a15786d3ab420d5b3d32ce8a11333e85f844b43c21cbd56c3b019e73774388e
-DIST atom-1.10.2.rpm 67753816 SHA256 18ad153c932ef41e9c6b8394eeb114005c4d9c317a30dac238ecb51b78920c16 SHA512 1cc4ca2adec2fee66c30c4ef3b0c8f5613a83a54608a7c3bc677680db7657c8c6128a3e1c424251a7b2e9a13b6bc84ee280ec0ee7ea70815784a0432558ec17c WHIRLPOOL 288748edb89f466dc471ed22f008c84ba3a377fd50defa70a45059ae78a9e805026c97d4438b587472fbb37c15b63afb80c1910c5da87adf5a288fe198ec34a3
 DIST atom-1.12.2.rpm 84876214 SHA256 bcf95d7a8f4105c016d2940540d7c8db9bf0948a7dc8b5411294bd0fac48ec15 SHA512 a63af5e0da6ce0e9cc70c47da55b13fe463903c27a7df4e7ce311f08ed16fb4e04712678479661febcdf70afa400e3a8235d540bacaf4078e92b1e3d42fdfc11 WHIRLPOOL 4d6793741496cc240da18540bb74751b193e293a2df14c365c8fed2a2672422f87b36c5faf324790cc45951c8006a4b482656e8c8d3fd46d723c12c8ca073b4e
-DIST atom-1.7.4.rpm 64439092 SHA256 601ffa5d683b02cbd95bc65c76e28ecc091b7f12092b69c6e65eb93e941450e6 SHA512 4033c8bc36ba43332a1c7e08cf0fa5deaefb53152b7a56c8ca5f9c68bd88761fb54c57aa031c6702d46ce531cf1e9a8a24d2b7271fe0017a022bc4671d85d68d WHIRLPOOL 4adf85334482c49104bc6b1e96753f5c3d5243b799a6d745bd7770968d57b0ddaebee1fea382542a4219849f360f04d6ffc9d0eede5f6eb0d5e3ead3989fea03
-DIST atom-1.8.0.rpm 64364944 SHA256 7e9d64fd894ac8c307c377714cfb8d6ace44f80f09fec9222cd2e7858459a2d7 SHA512 1766cbb5a3cf544962a4adc2df4bc8de79d0ae8b90273e5798920f264dba100adf8f1bdfc2b7011c9d666f59bbc328dbf024ccab369ac76ebe6961c050f6e748 WHIRLPOOL 652a815a500cca79431a79dd43b8c0f73c3b7c7a387dc0bf5e89ef828df23670ab6a87df0737e66bd80b87ef474772ef31c27e17d014092ae33515ce1da10afc
 DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 SHA256 5487e7641d5031e652deeef8bebe2d3af4e4d2b89989dd8700bf14e33843ce89 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d WHIRLPOOL 573d0f703989f31109854f0eb324d6b1364e93cd057c4cfe20409415dee3101964cacabc246d4df43124dad881d8fec8575c6bbb23ba98698e6c73cf3c5614d4
 DIST atom-git-utils-4.1.2.tar.gz 36492 SHA256 fd627647742359946d3b8f88bc91dd4d68a047dcba5bfafbd690e1a20afeb908 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a WHIRLPOOL 4ee4620b0208a30f848167fffce05c5999d38bf5a3e50567e6bcf295fdafc7861e870346cfeb28a61392e7a737e100f90ae1dbd25066469926e3148006e02937
-DIST atom-keyboard-layout-1.0.0.tar.gz 6430 SHA256 d3f20f0765b7a243c3cfa3e49360851404977c2ed6e84dc84e9aaf28d8547d03 SHA512 a96b77c29eb1f5367f1d60ddc501fdd6e507fc92f980974bb2c1bec923b264e73104650180722819946e075284a928b4aaa01f8594365186bd8530a0179c7ff5 WHIRLPOOL 693f4a1546e0ca772ea2b2f860e6c2cf55f645031eb516021107296a3a05fca9086de62080255abae55c0ea42cc0f5aeeba26e6dd0b7eb274a8b69135bbf79c9
-DIST atom-keyboard-layout-1.0.1.tar.gz 6512 SHA256 aed0c2745acaadf4c5fdcb74df4f0c0ad6fd6cb53742567c80a8220dc041aace SHA512 4d369a0a5cf9053929f20f21f3955703f5df6d44629a0208afd88d1d11af52fd30af6930de89480ab796f83202c21d42afbb56765cef0efb3b2ea381a9804081 WHIRLPOOL d600811081270a81c4ffb46883d24c5dca5c78023d83b6fce3375dd6ef140f39c7b83a4b8e4bcfcf304d8032b18c9461612316c71a8246ddb7465c1b3d781fd3
 DIST atom-keyboard-layout-2.0.1.tar.gz 18561 SHA256 057d01745b5cfb47381aa89d64344d4c1576d3b490756a25e3f616bfc68f6516 SHA512 f5b90c1c83574cd2cb49c82d11fabadb58ec41d34b5b6ea17b28b8a34b22ed9ce1afb1602cf1d3d28ba79e3cebcb60d8659201eea4c5294e0db2b29d7632b07a WHIRLPOOL a859b0d364b9059f4482b52f049e9a420bf356e00a5cfe5b657fbd0e1868fd6cd2bf39846560b88c9763e1ebc54fb7acb025a67af21182b00c3f83b380f4443f
-DIST atom-marker-index-3.1.0.tar.gz 18065 SHA256 264e5553edee7e10766083433f952a515601201b53d332ecfe0fd43870fb4a38 SHA512 e50c2e03555d18e2eae0eb4ca5b16f486a53bf67803da6eb7eec90ef86048939f302baf15678a3af964b36ae809387d4665024e4d61bd9741738b12e84f4db64 WHIRLPOOL 179fafbd85d9b6e093ab646264716b0708d39aa3e1cd5771fbe173f2cd1ebb05f9a2525e5bb27d9605e2fd4ab5773a68d6552667c285ad3cbdbfbb6ae7d8b30e
-DIST atom-marker-index-4.0.0.tar.gz 18344 SHA256 afb0da1f7006d044aeeb8adbfa94fdafde9902f26fbfeb012a3caa97aee11fb0 SHA512 43e68e655f49d7a092af5cba7cbb7e902221e6076e1f7dfd163bf316ef06883db713af71ac79e63c1c81c22ed9bed168e36a2616b64c70ef4b654c71bbf76cd8 WHIRLPOOL 9fbc6346db0297bc3a097e9497b0ea4be07f7bd4da3eb0343734e0041535cc749c16510b71b4abde0e31fdde241e4f7b4605a5c0df7713d8b9683f2f786c07b5
 DIST atom-marker-index-4.0.1.tar.gz 18433 SHA256 ecb6a5294088feb2a2b8ae71845dc262e1ab551a6a75e9ac99b05807b62b2d4a SHA512 2f5639ac0fef1a9d735dc10b464a046ee78f8cf7ecd8a6705232c319958a46056146bd91a0bf421aa0c6da39106f6deacaedaa40c442c0c08f0e6fbfd938b3ea WHIRLPOOL ccbd0f6a515b97a1fcf460f13388206ab3ccee364264203fa6d6ad3d6e68a4e06bad5f38ce19008d2a5f79d2becb14a459cbd016f0daaea48c5387c21ad1bb77
 DIST atom-node-ctags-3.0.0.tar.gz 15062 SHA256 40605012d06d4dcbfc369862b57900b6963613e2e4ee3b37fea21693b2b418a7 SHA512 6f7277a0ff872991c365f811c635fd881c3e466c20219d8a7bdaf6fec7c26c5feaa7ae2118691a8d52ceb3ecfda6d795bf39dfda7f8df5a6d02388575a010f87 WHIRLPOOL 2cff81d2ca405a615e5c7d284785f129f8fcd968998c68a42af1ca2e6d76a6fcb404a92f3c0d20220567b28593448b91657db6df8bce19de1f2eedbfe2959140
 DIST atom-node-keytar-3.0.2.tar.gz 5718 SHA256 16af03d2a7876e3008f82d35e913753384655bc181e93cb771639b6d5a2439bf SHA512 f08ec6e50071e6e8995244607144009eaa8fd61a1724c80c40ccfb497e2b4682b30d6a091de9480b78f49ceb11f1a655e12ccb6b43d3df34f7e089585381697a WHIRLPOOL 69b10619531bedb839c61c1b29d18d1a0bf4e468ed05ebd58db349010b8de555673f45bdf98c4ad252aaa960b47faa00d952470e9b3545a0e1e189bbb3e49ded
 DIST atom-node-nslog-3.0.0.tar.gz 2774 SHA256 6f2c7b79dd27688829d72dcbb94cc3da8b86fe74f355e1d407907cc56da29747 SHA512 1891632486acfa014eec79f70b14d56d967670310e46dedccfc9dfa505581365765f6bd42ad538b29e74d7c7de83d045b4199dd634fc588734a1ee086dcddb0a WHIRLPOOL d29f2c68e6168ce020c2a73d73f107ffb4c777e006fba4f01a93045ad631fb2d8b83f989244caf4d5e2f66474e660f3479d79a03e82a6b8fa8a297586ee6e556
-DIST atom-node-oniguruma-5.1.2.tar.gz 662091 SHA256 130ab56cd6c29c4acc1f14ba31ec3f04146f02fe89c865c0af092f9d639fbdfb SHA512 e451f742ac1319b64e203848bce5d9c15251e15b083419b7a97588316eac3d86acfdbf6d7541cbd92eece48b41f90fd23f69b5e7e2d93e8bc18559c703944353 WHIRLPOOL 2cf44d2a4023655c96aed93c6c8faa45c569c75eaf2435b39f0a09ddcd53377c0ea05ac186b2e67f256c75c146bb50d971b7f9b7170d64031de79c4e76ef5252
 DIST atom-node-oniguruma-6.1.0.tar.gz 661394 SHA256 dab5322efac0cbe2c646559f130a2832be24e7caf8becabeedaf66842b72b289 SHA512 6443881353b61ad59d29cab6628f07d488e54df7b5a04ddffe4de11329e928b2a9cfc7582e22e0a90b6a3c6bf0e37873d8a5e34036cee5f7187ed4ae11fd6507 WHIRLPOOL 9c67fc6800e3d2b15160faa763539aefa2a40584697619b46098bd0f1c2820904ca6cae638e442c102c09616f62817c0df11f9c2da11d65c7dc9c98d04f668a4
-DIST atom-node-pathwatcher-6.2.4.tar.gz 23324 SHA256 6b47f7f0e8009fe4dac0800ac11f2a2a0366fb4fd889e444d99787e093b8cf2e SHA512 f891777a326a4f11f36a64f382fb0c9bd3fa5e6478144130b0c554aaaced079223489461050667293f1392e356f5a84838196dc39f8d54f7b3fd537f361c2c9a WHIRLPOOL 67ea2fa8a98214f3ce64a3cc5ce1ff0a757c606c02599f1c1069e3e7aa2addd32a48da2273648632b92149027cf18b64131ee9070e46c6e0a2d227239a47eeaf
 DIST atom-node-pathwatcher-6.5.0.tar.gz 23926 SHA256 a2f72f00cbe6a49152cdae85fb7585a77f0ee8b01be54fbc27a24f93935445c3 SHA512 0b8471885acc44f38161b4758951cff762f4c9ca2d17aefdb286b99fdefa6843eaa86d463e4ac54563a79f6701fcaa40252a72d73baf2b6c4e47aa00692ee314 WHIRLPOOL f3a82776b05416eda4e763c0f1db1e422b299f78cf516576b0d13b0447024962538603ce47c12a4889f7d9c984b98ca75013230ba3f1cea1575453e5c2e445dc
 DIST atom-node-runas-3.1.1.tar.gz 6628 SHA256 9d7d5a157b16fdd7263f50adb2831706d6fcf0902a1af528fc2602db6f9dc1cf SHA512 bada6e99ceb833c8c6e74f4b3116c49f21b54b922c1a27668312552779b9e5ccebf380b41c781d49c1c0dd0fdff6de8b71a0dcaf1f992892593e85f4572238df WHIRLPOOL d286d76f38ee8a23b4b76a9070913abe901f4db273073d9c0dcef13004abe7e10e9b4cad451cfe8d0cd4cc1e0ac2ab28ed50f327c1b9d317689153658f7b8944
 DIST atom-node-spellchecker-3.2.3.tar.gz 481966 SHA256 bf4a07b4c671cd38b176ff8ef375f3cdf277decb941a0a279f8ffb36151fad55 SHA512 b0209fdfcbee53d289443e1c203a720888a82fa59648b4038c036c6afe68a6b04624e23267e69c36f23c185160d6ab84b1e4020047fbe6d94354e99d717a60b9 WHIRLPOOL d883cd3d3962e38ebe4c55e997ce461fa0b0da98e8b982793b77342eac1413e16090d562a9a50cb8200a18eda751a873528fdfde3b1f1928629bd56c5568f887
 DIST atom-scrollbar-style-3.2.0.tar.gz 4609 SHA256 ea0f8f00cac609537af0d10d228054371c58b5a74785bd52fbbd276af02911ef SHA512 fc3ddfe7582517df45d7258a5857ca05fbadb92417d68b0c77d1e89e54b3bdaef3a1624e29177ebe64a2a994e62e1d1f5cb438911e881124aeec359426fab1bc WHIRLPOOL f6e75aafa8946ccc16949bdffa33b2bf050f06434a3fedcf8e1abac8b6b2d31dd37fcc137a43274d4c55d5926349486fda157d3fb6948d97063aac33b99e6578
-DIST node-asap-2.0.3.tar.gz 38970 SHA256 ae81fe67d5f36f238d5f7dd315baffce7f7d243a67c739ea8b5a6373a452fe36 SHA512 ed8556b61dd6677c0a4b16724e2e1d7fa9c93bd141459ef481821988bdb04b713efed145e5cb0e377ba3f35a7292b692f894a06689d08fa25bb00fd600945c96 WHIRLPOOL d0936375945a6558eac9e6b6101232d7d650dddb32393ebd5722a2f17a5b7e276e55ff1ab3ce35eb3a6e850e6d3cc56b0c5167d6d91f8aeb957710e0f310c27c
-DIST node-combyne-0.8.1.tar.gz 43384 SHA256 f5490904428b6204d2cad0e87abc3df289da3d7d75a4c1ab381506ad858cf42b SHA512 e35c6c5d6576e745b4e20b73c1793e12dd6bc4eb4977a97b4396654c7df2f52cf64eead7ad510f8d82fb5434a5780832195d1e16e9afaecbef10772876c06abd WHIRLPOOL 97552bab4f4c6cbe56553dbacb4276e1df279a2e69a85223e7ffba703531e34f390308c4a5a636dbb9143ca491af98b083acb0e975e355d31dd6df29497acc58
-DIST node-fs-extra-0.26.2.tar.gz 38210 SHA256 46e1dc219e9bf8e5962232ab428ca5fb26476f738f75aba2ebcb472334e5e07b SHA512 49d1b78dc5690a309c8bb4c3404bbbd0a9c7eabf9012095f223fbb360e7ef478a2dcf64b4f53373d702d002af29d557dbb5cd7a4c4478eb70ab4ae42f4df95fd WHIRLPOOL fa5c98d0087500e0b03ba35f76d18dd3a1b55a0ad985450834d18c4ce729c53832fed0b31eec9cf67e652ae90c3b9f89245fe2f834604c4037062b6a0b50d650
-DIST node-graceful-fs-4.1.2.tar.gz 8162 SHA256 1133697e1ebfdc25ab4c23b7b34a9591b8970d00f48dcfa806068778bd94aaa7 SHA512 7ee59ea3bc767640c2fc8895f50a751ca1c8004ce7d49623941202c408390f60b54aba06ae205d0222abfa80388a7899559e3ae2e5acd9e7349a45156c4aaec1 WHIRLPOOL a64042dc1ba43ff8bd95bfab2db443f6fe618e779bd82ca05b82e224e4739a9cf2537473dc8cb8ed5024372ef8dcd4e06b75e9dfb1200ddd1d09c1c9b426d43d
-DIST node-js-beautify-1.5.10.tar.gz 301789 SHA256 055ce354da5f38387020d87ec68bd926af43eb36766b560f721b39fc3617c86a SHA512 a137e759533b4fa9e06895f27b0f8b5761a04ba00927ac8a964a755d3c11df1af6aaded039273d0e22d5ccc6cd6255878241cc9c55a2338e040defa540e1ad0e WHIRLPOOL 56577c5ae36e6d6f9c626a9275117e8592286a8e58b968c56ea36ae4dfa002fff0f7c032302060507796b532d5b1a05b0ed3eb14603403171e3ff66a6d2a9716
-DIST node-jsonfile-2.1.0.tar.gz 4390 SHA256 bdfe02539486eb30293c67202858552466db2e1774d1fe9d71631ee615aa3eee SHA512 8c51b41ecfd0e6c6e2bf7923f61b215fa42a905a44ba31e20a7b682d1ed992fc9cda65d4c09e97863eb6ec8c02dfeb7bb0cacb4fa0f63093e9c2d32e88e1ee37 WHIRLPOOL 6c1fcc2468ca63b189a7c55b568e2b51a67fd45745137b63781ed7b67e931cba847308388f942c8724192bf2c16d89722632afe053819c7725b9427f3f84e8fc
-DIST node-klaw-1.0.0.tar.gz 4054 SHA256 ea1f37abe8bc23ec60375d7e81f23976398bf6ec0a81785bbf4a9d37635853b3 SHA512 9d9148202629143ec7839352d8539055401c8c85013e270546105b6af831f8ff5f4a0156f2f51bedab39bce2a1bbfb83018585f69400b56f1f8a367d9d0e62f4 WHIRLPOOL ea82b224071247421af12daecca9ed25ea8115841bab964cc12e381624e6bc1e443b18f603c50f17f951238b333e91992f15cfb97790b901e376d76d8d04de41
-DIST node-lodash-3.10.1.tgz 173550 SHA256 4578a0a45fae7bfc8f0ea464e9ca3b1330ad6d2c4696d61dc7e7afdcf4e2c925 SHA512 f660c3c2a54899ae8e657efd6650c009997cb019b44c49e47fdf7357788c0381b39084fff618aa3f9998d07a13d6234b0ab29cfd1d4707257ec897d159526bc9 WHIRLPOOL 13c347ac2925fea303d27d89697a9e83ca6228ee1cbf55986cf14bd9a8056ebd8bb7563f1f86b63c40809c80cadd8d263948a36ec9ed3228c4365a5858c4019d
-DIST node-object-assign-4.0.1.tar.gz 3429 SHA256 d59183984993c1e08ad504c15ddb1e12f6f327bc45770309d5f318fcae98c173 SHA512 973504ea20510db1d0a428b6b02885f863ca94649e737843d49c9f0059b991b8086b80ddf0fbb643300e154d33c583b2bf34fa596c48bb13adc891c530f0dfd8 WHIRLPOOL 36ea749150efc5ed3dcd245425302429fe7bced5024bb660c8130fffa356e42069a8e5e776600d5ea4a786fcd3bb35521c19038a53204b3d4a06db061daa5df9
-DIST node-rimraf-2.2.8.tar.gz 4397 SHA256 766aa845c3688d409181856ef14a1a9f4489390bf7735ed159ab6cd9cb2ad5fc SHA512 790283e3b1461cf3946f3d499fa3aca766dccca02ade7f6733768ef461f62bb7c2ffb8093e3c03fba9e00bae59d57491de9285033c2542f73e05b3152fcd7b75 WHIRLPOOL 02feb1b90399834f2d17c377c62a620507751da1add89396bf33a1a9394d8d2e5d7c709dd7be1a3b3d12641cf03032f3ea16ae16ed0f425725bcdc6f4f56f81d
-DIST nodegit-0.12.2.tar.gz 12429864 SHA256 d8bb337fb541dd8fefa1dd845e1f01996a5594e009bf491cf0b357a38e6ee62c SHA512 94ab080ef02484984ab7347b305869b6157df496d3b13c10b4dc196aaf3866d91dc6f8507c056d5f906a51a241c90388309945cd7b6a27d157142234d86e5ecd WHIRLPOOL 69bc8bd018976647cc4073240acfeea949eedb2c2c3b781913f9fb8c7349ccdea4af2ed3251754a3bcd853e0ba834281924914f34c56b44047c20e6ecd22ec01
-DIST nodegit-promise-4.0.0.tgz 9486 SHA256 7b1c4f2a0e2475ffb333a5d360dc2c006e74a14e78e44d0661329a9b6ae0a7e7 SHA512 ebaf81f14d7ac7cc42e43b1a58a2b8c09743108d6ba8c6f577dd582047b8207848505f7a9cef327e2b8af15a790e3f82f0171f80528ad6c49672b6aef3eb986e WHIRLPOOL e6383d55696dabc121471cccfdd32743e9880bc1d2f054217e816e6c8c1be3a4f167bb9cda3ceddb778e7b609291aeefddc1fe2a21b3e8c1080a7ee29c5f3c46
-DIST nodegit-promisify-node-0.4.0.tar.gz 6190 SHA256 9bf342475d7c82d2f95d29eb1ce97f6f61387170d37c3690d107aaa0109dd435 SHA512 e9771bbd857084f115df7cee884182fd5c5e9e8f600350bd1a38c72427f34edcf1125280ebbc3154dc93db86fa614b75ab9df7d1b8b22f90ea3e80cc1cb70830 WHIRLPOOL 224c24cc0e5f8b0858eef565cfb40327f2369f8f60869b84e263d967e3c9d780773af9b06f31b9e895a4fd66aa78ca4369bf1d6b6f9f2c607af6722e29fe70ad
-DIST nodejs-nan-2.0.9.tar.gz 147832 SHA256 4c29221f2beacd79a53f3399f3e6c34a33a0febf5249d92947391e615bfb4899 SHA512 7a680759f2391901c34c2fdd6be20565869c666bde786767a016beade561137b12038afbcf089496f9febdff3a9e6638e310f0ce8f60efb8beca5204ad8e1442 WHIRLPOOL c88038876b294f44da6f6f0a697f91f60d5c2beee018b95115dbd284ce23db80f76593737f507c02a4515265a06f59df4573b657062e6b1252c0ed4d834fe28a
 DIST nodejs-nan-2.4.0.tar.gz 157071 SHA256 290b4cd678bb0770fcc0dfa8415f908db09173acfdde31135a4e31716c311883 SHA512 e6f3ab3f67c72b3cc9e6e6b9b5de0f73134ef504dedae5e68376198858a6796f00c35869438e0480f28006dd8f6be13dca3bcc436a1a6b28b1dea5cbc72f9e45 WHIRLPOOL 8628452c69c1774e02b8069ee8db12b7b97bc45166dd4dbec3e8d3f532c97f15a24920f2f59ecb3b8d4addcbada33eb04c1f71222531a7377bcbfaf7d4f3d86b

diff --git a/app-editors/atom/atom-1.10.2.ebuild b/app-editors/atom/atom-1.10.2.ebuild
deleted file mode 100644
index 9f12366..00000000
--- a/app-editors/atom/atom-1.10.2.ebuild
+++ /dev/null
@@ -1,398 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit flag-o-matic python-any-r1 eutils multiprocessing rpm
-
-DESCRIPTION="A hackable text editor for the 21st Century"
-HOMEPAGE="https://atom.io"
-MY_PV="${PV//_/-}"
-
-ELECTRON_SLOT=0.37
-
-# All binary packages depend on this
-NAN_V=2.4.0
-
-# Keep dep versions in sync with atom/package.json
-CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
-GIT_UTILS_V=4.1.2
-NODE_NSLOG_V=3.0.0
-NODE_ONIGURUMA_V=5.1.2
-NODE_PATHWATCHER_V=6.5.0
-NODE_RUNAS_V=3.1.1
-SCROLLBAR_STYLE_V=3.2.0
-SPELL_CHECK_V=0.67.1
-
-# textbuffer dependency
-MARKER_INDEX_V=4.0.0
-
-# apm dependency
-NODE_KEYTAR_V=3.0.2
-
-# atom-keymap dependency
-KEYBOARD_LAYOUT_V=1.0.1
-
-# symbols-view dependency
-NODE_CTAGS_V=3.0.0
-
-# spell-check dependency
-NODE_SPELLCHECKER_V=3.2.3
-
-ASAR_V=0.12.1
-
-# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
-SRC_URI="
-	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
-	https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
-	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
-	https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
-	https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
-	https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
-	https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
-	https://github.com/atom/marker-index/archive/v${MARKER_INDEX_V}.tar.gz -> atom-marker-index-${MARKER_INDEX_V}.tar.gz
-	https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
-	https://github.com/atom/node-nslog/archive/v${NODE_NSLOG_V}.tar.gz -> atom-node-nslog-${NODE_NSLOG_V}.tar.gz
-	https://github.com/atom/node-oniguruma/archive/v${NODE_ONIGURUMA_V}.tar.gz -> atom-node-oniguruma-${NODE_ONIGURUMA_V}.tar.gz
-	https://github.com/atom/node-pathwatcher/archive/v${NODE_PATHWATCHER_V}.tar.gz -> atom-node-pathwatcher-${NODE_PATHWATCHER_V}.tar.gz
-	https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
-	https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
-	https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
-"
-
-BINMODS="
-		cached-run-in-this-context
-		node-ctags
-		git-utils
-		keyboard-layout
-		node-nslog
-		node-oniguruma
-		node-pathwatcher
-		node-runas
-		node-keytar
-		scrollbar-style
-		node-spellchecker
-		marker-index
-"
-
-RESTRICT="mirror"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="
-	!dev-util/apm
-	${PYTHON_DEPS}
-	>=app-text/hunspell-1.3.3:=
-	=dev-libs/libgit2-0.23*:=[ssh]
-	>=gnome-base/libgnome-keyring-3.12:=
-	>=dev-libs/oniguruma-5.9.5:=
-	>=dev-util/ctags-5.8
-	>=dev-util/electron-0.37.8:${ELECTRON_SLOT}
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-}
-
-get_install_suffix() {
-	local c=(${SLOT//\// })
-	local slot=${c[0]}
-	local suffix
-
-	if [[ "${slot}" == "0" ]]; then
-		suffix=""
-	else
-		suffix="-${slot}"
-	fi
-
-	echo -n "${suffix}"
-}
-
-get_install_dir() {
-	echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
-}
-
-get_electron_dir() {
-	echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
-}
-
-get_electron_nodedir() {
-	echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
-}
-
-enode_electron() {
-	"$(get_electron_dir)"/node $@
-}
-
-enodegyp_atom() {
-	local apmpath="/usr/share/atom/resources/app/apm"
-	local nodegyp="${S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
-
-	PATH="$(get_electron_dir):${PATH}" \
-		enode_electron "${nodegyp}" \
-			--nodedir="$(get_electron_nodedir)" $@ || die
-}
-
-easar() {
-	local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
-	echo "asar" $@
-	enode_electron "${asar}" $@ || die
-}
-
-package_dir() {
-	local binmod="${1}" binmod_v
-	eval binmod_v=\${$(tr '[:lower:]' '[:upper:]' <<< ${binmod//-/_}_V)}
-	echo -n ${binmod}-${binmod_v}
-}
-
-_unpack_npm_package() {
-	local a="${1}" basename suffix
-
-	basename=${a%.*}
-	suffix=${basename##*.}
-	if [[ "${suffix}" == "tar" ]]; then
-		basename=${basename%.*}
-	fi
-
-	unpack ${a}
-	mv package "${basename}" || die
-}
-
-_have_patches_for() {
-	local _patches="${1}-*.patch" _find
-	_find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
-	test -n "$_find"
-}
-
-src_unpack() {
-	local a
-
-	for a in ${A} ; do
-		case ${a} in
-		*.rpm) srcrpm_unpack "${a}" ;;
-		*) unpack "${a}" ;;
-		esac
-	done
-
-	mkdir "${WORKDIR}/atom-${MY_PV}" || die
-	mv "${WORKDIR}/usr" "${WORKDIR}/atom-${MY_PV}" || die
-}
-
-src_prepare() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-	local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
-
-	cd "${S}/usr/share/atom/resources/app" || die
-	epatch "${FILESDIR}/${PN}-python.patch"
-	epatch "${FILESDIR}/${PN}-unbundle-electron.patch"
-
-	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
-		./atom.sh \
-		|| die
-
-	local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)"
-	sed -i -e \
-		"s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
-			apm/bin/apm || die
-
-	sed -i -e \
-		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
-			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
-
-	rm apm/bin/node || die
-
-	sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
-		"${S}/usr/share/applications/atom.desktop" || die
-
-	cd "${S}" || die
-
-	for binmod in ${BINMODS}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		if _have_patches_for "${binmod}"; then
-			for patch in "${FILESDIR}"/${binmod}-*.patch; do
-				epatch "${patch}"
-			done
-		fi
-	done
-
-	# Unbundle bundled libs from modules
-
-	_s="${WORKDIR}/$(package_dir git-utils)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "git;libgit2;git2" \
-		"${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir node-oniguruma)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "onig_scanner;oniguruma;onig" \
-		"${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir node-spellchecker)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "spellchecker;hunspell;hunspell" \
-		"${_s}/binding.gyp" || die
-
-	for binmod in ${BINMODS}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		mkdir -p "${_s}/node_modules" || die
-		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
-	done
-
-	# Unpack app.asar
-	easar extract "${S}/usr/share/atom/resources/app.asar" "${S}/build/app"
-
-	cd "${S}" || die
-
-	epatch "${FILESDIR}/atom-apm-path.patch"
-
-	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
-		"${S}/build/app/src/config-schema.js" || die
-
-	eapply_user
-}
-
-src_configure() {
-	local binmod _s
-
-	for binmod in ${BINMODS}; do
-		einfo "Configuring ${binmod}..."
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		enodegyp_atom configure
-	done
-}
-
-src_compile() {
-	local binmod _s x
-	local ctags_d="node_modules/symbols-view/vendor"
-	local jobs=$(makeopts_jobs) gypopts
-
-	gypopts="--verbose"
-
-	if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
-		gypopts+=" --jobs ${jobs}"
-	fi
-
-	mkdir -p "${S}/build/modules/" || die
-
-	for binmod in ${BINMODS}; do
-		einfo "Building ${binmod}..."
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		enodegyp_atom ${gypopts} build
-		x=${binmod##node-}
-		mkdir -p "${S}/build/modules/${x}"
-		cp build/Release/*.node "${S}/build/modules/${x}"
-	done
-
-	# Put compiled binary modules in place
-	_fix_binmods "${S}/build" "app"
-	_fix_binmods "${S}/usr/share/atom/resources" "app"
-
-	# Remove non-Linux vendored ctags binaries
-	rm "${S}/build/app/${ctags_d}/ctags-darwin" \
-	   "${S}/build/app/${ctags_d}/ctags-win32.exe" || die
-
-	# Re-pack app.asar
-	# Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
-	cd "${S}/build" || die
-	x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
-	easar pack "${x}" "app" "app.asar"
-	cd "${S}" || die
-}
-
-_fix_binmods() {
-	local _dir="${2}" _prefix="${1}" path relpath modpath mod depth link f d
-	local cruft
-
-	find "${_prefix}/${_dir}" -name '*.node' -print | while IFS= read -r path; do
-		f=$(basename "${path}")
-		d=$(dirname "${path}")
-	    relpath=${path#${_prefix}}
-		relpath=${relpath##/}
-		relpath=${relpath#W${_dir}}
-		modpath=$(dirname ${relpath})
-		modpath=${modpath%build/Release}
-		mod=$(basename ${modpath})
-
-		# must copy here as symlinks will cause the module loading to fail
-		cp -f "${S}/build/modules/${mod}/${f}" "${path}" || die
-		cruft=$(find "${d}" -name '*.a' -print)
-		if [ -n "${cruft}" ]; then
-			rm ${cruft} || die
-		fi
-	done
-}
-
-_fix_executables() {
-	local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
-
-	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
-	| while IFS= read -r f; do
-		IFS= read -r shebang < "${f}"
-
-		if [[ ${shebang} == '#!'* ]]; then
-			fperms +x "${f#${ED}}"
-			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
-				einfo "Fixing node shebang in ${f#${ED}}"
-				sed --follow-symlinks -i \
-					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
-			fi
-		fi
-	done || die
-}
-
-src_install() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-	local ctags_d="node_modules/symbols-view/vendor"
-
-	cd "${S}" || die
-
-	# Replace vendored ctags with a symlink to system ctags
-	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "/usr/bin/ctags" \
-		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-
-	insinto "${install_dir}"
-
-	doins build/app.asar
-	doins -r build/app.asar.unpacked
-	doins -r usr/share/atom/resources/app
-
-	insinto /usr/share/applications/
-	newins usr/share/applications/atom.desktop "atom${suffix}.desktop"
-
-	insinto /usr/share/icons/
-	doins -r usr/share/icons/hicolor
-
-	exeinto "${install_dir}"
-	newexe usr/share/atom/resources/app/atom.sh atom
-	insinto /usr/share/licenses/"${PN}${suffix}"
-	doins usr/share/atom/resources/LICENSE.md
-	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
-	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
-
-	_fix_executables "${install_dir}/app/apm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
-}

diff --git a/app-editors/atom/atom-1.12.2.ebuild b/app-editors/atom/atom-1.12.2.ebuild
index 26f89e4..4c9b026 100644
--- a/app-editors/atom/atom-1.12.2.ebuild
+++ b/app-editors/atom/atom-1.12.2.ebuild
@@ -5,7 +5,7 @@
 EAPI=6
 
 PYTHON_COMPAT=( python2_7 )
-inherit flag-o-matic python-any-r1 multiprocessing rpm
+inherit python-any-r1 multiprocessing rpm
 
 DESCRIPTION="A hackable text editor for the 21st Century"
 HOMEPAGE="https://atom.io"

diff --git a/app-editors/atom/atom-1.7.4-r4.ebuild b/app-editors/atom/atom-1.7.4-r4.ebuild
deleted file mode 100644
index 4b3c7b7..00000000
--- a/app-editors/atom/atom-1.7.4-r4.ebuild
+++ /dev/null
@@ -1,458 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit flag-o-matic python-any-r1 eutils multiprocessing rpm
-
-DESCRIPTION="A hackable text editor for the 21st Century"
-HOMEPAGE="https://atom.io"
-MY_PV="${PV//_/-}"
-
-ELECTRON_SLOT=0.36
-
-# All binary packages depend on this
-NAN_V=2.0.9
-
-# Keep dep versions in sync with atom/package.json
-CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
-GIT_UTILS_V=4.1.2
-NODEGIT_V=0.12.2
-NODE_NSLOG_V=3.0.0
-NODE_ONIGURUMA_V=5.1.2
-NODE_PATHWATCHER_V=6.2.4
-NODE_RUNAS_V=3.1.1
-SCROLLBAR_STYLE_V=3.2.0
-SPELL_CHECK_V=0.67.0
-
-# textbuffer dependency
-MARKER_INDEX_V=3.1.0
-
-# apm dependency
-NODE_KEYTAR_V=3.0.2
-
-# atom-keymap dependency
-KEYBOARD_LAYOUT_V=1.0.0
-
-# symbols-view dependency
-NODE_CTAGS_V=3.0.0
-
-# spell-check dependency
-NODE_SPELLCHECKER_V=3.2.3
-
-# nodegit dependencies
-PROMISIFY_NODE_V=0.4.0
-NODE_FS_EXTRA_V=0.26.2
-NODE_GRACEFUL_FS_V=4.1.2
-NODE_JSONFILE_V=2.1.0
-NODE_KLAW_V=1.0.0
-RIMRAF_V=2.2.8
-NODE_LODASH_V=3.10.1
-COMBYNE_V=0.8.1
-JS_BEAUTIFY_V=1.5.10
-NODEGIT_PROMISE_V=4.0.0
-ASAP_V=2.0.3
-OBJECT_ASSIGN_V=4.0.1
-
-ASAR_V=0.12.1
-
-# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
-SRC_URI="
-	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
-	https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
-	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
-	https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
-	https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
-	https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
-	https://github.com/nodegit/nodegit/archive/v${NODEGIT_V}.tar.gz -> nodegit-${NODEGIT_V}.tar.gz
-	https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
-	https://github.com/atom/marker-index/archive/v${MARKER_INDEX_V}.tar.gz -> atom-marker-index-${MARKER_INDEX_V}.tar.gz
-	https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
-	https://github.com/atom/node-nslog/archive/v${NODE_NSLOG_V}.tar.gz -> atom-node-nslog-${NODE_NSLOG_V}.tar.gz
-	https://github.com/atom/node-oniguruma/archive/v${NODE_ONIGURUMA_V}.tar.gz -> atom-node-oniguruma-${NODE_ONIGURUMA_V}.tar.gz
-	https://github.com/atom/node-pathwatcher/archive/v${NODE_PATHWATCHER_V}.tar.gz -> atom-node-pathwatcher-${NODE_PATHWATCHER_V}.tar.gz
-	https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
-	https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
-	https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
-
-	https://github.com/nodegit/promisify-node/archive/${PROMISIFY_NODE_V}.tar.gz -> nodegit-promisify-node-${PROMISIFY_NODE_V}.tar.gz
-	https://registry.npmjs.org/nodegit-promise/-/nodegit-promise-${NODEGIT_PROMISE_V}.tgz
-	https://registry.npmjs.org/lodash/-/lodash-${NODE_LODASH_V}.tgz -> node-lodash-${NODE_LODASH_V}.tgz
-	https://github.com/kriskowal/asap/archive/v${ASAP_V}.tar.gz -> node-asap-${ASAP_V}.tar.gz
-	https://github.com/sindresorhus/object-assign/archive/v${OBJECT_ASSIGN_V}.tar.gz -> node-object-assign-${OBJECT_ASSIGN_V}.tar.gz
-	https://github.com/jprichardson/node-fs-extra/archive/${NODE_FS_EXTRA_V}.tar.gz -> node-fs-extra-${NODE_FS_EXTRA_V}.tar.gz
-	https://github.com/jprichardson/node-jsonfile/archive/${NODE_JSONFILE_V}.tar.gz -> node-jsonfile-${NODE_JSONFILE_V}.tar.gz
-	https://github.com/jprichardson/node-klaw/archive/${NODE_KLAW_V}.tar.gz -> node-klaw-${NODE_KLAW_V}.tar.gz
-	https://github.com/isaacs/node-graceful-fs/archive/v${NODE_GRACEFUL_FS_V}.tar.gz -> node-graceful-fs-${NODE_GRACEFUL_FS_V}.tar.gz
-	https://github.com/isaacs/rimraf/archive/v${RIMRAF_V}.tar.gz -> node-rimraf-${RIMRAF_V}.tar.gz
-	https://github.com/tbranyen/combyne/archive/${COMBYNE_V}.tar.gz -> node-combyne-${COMBYNE_V}.tar.gz
-	https://github.com/beautify-web/js-beautify/archive/v${JS_BEAUTIFY_V}.tar.gz -> node-js-beautify-${JS_BEAUTIFY_V}.tar.gz
-"
-
-BINMODS="
-		cached-run-in-this-context
-		node-ctags
-		git-utils
-		nodegit
-		keyboard-layout
-		node-nslog
-		node-oniguruma
-		node-pathwatcher
-		node-runas
-		node-keytar
-		scrollbar-style
-		node-spellchecker
-		marker-index
-"
-
-RESTRICT="mirror"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="
-	!dev-util/apm
-	${PYTHON_DEPS}
-	>=app-text/hunspell-1.3.3:=
-	=dev-libs/libgit2-0.23*:=[ssh]
-	>=gnome-base/libgnome-keyring-3.12:=
-	>=dev-libs/oniguruma-5.9.5:=
-	>=dev-util/ctags-5.8
-	>=dev-util/electron-0.36.12-r4:${ELECTRON_SLOT}
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-}
-
-get_install_suffix() {
-	local c=(${SLOT//\// })
-	local slot=${c[0]}
-	local suffix
-
-	if [[ "${slot}" == "0" ]]; then
-		suffix=""
-	else
-		suffix="-${slot}"
-	fi
-
-	echo -n "${suffix}"
-}
-
-get_install_dir() {
-	echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
-}
-
-get_electron_dir() {
-	echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
-}
-
-get_electron_nodedir() {
-	echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
-}
-
-enode_electron() {
-	"$(get_electron_dir)"/node $@
-}
-
-enodegyp_atom() {
-	local apmpath="/usr/share/atom/resources/app/apm"
-	local nodegyp="${S}/${apmpath}/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"
-
-	PATH="$(get_electron_dir):${PATH}" \
-		enode_electron "${nodegyp}" \
-			--nodedir="$(get_electron_nodedir)" $@ || die
-}
-
-easar() {
-	local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
-	echo "asar" $@
-	enode_electron "${asar}" $@ || die
-}
-
-package_dir() {
-	local binmod="${1}" binmod_v
-	eval binmod_v=\${$(tr '[:lower:]' '[:upper:]' <<< ${binmod//-/_}_V)}
-	echo -n ${binmod}-${binmod_v}
-}
-
-_unpack_npm_package() {
-	local a="${1}" basename suffix
-
-	basename=${a%.*}
-	suffix=${basename##*.}
-	if [[ "${suffix}" == "tar" ]]; then
-		basename=${basename%.*}
-	fi
-
-	unpack ${a}
-	mv package "${basename}" || die
-}
-
-_have_patches_for() {
-	local _patches="${1}-*.patch" _find
-	_find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
-	test -n "$_find"
-}
-
-src_unpack() {
-	local a
-
-	for a in ${A} ; do
-		case ${a} in
-		*.rpm) srcrpm_unpack "${a}" ;;
-		nodegit-promise*|node-lodash*) _unpack_npm_package "${a}" ;;
-		*) unpack "${a}" ;;
-		esac
-	done
-
-	mkdir "${WORKDIR}/atom-${MY_PV}" || die
-	mv "${WORKDIR}/usr" "${WORKDIR}/atom-${MY_PV}" || die
-}
-
-src_prepare() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-	local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
-
-	cd "${S}/usr/share/atom/resources/app" || die
-	epatch "${FILESDIR}/${PN}-python.patch"
-	epatch "${FILESDIR}/${PN}-unbundle-electron.patch"
-
-	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
-		./atom.sh \
-		|| die
-
-	local env="export NPM_CONFIG_NODEDIR=$(get_electron_node_dir)"
-	sed -i -e \
-		"s|\"\$binDir/\$nodeBin\" --harmony_collections|${env}\nexec $(get_electron_dir)/node|g" \
-			apm/bin/apm || die
-
-	sed -i -e \
-		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
-			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
-
-	rm apm/bin/node || die
-
-	sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
-		"${S}/usr/share/applications/atom.desktop" || die
-
-	cd "${S}" || die
-
-	for binmod in ${BINMODS}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		if _have_patches_for "${binmod}"; then
-			for patch in "${FILESDIR}"/${binmod}-*.patch; do
-				epatch "${patch}"
-			done
-		fi
-	done
-
-	# Unbundle bundled libs from modules
-
-	_s="${WORKDIR}/$(package_dir git-utils)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "git;libgit2;git2" "${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir node-oniguruma)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "onig_scanner;oniguruma;onig" "${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir node-spellchecker)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "spellchecker;hunspell;hunspell" "${_s}/binding.gyp" || die
-
-	for binmod in ${BINMODS}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		mkdir -p "${_s}/node_modules" || die
-		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
-	done
-
-	_s="${WORKDIR}/$(package_dir nodegit)"
-	ln -s "${WORKDIR}/$(package_dir node-fs-extra)" "${_s}/node_modules/fs-extra" || die
-	ln -s "${WORKDIR}/$(package_dir promisify-node)" "${_s}/node_modules/promisify-node" || die
-	ln -s "${WORKDIR}/$(package_dir combyne)" "${_s}/node_modules/combyne" || die
-	ln -s "${WORKDIR}/$(package_dir js-beautify)" "${_s}/node_modules/js-beautify" || die
-	ln -s "${WORKDIR}/$(package_dir node-lodash)" "${_s}/node_modules/lodash" || die
-
-	_s="${WORKDIR}/$(package_dir promisify-node)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir nodegit-promise)" "${_s}/node_modules/nodegit-promise" || die
-	ln -s "${WORKDIR}/$(package_dir object-assign)" "${_s}/node_modules/object-assign" || die
-
-	_s="${WORKDIR}/$(package_dir nodegit-promise)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir asap)" "${_s}/node_modules/asap" || die
-
-	_s="${WORKDIR}/$(package_dir node-fs-extra)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir node-graceful-fs)" "${_s}/node_modules/graceful-fs" || die
-	ln -s "${WORKDIR}/$(package_dir node-jsonfile)" "${_s}/node_modules/jsonfile" || die
-	ln -s "${WORKDIR}/$(package_dir node-klaw)" "${_s}/node_modules/klaw" || die
-	ln -s "${WORKDIR}/$(package_dir rimraf)" "${_s}/node_modules/rimraf" || die
-
-	# Unpack app.asar
-	easar extract "${S}/usr/share/atom/resources/app.asar" "${S}/build/app"
-
-	cd "${S}" || die
-
-	epatch "${FILESDIR}/atom-apm-path.patch"
-	epatch "${FILESDIR}/asar-require.patch"
-
-	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
-		"${S}/build/app/src/config-schema.js" || die
-
-	eapply_user
-}
-
-src_configure() {
-	local binmod _s
-
-	_s="${WORKDIR}/$(package_dir nodegit)"
-	cd "${_s}" || die
-	enode_electron generate/scripts/generateJson.js || die
-	enode_electron generate/scripts/generateNativeCode.js || die
-
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "nodegit;vendor/libgit2.gyp:libgit2;git2;ssh2" "${_s}/binding.gyp" || die
-
-	for binmod in ${BINMODS}; do
-		einfo "Configuring ${binmod}..."
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		enodegyp_atom configure
-	done
-}
-
-src_compile() {
-	local binmod _s x
-	local ctags_d="node_modules/symbols-view/vendor"
-	local jobs=$(makeopts_jobs) gypopts
-
-	gypopts="--verbose"
-
-	if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
-		gypopts+=" --jobs ${jobs}"
-	fi
-
-	mkdir -p "${S}/build/modules/" || die
-
-	for binmod in ${BINMODS}; do
-		einfo "Building ${binmod}..."
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		enodegyp_atom ${gypopts} build
-		x=${binmod##node-}
-		mkdir -p "${S}/build/modules/${x}"
-		cp build/Release/*.node "${S}/build/modules/${x}"
-	done
-
-	# Put compiled binary modules in place
-	_fix_binmods "${S}/build" "app"
-	_fix_binmods "${S}/usr/share/atom/resources" "app"
-
-	# Remove non-Linux vendored ctags binaries
-	rm "${S}/build/app/${ctags_d}/ctags-darwin" \
-	   "${S}/build/app/${ctags_d}/ctags-win32.exe" || die
-
-	# Re-pack app.asar
-	# Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
-	cd "${S}/build" || die
-	x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
-	easar pack "${x}" "app" "app.asar"
-	cd "${S}" || die
-}
-
-_fix_binmods() {
-	local _dir="${2}" _prefix="${1}" path relpath modpath mod depth link f d
-	local cruft
-
-	find "${_prefix}/${_dir}" -name '*.node' -print | while IFS= read -r path; do
-		f=$(basename "${path}")
-		d=$(dirname "${path}")
-	    relpath=${path#${_prefix}}
-		relpath=${relpath##/}
-		relpath=${relpath#W${_dir}}
-		modpath=$(dirname ${relpath})
-		modpath=${modpath%build/Release}
-		mod=$(basename ${modpath})
-
-		# must copy here as symlinks will cause the module loading to fail
-		cp -f "${S}/build/modules/${mod}/${f}" "${path}" || die
-		cruft=$(find "${d}" -name '*.a' -print)
-		if [ -n "${cruft}" ]; then
-			rm ${cruft} || die
-		fi
-	done
-}
-
-_fix_executables() {
-	local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
-
-	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
-	| while IFS= read -r f; do
-		IFS= read -r shebang < "${f}"
-
-		if [[ ${shebang} == '#!'* ]]; then
-			fperms +x "${f#${ED}}"
-			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
-				einfo "Fixing node shebang in ${f#${ED}}"
-				sed --follow-symlinks -i \
-					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
-			fi
-		fi
-	done || die
-}
-
-src_install() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-	local ctags_d="node_modules/symbols-view/vendor"
-
-	cd "${S}" || die
-
-	# Replace vendored ctags with a symlink to system ctags
-	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "/usr/bin/ctags" \
-		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-
-	insinto "${install_dir}"
-
-	doins build/app.asar
-	doins -r build/app.asar.unpacked
-	doins -r usr/share/atom/resources/app
-
-	insinto /usr/share/applications/
-	newins usr/share/applications/atom.desktop "atom${suffix}.desktop"
-
-	insinto /usr/share/icons/
-	doins -r usr/share/icons/hicolor
-
-	exeinto "${install_dir}"
-	newexe usr/share/atom/resources/app/atom.sh atom
-	insinto /usr/share/licenses/"${PN}${suffix}"
-	doins usr/share/atom/resources/LICENSE.md
-	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
-	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
-
-	_fix_executables "${install_dir}/app/apm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
-}

diff --git a/app-editors/atom/atom-1.8.0-r1.ebuild b/app-editors/atom/atom-1.8.0-r1.ebuild
deleted file mode 100644
index 8fe84e7..00000000
--- a/app-editors/atom/atom-1.8.0-r1.ebuild
+++ /dev/null
@@ -1,458 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit flag-o-matic python-any-r1 eutils multiprocessing rpm
-
-DESCRIPTION="A hackable text editor for the 21st Century"
-HOMEPAGE="https://atom.io"
-MY_PV="${PV//_/-}"
-
-ELECTRON_SLOT=0.36
-
-# All binary packages depend on this
-NAN_V=2.0.9
-
-# Keep dep versions in sync with atom/package.json
-CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
-GIT_UTILS_V=4.1.2
-NODEGIT_V=0.12.2
-NODE_NSLOG_V=3.0.0
-NODE_ONIGURUMA_V=5.1.2
-NODE_PATHWATCHER_V=6.2.4
-NODE_RUNAS_V=3.1.1
-SCROLLBAR_STYLE_V=3.2.0
-SPELL_CHECK_V=0.67.0
-
-# textbuffer dependency
-MARKER_INDEX_V=3.1.0
-
-# apm dependency
-NODE_KEYTAR_V=3.0.2
-
-# atom-keymap dependency
-KEYBOARD_LAYOUT_V=1.0.0
-
-# symbols-view dependency
-NODE_CTAGS_V=3.0.0
-
-# spell-check dependency
-NODE_SPELLCHECKER_V=3.2.3
-
-# nodegit dependencies
-PROMISIFY_NODE_V=0.4.0
-NODE_FS_EXTRA_V=0.26.2
-NODE_GRACEFUL_FS_V=4.1.2
-NODE_JSONFILE_V=2.1.0
-NODE_KLAW_V=1.0.0
-RIMRAF_V=2.2.8
-NODE_LODASH_V=3.10.1
-COMBYNE_V=0.8.1
-JS_BEAUTIFY_V=1.5.10
-NODEGIT_PROMISE_V=4.0.0
-ASAP_V=2.0.3
-OBJECT_ASSIGN_V=4.0.1
-
-ASAR_V=0.12.1
-
-# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
-SRC_URI="
-	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-${MY_PV}.rpm
-	https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
-	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
-	https://github.com/atom/cached-run-in-this-context/archive/v${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz -> atom-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
-	https://github.com/atom/node-ctags/archive/v${NODE_CTAGS_V}.tar.gz -> atom-node-ctags-${NODE_CTAGS_V}.tar.gz
-	https://github.com/atom/git-utils/archive/v${GIT_UTILS_V}.tar.gz -> atom-git-utils-${GIT_UTILS_V}.tar.gz
-	https://github.com/nodegit/nodegit/archive/v${NODEGIT_V}.tar.gz -> nodegit-${NODEGIT_V}.tar.gz
-	https://github.com/atom/keyboard-layout/archive/v${KEYBOARD_LAYOUT_V}.tar.gz -> atom-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
-	https://github.com/atom/marker-index/archive/v${MARKER_INDEX_V}.tar.gz -> atom-marker-index-${MARKER_INDEX_V}.tar.gz
-	https://github.com/atom/node-keytar/archive/v${NODE_KEYTAR_V}.tar.gz -> atom-node-keytar-${NODE_KEYTAR_V}.tar.gz
-	https://github.com/atom/node-nslog/archive/v${NODE_NSLOG_V}.tar.gz -> atom-node-nslog-${NODE_NSLOG_V}.tar.gz
-	https://github.com/atom/node-oniguruma/archive/v${NODE_ONIGURUMA_V}.tar.gz -> atom-node-oniguruma-${NODE_ONIGURUMA_V}.tar.gz
-	https://github.com/atom/node-pathwatcher/archive/v${NODE_PATHWATCHER_V}.tar.gz -> atom-node-pathwatcher-${NODE_PATHWATCHER_V}.tar.gz
-	https://github.com/atom/node-runas/archive/v${NODE_RUNAS_V}.tar.gz -> atom-node-runas-${NODE_RUNAS_V}.tar.gz
-	https://github.com/atom/scrollbar-style/archive/v${SCROLLBAR_STYLE_V}.tar.gz -> atom-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
-	https://github.com/atom/node-spellchecker/archive/v${NODE_SPELLCHECKER_V}.tar.gz -> atom-node-spellchecker-${NODE_SPELLCHECKER_V}.tar.gz
-
-	https://github.com/nodegit/promisify-node/archive/${PROMISIFY_NODE_V}.tar.gz -> nodegit-promisify-node-${PROMISIFY_NODE_V}.tar.gz
-	https://registry.npmjs.org/nodegit-promise/-/nodegit-promise-${NODEGIT_PROMISE_V}.tgz
-	https://registry.npmjs.org/lodash/-/lodash-${NODE_LODASH_V}.tgz -> node-lodash-${NODE_LODASH_V}.tgz
-	https://github.com/kriskowal/asap/archive/v${ASAP_V}.tar.gz -> node-asap-${ASAP_V}.tar.gz
-	https://github.com/sindresorhus/object-assign/archive/v${OBJECT_ASSIGN_V}.tar.gz -> node-object-assign-${OBJECT_ASSIGN_V}.tar.gz
-	https://github.com/jprichardson/node-fs-extra/archive/${NODE_FS_EXTRA_V}.tar.gz -> node-fs-extra-${NODE_FS_EXTRA_V}.tar.gz
-	https://github.com/jprichardson/node-jsonfile/archive/${NODE_JSONFILE_V}.tar.gz -> node-jsonfile-${NODE_JSONFILE_V}.tar.gz
-	https://github.com/jprichardson/node-klaw/archive/${NODE_KLAW_V}.tar.gz -> node-klaw-${NODE_KLAW_V}.tar.gz
-	https://github.com/isaacs/node-graceful-fs/archive/v${NODE_GRACEFUL_FS_V}.tar.gz -> node-graceful-fs-${NODE_GRACEFUL_FS_V}.tar.gz
-	https://github.com/isaacs/rimraf/archive/v${RIMRAF_V}.tar.gz -> node-rimraf-${RIMRAF_V}.tar.gz
-	https://github.com/tbranyen/combyne/archive/${COMBYNE_V}.tar.gz -> node-combyne-${COMBYNE_V}.tar.gz
-	https://github.com/beautify-web/js-beautify/archive/v${JS_BEAUTIFY_V}.tar.gz -> node-js-beautify-${JS_BEAUTIFY_V}.tar.gz
-"
-
-BINMODS="
-		cached-run-in-this-context
-		node-ctags
-		git-utils
-		nodegit
-		keyboard-layout
-		node-nslog
-		node-oniguruma
-		node-pathwatcher
-		node-runas
-		node-keytar
-		scrollbar-style
-		node-spellchecker
-		marker-index
-"
-
-RESTRICT="mirror"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="
-	!dev-util/apm
-	${PYTHON_DEPS}
-	>=app-text/hunspell-1.3.3:=
-	=dev-libs/libgit2-0.23*:=[ssh]
-	>=gnome-base/libgnome-keyring-3.12:=
-	>=dev-libs/oniguruma-5.9.5:=
-	>=dev-util/ctags-5.8
-	>=dev-util/electron-0.36.12-r3:${ELECTRON_SLOT}
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-}
-
-get_install_suffix() {
-	local c=(${SLOT//\// })
-	local slot=${c[0]}
-	local suffix
-
-	if [[ "${slot}" == "0" ]]; then
-		suffix=""
-	else
-		suffix="-${slot}"
-	fi
-
-	echo -n "${suffix}"
-}
-
-get_install_dir() {
-	echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
-}
-
-get_electron_dir() {
-	echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
-}
-
-get_electron_nodedir() {
-	echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
-}
-
-enode_electron() {
-	"$(get_electron_dir)"/node $@
-}
-
-enodegyp_atom() {
-	local apmpath="/usr/share/atom/resources/app/apm"
-	local nodegyp="${S}/${apmpath}/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"
-
-	PATH="$(get_electron_dir):${PATH}" \
-		enode_electron "${nodegyp}" \
-			--nodedir="$(get_electron_nodedir)" $@ || die
-}
-
-easar() {
-	local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
-	echo "asar" $@
-	enode_electron "${asar}" $@ || die
-}
-
-package_dir() {
-	local binmod="${1}" binmod_v
-	eval binmod_v=\${$(tr '[:lower:]' '[:upper:]' <<< ${binmod//-/_}_V)}
-	echo -n ${binmod}-${binmod_v}
-}
-
-_unpack_npm_package() {
-	local a="${1}" basename suffix
-
-	basename=${a%.*}
-	suffix=${basename##*.}
-	if [[ "${suffix}" == "tar" ]]; then
-		basename=${basename%.*}
-	fi
-
-	unpack ${a}
-	mv package "${basename}" || die
-}
-
-_have_patches_for() {
-	local _patches="${1}-*.patch" _find
-	_find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
-	test -n "$_find"
-}
-
-src_unpack() {
-	local a
-
-	for a in ${A} ; do
-		case ${a} in
-		*.rpm) srcrpm_unpack "${a}" ;;
-		nodegit-promise*|node-lodash*) _unpack_npm_package "${a}" ;;
-		*) unpack "${a}" ;;
-		esac
-	done
-
-	mkdir "${WORKDIR}/atom-${MY_PV}" || die
-	mv "${WORKDIR}/usr" "${WORKDIR}/atom-${MY_PV}" || die
-}
-
-src_prepare() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-	local patch binmod _s nan_s="${WORKDIR}/nan-${NAN_V}"
-
-	cd "${S}/usr/share/atom/resources/app" || die
-	epatch "${FILESDIR}/${PN}-python.patch"
-	epatch "${FILESDIR}/${PN}-unbundle-electron.patch"
-
-	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
-		./atom.sh \
-		|| die
-
-	local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)"
-	sed -i -e \
-		"s|\"\$binDir/\$nodeBin\" --harmony_collections|${env}\nexec $(get_electron_dir)/node|g" \
-			apm/bin/apm || die
-
-	sed -i -e \
-		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
-			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
-
-	rm apm/bin/node || die
-
-	sed -i -e "s|/usr/share/atom/atom|/usr/bin/atom|g" \
-		"${S}/usr/share/applications/atom.desktop" || die
-
-	cd "${S}" || die
-
-	for binmod in ${BINMODS}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		if _have_patches_for "${binmod}"; then
-			for patch in "${FILESDIR}"/${binmod}-*.patch; do
-				epatch "${patch}"
-			done
-		fi
-	done
-
-	# Unbundle bundled libs from modules
-
-	_s="${WORKDIR}/$(package_dir git-utils)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "git;libgit2;git2" "${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir node-oniguruma)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "onig_scanner;oniguruma;onig" "${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir node-spellchecker)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "spellchecker;hunspell;hunspell" "${_s}/binding.gyp" || die
-
-	for binmod in ${BINMODS}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		mkdir -p "${_s}/node_modules" || die
-		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
-	done
-
-	_s="${WORKDIR}/$(package_dir nodegit)"
-	ln -s "${WORKDIR}/$(package_dir node-fs-extra)" "${_s}/node_modules/fs-extra" || die
-	ln -s "${WORKDIR}/$(package_dir promisify-node)" "${_s}/node_modules/promisify-node" || die
-	ln -s "${WORKDIR}/$(package_dir combyne)" "${_s}/node_modules/combyne" || die
-	ln -s "${WORKDIR}/$(package_dir js-beautify)" "${_s}/node_modules/js-beautify" || die
-	ln -s "${WORKDIR}/$(package_dir node-lodash)" "${_s}/node_modules/lodash" || die
-
-	_s="${WORKDIR}/$(package_dir promisify-node)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir nodegit-promise)" "${_s}/node_modules/nodegit-promise" || die
-	ln -s "${WORKDIR}/$(package_dir object-assign)" "${_s}/node_modules/object-assign" || die
-
-	_s="${WORKDIR}/$(package_dir nodegit-promise)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir asap)" "${_s}/node_modules/asap" || die
-
-	_s="${WORKDIR}/$(package_dir node-fs-extra)"
-	mkdir "${_s}/node_modules" || die
-	ln -s "${WORKDIR}/$(package_dir node-graceful-fs)" "${_s}/node_modules/graceful-fs" || die
-	ln -s "${WORKDIR}/$(package_dir node-jsonfile)" "${_s}/node_modules/jsonfile" || die
-	ln -s "${WORKDIR}/$(package_dir node-klaw)" "${_s}/node_modules/klaw" || die
-	ln -s "${WORKDIR}/$(package_dir rimraf)" "${_s}/node_modules/rimraf" || die
-
-	# Unpack app.asar
-	easar extract "${S}/usr/share/atom/resources/app.asar" "${S}/build/app"
-
-	cd "${S}" || die
-
-	epatch "${FILESDIR}/atom-apm-path.patch"
-	epatch "${FILESDIR}/asar-require.patch"
-
-	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
-		"${S}/build/app/src/config-schema.js" || die
-
-	eapply_user
-}
-
-src_configure() {
-	local binmod _s
-
-	_s="${WORKDIR}/$(package_dir nodegit)"
-	cd "${_s}" || die
-	enode_electron generate/scripts/generateJson.js || die
-	enode_electron generate/scripts/generateNativeCode.js || die
-
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "nodegit;vendor/libgit2.gyp:libgit2;git2;ssh2" "${_s}/binding.gyp" || die
-
-	for binmod in ${BINMODS}; do
-		einfo "Configuring ${binmod}..."
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		enodegyp_atom configure
-	done
-}
-
-src_compile() {
-	local binmod _s x
-	local ctags_d="node_modules/symbols-view/vendor"
-	local jobs=$(makeopts_jobs) gypopts
-
-	gypopts="--verbose"
-
-	if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
-		gypopts+=" --jobs ${jobs}"
-	fi
-
-	mkdir -p "${S}/build/modules/" || die
-
-	for binmod in ${BINMODS}; do
-		einfo "Building ${binmod}..."
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		enodegyp_atom ${gypopts} build
-		x=${binmod##node-}
-		mkdir -p "${S}/build/modules/${x}"
-		cp build/Release/*.node "${S}/build/modules/${x}"
-	done
-
-	# Put compiled binary modules in place
-	_fix_binmods "${S}/build" "app"
-	_fix_binmods "${S}/usr/share/atom/resources" "app"
-
-	# Remove non-Linux vendored ctags binaries
-	rm "${S}/build/app/${ctags_d}/ctags-darwin" \
-	   "${S}/build/app/${ctags_d}/ctags-win32.exe" || die
-
-	# Re-pack app.asar
-	# Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
-	cd "${S}/build" || die
-	x="--unpack={*.node,ctags-config,ctags-linux,**/node_modules/spellchecker/**,**/resources/atom.png}"
-	easar pack "${x}" "app" "app.asar"
-	cd "${S}" || die
-}
-
-_fix_binmods() {
-	local _dir="${2}" _prefix="${1}" path relpath modpath mod depth link f d
-	local cruft
-
-	find "${_prefix}/${_dir}" -name '*.node' -print | while IFS= read -r path; do
-		f=$(basename "${path}")
-		d=$(dirname "${path}")
-	    relpath=${path#${_prefix}}
-		relpath=${relpath##/}
-		relpath=${relpath#W${_dir}}
-		modpath=$(dirname ${relpath})
-		modpath=${modpath%build/Release}
-		mod=$(basename ${modpath})
-
-		# must copy here as symlinks will cause the module loading to fail
-		cp -f "${S}/build/modules/${mod}/${f}" "${path}" || die
-		cruft=$(find "${d}" -name '*.a' -print)
-		if [ -n "${cruft}" ]; then
-			rm ${cruft} || die
-		fi
-	done
-}
-
-_fix_executables() {
-	local _dir="${1}" _node_sb="#!$(get_electron_dir)"/node
-
-	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
-	| while IFS= read -r f; do
-		IFS= read -r shebang < "${f}"
-
-		if [[ ${shebang} == '#!'* ]]; then
-			fperms +x "${f#${ED}}"
-			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
-				einfo "Fixing node shebang in ${f#${ED}}"
-				sed --follow-symlinks -i \
-					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
-			fi
-		fi
-	done || die
-}
-
-src_install() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-	local ctags_d="node_modules/symbols-view/vendor"
-
-	cd "${S}" || die
-
-	# Replace vendored ctags with a symlink to system ctags
-	rm "${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "/usr/bin/ctags" \
-		"${S}/build/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-
-	insinto "${install_dir}"
-
-	doins build/app.asar
-	doins -r build/app.asar.unpacked
-	doins -r usr/share/atom/resources/app
-
-	insinto /usr/share/applications/
-	newins usr/share/applications/atom.desktop "atom${suffix}.desktop"
-
-	insinto /usr/share/icons/
-	doins -r usr/share/icons/hicolor
-
-	exeinto "${install_dir}"
-	newexe usr/share/atom/resources/app/atom.sh atom
-	insinto /usr/share/licenses/"${PN}${suffix}"
-	doins usr/share/atom/resources/LICENSE.md
-	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
-	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
-
-	_fix_executables "${install_dir}/app/apm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
-}

diff --git a/app-editors/atom/files/asar-require.patch b/app-editors/atom/files/asar-require.patch
deleted file mode 100644
index a00169b..00000000
--- a/app-editors/atom/files/asar-require.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/usr/share/atom/resources/app/apm/node_modules/asar-require/lib/require.js b/usr/share/atom/resources/app/apm/node_modules/asar-require/lib/require.js
-index 47cb1bb..67895d5 100644
---- a/usr/share/atom/resources/app/apm/node_modules/asar-require/lib/require.js
-+++ b/usr/share/atom/resources/app/apm/node_modules/asar-require/lib/require.js
-@@ -1,5 +1,7 @@
- (function() {
--  var asar, asarStatsToFsStats, fakeTime, fs, gid, nextInode, path, readFileSync, realpathSync, splitPath, statSync, uid;
-+  var asar, asarStatsToFsStats, fakeTime, fs, gid, nextInode, path, readFileSync, realpathSync, splitPath, statSync, uid;
-+
-+  var module, module_findPath, _e;
-
-   asar = require('asar');
-
-@@ -7,6 +9,12 @@
-
-   path = require('path');
-
-+  try {
-+    module = require('module');
-+  } catch (_e) {
-+    module = null;
-+  }
-+
-   splitPath = function(p) {
-     var index;
-     if (typeof p !== 'string') {
-@@ -124,5 +132,18 @@
-     }
-     return path.join(realpathSync(asarPath), filePath);
-   };
-+
-+  if (module && module._findPath) {
-+    module_findPath = module._findPath;
-+
-+    module._findPath = function(request, paths, isMain) {
-+      var asarPath, filePath, isAsar, _ref;
-+      _ref = splitPath(request), isAsar = _ref[0], asarPath = _ref[1], filePath = _ref[2];
-+      if (isAsar) {
-+        return request;
-+      }
-+      return module_findPath.apply(this, arguments);
-+    }
-+  }
-
- }).call(this);


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

* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2017-10-07 17:19 Patrice Clement
  0 siblings, 0 replies; 9+ messages in thread
From: Patrice Clement @ 2017-10-07 17:19 UTC (permalink / raw
  To: gentoo-commits

commit:     6a56ccb9a8e277f374728821ec1904eea88a24c6
Author:     Alexey Stukalov <astukalov <AT> gmail <DOT> com>
AuthorDate: Fri Oct  6 11:45:41 2017 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Sat Oct  7 17:19:47 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a56ccb9

app-editors/atom: add Gentoo Prefix support.

This PR fixes a few issues with relative paths.

Closes: https://github.com/gentoo/gentoo/pull/5872

 app-editors/atom/Manifest                          |  4 +-
 ...atom-1.21.0_beta2.ebuild => atom-1.21.0.ebuild} | 29 +++++++++-----
 app-editors/atom/files/atom-apm-path-r2.patch      | 16 ++++++++
 .../atom/files/atom-unbundle-electron-r1.patch     | 45 ++++++++++++++++++++++
 4 files changed, 83 insertions(+), 11 deletions(-)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
index 748a6857975..6cb03cc516d 100644
--- a/app-editors/atom/Manifest
+++ b/app-editors/atom/Manifest
@@ -4,9 +4,9 @@ DIST atom-1.15.0.rpm 86561729 SHA256 935b444d9122f46d3ab490611476498c963de1232f9
 DIST atom-1.16.0.rpm 90249819 SHA256 6305f149f7b85e498e56d92fe0927ca81fd4cce62153f266fcd8f39958a59e69 SHA512 e3e9096caf6d5ca802ad47e434a6e8a51c0ab25b967747621e2ea4eb440d5401df3b7cd3d101d6d5a1f2f12fa77525e7e54e252438ff24ec9b651601bb7f4d97 WHIRLPOOL b294fa728388a2b10000a85c02d7548e077e34c5db83ddea1d2b5d6bdebd4c72db906ccc856fd766e3f2f3900ad5f02de3c4bd22e273683c92e4f0dd027fa6f3
 DIST atom-1.18.0.rpm 128551353 SHA256 08609b26776ee12effd47ff87a2eb44f7ba9000a0e28b8022ca0bace0216e8d8 SHA512 c30df4b3c10e2e886c349a8c255ea6e9e308b38811f02b2517ba464959a873d159b5fa4fe89d68ed50500038b92219cb061d9dee0917b0b807e086cceec2803b WHIRLPOOL 3a1607be3155ac614b403df94f8974a675a646e777e4cc7ce351b975e17a9e6708676f8c6772d35f90f9240757a0fbeb1e1fa1a304c3f08728041440e59b7192
 DIST atom-1.20.1.tar.gz 9358859 SHA256 0577ff9df069f8c290fb73b387ea88f8af1fae8b4a40c5ad7cf97af824584b11 SHA512 a7f9edcfc84b81d768a92af5967a6889f85155c46a623b33e51999706e22f411ce570f42777fb3015174611ef19a956d8ed336ab1172612b27d75de8ef9c96fa WHIRLPOOL 467169cd0e26d9738f25e974ac188b00e80d1bc5c525d17b1b0c221bf5826c2258267fd1723ff26fb827f6f9f268a34b6d25f6278adbd2bd628dd5dad03296a1
-DIST atom-1.21.0-beta2.tar.gz 9378306 SHA256 9ff06ad890b85b68d85ae9b699d2b05ac3defc3130ff590fe0441efa9e3ac55f SHA512 9e5e75bca7dbbded19e7dac3444b4c3d86d24874d0d3b83692eaf66906e6c78ecf212c63718fcb92aa9c6ef28477042564e3dec1eb0e23398fb04272b79c0b5f WHIRLPOOL 6dc0411e46832ed21b7c42b9eda0e73c6424805b0bc2966716d7f42d218b549ab8ec5b6198747f0058c892bbb661512ee3cdd4f6fe185e27288b3f4a6531dd62
+DIST atom-1.21.0.tar.gz 9378180 SHA256 8600efc85e1c38c5d8c5571428eac37689fc8c1900192930cbae05d0056abcac SHA512 98afc286afc5ad46a28c3db7bfb7857c15a87711dae6b07046cd1aae5c7c2a30be847aec9eb779fdceaeb7e4f86f54ffd1262d6f0ba2d5a6c1b7d4ce5b8d2104 WHIRLPOOL 8876d974b1a22ccb20d8b660a451f7293f801d060c5835fe9d8bf74f96c1cbd4716d8ac054a8c858c3530fc547c0275cd9f17f085c0d52e76d5f7475a1eaf4b2
 DIST atom-bin-1.20.1.rpm 134506625 SHA256 20a0a1e398a1eace09f298231b7169bdb73c345c6ccb784a2929bc9df5996b17 SHA512 7bf8c4b092e0b45d56c5414d088633ae016b5564a7a97e1d706ad46743b6aad43a7268b7ade881680fa5f005eed0f46ba1523909a09cf3ec0aa51ce2335b8d92 WHIRLPOOL 263c888e9ba4c103a0fb859c210d1c49cc8a956dc50ae6dd6da0322c8e908b6741f6ff931f68f60800fce90fb5133494d7ffdb7455b74ea6cae6e32af022f0e9
-DIST atom-bin-1.21.0-beta2.rpm 131042161 SHA256 a70ef4e0198e424358029c265f776928b098e6a9005078cab8def44ddf5f0697 SHA512 af648caaada35475e57f151b9c658eaaeb14d9705d732f5b4a58357e21d6e1cd5efff5b34207403d46f257b693ded5894115d1e4948b9b2aad0cf2f4430ce3a4 WHIRLPOOL 6b6b9597f5da79c3249577ce4baea748a4c7c2b63bb0917d61329a5d94143918452fd8c0b2f3ba90363cabf69d7d9098a113e07662255bc73af8cb1e36c42242
+DIST atom-bin-1.21.0.rpm 131039632 SHA256 ba7cf7c68944a3b756e24dbd4cbf79f8b992612033ac63335dac5a529f9e9808 SHA512 8425b8d8741632e9fcc28127c8f2cbe5901c8a4a3b2a8a1cb5d4b1410374a841241e90939952db749334c829ac541925b3785a787c60adf32cfdfa5abc2e3b8a WHIRLPOOL b5be7c89db6fc8a814a9d209190433a9a93bddc6be8f5a6af895bea630ba52ce75bb892b49ffab1c1aa77513eb8a3e26921b1edec7207ece9f5fb1535f472c07
 DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 SHA256 5487e7641d5031e652deeef8bebe2d3af4e4d2b89989dd8700bf14e33843ce89 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d WHIRLPOOL 573d0f703989f31109854f0eb324d6b1364e93cd057c4cfe20409415dee3101964cacabc246d4df43124dad881d8fec8575c6bbb23ba98698e6c73cf3c5614d4
 DIST atom-git-utils-4.1.2.tar.gz 36492 SHA256 fd627647742359946d3b8f88bc91dd4d68a047dcba5bfafbd690e1a20afeb908 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a WHIRLPOOL 4ee4620b0208a30f848167fffce05c5999d38bf5a3e50567e6bcf295fdafc7861e870346cfeb28a61392e7a737e100f90ae1dbd25066469926e3148006e02937
 DIST atom-git-utils-5.0.0.tar.gz 36545 SHA256 a79e4951de6ac0a81f2ea359f82c575f826a4409f91b90a11f75a85c7886bec9 SHA512 42fd7589ca56049b1ad5cf7f2df7e295fc8575f4eee8a562fa103541157bd487c1748e3d6c536237b260dcbb4b530619dfcc121ba84b6d2fbf6d684dc959f819 WHIRLPOOL 03ae2290fc1ef0863c643a1fd4f9d4c98bc9b2939fddf6fd366eea9122b9d5612f53ad7ea6eb57c020eb376fa623253082da4c26f67d8de1bb59189b64f9d60b

diff --git a/app-editors/atom/atom-1.21.0_beta2.ebuild b/app-editors/atom/atom-1.21.0.ebuild
similarity index 94%
rename from app-editors/atom/atom-1.21.0_beta2.ebuild
rename to app-editors/atom/atom-1.21.0.ebuild
index 09fa0e8edcb..bb5d91505c9 100644
--- a/app-editors/atom/atom-1.21.0_beta2.ebuild
+++ b/app-editors/atom/atom-1.21.0.ebuild
@@ -72,7 +72,7 @@ BINMODS=(
 )
 
 LICENSE="MIT"
-SLOT="beta"
+SLOT="0"
 KEYWORDS="~amd64"
 IUSE=""
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@@ -140,8 +140,8 @@ src_prepare() {
 
 	eapply "${FILESDIR}/atom-python.patch"
 	eapply "${FILESDIR}/apm-python.patch"
-	eapply "${FILESDIR}/atom-unbundle-electron.patch"
-	eapply "${FILESDIR}/atom-apm-path-r1.patch"
+	eapply "${FILESDIR}/atom-unbundle-electron-r1.patch"
+	eapply "${FILESDIR}/atom-apm-path-r2.patch"
 	eapply "${FILESDIR}/atom-license-path-r1.patch"
 	eapply "${FILESDIR}/atom-fix-app-restart-r1.patch"
 	eapply "${FILESDIR}/atom-marker-layer-r1.patch"
@@ -154,7 +154,15 @@ src_prepare() {
 		./atom.sh \
 		|| die
 
-	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
+	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${EROOT%/}${install_dir}/app.asar|g" \
+		./atom.sh \
+		|| die
+
+	sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
+		./atom.sh \
+		|| die
+
+	sed -i -e "s|^#!/bin/bash|#!${EROOT%/}/bin/bash|g" \
 		./atom.sh \
 		|| die
 
@@ -169,12 +177,12 @@ src_prepare() {
 			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
 
 	sed -i -e \
-		"s|atomCommand = 'atom';|atomCommand = '/usr/bin/atom${suffix}'|g" \
+		"s|atomCommand = 'atom';|atomCommand = '${EROOT%/}/usr/bin/atom${suffix}'|g" \
 			apm/lib/test.js || die
 
 	rm apm/bin/node || die
 
-	sed -i -e "s|/$(get_atom_rpmdir)/atom|/usr/bin/atom${suffix}|g" \
+	sed -i -e "s|/$(get_atom_rpmdir)/atom|${EROOT%/}/usr/bin/atom${suffix}|g" \
 		"${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" || die
 
 	for binmod in ${BINMODS[@]}; do
@@ -219,6 +227,9 @@ src_prepare() {
 		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
 	done
 
+	sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
+		"${BUILD_DIR}/app/src/config-schema.js" || die
+
 	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
 		"${BUILD_DIR}/app/src/config-schema.js" || die
 
@@ -281,7 +292,7 @@ src_compile() {
 
 	# Replace vendored ctags with a symlink to system ctags
 	rm "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "/usr/bin/ctags" \
+	ln -s "${EROOT%/}/usr/bin/ctags" \
 		"${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
 }
 
@@ -364,13 +375,13 @@ get_install_dir() {
 
 # Return the Electron installation directory.
 get_electron_dir() {
-	echo -n "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+	echo -n "${EROOT%/}/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
 }
 
 # Return the directory containing appropriate Node headers
 # for the required version of Electron.
 get_electron_nodedir() {
-	echo -n "/usr/include/electron-${ELECTRON_SLOT}/node/"
+	echo -n "${EROOT%/}/usr/include/electron-${ELECTRON_SLOT}/node/"
 }
 
 # Run JavaScript using Electron's version of Node.

diff --git a/app-editors/atom/files/atom-apm-path-r2.patch b/app-editors/atom/files/atom-apm-path-r2.patch
new file mode 100644
index 00000000000..12234b6bab1
--- /dev/null
+++ b/app-editors/atom/files/atom-apm-path-r2.patch
@@ -0,0 +1,16 @@
+diff --git a/src/config-schema.js b/src/config-schema.js
+index 39f0585..24ee2de 100644
+--- a/src/config-schema.js
++++ b/src/config-schema.js
+@@ -5,6 +5,11 @@ const configSchema = {
+   core: {
+     type: 'object',
+     properties: {
++      apmPath: {
++        type: 'string',
++        "default": '{{ATOM_PREFIX}}/usr/bin/apm{{ATOM_SUFFIX}}',
++        description: 'Path to apm executable.'
++      },
+       ignoredNames: {
+         type: 'array',
+         default: ['.git', '.hg', '.svn', '.DS_Store', '._*', 'Thumbs.db', 'desktop.ini'],

diff --git a/app-editors/atom/files/atom-unbundle-electron-r1.patch b/app-editors/atom/files/atom-unbundle-electron-r1.patch
new file mode 100644
index 00000000000..85c0c64ab79
--- /dev/null
+++ b/app-editors/atom/files/atom-unbundle-electron-r1.patch
@@ -0,0 +1,45 @@
+From ea6d1be3558d7610ccc82b3a44dd30657a686639 Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Thu, 27 Jul 2017 13:18:54 -0400
+Subject: [PATCH] Unbundle electron
+
+---
+ atom.sh | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/atom.sh b/atom.sh
+index 6b0e94430..ea8e0dc2e 100755
+--- a/atom.sh
++++ b/atom.sh
+@@ -102,11 +102,10 @@ elif [ $OS == 'Linux' ]; then
+   SCRIPT=$(readlink -f "$0")
+   USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
+ 
+-  if [ -n "$BETA_VERSION" ]; then
+-    ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
+-  else
+-    ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
+-  fi
++  export NPM_CONFIG_NODEDIR="{{NPM_CONFIG_NODEDIR}}"
++  export ATOM_RESOURCE_PATH="{{ATOM_RESOURCE_PATH}}"
++  export LOCAL_GIT_DIRECTORY="{{ATOM_PREFIX}}/usr"
++  ATOM_PATH="{{ATOM_PATH}}"
+ 
+   ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
+   mkdir -p "$ATOM_HOME"
+@@ -116,11 +115,11 @@ elif [ $OS == 'Linux' ]; then
+   [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
+ 
+   if [ $EXPECT_OUTPUT ]; then
+-    "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++    "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+     exit $?
+   else
+     (
+-    nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
++    nohup "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+     if [ $? -ne 0 ]; then
+       cat "$ATOM_HOME/nohup.out"
+       exit $?
+-- 
+2.13.3


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

* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2018-11-10 22:37 Patrice Clement
  0 siblings, 0 replies; 9+ messages in thread
From: Patrice Clement @ 2018-11-10 22:37 UTC (permalink / raw
  To: gentoo-commits

commit:     297cda914211b8d72f3a260c7606aac3a66557c5
Author:     Elvis Pranskevichus <elvis <AT> magic <DOT> io>
AuthorDate: Sun Nov  4 20:45:00 2018 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Sat Nov 10 22:37:10 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=297cda91

app-editors/atom: drop old versions.

Package-Manager: Portage-2.3.49, Repoman-2.3.11
Signed-off-by: Elvis Pranskevichus <elvis <AT> magic.io>
Signed-off-by: Patrice Clement <monsieurp <AT> gentoo.org>

 app-editors/atom/Manifest                          |  15 -
 app-editors/atom/atom-1.23.3.ebuild                | 535 ---------------------
 app-editors/atom/atom-1.24.0_beta3.ebuild          | 535 ---------------------
 .../atom/files/atom-fix-app-restart-r1.patch       |  12 -
 app-editors/atom/files/atom-license-path-r1.patch  |  11 -
 app-editors/atom/files/atom-python.patch           |  10 -
 .../atom/files/atom-unbundle-electron-r1.patch     |  45 --
 7 files changed, 1163 deletions(-)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
index e319077aceb..c03891ad7c9 100644
--- a/app-editors/atom/Manifest
+++ b/app-editors/atom/Manifest
@@ -1,33 +1,19 @@
-DIST asar-0.13.0.tar.gz 1622264 BLAKE2B 018bccc3d2b54040fe7c6e6c1ecfbe0ab4d52554feab78fae41a09d35b7e934720cba45f77239eda46d746390c4f072b3e0eecdf7f0953882d6f27cb940de018 SHA512 619b59e9576a185905b455b780630188ce32aed72b424c69967a7bf15236d1edf2f5d92f7dde972599679c88fe0a80f05295a3d82b2ae0944be08d332a659aee
 DIST asar-0.14.3.tar.gz 1516628 BLAKE2B 4f04d08c3084843bc3974e99dea2bd327843afd97575fbedcc0ae224c9511be2b2a178a0ff0e555f1c890218d768cca6616a39a0a4fb2fd119f94b074db73ef7 SHA512 8dc099d038d7c8748d20d64adb037167e43640bb923391d2d94f1e2859d41700b39d6b631ee959505cffc695b8284f7e09d43a914af7effc349a768cfaf1efb4
-DIST atom-1.23.3.tar.gz 9553983 BLAKE2B ed5f77a51fbbf7a5ba828f5c488b139067636865fef30c88926baf5855b89a7283a35de383cfc65a06391479ec70c067e8ddacd5132b46859b4d4c6ee5cf35e8 SHA512 879a6a209659b612efcef6d3cac9c218da033295b3cc915259e2d4ab51567627a2369b2b8630f6e8a4706aa7b4e0cfb7cc3a55b635f559c8a913cc19e702d524
-DIST atom-1.24.0-beta3.tar.gz 9550090 BLAKE2B e74923afb56573530a3297d7ce27197af478b2697f49e3d1d9d239e12281a43ab614f8bb9356451372723af7a2bb6cfe2dc21c2e672a321eeeeca6455dcedd9b SHA512 31dc4e9be108fdd5e770a21e94f1284f3e5aa3a8293bce542fbf5a449930bb4f9a3f2405653e27809ccb3d2395b9bf3e0e630b4b1d6c2f7995859b2af391c554
 DIST atom-1.32.1.tar.gz 11685572 BLAKE2B 4e2463d56d3c4c54e3661e8eeb665a86b165f317dd221d849fd6b447bf6e895ac573b019356695fce0da0c176702356cbd5ff53e0878edbd49aa95e15323cda5 SHA512 8220c7cf1bb602dbcb312e986b4c2ff560baf3e46903e770135da36d92920da4d9f2490e9a5dc6b04821dbbb033415b6008f0f483d88c841996c06a9bf36f7e3
-DIST atom-bin-1.23.3.rpm 129956012 BLAKE2B eedb8a55955dbd30d85073e536435a6faa214e9f197acda4f3c7a46408ed5fdcff16141b28c519b1d1fc680d0a17f77d0f22ccb561eaea9665c7836ef282ab8d SHA512 f17b0edc33c537ced60360ff5daba44257ac2a85fdb8cf10e886133429093cbd99cd5835ea1ec451a2c1c485971dd5176585357b980d7dbab17f12ee0adacbe8
-DIST atom-bin-1.24.0-beta3.rpm 129894085 BLAKE2B 9c58bd91ed3d4c9eaf97de0b2ba168c1f4118890f40f8aa9c4f50a9fe24d614c1d52ce8d91f0efdfc8b7bb01891096d8e39a2e2f67faefdd6db33e0114288892 SHA512 a942732dfc975c44c3db11c8e43b88e6dbe247245947964704ee2ada79a8732da5a6f6cedd960556349844ca92333c3504541b300975bd4daad639abb3ce309b
 DIST atom-bin-1.32.1.rpm 281163511 BLAKE2B 4ff4e055d1cad690c37e6264a7e5771bf50047246950fc45a94cb5217e6cfef2abb8c067efa1ca780550db7f046a8fecc623013cab27fe56df3e22af68f018b6 SHA512 9ff621cb8bcfb185c36eb56cac698a9bd0d2a02b5cc9c7982786b0db241a625188fc6ea9079943bb2c83a122f916a387810fa30161ee9531c1c5c3e28f876f52
 DIST atomdep-atom--nsfw-1.0.18.tar.gz 20870 BLAKE2B 2e90e2cc337b2d40805db44c48a6f9da2b4e749bd5d036bdeec78790286a0d0c7e4536a8d461480b91c45552ce1f6db06e6f70f975e52b2ec90146714c4a0fb9 SHA512 61c78a57d6b75fada687843bf0dca2f1a4d16a8546769789047a202fc831535ee206112962fc4680c7d37b4da3d611f6b5a153e1b6ab919e51759906288b09ff
 DIST atomdep-atom--watcher-1.0.8.tar.gz 702118 BLAKE2B 21fdb472bc1cd6cc396f686e45f1048ff5507d2126e71d92e1531601d142339a97f3ab8748b34cf8ff8c935fc4f2fa36e86a379a05f79403c7bc3949f5ae8ebb SHA512 e77ba7faf192698ec5b1bbe683c81ead8380dc84a2a4c591dea89847d8595aa49fbc5b24b1725f1ab985b1f6c18f7baa19143780f4e2eb0a717054968db59515
-DIST atomdep-cached-run-in-this-context-0.4.1.tar.gz 2388 BLAKE2B 9cf59f69c3433a9982c1dedf58c03eef5e1ccf1275f92ed192a2de601f38caceea5926e9b3a8571e2124b83e49c99a14f262db39a44732e1ff6550d6cd46d500 SHA512 942db40139b0beda616a25628772e515ce92ceca3e9a5288b10920e68c35149c52677a975e6e30f278ec64f06ae341fa1fa00702b339b2fb8f7af1cf9685efe5
 DIST atomdep-cached-run-in-this-context-0.5.0.tar.gz 2697 BLAKE2B aada7cb35fa57abc4e97bc76a1a1c77f167441bf82bec4743b4e570721f67edd1c037033dcf058bf72957c7423c957343697e816e85c401e6497c43af41aa3a1 SHA512 15db433f4bbc5a37ad43de672f3f6f234e9e7c94c5ae6b66939653e85102a724ca8bd69a90d2cc1f2307db55916c66325a56e607f42546807f83595c129ca333
 DIST atomdep-ctags-3.0.0.tar.gz 12864 BLAKE2B 561a64734f67cd7943f2d6f972e4d1ec55913934357e7a0d3077c2910f938071b090f55880788ebeab5d7fcaa3009c8984a9045dc83089c46d276152653eb156 SHA512 af1d3764cc3a6bb781a9a2357eeb8503886fc14481c3dbe4a899d3c672fea9325524aed3a4c1c87965bc4cce2fbae20b56b32690849afc1fcb751cd5462adbcc
-DIST atomdep-fs-admin-0.1.6.tar.gz 5539 BLAKE2B 9ee1857152cca343673a270c1044ad33a3ddbfb5b8389f2e0449e99348d0bdd4aaaa7e4c07bfb8871ae840f1a69cd90074a769f80fa3cc7f914050bc6f45b29c SHA512 2474523d5441ad882000633a929bcdbc5771b859a80f16a69c15504ff240a59b558e2edb1ca6e12ce91ad58da935243f3950a16e664529c59da70b9912903ae7
 DIST atomdep-fs-admin-0.1.7.tar.gz 5465 BLAKE2B 50e2f5a2b013d3ca877ad608f62c0bb5464b32af55167d3d97b5d03530ff53cf7e84360fe8de2a7e3b29a226ee462b4735ffe5a16d9e6a6e51027f5bd34431b6 SHA512 110362a2a50782d9d7f44acc88fbaf1c2031d0cd5549af6ee28c4617e10655804bd79320e41c44cc606b4c06075100c3a1bab0d5873ee98a995b048821ef84c1
-DIST atomdep-git-utils-5.1.0.tar.gz 4141959 BLAKE2B 7504a4ba57b093da659ed0ba7319863636d7f9f1e9a6a4bbd4b6c6fcf9922c9ca32398b44550e4a94d519471ca5cf249976426583f998186398c147c6cce5636 SHA512 1f9c38646b25a526c0399d538e58864c552d65802402df82f8303a936374121db40f61195ea3254e56e31dd9d25b847b325264911f62d6beddfc24931a9367bf
 DIST atomdep-git-utils-5.2.1.tar.gz 4142068 BLAKE2B 7a803e0bbfb8c6afc2e7c82f782d3d80482646935b94e6d878d13120dc0294818a60bfb898a82d3fdea02300bbe473640c1c8fdf2ece9a531eb4b0eb564edad5 SHA512 3eb5da5f8a9bead8bdc94e29d794567969251ddc845c210871d8db9b75f998058bd55085a65d613ddc64ed3daa70544d845ed3557ab7822a2d9c95677bed61b4
-DIST atomdep-keyboard-layout-2.0.13.tar.gz 17881 BLAKE2B e86a399be545a43768a53d5d9279dae1bc4d87fd99af87a10861f2e3367d6786e3631f8dc77671b08b06e30290f2c97833402e3732a010ae31c7c1c02d9d6afd SHA512 5b155cddb0484edb47a334b21183eccabe6b376290b97b4469732541f4231337b526b90bc37d321ff6dc367d481b1e3c6feb5d39dc9ba67abef8914b53615a66
 DIST atomdep-keyboard-layout-2.0.14.tar.gz 17919 BLAKE2B 9b2a83cf0b4db13e402d6a97fd8729041a25e7296f5e5be23181bad84a314a9012dc69cc387699b3edc5d37a98fcfe8923feb457c3f80e7d0db7b1610542e49b SHA512 42e09fa440bca1a8ba17ca1a3507718b9fb5408a5a42ef4749523dcb3902d876c85de0676a1cc7143455194b70c005a2367ce33418d423f763b2b30651380ad7
-DIST atomdep-keytar-4.1.0.tar.gz 8564 BLAKE2B 69b745c6afd22dd4ffd5694205294f4cc7985b9ae5df51e5c7671cee296a2d28732ccd453417eeb60cc66fdfd39247ee90205808fdbfbea8b5585029c22d4d76 SHA512 2f72aa89232da558ad96e838bae23e2b95cb9def52015105584f120902214221f4200fc24dba27e6fe69ad52ca2b429e9f9e28d8ef15f4771e29a829c09ba6f9
 DIST atomdep-keytar-4.3.0.tar.gz 8896 BLAKE2B 56d669320ee7eeb78eb676a76de6efe4417b80b5931507009b73cf4aa70b4125fd96a7b1ec0bf05ada86d3107dbdb82028517eccccabfb1d61b1fecd08261de8 SHA512 a5dfbefeff9f4b42d02a6cd6956e91d65ce24d716a85f19e4bab182dfb9322a132da90f301b8eeb5b496f1ff6d9c974410c9fff578404254f7e1502d97d87831
-DIST atomdep-nsfw-1.0.16.tar.gz 43214 BLAKE2B 261539bebfe494aad0b372f1837a87c7c2a410bb591df523ea25bd5acd008f7eb0e8460a218fd4ee70d98bc26dd166472e9ea0aea265971cf2e904da913dda88 SHA512 0060d7fb5016454aaaf7df438d973b9a389a6e5f7a166c5d402cf8ef8bcda724501c3bfbd44e37e9e6c38d5f1decaeb48c571aad9145dec38ba0c94073b9702a
 DIST atomdep-nslog-3.0.0.tar.gz 2270 BLAKE2B 3258b7e7d7f94a89b0e5a21bfedfbe71bbfe3d776871aaeb3443ce6a7759860abfef2b8af823dab009183b5378c1ed06c7b2729df9acc09d3c5ea6a5f47ff160 SHA512 6a0ce8970ae12fdefd0935916e5501bb89e366fb66b05fffade884f3adf4add4b135eb4f0f208684e28424fdb9858ee8193eb1f3db1f7eac3cb49bdb5d1a4bb1
-DIST atomdep-oniguruma-6.2.1.tar.gz 586350 BLAKE2B 65574ef004c98cced7a9f5917845015ccd84b2383a85d889365da5c73313114454458b441bf6588eaee2a17150d674b7754ccc0bbb2d68ae3d98f7d5ca63530e SHA512 faa46dc4c1b8d7e75ab54512de9a823c5b958a7ccb43333375b33e16de47a464ea2a9ba9996596a8359d423a3e8c9d63cc92a5162b3f9d44b4485304073b41f1
 DIST atomdep-oniguruma-7.0.2.tar.gz 584590 BLAKE2B 2e3e622fdf7c463fa670786f0af8815ffbb1d7a85ff5759b8b13fa2b4ed8cec5959b4186b09521a3060e42abb5d83505f7b925a18f41c99e4d9dab809e39ec01 SHA512 cc2b1d3714ebac1e3254f33185c20e0c6bf5a7835506ef56bec5a720684ca6ee5d8cee0c4165eb0bb60a8edcdaf8eca846aaa0cb6ec2a9859ad61e5ed830db8a
 DIST atomdep-pathwatcher-8.0.1.tar.gz 18357 BLAKE2B 8e2b86da307757c352d0cab5eff64cc31e6745bf10a982f6ef11a0fd92eeeadf5b438aaaaa00e679100600691e59ff7aa7badf33e62c33a2497b5573cf7b4711 SHA512 34df8fecf456753f1977517018e5ff78b143f2d36e1417435bfcac2f9b9f8bd045a8080e7d0ad5d2930c63fa110c539911447863c46e757a4bb8f8c4f5bda999
 DIST atomdep-scrollbar-style-3.2.0.tar.gz 3498 BLAKE2B 2d1a88f2764b5a51da92e41f5dd5424a4ffbc13ec9b2e826236097ff7ebb0babd22b4e4cd00873e786aa52d901eedce49bd102ad6398eda614734bdd78b8b4e3 SHA512 9f5fcc2bcb13cb81e95a52aa6db0c99ffd67c9cd48a9faf0223587359f4082c3e867cb384497dc6be3e8230b4cd035e910a7048d431e81a28dfded0bc572da18
-DIST atomdep-spellchecker-3.4.4.tar.gz 481892 BLAKE2B 3bae26ffffbaffdbac6f082c6f33ea4f5127583663e1df3ed8d98cebed2ce11ea0d9965615e369383695df6ad55aa996e8968e6616415d359ffae640a679f47b SHA512 974b3ce9866ce7e3f30137856ea0f4b1348c105edb833a94620c6b53cfa7052c37575f6dcd160a322fa10c61babfc32c916786d9d44ad10efdb2ab3578620ac1
 DIST atomdep-spellchecker-3.5.0.tar.gz 476758 BLAKE2B 73ca0225bedf7daa0b9f9e3ad5a549cb124443de0887ee77f1a7a7c1e31f1a1c363a5f0118ecb17e70c4ae64338eac83c24dbe4cd13a6ae182d314d22bef3dc4 SHA512 5daed79d1ba562187937f5c435e2f63bcffcef95e12c18e8b3b05e9afd2b7dc815ea88cd60c4ab5ec714654189c27897dadebb798fa535425ea6d0f56cc6ae1d
-DIST atomdep-superstring-2.2.16.tar.gz 795922 BLAKE2B 58f66a51f20f11bd6d4335c945c5af2418ab5e210af989f9480e319a55cf273d63c97db2c5a32e8196dc06c14bbb552ea1e34d2e8910807f8e2d04925c953b41 SHA512 1ea105483032a5f6fb3b752dce33cef7498a9d597cdef35efb00ef26dba95c84dda863452eaa954d38c9c22510397aedfeed2ed44874560fdca4151d87d49e5c
 DIST atomdep-superstring-2.3.4.tar.gz 822697 BLAKE2B 0e81ab0fe8d429c80298a70034c0645412e16dcd38540f5a87433689581c741b554a82739e6bb6954d316bd9a9a6425b9770b3880fe883e27199ea1aa10bbe81 SHA512 0dc3644c2741f45dc531945d5114802ec1e2fbb0d6a85088d1c1fe120f26c0183e93142ce86781dcbac652f088e5b101e83b65bb6a31f1460dd289cf37825e65
 DIST atomdep-tree-sitter-0.13.15.tar.gz 193608 BLAKE2B adcc1cec97e0675868b4782a4dede09bbad58e3d85fb55eba9ec0867bc4bc91045db8023aff3975471748297563325359cd6a4819c4474e5aedfec3e8d7565c9 SHA512 16ebd4f9cb0eeedfeb42a2dd2f7fb0e0983ee19976d98e2e0a2e0bf57fea246e7b667ef56733f7a07b434918298889acea0dd8edc109bc5ecafeb0b0d75abdd9
 DIST atomdep-tree-sitter-bash-0.13.6.tar.gz 346883 BLAKE2B f1a7bd0391d3d21223d889deb4e38ecf5e323051977cd42095fdb2ac458803968d1c435e6f7c12b0073486eb677ab2f2748fc7dd76e9228e746ac634221ea1c5 SHA512 9761d822c2f5f608950fa4f91b237db136afd4d545b708412b993f89785eb3a931a9a29fc3a652169af20e3c8281ab28ca117bc59bb4b1f2e1dfb6298c843712
@@ -43,4 +29,3 @@ DIST atomdep-tree-sitter-regex-0.13.1.tar.gz 17153 BLAKE2B 44e137c5464af5e77011a
 DIST atomdep-tree-sitter-ruby-0.13.11.tar.gz 2020951 BLAKE2B 106eb35468106d971338e3387484470a61c84da8a1a2f9632eecd0e84fe13dc801da527652817633083469668f03cc9ea4241526cfe414a7c0c2c2d96d44f311 SHA512 101981059db4c9aa11a834604287fd622af6f7fde5bf9718ff2f140d40b51b345fe6961de02b185345808c827b77202ffb79fba77cbf2ceb9793224b888375c0
 DIST atomdep-tree-sitter-typescript-0.13.6.tar.gz 662334 BLAKE2B a4e7898fc115fd73c9a86578aa214cfb11ac0b57bcfe3db8226463a7613d78bec11b987311f8ee884a4aa679ff16deaee158eb36ba8a370be65daff98e41cdac SHA512 d5cb2f0ab5b981fe1de03d195c272db150ebd0cf9f3825d87d7fd3bdee8e01e1d4745bb426c23e084b12e97dd51fbba65f9ffad910d87b57306ef3a10ae2225c
 DIST nodejs-nan-2.11.1.tar.gz 170929 BLAKE2B 21287b45865c578257399abddd2fb6a7234891da47bb97073b7595ace6bafc83630f44141d871b061e5d13b6c4b9e02c0d4883ef0a6d6f0d9851ff645a0ab616 SHA512 a80c2857c2f15c085c506cabd081338e25a5de2028327567a039ed9219b912d36ebdfec80f13bebab9872b981d86a2fcc2c8145739b428b8f4148d1a883e408f
-DIST nodejs-nan-2.6.2.tar.gz 161949 BLAKE2B f74e8d56e67ae03e60e0be7752ed9527bd8499c01f7df8899f3eb6735b1286633753e8bf595781b6d3d1446df20483fc0377bd745be10c6bae0ad66426751b79 SHA512 d1b5ed12e90accfa117cb73b9432897631ed2dd6045f93fa8b53237a13cec0ec467b14c035e9e4d4a5c6588949c1c80b0eef48a46d5c9c0a1f81ef400da031c3

diff --git a/app-editors/atom/atom-1.23.3.ebuild b/app-editors/atom/atom-1.23.3.ebuild
deleted file mode 100644
index 14043a200d4..00000000000
--- a/app-editors/atom/atom-1.23.3.ebuild
+++ /dev/null
@@ -1,535 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTE: this ebuild has been generated by atom-ebuild-gen.py from the
-#       atom overlay.  If you would like to make changes, please consider
-#       modifying the ebuild template and submitting a PR to
-#       https://github.com/elprans/atom-overlay.
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit python-single-r1 multiprocessing rpm virtualx xdg-utils
-
-DESCRIPTION="A hackable text editor for the 21st Century"
-HOMEPAGE="https://atom.io"
-MY_PV="${PV//_/-}"
-
-ELECTRON_V=1.6.15
-ELECTRON_SLOT=1.6
-
-ASAR_V=0.13.0
-# All binary packages depend on this
-NAN_V=2.6.2
-
-ATOM__NSFW_V=1.0.18
-CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
-CTAGS_V=3.0.0
-FS_ADMIN_V=0.1.6
-GIT_UTILS_V=5.1.0
-KEYBOARD_LAYOUT_V=2.0.13
-KEYTAR_V=4.1.0
-NSFW_V=1.0.16
-NSLOG_V=3.0.0
-ONIGURUMA_V=6.2.1
-PATHWATCHER_V=8.0.1
-SCROLLBAR_STYLE_V=3.2.0
-SPELLCHECKER_V=3.4.4
-SUPERSTRING_V=2.2.16
-
-# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
-SRC_URI="
-	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-bin-${MY_PV}.rpm
-	https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> atom-${MY_PV}.tar.gz
-	https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
-	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
-	https://registry.npmjs.org/@atom/nsfw/-/nsfw-1.0.18.tgz -> atomdep-atom--nsfw-1.0.18.tar.gz
-	https://registry.npmjs.org/cached-run-in-this-context/-/cached-run-in-this-context-0.4.1.tgz -> atomdep-cached-run-in-this-context-0.4.1.tar.gz
-	https://registry.npmjs.org/ctags/-/ctags-3.0.0.tgz -> atomdep-ctags-3.0.0.tar.gz
-	https://registry.npmjs.org/fs-admin/-/fs-admin-0.1.6.tgz -> atomdep-fs-admin-0.1.6.tar.gz
-	https://registry.npmjs.org/git-utils/-/git-utils-5.1.0.tgz -> atomdep-git-utils-5.1.0.tar.gz
-	https://registry.npmjs.org/keyboard-layout/-/keyboard-layout-2.0.13.tgz -> atomdep-keyboard-layout-2.0.13.tar.gz
-	https://registry.npmjs.org/keytar/-/keytar-4.1.0.tgz -> atomdep-keytar-4.1.0.tar.gz
-	https://registry.npmjs.org/nsfw/-/nsfw-1.0.16.tgz -> atomdep-nsfw-1.0.16.tar.gz
-	https://registry.npmjs.org/nslog/-/nslog-3.0.0.tgz -> atomdep-nslog-3.0.0.tar.gz
-	https://registry.npmjs.org/oniguruma/-/oniguruma-6.2.1.tgz -> atomdep-oniguruma-6.2.1.tar.gz
-	https://registry.npmjs.org/pathwatcher/-/pathwatcher-8.0.1.tgz -> atomdep-pathwatcher-8.0.1.tar.gz
-	https://registry.npmjs.org/scrollbar-style/-/scrollbar-style-3.2.0.tgz -> atomdep-scrollbar-style-3.2.0.tar.gz
-	https://registry.npmjs.org/spellchecker/-/spellchecker-3.4.4.tgz -> atomdep-spellchecker-3.4.4.tar.gz
-	https://registry.npmjs.org/superstring/-/superstring-2.2.16.tgz -> atomdep-superstring-2.2.16.tar.gz
-"
-
-BINMODS=(
-	atom--nsfw
-	cached-run-in-this-context
-	ctags
-	fs-admin
-	git-utils
-	keyboard-layout
-	keytar
-	nsfw
-	nslog
-	oniguruma
-	pathwatcher
-	scrollbar-style
-	spellchecker
-	superstring
-)
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="
-	${PYTHON_DEPS}
-	>=app-text/hunspell-1.3.3:=
-	>=dev-libs/libgit2-0.23:=[ssh]
-	>=dev-libs/libpcre2-10.22:=[jit,pcre16]
-	>=gnome-base/libgnome-keyring-3.12:=
-	>=dev-libs/oniguruma-6.6.0:=
-	>=dev-util/ctags-5.8
-	>=dev-util/electron-${ELECTRON_V}:${ELECTRON_SLOT}
-	x11-libs/libxkbfile"
-RDEPEND="
-	${DEPEND}
-	!sys-apps/apmd
-"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-BIN_S="${WORKDIR}/${PN}-bin-${MY_PV}"
-BUILD_DIR="${S}/out"
-
-pkg_setup() {
-	python-single-r1_pkg_setup
-}
-
-src_unpack() {
-	local a
-
-	for a in ${A} ; do
-		case ${a} in
-		*.rpm) srcrpm_unpack "${a}" ;;
-		*) _unpack "${a}" ;;
-		esac
-	done
-
-	mkdir "${BIN_S}" || die
-	mv "${WORKDIR}/usr" "${BIN_S}" || die
-}
-
-src_prepare() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-	local nan_s="${WORKDIR}/nodejs-nan-${NAN_V}"
-	local patch
-	local binmod
-	local _s
-
-	mkdir "${BUILD_DIR}" || die
-	cp -a "${BIN_S}/$(get_atom_rpmdir)/resources/app" \
-		"${BUILD_DIR}/app" || die
-
-	# Add source files omitted from the upstream binary distribution,
-	# and which we want to include in ours.
-	cp -a -t "${BUILD_DIR}/app" "${S}/spec" || die
-
-	# Unpack app.asar
-	if [ -e "${BIN_S}/$(get_atom_rpmdir)/resources/app.asar" ]; then
-		easar extract "${BIN_S}/$(get_atom_rpmdir)/resources/app.asar" \
-			"${BUILD_DIR}/app"
-	fi
-
-	cd "${BUILD_DIR}/app" || die
-
-	eapply "${FILESDIR}/atom-python.patch"
-	eapply "${FILESDIR}/apm-python.patch"
-	eapply "${FILESDIR}/atom-unbundle-electron-r1.patch"
-	eapply "${FILESDIR}/atom-apm-path-r2.patch"
-	eapply "${FILESDIR}/atom-license-path-r1.patch"
-	eapply "${FILESDIR}/atom-fix-app-restart-r1.patch"
-	eapply "${FILESDIR}/atom-marker-layer-r1.patch"
-
-	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${EROOT%/}${install_dir}/app.asar|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|^#!/bin/bash|#!${EROOT%/}/bin/bash|g" \
-		./atom.sh \
-		|| die
-
-	local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)\n\
-			   export ELECTRON_NO_ASAR=1"
-	sed -i -e \
-		"s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
-			apm/bin/apm || die
-
-	sed -i -e \
-		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
-			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
-
-	sed -i -e \
-		"s|atomCommand = 'atom';|atomCommand = '${EROOT%/}/usr/bin/atom${suffix}'|g" \
-			apm/lib/test.js || die
-
-	rm apm/bin/node || die
-
-	sed -i -e "s|/$(get_atom_rpmdir)/atom|${EROOT%/}/usr/bin/atom${suffix}|g" \
-		"${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" || die
-
-	for binmod in ${BINMODS[@]}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		if _have_patches_for "${binmod}"; then
-			for patch in "${FILESDIR}"/${binmod}-*.patch; do
-				eapply "${patch}"
-			done
-		fi
-	done
-
-	cd "${BUILD_DIR}/app" || die
-
-	# Unbundle bundled libs from modules
-
-	_s="${WORKDIR}/$(package_dir git-utils)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "git;libgit2;git2" \
-		"${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir oniguruma)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "onig_scanner;oniguruma;onig" \
-		"${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir spellchecker)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "spellchecker;hunspell;hunspell" \
-		"${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir superstring)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle \
-		"superstring_core;./vendor/pcre/pcre.gyp:pcre;pcre2-16; \
-			-DPCRE2_CODE_UNIT_WIDTH=16" \
-		"${_s}/binding.gyp" || die
-
-	for binmod in ${BINMODS[@]}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		mkdir -p "${_s}/node_modules" || die
-		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
-	done
-
-	sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
-		"${BUILD_DIR}/app/src/config-schema.js" || die
-
-	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
-		"${BUILD_DIR}/app/src/config-schema.js" || die
-
-	eapply_user
-}
-
-src_configure() {
-	local binmod
-
-	for binmod in ${BINMODS[@]}; do
-		einfo "Configuring ${binmod}..."
-		cd "${WORKDIR}/$(package_dir ${binmod})" || die
-		enodegyp_atom configure
-	done
-}
-
-src_compile() {
-	local binmod
-	local x
-	local ctags_d="node_modules/symbols-view/vendor"
-	local jobs=$(makeopts_jobs)
-	local gypopts
-
-	# Transpile any yet untranspiled files.
-	ecoffeescript "${BUILD_DIR}/app/spec/*.coffee"
-
-	gypopts="--verbose"
-
-	if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
-		gypopts+=" --jobs ${jobs}"
-	fi
-
-	mkdir -p "${BUILD_DIR}/modules/" || die
-
-	for binmod in ${BINMODS[@]}; do
-		einfo "Building ${binmod}..."
-		cd "${WORKDIR}/$(package_dir ${binmod})" || die
-		enodegyp_atom ${gypopts} build
-		x=${binmod##node-}
-		mkdir -p "${BUILD_DIR}/modules/${x}" || die
-		cp build/Release/*.node "${BUILD_DIR}/modules/${x}" || die
-	done
-
-	# Put compiled binary modules in place
-	_fix_binmods "${BUILD_DIR}/app" "apm"
-	_fix_binmods "${BUILD_DIR}/app" "node_modules"
-
-	# Remove non-Linux vendored ctags binaries
-	rm "${BUILD_DIR}/app/${ctags_d}/ctags-darwin" \
-	   "${BUILD_DIR}/app/${ctags_d}/ctags-win32.exe" || die
-
-	# Re-pack app.asar
-	# Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
-	cd "${BUILD_DIR}" || die
-	x="--unpack={*.node,ctags-config,ctags-linux,**/spec/fixtures/**,**/node_modules/spellchecker/**,**/resources/atom.png}"
-	xd="--unpack-dir=apm"
-	easar pack "${x}" "${xd}" "app" "app.asar"
-
-	rm -r "${BUILD_DIR}/app.asar.unpacked/apm" || die
-
-	# Replace vendored ctags with a symlink to system ctags
-	rm "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "${EROOT%/}/usr/bin/ctags" \
-		"${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-}
-
-src_test() {
-	local electron="$(get_electron_dir)/electron"
-	local app="${BUILD_DIR}/app.asar"
-
-	virtx "${electron}" --app="${app}" --test "${app}/spec"
-}
-
-src_install() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-
-	insinto "${install_dir}"
-
-	doins "${BUILD_DIR}/app.asar"
-	doins -r "${BUILD_DIR}/app.asar.unpacked"
-
-	insinto "${install_dir}/app"
-	doins -r "${BUILD_DIR}/app/apm"
-
-	insinto "/usr/share/applications/"
-	newins "${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" \
-		"atom${suffix}.desktop"
-
-	insinto "/usr/share/icons/"
-	doins -r "${BIN_S}/usr/share/icons/hicolor"
-
-	exeinto "${install_dir}"
-	newexe "${BUILD_DIR}/app/atom.sh" atom
-	insinto "/usr/share/licenses/${PN}${suffix}"
-	doins "${BIN_S}/$(get_atom_rpmdir)/resources/LICENSE.md"
-	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
-	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
-
-	_fix_executables "${install_dir}/app/apm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
-}
-
-pkg_postinst() {
-	xdg_desktop_database_update
-}
-
-pkg_postrm() {
-	xdg_desktop_database_update
-}
-
-# Helpers
-# -------
-
-# Return the installation suffix appropriate for the slot.
-get_install_suffix() {
-	local c=(${SLOT//\// })
-	local slot=${c[0]}
-	local suffix
-
-	if [[ "${slot}" == "0" ]]; then
-		suffix=""
-	else
-		suffix="-${slot}"
-	fi
-
-	echo -n "${suffix}"
-}
-
-# Return the upstream app name appropriate for $PV.
-get_atom_appname() {
-	if [[ "${PV}" == *beta* ]]; then
-		echo -n "atom-beta"
-	else
-		echo -n "atom"
-	fi
-}
-
-# Return the app installation path inside the upstream archive.
-get_atom_rpmdir() {
-	echo -n "usr/share/$(get_atom_appname)"
-}
-
-# Return the installation target directory.
-get_install_dir() {
-	echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
-}
-
-# Return the Electron installation directory.
-get_electron_dir() {
-	echo -n "${EROOT%/}/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
-}
-
-# Return the directory containing appropriate Node headers
-# for the required version of Electron.
-get_electron_nodedir() {
-	echo -n "${EROOT%/}/usr/include/electron-${ELECTRON_SLOT}/node/"
-}
-
-# Run JavaScript using Electron's version of Node.
-enode_electron() {
-	"$(get_electron_dir)"/node $@
-}
-
-# Run node-gyp using Electron's version of Node.
-enodegyp_atom() {
-	local apmpath="$(get_atom_rpmdir)/resources/app/apm"
-	local nodegyp="${BIN_S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
-
-	PATH="$(get_electron_dir):${PATH}" \
-		enode_electron "${nodegyp}" \
-			--nodedir="$(get_electron_nodedir)" $@ || die
-}
-
-# Coffee Script wrapper.
-ecoffeescript() {
-	local cscript="${FILESDIR}/transpile-coffee-script.js"
-
-	# Disable shell glob expansion, as we want the coffee script
-	# transpiler to do that instead.
-	set -f
-	echo "ecoffeescript" $@
-	ATOM_HOME="${T}/.atom" ATOM_SRC_ROOT="${BUILD_DIR}/app" \
-	NODE_PATH="${BUILD_DIR}/app/node_modules" \
-		enode_electron "${cscript}" $@ || die
-	set +f
-}
-
-# asar wrapper.
-easar() {
-	local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
-	echo "asar" $@
-	enode_electron "${asar}" $@ || die
-}
-
-# Return a $WORKDIR directory for a given package name.
-package_dir() {
-	local binmod="${1//-/_}"
-	local binmod_v="${binmod^^}_V"
-	echo -n ${1}-${!binmod_v}
-}
-
-# Check if there are patches for a given package.
-_have_patches_for() {
-	local _patches="${1}-*.patch" _find
-	_find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
-	test -n "$_find"
-}
-
-# Tarballs on registry.npmjs.org are wildly inconsistent,
-# and violate the convention of having ${P} as the top directory name.
-# This helper detects and fixes that.
-_unpack() {
-	local a="${1}"
-	local b="${a%.tar.gz}"
-	local p="${b#atomdep-}"
-	local dir="$(tar -tzf "${DISTDIR}/${a}" | head -1 | cut -f1 -d'/')"
-
-	unpack "${a}"
-
-	if [[ "${dir}" != "${p}" ]]; then
-		# Set the correct name for the unpacked directory.
-		mv "${WORKDIR}/${dir}" "${WORKDIR}/${p}" || die
-	fi
-}
-
-# Check if the binary node module is actually a valid dependency.
-# Sometimes the upstream removes a dependency from package.json but
-# forgets to remove the module from node_modules.
-_is_valid_binmod() {
-	local mod
-
-	for mod in "${BINMODS[@]}"; do
-		if [[ "${mod}" == "${1}" ]]; then
-			return 0
-		fi
-	done
-
-	return 1
-}
-
-# Replace binary node modules with the newly compiled versions thereof.
-_fix_binmods() {
-	local _dir="${2}"
-	local _prefix="${1}"
-	local path
-	local relpath
-	local modpath
-	local mod
-	local f
-	local d
-	local cruft
-
-	(find "${_prefix}/${_dir}" -name '*.node' -print || die) \
-	| while IFS= read -r path; do
-		f=$(basename "${path}")
-		d=$(dirname "${path}")
-	    relpath=${path#${_prefix}}
-		relpath=${relpath##/}
-		relpath=${relpath#W${_dir}}
-		modpath=$(dirname ${relpath})
-		modpath=${modpath%build/Release}
-		mod=$(basename ${modpath})
-
-		_is_valid_binmod "${mod}" || continue
-
-		# must copy here as symlinks will cause the module loading to fail
-		cp -f "${BUILD_DIR}/modules/${mod}/${f}" "${path}" || die
-		cruft=$(find "${d}" -name '*.a' -print)
-		if [[ -n "${cruft}" ]]; then
-			rm ${cruft} || die
-		fi
-	done
-}
-
-# Fix script permissions and shebangs to point to the correct version
-# of Node.
-_fix_executables() {
-	local _dir="${1}"
-	local _node_sb="#!$(get_electron_dir)"/node
-
-	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
-	| while IFS= read -r f; do
-		IFS= read -r shebang < "${f}"
-
-		if [[ ${shebang} == '#!'* ]]; then
-			fperms +x "${f#${ED}}"
-			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
-				einfo "Fixing node shebang in ${f#${ED}}"
-				sed --follow-symlinks -i \
-					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
-			fi
-		fi
-	done || die
-}

diff --git a/app-editors/atom/atom-1.24.0_beta3.ebuild b/app-editors/atom/atom-1.24.0_beta3.ebuild
deleted file mode 100644
index be1bdba86e3..00000000000
--- a/app-editors/atom/atom-1.24.0_beta3.ebuild
+++ /dev/null
@@ -1,535 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTE: this ebuild has been generated by atom-ebuild-gen.py from the
-#       atom overlay.  If you would like to make changes, please consider
-#       modifying the ebuild template and submitting a PR to
-#       https://github.com/elprans/atom-overlay.
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit python-single-r1 multiprocessing rpm virtualx xdg-utils
-
-DESCRIPTION="A hackable text editor for the 21st Century"
-HOMEPAGE="https://atom.io"
-MY_PV="${PV//_/-}"
-
-ELECTRON_V=1.6.15
-ELECTRON_SLOT=1.6
-
-ASAR_V=0.13.0
-# All binary packages depend on this
-NAN_V=2.6.2
-
-ATOM__NSFW_V=1.0.18
-CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1
-CTAGS_V=3.0.0
-FS_ADMIN_V=0.1.6
-GIT_UTILS_V=5.1.0
-KEYBOARD_LAYOUT_V=2.0.13
-KEYTAR_V=4.1.0
-NSFW_V=1.0.16
-NSLOG_V=3.0.0
-ONIGURUMA_V=6.2.1
-PATHWATCHER_V=8.0.1
-SCROLLBAR_STYLE_V=3.2.0
-SPELLCHECKER_V=3.4.4
-SUPERSTRING_V=2.2.16
-
-# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
-SRC_URI="
-	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-bin-${MY_PV}.rpm
-	https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> atom-${MY_PV}.tar.gz
-	https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
-	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
-	https://registry.npmjs.org/@atom/nsfw/-/nsfw-1.0.18.tgz -> atomdep-atom--nsfw-1.0.18.tar.gz
-	https://registry.npmjs.org/cached-run-in-this-context/-/cached-run-in-this-context-0.4.1.tgz -> atomdep-cached-run-in-this-context-0.4.1.tar.gz
-	https://registry.npmjs.org/ctags/-/ctags-3.0.0.tgz -> atomdep-ctags-3.0.0.tar.gz
-	https://registry.npmjs.org/fs-admin/-/fs-admin-0.1.6.tgz -> atomdep-fs-admin-0.1.6.tar.gz
-	https://registry.npmjs.org/git-utils/-/git-utils-5.1.0.tgz -> atomdep-git-utils-5.1.0.tar.gz
-	https://registry.npmjs.org/keyboard-layout/-/keyboard-layout-2.0.13.tgz -> atomdep-keyboard-layout-2.0.13.tar.gz
-	https://registry.npmjs.org/keytar/-/keytar-4.1.0.tgz -> atomdep-keytar-4.1.0.tar.gz
-	https://registry.npmjs.org/nsfw/-/nsfw-1.0.16.tgz -> atomdep-nsfw-1.0.16.tar.gz
-	https://registry.npmjs.org/nslog/-/nslog-3.0.0.tgz -> atomdep-nslog-3.0.0.tar.gz
-	https://registry.npmjs.org/oniguruma/-/oniguruma-6.2.1.tgz -> atomdep-oniguruma-6.2.1.tar.gz
-	https://registry.npmjs.org/pathwatcher/-/pathwatcher-8.0.1.tgz -> atomdep-pathwatcher-8.0.1.tar.gz
-	https://registry.npmjs.org/scrollbar-style/-/scrollbar-style-3.2.0.tgz -> atomdep-scrollbar-style-3.2.0.tar.gz
-	https://registry.npmjs.org/spellchecker/-/spellchecker-3.4.4.tgz -> atomdep-spellchecker-3.4.4.tar.gz
-	https://registry.npmjs.org/superstring/-/superstring-2.2.16.tgz -> atomdep-superstring-2.2.16.tar.gz
-"
-
-BINMODS=(
-	atom--nsfw
-	cached-run-in-this-context
-	ctags
-	fs-admin
-	git-utils
-	keyboard-layout
-	keytar
-	nsfw
-	nslog
-	oniguruma
-	pathwatcher
-	scrollbar-style
-	spellchecker
-	superstring
-)
-
-LICENSE="MIT"
-SLOT="beta"
-KEYWORDS="~amd64"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="
-	${PYTHON_DEPS}
-	>=app-text/hunspell-1.3.3:=
-	>=dev-libs/libgit2-0.23:=[ssh]
-	>=dev-libs/libpcre2-10.22:=[jit,pcre16]
-	>=gnome-base/libgnome-keyring-3.12:=
-	>=dev-libs/oniguruma-6.6.0:=
-	>=dev-util/ctags-5.8
-	>=dev-util/electron-${ELECTRON_V}:${ELECTRON_SLOT}
-	x11-libs/libxkbfile"
-RDEPEND="
-	${DEPEND}
-	!sys-apps/apmd
-"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-BIN_S="${WORKDIR}/${PN}-bin-${MY_PV}"
-BUILD_DIR="${S}/out"
-
-pkg_setup() {
-	python-single-r1_pkg_setup
-}
-
-src_unpack() {
-	local a
-
-	for a in ${A} ; do
-		case ${a} in
-		*.rpm) srcrpm_unpack "${a}" ;;
-		*) _unpack "${a}" ;;
-		esac
-	done
-
-	mkdir "${BIN_S}" || die
-	mv "${WORKDIR}/usr" "${BIN_S}" || die
-}
-
-src_prepare() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-	local nan_s="${WORKDIR}/nodejs-nan-${NAN_V}"
-	local patch
-	local binmod
-	local _s
-
-	mkdir "${BUILD_DIR}" || die
-	cp -a "${BIN_S}/$(get_atom_rpmdir)/resources/app" \
-		"${BUILD_DIR}/app" || die
-
-	# Add source files omitted from the upstream binary distribution,
-	# and which we want to include in ours.
-	cp -a -t "${BUILD_DIR}/app" "${S}/spec" || die
-
-	# Unpack app.asar
-	if [ -e "${BIN_S}/$(get_atom_rpmdir)/resources/app.asar" ]; then
-		easar extract "${BIN_S}/$(get_atom_rpmdir)/resources/app.asar" \
-			"${BUILD_DIR}/app"
-	fi
-
-	cd "${BUILD_DIR}/app" || die
-
-	eapply "${FILESDIR}/atom-python.patch"
-	eapply "${FILESDIR}/apm-python.patch"
-	eapply "${FILESDIR}/atom-unbundle-electron-r1.patch"
-	eapply "${FILESDIR}/atom-apm-path-r2.patch"
-	eapply "${FILESDIR}/atom-license-path-r1.patch"
-	eapply "${FILESDIR}/atom-fix-app-restart-r1.patch"
-	eapply "${FILESDIR}/atom-marker-layer-r1.patch"
-
-	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|$(get_electron_nodedir)|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_PATH}}|$(get_electron_dir)/electron|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_RESOURCE_PATH}}|${EROOT%/}${install_dir}/app.asar|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
-		./atom.sh \
-		|| die
-
-	sed -i -e "s|^#!/bin/bash|#!${EROOT%/}/bin/bash|g" \
-		./atom.sh \
-		|| die
-
-	local env="export NPM_CONFIG_NODEDIR=$(get_electron_nodedir)\n\
-			   export ELECTRON_NO_ASAR=1"
-	sed -i -e \
-		"s|\"\$binDir/\$nodeBin\"|${env}\nexec $(get_electron_dir)/node|g" \
-			apm/bin/apm || die
-
-	sed -i -e \
-		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"$(get_electron_dir)/node\" |g" \
-			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
-
-	sed -i -e \
-		"s|atomCommand = 'atom';|atomCommand = '${EROOT%/}/usr/bin/atom${suffix}'|g" \
-			apm/lib/test.js || die
-
-	rm apm/bin/node || die
-
-	sed -i -e "s|/$(get_atom_rpmdir)/atom|${EROOT%/}/usr/bin/atom${suffix}|g" \
-		"${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" || die
-
-	for binmod in ${BINMODS[@]}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		cd "${_s}" || die
-		if _have_patches_for "${binmod}"; then
-			for patch in "${FILESDIR}"/${binmod}-*.patch; do
-				eapply "${patch}"
-			done
-		fi
-	done
-
-	cd "${BUILD_DIR}/app" || die
-
-	# Unbundle bundled libs from modules
-
-	_s="${WORKDIR}/$(package_dir git-utils)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "git;libgit2;git2" \
-		"${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir oniguruma)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "onig_scanner;oniguruma;onig" \
-		"${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir spellchecker)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle "spellchecker;hunspell;hunspell" \
-		"${_s}/binding.gyp" || die
-
-	_s="${WORKDIR}/$(package_dir superstring)"
-	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
-		--inplace --unbundle \
-		"superstring_core;./vendor/pcre/pcre.gyp:pcre;pcre2-16; \
-			-DPCRE2_CODE_UNIT_WIDTH=16" \
-		"${_s}/binding.gyp" || die
-
-	for binmod in ${BINMODS[@]}; do
-		_s="${WORKDIR}/$(package_dir ${binmod})"
-		mkdir -p "${_s}/node_modules" || die
-		ln -s "${nan_s}" "${_s}/node_modules/nan" || die
-	done
-
-	sed -i -e "s|{{ATOM_PREFIX}}|${EROOT%/}|g" \
-		"${BUILD_DIR}/app/src/config-schema.js" || die
-
-	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
-		"${BUILD_DIR}/app/src/config-schema.js" || die
-
-	eapply_user
-}
-
-src_configure() {
-	local binmod
-
-	for binmod in ${BINMODS[@]}; do
-		einfo "Configuring ${binmod}..."
-		cd "${WORKDIR}/$(package_dir ${binmod})" || die
-		enodegyp_atom configure
-	done
-}
-
-src_compile() {
-	local binmod
-	local x
-	local ctags_d="node_modules/symbols-view/vendor"
-	local jobs=$(makeopts_jobs)
-	local gypopts
-
-	# Transpile any yet untranspiled files.
-	ecoffeescript "${BUILD_DIR}/app/spec/*.coffee"
-
-	gypopts="--verbose"
-
-	if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
-		gypopts+=" --jobs ${jobs}"
-	fi
-
-	mkdir -p "${BUILD_DIR}/modules/" || die
-
-	for binmod in ${BINMODS[@]}; do
-		einfo "Building ${binmod}..."
-		cd "${WORKDIR}/$(package_dir ${binmod})" || die
-		enodegyp_atom ${gypopts} build
-		x=${binmod##node-}
-		mkdir -p "${BUILD_DIR}/modules/${x}" || die
-		cp build/Release/*.node "${BUILD_DIR}/modules/${x}" || die
-	done
-
-	# Put compiled binary modules in place
-	_fix_binmods "${BUILD_DIR}/app" "apm"
-	_fix_binmods "${BUILD_DIR}/app" "node_modules"
-
-	# Remove non-Linux vendored ctags binaries
-	rm "${BUILD_DIR}/app/${ctags_d}/ctags-darwin" \
-	   "${BUILD_DIR}/app/${ctags_d}/ctags-win32.exe" || die
-
-	# Re-pack app.asar
-	# Keep unpack rules in sync with build/tasks/generate-asar-task.coffee
-	cd "${BUILD_DIR}" || die
-	x="--unpack={*.node,ctags-config,ctags-linux,**/spec/fixtures/**,**/node_modules/spellchecker/**,**/resources/atom.png}"
-	xd="--unpack-dir=apm"
-	easar pack "${x}" "${xd}" "app" "app.asar"
-
-	rm -r "${BUILD_DIR}/app.asar.unpacked/apm" || die
-
-	# Replace vendored ctags with a symlink to system ctags
-	rm "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-	ln -s "${EROOT%/}/usr/bin/ctags" \
-		"${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
-}
-
-src_test() {
-	local electron="$(get_electron_dir)/electron"
-	local app="${BUILD_DIR}/app.asar"
-
-	virtx "${electron}" --app="${app}" --test "${app}/spec"
-}
-
-src_install() {
-	local install_dir="$(get_install_dir)"
-	local suffix="$(get_install_suffix)"
-
-	insinto "${install_dir}"
-
-	doins "${BUILD_DIR}/app.asar"
-	doins -r "${BUILD_DIR}/app.asar.unpacked"
-
-	insinto "${install_dir}/app"
-	doins -r "${BUILD_DIR}/app/apm"
-
-	insinto "/usr/share/applications/"
-	newins "${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" \
-		"atom${suffix}.desktop"
-
-	insinto "/usr/share/icons/"
-	doins -r "${BIN_S}/usr/share/icons/hicolor"
-
-	exeinto "${install_dir}"
-	newexe "${BUILD_DIR}/app/atom.sh" atom
-	insinto "/usr/share/licenses/${PN}${suffix}"
-	doins "${BIN_S}/$(get_atom_rpmdir)/resources/LICENSE.md"
-	dosym "${install_dir}/atom" "/usr/bin/atom${suffix}"
-	dosym "${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
-
-	_fix_executables "${install_dir}/app/apm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/.bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
-	_fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
-}
-
-pkg_postinst() {
-	xdg_desktop_database_update
-}
-
-pkg_postrm() {
-	xdg_desktop_database_update
-}
-
-# Helpers
-# -------
-
-# Return the installation suffix appropriate for the slot.
-get_install_suffix() {
-	local c=(${SLOT//\// })
-	local slot=${c[0]}
-	local suffix
-
-	if [[ "${slot}" == "0" ]]; then
-		suffix=""
-	else
-		suffix="-${slot}"
-	fi
-
-	echo -n "${suffix}"
-}
-
-# Return the upstream app name appropriate for $PV.
-get_atom_appname() {
-	if [[ "${PV}" == *beta* ]]; then
-		echo -n "atom-beta"
-	else
-		echo -n "atom"
-	fi
-}
-
-# Return the app installation path inside the upstream archive.
-get_atom_rpmdir() {
-	echo -n "usr/share/$(get_atom_appname)"
-}
-
-# Return the installation target directory.
-get_install_dir() {
-	echo -n "/usr/$(get_libdir)/atom$(get_install_suffix)"
-}
-
-# Return the Electron installation directory.
-get_electron_dir() {
-	echo -n "${EROOT%/}/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
-}
-
-# Return the directory containing appropriate Node headers
-# for the required version of Electron.
-get_electron_nodedir() {
-	echo -n "${EROOT%/}/usr/include/electron-${ELECTRON_SLOT}/node/"
-}
-
-# Run JavaScript using Electron's version of Node.
-enode_electron() {
-	"$(get_electron_dir)"/node $@
-}
-
-# Run node-gyp using Electron's version of Node.
-enodegyp_atom() {
-	local apmpath="$(get_atom_rpmdir)/resources/app/apm"
-	local nodegyp="${BIN_S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
-
-	PATH="$(get_electron_dir):${PATH}" \
-		enode_electron "${nodegyp}" \
-			--nodedir="$(get_electron_nodedir)" $@ || die
-}
-
-# Coffee Script wrapper.
-ecoffeescript() {
-	local cscript="${FILESDIR}/transpile-coffee-script.js"
-
-	# Disable shell glob expansion, as we want the coffee script
-	# transpiler to do that instead.
-	set -f
-	echo "ecoffeescript" $@
-	ATOM_HOME="${T}/.atom" ATOM_SRC_ROOT="${BUILD_DIR}/app" \
-	NODE_PATH="${BUILD_DIR}/app/node_modules" \
-		enode_electron "${cscript}" $@ || die
-	set +f
-}
-
-# asar wrapper.
-easar() {
-	local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
-	echo "asar" $@
-	enode_electron "${asar}" $@ || die
-}
-
-# Return a $WORKDIR directory for a given package name.
-package_dir() {
-	local binmod="${1//-/_}"
-	local binmod_v="${binmod^^}_V"
-	echo -n ${1}-${!binmod_v}
-}
-
-# Check if there are patches for a given package.
-_have_patches_for() {
-	local _patches="${1}-*.patch" _find
-	_find=$(find "${FILESDIR}" -maxdepth 1 -name "${_patches}" -print -quit)
-	test -n "$_find"
-}
-
-# Tarballs on registry.npmjs.org are wildly inconsistent,
-# and violate the convention of having ${P} as the top directory name.
-# This helper detects and fixes that.
-_unpack() {
-	local a="${1}"
-	local b="${a%.tar.gz}"
-	local p="${b#atomdep-}"
-	local dir="$(tar -tzf "${DISTDIR}/${a}" | head -1 | cut -f1 -d'/')"
-
-	unpack "${a}"
-
-	if [[ "${dir}" != "${p}" ]]; then
-		# Set the correct name for the unpacked directory.
-		mv "${WORKDIR}/${dir}" "${WORKDIR}/${p}" || die
-	fi
-}
-
-# Check if the binary node module is actually a valid dependency.
-# Sometimes the upstream removes a dependency from package.json but
-# forgets to remove the module from node_modules.
-_is_valid_binmod() {
-	local mod
-
-	for mod in "${BINMODS[@]}"; do
-		if [[ "${mod}" == "${1}" ]]; then
-			return 0
-		fi
-	done
-
-	return 1
-}
-
-# Replace binary node modules with the newly compiled versions thereof.
-_fix_binmods() {
-	local _dir="${2}"
-	local _prefix="${1}"
-	local path
-	local relpath
-	local modpath
-	local mod
-	local f
-	local d
-	local cruft
-
-	(find "${_prefix}/${_dir}" -name '*.node' -print || die) \
-	| while IFS= read -r path; do
-		f=$(basename "${path}")
-		d=$(dirname "${path}")
-	    relpath=${path#${_prefix}}
-		relpath=${relpath##/}
-		relpath=${relpath#W${_dir}}
-		modpath=$(dirname ${relpath})
-		modpath=${modpath%build/Release}
-		mod=$(basename ${modpath})
-
-		_is_valid_binmod "${mod}" || continue
-
-		# must copy here as symlinks will cause the module loading to fail
-		cp -f "${BUILD_DIR}/modules/${mod}/${f}" "${path}" || die
-		cruft=$(find "${d}" -name '*.a' -print)
-		if [[ -n "${cruft}" ]]; then
-			rm ${cruft} || die
-		fi
-	done
-}
-
-# Fix script permissions and shebangs to point to the correct version
-# of Node.
-_fix_executables() {
-	local _dir="${1}"
-	local _node_sb="#!$(get_electron_dir)"/node
-
-	(find -L "${ED}/${_dir}" -maxdepth 1 -mindepth 1 -type f -print || die) \
-	| while IFS= read -r f; do
-		IFS= read -r shebang < "${f}"
-
-		if [[ ${shebang} == '#!'* ]]; then
-			fperms +x "${f#${ED}}"
-			if [[ "${shebang}" == "#!/usr/bin/env node" || "${shebang}" == "#!/usr/bin/node" ]]; then
-				einfo "Fixing node shebang in ${f#${ED}}"
-				sed --follow-symlinks -i \
-					-e "1s:${shebang}$:${_node_sb}:" "${f}" || die
-			fi
-		fi
-	done || die
-}

diff --git a/app-editors/atom/files/atom-fix-app-restart-r1.patch b/app-editors/atom/files/atom-fix-app-restart-r1.patch
deleted file mode 100644
index f984d7841be..00000000000
--- a/app-editors/atom/files/atom-fix-app-restart-r1.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/atom-application.js.orig b/atom-application.js
-index 92d985f..9a120e6 100644
---- a/src/main-process/atom-application.js
-+++ b/src/main-process/atom-application.js
-@@ -1178,6 +1178,7 @@
-     AtomApplication.prototype.restart = function() {
-       var args;
-       args = [];
-+      args.push("--app=" + this.resourcePath);
-       if (this.safeMode) {
-         args.push("--safe");
-       }

diff --git a/app-editors/atom/files/atom-license-path-r1.patch b/app-editors/atom/files/atom-license-path-r1.patch
deleted file mode 100644
index c8d6ab9784f..00000000000
--- a/app-editors/atom/files/atom-license-path-r1.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/main-process/atom-application.js
-+++ b/src/main-process/atom-application.js
-@@ -406,7 +406,7 @@
-       this.openPathOnEvent('application:open-your-keymap', 'atom://.atom/keymap');
-       this.openPathOnEvent('application:open-your-snippets', 'atom://.atom/snippets');
-       this.openPathOnEvent('application:open-your-stylesheet', 'atom://.atom/stylesheet');
--      this.openPathOnEvent('application:open-license', path.join(process.resourcesPath, 'LICENSE.md'));
-+      this.openPathOnEvent('application:open-license', '/usr/share/licenses/atom/LICENSE.md');
-       this.disposable.add(ipcHelpers.on(app, 'before-quit', (function(_this) {
-         return function(event) {
-           if (!_this.quitting) {

diff --git a/app-editors/atom/files/atom-python.patch b/app-editors/atom/files/atom-python.patch
deleted file mode 100644
index 57a475ecce0..00000000000
--- a/app-editors/atom/files/atom-python.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/atom.sh
-+++ b/atom.sh
-@@ -92,6 +92,7 @@
-   fi
- 
-   ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
-+  export PYTHON=python2
-   mkdir -p "$ATOM_HOME"
- 
-   : ${TMPDIR:=/tmp}

diff --git a/app-editors/atom/files/atom-unbundle-electron-r1.patch b/app-editors/atom/files/atom-unbundle-electron-r1.patch
deleted file mode 100644
index 85c0c64ab79..00000000000
--- a/app-editors/atom/files/atom-unbundle-electron-r1.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From ea6d1be3558d7610ccc82b3a44dd30657a686639 Mon Sep 17 00:00:00 2001
-From: Elvis Pranskevichus <elvis@magic.io>
-Date: Thu, 27 Jul 2017 13:18:54 -0400
-Subject: [PATCH] Unbundle electron
-
----
- atom.sh | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/atom.sh b/atom.sh
-index 6b0e94430..ea8e0dc2e 100755
---- a/atom.sh
-+++ b/atom.sh
-@@ -102,11 +102,10 @@ elif [ $OS == 'Linux' ]; then
-   SCRIPT=$(readlink -f "$0")
-   USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
- 
--  if [ -n "$BETA_VERSION" ]; then
--    ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
--  else
--    ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
--  fi
-+  export NPM_CONFIG_NODEDIR="{{NPM_CONFIG_NODEDIR}}"
-+  export ATOM_RESOURCE_PATH="{{ATOM_RESOURCE_PATH}}"
-+  export LOCAL_GIT_DIRECTORY="{{ATOM_PREFIX}}/usr"
-+  ATOM_PATH="{{ATOM_PATH}}"
- 
-   ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
-   mkdir -p "$ATOM_HOME"
-@@ -116,11 +115,11 @@ elif [ $OS == 'Linux' ]; then
-   [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
- 
-   if [ $EXPECT_OUTPUT ]; then
--    "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
-+    "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
-     exit $?
-   else
-     (
--    nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
-+    nohup "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
-     if [ $? -ne 0 ]; then
-       cat "$ATOM_HOME/nohup.out"
-       exit $?
--- 
-2.13.3


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

* [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/
@ 2018-11-10 22:37 Patrice Clement
  0 siblings, 0 replies; 9+ messages in thread
From: Patrice Clement @ 2018-11-10 22:37 UTC (permalink / raw
  To: gentoo-commits

commit:     556193a8e22c7f5201c7a1a0740dcd1e53f518a6
Author:     Elvis Pranskevichus <elvis <AT> magic <DOT> io>
AuthorDate: Sun Nov  4 20:43:10 2018 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Sat Nov 10 22:37:09 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=556193a8

app-editors/atom: version bump to 1.32.1.

Closes: https://bugs.gentoo.org/649310
Package-Manager: Portage-2.3.49, Repoman-2.3.11
Signed-off-by: Elvis Pranskevichus <elvis <AT> magic.io>
Closes: https://github.com/gentoo/gentoo/pull/10339
Signed-off-by: Patrice Clement <monsieurp <AT> gentoo.org>

 app-editors/atom/Manifest                          |  26 +
 app-editors/atom/atom-1.32.1.ebuild                | 561 +++++++++++++++++++++
 .../atom/files/atom-fix-app-restart-r2.patch       |  24 +
 .../atom/files/atom-fix-config-watcher-r1.patch    |  41 ++
 app-editors/atom/files/atom-python-r1.patch        |  25 +
 .../atom/files/atom-unbundle-electron-r3.patch     |  39 ++
 app-editors/atom/files/transpile-coffee-script.js  |   6 +-
 7 files changed, 720 insertions(+), 2 deletions(-)

diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest
index fe10a781c4d..e319077aceb 100644
--- a/app-editors/atom/Manifest
+++ b/app-editors/atom/Manifest
@@ -1,20 +1,46 @@
 DIST asar-0.13.0.tar.gz 1622264 BLAKE2B 018bccc3d2b54040fe7c6e6c1ecfbe0ab4d52554feab78fae41a09d35b7e934720cba45f77239eda46d746390c4f072b3e0eecdf7f0953882d6f27cb940de018 SHA512 619b59e9576a185905b455b780630188ce32aed72b424c69967a7bf15236d1edf2f5d92f7dde972599679c88fe0a80f05295a3d82b2ae0944be08d332a659aee
+DIST asar-0.14.3.tar.gz 1516628 BLAKE2B 4f04d08c3084843bc3974e99dea2bd327843afd97575fbedcc0ae224c9511be2b2a178a0ff0e555f1c890218d768cca6616a39a0a4fb2fd119f94b074db73ef7 SHA512 8dc099d038d7c8748d20d64adb037167e43640bb923391d2d94f1e2859d41700b39d6b631ee959505cffc695b8284f7e09d43a914af7effc349a768cfaf1efb4
 DIST atom-1.23.3.tar.gz 9553983 BLAKE2B ed5f77a51fbbf7a5ba828f5c488b139067636865fef30c88926baf5855b89a7283a35de383cfc65a06391479ec70c067e8ddacd5132b46859b4d4c6ee5cf35e8 SHA512 879a6a209659b612efcef6d3cac9c218da033295b3cc915259e2d4ab51567627a2369b2b8630f6e8a4706aa7b4e0cfb7cc3a55b635f559c8a913cc19e702d524
 DIST atom-1.24.0-beta3.tar.gz 9550090 BLAKE2B e74923afb56573530a3297d7ce27197af478b2697f49e3d1d9d239e12281a43ab614f8bb9356451372723af7a2bb6cfe2dc21c2e672a321eeeeca6455dcedd9b SHA512 31dc4e9be108fdd5e770a21e94f1284f3e5aa3a8293bce542fbf5a449930bb4f9a3f2405653e27809ccb3d2395b9bf3e0e630b4b1d6c2f7995859b2af391c554
+DIST atom-1.32.1.tar.gz 11685572 BLAKE2B 4e2463d56d3c4c54e3661e8eeb665a86b165f317dd221d849fd6b447bf6e895ac573b019356695fce0da0c176702356cbd5ff53e0878edbd49aa95e15323cda5 SHA512 8220c7cf1bb602dbcb312e986b4c2ff560baf3e46903e770135da36d92920da4d9f2490e9a5dc6b04821dbbb033415b6008f0f483d88c841996c06a9bf36f7e3
 DIST atom-bin-1.23.3.rpm 129956012 BLAKE2B eedb8a55955dbd30d85073e536435a6faa214e9f197acda4f3c7a46408ed5fdcff16141b28c519b1d1fc680d0a17f77d0f22ccb561eaea9665c7836ef282ab8d SHA512 f17b0edc33c537ced60360ff5daba44257ac2a85fdb8cf10e886133429093cbd99cd5835ea1ec451a2c1c485971dd5176585357b980d7dbab17f12ee0adacbe8
 DIST atom-bin-1.24.0-beta3.rpm 129894085 BLAKE2B 9c58bd91ed3d4c9eaf97de0b2ba168c1f4118890f40f8aa9c4f50a9fe24d614c1d52ce8d91f0efdfc8b7bb01891096d8e39a2e2f67faefdd6db33e0114288892 SHA512 a942732dfc975c44c3db11c8e43b88e6dbe247245947964704ee2ada79a8732da5a6f6cedd960556349844ca92333c3504541b300975bd4daad639abb3ce309b
+DIST atom-bin-1.32.1.rpm 281163511 BLAKE2B 4ff4e055d1cad690c37e6264a7e5771bf50047246950fc45a94cb5217e6cfef2abb8c067efa1ca780550db7f046a8fecc623013cab27fe56df3e22af68f018b6 SHA512 9ff621cb8bcfb185c36eb56cac698a9bd0d2a02b5cc9c7982786b0db241a625188fc6ea9079943bb2c83a122f916a387810fa30161ee9531c1c5c3e28f876f52
 DIST atomdep-atom--nsfw-1.0.18.tar.gz 20870 BLAKE2B 2e90e2cc337b2d40805db44c48a6f9da2b4e749bd5d036bdeec78790286a0d0c7e4536a8d461480b91c45552ce1f6db06e6f70f975e52b2ec90146714c4a0fb9 SHA512 61c78a57d6b75fada687843bf0dca2f1a4d16a8546769789047a202fc831535ee206112962fc4680c7d37b4da3d611f6b5a153e1b6ab919e51759906288b09ff
+DIST atomdep-atom--watcher-1.0.8.tar.gz 702118 BLAKE2B 21fdb472bc1cd6cc396f686e45f1048ff5507d2126e71d92e1531601d142339a97f3ab8748b34cf8ff8c935fc4f2fa36e86a379a05f79403c7bc3949f5ae8ebb SHA512 e77ba7faf192698ec5b1bbe683c81ead8380dc84a2a4c591dea89847d8595aa49fbc5b24b1725f1ab985b1f6c18f7baa19143780f4e2eb0a717054968db59515
 DIST atomdep-cached-run-in-this-context-0.4.1.tar.gz 2388 BLAKE2B 9cf59f69c3433a9982c1dedf58c03eef5e1ccf1275f92ed192a2de601f38caceea5926e9b3a8571e2124b83e49c99a14f262db39a44732e1ff6550d6cd46d500 SHA512 942db40139b0beda616a25628772e515ce92ceca3e9a5288b10920e68c35149c52677a975e6e30f278ec64f06ae341fa1fa00702b339b2fb8f7af1cf9685efe5
+DIST atomdep-cached-run-in-this-context-0.5.0.tar.gz 2697 BLAKE2B aada7cb35fa57abc4e97bc76a1a1c77f167441bf82bec4743b4e570721f67edd1c037033dcf058bf72957c7423c957343697e816e85c401e6497c43af41aa3a1 SHA512 15db433f4bbc5a37ad43de672f3f6f234e9e7c94c5ae6b66939653e85102a724ca8bd69a90d2cc1f2307db55916c66325a56e607f42546807f83595c129ca333
 DIST atomdep-ctags-3.0.0.tar.gz 12864 BLAKE2B 561a64734f67cd7943f2d6f972e4d1ec55913934357e7a0d3077c2910f938071b090f55880788ebeab5d7fcaa3009c8984a9045dc83089c46d276152653eb156 SHA512 af1d3764cc3a6bb781a9a2357eeb8503886fc14481c3dbe4a899d3c672fea9325524aed3a4c1c87965bc4cce2fbae20b56b32690849afc1fcb751cd5462adbcc
 DIST atomdep-fs-admin-0.1.6.tar.gz 5539 BLAKE2B 9ee1857152cca343673a270c1044ad33a3ddbfb5b8389f2e0449e99348d0bdd4aaaa7e4c07bfb8871ae840f1a69cd90074a769f80fa3cc7f914050bc6f45b29c SHA512 2474523d5441ad882000633a929bcdbc5771b859a80f16a69c15504ff240a59b558e2edb1ca6e12ce91ad58da935243f3950a16e664529c59da70b9912903ae7
+DIST atomdep-fs-admin-0.1.7.tar.gz 5465 BLAKE2B 50e2f5a2b013d3ca877ad608f62c0bb5464b32af55167d3d97b5d03530ff53cf7e84360fe8de2a7e3b29a226ee462b4735ffe5a16d9e6a6e51027f5bd34431b6 SHA512 110362a2a50782d9d7f44acc88fbaf1c2031d0cd5549af6ee28c4617e10655804bd79320e41c44cc606b4c06075100c3a1bab0d5873ee98a995b048821ef84c1
 DIST atomdep-git-utils-5.1.0.tar.gz 4141959 BLAKE2B 7504a4ba57b093da659ed0ba7319863636d7f9f1e9a6a4bbd4b6c6fcf9922c9ca32398b44550e4a94d519471ca5cf249976426583f998186398c147c6cce5636 SHA512 1f9c38646b25a526c0399d538e58864c552d65802402df82f8303a936374121db40f61195ea3254e56e31dd9d25b847b325264911f62d6beddfc24931a9367bf
+DIST atomdep-git-utils-5.2.1.tar.gz 4142068 BLAKE2B 7a803e0bbfb8c6afc2e7c82f782d3d80482646935b94e6d878d13120dc0294818a60bfb898a82d3fdea02300bbe473640c1c8fdf2ece9a531eb4b0eb564edad5 SHA512 3eb5da5f8a9bead8bdc94e29d794567969251ddc845c210871d8db9b75f998058bd55085a65d613ddc64ed3daa70544d845ed3557ab7822a2d9c95677bed61b4
 DIST atomdep-keyboard-layout-2.0.13.tar.gz 17881 BLAKE2B e86a399be545a43768a53d5d9279dae1bc4d87fd99af87a10861f2e3367d6786e3631f8dc77671b08b06e30290f2c97833402e3732a010ae31c7c1c02d9d6afd SHA512 5b155cddb0484edb47a334b21183eccabe6b376290b97b4469732541f4231337b526b90bc37d321ff6dc367d481b1e3c6feb5d39dc9ba67abef8914b53615a66
+DIST atomdep-keyboard-layout-2.0.14.tar.gz 17919 BLAKE2B 9b2a83cf0b4db13e402d6a97fd8729041a25e7296f5e5be23181bad84a314a9012dc69cc387699b3edc5d37a98fcfe8923feb457c3f80e7d0db7b1610542e49b SHA512 42e09fa440bca1a8ba17ca1a3507718b9fb5408a5a42ef4749523dcb3902d876c85de0676a1cc7143455194b70c005a2367ce33418d423f763b2b30651380ad7
 DIST atomdep-keytar-4.1.0.tar.gz 8564 BLAKE2B 69b745c6afd22dd4ffd5694205294f4cc7985b9ae5df51e5c7671cee296a2d28732ccd453417eeb60cc66fdfd39247ee90205808fdbfbea8b5585029c22d4d76 SHA512 2f72aa89232da558ad96e838bae23e2b95cb9def52015105584f120902214221f4200fc24dba27e6fe69ad52ca2b429e9f9e28d8ef15f4771e29a829c09ba6f9
+DIST atomdep-keytar-4.3.0.tar.gz 8896 BLAKE2B 56d669320ee7eeb78eb676a76de6efe4417b80b5931507009b73cf4aa70b4125fd96a7b1ec0bf05ada86d3107dbdb82028517eccccabfb1d61b1fecd08261de8 SHA512 a5dfbefeff9f4b42d02a6cd6956e91d65ce24d716a85f19e4bab182dfb9322a132da90f301b8eeb5b496f1ff6d9c974410c9fff578404254f7e1502d97d87831
 DIST atomdep-nsfw-1.0.16.tar.gz 43214 BLAKE2B 261539bebfe494aad0b372f1837a87c7c2a410bb591df523ea25bd5acd008f7eb0e8460a218fd4ee70d98bc26dd166472e9ea0aea265971cf2e904da913dda88 SHA512 0060d7fb5016454aaaf7df438d973b9a389a6e5f7a166c5d402cf8ef8bcda724501c3bfbd44e37e9e6c38d5f1decaeb48c571aad9145dec38ba0c94073b9702a
 DIST atomdep-nslog-3.0.0.tar.gz 2270 BLAKE2B 3258b7e7d7f94a89b0e5a21bfedfbe71bbfe3d776871aaeb3443ce6a7759860abfef2b8af823dab009183b5378c1ed06c7b2729df9acc09d3c5ea6a5f47ff160 SHA512 6a0ce8970ae12fdefd0935916e5501bb89e366fb66b05fffade884f3adf4add4b135eb4f0f208684e28424fdb9858ee8193eb1f3db1f7eac3cb49bdb5d1a4bb1
 DIST atomdep-oniguruma-6.2.1.tar.gz 586350 BLAKE2B 65574ef004c98cced7a9f5917845015ccd84b2383a85d889365da5c73313114454458b441bf6588eaee2a17150d674b7754ccc0bbb2d68ae3d98f7d5ca63530e SHA512 faa46dc4c1b8d7e75ab54512de9a823c5b958a7ccb43333375b33e16de47a464ea2a9ba9996596a8359d423a3e8c9d63cc92a5162b3f9d44b4485304073b41f1
+DIST atomdep-oniguruma-7.0.2.tar.gz 584590 BLAKE2B 2e3e622fdf7c463fa670786f0af8815ffbb1d7a85ff5759b8b13fa2b4ed8cec5959b4186b09521a3060e42abb5d83505f7b925a18f41c99e4d9dab809e39ec01 SHA512 cc2b1d3714ebac1e3254f33185c20e0c6bf5a7835506ef56bec5a720684ca6ee5d8cee0c4165eb0bb60a8edcdaf8eca846aaa0cb6ec2a9859ad61e5ed830db8a
 DIST atomdep-pathwatcher-8.0.1.tar.gz 18357 BLAKE2B 8e2b86da307757c352d0cab5eff64cc31e6745bf10a982f6ef11a0fd92eeeadf5b438aaaaa00e679100600691e59ff7aa7badf33e62c33a2497b5573cf7b4711 SHA512 34df8fecf456753f1977517018e5ff78b143f2d36e1417435bfcac2f9b9f8bd045a8080e7d0ad5d2930c63fa110c539911447863c46e757a4bb8f8c4f5bda999
 DIST atomdep-scrollbar-style-3.2.0.tar.gz 3498 BLAKE2B 2d1a88f2764b5a51da92e41f5dd5424a4ffbc13ec9b2e826236097ff7ebb0babd22b4e4cd00873e786aa52d901eedce49bd102ad6398eda614734bdd78b8b4e3 SHA512 9f5fcc2bcb13cb81e95a52aa6db0c99ffd67c9cd48a9faf0223587359f4082c3e867cb384497dc6be3e8230b4cd035e910a7048d431e81a28dfded0bc572da18
 DIST atomdep-spellchecker-3.4.4.tar.gz 481892 BLAKE2B 3bae26ffffbaffdbac6f082c6f33ea4f5127583663e1df3ed8d98cebed2ce11ea0d9965615e369383695df6ad55aa996e8968e6616415d359ffae640a679f47b SHA512 974b3ce9866ce7e3f30137856ea0f4b1348c105edb833a94620c6b53cfa7052c37575f6dcd160a322fa10c61babfc32c916786d9d44ad10efdb2ab3578620ac1
+DIST atomdep-spellchecker-3.5.0.tar.gz 476758 BLAKE2B 73ca0225bedf7daa0b9f9e3ad5a549cb124443de0887ee77f1a7a7c1e31f1a1c363a5f0118ecb17e70c4ae64338eac83c24dbe4cd13a6ae182d314d22bef3dc4 SHA512 5daed79d1ba562187937f5c435e2f63bcffcef95e12c18e8b3b05e9afd2b7dc815ea88cd60c4ab5ec714654189c27897dadebb798fa535425ea6d0f56cc6ae1d
 DIST atomdep-superstring-2.2.16.tar.gz 795922 BLAKE2B 58f66a51f20f11bd6d4335c945c5af2418ab5e210af989f9480e319a55cf273d63c97db2c5a32e8196dc06c14bbb552ea1e34d2e8910807f8e2d04925c953b41 SHA512 1ea105483032a5f6fb3b752dce33cef7498a9d597cdef35efb00ef26dba95c84dda863452eaa954d38c9c22510397aedfeed2ed44874560fdca4151d87d49e5c
+DIST atomdep-superstring-2.3.4.tar.gz 822697 BLAKE2B 0e81ab0fe8d429c80298a70034c0645412e16dcd38540f5a87433689581c741b554a82739e6bb6954d316bd9a9a6425b9770b3880fe883e27199ea1aa10bbe81 SHA512 0dc3644c2741f45dc531945d5114802ec1e2fbb0d6a85088d1c1fe120f26c0183e93142ce86781dcbac652f088e5b101e83b65bb6a31f1460dd289cf37825e65
+DIST atomdep-tree-sitter-0.13.15.tar.gz 193608 BLAKE2B adcc1cec97e0675868b4782a4dede09bbad58e3d85fb55eba9ec0867bc4bc91045db8023aff3975471748297563325359cd6a4819c4474e5aedfec3e8d7565c9 SHA512 16ebd4f9cb0eeedfeb42a2dd2f7fb0e0983ee19976d98e2e0a2e0bf57fea246e7b667ef56733f7a07b434918298889acea0dd8edc109bc5ecafeb0b0d75abdd9
+DIST atomdep-tree-sitter-bash-0.13.6.tar.gz 346883 BLAKE2B f1a7bd0391d3d21223d889deb4e38ecf5e323051977cd42095fdb2ac458803968d1c435e6f7c12b0073486eb677ab2f2748fc7dd76e9228e746ac634221ea1c5 SHA512 9761d822c2f5f608950fa4f91b237db136afd4d545b708412b993f89785eb3a931a9a29fc3a652169af20e3c8281ab28ca117bc59bb4b1f2e1dfb6298c843712
+DIST atomdep-tree-sitter-c-0.13.7.tar.gz 192058 BLAKE2B e673311a6903736d204b149a983159f7ca52ffc3e1b44f7e800f6a8fcebb49059d6fd6e341506d50d19d3781b495bf0414f8794af2f9e6a93e341fd55fdfa264 SHA512 af533977d06be796c3c1a98fbc44f60cf46a4fdc0f233edd9766c462cdad5116398231863d9cfbe4ffb49befe9bf97466c6d8b9a1535d0af835aa0242e4f5ed5
+DIST atomdep-tree-sitter-cpp-0.13.8.tar.gz 610448 BLAKE2B df5ac56a6317c39b5ac1a4d248b0c96751ebed08868977417f68daf30a1c04806874128dd75667d7b543b3062d168ba570783df291931c0a3bed990526eea727 SHA512 3d3b488f8b1e277a73c9c961bf48f3207e6720faac5731d1ed9a02bd01fad0bd844180e867f2bc7b3bc278fe5d218d6808e0e191cf20c763d9fa7e326b34de4e
+DIST atomdep-tree-sitter-css-0.13.7.tar.gz 79065 BLAKE2B 5671e6395f41b3dd2f3154d335e9b581507a8a7ad90ed3f4f27bd89055c96bef82d883984055dbf1675c93fe8aa9edce5151902261300d1cedf1dc7d955b9149 SHA512 c4c85564779300081c5f8991eb7ab32eecd5e477eba7c2217430ec2c0b276bba5b4f5107859c412bba68b1531fd5089c6db9491f81aa1409d9e9f3aa5036ca5d
+DIST atomdep-tree-sitter-embedded-template-0.13.0.tar.gz 6153 BLAKE2B 7da15e09def3a4088b16f691273f0e99311aea53a20577a618026fbd3f4bd78d3cb4c5a6aa694ed3122465621128d26dd084c85d492f8a6d62246a1e50f29a2f SHA512 20956331c2f6060faa17e1e26ed1174c5e0213a03aea9a464aa53c13ed9d767da90aa0ed646444848f8a7ea7ab17d369292a353ad6ef8578845cf75740034b1a
+DIST atomdep-tree-sitter-go-0.13.3.tar.gz 162468 BLAKE2B a3530580f1cddd672807d1d4c6652405a0558edf7d362523d507edacb6ba2abefa58fefe50d762e9c611ab51f6a4b6e62000f2e898058ac3f892fe6e6a11940c SHA512 a579e5103330ac276761a3b37c4ce53255aa644283257106e1b3ef73d8f925277b2180d606bc31a3e5d7bab68b4a56e3d6624bda428b2033bc70a0cdc54b1c1f
+DIST atomdep-tree-sitter-html-0.13.5.tar.gz 13738 BLAKE2B c33b69eeb6b1eba0c864988eafe49327eb2f9a770678b03c49548aeb2fff2a1f31a5132565ca4025c008914a410d6cd0a757e9e435efc90cba58443cc2dc88be SHA512 95ac288df0e58fff6e8c462f2e85b8f964d3876a1cad80983f60f0e4b9b0c6ebef136947aff0f845603c5b53788e9479f2d55e7f4492aa79d0c09925d6934878
+DIST atomdep-tree-sitter-javascript-0.13.8.tar.gz 1729028 BLAKE2B ea2c8de9091ae224e595b0f50d4b32797c0b87937698b074e6603cdde0ecbfd57e6da7d9d6540d0de7175c6386130de5fb3db6a537a935c121eee8c5ae46879a SHA512 a7bbba657117d6c2238063408ae48d9cae8f4a5e45894b10cc457640e018547e46375ddc52752ca1afc189a0cc590dee75da0d5f04ddc6107c530340a258b341
+DIST atomdep-tree-sitter-python-0.13.4.tar.gz 204998 BLAKE2B 54d22a4482705cf482cd13bf8786f2d4a26e709b836007a1cd2bf43a537738a2b27474bc050253462f834f7f211b4c6b5b8b82cc3a1de41faa334c93fdc02db3 SHA512 250ef9ffaf15b0f3125ad7a88ad37181d4e5030e6ca5b4c518ad97822478d6d893b6493c70e35db5f07b3dedb25928285c60cdb5cbb4fd392ae07acaad6aca7d
+DIST atomdep-tree-sitter-regex-0.13.1.tar.gz 17153 BLAKE2B 44e137c5464af5e77011a9d8bb9cd6ffa7abf50bbd27a6fc3b8e53739fd6e6c664bce7c1ed348ecbb2a27e8f301caa8a783c5ba756870622fbe1bfe76ee4a8bb SHA512 03e50bb9539cdfb34e8e69a675da97311c14abc839d4509167b612ba92dd15c1e7825d5a748de70513ec902f40f1efbef6317ee5f2f2b700385fab875bfbff9a
+DIST atomdep-tree-sitter-ruby-0.13.11.tar.gz 2020951 BLAKE2B 106eb35468106d971338e3387484470a61c84da8a1a2f9632eecd0e84fe13dc801da527652817633083469668f03cc9ea4241526cfe414a7c0c2c2d96d44f311 SHA512 101981059db4c9aa11a834604287fd622af6f7fde5bf9718ff2f140d40b51b345fe6961de02b185345808c827b77202ffb79fba77cbf2ceb9793224b888375c0
+DIST atomdep-tree-sitter-typescript-0.13.6.tar.gz 662334 BLAKE2B a4e7898fc115fd73c9a86578aa214cfb11ac0b57bcfe3db8226463a7613d78bec11b987311f8ee884a4aa679ff16deaee158eb36ba8a370be65daff98e41cdac SHA512 d5cb2f0ab5b981fe1de03d195c272db150ebd0cf9f3825d87d7fd3bdee8e01e1d4745bb426c23e084b12e97dd51fbba65f9ffad910d87b57306ef3a10ae2225c
+DIST nodejs-nan-2.11.1.tar.gz 170929 BLAKE2B 21287b45865c578257399abddd2fb6a7234891da47bb97073b7595ace6bafc83630f44141d871b061e5d13b6c4b9e02c0d4883ef0a6d6f0d9851ff645a0ab616 SHA512 a80c2857c2f15c085c506cabd081338e25a5de2028327567a039ed9219b912d36ebdfec80f13bebab9872b981d86a2fcc2c8145739b428b8f4148d1a883e408f
 DIST nodejs-nan-2.6.2.tar.gz 161949 BLAKE2B f74e8d56e67ae03e60e0be7752ed9527bd8499c01f7df8899f3eb6735b1286633753e8bf595781b6d3d1446df20483fc0377bd745be10c6bae0ad66426751b79 SHA512 d1b5ed12e90accfa117cb73b9432897631ed2dd6045f93fa8b53237a13cec0ec467b14c035e9e4d4a5c6588949c1c80b0eef48a46d5c9c0a1f81ef400da031c3

diff --git a/app-editors/atom/atom-1.32.1.ebuild b/app-editors/atom/atom-1.32.1.ebuild
new file mode 100644
index 00000000000..cffe7192d2e
--- /dev/null
+++ b/app-editors/atom/atom-1.32.1.ebuild
@@ -0,0 +1,561 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTE: this ebuild has been generated by atom-ebuild-gen.py from the
+#       atom overlay.  If you would like to make changes, please consider
+#       modifying the ebuild template and submitting a PR to
+#       https://github.com/elprans/atom-overlay.
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+inherit multiprocessing python-single-r1 rpm xdg-utils
+
+DESCRIPTION="A hackable text editor for the 21st Century"
+HOMEPAGE="https://atom.io"
+MY_PV="${PV//_/-}"
+
+ELECTRON_V=2.0.9
+ELECTRON_SLOT=2.0
+
+ASAR_V=0.14.3
+# All binary packages depend on this
+NAN_V=2.11.1
+
+ATOM__NSFW_V=1.0.18
+ATOM__WATCHER_V=1.0.8
+CACHED_RUN_IN_THIS_CONTEXT_V=0.5.0
+CTAGS_V=3.0.0
+FS_ADMIN_V=0.1.7
+GIT_UTILS_V=5.2.1
+KEYBOARD_LAYOUT_V=2.0.14
+KEYTAR_V=4.3.0
+NSLOG_V=3.0.0
+ONIGURUMA_V=7.0.2
+PATHWATCHER_V=8.0.1
+SCROLLBAR_STYLE_V=3.2.0
+SPELLCHECKER_V=3.5.0
+SUPERSTRING_V=2.3.4
+TREE_SITTER_V=0.13.15
+TREE_SITTER_BASH_V=0.13.6
+TREE_SITTER_C_V=0.13.7
+TREE_SITTER_CPP_V=0.13.8
+TREE_SITTER_CSS_V=0.13.7
+TREE_SITTER_EMBEDDED_TEMPLATE_V=0.13.0
+TREE_SITTER_GO_V=0.13.3
+TREE_SITTER_HTML_V=0.13.5
+TREE_SITTER_JAVASCRIPT_V=0.13.8
+TREE_SITTER_PYTHON_V=0.13.4
+TREE_SITTER_REGEX_V=0.13.1
+TREE_SITTER_RUBY_V=0.13.11
+TREE_SITTER_TYPESCRIPT_V=0.13.6
+
+# The x86_64 arch below is irrelevant, as we will rebuild all binary packages.
+SRC_URI="
+	https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/atom.x86_64.rpm -> atom-bin-${MY_PV}.rpm
+	https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> atom-${MY_PV}.tar.gz
+	https://github.com/elprans/asar/releases/download/v${ASAR_V}-gentoo/asar-build.tar.gz -> asar-${ASAR_V}.tar.gz
+	https://github.com/nodejs/nan/archive/v${NAN_V}.tar.gz -> nodejs-nan-${NAN_V}.tar.gz
+	https://registry.npmjs.org/@atom/nsfw/-/nsfw-1.0.18.tgz -> atomdep-atom--nsfw-${ATOM__NSFW_V}.tar.gz
+	https://registry.npmjs.org/@atom/watcher/-/watcher-1.0.8.tgz -> atomdep-atom--watcher-${ATOM__WATCHER_V}.tar.gz
+	https://registry.npmjs.org/cached-run-in-this-context/-/cached-run-in-this-context-0.5.0.tgz -> atomdep-cached-run-in-this-context-${CACHED_RUN_IN_THIS_CONTEXT_V}.tar.gz
+	https://registry.npmjs.org/ctags/-/ctags-3.0.0.tgz -> atomdep-ctags-${CTAGS_V}.tar.gz
+	https://registry.npmjs.org/fs-admin/-/fs-admin-0.1.7.tgz -> atomdep-fs-admin-${FS_ADMIN_V}.tar.gz
+	https://registry.npmjs.org/git-utils/-/git-utils-5.2.1.tgz -> atomdep-git-utils-${GIT_UTILS_V}.tar.gz
+	https://registry.npmjs.org/keyboard-layout/-/keyboard-layout-2.0.14.tgz -> atomdep-keyboard-layout-${KEYBOARD_LAYOUT_V}.tar.gz
+	https://registry.npmjs.org/keytar/-/keytar-4.3.0.tgz -> atomdep-keytar-${KEYTAR_V}.tar.gz
+	https://registry.npmjs.org/nslog/-/nslog-3.0.0.tgz -> atomdep-nslog-${NSLOG_V}.tar.gz
+	https://registry.npmjs.org/oniguruma/-/oniguruma-7.0.2.tgz -> atomdep-oniguruma-${ONIGURUMA_V}.tar.gz
+	https://registry.npmjs.org/pathwatcher/-/pathwatcher-8.0.1.tgz -> atomdep-pathwatcher-${PATHWATCHER_V}.tar.gz
+	https://registry.npmjs.org/scrollbar-style/-/scrollbar-style-3.2.0.tgz -> atomdep-scrollbar-style-${SCROLLBAR_STYLE_V}.tar.gz
+	https://registry.npmjs.org/spellchecker/-/spellchecker-3.5.0.tgz -> atomdep-spellchecker-${SPELLCHECKER_V}.tar.gz
+	https://registry.npmjs.org/superstring/-/superstring-2.3.4.tgz -> atomdep-superstring-${SUPERSTRING_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.13.15.tgz -> atomdep-tree-sitter-${TREE_SITTER_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-bash/-/tree-sitter-bash-0.13.6.tgz -> atomdep-tree-sitter-bash-${TREE_SITTER_BASH_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-c/-/tree-sitter-c-0.13.7.tgz -> atomdep-tree-sitter-c-${TREE_SITTER_C_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-cpp/-/tree-sitter-cpp-0.13.8.tgz -> atomdep-tree-sitter-cpp-${TREE_SITTER_CPP_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-css/-/tree-sitter-css-0.13.7.tgz -> atomdep-tree-sitter-css-${TREE_SITTER_CSS_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-embedded-template/-/tree-sitter-embedded-template-0.13.0.tgz -> atomdep-tree-sitter-embedded-template-${TREE_SITTER_EMBEDDED_TEMPLATE_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-go/-/tree-sitter-go-0.13.3.tgz -> atomdep-tree-sitter-go-${TREE_SITTER_GO_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-html/-/tree-sitter-html-0.13.5.tgz -> atomdep-tree-sitter-html-${TREE_SITTER_HTML_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-javascript/-/tree-sitter-javascript-0.13.8.tgz -> atomdep-tree-sitter-javascript-${TREE_SITTER_JAVASCRIPT_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-python/-/tree-sitter-python-0.13.4.tgz -> atomdep-tree-sitter-python-${TREE_SITTER_PYTHON_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-regex/-/tree-sitter-regex-0.13.1.tgz -> atomdep-tree-sitter-regex-${TREE_SITTER_REGEX_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-ruby/-/tree-sitter-ruby-0.13.11.tgz -> atomdep-tree-sitter-ruby-${TREE_SITTER_RUBY_V}.tar.gz
+	https://registry.npmjs.org/tree-sitter-typescript/-/tree-sitter-typescript-0.13.6.tgz -> atomdep-tree-sitter-typescript-${TREE_SITTER_TYPESCRIPT_V}.tar.gz
+"
+
+BINMODS=(
+	atom--nsfw
+	atom--watcher
+	cached-run-in-this-context
+	ctags
+	fs-admin
+	git-utils
+	keyboard-layout
+	keytar
+	nslog
+	oniguruma
+	pathwatcher
+	scrollbar-style
+	spellchecker
+	superstring
+	tree-sitter
+	tree-sitter-bash
+	tree-sitter-c
+	tree-sitter-cpp
+	tree-sitter-css
+	tree-sitter-embedded-template
+	tree-sitter-go
+	tree-sitter-html
+	tree-sitter-javascript
+	tree-sitter-python
+	tree-sitter-regex
+	tree-sitter-ruby
+	tree-sitter-typescript
+)
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	>=dev-util/electron-${ELECTRON_V}:${ELECTRON_SLOT}
+"
+
+DEPEND="
+	>=app-text/hunspell-1.3.3:=
+	>=dev-libs/libgit2-0.23:=[ssh]
+	>=dev-libs/libpcre2-10.22:=[jit,pcre16]
+	>=dev-libs/oniguruma-6.6.0:=
+	>=dev-util/ctags-5.8
+	>=gnome-base/libgnome-keyring-3.12:=
+	x11-libs/libxkbfile
+"
+
+RDEPEND="
+	${DEPEND}
+	>=dev-util/electron-${ELECTRON_V}:${ELECTRON_SLOT}
+	dev-vcs/git
+	!sys-apps/apmd
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+BIN_S="${WORKDIR}/${PN}-bin-${MY_PV}"
+BUILD_DIR="${S}/out"
+
+pkg_setup() {
+	python-single-r1_pkg_setup
+}
+
+src_unpack() {
+	local a
+
+	mkdir "${BIN_S}" || die
+
+	for a in ${A} ; do
+		case "${a}" in
+			*.rpm)
+				pushd "${BIN_S}" >/dev/null || die
+				srcrpm_unpack "${a}"
+				popd >/dev/null || die
+				;;
+
+			*.tar|*.tar.gz|*.tar.bz2|*.tar.xz)
+				# Tarballs on registry.npmjs.org are wildly inconsistent,
+				# and violate the convention of having ${P} as the top
+				# directory name, so we strip the first component and
+				# unpack into a correct directory explicitly.
+				local basename=${a%.tar.*}
+				local destdir=${WORKDIR}/${basename#atomdep-}
+				mkdir "${destdir}" || die
+				tar -C "${destdir}" -x -o --strip-components 1 \
+					-f "${DISTDIR}/${a}" || die
+				;;
+
+			*)
+				# Fallback to the default unpacker.
+				unpack "${a}"
+				;;
+		esac
+	done
+}
+
+src_prepare() {
+	local suffix="$(get_install_suffix)"
+	local atom_rpmdir=$(get_atom_rpmdir)
+	local install_dir="${EPREFIX}$(get_install_dir)"
+	local electron_dir="${EPREFIX}$(get_electron_dir)"
+	local electron_path="${electron_dir}/electron"
+	local node_path="${electron_dir}/node"
+	local node_includes="${EPREFIX}$(get_node_includedir)"
+	local binmod
+	local pkgdir
+
+	mkdir "${BUILD_DIR}" || die
+	cp -a "${BIN_S}/${atom_rpmdir}/resources/app" \
+		"${BUILD_DIR}/app" || die
+
+	# Add source files omitted from the upstream binary distribution,
+	# and which we want to include in ours.
+	cp -a "${S}/spec" "${BUILD_DIR}/app" || die
+
+	# Unpack app.asar
+	easar extract "${BIN_S}/${atom_rpmdir}/resources/app.asar" \
+		"${BUILD_DIR}/app"
+
+	cd "${BUILD_DIR}/app" || die
+
+	eapply "${FILESDIR}/apm-python.patch"
+	eapply "${FILESDIR}/atom-unbundle-electron-r3.patch"
+	eapply "${FILESDIR}/atom-python-r1.patch"
+	eapply "${FILESDIR}/atom-apm-path-r2.patch"
+	eapply "${FILESDIR}/atom-fix-app-restart-r2.patch"
+	eapply "${FILESDIR}/atom-marker-layer-r1.patch"
+	eapply "${FILESDIR}/atom-fix-config-watcher-r1.patch"
+
+	sed -i -e "s|path.join(process.resourcesPath, 'LICENSE.md')|'/usr/share/licenses/$(get_atom_appname)/LICENSE.md'|g" \
+		./src/main-process/atom-application.js \
+		|| die
+
+	sed -i -e "s|{{NPM_CONFIG_NODEDIR}}|${node_includes}|g" \
+			-e "s|{{ATOM_PATH}}|${electron_path}|g" \
+			-e "s|{{ATOM_RESOURCE_PATH}}|${install_dir}/app.asar|g" \
+			-e "s|{{ATOM_PREFIX}}|${EPREFIX}|g" \
+			-e "s|^#!/bin/bash|#!${EPREFIX}/bin/bash|g" \
+		./atom.sh \
+		|| die
+
+	local env="export NPM_CONFIG_NODEDIR=${node_includes}\nexport ELECTRON_NO_ASAR=1"
+	sed -i -e \
+		"s|\"\$binDir/\$nodeBin\"|${env}\nexec \"${node_path}\"|g" \
+			apm/bin/apm || die
+
+	sed -i -e \
+		"s|^\([[:space:]]*\)node[[:space:]]\+|\1\"${node_path}\" |g" \
+			apm/node_modules/npm/bin/node-gyp-bin/node-gyp || die
+
+	sed -i -e \
+		"s|atomCommand = 'atom';|atomCommand = '${EPREFIX}/usr/bin/atom${suffix}'|g" \
+			apm/lib/test.js || die
+
+	rm apm/bin/node || die
+
+	sed -i -e "s|/${atom_rpmdir}/atom|${EPREFIX}/usr/bin/atom${suffix}|g" \
+		"${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" || die
+
+	for binmod in "${BINMODS[@]}"; do
+		pkgdir="${WORKDIR}/$(package_dir ${binmod})"
+		cd "${pkgdir}" || die
+		if have_patches_for "${binmod}"; then
+			eapply "${FILESDIR}"/${binmod}-*.patch
+		fi
+	done
+
+	cd "${BUILD_DIR}/app" || die
+
+	# Unbundle bundled libs from modules
+
+	pkgdir="${WORKDIR}/$(package_dir git-utils)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "git;libgit2;git2" \
+		"${pkgdir}/binding.gyp" || die
+
+	pkgdir="${WORKDIR}/$(package_dir oniguruma)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "onig_scanner;oniguruma;onig" \
+		"${pkgdir}/binding.gyp" || die
+
+	pkgdir="${WORKDIR}/$(package_dir spellchecker)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle "spellchecker;hunspell;hunspell" \
+		"${pkgdir}/binding.gyp" || die
+
+	pkgdir="${WORKDIR}/$(package_dir superstring)"
+	${EPYTHON} "${FILESDIR}/gyp-unbundle.py" \
+		--inplace --unbundle \
+		"superstring_core;./vendor/pcre/pcre.gyp:pcre;pcre2-16; \
+			-DPCRE2_CODE_UNIT_WIDTH=16" \
+		"${pkgdir}/binding.gyp" || die
+
+	for binmod in "${BINMODS[@]}"; do
+		pkgdir="${WORKDIR}/$(package_dir ${binmod})"
+		mkdir -p "${pkgdir}/node_modules" || die
+		ln -s "${WORKDIR}/nodejs-nan-${NAN_V}" \
+			"${pkgdir}/node_modules/nan" || die
+	done
+
+	sed -i -e "s|{{ATOM_PREFIX}}|${EPREFIX}|g" \
+		"${BUILD_DIR}/app/src/config-schema.js" || die
+
+	sed -i -e "s|{{ATOM_SUFFIX}}|${suffix}|g" \
+		"${BUILD_DIR}/app/src/config-schema.js" || die
+
+	eapply_user
+}
+
+src_configure() {
+	local binmod
+
+	for binmod in "${BINMODS[@]}"; do
+		einfo "Configuring ${binmod}..."
+		cd "${WORKDIR}/$(package_dir ${binmod})" || die
+		enodegyp_atom configure
+	done
+}
+
+src_compile() {
+	local binmod
+	local ctags_d="node_modules/symbols-view/vendor"
+	local jobs=$(makeopts_jobs)
+	local unpacked_paths
+
+	# Transpile any yet untranspiled files.
+	ecoffeescript "${BUILD_DIR}"/app/spec/'*.coffee'
+
+	mkdir -p "${BUILD_DIR}/modules/" || die
+
+	for binmod in "${BINMODS[@]}"; do
+		local binmod_name=${binmod##node-}
+
+		einfo "Building ${binmod}..."
+		cd "${WORKDIR}/$(package_dir ${binmod})" || die
+		enodegyp_atom --verbose --jobs="$(makeopts_jobs)" build
+		mkdir -p "${BUILD_DIR}/modules/${binmod_name}" || die
+		cp build/Release/*.node "${BUILD_DIR}/modules/${binmod_name}" || die
+	done
+
+	# Put compiled binary modules in place
+	fix_binmods "${BUILD_DIR}/app" "apm"
+	fix_binmods "${BUILD_DIR}/app" "node_modules"
+
+	# Remove non-Linux vendored ctags binaries
+	rm "${BUILD_DIR}/app/${ctags_d}/ctags-darwin" \
+		"${BUILD_DIR}/app/${ctags_d}/ctags-win32.exe" || die
+
+	# Remove bundled git
+	rm -r "${BUILD_DIR}/app/node_modules/dugite/git" || die
+
+	# Re-pack app.asar
+	# Keep unpack rules in sync with buildAsarUnpackGlobExpression()
+	# in script/lib/package-application.js
+	unpacked_paths=(
+		"*.node"
+		"ctags-config"
+		"ctags-linux"
+		"**/spec/fixtures/**"
+		"**/node_modules/github/bin/**"
+		"**/node_modules/spellchecker/**"
+		"**/resources/atom.png")
+
+	unpacked_paths=$(IFS=,; echo "${unpacked_paths[*]}")
+
+	cd "${BUILD_DIR}" || die
+	easar pack --unpack="{${unpacked_paths}}" --unpack-dir=apm "app" "app.asar"
+
+	rm -r "${BUILD_DIR}/app.asar.unpacked/apm" || die
+
+	# Replace vendored ctags with a symlink to system ctags
+	rm "${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+	ln -s "${EPREFIX}/usr/bin/ctags" \
+		"${BUILD_DIR}/app.asar.unpacked/${ctags_d}/ctags-linux" || die
+}
+
+src_install() {
+	local install_dir="$(get_install_dir)"
+	local suffix="$(get_install_suffix)"
+
+	insinto "${install_dir}"
+
+	doins "${BUILD_DIR}/app.asar"
+	doins -r "${BUILD_DIR}/app.asar.unpacked"
+
+	insinto "${install_dir}/app"
+	doins -r "${BUILD_DIR}/app/apm"
+
+	insinto "/usr/share/applications/"
+	newins "${BIN_S}/usr/share/applications/$(get_atom_appname).desktop" \
+		"atom${suffix}.desktop"
+
+	insinto "/usr/share/icons/"
+	doins -r "${BIN_S}/usr/share/icons/hicolor"
+
+	exeinto "${install_dir}"
+	newexe "${BUILD_DIR}/app/atom.sh" atom
+	insinto "/usr/share/licenses/${PN}${suffix}"
+	doins "${BIN_S}/$(get_atom_rpmdir)/resources/LICENSE.md"
+	dosym "../..${install_dir}/atom" "/usr/bin/atom${suffix}"
+	dosym "../..${install_dir}/app/apm/bin/apm" "/usr/bin/apm${suffix}"
+
+	fix_executables "${install_dir}/app/apm/bin"
+	fix_executables "${install_dir}/app/apm/node_modules/.bin"
+	fix_executables "${install_dir}/app/apm/node_modules/npm/bin"
+	fix_executables "${install_dir}/app/apm/node_modules/npm/bin/node-gyp-bin"
+	fix_executables "${install_dir}/app/apm/node_modules/node-gyp/bin"
+}
+
+pkg_postinst() {
+	xdg_desktop_database_update
+	xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+	xdg_desktop_database_update
+	xdg_mimeinfo_database_update
+}
+
+# Helpers
+# -------
+
+# Return the installation suffix appropriate for the slot.
+get_install_suffix() {
+	local slot=${SLOT%%/*}
+	local suffix
+
+	if [[ "${slot}" == "0" ]]; then
+		suffix=""
+	else
+		suffix="-${slot}"
+	fi
+
+	echo "${suffix}"
+}
+
+# Return the upstream app name appropriate for $PV.
+get_atom_appname() {
+	if [[ "${PV}" == *beta* ]]; then
+		echo "atom-beta"
+	else
+		echo "atom"
+	fi
+}
+
+# Return the app installation path inside the upstream archive.
+get_atom_rpmdir() {
+	echo "usr/share/$(get_atom_appname)"
+}
+
+# Return the installation target directory.
+get_install_dir() {
+	echo "/usr/$(get_libdir)/atom$(get_install_suffix)"
+}
+
+# Return the Electron installation directory.
+get_electron_dir() {
+	echo "/usr/$(get_libdir)/electron-${ELECTRON_SLOT}"
+}
+
+# Return the directory containing appropriate Node headers
+# for the required version of Electron.
+get_node_includedir() {
+	echo "/usr/include/electron-${ELECTRON_SLOT}/node/"
+}
+
+# Run JavaScript using Electron's version of Node.
+enode_electron() {
+	"${BROOT}/$(get_electron_dir)"/node "${@}"
+}
+
+# Run node-gyp using Electron's version of Node.
+enodegyp_atom() {
+	local apmpath="$(get_atom_rpmdir)/resources/app/apm"
+	local nodegyp="${BIN_S}/${apmpath}/node_modules/node-gyp/bin/node-gyp.js"
+
+	PATH="${BROOT}/$(get_electron_dir):${PATH}" \
+		enode_electron "${nodegyp}" \
+			--nodedir="${BROOT}/$(get_node_includedir)" "${@}" || die
+}
+
+# Coffee Script wrapper.
+ecoffeescript() {
+	local cscript="${FILESDIR}/transpile-coffee-script.js"
+
+	echo "ecoffeescript" "${@}"
+	echo ATOM_HOME="${T}/.atom" ATOM_SRC_ROOT="${BUILD_DIR}/app" \
+	NODE_PATH="${BUILD_DIR}/app/node_modules" \
+		enode_electron "${cscript}" "${@}" || die
+	ATOM_HOME="${T}/.atom" ATOM_SRC_ROOT="${BUILD_DIR}/app" \
+	NODE_PATH="${BUILD_DIR}/app/node_modules" \
+		enode_electron "${cscript}" "${@}" || die
+}
+
+# asar wrapper.
+easar() {
+	local asar="${WORKDIR}/$(package_dir asar)/node_modules/asar/bin/asar"
+	echo "asar" "${@}"
+	enode_electron "${asar}" "${@}" || die
+}
+
+# Return a $WORKDIR directory for a given package name.
+package_dir() {
+	local binmod="${1//-/_}"
+	local binmod_v="${binmod^^}_V"
+	if [[ -z "${binmod_v}" ]]; then
+		die "${binmod_v} is not set."
+	fi
+
+	echo ${1}-${!binmod_v}
+}
+
+# Check if there are patches for a given package.
+have_patches_for() {
+	local patches="${1}-*.patch"
+	local found
+	found=$(find "${FILESDIR}" -maxdepth 1 -name "${patches}" -print -quit)
+	test -n "${found}"
+}
+
+# Replace binary node modules with the newly compiled versions thereof.
+fix_binmods() {
+	local dir="${2}"
+	local prefix="${1}"
+	local path
+	local relpath
+	local modpath
+	local mod
+	local cruft
+
+	while IFS= read -r -d '' path; do
+		relpath=${path#${prefix}}
+		relpath=${relpath##/}
+		relpath=${relpath#W${dir}}
+		modpath=$(dirname ${relpath})
+		modpath=${modpath%build/Release}
+		mod=$(basename ${modpath})
+
+		# Check if the binary node module is actually a valid dependency.
+		# Sometimes the upstream removes a dependency from package.json but
+		# forgets to remove the module from node_modules.
+		has "${mod}" "${BINMODS[@]}" || continue
+
+		# Must copy here as symlinks will cause the module loading to fail.
+		cp -f "${BUILD_DIR}/modules/${mod}/${path##*/}" "${path}" || die
+
+		# Drop unnecessary static libraries.
+		find "${path%/*}" -name '*.a' -delete || die
+	done < <(find "${prefix}/${dir}" -name '*.node' -print0 || die)
+}
+
+# Fix script permissions and shebangs to point to the correct version
+# of Node.
+fix_executables() {
+	local dir="${1}"
+	local node_sb="#!${EPREFIX}$(get_electron_dir)"/node
+
+	while IFS= read -r -d '' f; do
+		IFS= read -r shebang < "${f}"
+
+		if [[ ${shebang} == '#!'* ]]; then
+			fperms +x "${f#${ED}}"
+			if [[ "${shebang}" == "#!/usr/bin/env node" || \
+					"${shebang}" == "#!/usr/bin/node" ]]; then
+				einfo "Fixing node shebang in ${f#${ED}}"
+				sed --follow-symlinks -i \
+					-e "1s:${shebang}$:${node_sb}:" "${f}" || die
+			fi
+		fi
+	done < <(find -L "${ED}${dir}" -maxdepth 1 -mindepth 1 -type f -print0 || die)
+}

diff --git a/app-editors/atom/files/atom-fix-app-restart-r2.patch b/app-editors/atom/files/atom-fix-app-restart-r2.patch
new file mode 100644
index 00000000000..a2defa21db2
--- /dev/null
+++ b/app-editors/atom/files/atom-fix-app-restart-r2.patch
@@ -0,0 +1,24 @@
+From bf4c1ab651a82eb369ffa3dc4b20246d043d797a Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Wed, 28 Mar 2018 12:02:53 -0400
+Subject: [PATCH] Fix app restart
+
+---
+ src/main-process/atom-application.js | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/main-process/atom-application.js b/src/main-process/atom-application.js
+index 10b791761..d16a68fba 100644
+--- a/src/main-process/atom-application.js
++++ b/src/main-process/atom-application.js
+@@ -1344,6 +1344,7 @@ class AtomApplication extends EventEmitter {
+ 
+   restart () {
+     const args = []
++    args.push("--app=" + this.resourcePath);
+     if (this.safeMode) args.push('--safe')
+     if (this.logFile != null) args.push(`--log-file=${this.logFile}`)
+     if (this.socketPath != null) args.push(`--socket-path=${this.socketPath}`)
+-- 
+2.16.1
+

diff --git a/app-editors/atom/files/atom-fix-config-watcher-r1.patch b/app-editors/atom/files/atom-fix-config-watcher-r1.patch
new file mode 100644
index 00000000000..7af82050d46
--- /dev/null
+++ b/app-editors/atom/files/atom-fix-config-watcher-r1.patch
@@ -0,0 +1,41 @@
+From 5f1f840372611b8f42d8fd3be7b680f90958f015 Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Wed, 28 Mar 2018 18:52:58 -0400
+Subject: [PATCH] Unbreak config watcher in the main process
+
+---
+ src/path-watcher.js | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/src/path-watcher.js b/src/path-watcher.js
+index 6693489ef..f3ddc6fe4 100644
+--- a/src/path-watcher.js
++++ b/src/path-watcher.js
+@@ -544,12 +544,22 @@ class PathWatcherManager {
+   // Private: Access the currently active manager instance, creating one if necessary.
+   static active () {
+     if (!this.activeManager) {
+-      this.activeManager = new PathWatcherManager(atom.config.get('core.fileSystemWatcher'))
+-      this.sub = atom.config.onDidChange('core.fileSystemWatcher', ({newValue}) => { this.transitionTo(newValue) })
++      let config = this.getConfig()
++      this.activeManager = new PathWatcherManager(config.get('core.fileSystemWatcher'))
++      this.sub = config.onDidChange('core.fileSystemWatcher', ({newValue}) => { this.transitionTo(newValue) })
+     }
+     return this.activeManager
+   }
+ 
++  // Private: get config instance for the current application
++  static getConfig() {
++    if (typeof(global.atom) != 'undefined') {
++      return global.atom.config
++    } else {
++      return global.atomApplication.config
++    }
++  }
++
+   // Private: Replace the active {PathWatcherManager} with a new one that creates [NativeWatchers]{NativeWatcher}
+   // based on the value of `setting`.
+   static async transitionTo (setting) {
+-- 
+2.17.0
+

diff --git a/app-editors/atom/files/atom-python-r1.patch b/app-editors/atom/files/atom-python-r1.patch
new file mode 100644
index 00000000000..96d6b0327fa
--- /dev/null
+++ b/app-editors/atom/files/atom-python-r1.patch
@@ -0,0 +1,25 @@
+From fae3881a3fa5bf58c696c5bd9c74c62a2113cb12 Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Sat, 29 Sep 2018 16:12:39 -0400
+Subject: [PATCH] Use Python 2
+
+---
+ atom.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/atom.sh b/atom.sh
+index 0ad3f5b23..62fe682fe 100755
+--- a/atom.sh
++++ b/atom.sh
+@@ -62,6 +62,8 @@ if [ $REDIRECT_STDERR ]; then
+   exec 2> /dev/null
+ fi
+ 
++export PYTHON=python2
++
+ ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
+ mkdir -p "$ATOM_HOME"
+ 
+-- 
+2.16.4
+

diff --git a/app-editors/atom/files/atom-unbundle-electron-r3.patch b/app-editors/atom/files/atom-unbundle-electron-r3.patch
new file mode 100644
index 00000000000..1a6ea109d05
--- /dev/null
+++ b/app-editors/atom/files/atom-unbundle-electron-r3.patch
@@ -0,0 +1,39 @@
+From 342dc685f8139e950924c04f1d460052e7531fb5 Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Thu, 5 May 2016 17:23:35 -0400
+Subject: [PATCH] Unbundle electron
+
+---
+ atom.sh | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/atom.sh b/atom.sh
+index 935204bfc..0ad3f5b23 100755
+--- a/atom.sh
++++ b/atom.sh
+@@ -138,16 +138,21 @@ elif [ $OS == 'Linux' ]; then
+       ;;
+   esac
+ 
++  export NPM_CONFIG_NODEDIR="{{NPM_CONFIG_NODEDIR}}"
++  export ATOM_RESOURCE_PATH="{{ATOM_RESOURCE_PATH}}"
++  export LOCAL_GIT_DIRECTORY="{{ATOM_PREFIX}}/usr"
++  ATOM_PATH="{{ATOM_PATH}}"
++
+   : ${TMPDIR:=/tmp}
+ 
+   [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
+ 
+   if [ $EXPECT_OUTPUT ]; then
+-    "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++    "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+     exit $?
+   else
+     (
+-    nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
++    nohup "$ATOM_PATH" --app="$ATOM_RESOURCE_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+     if [ $? -ne 0 ]; then
+       cat "$ATOM_HOME/nohup.out"
+       exit $?
+-- 
+2.16.4

diff --git a/app-editors/atom/files/transpile-coffee-script.js b/app-editors/atom/files/transpile-coffee-script.js
index c32e09cad92..bbea175b672 100644
--- a/app-editors/atom/files/transpile-coffee-script.js
+++ b/app-editors/atom/files/transpile-coffee-script.js
@@ -5,7 +5,7 @@ const fs = require('fs')
 const glob = require('glob')
 const path = require('path')
 
-module.exports = function () {
+function do_compile() {
   let paths = new Set()
 
   for (let pattern of process.argv.slice(2)) {
@@ -14,10 +14,12 @@ module.exports = function () {
     }
   }
 
-  for (let path of paths) {
+  for (let coffeePath of paths) {
     let jsPath = coffeePath.replace(/coffee$/g, 'js')
     fs.writeFileSync(
       jsPath, CompileCache.addPathToCache(coffeePath, process.env.ATOM_HOME))
     fs.unlinkSync(coffeePath)
   }
 }
+
+do_compile()


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

end of thread, other threads:[~2018-11-10 22:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-10 22:37 [gentoo-commits] repo/gentoo:master commit in: app-editors/atom/files/, app-editors/atom/ Patrice Clement
  -- strict thread matches above, loose matches on Subject: below --
2018-11-10 22:37 Patrice Clement
2017-10-07 17:19 Patrice Clement
2016-11-21  5:12 Göktürk Yüksek
2016-11-21  5:12 Göktürk Yüksek
2016-09-20  6:12 Yixun Lan
2016-05-25  8:34 Patrice Clement
2016-05-10 11:28 Patrice Clement
2016-04-06 11:12 Heather Cynede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox