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 ++#include ++#include ++ + 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 + #include + #include ++#include ++#include ++#include + #include + #include + #include + #include +-#include +-#include +-#include + + #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 ++#include + using std::string; + + extern bool stdio_getline(FILE *in, string &str); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 14b5710048ed..e30dbf513c0a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1613,6 +1613,8 @@ let scrot = callPackage ../tools/graphics/scrot { }; + sdcv = callPackage ../applications/misc/sdcv { }; + seccure = callPackage ../tools/security/seccure/0.4.nix { }; setserial = builderDefsPackage (import ../tools/system/setserial) {