Subject: sawfish package
To: None <tech-pkg@netbsd.org>
From: Dan Winship <danw@helixcode.com>
List: tech-pkg
Date: 06/23/2000 19:48:09
I made a package for sawfish (the window manager formerly known as
sawmill). It was ok.

1) I had to update devel/librep and x11/rep-gtk. Ted, I'm happy to
   claim maintainership of them if you don't want them any more.

2) rep-gtk needs a dynamically loadable libintl to work. gettext
   0.10.35 *almost* has support for building a libintl.so, but it's
   turned off. The gettext maintainer says this is because the
   interfaces aren't frozen yet. However, (a) we know how to use
   shared library version numbers, (b) libintl is included in glibc,
   so if it changed incompatibly, Linux would lose hard, and (c) the
   gettext maintainer hasn't actually done any maintaining in a long
   time. Anyway, FreeBSD's gettext port builds libintl.so too. I think
   we're ok.

   Related to (c), I also grabbed some libintl bug fixes (including a
   setuid security fix) from glibc.

3) librep now needs gmp 3.0 or greater. Our gmp package is 2.0.2
   (which doesn't build on the powerpc with our gcc, FTR). The gmp
   3.0.1 NEWS file says it's source and binary compatible with 2.0.2
   "except mpn_gcd". I built it and it works and "make check"s, but I
   don't know for sure if other things that use it will cope... I
   couldn't get any of the three gmp-using packages to build.
   (lang/ghc doesn't support powerpc, security/isakmpd is marked
   broken, and security/srp_client bombed out in Kerberos-related
   code.)

   Also, the current (2.0.2) package has some patches for mips and
   a.out vs elf stuff that don't apply anywhere in the new package,
   because they redid it with autoconf and libtool. I'm guessing
   they're probably not needed any more, but I don't have a mips or
   a.out box I can check on...


Questions before I commit:

Is hacking up gettext like that ok?

How do I make rep-gtk depend on the "new" gettext (with .so) which has
the same version number as the "old" gettext the user may already have
installed?

Should I do anything about gmp or just don't worry be happy? (And
should I update lang/ghc and security/srp_client to require
"gmp>=2.0.2" instead of "gmp-2.0.2"?) If people want to try out the
new gmp, the diffs are included below. (And the rest of the diffs are
at http://primates.helixcode.com/~danw/sawfish.diff.)

-- Dan


Index: gmp/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gmp/Makefile,v
retrieving revision 1.3
diff -u -w -r1.3 Makefile
--- Makefile	1999/12/26 18:07:19	1.3
+++ Makefile	2000/06/23 23:17:59
@@ -1,7 +1,7 @@
 # $NetBSD: Makefile,v 1.3 1999/12/26 18:07:19 tron Exp $
 #
 
-DISTNAME=	gmp-2.0.2
+DISTNAME=		gmp-3.0.1
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_GNU:=gmp/}
 
@@ -9,5 +9,7 @@
 HOMEPAGE=	http://www.gnu.org/software/gmp/gmp.html
 
 GNU_CONFIGURE=	YES
+USE_LIBTOOL=		YES
+LTCONFIG_OVERRIDE=	${WRKSRC}/ltconfig
 
 .include "../../mk/bsd.pkg.mk"
Index: gmp/files/md5
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gmp/files/md5,v
retrieving revision 1.1.1.1
diff -u -w -r1.1.1.1 md5
--- md5	1999/04/05 19:48:59	1.1.1.1
+++ md5	2000/06/23 23:17:59
@@ -1,3 +1,3 @@
-$NetBSD: md5,v 1.1.1.1 1999/04/05 19:48:59 hubertf Exp $
+$NetBSD$
 
-MD5 (gmp-2.0.2.tar.gz) = 20f6714665fd2b58d2c280513f5c204d
+MD5 (gmp-3.0.1.tar.gz) = c69bf4c01101f22238b5efb0ca7e177b
Index: gmp/files/patch-sum
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gmp/files/patch-sum,v
retrieving revision 1.2
diff -u -w -r1.2 patch-sum
--- patch-sum	1999/07/16 21:11:56	1.2
+++ patch-sum	2000/06/23 23:17:59
@@ -1,4 +1,6 @@
 $NetBSD: patch-sum,v 1.2 1999/07/16 21:11:56 jlam Exp $
 
-MD5 (patch-aa) = f123af3c9c66aa78e0b6f80cfc6fd9b1
-MD5 (patch-ab) = 2c419f4b1b6c50162d54ad8f558b72c2
+This placeholder file is generated by the ``makepatchsum'' target
+whenever the patches directory is empty or missing. Its purpose
+is to ensure that the presence of any obsolete patches will cause
+the proper error to be emitted at build time.
Index: gmp/patches/patch-aa
===================================================================
RCS file: patch-aa
diff -N patch-aa
--- /tmp/cvs02403ag	Fri Jun 23 16:18:06 2000
+++ /dev/null	Fri Jun 23 03:58:44 2000
@@ -1,15 +0,0 @@
-$NetBSD: patch-aa,v 1.2 1999/12/28 05:00:41 wiz Exp $
---- /dev/null	Mon Apr 26 18:22:36 1999
-+++ config/mt-mips-netbsd	Mon Apr 26 17:59:43 1999
-@@ -0,0 +1 @@
-+CFLAGS=-Wa,-KPIC
---- configure.in.orig	Fri Jun  7 04:07:01 1996
-+++ configure.in	Mon Apr 26 18:33:02 1999
-@@ -31,5 +31,7 @@
-     ;;
-   *-*-linux*)
-     target_makefile_frag=config/mt-linux ;;
-+  mips*-*-netbsd*)
-+    target_makefile_frag=config/mt-mips-netbsd ;;
-     
- esac
Index: gmp/patches/patch-ab
===================================================================
RCS file: patch-ab
diff -N patch-ab
--- /tmp/cvs02403ah	Fri Jun 23 16:18:06 2000
+++ /dev/null	Fri Jun 23 03:58:44 2000
@@ -1,57 +0,0 @@
-$NetBSD: patch-ab,v 1.1 1999/07/16 21:12:57 jlam Exp $
-
---- mpn/configure.in.orig	Tue Jun  4 01:52:01 1996
-+++ mpn/configure.in	Fri Jul 16 17:02:26 1999
-@@ -38,14 +38,25 @@
-   a29k*-*-*) path="am29000" ;;
- 
- # Intel x86 configurations
--  i[34]86*-*-linuxaout* | i[34]86*-*-linuxoldld* | \
--  i[34]86*-*-*bsd*)			# x86 running BSD or Linux with a.out
-+  i[3456]86*-*-*bsd* | pentium-*-*bsd* | pentiumpro-*-*bsd*)
-+	if $CC -E - -dM </dev/null | grep -q __ELF__; then
-+		echo '#define ELF_SYNTAX' >asm-syntax.h		# ELF
-+	else
-+		echo '#define BSD_SYNTAX' >asm-syntax.h		# a.out
-+	fi
-+	echo '#include "'$srcdir'/x86/syntax.h"' >>asm-syntax.h
-+	case "${target}" in
-+	  i[34]86*-*-*bsd*)
-+		path="x86" ;;
-+	  i[56]86*-*-*bsd* | pentium-*-*bsd* | pentiumpro-*-*bsd*)
-+		path="x86/pentium x86" ;;
-+	esac ;;
-+  i[34]86*-*-linuxaout* | i[34]86*-*-linuxoldld*) # x86 running Linux with a.out
- 	echo '#define BSD_SYNTAX' >asm-syntax.h
- 	echo '#include "'$srcdir'/x86/syntax.h"' >>asm-syntax.h
- 	path="x86" ;;
-   i[56]86*-*-linuxaout* | pentium-*-linuxaout* | pentiumpro-*-linuxaout* | \
--  i[56]86*-*-linuxoldld* | pentium-*-linuxoldld* | pentiumpro-*-linuxoldld* | \
--  i[56]86*-*-*bsd* | pentium-*-*bsd* | pentiumpro-*-*bsd*)
-+  i[56]86*-*-linuxoldld* | pentium-*-linuxoldld* | pentiumpro-*-linuxoldld*)
- 	echo '#define BSD_SYNTAX' >asm-syntax.h
- 	echo '#include "'$srcdir'/x86/syntax.h"' >>asm-syntax.h
- 	path="x86/pentium x86" ;;
-@@ -110,10 +121,22 @@
- case "${target}" in
-   *-*-linuxaout* | *-*-linuxoldld*) config=bsd.h ;;
-   *-sysv* | *-solaris* | *-*-linux*) config="sysv.h" ;;
-+  i[3456]86*-*-*netbsd* | pentium-*-*netbsd* | pentiumpro-*-*netbsd*)
-+	if $CC -E - -dM </dev/null | grep -q __ELF__; then
-+		config="sysv.h"	# ELF
-+	else
-+		config="bsd.h"	# a.out
-+	fi ;;
-   *) config="bsd.h" ;;
- esac
- 
- case "${target}" in
-+  i[3456]86*-*-*netbsd* | pentium-*-*netbsd* | pentiumpro-*-*netbsd*)
-+	if $CC -E - -dM </dev/null | grep -q __ELF__; then
-+		# ELF
-+	else
-+		target_makefile_frag=config/t-oldgas # a.out
-+	fi ;;
-   i[3456]86*-*-*bsd* | i[3456]86*-*-linuxaout* | i[3456]86*-*-linuxoldld* | \
-   pentium-*-*bsd* | pentium-*-linuxaout* | pentium-*-linuxoldld* | \
-   pentiumpro-*-*bsd* | pentiumpro-*-linuxaout* | pentiumpro-*-linuxoldld*)
Index: gmp/pkg/PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gmp/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -w -r1.1.1.1 PLIST
--- PLIST	1999/04/05 19:48:59	1.1.1.1
+++ PLIST	2000/06/23 23:17:59
@@ -7,3 +7,5 @@
 info/gmp.info-3
 @exec   install-info --info-dir=%D/info         %D/info/gmp.info
 lib/libgmp.a
+lib/libgmp.la
+lib/libgmp.so.3.1