about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/web/wml
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/web/wml')
-rw-r--r--nixpkgs/pkgs/development/web/wml/default.nix69
-rw-r--r--nixpkgs/pkgs/development/web/wml/dynaloader.patch11
-rw-r--r--nixpkgs/pkgs/development/web/wml/no_bitvector.patch10
-rw-r--r--nixpkgs/pkgs/development/web/wml/redhat-with-thr.patch19
4 files changed, 109 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/web/wml/default.nix b/nixpkgs/pkgs/development/web/wml/default.nix
new file mode 100644
index 000000000000..13295edd310a
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/wml/default.nix
@@ -0,0 +1,69 @@
+{ lib, fetchurl, perlPackages, ncurses, lynx, makeWrapper }:
+
+perlPackages.buildPerlPackage {
+  pname = "wml";
+  version = "2.0.11";
+
+  src = fetchurl {
+    url = "http://thewml.org/distrib/wml-2.0.11.tar.gz";
+    sha256 = "0jjxpq91x7y2mgixz7ghqp01m24qa37wl3zz515rrzv7x8cyy4cf";
+  };
+
+  setOutputFlags = false;
+
+  # Getting lots of Non-ASCII character errors from pod2man.
+  # Inserting =encoding utf8 before the first =head occurrence.
+  # Wasn't able to fix mp4h.
+  preConfigure = ''
+    touch Makefile.PL
+    for i in wml_backend/p6_asubst/asubst.src wml_aux/freetable/freetable.src wml_docs/*.pod wml_include/des/*.src wml_include/fmt/*.src; do
+      sed -i '0,/^=head/{s/^=head/=encoding utf8\n=head/}' $i
+    done
+    sed -i 's/ doc / /g' wml_backend/p2_mp4h/Makefile.in
+    sed -i '/p2_mp4h\/doc/d' Makefile.in
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = with perlPackages;
+    [ perl TermReadKey GD BitVector ncurses lynx ImageSize ];
+
+  patches = [ ./redhat-with-thr.patch ./dynaloader.patch ./no_bitvector.patch ];
+
+  # Workaround build failure on -fno-common toolchains:
+  #   ld: iselect_browse.o:(.bss+0x2020): multiple definition of `Line'; iselect_main.o:(.bss+0x100000): first defined here
+  env.NIX_CFLAGS_COMPILE = "-fcommon";
+
+  hardeningDisable = [ "format" ];
+
+  postPatch = ''
+    substituteInPlace wml_frontend/wml.src \
+      --replace "File::PathConvert::realpath" "Cwd::realpath" \
+      --replace "File::PathConvert::abs2rel" "File::Spec->abs2rel" \
+      --replace "File::PathConvert" "File::Spec"
+
+    for i in wml_include/des/imgbg.src wml_include/des/imgdot.src; do
+      substituteInPlace $i \
+        --replace "WML::GD" "GD"
+    done
+
+    rm wml_test/t/11-wmk.t
+  '';
+
+  preFixup = ''
+    wrapProgram $out/bin/wml \
+      --set PERL5LIB ${with perlPackages; makePerlPath [
+        BitVector TermReadKey ImageSize
+      ]}
+  '';
+
+  enableParallelBuilding = false;
+
+  installTargets = [ "install" ];
+
+  meta = with lib; {
+    homepage = "https://www.shlomifish.org/open-source/projects/website-meta-language/";
+    description = "Off-line HTML generation toolkit for Unix";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/web/wml/dynaloader.patch b/nixpkgs/pkgs/development/web/wml/dynaloader.patch
new file mode 100644
index 000000000000..89b9f0427f9b
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/wml/dynaloader.patch
@@ -0,0 +1,11 @@
+--- a/wml_backend/p3_eperl/configure	2009-10-03 19:12:29.000000000 -0500
++++ b/wml_backend/p3_eperl/configure	2009-10-03 19:12:45.000000000 -0500
+@@ -678,7 +678,7 @@
+ #define HAVE_PERL_DYNALOADER 1
+ EOF
+ 
+-        perl_dla=$perl_archlib/auto/DynaLoader/DynaLoader.a
++        perl_dla=$perl_archlib/CORE/libperl.so
+         ;;
+     * )
+         rc=no
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/web/wml/no_bitvector.patch b/nixpkgs/pkgs/development/web/wml/no_bitvector.patch
new file mode 100644
index 000000000000..d5fe926c4c7d
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/wml/no_bitvector.patch
@@ -0,0 +1,10 @@
+--- a/wml_common/Makefile.in	2014-12-17 00:28:25.156736048 +0100
++++ b/wml_common/Makefile.in	2014-12-17 00:28:30.501817958 +0100
+@@ -45,7 +45,6 @@
+      have_gd=0
+ 
+ SUBDIRS = \
+-     bitvector \
+      filepathconvert \
+      gd \
+      getoptlong \
diff --git a/nixpkgs/pkgs/development/web/wml/redhat-with-thr.patch b/nixpkgs/pkgs/development/web/wml/redhat-with-thr.patch
new file mode 100644
index 000000000000..4b06ccb3f56a
--- /dev/null
+++ b/nixpkgs/pkgs/development/web/wml/redhat-with-thr.patch
@@ -0,0 +1,19 @@
+Description: Fix FTBFS with Perl 5.16
+ Patch taken from Fedora
+Debian-Bug: 676263
+Fedora-Bug: 839609
+Author: Jitka Plesnikova
+Origin: https://bugzilla.redhat.com/show_bug.cgi?id=839609
+
+--- a/wml_backend/p3_eperl/eperl_perl5.h 2012-07-27 10:49:27.048508799 +0200
++++ b/wml_backend/p3_eperl/eperl_perl5.h 2012-07-27 10:50:16.288714291 +0200
+@@ -72,9 +72,6 @@ 
+ #  define PL_curstash curstash
+ #endif
+ 
+-#ifndef WITH_THR
+-#  define PL_defoutgv defoutgv
+-#endif
+ 
+ /*  
+   Initialization of locales when building a new Perl interpreter.
\ No newline at end of file