wpsoffice: set autoPatchelfIgnoreMissingDeps rather than remove libraries

This commit is contained in:
rewine 2023-05-16 23:07:41 +08:00
parent ae7737333a
commit d64d4bb387
No known key found for this signature in database
GPG key ID: AABB329787290824

View file

@ -36,17 +36,6 @@ stdenv.mkDerivation rec {
unpackCmd = "dpkg -x $src .";
sourceRoot = ".";
postUnpack = ''
# distribution is missing libkappessframework.so, so we should not let
# autoPatchelfHook fail on the following dead libraries
rm -r opt/kingsoft/wps-office/office6/addons/pdfbatchcompression
# Remove the following libraries because they depend on qt4
rm -r opt/kingsoft/wps-office/office6/{librpcetapi.so,librpcwpsapi.so,librpcwppapi.so,libavdevice.so.58.10.100,libmediacoder.so}
rm -r opt/kingsoft/wps-office/office6/addons/wppcapturer/libwppcapturer.so
rm -r opt/kingsoft/wps-office/office6/addons/wppencoder/libwppencoder.so
'';
nativeBuildInputs = [
dpkg
autoPatchelfHook
@ -69,6 +58,7 @@ stdenv.mkDerivation rec {
xorg.libXtst
xorg.libXrandr
xorg.libXcomposite
xorg.libXv
cups
pango
];
@ -80,6 +70,15 @@ stdenv.mkDerivation rec {
pango
];
autoPatchelfIgnoreMissingDeps = [
# distribution is missing libkappessframework.so
"libkappessframework.so"
# qt4 support is deprecated
"libQtCore.so.4"
"libQtNetwork.so.4"
"libQtXml.so.4"
];
installPhase = ''
runHook preInstall
prefix=$out/opt/kingsoft/wps-office
@ -99,7 +98,7 @@ stdenv.mkDerivation rec {
preFixup = ''
# The following libraries need libtiff.so.5, but nixpkgs provides libtiff.so.6
patchelf --replace-needed libtiff.so.5 libtiff.so $out/opt/kingsoft/wps-office/office6/{libpdfmain.so,libqpdfpaint.so,qt/plugins/imageformats/libqtiff.so}
patchelf --replace-needed libtiff.so.5 libtiff.so $out/opt/kingsoft/wps-office/office6/{libpdfmain.so,libqpdfpaint.so,qt/plugins/imageformats/libqtiff.so,addons/pdfbatchcompression/libpdfbatchcompressionapp.so}
# dlopen dependency
patchelf --add-needed libudev.so.1 $out/opt/kingsoft/wps-office/office6/addons/cef/libcef.so
'';