summary refs log tree commit diff
path: root/pkgs/tools/typesetting/pdf2odt
diff options
context:
space:
mode:
authorPeter Hoeg <peter@speartail.com>2016-07-26 22:46:50 +0800
committerPeter Hoeg <peter@speartail.com>2016-07-27 09:40:35 +0800
commit2ea24072ae07cda49ff56d6affbf9e14fba9d3b5 (patch)
tree32138b480b2ad5835d973fe2de6fb66f70f16d24 /pkgs/tools/typesetting/pdf2odt
parent3badad811c600db9867f15a326efa69898299099 (diff)
downloadnixpkgs-2ea24072ae07cda49ff56d6affbf9e14fba9d3b5.tar
nixpkgs-2ea24072ae07cda49ff56d6affbf9e14fba9d3b5.tar.gz
nixpkgs-2ea24072ae07cda49ff56d6affbf9e14fba9d3b5.tar.bz2
nixpkgs-2ea24072ae07cda49ff56d6affbf9e14fba9d3b5.tar.lz
nixpkgs-2ea24072ae07cda49ff56d6affbf9e14fba9d3b5.tar.xz
nixpkgs-2ea24072ae07cda49ff56d6affbf9e14fba9d3b5.tar.zst
nixpkgs-2ea24072ae07cda49ff56d6affbf9e14fba9d3b5.zip
pdf2odt: init at 2014-12-17
We also apply a patch to create the temporary directory securely
Diffstat (limited to 'pkgs/tools/typesetting/pdf2odt')
-rw-r--r--pkgs/tools/typesetting/pdf2odt/default.nix51
-rw-r--r--pkgs/tools/typesetting/pdf2odt/use_mktemp.patch19
2 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/tools/typesetting/pdf2odt/default.nix b/pkgs/tools/typesetting/pdf2odt/default.nix
new file mode 100644
index 00000000000..4f798702101
--- /dev/null
+++ b/pkgs/tools/typesetting/pdf2odt/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, lib, makeWrapper, fetchFromGitHub
+, bc, coreutils, file, gawk, ghostscript, gnused, imagemagick, zip }:
+
+stdenv.mkDerivation rec {
+  version = "2014-12-17";
+  name = "pdf2odt-${version}";
+
+  src = fetchFromGitHub {
+    owner = "gutschke";
+    repo = "pdf2odt";
+    rev = "master";
+    sha256 = "14f9r5f0g6jzanl54jv86ls0frvspka1p9c8dy3fnriqpm584j0r";
+  };
+
+  dontStrip = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  path = lib.makeBinPath [
+    bc
+    coreutils
+    file
+    gawk
+    ghostscript
+    gnused
+    imagemagick
+    zip
+  ];
+
+  patches = [ ./use_mktemp.patch ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/doc
+
+    install -m0755 pdf2odt $out/bin/pdf2odt
+    ln -rs $out/bin/pdf2odt $out/bin/pdf2ods
+
+    install -m0644 README.md LICENSE -t $out/share/doc
+
+    wrapProgram $out/bin/pdf2odt --prefix PATH : ${path}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PDF to ODT format converter";
+    homepage = http://github.com/gutschke/pdf2odt;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ peterhoeg ];
+    inherit version;
+  };
+}
diff --git a/pkgs/tools/typesetting/pdf2odt/use_mktemp.patch b/pkgs/tools/typesetting/pdf2odt/use_mktemp.patch
new file mode 100644
index 00000000000..1425aa5ae6a
--- /dev/null
+++ b/pkgs/tools/typesetting/pdf2odt/use_mktemp.patch
@@ -0,0 +1,19 @@
+diff --git a/pdf2odt b/pdf2odt
+index d38bb07..e1ddf05 100755
+--- a/pdf2odt
++++ b/pdf2odt
+@@ -173,13 +173,7 @@ if [ -e "${out}" ] &&
+ fi
+ 
+ # Set up temporary staging directory
+-TMPDIR="/tmp/pdf2odt.$$"
+-[ \! -e "${TMPDIR}" ] || {
+-  echo "Staging directory ${TMPDIR} already exists" >&2
+-  exit 1
+-}
+-trap 'rm -rf "${TMPDIR}"' EXIT INT TERM QUIT HUP
+-mkdir -p "${TMPDIR}"
++TMPDIR=$(mktemp -d)
+ 
+ # Adjust DPI so that the image fits on a letter- or a4-sized page.
+ function scale() {