diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/office/wpsoffice/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/office/wpsoffice/default.nix | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/office/wpsoffice/default.nix b/nixpkgs/pkgs/applications/office/wpsoffice/default.nix new file mode 100644 index 000000000000..4c83d67f7cda --- /dev/null +++ b/nixpkgs/pkgs/applications/office/wpsoffice/default.nix @@ -0,0 +1,79 @@ +{ stdenv, fetchurl +, libX11, glib, xorg, fontconfig, freetype +, zlib, libpng12, libICE, libXrender, cups }: + +let + bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" + else "x86"; + + version = "10.1.0.5672"; +in stdenv.mkDerivation rec{ + name = "wpsoffice-${version}"; + + src = fetchurl { + name = "${name}.tar.xz"; + url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz"; + sha256 = if bits == "x86_64" then + "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else + "1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97"; + }; + + meta = { + description = "Office program originally named Kingsoft Office"; + homepage = http://wps-community.org/; + platforms = [ "i686-linux" "x86_64-linux" ]; + hydraPlatforms = []; + license = stdenv.lib.licenses.unfreeRedistributable; + }; + + libPath = stdenv.lib.makeLibraryPath [ + libX11 + libpng12 + glib + xorg.libSM + xorg.libXext + fontconfig + zlib + freetype + libICE + cups + libXrender + ]; + + dontPatchELF = true; + + # wpsoffice uses `/build` in its own build system making nix things there + # references to nix own build directory + noAuditTmpdir = true; + + installPhase = '' + prefix=$out/opt/kingsoft/wps-office + mkdir -p $prefix + cp -r . $prefix + + # Avoid forbidden reference error due use of patchelf + rm -r $PWD + + mkdir $out/bin + for i in wps wpp et; do + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --force-rpath --set-rpath "$prefix/office6:$libPath" \ + $prefix/office6/$i + + substitute $prefix/$i $out/bin/$i \ + --replace /opt/kingsoft/wps-office $prefix + chmod +x $out/bin/$i + + substituteInPlace $prefix/resource/applications/wps-office-$i.desktop \ + --replace /usr/bin $out/bin + done + + # China fonts + mkdir -p $prefix/resource/fonts/wps-office $out/etc/fonts/conf.d + ln -s $prefix/fonts/* $prefix/resource/fonts/wps-office + ln -s $prefix/fontconfig/*.conf $out/etc/fonts/conf.d + + ln -s $prefix/resource $out/share + ''; +} |