about summary refs log tree commit diff
path: root/pkgs/applications/misc/sdcv
diff options
context:
space:
mode:
authorJason "Don" O'Conal <lovek323@gmail.com>2013-06-02 11:21:30 +1000
committerJason "Don" O'Conal <lovek323@gmail.com>2013-06-13 22:33:52 +1000
commit2956b5db46d6ed21cb234a7c7ddf78cbe08df413 (patch)
treebe36e23d91b1bad48bbeedfed9b4f575d721e080 /pkgs/applications/misc/sdcv
parente5c7533b6c9278e35a4f2beb2716476ee55ad181 (diff)
downloadnixlib-2956b5db46d6ed21cb234a7c7ddf78cbe08df413.tar
nixlib-2956b5db46d6ed21cb234a7c7ddf78cbe08df413.tar.gz
nixlib-2956b5db46d6ed21cb234a7c7ddf78cbe08df413.tar.bz2
nixlib-2956b5db46d6ed21cb234a7c7ddf78cbe08df413.tar.lz
nixlib-2956b5db46d6ed21cb234a7c7ddf78cbe08df413.tar.xz
nixlib-2956b5db46d6ed21cb234a7c7ddf78cbe08df413.tar.zst
nixlib-2956b5db46d6ed21cb234a7c7ddf78cbe08df413.zip
sdcv: add expression
Diffstat (limited to 'pkgs/applications/misc/sdcv')
-rw-r--r--pkgs/applications/misc/sdcv/default.nix31
-rw-r--r--pkgs/applications/misc/sdcv/sdcv.cpp.patch12
-rw-r--r--pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin19
-rw-r--r--pkgs/applications/misc/sdcv/utils.hpp.patch10
4 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/applications/misc/sdcv/default.nix b/pkgs/applications/misc/sdcv/default.nix
new file mode 100644
index 000000000000..8ac4730de9a7
--- /dev/null
+++ b/pkgs/applications/misc/sdcv/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, glib, gettext }:
+
+stdenv.mkDerivation rec {
+  name= "sdcv-0.4.2";
+
+  meta = {
+    homepage = http://sdcv.sourceforge.net/;
+    description = "Console version of StarDict program";
+    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sdcv/${name}.tar.bz2";
+    sha256 = "1cnyv7gd1qvz8ma8545d3aq726wxrx4km7ykl97831irx5wz0r51";
+  };
+
+  patches = ( if stdenv.isDarwin
+              then [ ./sdcv.cpp.patch-darwin ./utils.hpp.patch ]
+              else [ ./sdcv.cpp.patch ] );
+
+  buildInputs = [ pkgconfig glib gettext ];
+
+  preBuild = ''
+    sed -i 's/guint32 page_size/size_t page_size/' src/lib/lib.cpp
+  '';
+
+  NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__";
+}
+
diff --git a/pkgs/applications/misc/sdcv/sdcv.cpp.patch b/pkgs/applications/misc/sdcv/sdcv.cpp.patch
new file mode 100644
index 000000000000..6f835f16e458
--- /dev/null
+++ b/pkgs/applications/misc/sdcv/sdcv.cpp.patch
@@ -0,0 +1,12 @@
+--- a/src/utils.hpp
++++ b/src/utils.hpp
+@@ -2,6 +2,9 @@
+ #define _UTILS_HPP_
+ 
+ #include <string>
++#include <stdio.h>
++#include <cstdlib>
++
+ using std::string;
+ 
+ extern bool stdio_getline(FILE *in, string &str);
diff --git a/pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin b/pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin
new file mode 100644
index 000000000000..2ee9a24e0347
--- /dev/null
+++ b/pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin
@@ -0,0 +1,19 @@
+--- a/src/sdcv.cpp
++++ b/src/sdcv.cpp
+@@ -27,13 +27,13 @@
+ #include <cstdlib>
+ #include <cstdio>
+ #include <clocale>
++#include <string>
++#include <vector>
++#include <memory>
+ #include <glib.h>
+ #include <glib/gi18n.h>
+ #include <glib/gstdio.h>
+ #include <getopt.h>
+-#include <string>
+-#include <vector>
+-#include <memory>
+ 
+ #include "libwrapper.hpp"
+ #include "readline.hpp"
diff --git a/pkgs/applications/misc/sdcv/utils.hpp.patch b/pkgs/applications/misc/sdcv/utils.hpp.patch
new file mode 100644
index 000000000000..c08641abd6b9
--- /dev/null
+++ b/pkgs/applications/misc/sdcv/utils.hpp.patch
@@ -0,0 +1,10 @@
+--- a/src/utils.hpp
++++ b/src/utils.hpp
+@@ -2,6 +2,7 @@
+ #define _UTILS_HPP_
+ 
+ #include <string>
++#include <cstdlib>
+ using std::string;
+ 
+ extern bool stdio_getline(FILE *in, string &str);