Merge pull request #126302 from Ninlives/master

wpsoffice: fix crash

authored by Bobby Rong and committed by GitHub 43300658 ab7d0b7f

+18 -9
+18 -9
pkgs/applications/office/wpsoffice/default.nix
··· 1 1 { lib, stdenv 2 2 , mkDerivation 3 3 , fetchurl 4 - , autoPatchelfHook 5 4 , dpkg 6 5 , wrapGAppsHook 7 6 , wrapQtAppsHook ··· 34 33 , unixODBC 35 34 , xorg 36 35 , zlib 36 + , steam 37 + , makeWrapper 37 38 }: 38 39 39 40 stdenv.mkDerivation rec { ··· 53 54 rm opt/kingsoft/wps-office/office6/{libjsetapi.so,libjswppapi.so,libjswpsapi.so} 54 55 ''; 55 56 56 - nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook wrapQtAppsHook ]; 57 + nativeBuildInputs = [ dpkg wrapGAppsHook wrapQtAppsHook makeWrapper ]; 57 58 58 59 meta = with lib; { 59 60 description = "Office suite, formerly Kingsoft Office"; ··· 107 108 sqlite 108 109 unixODBC 109 110 zlib 111 + cups.lib 110 112 ]; 111 113 112 114 dontPatchELF = true; ··· 137 139 "tcmalloc" # gperftools 138 140 ]; 139 141 140 - installPhase = '' 142 + installPhase = let 143 + steam-run = (steam.override { 144 + extraPkgs = p: buildInputs; 145 + nativeOnly = true; 146 + }).run; 147 + in '' 141 148 prefix=$out/opt/kingsoft/wps-office 142 149 mkdir -p $out 143 150 cp -r opt $out ··· 153 160 substituteInPlace $i \ 154 161 --replace /usr/bin $out/bin 155 162 done 163 + 164 + for i in wps wpp et wpspdf; do 165 + mv $out/bin/$i $out/bin/.$i-orig 166 + makeWrapper ${steam-run}/bin/steam-run $out/bin/$i \ 167 + --add-flags $out/bin/.$i-orig \ 168 + --argv0 $i 169 + done 156 170 ''; 157 - 158 - runtimeLibPath = lib.makeLibraryPath [ 159 - cups.lib 160 - ]; 161 171 162 172 dontWrapQtApps = true; 163 173 dontWrapGApps = true; ··· 166 176 echo "Wrapping $f" 167 177 wrapProgram "$f" \ 168 178 "''${gappsWrapperArgs[@]}" \ 169 - "''${qtWrapperArgs[@]}" \ 170 - --suffix LD_LIBRARY_PATH : "$runtimeLibPath" 179 + "''${qtWrapperArgs[@]}" 171 180 done 172 181 ''; 173 182 }