Ravenports generated: 09 Jun 2017 15:46
[ravenports.git] / bucket_73 / glib
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               glib
4 VERSION=                2.50.2
5 KEYWORDS=               devel
6 VARIANTS=               standard
7 SDESC[standard]=        Some useful routines of C programming
8 HOMEPAGE=               http://www.gtk.org/
9 CONTACT=                nobody
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            GNOME/glib/2.50
13 DISTFILE[1]=            glib-2.50.2.tar.xz:main
14 DIST_SUBDIR=            gnome2
15 DF_INDEX=               1
16 SPKGS[standard]=        single
17
18 OPTIONS_AVAILABLE=      none
19 OPTIONS_STANDARD=       none
20
21 BUILDRUN_DEPENDS=       pcre:static:standard
22                         pcre:shared:standard
23                         libffi:single:standard
24
25 USES=                   gettext-tools gettext-runtime gmake libtool perl:build pkgconfig
26                         python:build shebangfix zlib
27
28 FPC_EQUIVALENT=         devel/glib20
29 SHEBANG_FILES=          */*.pl
30
31 MUST_CONFIGURE=         gnu
32 CONFIGURE_ARGS=         --disable-gtk-doc
33                         --with-html-dir={{PREFIX}}/share/doc
34                         --disable-man
35                         --without-xml-catalog
36                         --enable-static=yes
37                         --with-pcre=system
38                         --disable-fam
39                         --disable-dtrace
40                         --with-libiconv=gnu
41 CONFIGURE_ENV=          ac_cv_header_sys_inotify_h=
42
43 INSTALL_TARGET=         install-strip
44 INSTALL_REQ_TOOLCHAIN=  yes
45 PLIST_SUB=              LIBVERSION=0.5000.2
46                         RESETPREFIX={{PREFIX}}
47
48 post-patch:
49         @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g ; \
50                 s|/usr/share/locale/locale|${LOCALBASE}/share/locale/locale|g' \
51                         ${WRKSRC}/glib/gutils.c
52         @${REINPLACE_CMD} -e 's|inotify_support=yes|inotify_support=no| ; \
53                 s|-Werror|| ; \
54                 s|#define HAVE_SYS_INOTIFY_H 1||' ${WRKSRC}/configure
55
56 post-install:
57         @${MKDIR} ${STAGEDIR}${PREFIX}/share/GConf/gsettings
58         @${MKDIR} ${STAGEDIR}${PREFIX}/lib/gio/modules
59 .for m in glib gio gobject
60         ${INSTALL_MAN} ${${m}_MAN:S|^|${WRKSRC}/docs/reference/${m}/|} \
61                 ${STAGEDIR}${MANPREFIX}/man/man1
62 .endfor
63
64 [FILE:205:descriptions/desc.single]
65 GLib provides a simple, abstract, and highly portable set of C support
66 routines such as lists, trees, hashes, memory allocation, and much, much
67 more.  It is a foundation for writing portable applications.
68
69
70 [FILE:104:distinfo]
71 be68737c1f268c05493e503b3b654d2b7f43d7d0b8c5556f7e4651b870acfbf5      7582312 gnome2/glib-2.50.2.tar.xz
72
73
74 [FILE:9973:manifests/plist.single]
75 bin/
76  gapplication
77  gdbus
78  gdbus-codegen
79  gio
80  gio-querymodules
81  glib-compile-resources
82  glib-compile-schemas
83  glib-genmarshal
84  glib-gettextize
85  glib-mkenums
86  gobject-query
87  gresource
88  gsettings
89  gtester
90  gtester-report
91 share/bash-completion/completions/
92  gdbus
93  gsettings
94  gresource
95 include/gio-unix-2.0/gio/
96  gdesktopappinfo.h
97  gfiledescriptorbased.h
98  gunixconnection.h
99  gunixcredentialsmessage.h
100  gunixfdlist.h
101  gunixfdmessage.h
102  gunixinputstream.h
103  gunixmounts.h
104  gunixoutputstream.h
105  gunixsocketaddress.h
106 include/glib-2.0/gio/
107  gaction.h
108  gactiongroup.h
109  gactiongroupexporter.h
110  gactionmap.h
111  gappinfo.h
112  gapplication.h
113  gapplicationcommandline.h
114  gasyncinitable.h
115  gasyncresult.h
116  gbufferedinputstream.h
117  gbufferedoutputstream.h
118  gbytesicon.h
119  gcancellable.h
120  gcharsetconverter.h
121  gcontenttype.h
122  gconverter.h
123  gconverterinputstream.h
124  gconverteroutputstream.h
125  gcredentials.h
126  gdatagrambased.h
127  gdatainputstream.h
128  gdataoutputstream.h
129  gdbusactiongroup.h
130  gdbusaddress.h
131  gdbusauthobserver.h
132  gdbusconnection.h
133  gdbuserror.h
134  gdbusinterface.h
135  gdbusinterfaceskeleton.h
136  gdbusintrospection.h
137  gdbusmenumodel.h
138  gdbusmessage.h
139  gdbusmethodinvocation.h
140  gdbusnameowning.h
141  gdbusnamewatching.h
142  gdbusobject.h
143  gdbusobjectmanager.h
144  gdbusobjectmanagerclient.h
145  gdbusobjectmanagerserver.h
146  gdbusobjectproxy.h
147  gdbusobjectskeleton.h
148  gdbusproxy.h
149  gdbusserver.h
150  gdbusutils.h
151  gdrive.h
152  gdtlsclientconnection.h
153  gdtlsconnection.h
154  gdtlsserverconnection.h
155  gemblem.h
156  gemblemedicon.h
157  gfile.h
158  gfileattribute.h
159  gfileenumerator.h
160  gfileicon.h
161  gfileinfo.h
162  gfileinputstream.h
163  gfileiostream.h
164  gfilemonitor.h
165  gfilenamecompleter.h
166  gfileoutputstream.h
167  gfilterinputstream.h
168  gfilteroutputstream.h
169  gicon.h
170  ginetaddress.h
171  ginetaddressmask.h
172  ginetsocketaddress.h
173  ginitable.h
174  ginputstream.h
175  gio-autocleanups.h
176  gio.h
177  gioenums.h
178  gioenumtypes.h
179  gioerror.h
180  giomodule.h
181  gioscheduler.h
182  giostream.h
183  giotypes.h
184  glistmodel.h
185  gliststore.h
186  gloadableicon.h
187  gmemoryinputstream.h
188  gmemoryoutputstream.h
189  gmenu.h
190  gmenuexporter.h
191  gmenumodel.h
192  gmount.h
193  gmountoperation.h
194  gnativevolumemonitor.h
195  gnetworkaddress.h
196  gnetworking.h
197  gnetworkmonitor.h
198  gnetworkservice.h
199  gnotification.h
200  goutputstream.h
201  gpermission.h
202  gpollableinputstream.h
203  gpollableoutputstream.h
204  gpollableutils.h
205  gpropertyaction.h
206  gproxy.h
207  gproxyaddress.h
208  gproxyaddressenumerator.h
209  gproxyresolver.h
210  gremoteactiongroup.h
211  gresolver.h
212  gresource.h
213  gseekable.h
214  gsettings.h
215  gsettingsbackend.h
216  gsettingsschema.h
217  gsimpleaction.h
218  gsimpleactiongroup.h
219  gsimpleasyncresult.h
220  gsimpleiostream.h
221  gsimplepermission.h
222  gsimpleproxyresolver.h
223  gsocket.h
224  gsocketaddress.h
225  gsocketaddressenumerator.h
226  gsocketclient.h
227  gsocketconnectable.h
228  gsocketconnection.h
229  gsocketcontrolmessage.h
230  gsocketlistener.h
231  gsocketservice.h
232  gsrvtarget.h
233  gsubprocess.h
234  gsubprocesslauncher.h
235  gtask.h
236  gtcpconnection.h
237  gtcpwrapperconnection.h
238  gtestdbus.h
239  gthemedicon.h
240  gthreadedsocketservice.h
241  gtlsbackend.h
242  gtlscertificate.h
243  gtlsclientconnection.h
244  gtlsconnection.h
245  gtlsdatabase.h
246  gtlsfiledatabase.h
247  gtlsinteraction.h
248  gtlspassword.h
249  gtlsserverconnection.h
250  gvfs.h
251  gvolume.h
252  gvolumemonitor.h
253  gzlibcompressor.h
254  gzlibdecompressor.h
255 include/glib-2.0/
256  glib-object.h
257  glib-unix.h
258  glib.h
259 include/glib-2.0/glib/deprecated/
260  gallocator.h
261  gcache.h
262  gcompletion.h
263  gmain.h
264  grel.h
265  gthread.h
266 include/glib-2.0/glib/
267  galloca.h
268  garray.h
269  gasyncqueue.h
270  gatomic.h
271  gbacktrace.h
272  gbase64.h
273  gbitlock.h
274  gbookmarkfile.h
275  gbytes.h
276  gcharset.h
277  gchecksum.h
278  gconvert.h
279  gdataset.h
280  gdate.h
281  gdatetime.h
282  gdir.h
283  genviron.h
284  gerror.h
285  gfileutils.h
286  ggettext.h
287  ghash.h
288  ghmac.h
289  ghook.h
290  ghostutils.h
291  gi18n-lib.h
292  gi18n.h
293  giochannel.h
294  gkeyfile.h
295  glib-autocleanups.h
296  glist.h
297  gmacros.h
298  gmain.h
299  gmappedfile.h
300  gmarkup.h
301  gmem.h
302  gmessages.h
303  gnode.h
304  goption.h
305  gpattern.h
306  gpoll.h
307  gprimes.h
308  gprintf.h
309  gqsort.h
310  gquark.h
311  gqueue.h
312  grand.h
313  gregex.h
314  gscanner.h
315  gsequence.h
316  gshell.h
317  gslice.h
318  gslist.h
319  gspawn.h
320  gstdio.h
321  gstrfuncs.h
322  gstring.h
323  gstringchunk.h
324  gtestutils.h
325  gthread.h
326  gthreadpool.h
327  gtimer.h
328  gtimezone.h
329  gtrashstack.h
330  gtree.h
331  gtypes.h
332  gunicode.h
333  gurifuncs.h
334  gutils.h
335  gvariant.h
336  gvarianttype.h
337  gversion.h
338  gversionmacros.h
339  gwin32.h
340 include/glib-2.0/
341  gmodule.h
342 include/glib-2.0/gobject/
343  gbinding.h
344  gboxed.h
345  gclosure.h
346  genums.h
347  glib-types.h
348  gmarshal.h
349  gobject-autocleanups.h
350  gobject.h
351  gobjectnotifyqueue.c
352  gparam.h
353  gparamspecs.h
354  gsignal.h
355  gsourceclosure.h
356  gtype.h
357  gtypemodule.h
358  gtypeplugin.h
359  gvalue.h
360  gvaluearray.h
361  gvaluecollector.h
362  gvaluetypes.h
363 lib/glib-2.0/include/glibconfig.h
364 lib/
365  libgio-2.0.a
366  libgio-2.0.so
367  libgio-2.0.so.0
368  libgio-2.0.so.%%LIBVERSION%%
369  libglib-2.0.a
370  libglib-2.0.so
371  libglib-2.0.so.0
372  libglib-2.0.so.%%LIBVERSION%%
373  libgmodule-2.0.a
374  libgmodule-2.0.so
375  libgmodule-2.0.so.0
376  libgmodule-2.0.so.%%LIBVERSION%%
377  libgobject-2.0.a
378  libgobject-2.0.so
379  libgobject-2.0.so.0
380  libgobject-2.0.so.%%LIBVERSION%%
381  libgthread-2.0.a
382  libgthread-2.0.so
383  libgthread-2.0.so.0
384  libgthread-2.0.so.%%LIBVERSION%%
385 lib/pkgconfig/
386  gio-2.0.pc
387  gio-unix-2.0.pc
388  glib-2.0.pc
389  gmodule-2.0.pc
390  gmodule-export-2.0.pc
391  gmodule-no-export-2.0.pc
392  gobject-2.0.pc
393  gthread-2.0.pc
394 share/man/man1/
395  gapplication.1.gz
396  gdbus-codegen.1.gz
397  gdbus.1.gz
398  gio-querymodules.1.gz
399  glib-compile-resources.1.gz
400  glib-compile-schemas.1.gz
401  glib-genmarshal.1.gz
402  glib-gettextize.1.gz
403  glib-mkenums.1.gz
404  gobject-query.1.gz
405  gresource.1.gz
406  gsettings.1.gz
407  gtester-report.1.gz
408  gtester.1.gz
409 share/aclocal/
410  glib-2.0.m4
411  glib-gettext.m4
412  gsettings.m4
413 share/bash-completion/completions/
414  gapplication
415 share/gdb/auto-load%%RESETPREFIX%%/lib/
416  libglib-2.0.so.%%LIBVERSION%%-gdb.py
417  libgobject-2.0.so.%%LIBVERSION%%-gdb.py
418 share/gettext/its/
419  gschema.its
420  gschema.loc
421 @comment share/glib-2.0/codegen auto-generated
422 share/glib-2.0/gdb/
423  glib_gdb.py
424  gobject_gdb.py
425 share/glib-2.0/gettext/po/Makefile.in.in
426 share/glib-2.0/schemas/gschema.dtd
427 share/locale/af/LC_MESSAGES/glib20.mo
428 share/locale/am/LC_MESSAGES/glib20.mo
429 share/locale/an/LC_MESSAGES/glib20.mo
430 share/locale/ar/LC_MESSAGES/glib20.mo
431 share/locale/as/LC_MESSAGES/glib20.mo
432 share/locale/ast/LC_MESSAGES/glib20.mo
433 share/locale/az/LC_MESSAGES/glib20.mo
434 share/locale/be/LC_MESSAGES/glib20.mo
435 share/locale/be@latin/LC_MESSAGES/glib20.mo
436 share/locale/bg/LC_MESSAGES/glib20.mo
437 share/locale/bn/LC_MESSAGES/glib20.mo
438 share/locale/bn_IN/LC_MESSAGES/glib20.mo
439 share/locale/bs/LC_MESSAGES/glib20.mo
440 share/locale/ca/LC_MESSAGES/glib20.mo
441 share/locale/ca@valencia/LC_MESSAGES/glib20.mo
442 share/locale/cs/LC_MESSAGES/glib20.mo
443 share/locale/cy/LC_MESSAGES/glib20.mo
444 share/locale/da/LC_MESSAGES/glib20.mo
445 share/locale/de/LC_MESSAGES/glib20.mo
446 share/locale/dz/LC_MESSAGES/glib20.mo
447 share/locale/el/LC_MESSAGES/glib20.mo
448 share/locale/en@shaw/LC_MESSAGES/glib20.mo
449 share/locale/en_CA/LC_MESSAGES/glib20.mo
450 share/locale/en_GB/LC_MESSAGES/glib20.mo
451 share/locale/eo/LC_MESSAGES/glib20.mo
452 share/locale/es/LC_MESSAGES/glib20.mo
453 share/locale/et/LC_MESSAGES/glib20.mo
454 share/locale/eu/LC_MESSAGES/glib20.mo
455 share/locale/fa/LC_MESSAGES/glib20.mo
456 share/locale/fi/LC_MESSAGES/glib20.mo
457 share/locale/fr/LC_MESSAGES/glib20.mo
458 share/locale/ga/LC_MESSAGES/glib20.mo
459 share/locale/gd/LC_MESSAGES/glib20.mo
460 share/locale/gl/LC_MESSAGES/glib20.mo
461 share/locale/gu/LC_MESSAGES/glib20.mo
462 share/locale/he/LC_MESSAGES/glib20.mo
463 share/locale/hi/LC_MESSAGES/glib20.mo
464 share/locale/hr/LC_MESSAGES/glib20.mo
465 share/locale/hu/LC_MESSAGES/glib20.mo
466 share/locale/hy/LC_MESSAGES/glib20.mo
467 share/locale/id/LC_MESSAGES/glib20.mo
468 share/locale/is/LC_MESSAGES/glib20.mo
469 share/locale/it/LC_MESSAGES/glib20.mo
470 share/locale/ja/LC_MESSAGES/glib20.mo
471 share/locale/ka/LC_MESSAGES/glib20.mo
472 share/locale/kk/LC_MESSAGES/glib20.mo
473 share/locale/kn/LC_MESSAGES/glib20.mo
474 share/locale/ko/LC_MESSAGES/glib20.mo
475 share/locale/ku/LC_MESSAGES/glib20.mo
476 share/locale/lt/LC_MESSAGES/glib20.mo
477 share/locale/lv/LC_MESSAGES/glib20.mo
478 share/locale/mai/LC_MESSAGES/glib20.mo
479 share/locale/mg/LC_MESSAGES/glib20.mo
480 share/locale/mk/LC_MESSAGES/glib20.mo
481 share/locale/ml/LC_MESSAGES/glib20.mo
482 share/locale/mn/LC_MESSAGES/glib20.mo
483 share/locale/mr/LC_MESSAGES/glib20.mo
484 share/locale/ms/LC_MESSAGES/glib20.mo
485 share/locale/nb/LC_MESSAGES/glib20.mo
486 share/locale/nds/LC_MESSAGES/glib20.mo
487 share/locale/ne/LC_MESSAGES/glib20.mo
488 share/locale/nl/LC_MESSAGES/glib20.mo
489 share/locale/nn/LC_MESSAGES/glib20.mo
490 share/locale/oc/LC_MESSAGES/glib20.mo
491 share/locale/or/LC_MESSAGES/glib20.mo
492 share/locale/pa/LC_MESSAGES/glib20.mo
493 share/locale/pl/LC_MESSAGES/glib20.mo
494 share/locale/ps/LC_MESSAGES/glib20.mo
495 share/locale/pt/LC_MESSAGES/glib20.mo
496 share/locale/pt_BR/LC_MESSAGES/glib20.mo
497 share/locale/ro/LC_MESSAGES/glib20.mo
498 share/locale/ru/LC_MESSAGES/glib20.mo
499 share/locale/rw/LC_MESSAGES/glib20.mo
500 share/locale/si/LC_MESSAGES/glib20.mo
501 share/locale/sk/LC_MESSAGES/glib20.mo
502 share/locale/sl/LC_MESSAGES/glib20.mo
503 share/locale/sq/LC_MESSAGES/glib20.mo
504 share/locale/sr/LC_MESSAGES/glib20.mo
505 share/locale/sr@ije/LC_MESSAGES/glib20.mo
506 share/locale/sr@latin/LC_MESSAGES/glib20.mo
507 share/locale/sv/LC_MESSAGES/glib20.mo
508 share/locale/ta/LC_MESSAGES/glib20.mo
509 share/locale/te/LC_MESSAGES/glib20.mo
510 share/locale/tg/LC_MESSAGES/glib20.mo
511 share/locale/th/LC_MESSAGES/glib20.mo
512 share/locale/tl/LC_MESSAGES/glib20.mo
513 share/locale/tr/LC_MESSAGES/glib20.mo
514 share/locale/tt/LC_MESSAGES/glib20.mo
515 share/locale/ug/LC_MESSAGES/glib20.mo
516 share/locale/uk/LC_MESSAGES/glib20.mo
517 share/locale/vi/LC_MESSAGES/glib20.mo
518 share/locale/wa/LC_MESSAGES/glib20.mo
519 share/locale/xh/LC_MESSAGES/glib20.mo
520 share/locale/yi/LC_MESSAGES/glib20.mo
521 share/locale/zh_CN/LC_MESSAGES/glib20.mo
522 share/locale/zh_HK/LC_MESSAGES/glib20.mo
523 share/locale/zh_TW/LC_MESSAGES/glib20.mo
524 @dir lib/gio/modules
525 @dir share/GConf/gsettings
526 @postexec %D/bin/glib-compile-schemas %D/share/glib-2.0/schemas 2>/dev/null || /usr/bin/true
527 @postunexec /bin/rm -f %D/share/glib-2.0/schemas/gschemas.compiled || /usr/bin/true
528 @postexec %D/bin/gio-querymodules %D/lib/gio/modules 2>/dev/null || /usr/bin/true
529
530
531 [FILE:1895:patches/patch-bug739424]
532 From 22656f16c29591207c667362e2a42fd348fe8494 Mon Sep 17 00:00:00 2001
533 From: Martin Pieuchot <mpi@openbsd.org>
534 Date: Fri, 28 Apr 2017 15:06:52 +0200
535 Subject: [PATCH] kqueue: fix use-after-free of ``kqueue_sub''.
536
537 Since ``kqueue_sub'' are not refcounted it is common to see a thread
538 freeing one of them while another thread is manipulating them.  This
539 leads to crashs reported in:
540         https://bugzilla.gnome.org/show_bug.cgi?id=739424
541
542 To prevent such crash, make sure the threads are holding ``hash_lock''
543 when manipulating such items.
544 ---
545  gio/kqueue/kqueue-helper.c | 6 ++++--
546  1 file changed, 4 insertions(+), 2 deletions(-)
547
548 diff --git a/gio/kqueue/kqueue-helper.c b/gio/kqueue/kqueue-helper.c
549 index d4e66cd4d..84b9ef164 100644
550 --- gio/kqueue/kqueue-helper.c
551 +++ gio/kqueue/kqueue-helper.c
552 @@ -291,10 +291,10 @@ process_kqueue_notifications (GIOChannel   *gioc,
553  
554    G_LOCK (hash_lock);
555    sub = (kqueue_sub *) g_hash_table_lookup (subs_hash_table, GINT_TO_POINTER (n.fd));
556 -  G_UNLOCK (hash_lock);
557  
558    if (sub == NULL)
559      {
560 +      G_UNLOCK (hash_lock);
561        KH_W ("Got a notification for a deleted or non-existing subscription %d",
562               n.fd);
563        return TRUE;
564 @@ -336,6 +336,7 @@ process_kqueue_notifications (GIOChannel   *gioc,
565          g_file_monitor_source_handle_event (source, mask, NULL, NULL, NULL, g_get_monotonic_time ());
566      }
567  
568 +  G_UNLOCK (hash_lock);
569    return TRUE;
570  }
571  
572 @@ -451,13 +452,14 @@ _kh_start_watching (kqueue_sub *sub)
573  
574    G_LOCK (hash_lock);
575    g_hash_table_insert (subs_hash_table, GINT_TO_POINTER (sub->fd), sub);
576 -  G_UNLOCK (hash_lock);
577  
578    _kqueue_thread_push_fd (sub->fd);
579    
580    /* Bump the kqueue thread. It will pick up a new sub entry to monitor */
581    if (!_ku_write (kqueue_socket_pair[0], "A", 1))
582      KH_W ("Failed to bump the kqueue thread (add fd, error %d)", errno);
583 +  G_UNLOCK (hash_lock);
584 +
585    return TRUE;
586  }
587  
588 -- 
589 2.12.2
590
591
592
593 [FILE:1831:patches/patch-bug778515]
594 From e305fe971e4647d971428a772b7290b9c308a96f Mon Sep 17 00:00:00 2001
595 From: Steven McDonald <steven@steven-mcdonald.id.au>
596 Date: Sun, 12 Feb 2017 11:02:55 +1100
597 Subject: gio: Always purge kqueue subs from missing list
598
599 Previously, _kh_cancel_sub assumed that it only needed to call
600 _km_remove if sub did not exist in subs_hash_table. This is erroneous
601 because the complementary operation, _km_add_missing, can be called
602 from process_kqueue_notifications, in which context sub can *only* have
603 come from subs_hash_table.
604
605 Since _km_remove is implemented using g_slist_remove, which is
606 documented to be a noop if the list does not contain the element to be
607 removed, it is safe to call _km_remove unconditionally here.
608
609 https://bugzilla.gnome.org/show_bug.cgi?id=778515
610 ---
611  gio/kqueue/kqueue-helper.c | 15 +++++----------
612  1 file changed, 5 insertions(+), 10 deletions(-)
613
614 diff --git a/gio/kqueue/kqueue-helper.c b/gio/kqueue/kqueue-helper.c
615 index 4671396..d4e66cd 100644
616 --- gio/kqueue/kqueue-helper.c
617 +++ gio/kqueue/kqueue-helper.c
618 @@ -498,22 +498,17 @@ _kh_add_sub (kqueue_sub *sub)
619  gboolean
620  _kh_cancel_sub (kqueue_sub *sub)
621  {
622 -  gboolean missing = FALSE;
623 +  gboolean removed = FALSE;
624    g_assert (kqueue_socket_pair[0] != -1);
625    g_assert (sub != NULL);
626  
627 +  _km_remove (sub);
628 +
629    G_LOCK (hash_lock);
630 -  missing = !g_hash_table_remove (subs_hash_table, GINT_TO_POINTER (sub->fd));
631 +  removed = g_hash_table_remove (subs_hash_table, GINT_TO_POINTER (sub->fd));
632    G_UNLOCK (hash_lock);
633  
634 -  if (missing)
635 -    {
636 -      /* If there were no fd for this subscription, file is still
637 -       * missing. */
638 -      KH_W ("Removing subscription from missing");
639 -      _km_remove (sub);
640 -    }
641 -  else
642 +  if (removed)
643      {
644        /* fd will be closed in the kqueue thread */
645        _kqueue_thread_remove_fd (sub->fd);
646 -- 
647 cgit v0.12
648
649
650
651 [FILE:400:patches/patch-config.h.in]
652 --- config.h.in.orig    2008-03-18 18:24:24.000000000 -0400
653 +++ config.h.in 2008-03-18 18:24:59.000000000 -0400
654 @@ -197,6 +197,9 @@
655  /* Define to 1 if you have the `getpwuid' function. */
656  #undef HAVE_GETPWUID
657  
658 +/* Define to 1 if you have the `sysctlbyname' function. */
659 +#undef HAVE_SYSCTLBYNAME
660 +
661  /* Define if the GNU gettext() function is already present or preinstalled. */
662  #undef HAVE_GETTEXT
663  
664
665
666 [FILE:458:patches/patch-configure]
667 --- configure.orig      2014-09-28 09:31:41.079343419 +0200
668 +++ configure   2014-09-28 09:31:41.243342071 +0200
669 @@ -26730,9 +26728,12 @@
670    *android*)
671      G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
672      ;;
673 -  *-*-freebsd*|*-*-linux*)
674 +  *-*-linux*)
675      G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-lpthread/`"
676      ;;
677 +  *-*-freebsd*)
678 +    LDFLAGS="$LDFLAGS -pthread"
679 +    ;;    
680    *)
681      G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
682      ;;
683
684
685 [FILE:347:patches/patch-docs_reference_Makefile.in]
686 --- docs/reference/Makefile.in.orig     2013-09-26 18:08:36.000000000 +0200
687 +++ docs/reference/Makefile.in  2013-09-26 18:08:53.000000000 +0200
688 @@ -422,7 +422,7 @@
689  top_build_prefix = @top_build_prefix@
690  top_builddir = @top_builddir@
691  top_srcdir = @top_srcdir@
692 -SUBDIRS = glib gobject gio
693 +SUBDIRS = #glib gobject gio
694  all: all-recursive
695  
696  .SUFFIXES:
697
698
699 [FILE:670:patches/patch-gio_glib-compile-schemas.c]
700 --- gio/glib-compile-schemas.c.orig     2012-06-14 16:39:22.000000000 +0200
701 +++ gio/glib-compile-schemas.c  2012-06-14 16:39:55.000000000 +0200
702 @@ -1204,11 +1204,13 @@
703        return;
704      }
705  
706 +#if 0
707    if (path && (g_str_has_prefix (path, "/apps/") ||
708                 g_str_has_prefix (path, "/desktop/") ||
709                 g_str_has_prefix (path, "/system/")))
710      g_printerr ("warning: Schema '%s' has path '%s'.  Paths starting with "
711                  "'/apps/', '/desktop/' or '/system/' are deprecated.\n", id, path);
712 +#endif
713  
714    state->schema_state = schema_state_new (path, gettext_domain,
715                                            extends, extends_name, list_of);
716
717
718 [FILE:661:patches/patch-gio_gunixmount.c]
719 --- gio/gunixmount.c.orig       2014-09-21 13:00:08.875162804 +0200
720 +++ gio/gunixmount.c    2014-09-21 13:00:14.327163623 +0200
721 @@ -353,12 +353,17 @@
722                      gpointer             user_data)
723  {
724    GUnixMount *unix_mount = G_UNIX_MOUNT (mount);
725 +#if ! defined(__FreeBSD__) && ! defined(__DragonFly__)
726    char *argv[] = {"eject", NULL, NULL};
727  
728    if (unix_mount->mount_path != NULL)
729      argv[1] = unix_mount->mount_path;
730    else
731      argv[1] = unix_mount->device_path;
732 +#else
733 +   char *argv[] = {"cdcontrol", "-f", NULL, "eject", NULL};
734 +   argv[2] = unix_mount->device_path;
735 +#endif
736  
737    eject_unmount_do (mount, cancellable, callback, user_data, argv);
738  }
739
740
741 [FILE:590:patches/patch-gio_gunixvolume.c]
742 --- gio/gunixvolume.c.orig      2014-03-20 04:50:45.000000000 +0100
743 +++ gio/gunixvolume.c   2014-03-24 20:44:40.000000000 +0100
744 @@ -356,9 +356,14 @@
745                       gpointer             user_data)
746  {
747    GUnixVolume *unix_volume = G_UNIX_VOLUME (volume);
748 +#if defined(__FreeBSD__) || defined(__DragonFly__)
749 +  const gchar *argv[] = {"cdcontrol", "-f", NULL, "eject", NULL};
750 +  argv[2] = unix_volume->device_path;
751 +#else
752    const gchar *argv[] = { "eject", NULL, NULL };
753  
754    argv[1] = unix_volume->device_path;
755 +#endif
756  
757    eject_mount_do (volume, cancellable, callback, user_data, argv);
758  }
759
760
761 [FILE:279:patches/patch-gio_tests_include.c]
762 --- glib/tests/include.c.orig   2012-03-06 12:11:39.000000000 +0100
763 +++ glib/tests/include.c        2012-03-06 12:13:17.000000000 +0100
764 @@ -3,6 +3,7 @@
765  #define _POSIX_C_SOURCE 0
766  #undef _GNU_SOURCE
767  #undef _XOPEN_SOURCE
768 +#include <sys/types.h>
769  #include <pthread.h>
770  #include <glib.h>
771  
772
773
774 [FILE:328:patches/patch-gio_xdgmime_xdgmime.c]
775 --- gio/xdgmime/xdgmime.c.orig  Mon Nov  8 22:25:27 2004
776 +++ gio/xdgmime/xdgmime.c       Sat Nov 13 10:27:22 2004
777 @@ -204,7 +204,7 @@
778  
779    xdg_data_dirs = getenv ("XDG_DATA_DIRS");
780    if (xdg_data_dirs == NULL)
781 -    xdg_data_dirs = "/usr/local/share/:/usr/share/";
782 +    xdg_data_dirs = "/usr/local/share/";
783  
784    ptr = xdg_data_dirs;
785  
786
787
788 [FILE:814:patches/patch-gio_xdgmime_xdgmimecache.h]
789 --- gio/xdgmime/xdgmimecache.h.orig     2008-06-12 10:25:40.000000000 -0400
790 +++ gio/xdgmime/xdgmimecache.h  2008-06-14 00:49:59.000000000 -0400
791 @@ -46,6 +46,9 @@ typedef struct _XdgMimeCache XdgMimeCach
792  #define _xdg_mime_cache_get_icon                      XDG_RESERVED_ENTRY(cache_get_icon)
793  #define _xdg_mime_cache_get_generic_icon              XDG_RESERVED_ENTRY(cache_get_generic_icon)
794  #define _xdg_mime_cache_glob_dump                     XDG_RESERVED_ENTRY(cache_glob_dump)
795 +#define _xdg_mime_cache_is_valid_mime_type            XDG_RESERVED_ENTRY(cache_is_valid_mime_type)
796 +#define _xdg_mime_cache_mime_type_equal               XDG_RESERVED_ENTRY(cache_mime_type_equal)
797 +#define _xdg_mime_cache_media_type_equal              XDG_RESERVED_ENTRY(cache_media_type_equal)
798  #endif
799  
800  extern XdgMimeCache **_caches;
801
802
803 [FILE:257:patches/patch-glib_fix_hidden]
804 --- glib/gmem.c.orig    2011-02-10 00:31:42.000000000 +0100
805 +++ glib/gmem.c 2011-12-07 00:21:38.000000000 +0100
806 @@ -39,6 +39,7 @@
807  #include "gbacktrace.h"
808  #include "gtestutils.h"
809  #include "gthread.h"
810 +#include "gthreadprivate.h"
811  #include "glib_trace.h"
812  
813  
814
815
816 [FILE:582:patches/patch-glib_gconvert.c]
817 Work around our situation of having both libiconv in libc and libiconv from
818 ports installed.
819
820 --- glib/gconvert.c.orig        2014-02-08 10:15:50.000000000 +0100
821 +++ glib/gconvert.c     2014-02-08 10:16:52.000000000 +0100
822 @@ -62,7 +62,7 @@
823  #error GNU libiconv in use but included iconv.h not from libiconv
824  #endif
825  #if !defined(USE_LIBICONV_GNU) && defined (_LIBICONV_H) \
826 -     && !defined (__APPLE_CC__) && !defined (__LP_64__)
827 +  && !defined (LIBICONV_PLUG) && !defined (__APPLE_CC__) && !defined (__LP_64__)
828  #error GNU libiconv not in use but included iconv.h is from libiconv
829  #endif
830  
831
832
833 [FILE:762:patches/patch-glib_gutils.c]
834 --- glib/gutils.c.orig  Wed Mar 23 09:55:02 2005
835 +++ glib/gutils.c       Thu Apr  7 01:06:16 2005
836 @@ -1929,7 +1929,7 @@ g_get_system_data_dirs (void)
837        data_dirs = (gchar *) g_getenv ("XDG_DATA_DIRS");
838  
839        if (!data_dirs || !data_dirs[0])
840 -          data_dirs = "/usr/local/share/:/usr/share/";
841 +          data_dirs = "/usr/local/share/";
842  
843        data_dir_vector = g_strsplit (data_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
844  #endif
845 @@ -1983,7 +1983,7 @@ g_get_system_config_dirs (void)
846        conf_dirs = (gchar *) g_getenv ("XDG_CONFIG_DIRS");
847  
848        if (!conf_dirs || !conf_dirs[0])
849 -          conf_dirs = "/etc/xdg";
850 +          conf_dirs = "/usr/local/etc/xdg:/etc/xdg";
851  
852        conf_dir_vector = g_strsplit (conf_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
853  #endif
854
855
856 [FILE:321:patches/patch-glib_libcharset_Makefile.in]
857 --- glib/libcharset/Makefile.in.orig    2010-08-08 12:46:01.000000000 +0200
858 +++ glib/libcharset/Makefile.in 2010-08-08 12:46:01.000000000 +0200
859 @@ -566,7 +566,7 @@ install-dvi: install-dvi-am
860  
861  install-dvi-am:
862  
863 -install-exec-am: install-exec-local
864 +install-exec-am: # install-exec-local
865  
866  install-html: install-html-am
867  
868
869
870 [FILE:613:patches/patch-glib_tests_gdatetime.c]
871 --- glib/tests/gdatetime.c.orig 2014-03-09 10:29:13.925231275 +0000
872 +++ glib/tests/gdatetime.c      2014-03-09 10:30:18.235227107 +0000
873 @@ -1322,7 +1322,7 @@
874    gint i1, i2;
875  
876  #ifdef G_OS_UNIX
877 -  tz = g_time_zone_new ("America/Toronto");
878 +  tz = g_time_zone_new ("America/Toronto Eastern");
879  #elif defined G_OS_WIN32
880    tz = g_time_zone_new ("Eastern Standard Time");
881  #endif
882 @@ -1355,7 +1355,7 @@
883    gint i1, i2;
884  
885  #ifdef G_OS_UNIX
886 -  tz = g_time_zone_new ("America/Toronto");
887 +  tz = g_time_zone_new ("America/Toronto Eastern");
888  #elif defined G_OS_WIN32
889    tz = g_time_zone_new ("Eastern Standard Time");
890  #endif
891
892
893 [FILE:314:patches/patch-glib_tests_utils.c]
894 --- glib/tests/utils.c.orig     2012-09-24 02:19:54.000000000 +0000
895 +++ glib/tests/utils.c  2012-09-24 02:20:48.000000000 +0000
896 @@ -416,7 +416,7 @@
897  
898    xdg = (gchar *)g_getenv ("XDG_CONFIG_DIRS");
899    if (!xdg)
900 -    xdg = "/etc/xdg";
901 +    xdg = "/usr/local/etc/xdg:/etc/xdg";
902  
903    dirs = g_get_system_config_dirs ();
904  
905
906
907 [FILE:464:patches/patch-gmodule_gmodule-dl.c]
908 --- gmodule/gmodule-dl.c.orig   Sat Feb 17 08:28:07 2001
909 +++ gmodule/gmodule-dl.c        Fri Jan 18 09:48:45 2002
910 @@ -104,6 +104,7 @@
911  static gpointer
912  _g_module_self (void)
913  {
914 +#if ! defined(__FreeBSD__) && ! defined(__DragonFly__)
915    gpointer handle;
916    
917    /* to query symbols from the program itself, special link options
918 @@ -115,6 +116,9 @@
919      g_module_set_error (fetch_dlerror (TRUE));
920    
921    return handle;
922 +#else
923 +  return RTLD_DEFAULT;
924 +#endif
925  }
926  
927  static void
928
929
930 [FILE:460:files/special.mk]
931 glib_MAN=       gtester.1 gtester-report.1 glib-gettextize.1
932 gio_MAN=        gdbus.1 gsettings.1 gio-querymodules.1 \
933                 glib-compile-schemas.1 gapplication.1 \
934                 glib-compile-resources.1 gresource.1 gdbus-codegen.1
935 gobject_MAN=    glib-genmarshal.1 glib-mkenums.1 gobject-query.1
936
937 POST_PLIST_TARGET=      my-autolist
938
939 my-autolist:
940         (cd ${STAGEDIR}${PREFIX} && ${FIND} share/glib-2.0/codegen \
941         \( -type f -o -type l \) 2>/dev/null | ${SORT}) \
942         >> ${WRKDIR}/.manifest.single.mktmp
943
944
945 [FILE:426:dragonfly/patch-configure]
946 --- configure.orig      2014-11-19 18:13:44.754895000 +0100
947 +++ configure   2014-11-19 18:13:51.674905000 +0100
948 @@ -23261,7 +23261,7 @@
949  fi
950  done
951  
952 -for ac_func in getmntent_r setmntent endmntent hasmntopt getfsstat getvfsstat fallocate
953 +for ac_func in getmntent_r setmntent endmntent hasmntopt getfsstat fallocate
954  do :
955    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
956  ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
957