Sun Oct 9 19:40:03 2011 UTC ()
Add support for kqueue by using the patches written by Dmitry Matveev during
the Google Summer of Code 2011 program.  Congratulations, Dmitry!  :-)

This comes in the form of a new 'kqueue' build-time option.  This should NOT
be an option, but it is for two reasons:
- I consider this still experimental for it to be enabled on everyone's
  machines, and the code is not "official".
- The patch requires us to run automake/autoconf during the pre-configure
  stage, and I don't want to add these dependencies on the default package
  build.
When these patches get integrated upstream, we can get rid of the option
altogether.

Also note that I had to backport some of our custom changes to Makefile.in
files and some to configure to the original Makefile.am files and
configure.ac.  This is to prevent our custom patches from being lost during
the automake/autoconf invocations we now do when 'kqueue' is enabled.

Bump PKGREVISION to 1.


(jmmv)
diff -r1.186 -r1.187 pkgsrc/devel/glib2/Makefile
diff -r1.153 -r1.154 pkgsrc/devel/glib2/distinfo
diff -r0 -r1.8 pkgsrc/devel/glib2/options.mk
diff -r1.7 -r1.8 pkgsrc/devel/glib2/patches/patch-ak
diff -r0 -r1.1 pkgsrc/devel/glib2/patches/patch-ck
diff -r0 -r1.1 pkgsrc/devel/glib2/patches/patch-cl
diff -r0 -r1.1 pkgsrc/devel/glib2/patches/patch-cm
diff -r0 -r1.1 pkgsrc/devel/glib2/patches/patch-cn

cvs diff -r1.186 -r1.187 pkgsrc/devel/glib2/Makefile (expand / switch to context diff)
--- pkgsrc/devel/glib2/Makefile 2011/08/04 23:52:04 1.186
+++ pkgsrc/devel/glib2/Makefile 2011/10/09 19:40:02 1.187
@@ -1,6 +1,9 @@
-# $NetBSD: Makefile,v 1.186 2011/08/04 23:52:04 wiz Exp $
+# $NetBSD: Makefile,v 1.187 2011/10/09 19:40:02 jmmv Exp $
 
 .include "Makefile.common"
+.include "options.mk"
+
+PKGREVISION=		1
 
 CATEGORIES=		devel
 

cvs diff -r1.153 -r1.154 pkgsrc/devel/glib2/distinfo (expand / switch to context diff)
--- pkgsrc/devel/glib2/distinfo 2011/06/09 11:16:38 1.153
+++ pkgsrc/devel/glib2/distinfo 2011/10/09 19:40:02 1.154
@@ -1,8 +1,11 @@
-$NetBSD: distinfo,v 1.153 2011/06/09 11:16:38 drochner Exp $
+$NetBSD: distinfo,v 1.154 2011/10/09 19:40:02 jmmv Exp $
 
 SHA1 (glib-2.28.8.tar.bz2) = 20cd63705a8805260da0320c65b979233f2e3c18
 RMD160 (glib-2.28.8.tar.bz2) = f087a71445eb40fae5eab45a14cb74d4e239d5e6
 Size (glib-2.28.8.tar.bz2) = 7017806 bytes
+SHA1 (glib-gio-kqueue-2.28.8-v0.patch) = 2705a9da3aa87cf3ef15e4288adb1367462ff012
+RMD160 (glib-gio-kqueue-2.28.8-v0.patch) = ebd7c05b2b6adde972c15476a728eb4a98b19969
+Size (glib-gio-kqueue-2.28.8-v0.patch) = 58453 bytes
 SHA1 (patch-aa) = 44a3cc4b457ea75a3516d5c49155a3720bde515f
 SHA1 (patch-ab) = 757cfd7f686d3e3147d13f530d1c85c7835bf762
 SHA1 (patch-ac) = 96e153339675457356f71e35d20375bed669d337
@@ -13,7 +16,7 @@
 SHA1 (patch-ah) = 239dc3d0734424a7cafc5dd8d8381768cba2d23e
 SHA1 (patch-ai) = ff1963c05cf82059de692cd5bf08872544297b7f
 SHA1 (patch-aj) = 9e5a7ccf081e3ebdf7888a67b027b696f632177c
-SHA1 (patch-ak) = 718dad5f27cb8254d84d6f8007a96b33e7c4a435
+SHA1 (patch-ak) = 29a2adc7d7cd41a28ecad039cb5f46be5e9df974
 SHA1 (patch-al) = bde29693322c568f9a4ad090f1d469de5f69920e
 SHA1 (patch-am) = 062d3d295f00485ac3c3839dd4697957ebc66772
 SHA1 (patch-an) = dd136645f7555f3600562b055cdcb4f60b41ae78
@@ -29,3 +32,7 @@
 SHA1 (patch-ch) = df8444835b9954f902936c8b6fab5b44ac350db0
 SHA1 (patch-ci) = f0191fd416222617a2e95e95a05c3dcf6b6ce2d2
 SHA1 (patch-cj) = ef6b6ec1986990df096b342cfd8e9513e42671df
+SHA1 (patch-ck) = 324116cc6fb8dbce8ce8d20f5b237fc469a55cd2
+SHA1 (patch-cl) = a78266f135dc08e1f4710370c19cc820a6da7eb8
+SHA1 (patch-cm) = 8ddac97b3476c992abea3e5d9383cd3a5c9008f3
+SHA1 (patch-cn) = b930dc95d44eacc9448f2a3a799a95db2880bfd4

File Added: pkgsrc/devel/glib2/options.mk
# $NetBSD: options.mk,v 1.8 2011/10/09 19:40:02 jmmv Exp $

PKG_OPTIONS_VAR=	PKG_OPTIONS.glib2
PKG_SUPPORTED_OPTIONS=	kqueue
PKG_SUGGESTED_OPTIONS=	# empty

# We really should be doing this by default.  However, the kqueue patch is not
# official, needs some more testing and, due to the way it is written, forces
# us to run autoconf.  If the code gets integrated upstream, there is no reason
# for us to provide a 'kqueue' option here and it should just go away.
#
#.if exists(/usr/include/sys/event.h)
#PKG_SUGGESTED_OPTIONS+=	kqueue
#.endif

.include "../../mk/bsd.prefs.mk"
.include "../../mk/bsd.options.mk"

.if $(PKG_OPTIONS:Mkqueue)
PATCH_SITES=		http://dmitrymatveev.co.uk/files/
PATCHFILES=		glib-gio-kqueue-2.28.8-v0.patch
PATCH_DIST_STRIP=	-p0

USE_TOOLS+=	automake autoconf
pre-configure: regen-autotools
regen-autotools:
	cd ${WRKSRC} && automake
	cd ${WRKSRC} && autoconf
.endif

cvs diff -r1.7 -r1.8 pkgsrc/devel/glib2/patches/Attic/patch-ak (expand / switch to context diff)
--- pkgsrc/devel/glib2/patches/Attic/patch-ak 2010/11/02 14:52:24 1.7
+++ pkgsrc/devel/glib2/patches/Attic/patch-ak 2011/10/09 19:40:02 1.8
@@ -1,8 +1,8 @@
-$NetBSD: patch-ak,v 1.7 2010/11/02 14:52:24 drochner Exp $
+$NetBSD: patch-ak,v 1.8 2011/10/09 19:40:02 jmmv Exp $
 
---- configure.ac.orig	2010-05-02 23:58:58.000000000 +0000
-+++ configure.ac
-@@ -846,7 +846,7 @@ int main (int argc, char **argv)
+--- configure.ac.orig	2011-06-05 19:18:49.000000000 -0400
++++ configure.ac	2011-10-08 23:50:38.000000000 -0400
+@@ -825,7 +825,7 @@ int main (int argc, char **argv)
  AC_MSG_RESULT($g_have_gnuc_visibility)
  AM_CONDITIONAL(HAVE_GNUC_VISIBILITY, [test x$g_have_gnuc_visibility = xyes])
  
@@ -11,14 +11,10 @@
  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if defined(__SUNPRO_C) || (__SUNPRO_C >= 0x550)
  #else
  # include "error: this is not Sun Studio."
-@@ -1043,10 +1043,22 @@ fi
+@@ -1023,8 +1023,20 @@ fi
  
  case $host in
    *-*-solaris* )
--     AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
--     AC_DEFINE(_XOPEN_SOURCE,          2, Needed to get declarations for msg_control and msg_controllen on Solaris)
--     AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)
--     ;;
 +    AC_MSG_CHECKING([whether using Sun Studio C compiler with C99])
 +    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if defined(__STDC_VERSION__) || (__STDC_VERSION__ - 0 >= 199901L)
 +#else
@@ -29,16 +25,14 @@
 +    if test $g_have_sunstudio_c99 = yes; then
 +      AC_DEFINE(_XOPEN_SOURCE,          600, Needed to get declarations for msg_control and msg_controllen on Solaris)
 +    else
-+      AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
-+      AC_DEFINE(_XOPEN_SOURCE,          2, Needed to get declarations for msg_control and msg_controllen on Solaris)
+      AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
+      AC_DEFINE(_XOPEN_SOURCE,          2, Needed to get declarations for msg_control and msg_controllen on Solaris)
 +    fi
 +
-+    AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)
-+    ;;
+      AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)
+      ;;
  esac
- 
- dnl
-@@ -1399,11 +1411,12 @@ if test x"$glib_native_win32" = xyes; th
+@@ -1379,11 +1391,12 @@ if test x"$glib_native_win32" = xyes; th
    G_MODULE_LDFLAGS=
  else
    export SED
@@ -52,7 +46,7 @@
  G_MODULE_HAVE_DLERROR=0
  dnl *** force native WIN32 shared lib loader 
  if test -z "$G_MODULE_IMPL"; then
-@@ -1464,7 +1477,7 @@ if test "$G_MODULE_IMPL" = "G_MODULE_IMP
+@@ -1444,7 +1457,7 @@ if test "$G_MODULE_IMPL" = "G_MODULE_IMP
  	LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
  dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
  	echo "void glib_plugin_test(void) { }" > plugin.c
@@ -61,7 +55,7 @@
  		-export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
  	AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
  		glib_cv_rtldglobal_broken,[
-@@ -1528,6 +1541,38 @@ dnl *** check for having dlerror()
+@@ -1508,6 +1521,38 @@ dnl *** check for having dlerror()
  		[G_MODULE_HAVE_DLERROR=0])
  	LIBS="$LIBS_orig"
  fi
@@ -100,7 +94,7 @@
  dnl *** done, have we got an implementation?
  if test -z "$G_MODULE_IMPL"; then
  	G_MODULE_IMPL=0
-@@ -1538,7 +1583,7 @@ fi
+@@ -1518,7 +1563,7 @@ fi
  
  AC_MSG_CHECKING(for the suffix of module shared libraries)
  export SED
@@ -109,7 +103,7 @@
  eval $shrext_cmds
  module=yes eval std_shrext=$shrext_cmds
  # chop the initial dot
-@@ -1557,6 +1602,8 @@ AC_SUBST(G_MODULE_PLUGIN_LIBS)
+@@ -1537,6 +1582,8 @@ AC_SUBST(G_MODULE_PLUGIN_LIBS)
  AC_SUBST(G_MODULE_LDFLAGS)
  AC_SUBST(G_MODULE_HAVE_DLERROR)
  AC_SUBST(G_MODULE_BROKEN_RTLD_GLOBAL)
@@ -118,7 +112,7 @@
  AC_SUBST(G_MODULE_NEED_USCORE)
  AC_SUBST(GLIB_DEBUG_FLAGS)
  
-@@ -1945,22 +1992,8 @@ if test x"$have_threads" != xno; then
+@@ -1925,22 +1972,8 @@ if test x"$have_threads" != xno; then
          G_THREAD_LIBS="-lpthread -lthread"
          ;;
        *)
@@ -143,3 +137,12 @@
           ;;
      esac 
    fi
+@@ -3638,7 +3671,7 @@ AC_ARG_ENABLE(Bsymbolic,
+                            enable_Bsymbolic=no)
+                LDFLAGS="${SAVED_LDFLAGS}"])
+ 
+-if test "x${enable_Bsymbolic}" == "xyes"; then
++if test "x${enable_Bsymbolic}" = "xyes"; then
+   GLIB_LINK_FLAGS=-Wl,-Bsymbolic-functions
+ fi
+ 

File Added: pkgsrc/devel/glib2/patches/Attic/patch-ck
$NetBSD: patch-ck,v 1.1 2011/10/09 19:40:02 jmmv Exp $

--- glib/libcharset/Makefile.am.orig	2011-06-05 23:18:49.000000000 +0000
+++ glib/libcharset/Makefile.am
@@ -25,18 +25,6 @@ EXTRA_DIST += 			\
 charset_alias = $(DESTDIR)$(libdir)/charset.alias
 charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
 install-exec-local: all-local
-	$(mkinstalldirs) $(DESTDIR)$(libdir)
-	if test -f $(charset_alias); then \
-	  sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
-	  $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-	  rm -f $(charset_tmp) ; \
-	else \
-	  if test @GLIBC21@ = no; then \
-	    sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
-	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-	    rm -f $(charset_tmp) ; \
-	  fi ; \
-	fi
 
 uninstall-local: all-local
 	if test -f $(charset_alias); then \

File Added: pkgsrc/devel/glib2/patches/Attic/patch-cl
$NetBSD: patch-cl,v 1.1 2011/10/09 19:40:02 jmmv Exp $

--- gio/Makefile.am.orig	2011-10-09 17:21:29.000000000 +0000
+++ gio/Makefile.am
@@ -632,12 +632,6 @@ gdbus_LDADD = libgio-2.0.la \
 	$(top_builddir)/glib/libglib-2.0.la 		\
 	$(top_builddir)/gobject/libgobject-2.0.la
 
-completiondir = $(sysconfdir)/bash_completion.d
-completion_SCRIPTS = \
-	gdbus-bash-completion.sh		\
-	gsettings-bash-completion.sh
-EXTRA_DIST += $(completion_SCRIPTS)
-
 # ------------------------------------------------------------------------
 
 dist-hook: $(BUILT_EXTRA_DIST) ../build/win32/vs9/gio.vcproj ../build/win32/vs10/gio.vcxproj ../build/win32/vs10/gio.vcxproj.filters

File Added: pkgsrc/devel/glib2/patches/Attic/patch-cm
$NetBSD: patch-cm,v 1.1 2011/10/09 19:40:02 jmmv Exp $

sysutils/gio-fam builds the gio/fam backend as a separate module.  Force it
to link against the installed version of glib2, as it is not rebuilt by the
package.

--- gio/fam/Makefile.am.orig	2010-09-27 18:48:33.000000000 +0000
+++ gio/fam/Makefile.am
@@ -25,11 +25,9 @@ libgiofam_la_CFLAGS = \
 	-DGIO_COMPILATION		\
 	-DG_DISABLE_DEPRECATED
 
-libgiofam_la_LDFLAGS = $(module_flags)
+libgiofam_la_LDFLAGS = $(module_flags) \
+		$$(pkg-config --libs gio-2.0 gobject-2.0 glib-2.0)
 libgiofam_la_LIBADD = \
-		$(top_builddir)/gio/libgio-2.0.la \
-		$(top_builddir)/gobject/libgobject-2.0.la \
-		$(top_builddir)/glib/libglib-2.0.la \
 		$(GLIB_LIBS) \
 		$(FAM_LIBS) \
 		$(NULL)
@@ -41,9 +39,6 @@ RUN_QUERY_MODULES=true
 endif
 
 install-data-hook:
-	if $(RUN_QUERY_MODULES) && test -z "$(DESTDIR)" ; then					\
-		$(top_builddir)/gio/gio-querymodules$(EXEEXT) $(DESTDIR)$(GIO_MODULE_DIR) ;	\
-	fi
 
 uninstall-local:
 	$(RM) $(DESTDIR)$(GIO_MODULE_DIR)/giomodules.cache

File Added: pkgsrc/devel/glib2/patches/Attic/patch-cn
$NetBSD: patch-cn,v 1.1 2011/10/09 19:40:03 jmmv Exp $

The mem-overflow test contains a declaration of an empty struct, which breaks
on at least SunPro cc, and presumably some other non-gcc compilers.  Skip this
test for now, pending a better fix.
https://bugzilla.gnome.org/show_bug.cgi?id=641350

--- glib/tests/Makefile.am.orig	2011-06-05 23:18:49.000000000 +0000
+++ glib/tests/Makefile.am
@@ -66,9 +66,6 @@ hostutils_LDADD     = $(progs_ldadd)
 TEST_PROGS         += gvariant
 gvariant_LDADD      = $(progs_ldadd)
 
-TEST_PROGS         += mem-overflow
-mem_overflow_LDADD  = $(progs_ldadd)
-
 TEST_PROGS              += utf8-performance
 utf8_performance_SOURCES = utf8-performance.c
 utf8_performance_LDADD   = $(progs_ldadd)