We need older versions built against glibc 2.27 for the file browser to be usable. Thanks to dogumon on AUR for debugging this.
81 lines
3.7 KiB
Bash
81 lines
3.7 KiB
Bash
# Maintainer: D. Can Celasun <can[at]dcc[dot]im>
|
|
|
|
pkgname=visual-studio-code-bin
|
|
_pkgname=visual-studio-code
|
|
pkgver=1.26.0
|
|
pkgrel=3
|
|
pkgdesc="Visual Studio Code: Editor for building and debugging modern web and cloud applications (official binary version)"
|
|
arch=('x86_64' 'i686')
|
|
url="https://code.visualstudio.com/"
|
|
license=('custom: commercial')
|
|
provides=('vscode' 'visualstudiocode' 'visual-studio-code')
|
|
replaces=('visual-studio-code')
|
|
conflicts=('visual-studio-code')
|
|
makedepends=(patchelf)
|
|
depends=(fontconfig libxtst gtk2 python cairo alsa-lib nss gcc-libs libnotify libxss gconf)
|
|
optdepends=('gvfs: Needed for move to trash functionality')
|
|
source_x86_64=(code_x64_${pkgver}.tar.gz::https://vscode-update.azurewebsites.net/${pkgver}/linux-x64/stable
|
|
${_pkgname}.desktop
|
|
https://archive.archlinux.org/packages/g/glibc/glibc-2.27-3-${CARCH}.pkg.tar.xz
|
|
https://archive.archlinux.org/packages/l/libxml2/libxml2-2.9.8-2-${CARCH}.pkg.tar.xz
|
|
https://archive.archlinux.org/packages/i/icu/icu-61.1-1-${CARCH}.pkg.tar.xz
|
|
)
|
|
source_i686=(code_ia32_${pkgver}.tar.gz::https://vscode-update.azurewebsites.net/${pkgver}/linux-ia32/stable
|
|
${_pkgname}.desktop
|
|
)
|
|
options=("!strip" "staticlibs")
|
|
noextract=("glibc-2.27-3-${CARCH}.pkg.tar.xz")
|
|
sha256sums_x86_64=('618ca429e23777ef6b512c0cbd78bc711a7cf6f58752d9f805ced1dc62abb8f0'
|
|
'488592034dd5f979083bbd80788d33e253bb3ac3e52d50faee80e715a924a212'
|
|
'a9e1b18d7f613be660556dbd6883781e88a0f5113230147e230d3e2f268792dc'
|
|
'9a860e1dcc4f1686d5764cf1e9dd59fcdb4f07ca018aecd6631564ee33e6d6ab'
|
|
'5f35b1bf4cd2b13050e53a2c98016defa97232b1c838e91d0413a1c84b803a2c')
|
|
sha256sums_i686=('fd150bee8e1be4f5461013b8fee19f855200d046643e4ea5387aad170ad5f12b'
|
|
'488592034dd5f979083bbd80788d33e253bb3ac3e52d50faee80e715a924a212')
|
|
package() {
|
|
_pkg=VSCode-linux-x64
|
|
if [ "${CARCH}" = "i686" ]; then
|
|
_pkg=VSCode-linux-ia32
|
|
fi
|
|
|
|
install -d "${pkgdir}/usr/share/licenses/${_pkgname}"
|
|
install -d "${pkgdir}/opt/${_pkgname}"
|
|
install -d "${pkgdir}/usr/bin"
|
|
install -d "${pkgdir}/usr/share/applications"
|
|
install -d "${pkgdir}/usr/share/icons"
|
|
|
|
install -m644 "${srcdir}/${_pkg}/resources/app/LICENSE.txt" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
|
|
install -m644 "${srcdir}/${_pkg}/resources/app/resources/linux/code.png" "${pkgdir}/usr/share/icons/${_pkgname}.png"
|
|
install -m644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
|
|
|
|
cp -r "${srcdir}/${_pkg}/"* "${pkgdir}/opt/${_pkgname}" -R
|
|
ln -s /opt/${_pkgname}/bin/code "${pkgdir}"/usr/bin/code
|
|
|
|
if [ "${CARCH}" = "i686" ]; then
|
|
return 0;
|
|
fi
|
|
|
|
_ldir="/opt/$_pkgname"
|
|
_pdir="$pkgdir/$_ldir"
|
|
_pexe="$_pdir/code"
|
|
mkdir -p "$_pdir/glibc"
|
|
tar -xJC "$_pdir/glibc" -f "glibc-2.27-3-$CARCH.pkg.tar.xz"
|
|
rm "$_pdir/glibc/"{.BUILDINFO,.INSTALL,.MTREE,.PKGINFO}
|
|
patchelf --set-interpreter "$_ldir/glibc/usr/lib/ld-linux-x86-64.so.2" "$_pexe"
|
|
patchelf --set-rpath "$_ldir:$_ldir/glibc/usr/lib" "$_pexe"
|
|
|
|
mkdir -p "${pkgdir}"/opt/${_pkgname}/libs
|
|
tar -xJC "${srcdir}" -f "libxml2-2.9.8-2-${CARCH}.pkg.tar.xz" > /dev/null 2>&1
|
|
tar -xJC "${srcdir}" -f "icu-61.1-1-${CARCH}.pkg.tar.xz" > /dev/null 2>&1
|
|
cp "${srcdir}"/usr/lib/* "${pkgdir}"/opt/${_pkgname}/libs -r
|
|
|
|
cat <<- EOF > "${pkgdir}"/opt/${_pkgname}/code_libs
|
|
#!/bin/sh
|
|
LD_LIBRARY_PATH=/opt/${_pkgname}/libs code
|
|
EOF
|
|
|
|
chmod +x "${pkgdir}"/opt/${_pkgname}/code_libs
|
|
sed -i 's|/opt/visual-studio-code/code|/opt/visual-studio-code/code_libs|' "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
|
|
sed -i '35s|^|LD_LIBRARY_PATH=/opt/visual-studio-code/libs |' "${pkgdir}"/opt/${_pkgname}/bin/code
|
|
}
|