freebsd-ports/x11/gdm/Makefile
Koop Mast af3811313c The FreeBSD GNOME team proudly presents GNOME 3.14 and Cinnamon 2.2.
Gnome 3.14.1 and Cinnamon 2.2.16 are supported on FreeBSD 9.3-RELEASE and up.

This commit removes the old GNOME 2 desktop, bindings and some ports that
can't be compiled. A few ports where updated to more recent versions to
allow them to compile with this update.

Apart from updating ports to newer versions

GDM is more integrated with gnome-shell now, and handles several things for
the GNOME desktop such as screen locking. If you want to use GNOME 3 via
startx, you will have to add your own lock screen/screensaver. For example xscreensaver
can be used for sessions started without GDM.

Shell Extensions can be installed via https://extensions.gnome.org/ , we have
ported a few that can't be installed via this way.
The old gnome-utils and gnome-games ports where split up into single ports
and where converted to meta-ports.
gnome-terminal requires a UTF-8 locale to run, gdm handles this already, but
if you use startx you need to do this yourself.

Upgrade instructions:

Delete the old and conflicting packages:
# pkg delete clutter gnome-utils gnome-panel gnome-keyring vala-vapigen \
    guile gcalctool gnome-media libgnomekbd
# pkg delete gnome-screensaver gnome-applets bug-buddy evolution-exchange \
    evolution-webcal gnome-system-tools seahorse-plugins gnome-control-center

For package users the following lines will be enough:
# pkg upgrade
# pkg install gnome3

For ports users should do the following:
# portmaster -a
# portmaster x11/gnome3

We are currently aware of two issues. The first issue is a bug in the
file monitoring code in the glib20 port. This bug causes glib programs
to crash when files in a monitored directory are added or removed.
Upstream is aware of the problem, but since the problem is quite complex
there is no solution yet. This problem isn't restricted to BSD.

The second issue is that on certain video cards totem will display a
purple/pink overlay on the video. It not clear yet where the issues
comes from.

Major thanks goes to Gustau Perez for being a driving force behind getting
GNOME 3 up to speed again. Also thanks to Antoine Brodin for running the exp-runs.

This update was also made possible by:
	Joe Maloney
	Kris Moore
	Beeblebrox
	Ryan Lortie
	Antoine Jacoutot
	and everyone I missed
2014-11-19 11:49:04 +00:00

152 lines
5.1 KiB
Makefile

# Created by: Joe Marcus Clarke <marcus@FreeBSD.org>
# $FreeBSD$
# $MCom: ports/trunk/x11/gdm/Makefile 20031 2014-11-02 21:47:55Z kwm $
PORTNAME= gdm
PORTVERSION= 3.14.1
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/zenity \
itstool:${PORTSDIR}/textproc/itstool \
iso-codes>=0:${PORTSDIR}/misc/iso-codes
LIB_DEPENDS= libck-connector.so:${PORTSDIR}/sysutils/consolekit \
libdbus-glib-1.so:${PORTSDIR}/devel/dbus-glib \
libupower-glib.so:${PORTSDIR}/sysutils/upower \
libnss3.so:${PORTSDIR}/security/nss \
libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
libaccountsservice.so:${PORTSDIR}/sysutils/accountsservice \
libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3
RUN_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity \
gnome-settings-daemon>=3.0.0:${PORTSDIR}/sysutils/gnome-settings-daemon \
gnome-keyring-3:${PORTSDIR}/security/gnome-keyring \
gnome-session>=3.0.0:${PORTSDIR}/x11/gnome-session \
gnome-icon-theme-symbolic>=0:${PORTSDIR}/x11-themes/gnome-icon-theme-symbolic \
polkit-gnome>=0.105:${PORTSDIR}/sysutils/polkit-gnome \
at-spi2-core>=0:${PORTSDIR}/accessibility/at-spi2-core \
iso-codes>=0:${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
USERS= gdm
GROUPS= gdm
USES= execinfo gettext gmake libtool pathfix pkgconfig tar:xz
USE_GNOME= dconf gnomeprefix intlhack introspection librsvg2
USE_LDCONFIG= yes
USE_XORG= dmx dmxproto
INSTALLS_ICONS= yes
USE_RC_SUBR= gdm
USE_GNOME_SUBR= yes
GNU_CONFIGURE= yes
GLIB_SCHEMAS= org.gnome.login-screen.gschema.xml
CONFIGURE_ARGS= --disable-static \
--mandir=${PREFIX}/man \
--with-lang-file=${PREFIX}/etc/gdm/locale.conf \
--with-at-spi-registryd-directory=${LOCALBASE}/libexec \
--with-custom-conf=${PREFIX}/etc/gdm/custom.conf \
--with-dbus-sys=${PREFIX}/etc/dbus-1/system.d \
--with-log-dir=/var/log/gdm \
--with-working-directory=${PREFIX}/etc/gdm/home \
--with-sysconfsubdir=gdm \
--with-pid-file=/var/run/gdm.pid \
--with-dmconfdir=${LOCALBASE}/share/xsessions \
--with-screenshot-dir=/var/run/gdm/greeter \
--enable-authentication-scheme=pam \
--with-user=gdm \
--with-group=gdm \
--with-initial-vt=09 \
--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
INSTALL_TARGET= install-strip
SUB_FILES+= gdm-launch-environment \
gdm-password \
gdm-autologin \
client.conf \
locale.conf
GDMDIR?= ${PREFIX}/etc/gdm
PKGMESSAGE= ${WRKDIR}/pkg-message
GNOME_LOCALSTATEDIR= /var
OPTIONS_DEFINE= IPV6 KEYRING
OPTIONS_DEFAULT=KEYRING
KEYRING_DESC= Gnomekeyring/PAM integration
KEYRING_LIB_DEPENDS= libgnome-keyring.so:${PORTSDIR}/security/libgnome-keyring
IPV6_CONFIGURE_ENABLE= ipv6
.include <bsd.port.options.mk>
.if defined(WITH_DEBUG)
CONFIGURE_ARGS+= --enable-debug
.endif
.if ${PORT_OPTIONS:MKEYRING}
SUB_LIST+= PAM_KEYRING=
.else
SUB_LIST+= PAM_KEYRING=\#
.endif
post-patch:
@${REINPLACE_CMD} -e 's|root:root|root:wheel|g' \
${WRKSRC}/data/Makefile.in
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
-e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/daemon/gdm-session-worker.c
@${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-shell.desktop \
post-install:
${INSTALL_DATA} ${WRKSRC}/data/gdm.conf-custom \
${STAGEDIR}${PREFIX}/etc/gdm/custom.conf.default
${MKDIR} ${STAGEDIR}${PREFIX}/share/xsessions
${MKDIR} ${STAGEDIR}${PREFIX}/etc/gdm/Sessions
${MKDIR} ${STAGEDIR}${PREFIX}/etc/dm/Sessions
${MKDIR} ${STAGEDIR}${PREFIX}/etc/gdm/home
${MKDIR} ${STAGEDIR}${PREFIX}/etc/gdm/home/.pulse/
${INSTALL_DATA} ${WRKDIR}/gdm-autologin ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-autologin
${INSTALL_DATA} ${WRKDIR}/gdm-launch-environment ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-launch-environment
${INSTALL_DATA} ${WRKDIR}/gdm-password ${STAGEDIR}${PREFIX}/etc/pam.d/gdm-password
${INSTALL_DATA} ${WRKDIR}/client.conf ${STAGEDIR}${PREFIX}/etc/gdm/home/.pulse/
${INSTALL_DATA} ${WRKDIR}/locale.conf ${STAGEDIR}${PREFIX}/etc/gdm/
@${SED} -e 's|%%PREFIX%%|${PREFIX}|g' < ${PKGDIR}/pkg-message \
| /usr/bin/fmt 75 79 > ${PKGMESSAGE}
# logwtmp lives here.
.if ${OSVERSION} < 900000
CONFIGLIBS+= -lutil
.endif
.include <bsd.port.mk>