about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/htmlcxx
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/htmlcxx')
-rw-r--r--nixpkgs/pkgs/development/libraries/htmlcxx/c++17.patch24
-rw-r--r--nixpkgs/pkgs/development/libraries/htmlcxx/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/htmlcxx/ptrdiff.patch13
3 files changed, 61 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/htmlcxx/c++17.patch b/nixpkgs/pkgs/development/libraries/htmlcxx/c++17.patch
new file mode 100644
index 000000000000..53fa9fbfc8c1
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/htmlcxx/c++17.patch
@@ -0,0 +1,24 @@
+diff --color -Naur a/html/CharsetConverter.cc b/html/CharsetConverter.cc
+--- a/html/CharsetConverter.cc	2018-12-29 03:13:56.000000000 +0000
++++ b/html/CharsetConverter.cc	2021-05-31 23:03:10.705334580 +0100
+@@ -7,7 +7,7 @@
+ using namespace std;
+ using namespace htmlcxx;
+ 
+-CharsetConverter::CharsetConverter(const string &from, const string &to) throw (Exception)
++CharsetConverter::CharsetConverter(const string &from, const string &to)
+ {
+ 	mIconvDescriptor = iconv_open(to.c_str(), from.c_str());
+ 	if (mIconvDescriptor == (iconv_t)(-1))
+diff --color -Naur a/html/CharsetConverter.h b/html/CharsetConverter.h
+--- a/html/CharsetConverter.h	2018-12-29 03:13:56.000000000 +0000
++++ b/html/CharsetConverter.h	2021-05-31 23:03:19.042574598 +0100
+@@ -17,7 +17,7 @@
+ 						: std::runtime_error(arg) {}
+ 			};
+ 			
+-			CharsetConverter(const std::string &from, const std::string &to) throw (Exception);
++			CharsetConverter(const std::string &from, const std::string &to);
+ 			~CharsetConverter();
+ 			
+ 			std::string convert(const std::string &input);
diff --git a/nixpkgs/pkgs/development/libraries/htmlcxx/default.nix b/nixpkgs/pkgs/development/libraries/htmlcxx/default.nix
new file mode 100644
index 000000000000..221ec7622ff4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/htmlcxx/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchurl, libiconv }:
+
+stdenv.mkDerivation rec {
+  pname = "htmlcxx";
+  version = "0.87";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/htmlcxx/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "sha256-XTj5OM9N+aKYpTRq8nGV//q/759GD8KgIjPLz6j8dcg=";
+  };
+
+  buildInputs = [ libiconv ];
+  patches = [
+    ./ptrdiff.patch
+    ./c++17.patch
+  ];
+
+  meta = with lib; {
+    homepage = "http://htmlcxx.sourceforge.net/";
+    description = "A simple non-validating css1 and html parser for C++";
+    license = licenses.lgpl2;
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/htmlcxx/ptrdiff.patch b/nixpkgs/pkgs/development/libraries/htmlcxx/ptrdiff.patch
new file mode 100644
index 000000000000..6348ba24f8da
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/htmlcxx/ptrdiff.patch
@@ -0,0 +1,13 @@
+diff -rc htmlcxx-orig-0.85/html/tree.h htmlcxx-0.85/html/tree.h
+*** htmlcxx-orig-0.85/html/tree.h	2015-09-02 13:57:17.988688798 +0200
+--- htmlcxx-0.85/html/tree.h	2015-09-02 13:57:52.737768811 +0200
+***************
+*** 45,50 ****
+--- 45,51 ----
+  #ifndef tree_hh_
+  #define tree_hh_
+  
++ #include <cstddef>
+  #include <cassert>
+  #include <memory>
+  #include <stdexcept>