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
--- 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
--- 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
# $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
--- 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
+
$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 \
$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
$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
$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)