Hi!

groffer script has hardcoded path to 'libdir/groff/groffer' directory.

In Fedora, groffer files are installed into '/usr/share/groff/version/groffer' 
because we prefer not to store architecture independent files in libdir.

I'm attaching patch which adds --with-grofferdir= option to configure (in the 
same manner as existing --with-appresidir). The patch also removes hardcoded 
path in groffer script.

(I think adding a configure option is much cleaner that adding groffer_dir= to 
both 'make' and 'make install'.)

Feel free to rework/rewrite the patch. ;-) Running 'autoconf' after applying 
the patch is required.

Jan
diff -uNPrp groff-1.21/configure.ac groff-1.21.fixed/configure.ac
--- groff-1.21/configure.ac	2010-12-31 08:33:08.000000000 +0100
+++ groff-1.21.fixed/configure.ac	2011-03-21 10:43:32.249906873 +0100
@@ -59,6 +59,8 @@ GROFF_OS390
 GROFF_X11
 GROFF_APPRESDIR_OPTION
 GROFF_APPRESDIR_DEFAULT
+GROFF_GROFFERDIR_OPTION
+GROFF_GROFFERDIR_DEFAULT
 GROFF_PRINT
 AC_PROG_EGREP
 AC_PATH_PROG([PERLPATH], [perl], [/usr/bin/perl])
diff -uNPrp groff-1.21/contrib/groffer/Makefile.sub groff-1.21.fixed/contrib/groffer/Makefile.sub
--- groff-1.21/contrib/groffer/Makefile.sub	2010-12-31 08:33:09.000000000 +0100
+++ groff-1.21.fixed/contrib/groffer/Makefile.sub	2011-03-21 10:56:57.142842476 +0100
@@ -63,8 +63,6 @@ GROFFER_REST=$(srcdir)/roff2.man \
 GROFFER_PERL_=`echo $(GROFFER_PERL) | sed 's|$(srcdir)/perl/||g'`
 GROFFER_SHELL_=`echo $(GROFFER_SHELL) | sed 's|$(srcdir)/shell||g'`
 
-groffer_dir=$(libdir)/groff/groffer
-
 # TODO: Add perl check to configure script.
 groffer: $(GROFFER_PERL) $(GROFFER_SHELL) \
          $(GROFFER_REST) $(SH_DEPS_SED_SCRIPT)
@@ -75,6 +73,7 @@ groffer: $(GROFFER_PERL) $(GROFFER_SHELL
             -e "s|@g@|$(g)|g" \
 	    -e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \
 	    -e "s|@libdir@|$(DESTDIR)$(libdir)|g" \
+	    -e "s|@groffer_dir@|$(DESTDIR)$(groffer_dir)|g" \
 	    -e "s|@VERSION@|$(version)$(revision)|g" \
 	    -e "$(SH_SCRIPT_SED_CMD)" \
 	    $(srcdir)/perl/groffer.pl >$@; \
@@ -89,6 +88,7 @@ groffer: $(GROFFER_PERL) $(GROFFER_SHELL
             -e "s|@g@|$(g)|g" \
 	    -e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \
 	    -e "s|@libdir@|$(DESTDIR)$(libdir)|g" \
+	    -e "s|@groffer_dir@|$(DESTDIR)$(groffer_dir)|g" \
 	    -e "s|@VERSION@|$(version)$(revision)|g" \
 	    -e "$(SH_SCRIPT_SED_CMD)" \
             $(srcdir)/shell/groffer.sh >$@; \
diff -uNPrp groff-1.21/contrib/groffer/perl/groffer.pl groff-1.21.fixed/contrib/groffer/perl/groffer.pl
--- groff-1.21/contrib/groffer/perl/groffer.pl	2010-12-31 08:33:09.000000000 +0100
+++ groff-1.21.fixed/contrib/groffer/perl/groffer.pl	2011-03-21 10:20:21.865418634 +0100
@@ -132,8 +132,7 @@ BEGIN {
       $at_at{'BINDIR'} = '@BINDIR@';
       $at_at{'G'} = '@g@';
       $at_at{'LIBDIR'} = '@libdir@';
-      $groffer_libdir =
-	File::Spec->catdir($at_at{'LIBDIR'}, 'groff', 'groffer');
+      $groffer_libdir = '@groffer_dir@';
       $file_perl_test_pl = File::Spec->catfile($groffer_libdir,
 					       'perl_test.pl');
       $File_version_sh = File::Spec->catfile($groffer_libdir, 'version.sh');
diff -uNPrp groff-1.21/Makefile.in groff-1.21.fixed/Makefile.in
--- groff-1.21/Makefile.in	2010-12-31 08:33:08.000000000 +0100
+++ groff-1.21.fixed/Makefile.in	2011-03-21 10:53:51.551854122 +0100
@@ -188,6 +188,8 @@ localtmacdir=$(dataprogramdir)/site-tmac
 # gxditview.
 appresdir=@appresdir@
 
+groffer_dir=@groffer_dir@
+
 # `tmacpath' says where to look for macro files.
 # The current directory will be prepended in unsafe mode only; the home
 # directory will be always added.
@@ -493,6 +495,7 @@ MDEFINES= \
   "YACC=$(YACC)" \
   "YACCFLAGS=$(YACCFLAGS)" \
   "appresdir=$(appresdir)" \
+  "groffer_dir=$(groffer_dir)" \
   "bindir=$(bindir)" \
   "common_words_file=$(common_words_file)" \
   "datadir=$(datadir)" \
diff -uNPrp groff-1.21/m4/groff.m4 groff-1.21.fixed/m4/groff.m4
--- groff-1.21/m4/groff.m4	2010-12-31 08:33:09.000000000 +0100
+++ groff-1.21.fixed/m4/groff.m4	2011-03-21 10:54:17.716429483 +0100
@@ -1193,3 +1193,19 @@ AC_DEFUN([GROFF_APPRESDIR_CHECK],
        ])
      fi
    fi])
+
+
+# Set up the `--with-grofferdir' command line option.
+
+AC_DEFUN([GROFF_GROFFERDIR_OPTION],
+  [AC_ARG_WITH([grofferdir],
+     AS_HELP_STRING([--with-grofferdir=DIR],
+		    [groffer files location]))])
+
+AC_DEFUN([GROFF_GROFFERDIR_DEFAULT],
+  [if test "x$with_grofferdir" = "x"; then
+    groffer_dir=$libdir/groff/groffer
+  else
+    groffer_dir=$with_grofferdir
+  fi
+  AC_SUBST([groffer_dir])])
_______________________________________________
bug-groff mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-groff

Reply via email to