[visual-studio-code-bin] Use private copies of libxml2 and icu

We need older versions built against glibc 2.27 for the file browser to
be usable.

Thanks to dogumon on AUR for debugging this.
This commit is contained in:
D. Can Celasun
2018-08-16 07:41:10 +02:00
parent e025a0af8d
commit 30117be3f3

View File

@@ -3,7 +3,7 @@
pkgname=visual-studio-code-bin pkgname=visual-studio-code-bin
_pkgname=visual-studio-code _pkgname=visual-studio-code
pkgver=1.26.0 pkgver=1.26.0
pkgrel=2 pkgrel=3
pkgdesc="Visual Studio Code: Editor for building and debugging modern web and cloud applications (official binary version)" pkgdesc="Visual Studio Code: Editor for building and debugging modern web and cloud applications (official binary version)"
arch=('x86_64' 'i686') arch=('x86_64' 'i686')
url="https://code.visualstudio.com/" url="https://code.visualstudio.com/"
@@ -17,19 +17,21 @@ 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 source_x86_64=(code_x64_${pkgver}.tar.gz::https://vscode-update.azurewebsites.net/${pkgver}/linux-x64/stable
${_pkgname}.desktop ${_pkgname}.desktop
https://archive.archlinux.org/packages/g/glibc/glibc-2.27-3-${CARCH}.pkg.tar.xz 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 source_i686=(code_ia32_${pkgver}.tar.gz::https://vscode-update.azurewebsites.net/${pkgver}/linux-ia32/stable
${_pkgname}.desktop ${_pkgname}.desktop
https://archive.archlinux.org/packages/g/glibc/glibc-2.27-3-${CARCH}.pkg.tar.xz
) )
options=("!strip" "staticlibs") options=("!strip" "staticlibs")
noextract=("glibc-2.27-3-${CARCH}.pkg.tar.xz") noextract=("glibc-2.27-3-${CARCH}.pkg.tar.xz")
sha256sums_x86_64=('618ca429e23777ef6b512c0cbd78bc711a7cf6f58752d9f805ced1dc62abb8f0' sha256sums_x86_64=('618ca429e23777ef6b512c0cbd78bc711a7cf6f58752d9f805ced1dc62abb8f0'
'488592034dd5f979083bbd80788d33e253bb3ac3e52d50faee80e715a924a212' '488592034dd5f979083bbd80788d33e253bb3ac3e52d50faee80e715a924a212'
'a9e1b18d7f613be660556dbd6883781e88a0f5113230147e230d3e2f268792dc') 'a9e1b18d7f613be660556dbd6883781e88a0f5113230147e230d3e2f268792dc'
'9a860e1dcc4f1686d5764cf1e9dd59fcdb4f07ca018aecd6631564ee33e6d6ab'
'5f35b1bf4cd2b13050e53a2c98016defa97232b1c838e91d0413a1c84b803a2c')
sha256sums_i686=('fd150bee8e1be4f5461013b8fee19f855200d046643e4ea5387aad170ad5f12b' sha256sums_i686=('fd150bee8e1be4f5461013b8fee19f855200d046643e4ea5387aad170ad5f12b'
'488592034dd5f979083bbd80788d33e253bb3ac3e52d50faee80e715a924a212' '488592034dd5f979083bbd80788d33e253bb3ac3e52d50faee80e715a924a212')
'a9e1b18d7f613be660556dbd6883781e88a0f5113230147e230d3e2f268792dc')
package() { package() {
_pkg=VSCode-linux-x64 _pkg=VSCode-linux-x64
if [ "${CARCH}" = "i686" ]; then if [ "${CARCH}" = "i686" ]; then
@@ -49,6 +51,10 @@ package() {
cp -r "${srcdir}/${_pkg}/"* "${pkgdir}/opt/${_pkgname}" -R cp -r "${srcdir}/${_pkg}/"* "${pkgdir}/opt/${_pkgname}" -R
ln -s /opt/${_pkgname}/bin/code "${pkgdir}"/usr/bin/code ln -s /opt/${_pkgname}/bin/code "${pkgdir}"/usr/bin/code
if [ "${CARCH}" = "i686" ]; then
return 0;
fi
_ldir="/opt/$_pkgname" _ldir="/opt/$_pkgname"
_pdir="$pkgdir/$_ldir" _pdir="$pkgdir/$_ldir"
_pexe="$_pdir/code" _pexe="$_pdir/code"
@@ -57,4 +63,18 @@ package() {
rm "$_pdir/glibc/"{.BUILDINFO,.INSTALL,.MTREE,.PKGINFO} rm "$_pdir/glibc/"{.BUILDINFO,.INSTALL,.MTREE,.PKGINFO}
patchelf --set-interpreter "$_ldir/glibc/usr/lib/ld-linux-x86-64.so.2" "$_pexe" patchelf --set-interpreter "$_ldir/glibc/usr/lib/ld-linux-x86-64.so.2" "$_pexe"
patchelf --set-rpath "$_ldir:$_ldir/glibc/usr/lib" "$_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
} }