aboutsummaryrefslogtreecommitdiffstats
path: root/x11/mate-screensaver/Makefile
blob: 9c2cdcb5de65eca2de13ce6b5c397439a0e0808e (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
# Created by: Joe Marcus Clarke <marcus@FreeBSD.org>
# $FreeBSD$

PORTNAME=   mate-screensaver
PORTVERSION=    1.6.1
PORTREVISION=   1
CATEGORIES= x11 mate
MASTER_SITES=   MATE
DIST_SUBDIR=    mate

MAINTAINER= gnome@FreeBSD.org
COMMENT=    MATE screen saver and locker

LIB_DEPENDS=    libdbus-1.so:${PORTSDIR}/devel/dbus \
        libdbus-glib-1.so:${PORTSDIR}/devel/dbus-glib \
        libnotify.so:${PORTSDIR}/devel/libnotify

PORTSCOUT=  limitw:1,even

USES=       gettext gmake libtool pathfix pkgconfig tar:xz
USE_GL=     gl
USE_MATE=   desktop libmatekbd menus
USE_XORG=   ice sm x11 xext xtst xxf86misc xxf86vm xscrnsaver
USE_GNOME=  glib20 gnomehier gtk20 intlhack
GNU_CONFIGURE=  yes
CONFIGURE_ARGS= --with-xscreensaverdir=${XSCREENSAVER_DIR} \
        --with-xscreensaverhackdir=${LOCALBASE}/bin/xscreensaver-hacks \
        --with-console-kit=yes \
        --with-systemd=no
CPPFLAGS+=  -I${LOCALBASE}/include
LDFLAGS+=   -L${LOCALBASE}/lib

GLIB_SCHEMAS=   org.mate.screensaver.gschema.xml

#PLIST=     ${WRKDIR}/pkg-plist
SUB_FILES+= mate-screensaver.pam

XSCREENSAVER_DIR=   ${PREFIX}/share/xscreensaver/config
SCREENSAVER_DIR=    share/applications/screensavers

XSCREENSAVER_EXCLUDE=   "(popsquares.xml)"

OPTIONS_DEFINE= PAM KEYRING HACKS
OPTIONS_DEFAULT=PAM KEYRING
PAM_DESC=   Pluggable Authentication Module support
KEYRING_DESC=   MateKeyring integration (needs PAM)
HACKS_DESC= Install extra gnome xscreensavers

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MXSCREENSAVER}
RUN_DEPENDS=    xscreensaver-gnome-hacks>=0:${PORTSDIR}/x11/xscreensaver-gnome-hacks
.endif

.if ${PORT_OPTIONS:MPAM}
RUN_DEPENDS+=   pam_helper:${PORTSDIR}/security/pam_helper
CONFIGURE_ARGS+=--enable-authentication-scheme=helper \
        --with-passwd-helper=${LOCALBASE}/bin/pam_helper
PLIST_SUB+= PAM=""
.else
CONFIGURE_ARGS+=--disable-pam
PLIST_SUB+= PAM="@comment "
.endif

.if ${PORT_OPTIONS:MKEYRING} && ${PORT_OPTIONS:MPAM}
SUB_LIST+=  PAM_KEYRING=
USE_MATE+=  keyring:run
.else
SUB_LIST+=  PAM_KEYRING=\#
.endif

pre-everything::
.if !${PORT_OPTIONS:MPAM} && ${PORT_OPTIONS:MKEYRING}
    @${ECHO_MSG} "Keyring integration is disabled because it needs PAM."
.endif

post-patch:
.if ${PORT_OPTIONS:MPAM}
    @${REINPLACE_CMD} -e 's|/etc/pam.d|${PREFIX}/etc/pam.d|g' \
        ${WRKSRC}/src/gs-auth-pam.c
.endif

#.if defined (HACKS)
#pre-install:
#   @${CAT} ${.CURDIR}/pkg-plist > ${PLIST}
#   @cd ${STAGEDIR}${XSCREENSAVER_DIR} && ${FIND} -s * -maxdepth 1 -type f -name "*.xml" | \
#       ${GREP} -Ev ${XSCREENSAVER_EXCLUDE} | \
#       ${SED} -e 's:^:${SCREENSAVER_DIR}/:' | \
#       ${SED} -e 's:[.]xml$$:.desktop:' >> ${PLIST}
#   @${ECHO_CMD} @dirrm ${SCREENSAVER_DIR} >> ${PLIST}
#.endif

post-install:
#.if defined(HACKS)
#   ${MKDIR} ${STAGEDIR}${PREFIX}/${SCREENSAVER_DIR}
#   cd ${STAGEDIR}${PREFIX}/${SCREENSAVER_DIR} && \
#       ${FIND} -s ${STAGEDIR}${XSCREENSAVER_DIR} -maxdepth 1 -type f -name "*.xml" | \
#           ${GREP} -Ev ${XSCREENSAVER_EXCLUDE} | \
#           ${XARGS} ${WRKSRC}/data/migrate-xscreensaver-config.sh
#.endif
.if ${PORT_OPTIONS:MPAM}
    ${INSTALL_DATA} ${WRKDIR}/mate-screensaver.pam ${STAGEDIR}${PREFIX}/etc/pam.d/mate-screensaver
.endif

.include <bsd.port.mk>