From 6b933047f46efec1aa747570f945344254227457 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 15 Dec 2017 17:25:28 +0000 Subject: gentoo resync : 15.12.2017 --- app-editors/atom/Manifest | 55 +-- app-editors/atom/atom-1.15.0-r1.ebuild | 405 ---------------- app-editors/atom/atom-1.16.0.ebuild | 405 ---------------- app-editors/atom/atom-1.18.0.ebuild | 411 ---------------- app-editors/atom/atom-1.20.1.ebuild | 514 -------------------- app-editors/atom/atom-1.21.0.ebuild | 522 -------------------- app-editors/atom/atom-1.22.1.ebuild | 535 +++++++++++++++++++++ app-editors/atom/atom-1.23.0_beta1.ebuild | 535 +++++++++++++++++++++ app-editors/atom/files/atom-1.13-apm-path.patch | 16 - app-editors/atom/files/atom-apm-path-r1.patch | 16 - app-editors/atom/files/atom-fix-app-restart.patch | 12 - app-editors/atom/files/atom-license-path.patch | 11 - app-editors/atom/files/atom-marker-layer.patch | 11 - .../atom/files/atom-unbundle-electron.patch | 45 -- 14 files changed, 1081 insertions(+), 2412 deletions(-) delete mode 100644 app-editors/atom/atom-1.15.0-r1.ebuild delete mode 100644 app-editors/atom/atom-1.16.0.ebuild delete mode 100644 app-editors/atom/atom-1.18.0.ebuild delete mode 100644 app-editors/atom/atom-1.20.1.ebuild delete mode 100644 app-editors/atom/atom-1.21.0.ebuild create mode 100644 app-editors/atom/atom-1.22.1.ebuild create mode 100644 app-editors/atom/atom-1.23.0_beta1.ebuild delete mode 100644 app-editors/atom/files/atom-1.13-apm-path.patch delete mode 100644 app-editors/atom/files/atom-apm-path-r1.patch delete mode 100644 app-editors/atom/files/atom-fix-app-restart.patch delete mode 100644 app-editors/atom/files/atom-license-path.patch delete mode 100644 app-editors/atom/files/atom-marker-layer.patch delete mode 100644 app-editors/atom/files/atom-unbundle-electron.patch (limited to 'app-editors/atom') diff --git a/app-editors/atom/Manifest b/app-editors/atom/Manifest index 6b7651de1acb..254fbedd8b79 100644 --- a/app-editors/atom/Manifest +++ b/app-editors/atom/Manifest @@ -1,66 +1,33 @@ AUX apm-python.patch 388 BLAKE2B 1f3187b4219bb849ce87fd83dd19c335f9c163c63a8660b552235dda2a16b3247c56cc82c17eae7bd7b45516a8dbf345332fb0d22d57589cf7edcd4c448da27c SHA512 5d280b2a37c8f1b03156627c1622d0a5c76edda7523353b7b60e6ba563f090e6472eae318689bd964cc98503a963aa591d3ed37929f1df36f81ab893ad437f21 -AUX atom-1.13-apm-path.patch 549 BLAKE2B 23295868dd2b272809aa42bd3b02228b0b795bce9a0f0ce4bf672fea53080644c44a84c4fe5a7659d8126dba212dde6361bc9d41def1bb5e69df17c025cbda8a SHA512 050072d0a9db19c44a7a4c3fdbbe2aa5e558ea133176815c5ef796b1d532b1691dc1b3cf9ca5abc119653de380d3636d963da37bb8652ed560b052c1802a5a44 -AUX atom-apm-path-r1.patch 522 BLAKE2B a9e50d00c0e6b1c359f0a801fb2bde549028ce9245c34c5c66886797c67ed190c42b319a847053e2e32530a08aeac5131f6823751ead057783689d47331d1667 SHA512 48a1d40cded6c4c2875c03867d98819e27da1af6f9ad171836598d3f7a687eaf47a1621397f186c8ebc122db77b24432b68902445d5ff9e641158d5096fa7892 AUX atom-apm-path-r2.patch 537 BLAKE2B 68f5a53be36f34a4953450f6ff466bb00256c028adf290b3bd8c63b966c06dbdc9fcb6a12c95172aabc9010f0b1a4c6522390a4ad6012a0f60e11a38a61373cd SHA512 1172c72c94d25538d63e04202f273b87f794431847d9b1138d4eb43d4578d47ca1ecf2636170a8648eef2afaf01a35114752ebecad2b9cd8c7d4ae04dcbc741d AUX atom-fix-app-restart-r1.patch 402 BLAKE2B 95c61f01f11751fd00cfee81c39daa10e06268f0cb4bf37787be89ce8965d765bc7f7f5fa36b226412c2183151481456661b09faa866e9a929856061f41e7b5f SHA512 6218175e2513f7afdbd6ed4875037929e375fdfd84683f84430e387bb8302aaf472845d74d46f75a79409b867a79b29f06ecfaea4a95ff48d229d080dc74f68f -AUX atom-fix-app-restart.patch 422 BLAKE2B 89027ed59248e6e72155abc41a8a704fd90c02a59d013ea393bef26d9ab03580ff1d4fdfa10170f900d3b7ca48332a219fc9972711a093712fb42b9f1cf824f2 SHA512 2222c7aaeec01394286adc34337ab7f38e29e3b956e4c85dafe97654c85c0d68bb8bcf8b0e198faf2ed6329eb8236f7d16359888a439fd0c110f31b3a81cb7e9 AUX atom-license-path-r1.patch 719 BLAKE2B 72fbead68a55b5c013f353320581aa431a188e6676b17967a4024de6302e651e0d28ba1efab7689d5dc62014e32d0e968821a6660a530cc5a5d500f2fb2f85e0 SHA512 2909f47f37d065afe5ef4fd86b8b1c01a1a4d4f9f03e7c762cfdb0f97b53ebec2eaa803b34273bf3401c5a0e1faf03ef10c3caf6f96000d1786883cd08d7b964 -AUX atom-license-path.patch 739 BLAKE2B 47a6e568845ecf9533f7de4c18f72c0abb75d31e179016acdbd046fbac12d33d502ae84801efc87d6f5049f800885c2cdf55a8246db81ce18ce4bbb9355bf1fa SHA512 42ea90bc11af092c9b7b0a7150e253177ff1ffd7c68d9f343255bfd4c7da7b80d76a4eab5af9cdafd8f8916d5eeb7286c5c1b7a986d92d38be25a7232fa8c19c AUX atom-marker-layer-r1.patch 418 BLAKE2B 4001c4e8bd64cf6389bb2f5550e5b243fb0fabb0627e76e70ba8c863a3d9be6b2412cfc6dffbb3911e450484d636dfc705f721ef16654aa7c435d5cb2ad0fc1e SHA512 c8bd34e4747626642a57596ef36c4ddbaee36273a213aa4439d0c64557084c7c5bdb25735ffc3c118533ce43dbf2ad638258c29b52a58a28e417163279ada925 -AUX atom-marker-layer.patch 438 BLAKE2B 271d7e13dc932538f0179b4f6a6e1f25799b51dda8888ff0bdd12a3f761483d2d9dd96620e8b6855d4214122be9aa1de57c69594b79b82c28f44b3fb376c0d45 SHA512 360deb58fbfc0ab4659ed3ebefa6019f72b40b9b6e0abdad7a9b071f0d2be2da1d770542aa886b09a79670b218cd10282f74b21dc2614d564e41310c4a2439cc AUX atom-python.patch 168 BLAKE2B d836061d772d187b039b9c88f8755cfac5d236a2c694c34fbd0d5a1a79fd9792c33f52d3ba54d085d6a7f375f309c2d5b5f57be78ea426b1e13fe2d8aad8e71c SHA512 813e79528fd2e814d8e4c5d54cf4d59d2eb7f82683669b787604c713a165b8ea952fe31012c8cf0a208d3ecdb8fa7fdd70c9abd1090aeae549f9aaeb713be5ee AUX atom-unbundle-electron-r1.patch 1531 BLAKE2B 51f0072ad40e5d9268d9dbfc107201b8518a41a6272fe026fc612d121e109c7bcd5c6781b2340ebec4bff1e8030eead44018b825421bc1b094a95d072ebb2dfa SHA512 40f3f39720cd801f28d1d9e8e202d51848e7f5667f85c543caca623ad33b088b49cf6d5383dcd940448d4247991aaf1a33e868364830f000619856e39b4ec443 -AUX atom-unbundle-electron.patch 1516 BLAKE2B f5fffd1baa1c18e3bf9ca0ce55878d756d93a57349bf2fa175518771a558012101ebb0b953c4459f3625a967cf0e0edfece2cd3ff70ca4c14ac666b8e308fa5b SHA512 96cf2dabd26e3a81294f1c1a362893026756e2ef3c9f08f82b5c7e07b1d5469df2899e4af45aa200fbc77ddb56aed84e15ca5065c2a693f2d2b04a675471c945 AUX gyp-unbundle.py 3933 BLAKE2B 638bf2ad17c5e052c4b1972ac91a1d0d6b0d9d361cb0d04c3e732c892af54a30b099069ac4bfb0f8882ac3d049c25a53d698cc95aeb23a486d92284a1ac21376 SHA512 5de7aab9b2fcf135fac5429a2655acfb53ed40871ca51281be237393b0318b06339d20af196275bc48acac456eac61e884821da7abeefb9991bf2502d2835cfe AUX transpile-coffee-script.js 589 BLAKE2B 0fa75fef95437d8c2f3eb5619734b577f843bd11ca4cfe96174408315c6defb57352ea29a22b69d0d6f1e2d01f3515e65cde2793914c42c60a28e936046b0304 SHA512 383772d0a8df6ab3f4950dcda87eb21222d71463007e15cf54c768aedcdd06d4791bf92660c042542aaf2c6fe283ff33f8e6c60488907bd309c450712bb94496 -DIST asar-0.12.1.tar.gz 1016626 BLAKE2B f3e2bee6e844fffcc19150f96cf4b20b5f6bf398d9c4c89f0527ded20478ad100e9fd1eadb3685ad05853b07b0e084c8cdcf99bb0d646e7f7acdcd9e3e9ec3cf SHA512 fc64be9b11215426d405f7acd7adf6c0eead3135b0012baf6d168a13c77675058a4e2c60682928ac014e4bef4538d452ad745d1e87dd315387997a19e04718a7 DIST asar-0.13.0.tar.gz 1622264 BLAKE2B 018bccc3d2b54040fe7c6e6c1ecfbe0ab4d52554feab78fae41a09d35b7e934720cba45f77239eda46d746390c4f072b3e0eecdf7f0953882d6f27cb940de018 SHA512 619b59e9576a185905b455b780630188ce32aed72b424c69967a7bf15236d1edf2f5d92f7dde972599679c88fe0a80f05295a3d82b2ae0944be08d332a659aee -DIST atom-1.15.0.rpm 86561729 BLAKE2B 4b76613c955d0ad02d9bd13de1a969362b20bc7bdba6b912395c4a9de48d4130a427f6d0432411cc5acfd40d328e50c2461c847bc5c8b16dbf44147728491f9b SHA512 e8f5ceaae020f9fbf8cb1ffbef0f64b7b5d23a0be20d063591e3ba3b9fd33c771a028aca9aa0ecad254e250342d40106dac85bf6bdeff4de64da0b57fe6de3ea -DIST atom-1.16.0.rpm 90249819 BLAKE2B a01866affda5bf206b1bec7966e35ca8889a4804f4972da853913602c779a5d6e3479cba24273a9e6e047cca403dab06fd19a07152c1e6b00783aa2df89eee29 SHA512 e3e9096caf6d5ca802ad47e434a6e8a51c0ab25b967747621e2ea4eb440d5401df3b7cd3d101d6d5a1f2f12fa77525e7e54e252438ff24ec9b651601bb7f4d97 -DIST atom-1.18.0.rpm 128551353 BLAKE2B 535016084340a347453e83120bde96b2100d5819f28c267caeb9dbe8f54f8caf455ccdeb3a20b7e5c8392170a8facf106e642efe5037e4c0d16c6a713cf73fd0 SHA512 c30df4b3c10e2e886c349a8c255ea6e9e308b38811f02b2517ba464959a873d159b5fa4fe89d68ed50500038b92219cb061d9dee0917b0b807e086cceec2803b -DIST atom-1.20.1.tar.gz 9358859 BLAKE2B 5b20b29656ec70b4f885bf0cb2209903c3e344913acfb0802d25b3f6d0415c87849dd42a4d6515467c4a1e511e24e19487395f6f984161760077c8f4c34c7623 SHA512 a7f9edcfc84b81d768a92af5967a6889f85155c46a623b33e51999706e22f411ce570f42777fb3015174611ef19a956d8ed336ab1172612b27d75de8ef9c96fa -DIST atom-1.21.0.tar.gz 9378180 BLAKE2B 3b2706d8b3691ffc2e55347ba415d5ff1a9cc085a6af92cd581f04d5288b4597fa1b83a0bf94b0e0c6cecca61d9be646065a5b3b27465890d63cbe173f47d81d SHA512 98afc286afc5ad46a28c3db7bfb7857c15a87711dae6b07046cd1aae5c7c2a30be847aec9eb779fdceaeb7e4f86f54ffd1262d6f0ba2d5a6c1b7d4ce5b8d2104 -DIST atom-bin-1.20.1.rpm 134506625 BLAKE2B ec25844e31f6d146a973698872d5141abab531e625312252bb2b5d2365a0daaf28e25e2cdc54c899582cb503b6e9b2705ca4d36ad7160ebc16d779d7ce7c6a61 SHA512 7bf8c4b092e0b45d56c5414d088633ae016b5564a7a97e1d706ad46743b6aad43a7268b7ade881680fa5f005eed0f46ba1523909a09cf3ec0aa51ce2335b8d92 -DIST atom-bin-1.21.0.rpm 131039632 BLAKE2B e155afd174896c7fee40f8ab6b3c25b49d1b1e023f63aaf3da4e0ea2baa68ff2dac65e9d6f9349f9ea1895675709544916ec04a947411de6b2a514f1507ec400 SHA512 8425b8d8741632e9fcc28127c8f2cbe5901c8a4a3b2a8a1cb5d4b1410374a841241e90939952db749334c829ac541925b3785a787c60adf32cfdfa5abc2e3b8a -DIST atom-cached-run-in-this-context-0.4.1.tar.gz 3855 BLAKE2B 38a52632b94bc803a0ba2a6cd05a58443e2ecc5e780be5b51f500e4b6c06f03ec3dbb01bf2beb02a63f55ec6db21c61642a821259f090677137502c73b866fe4 SHA512 dca2a6c77bb94e704aa99b405ae017bf0c56ce536a7246a8feaf133722556d444fb684cd6b9b475abcd0b946a42073a9fc0d61f5141b564320ac023ab2fbf79d -DIST atom-git-utils-4.1.2.tar.gz 36492 BLAKE2B b8cd425395a77e3f82f6d0505d32737f4e4630dc8f2f5ed6f025500ba377bfb0b90f2280d5b753263e98be2e978865e5bf470933535988255f6cd6ab5e569b36 SHA512 d1f0a5bbd6b059131ccf4ab92174d80caddbb254ea6d0676a5ce71d7dba55d60c86ed1c412862b9d104a5f6deb2671facad84841f9644afb9b37416b743e917a -DIST atom-git-utils-5.0.0.tar.gz 36545 BLAKE2B 537dc044d1f471af5ad5d9befcc7a6c5e4e2a68c84f97eb1fd76a3d608ccc2b856cae6b939964d2c67c367b25e076f3ccf1712f8dc073b5196409fda11e99287 SHA512 42fd7589ca56049b1ad5cf7f2df7e295fc8575f4eee8a562fa103541157bd487c1748e3d6c536237b260dcbb4b530619dfcc121ba84b6d2fbf6d684dc959f819 -DIST atom-keyboard-layout-2.0.11.tar.gz 19294 BLAKE2B 9f3749b9c46383cfbebed98416ea1901219c857c25225951cdc0e55c4bc60c9fe3d450d3240cc72857e75593c92749f25ce5f5ba975113c302c263714115d29f SHA512 e7cbf3e8686ce6a86549d913523db75af623d4c5a18104f911b7f3931c273b87b4695b9b85afaea9a5cb440201b34d9e7445786c9328b87a5b58176cf2dbb877 -DIST atom-keyboard-layout-2.0.12.tar.gz 19605 BLAKE2B f0c4c966e0469cb845c524d65318dda572f2c3461e6416fb9bd783a0e67e1dd0e242909cf004edeae6f00426dc0a40c0ebe7436a0c2529d382a10e0f23fe12f4 SHA512 ad6c3f9289ec015406fb85fde5e6dd5111b0fad70ec311df2d26dec257bfff674e65ff0827025b1394f3773ddf6957deb67fa5dba647d3bc5485b928b2cf966b -DIST atom-node-ctags-3.0.0.tar.gz 15062 BLAKE2B c27c883dc98da78e0eb496bebb2848276f9f0ecfc41974cb22ce1bada648f1ee4e304322650fc02a59d98d8e649449906c44666a0595dfca171fac3e2a2c64fa SHA512 6f7277a0ff872991c365f811c635fd881c3e466c20219d8a7bdaf6fec7c26c5feaa7ae2118691a8d52ceb3ecfda6d795bf39dfda7f8df5a6d02388575a010f87 -DIST atom-node-keytar-3.0.2.tar.gz 5718 BLAKE2B be80724f87a8f07b57cd44b5cd77a8dd383b38bb6676c7bb23cf4c469c4f5df919b474d7aa79d15305529f79c777106155857a2bc4014a7f1557c59725bebbf1 SHA512 f08ec6e50071e6e8995244607144009eaa8fd61a1724c80c40ccfb497e2b4682b30d6a091de9480b78f49ceb11f1a655e12ccb6b43d3df34f7e089585381697a -DIST atom-node-nslog-3.0.0.tar.gz 2774 BLAKE2B ddf49f9f27986e70c9f5a446cb8530ce3c447aca4c2603a1be67b24e82c8628b4181711539504d0af829082e856c6d8b644afa13e513a949c70d706874901459 SHA512 1891632486acfa014eec79f70b14d56d967670310e46dedccfc9dfa505581365765f6bd42ad538b29e74d7c7de83d045b4199dd634fc588734a1ee086dcddb0a -DIST atom-node-oniguruma-6.1.0.tar.gz 661394 BLAKE2B 60ac2a1c5ca0584399afb6dafcb83fcb1fc271fe4746c111b1fe29a69e9e0956a0edaea54259e25ea597b8d10c6ad94e9e738fe06adbf5a23eedd35a271c310f SHA512 6443881353b61ad59d29cab6628f07d488e54df7b5a04ddffe4de11329e928b2a9cfc7582e22e0a90b6a3c6bf0e37873d8a5e34036cee5f7187ed4ae11fd6507 -DIST atom-node-oniguruma-6.2.1.tar.gz 662040 BLAKE2B 0372a0238978babb72b1f874dc351a313b953cb12869cec1dc2b0cc9c5dca7768518d907e2d4b616efb9226d7cf41c8ee2ac8ece6813d2a502eda157393b54a1 SHA512 5a7d601f58957eb2cca879bf1dccd32ba6be3d6728ceb7926ee9944e23d981d5a8e70a3cbc1ecb7a99f130760d0c8513539a00bbae731b49ab9cef18aec2e6cb -DIST atom-node-pathwatcher-6.8.0.tar.gz 24627 BLAKE2B 5e1fab25b54e3ebfcadd9a938b5066fcec7089401698d0df35b5e3346cec4be00a593bf5c1f8be380b7a1216b0b2740c0bb047823e6c845db9cbf6951521ac8a SHA512 ccb4d1270ba91cf31c5725e985b7bf224a8878fbeeb5fd2e78e22de7e25d382fc5b1c9e05ce1f2c23968d4ca3018e1db611c9485dbbd6eca2169228fb0a136e9 -DIST atom-node-pathwatcher-6.9.0.tar.gz 24821 BLAKE2B bedd1bb454f8ecc040acf03aadc4703eb9f3a9291ed734d85e060f9bdfb7b142d14715cead34ab6f2230a55c40237ab708067206ff9c7894c94168905a61af7e SHA512 fc2842a6ee75981590b445c4f51ce3f44baabee879377397d5bd4092964c21e726be44b94ffd751bd496d66963fb71ff59fbdf9f9fc9c3f7cd83af1fd5d65fb6 -DIST atom-node-pathwatcher-7.0.0.tar.gz 24822 BLAKE2B 6d8d6bbff6c28d283eac8ef8d7d6a27a4373650ad579589dcf2065933d9690c8fb818959570e5dc9cef3437fcdd5a9ff3978e6c21e7890b3fc03b49ee825770c SHA512 c6d72809b7f07d31f8d1624d6aa7565d8db6f4844febbedee9cca16cfb258bf3f55eefbd9247a0ab3f732d5e7433616e25d9adf5692f382ce3129b0963228bde -DIST atom-node-runas-3.1.1.tar.gz 6628 BLAKE2B 00f2c7aeb5c60c238437e818a7eefa5f8ae382e67e418cb9a33595326b04fa6de8fa1278205fbd619877789d8743d2c366c0c5fdb9b1db1dc2983a75269c1a4e SHA512 bada6e99ceb833c8c6e74f4b3116c49f21b54b922c1a27668312552779b9e5ccebf380b41c781d49c1c0dd0fdff6de8b71a0dcaf1f992892593e85f4572238df -DIST atom-node-spellchecker-3.2.3.tar.gz 481966 BLAKE2B f5197f47ee60cb88e0fb2a2fde949e2c45e177ed966d723f04ca26ac38e1f171e8fad74d2451ed83da02e0a9f06dfe819196d3743acaeb38717a0c2463874327 SHA512 b0209fdfcbee53d289443e1c203a720888a82fa59648b4038c036c6afe68a6b04624e23267e69c36f23c185160d6ab84b1e4020047fbe6d94354e99d717a60b9 -DIST atom-nsfw-1.0.15.tar.gz 45222 BLAKE2B ac8fcebf840afa1f3357a34d53a7289dc37ec0d34b8f16fec2a5228fc0227210a957d31dfed8c3862bee0def1e76dbc06f04acae1827c874121cf9390779d8a3 SHA512 dc2337caf6f82f0cd205af4bf92bf7d28b8eae091f8bbfb41f4ce6a4fe20d8ea4c793d1c51684a34bee2d264c420904db73992dad78eb6d6e584909c28a17746 -DIST atom-scrollbar-style-3.2.0.tar.gz 4609 BLAKE2B ae931b9a95b5bfac619e5737336671e41c782279e2db6c7c5f3cd4df6d227a28b0fcb04e4b5e1372f84176da7be183aff7c4b655e2903935dfad889c0133e682 SHA512 fc3ddfe7582517df45d7258a5857ca05fbadb92417d68b0c77d1e89e54b3bdaef3a1624e29177ebe64a2a994e62e1d1f5cb438911e881124aeec359426fab1bc -DIST atom-superstring-1.1.0.tar.gz 259961 BLAKE2B 7474bea436e8567ca4412a7e6e8dc7a37d35931103cce2fc301c7f7beb6c606011c936cef7db5532a26fc919a97a794af6e1599abd0fb407d6d4a99a1d606efd SHA512 880c97d696036065aeb4320dc71c88b49b22b04e6582c75310131e61d8067fdf3d26c901d7b22a2bfd2a2a2056f350ba9485b7e55410cdee9ef29f5a75a8af59 -DIST atom-superstring-1.2.1.tar.gz 264386 BLAKE2B ad2b19ab97bbf52244f08aca74a3b429829a40492db0761a4cc21969c060c042d018aebb4013e46f399a4474fb8a8c1170b16323a0f589dc612d2d2a9d4c4d12 SHA512 8641f44defb9248c4fd91c4c7d5117322f83613386693ab51c3e77c9ad95ae383f69e662b6a870196504d7d99cd23527a822e989babdd95f42b6ddf517df7afc +DIST atom-1.22.1.tar.gz 9541647 BLAKE2B 8801172da7b59dcf0974dc916e83633d52de8419b28db46578851d528dfce55b8dff1103e8e485a54203a7732e9288254d4d1b6ce1328d5e7340412e45fa14be SHA512 fb1a27c59ee6db8c659eb91fb397def3c05bd094b8a0614eb81a0ffabddcd61d480783f37af303773a9a9d15712630966ac162f3978e00ea2d8f8ef1ac78191a +DIST atom-1.23.0-beta1.tar.gz 9553918 BLAKE2B ed44c6fca17bad667da145e1bcea17ae85330f4bb0dadf886c7b9ab929e3f580cb074532b0cc60f96d75d4d2bb68fedd7c25c4569983d008a024575a6d9b21e2 SHA512 3bcbe9ab9090eeb26cc6f121349c2c6bc4a3bdd58c36b7a2452320dde851bb0e2e60ed8040f406ed560cfd1a3cc217f220d98755ae50b8b81f123fca8e33bd44 +DIST atom-bin-1.22.1.rpm 129683452 BLAKE2B 7f408fced77dd1a965521ca7d905b568c2e5c9db19f5948a7c4c711372d53dfcc9b0988d5ec7c1ee748b1a1a3edc7c8e1e7cb919a223069263004e8683694404 SHA512 bd8305a36a8f6755907de576fe02bba64fcff08f804cf22f784323f58440d7c5b251d8da34c74a679c2d7f66b5afdf11c897337a314e829e2b5f06573ef0bddc +DIST atom-bin-1.23.0-beta1.rpm 129888621 BLAKE2B f32ee16773fcf4cc956fd21adb6c3a03e2ba07f2c7ce4518e2f2721b1cf6051bcee01934d657ade38050b8d4c2049d693bf53ccb834301e71078a81d6f2e87d7 SHA512 44c19db7452cbbf704950e2ce3347fa52525f44563744860061fd07880a7f7eaa958de8c954b634df7055c26953a99321c1aeb332cbd290d86369d0e3a31ccf9 +DIST atomdep-atom--nsfw-1.0.18.tar.gz 20870 BLAKE2B 2e90e2cc337b2d40805db44c48a6f9da2b4e749bd5d036bdeec78790286a0d0c7e4536a8d461480b91c45552ce1f6db06e6f70f975e52b2ec90146714c4a0fb9 SHA512 61c78a57d6b75fada687843bf0dca2f1a4d16a8546769789047a202fc831535ee206112962fc4680c7d37b4da3d611f6b5a153e1b6ab919e51759906288b09ff DIST atomdep-cached-run-in-this-context-0.4.1.tar.gz 2388 BLAKE2B 9cf59f69c3433a9982c1dedf58c03eef5e1ccf1275f92ed192a2de601f38caceea5926e9b3a8571e2124b83e49c99a14f262db39a44732e1ff6550d6cd46d500 SHA512 942db40139b0beda616a25628772e515ce92ceca3e9a5288b10920e68c35149c52677a975e6e30f278ec64f06ae341fa1fa00702b339b2fb8f7af1cf9685efe5 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-git-utils-5.0.0.tar.gz 4147470 BLAKE2B bb35abe46aa96791f9b79316edd64a31fd8d0bf7c34bdc20e4a5b3bdaa2e4f2a9e833d28a17368c3f23935e7321339248968669ad9b1599a99c0efbeb558099f SHA512 ffb2ecf8eb89f7e4cbf51e5953d4e547c4ccf21985a6177cffd5f958433ac7c98d36070ffea82dae65b02bed53c49ba94fc12fb4823e1ef985a350726fe46424 +DIST atomdep-git-utils-5.1.0.tar.gz 4141959 BLAKE2B 7504a4ba57b093da659ed0ba7319863636d7f9f1e9a6a4bbd4b6c6fcf9922c9ca32398b44550e4a94d519471ca5cf249976426583f998186398c147c6cce5636 SHA512 1f9c38646b25a526c0399d538e58864c552d65802402df82f8303a936374121db40f61195ea3254e56e31dd9d25b847b325264911f62d6beddfc24931a9367bf DIST atomdep-keyboard-layout-2.0.13.tar.gz 17881 BLAKE2B e86a399be545a43768a53d5d9279dae1bc4d87fd99af87a10861f2e3367d6786e3631f8dc77671b08b06e30290f2c97833402e3732a010ae31c7c1c02d9d6afd SHA512 5b155cddb0484edb47a334b21183eccabe6b376290b97b4469732541f4231337b526b90bc37d321ff6dc367d481b1e3c6feb5d39dc9ba67abef8914b53615a66 -DIST atomdep-keytar-4.0.4.tar.gz 6550 BLAKE2B 3195b13f0a611acef28447fcdc46647110f12acfb1a6a47076cf5562724886d2b48307116ef6965bc68b71e58c561771b51bc6f3900488347ef69a07aa1038aa SHA512 78544e3646ce0f772a9adae055e137034d4b0e83bb8b95647a4efe239bf4bdf863f05317f4b37b0d2ac89e6a6e0107abd0022ccd7abb4310a39fa1c07982b4d4 +DIST atomdep-keytar-4.0.5.tar.gz 15594 BLAKE2B 3ced4a3eca1036ce21435473d013bc98537959d8488425581089c230b3e6ce276264754c607c29adf9d9d6272bde10066b23c7de502030c35ff2a5d907b17a4b SHA512 bd4dcd75517c057bacfed57490b9c1614f52169cc786a167eb1b391bf83845b23cdc53e20c72e7902140a5da7f865ad8bdc2d456063ebc1b86f6cb9fa1178929 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-pathwatcher-8.0.1.tar.gz 18357 BLAKE2B 8e2b86da307757c352d0cab5eff64cc31e6745bf10a982f6ef11a0fd92eeeadf5b438aaaaa00e679100600691e59ff7aa7badf33e62c33a2497b5573cf7b4711 SHA512 34df8fecf456753f1977517018e5ff78b143f2d36e1417435bfcac2f9b9f8bd045a8080e7d0ad5d2930c63fa110c539911447863c46e757a4bb8f8c4f5bda999 -DIST atomdep-runas-3.1.1.tar.gz 6197 BLAKE2B 4625b085aa280a120ab66d295c8ca90c59151c65c3f3798b462beeb9f4bd9821022c4fd3a85c49828e3dbca06df730f1f49605f9f25f1cbc6ad715511e00beec SHA512 29b01d8a1bd05f7f0ad7cf4472f13d12ff27524d44fc0c2ffcf87c187633ccdd5a2d9ae6af2a771eb8e2432b6a957451ea6a6c68d15aa861c4a29affac711d79 DIST atomdep-scrollbar-style-3.2.0.tar.gz 3498 BLAKE2B 2d1a88f2764b5a51da92e41f5dd5424a4ffbc13ec9b2e826236097ff7ebb0babd22b4e4cd00873e786aa52d901eedce49bd102ad6398eda614734bdd78b8b4e3 SHA512 9f5fcc2bcb13cb81e95a52aa6db0c99ffd67c9cd48a9faf0223587359f4082c3e867cb384497dc6be3e8230b4cd035e910a7048d431e81a28dfded0bc572da18 -DIST atomdep-spellchecker-3.4.2.tar.gz 476093 BLAKE2B 17ea32be639ed3ea03593e8c29e0970068f36a0545edd9c962443b4d6d4f6d8954c09d93c54ea348a396d10b7bef743c7f25a5cbab7a449c9bb57b9a38886528 SHA512 8ed6fa4251cd79de6e77004ea91a438080df7109ebbe2c92934366c34433388bc30c8b1ebc97a47aa2a9f3eb28ac5ba2ccf3a0de9d6f59b2d3125ff7ff2c06a4 DIST atomdep-spellchecker-3.4.3.tar.gz 480739 BLAKE2B 5549ca23c50efc4573cb990d8cd79bc564dd4890e8509915e89173c8cb49ed0f9d17ff22c73f61e00487f9a09de3e6b0de542a755fa3eeeb2cc8bd766016ec62 SHA512 cef2aa6adf95772f0d38760adb9a805ad540bfb422647486ccd63db7afcca508eb821b6099d9913912dd1b0881f3b5ccc62d203f2ce6bc47859f36a76c781376 -DIST atomdep-superstring-2.2.3.tar.gz 785373 BLAKE2B 01ecaf112b76dfe4957a8ded5af23d1dcdecf5ed92bda20ee034c1b1a0516d7f9157d7c8ad21bc005e14a00115b81c8dca18296cc01dc3146d58adf7c96e9ec3 SHA512 edb71f4cc54436f563b6491f71e8c6c78aa711d1da821619031062e5e85fd60d66f0bcb6a70184b1fd55f31724d63ed9ba9c872d6d80387710262e404541a355 -DIST nodejs-nan-2.4.0.tar.gz 157071 BLAKE2B 081881da40f1afa8dfe7edb9db7cad0aa96a8057f2b13a21c7a9eabc514e10da5837d4f7ea5144b78f958f1f14f38a944a475b23d994f94def72236a89fec80b SHA512 e6f3ab3f67c72b3cc9e6e6b9b5de0f73134ef504dedae5e68376198858a6796f00c35869438e0480f28006dd8f6be13dca3bcc436a1a6b28b1dea5cbc72f9e45 +DIST atomdep-spellchecker-3.4.4.tar.gz 481892 BLAKE2B 3bae26ffffbaffdbac6f082c6f33ea4f5127583663e1df3ed8d98cebed2ce11ea0d9965615e369383695df6ad55aa996e8968e6616415d359ffae640a679f47b SHA512 974b3ce9866ce7e3f30137856ea0f4b1348c105edb833a94620c6b53cfa7052c37575f6dcd160a322fa10c61babfc32c916786d9d44ad10efdb2ab3578620ac1 +DIST atomdep-superstring-2.2.13.tar.gz 793833 BLAKE2B b5e8003c25ec38da1eae92022e972467b33ab45ea9db918a0acae6af10abb8a48609d76318558d327d013f65ea01888450ceb991dbfed39530ddd7076f1cf995 SHA512 9e2ce1ec9dffc0ccd700ed4b2f069dfc6cf258ae842dfe7a5242db99c0899ad77a692d2697695c3ca6d42cf4b9c590e9f29f469399d519029052b7ed806b39f8 DIST nodejs-nan-2.6.2.tar.gz 161949 BLAKE2B f74e8d56e67ae03e60e0be7752ed9527bd8499c01f7df8899f3eb6735b1286633753e8bf595781b6d3d1446df20483fc0377bd745be10c6bae0ad66426751b79 SHA512 d1b5ed12e90accfa117cb73b9432897631ed2dd6045f93fa8b53237a13cec0ec467b14c035e9e4d4a5c6588949c1c80b0eef48a46d5c9c0a1f81ef400da031c3 -EBUILD atom-1.15.0-r1.ebuild 11170 BLAKE2B 8b5b90101ff3736d7fc399b3ac2a7226649ee4dce65a578b1b2b457026de8fde77ff401168039425ce8a68c5449933cd560eb0dd5b54831194ce74f469ca00a5 SHA512 697a2e56a78cbcb408fd5b695be249ccb08e5836a6d2df541684124f537850c2a502a74135b22b6c9910227a471581d1fcb564c49202ec59e335315403973189 -EBUILD atom-1.16.0.ebuild 11170 BLAKE2B dc17873a7c2d536a36f652b5133ede0a0c12bc63a119ec4f828ba86ad12b74f5b97ff188745b6ed9fa98f1a8646bb8533886de6ba5ba5573ba8fc95b9efe532b SHA512 f90bb70d4546c829688023724ba35711dee8b51242febd2312ec620c2b523b2facdcf0fa55d6742dd75786560cc334b69a83b42512743e6dccee1944f5918da8 -EBUILD atom-1.18.0.ebuild 11318 BLAKE2B c749e3d40f03abc776b5997262c597065063ef680c1fa429ed0f2f3fa24a08775a35d45344ebbd60c19d261834da6d7763764b68d3e595b0e15e318ef6328440 SHA512 cf1ef3657c5de8f8e69666707f7daa95c3c45a368c75fb547e33df51c9a8307df27bfb1f400772bc98f897d965e02f11508deb5e49fdc88f36dcbcf5cf63b121 -EBUILD atom-1.20.1.ebuild 14217 BLAKE2B 0d68be24f9cd5599aaf57f6b7ff5d20b993cf2c0034c8532048477aa337d8989c05e81238c981a8526eb664917e3bb9ee6f76d1d9b288283ff4f23bb48b38842 SHA512 9732c1262cc52096f05a0c6c29b3d0b2a55cda3033c42c0ecf4051194a79971896e8b0d58d5a859074747353483b7e5792ded3e4f6de996c2e8934b8b2a274f5 -EBUILD atom-1.21.0.ebuild 14421 BLAKE2B 27cdc3b740a8606280777775280572dd52505f8ed5b9660e155af9527d32646f27d978d37b99a19748ca969581ea80a631aadb13e2d5f93ef1dd9acdee607d07 SHA512 5e02034c99fe1cd38fb04a7a4dca907c80ac07db45567df5a89431f42404af6f0ee3c2707e697d18e0b4bbb4671feb37ce3c6688a347c5f876117f5ec9d7608d +EBUILD atom-1.22.1.ebuild 14818 BLAKE2B 7c4c829f40c4128660bce776c35ef042cb723079d571cf3da483532553b84c2dd4803b3fa875dd59571fb166d6be239205a8fe8cb0cfb12ef26d13176d143c32 SHA512 95fe6e96017212b33e0ee66d1a52c13a635455f702aa3c243465283fdc91e54888f5d15dfd0fbb4abdb24118155575855f2403c34bfdbdf5aa9a51a28443f171 +EBUILD atom-1.23.0_beta1.ebuild 14821 BLAKE2B dc64da4d4a26854edcb2080687f90c2507fa562e27d3fdab19a78174810d5d44d945454afd543b2eceab5d32ebd7aafdb4ca43a2d032063a9296b7c295303275 SHA512 d5553b644c8292f55ddcd917136c309093b15d16b21bb9f5d02191385a407e2db856978dbbacfdc5f736886ee1474238d4cd3d2635aeb6eb9334eed6adce9ffb MISC metadata.xml 531 BLAKE2B 75dc8465fe585ee047f3e702b40d1e951759c67b28e63cbba370813e34c5213748529022dd3ecc8477bedcee3657f87ce162bde4984a3d4afbe2b2a200cc1060 SHA512 ba84d0e101f6d53dbd6abb0e441d426bfd04f890331bd5357c18d7a34eea903897a06d725f45d50d95a645018f5ba6b519be07b7dd1ba6cbcfb30bbf1602ff12 diff --git a/app-editors/atom/atom-1.15.0-r1.ebuild b/app-editors/atom/atom-1.15.0-r1.ebuild deleted file mode 100644 index b564d861165b..000000000000 --- a/app-editors/atom/atom-1.15.0-r1.ebuild +++ /dev/null @@ -1,405 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -inherit python-single-r1 multiprocessing rpm - -DESCRIPTION="A hackable text editor for the 21st Century" -HOMEPAGE="https://atom.io" -MY_PV="${PV//_/-}" - -ELECTRON_V=1.3.13 -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.8.0 -NODE_RUNAS_V=3.1.1 -SCROLLBAR_STYLE_V=3.2.0 -SPELL_CHECK_V=0.70.2 - -# text-buffer dependencies -SUPERSTRING_V=1.1.0 - -# apm dependency -NODE_KEYTAR_V=3.0.2 - -# atom-keymap dependency -KEYBOARD_LAYOUT_V=2.0.11 - -# 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/superstring/archive/v${SUPERSTRING_V}.tar.gz -> atom-superstring-${SUPERSTRING_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 - superstring -" - -RESTRICT="mirror" -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] - >=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} - x11-libs/libxkbfile" -RDEPEND=" - ${DEPEND} - !sys-apps/apmd -" - -S="${WORKDIR}/${PN}-${MY_PV}" - -pkg_setup() { - python-single-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//-/_}" - local binmod_v="${binmod^^}_V" - echo -n ${1}-${!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-1.13-apm-path.patch" - eapply "${FILESDIR}/atom-license-path.patch" - eapply "${FILESDIR}/atom-fix-app-restart.patch" - eapply "${FILESDIR}/atom-marker-layer.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/atom-1.16.0.ebuild b/app-editors/atom/atom-1.16.0.ebuild deleted file mode 100644 index 1af228834d83..000000000000 --- a/app-editors/atom/atom-1.16.0.ebuild +++ /dev/null @@ -1,405 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -inherit python-single-r1 multiprocessing rpm - -DESCRIPTION="A hackable text editor for the 21st Century" -HOMEPAGE="https://atom.io" -MY_PV="${PV//_/-}" - -ELECTRON_V=1.3.13 -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.9.0 -NODE_RUNAS_V=3.1.1 -SCROLLBAR_STYLE_V=3.2.0 -SPELL_CHECK_V=0.71.3 - -# text-buffer dependencies -SUPERSTRING_V=1.1.0 - -# apm dependency -NODE_KEYTAR_V=3.0.2 - -# atom-keymap dependency -KEYBOARD_LAYOUT_V=2.0.11 - -# 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/superstring/archive/v${SUPERSTRING_V}.tar.gz -> atom-superstring-${SUPERSTRING_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 - superstring -" - -RESTRICT="mirror" -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] - >=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} - x11-libs/libxkbfile" -RDEPEND=" - ${DEPEND} - !sys-apps/apmd -" - -S="${WORKDIR}/${PN}-${MY_PV}" - -pkg_setup() { - python-single-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//-/_}" - local binmod_v="${binmod^^}_V" - echo -n ${1}-${!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-1.13-apm-path.patch" - eapply "${FILESDIR}/atom-license-path.patch" - eapply "${FILESDIR}/atom-fix-app-restart.patch" - eapply "${FILESDIR}/atom-marker-layer.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/atom-1.18.0.ebuild b/app-editors/atom/atom-1.18.0.ebuild deleted file mode 100644 index a5bf085f0cf4..000000000000 --- a/app-editors/atom/atom-1.18.0.ebuild +++ /dev/null @@ -1,411 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -inherit python-single-r1 multiprocessing rpm - -DESCRIPTION="A hackable text editor for the 21st Century" -HOMEPAGE="https://atom.io" -MY_PV="${PV//_/-}" - -ELECTRON_V=1.3.13 -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=5.0.0 -NODE_NSLOG_V=3.0.0 -NODE_ONIGURUMA_V=6.2.1 -NODE_PATHWATCHER_V=7.0.0 -NODE_RUNAS_V=3.1.1 -SCROLLBAR_STYLE_V=3.2.0 -SPELL_CHECK_V=0.71.4 - -# text-buffer dependencies -SUPERSTRING_V=1.2.1 - -# apm dependency -NODE_KEYTAR_V=3.0.2 - -# atom-keymap dependency -KEYBOARD_LAYOUT_V=2.0.12 - -# symbols-view dependency -NODE_CTAGS_V=3.0.0 - -# spell-check dependency -NODE_SPELLCHECKER_V=3.2.3 - -NSFW_V=1.0.15 - -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/superstring/archive/v${SUPERSTRING_V}.tar.gz -> atom-superstring-${SUPERSTRING_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/Axosoft/nsfw/archive/v${NSFW_V}.tar.gz -> atom-nsfw-${NSFW_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 - superstring - nsfw -" - -RESTRICT="mirror" -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] - >=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} - x11-libs/libxkbfile" -RDEPEND=" - ${DEPEND} - !sys-apps/apmd -" - -S="${WORKDIR}/${PN}-${MY_PV}" - -pkg_setup() { - python-single-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//-/_}" - local binmod_v="${binmod^^}_V" - echo -n ${1}-${!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 - - mkdir "${S}/build" || die - cp -a "${S}/usr/share/atom/resources/app" "${S}/build/app" || die - - cd "${S}" || die - - eapply "${FILESDIR}/atom-1.13-apm-path.patch" - eapply "${FILESDIR}/atom-license-path.patch" - eapply "${FILESDIR}/atom-fix-app-restart.patch" - eapply "${FILESDIR}/atom-marker-layer.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 - - insinto "${install_dir}/app" - doins -r usr/share/atom/resources/app/apm - - 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.20.1.ebuild b/app-editors/atom/atom-1.20.1.ebuild deleted file mode 100644 index e3b34cfffb41..000000000000 --- a/app-editors/atom/atom-1.20.1.ebuild +++ /dev/null @@ -1,514 +0,0 @@ -# Copyright 1999-2017 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. - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -inherit python-single-r1 multiprocessing rpm virtualx - -DESCRIPTION="A hackable text editor for the 21st Century" -HOMEPAGE="https://atom.io" -MY_PV="${PV//_/-}" - -ELECTRON_V=1.6.9 -ELECTRON_SLOT=1.6 - -ASAR_V=0.13.0 -# All binary packages depend on this -NAN_V=2.6.2 - -CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1 -CTAGS_V=3.0.0 -FS_ADMIN_V=0.1.6 -GIT_UTILS_V=5.0.0 -KEYBOARD_LAYOUT_V=2.0.13 -KEYTAR_V=4.0.4 -NSFW_V=1.0.16 -NSLOG_V=3.0.0 -ONIGURUMA_V=6.2.1 -PATHWATCHER_V=8.0.1 -RUNAS_V=3.1.1 -SCROLLBAR_STYLE_V=3.2.0 -SPELLCHECKER_V=3.4.2 -SUPERSTRING_V=2.2.3 - -# 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/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.0.0.tgz -> atomdep-git-utils-5.0.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.0.4.tgz -> atomdep-keytar-4.0.4.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/runas/-/runas-3.1.1.tgz -> atomdep-runas-3.1.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.2.tgz -> atomdep-spellchecker-3.4.2.tar.gz - https://registry.npmjs.org/superstring/-/superstring-2.2.3.tgz -> atomdep-superstring-2.2.3.tar.gz -" - -BINMODS=( - cached-run-in-this-context - ctags - fs-admin - git-utils - keyboard-layout - keytar - nsfw - nslog - oniguruma - pathwatcher - runas - 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-5.9.5:= - >=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.patch" - eapply "${FILESDIR}/atom-apm-path-r1.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}}|${install_dir}/app.asar|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 = '/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" \ - "${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_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 "/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" -} - -# 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 "/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/" -} - -# 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.21.0.ebuild b/app-editors/atom/atom-1.21.0.ebuild deleted file mode 100644 index bb5d91505c94..000000000000 --- a/app-editors/atom/atom-1.21.0.ebuild +++ /dev/null @@ -1,522 +0,0 @@ -# Copyright 1999-2017 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. - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -inherit python-single-r1 multiprocessing rpm virtualx - -DESCRIPTION="A hackable text editor for the 21st Century" -HOMEPAGE="https://atom.io" -MY_PV="${PV//_/-}" - -ELECTRON_V=1.6.9 -ELECTRON_SLOT=1.6 - -ASAR_V=0.13.0 -# All binary packages depend on this -NAN_V=2.6.2 - -CACHED_RUN_IN_THIS_CONTEXT_V=0.4.1 -CTAGS_V=3.0.0 -FS_ADMIN_V=0.1.6 -GIT_UTILS_V=5.0.0 -KEYBOARD_LAYOUT_V=2.0.13 -KEYTAR_V=4.0.4 -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.3 -SUPERSTRING_V=2.2.3 - -# 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/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.0.0.tgz -> atomdep-git-utils-5.0.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.0.4.tgz -> atomdep-keytar-4.0.4.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.3.tgz -> atomdep-spellchecker-3.4.3.tar.gz - https://registry.npmjs.org/superstring/-/superstring-2.2.3.tgz -> atomdep-superstring-2.2.3.tar.gz -" - -BINMODS=( - 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-5.9.5:= - >=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" -} - -# 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.22.1.ebuild b/app-editors/atom/atom-1.22.1.ebuild new file mode 100644 index 000000000000..fbafbe5c1639 --- /dev/null +++ b/app-editors/atom/atom-1.22.1.ebuild @@ -0,0 +1,535 @@ +# Copyright 1999-2017 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.0.5 +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.3 +SUPERSTRING_V=2.2.13 + +# 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.0.5.tgz -> atomdep-keytar-4.0.5.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.3.tgz -> atomdep-spellchecker-3.4.3.tar.gz + https://registry.npmjs.org/superstring/-/superstring-2.2.13.tgz -> atomdep-superstring-2.2.13.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.23.0_beta1.ebuild b/app-editors/atom/atom-1.23.0_beta1.ebuild new file mode 100644 index 000000000000..1a6a57a15de5 --- /dev/null +++ b/app-editors/atom/atom-1.23.0_beta1.ebuild @@ -0,0 +1,535 @@ +# Copyright 1999-2017 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.0.5 +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.13 + +# 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.0.5.tgz -> atomdep-keytar-4.0.5.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.13.tgz -> atomdep-superstring-2.2.13.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-1.13-apm-path.patch b/app-editors/atom/files/atom-1.13-apm-path.patch deleted file mode 100644 index 0dcb7914c669..000000000000 --- a/app-editors/atom/files/atom-1.13-apm-path.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/build/app/src/config-schema.js b/build/app/src/config-schema.js -index 1307db6..d6a1ba4 100644 ---- a/build/app/src/config-schema.js -+++ b/build/app/src/config-schema.js -@@ -21,6 +21,11 @@ var configSchema = { - 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'], diff --git a/app-editors/atom/files/atom-apm-path-r1.patch b/app-editors/atom/files/atom-apm-path-r1.patch deleted file mode 100644 index c30987d8a300..000000000000 --- a/app-editors/atom/files/atom-apm-path-r1.patch +++ /dev/null @@ -1,16 +0,0 @@ -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": '/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-fix-app-restart.patch b/app-editors/atom/files/atom-fix-app-restart.patch deleted file mode 100644 index 1bfa1ed429a0..000000000000 --- a/app-editors/atom/files/atom-fix-app-restart.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/atom-application.js.orig b/atom-application.js -index 92d985f..9a120e6 100644 ---- a/build/app/src/main-process/atom-application.js -+++ b/build/app/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.patch b/app-editors/atom/files/atom-license-path.patch deleted file mode 100644 index 0ddf993448a5..000000000000 --- a/app-editors/atom/files/atom-license-path.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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-marker-layer.patch b/app-editors/atom/files/atom-marker-layer.patch deleted file mode 100644 index 2d797aa293da..000000000000 --- a/app-editors/atom/files/atom-marker-layer.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/build/app/node_modules/text-buffer/lib/marker-layer.js ---- b/build/app/node_modules/text-buffer/lib/marker-layer.js -@@ -192,7 +192,7 @@ - return function(markerId) { - var marker; - marker = _this.markersById[markerId]; -- if (!marker.matchesParams(params)) { -+ if (marker == null || !marker.matchesParams(params)) { - return; - } - return result.push(marker); diff --git a/app-editors/atom/files/atom-unbundle-electron.patch b/app-editors/atom/files/atom-unbundle-electron.patch deleted file mode 100644 index 296b17b0c157..000000000000 --- a/app-editors/atom/files/atom-unbundle-electron.patch +++ /dev/null @@ -1,45 +0,0 @@ -From ea6d1be3558d7610ccc82b3a44dd30657a686639 Mon Sep 17 00:00:00 2001 -From: Elvis Pranskevichus -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="/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 -- cgit v1.2.3