mirror of
https://gitdl.cn/https://github.com/chakralinux/gtk.git
synced 2025-02-03 08:57:15 +08:00
6d58ff794e
fix ATOM_PATH="usr/share/atom/atom"
96 lines
3.5 KiB
Bash
96 lines
3.5 KiB
Bash
pkgname=atom
|
|
pkgver=1.28.0
|
|
pkgrel=1
|
|
pkgdesc='A hackable text editor for the 21st Century'
|
|
arch=('x86_64')
|
|
url='https://github.com/atom/atom'
|
|
license=('MIT' 'custom')
|
|
depends=('libxkbfile' 'gtk2' 'libxtst' 'libxss' 'alsa-lib' 'nss')
|
|
makedepends=('git' 'npm' 'libgnome-keyring' 'gconf' 'python2' 'libsecret')
|
|
options=(!emptydirs)
|
|
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/atom/atom/archive/v${pkgver}.tar.gz"
|
|
'fix-license-path.patch'
|
|
'fix-restart.patch')
|
|
sha256sums=('8d31c74870b7c0813f14eeae55aa85e13bffdfb33a087ad08f1f5eec319331f4'
|
|
'67ecd71b08292218388205ee49e02d176a15bd0c3e74d30cb720b79c6946f4c9'
|
|
'a6fa960741823a52b2f82684285e26eb84ce54825dc7ed008fdaca974b60957e')
|
|
|
|
prepare() {
|
|
cd "${srcdir}/${pkgname}-${pkgver}"
|
|
|
|
patch -Np1 -i "${srcdir}"/fix-license-path.patch
|
|
patch -Np1 -i "${srcdir}"/fix-restart.patch
|
|
|
|
# Workaround for Node 10
|
|
sed -e 's|"electron-link": "0.2.0"|"electron-link": "../../electron-link"|' \
|
|
-i script/package.json
|
|
cd ..
|
|
git clone https://github.com/atom/electron-link.git
|
|
cd electron-link
|
|
git checkout v0.2.0
|
|
sed -e 's/"leveldown": "^1.6.0"/"leveldown": "^2.0.1"/' -i package.json
|
|
npm install
|
|
npx babel src -d lib
|
|
cd node_modules/levelup
|
|
sed -e 's/"leveldown": "^1.1.0"/"leveldown": "^2.0.1"/' -i package.json
|
|
}
|
|
|
|
build() {
|
|
cd "${srcdir}/${pkgname}-${pkgver}"
|
|
|
|
export PYTHON=/usr/bin/python2
|
|
export ATOM_RESOURCE_PATH="$srcdir/atom-$pkgver"
|
|
# If unset, ~/.atom/.node-gyp/.atom/.npm is used
|
|
export NPM_CONFIG_CACHE="${HOME}/.atom/.npm"
|
|
|
|
cd script
|
|
npm install
|
|
./build
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/${pkgname}-${pkgver}"
|
|
|
|
install -d -m 755 "${pkgdir}"/usr/lib
|
|
cp -r out/app "${pkgdir}"/usr/lib/atom
|
|
install -m 644 out/startup.js "${pkgdir}"/usr/lib/atom
|
|
install -m 755 "${srcdir}/atom.js" "${pkgdir}"/usr/lib/atom/atom
|
|
|
|
msg "installing .desktop"
|
|
install -d -m 755 "${pkgdir}/usr/share/applications"
|
|
sed -e "s|<%= appName %>|Atom|" \
|
|
-e "s/<%= description %>/${pkgdesc}/" \
|
|
-e "s|<%= installDir %>/share/<%= appFileName %>/atom|/usr/lib/atom/atom|" \
|
|
-e "s|<%= iconPath %>|atom|" \
|
|
resources/linux/atom.desktop.in > "${pkgdir}/usr/share/applications/atom.desktop"
|
|
|
|
msg "installing icons"
|
|
for size in 16 24 32 48 64 128 256 512 1024; do
|
|
install -D -m 644 resources/app-icons/stable/png/${size}.png \
|
|
"${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps/atom.png
|
|
done
|
|
ln -sf ../../../share/icons/hicolor/1024x1024/apps/atom.png \
|
|
"${pkgdir}"/usr/share/atom/resources/atom.png
|
|
|
|
msg "installing atom.sh"
|
|
install -D -m 755 atom.sh "${pkgdir}/usr/bin/atom"
|
|
|
|
msg "installing license"
|
|
install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgname}"
|
|
node -e "require('./script/lib/get-license-text')().then((licenseText) => require('fs').writeFileSync('${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md', licenseText))"
|
|
|
|
# Remove useless stuff
|
|
rm "${pkgdir}"/usr/lib/atom/node_modules/.bin/pegjs
|
|
find "${pkgdir}"/usr/lib/atom/node_modules \
|
|
-name "*.a" -exec rm '{}' \; \
|
|
-or -name "*.bat" -exec rm '{}' \; \
|
|
-or -name "*.node" -exec chmod a-x '{}' \; \
|
|
-or -name "benchmark" -prune -exec rm -r '{}' \; \
|
|
-or -name "doc" -prune -exec rm -r '{}' \; \
|
|
-or -name "html" -prune -exec rm -r '{}' \; \
|
|
-or -name "man" -prune -exec rm -r '{}' \; \
|
|
-or -name "scripts" -prune -exec rm -r '{}' \; \
|
|
-or -path "*/less/gradle" -prune -exec rm -r '{}' \; \
|
|
-or -path "*/task-lists/src" -prune -exec rm -r '{}' \;
|
|
}
|