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