atom: use system Git instead of prebuilt bundle
One of Atom's dependencies, dugite, downloads a full copy of prebuilt Git into its node_modules directory, what is totally redundant. Modify its "source code" to use system Git instead and remove post-install download target. To patch Atom package the same approach is used as in commit 4a94ed99271d ("atom: fix Fuzzy finder (git-utils)"). This reduces the total size of Atom xbps package by ~30 Mb. Signed-off-by: Alexander Lobakin <bloodyreaper@yandex.ru>
This commit is contained in:
parent
c24c7a428a
commit
68b24d3049
|
@ -0,0 +1,51 @@
|
||||||
|
diff -Naurp0 a/package.json b/package.json
|
||||||
|
--- a/package.json 2019-12-13 22:07:42.000000000 +0300
|
||||||
|
+++ b/package.json 2019-12-19 17:00:25.029132872 +0300
|
||||||
|
@@ -52,0 +53 @@
|
||||||
|
+ "dugite": "file:packages/dugite",
|
||||||
|
diff -Naurp0 a/package-lock.json b/package-lock.json
|
||||||
|
--- a/package-lock.json 2019-12-13 22:07:42.000000000 +0300
|
||||||
|
+++ b/package-lock.json 2019-12-19 16:44:18.175132282 +0300
|
||||||
|
@@ -2530,3 +2530 @@
|
||||||
|
- "version": "1.87.5",
|
||||||
|
- "resolved": "https://registry.npmjs.org/dugite/-/dugite-1.87.5.tgz",
|
||||||
|
- "integrity": "sha512-Rfl1pJ7SaIk8kW9knOGFvVl/aRWAL7RnESs/0GMUCay/yOtVejkrDGlK8JciN5dluJbIg/4bMp0KeK3HGuQqEQ==",
|
||||||
|
+ "version": "file:packages/dugite",
|
||||||
|
@@ -3212 +3210 @@
|
||||||
|
- "dugite": "1.87.5",
|
||||||
|
+ "dugite": "file:packages/dugite",
|
||||||
|
@@ -6992 +6990 @@
|
||||||
|
- "dugite": "^1.86.0",
|
||||||
|
+ "dugite": "file:packages/dugite",
|
||||||
|
diff -Naurp0 a/packages/dugite/build/lib/git-environment.js b/packages/dugite/build/lib/git-environment.js
|
||||||
|
--- a/packages/dugite/build/lib/git-environment.js 1985-10-26 11:15:00.000000000 +0300
|
||||||
|
+++ b/packages/dugite/build/lib/git-environment.js 2019-12-19 15:13:56.919818081 +0300
|
||||||
|
@@ -4,12 +3,0 @@ const path = require("path");
|
||||||
|
-function resolveEmbeddedGitDir() {
|
||||||
|
- if (process.platform === 'darwin' ||
|
||||||
|
- process.platform === 'linux' ||
|
||||||
|
- process.platform === 'android' ||
|
||||||
|
- process.platform === 'win32') {
|
||||||
|
- const s = path.sep;
|
||||||
|
- return path
|
||||||
|
- .resolve(__dirname, '..', '..', 'git')
|
||||||
|
- .replace(/[\\\/]app.asar[\\\/]/, `${s}app.asar.unpacked${s}`);
|
||||||
|
- }
|
||||||
|
- throw new Error('Git not supported on platform: ' + process.platform);
|
||||||
|
-}
|
||||||
|
@@ -27 +15 @@ function resolveGitDir() {
|
||||||
|
- return resolveEmbeddedGitDir();
|
||||||
|
+ return '/usr';
|
||||||
|
@@ -108,7 +95,0 @@ function setupEnvironment(environmentVar
|
||||||
|
- if (!env.GIT_SSL_CAINFO && !env.LOCAL_GIT_DIRECTORY) {
|
||||||
|
- // use the SSL certificate bundle included in the distribution only
|
||||||
|
- // when using embedded Git and not providing your own bundle
|
||||||
|
- const distDir = resolveEmbeddedGitDir();
|
||||||
|
- const sslCABundle = `${distDir}/ssl/cacert.pem`;
|
||||||
|
- env.GIT_SSL_CAINFO = sslCABundle;
|
||||||
|
- }
|
||||||
|
diff -Naurp0 a/packages/dugite/package.json b/packages/dugite/package.json
|
||||||
|
--- a/packages/dugite/package.json 1985-10-26 11:15:00.000000000 +0300
|
||||||
|
+++ b/packages/dugite/package.json 2019-12-19 15:19:07.645889964 +0300
|
||||||
|
@@ -16 +15,0 @@
|
||||||
|
- "postinstall": "node ./script/download-git.js",
|
|
@ -1,31 +1,39 @@
|
||||||
# Template file for 'atom'
|
# Template file for 'atom'
|
||||||
|
_dugite_ver=1.87.6
|
||||||
_git_utils_ver=5.6.2
|
_git_utils_ver=5.6.2
|
||||||
pkgname=atom
|
pkgname=atom
|
||||||
version=1.41.0
|
version=1.41.0
|
||||||
revision=2
|
revision=3
|
||||||
archs="x86_64"
|
archs="x86_64"
|
||||||
hostmakedepends="git pkg-config python-devel nodejs-lts-10 nodejs-lts-10-devel curl gtk+3
|
hostmakedepends="git pkg-config python-devel nodejs-lts-10 nodejs-lts-10-devel curl gtk+3
|
||||||
libXtst libXScrnSaver nss python alsa-lib"
|
libXtst libXScrnSaver nss python alsa-lib"
|
||||||
makedepends="python-devel GConf-devel libgnome-keyring-devel gtk+3-devel
|
makedepends="python-devel GConf-devel libgnome-keyring-devel gtk+3-devel
|
||||||
libX11-devel libxkbfile-devel libsecret-devel"
|
libX11-devel libxkbfile-devel libsecret-devel"
|
||||||
|
depends="git"
|
||||||
short_desc="Chrome-based text editor from Github"
|
short_desc="Chrome-based text editor from Github"
|
||||||
maintainer="Wilson Birney <wpb@360scada.com>"
|
maintainer="Wilson Birney <wpb@360scada.com>"
|
||||||
license="MIT"
|
license="MIT"
|
||||||
homepage="https://atom.io"
|
homepage="https://atom.io"
|
||||||
distfiles="
|
distfiles="
|
||||||
https://github.com/atom/atom/archive/v${version}.tar.gz
|
https://github.com/atom/atom/archive/v${version}.tar.gz
|
||||||
|
https://registry.npmjs.org/dugite/-/dugite-${_dugite_ver}.tgz
|
||||||
https://registry.npmjs.org/git-utils/-/git-utils-${_git_utils_ver}.tgz"
|
https://registry.npmjs.org/git-utils/-/git-utils-${_git_utils_ver}.tgz"
|
||||||
checksum="
|
checksum="
|
||||||
4a440909462c461cbec9b82b5f97bd21719a34f0ab59f2d859df85a40246c949
|
4a440909462c461cbec9b82b5f97bd21719a34f0ab59f2d859df85a40246c949
|
||||||
|
61cd7b32932788c70420cb64042d7056715c5e5c20f4df022e77cee034519c09
|
||||||
b430ee53a09317df5b6677e5625950baefe840258f2e9d55cf4fc448c9d8576e"
|
b430ee53a09317df5b6677e5625950baefe840258f2e9d55cf4fc448c9d8576e"
|
||||||
skip_extraction="git-utils-${_git_utils_ver}.tgz"
|
skip_extraction="
|
||||||
|
dugite-${_dugite_ver}.tgz
|
||||||
|
git-utils-${_git_utils_ver}.tgz"
|
||||||
shlib_provides="libGLESv2.so"
|
shlib_provides="libGLESv2.so"
|
||||||
patch_args="-Np1"
|
patch_args="-Np1"
|
||||||
nocross=yes
|
nocross=yes
|
||||||
nostrip=yes
|
nostrip=yes
|
||||||
|
|
||||||
post_extract() {
|
post_extract() {
|
||||||
mkdir -p packages/git-utils
|
mkdir -p packages/dugite packages/git-utils
|
||||||
|
tar xzf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dugite-${_dugite_ver}.tgz \
|
||||||
|
--strip-components=1 -C packages/dugite
|
||||||
tar xzf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/git-utils-${_git_utils_ver}.tgz \
|
tar xzf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/git-utils-${_git_utils_ver}.tgz \
|
||||||
--strip-components=1 -C packages/git-utils
|
--strip-components=1 -C packages/git-utils
|
||||||
}
|
}
|
||||||
|
@ -43,8 +51,3 @@ do_install() {
|
||||||
mv $DESTDIR/usr/libexec/applications $DESTDIR/usr/share
|
mv $DESTDIR/usr/libexec/applications $DESTDIR/usr/share
|
||||||
vlicense LICENSE.md
|
vlicense LICENSE.md
|
||||||
}
|
}
|
||||||
|
|
||||||
post_install() {
|
|
||||||
# Very hackish, git-imap-send is linked to openssl's libssl/libcrypto. Removing it allows it to package
|
|
||||||
rm $DESTDIR/usr/libexec/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue