aboutsummaryrefslogtreecommitdiffstats
path: root/devel/glib20/Makefile
blob: d89d04842be4e6d5f7a7ce78b549b3dc1fe4200b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Created by: Vanilla I. Shu <vanilla@FreeBSD.org>
# $FreeBSD$

PORTNAME=   glib
PORTVERSION=    2.44.1
PORTREVISION=   2
CATEGORIES= devel
MASTER_SITES=   GNOME
DIST_SUBDIR=    gnome2

MAINTAINER= gnome@FreeBSD.org
COMMENT=    Some useful routines of C programming (current stable version)

LICENSE=    LGPL20

USES=       tar:xz
PORTSCOUT=  limitw:1,even

.if !defined(REFERENCE_PORT)

LIB_DEPENDS+=   libpcre.so:${PORTSDIR}/devel/pcre \
        libffi.so:${PORTSDIR}/devel/libffi

GNU_CONFIGURE=  yes
USE_LDCONFIG=   yes
# iconv:wchar_t - our iconv in base doesn't support utf-8 -> wchar_t (boooo)
# (wchar_t is used by glibmm, rawtherapee triggered this)
USES+=      gettext gmake iconv:wchar_t libtool pathfix perl5 \
        pkgconfig python shebangfix
USE_PYTHON= py3kplist
CONFIGURE_ARGS= --disable-gtk-doc --with-html-dir=${PREFIX}/share/doc \
        --disable-man --without-xml-catalog \
        --enable-static=yes \
        --with-pcre=system \
        --disable-fam
CONFIGURE_ENV=  ac_cv_header_sys_inotify_h=
CPPFLAGS+=  -I${LOCALBASE}/include
LDFLAGS+=   -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip

SHEBANG_FILES=  */*.pl

LIBVERSION= 0.4400.1
PLIST_SUB+= LIBVERSION=${LIBVERSION}

glib_MAN=   gtester.1 gtester-report.1 glib-gettextize.1
gio_MAN=    gdbus.1 gsettings.1 gio-querymodules.1 \
        glib-compile-schemas.1 gapplication.1 \
        glib-compile-resources.1 gresource.1 gdbus-codegen.1
gobject_MAN=    glib-genmarshal.1 glib-mkenums.1 gobject-query.1

OPTIONS_DEFINE= COLLATION_FIX DEBUG GDB
COLLATION_FIX_DESC= fix string collation
GDB_DESC=   Install python gdb scripts

.include <bsd.port.pre.mk>

# doesn't build yet
CONFIGURE_ARGS+=--disable-dtrace

.if empty(ICONV_LIB)
CONFIGURE_ARGS+=    --with-libiconv=native
.else
CONFIGURE_ARGS+=    --with-libiconv=gnu
.endif

.if ${ARCH} == powerpc64
EXTRA_PATCHES=  ${FILESDIR}/extra-arch-powerpc64
.endif

# Let glib use asm code for implementing atomic ops on i386 and amd64.
.if ${ARCH} == "i386"
GLIB_ARCH=  i486
.elif ${ARCH} == "amd64"
GLIB_ARCH=  x86_64
.else
GLIB_ARCH=  ${ARCH}
.endif
CONFIGURE_TARGET=${GLIB_ARCH}-portbld-freebsd${OSREL}

.if ${PORT_OPTIONS:MCOLLATION_FIX}
LIB_DEPENDS+=   libicui18n.so:${PORTSDIR}/devel/icu
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-glib_Makefile.in \
        ${FILESDIR}/extra-patch-glib_gunicollate.c
# Disable it until someone can figure why it causes net-im/pidgin crashed.
# http://www.freebsd.org/cgi/query-pr.cgi?pr=175930 see comment by ed@
#CONFIGURE_ENV+=    CFLAGS="-D__STDC_ISO_10646__"
.endif

.if ${PORT_OPTIONS:MGDB}
PLIST_SUB+= GDB=""
.else
EXTRA_PATCHES+= ${FILESDIR}/extra-glib_gdbscripts \
        ${FILESDIR}/extra-gobject_gdbscripts
PLIST_SUB+= GDB="@comment "
.endif

.if ${PORT_OPTIONS:MDEBUG}
CONFIGURE_ARGS+=    --enable-debug=yes \
            --disable-silent-rules
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g ; \
        s|/usr/share/locale/locale|${LOCALBASE}/share/locale/locale|g' \
            ${WRKSRC}/glib/gutils.c
    @${REINPLACE_CMD} -e 's|/lib/dbus/machine-id|/db/dbus/machine-id|g' \
        ${WRKSRC}/gio/gdbusaddress.c ${WRKSRC}/gio/gdbusprivate.c \
        ${WRKSRC}/po/*.po
    @${REINPLACE_CMD} -e 's|inotify_support=yes|inotify_support=no| ; \
        s|-Werror|| ; \
        s|#define HAVE_SYS_INOTIFY_H 1||' ${WRKSRC}/configure

post-install:
    @${MKDIR} ${STAGEDIR}${PREFIX}/share/GConf/gsettings
    @${MKDIR} ${STAGEDIR}${PREFIX}/lib/gio/modules
.for m in glib gio gobject
    ${INSTALL_MAN} ${${m}_MAN:S|^|${WRKSRC}/docs/reference/${m}/|} \
        ${STAGEDIR}${PREFIX}/man/man1
.endfor

.include <bsd.port.post.mk>

.endif