summaryrefslogtreecommitdiffstats
path: root/x11/gdm3/Makefile
blob: 3f90e870c589e1ac120e2e96d95aa3e112e1efb7 (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# Created by: Joe Marcus Clarke <marcus@FreeBSD.org>
# $FreeBSD$
#   $MCom: ports/trunk/x11/gdm3/Makefile 18610 2013-06-30 16:33:05Z marcus $

PORTNAME=   gdm
PORTVERSION=    3.6.2
CATEGORIES= x11 gnome
MASTER_SITES=   GNOME
DIST_SUBDIR=    gnome3

MAINTAINER= gnome@FreeBSD.org
COMMENT=    GNOME 3 version of xdm display manager

BUILD_DEPENDS=  zenity>=3.0.0:${PORTSDIR}/x11/zenity3 \
        itstool:${PORTSDIR}/textproc/itstool \
            ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:${PORTSDIR}/misc/iso-codes
LIB_DEPENDS=    libck-connector.so:${PORTSDIR}/sysutils/consolekit \
        libdbus-glib-1.so:${PORTSDIR}/devel/dbus-glib \
        libpolkit-gtk-1.so:${PORTSDIR}/sysutils/polkit-gnome \
        libupower-glib.so:${PORTSDIR}/sysutils/upower \
        libnss3.so:${PORTSDIR}/security/nss \
        libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
        libaccountsservice.so:${PORTSDIR}/sysutils/accountsservice \
        libxklavier.so:${PORTSDIR}/x11/libxklavier \
        libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3
RUN_DEPENDS=    zenity>=3.0.0:${PORTSDIR}/x11/zenity3 \
        gnome-settings-daemon>=3.0.0:${PORTSDIR}/sysutils/gnome-settings-daemon3 \
        gnome-keyring-3:${PORTSDIR}/security/gnome-keyring3 \
        gnome-session>=3.0.0:${PORTSDIR}/x11/gnome-session3 \
        gnome-icon-theme-symbolic>=0:${PORTSDIR}/x11-themes/gnome-icon-theme-symbolic \
        ${LOCALBASE}/libexec/at-spi2-registryd:${PORTSDIR}/accessibility/at-spi2-core \
        ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:${PORTSDIR}/misc/iso-codes
# used in scripts
RUN_DEPENDS+=   xrdb:${PORTSDIR}/x11/xrdb \
        setxkbmap:${PORTSDIR}/x11/setxkbmap \
        xmodmap:${PORTSDIR}/x11/xmodmap \
        xterm:${PORTSDIR}/x11/xterm

CONFLICTS=  gdm-2.[0-9]*

USERS=      gdm
GROUPS=     gdm

LATEST_LINK=    gdm3
USE_XZ=     yes
USE_LDCONFIG=   yes
USE_XORG=   dmx dmxproto
INSTALLS_OMF=   yes
INSTALLS_ICONS= yes
USE_RC_SUBR=    gdm
USE_GNOME_SUBR= yes
USES=       gettext gmake pathfix pkgconfig
USE_GNOME=  dconf gnomehier gnomeprefix intlhack librsvg2 gnomepanel3
GNU_CONFIGURE=  yes
GLIB_SCHEMAS=   org.gnome.login-screen.gschema.xml
CONFIGURE_ARGS= --with-working-directory=${PREFIX}/etc/gdm/home \
        --with-at-spi-registryd-directory=${LOCALBASE}/libexec \
        --enable-authentication-scheme=pam \
        --with-console-kit \
        --with-initial-vt=9 \
        --with-systemd=no
# this is a hack until we can get our own pam dir and dir in order.
CONFIGURE_ARGS+=--with-default-pam-config=redhat
CPPFLAGS+=  -I${LOCALBASE}/include -DHAS_SA_LEN
LDFLAGS+=   -L${LOCALBASE}/lib
CONFIGLIBS= -lm
CONFIGURE_ENV=  LIBS="${CONFIGLIBS}" \
        GTKDOC="false" \
        ac_cv_header_execinfo_h=no

SUB_FILES+= gdm.pam

GDMDIR?=    ${PREFIX}/etc/gdm
PKGMESSAGE= ${WRKDIR}/pkg-message

GNOME_LOCALSTATEDIR=    /var

OPTIONS_DEFINE= IPV6 KEYRING
OPTIONS_DEFAULT=KEYRING
KEYRING_DESC=   Gnomekeyring/PAM integration

.include <bsd.port.options.mk>

.if defined(WITH_DEBUG)
CONFIGURE_ARGS+=    --enable-debug
.endif

.if ${PORT_OPTIONS:MKEYRING}
LIB_DEPENDS+=   gnome-keyring:${PORTSDIR}/security/libgnome-keyring
SUB_LIST+=  PAM_KEYRING=
.else
SUB_LIST+=  PAM_KEYRING=\#
.endif

.if ${PORT_OPTIONS:MIPV6}
CONFIGURE_ARGS+=    --enable-ipv6
.else
CONFIGURE_ARGS+=    --disable-ipv6
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|root:root|root:wheel|g' \
        ${WRKSRC}/data/Makefile.in
    @${REINPLACE_CMD} -e 's|-lexecinfo||g' \
        ${WRKSRC}/common/Makefile.in
    @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
            -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
            ${WRKSRC}/daemon/gdm-session-worker.c
#       ${WRKSRC}/gui/simple-greeter/extensions/password/gdm-password.pam
    @${REINPLACE_CMD} -e 's|/usr/X11R6|${LOCALBASE}|g' \
        -e 's|/usr/bin/X|${LOCALBASE}/bin/X|g' \
        -e 's|/usr/bin/Xorg|${LOCALBASE}/bin/Xorg|g' \
        ${WRKSRC}/configure ${WRKSRC}/daemon/*.c ${WRKSRC}/po/*.po
    @${REINPLACE_CMD} -e 's|/at-spi-registryd|/at-spi2-registryd|g' \
        ${WRKSRC}/gui/simple-chooser/gdm-host-chooser.c \
        ${WRKSRC}/gui/simple-chooser/chooser-main.c
    @${REINPLACE_CMD} -e 's|/etc/X11|${LOCALBASE}/etc/X11|g' \
        ${WRKSRC}/data/Init.in \
        ${WRKSRC}/data/PostLogin \
        ${WRKSRC}/data/PostSession.in \
        ${WRKSRC}/data/PreSession.in \
        ${WRKSRC}/data/Xsession.in
    @${RM}  ${WRKSRC}/data/applications/gdm-simple-greeter.desktop \
        ${WRKSRC}/data/applications/gdm-simple-greeter.desktop.in \
        ${WRKSRC}/data/applications/gnome-mag.desktop \
        ${WRKSRC}/data/applications/gnome-shell.desktop \
        ${WRKSRC}/data/applications/gok.desktop
#       ${WRKSRC}/data/applications/orca-screen-reader.desktop

post-install:
.if !defined(PACKAGE_BUILDING)
    @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
.endif
    ${INSTALL_DATA} ${WRKSRC}/data/gdm.conf-custom \
        ${PREFIX}/etc/gdm/custom.conf.default
    ${MKDIR} ${PREFIX}/share/xsessions
    ${INSTALL_DATA} ${WRKDIR}/gdm.pam ${PREFIX}/etc/pam.d/gdm-welcome
    @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' < ${PKGDIR}/pkg-message \
        | /usr/bin/fmt 75 79 > ${PKGMESSAGE}
    @dconf update
    @${CAT} ${PKGMESSAGE}

# logwtmp lives here.
.if ${OSVERSION} < 900000
CONFIGLIBS+=    -lutil
.endif

.include <bsd.port.mk>