Merge pull request #232244 from wineee/wps-clear

wpsoffice: don't need wrapGAppsHook nor wrapQtAppsHook & use autoPatchelfIgnoreMissingDeps
This commit is contained in:
Nick Cao
2023-05-21 20:54:04 -06:00
committed by GitHub

View File

@@ -2,19 +2,20 @@
, stdenv
, fetchurl
, dpkg
, wrapGAppsHook
, wrapQtAppsHook
, autoPatchelfHook
, alsa-lib
, at-spi2-core
, libtool
, libxkbcommon
, nspr
, mesa
, libtiff
, cups
, udev
, gtk3
, qtbase
, xorg
, cups
, pango
, makeWrapper
, useChineseVersion ? false
}:
@@ -33,35 +34,43 @@ 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 wrapGAppsHook wrapQtAppsHook makeWrapper autoPatchelfHook ];
nativeBuildInputs = [
dpkg
autoPatchelfHook
];
buildInputs = [
alsa-lib
xorg.libXdamage
xorg.libXtst
at-spi2-core
libtool
libxkbcommon
nspr
mesa
libtiff
udev
gtk3
qtbase
xorg.libXdamage
xorg.libXtst
xorg.libXv
];
dontWrapQtApps = true;
runtimeDependencies = map lib.getLib [
cups
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
@@ -79,25 +88,13 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
dontWrapQtApps = true;
dontWrapGApps = true;
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
'';
postFixup = ''
for f in "$out"/bin/*; do
echo "Wrapping $f"
wrapProgram "$f" \
"''${gappsWrapperArgs[@]}" \
"''${qtWrapperArgs[@]}"
done
'';
meta = with lib; {
description = "Office suite, formerly Kingsoft Office";
homepage = "https://www.wps.com";