[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:
30
PKGBUILD
30
PKGBUILD
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user