summaryrefslogtreecommitdiff
path: root/Mk/bsd.mate.mk
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2013-11-23 11:39:07 +0000
committerKoop Mast <kwm@FreeBSD.org>2013-11-23 11:39:07 +0000
commita236e2d0bfa53f22be02c6a4cc7b2cf730bc69e1 (patch)
tree000a9ce64a1e669ce72ebf4b639d75f2ef29c214 /Mk/bsd.mate.mk
parentAdd p5-Devel-FindPerl 0.012, find the path to your perl. (diff)
Say hello to Mate 1.6.
Mate is a lite desktop forked from gnome2. Most of the work is done by Jeremy Messenger (mezz@). The only thing I did was update a few ports to later 1.6 release and attempting to keep up with ports infra changes. Resulting bugs are all mine. Mate is a sort of replacement for Gnome 2. So people wanting to keep a Gnome 2 like desktop should switch. Gnome 2 will be replaced by Gnome 3 in the near future. This switch will be announce with a transition time so people have more time to switch if they haven't already. This release was made possible by everyone that send friendly pokes to keep mate on my mind. Approved by: portmgr (bapt)
Notes
Notes: svn path=/head/; revision=334661
Diffstat (limited to 'Mk/bsd.mate.mk')
-rw-r--r--Mk/bsd.mate.mk301
1 files changed, 301 insertions, 0 deletions
diff --git a/Mk/bsd.mate.mk b/Mk/bsd.mate.mk
new file mode 100644
index 000000000000..59d40d3b983f
--- /dev/null
+++ b/Mk/bsd.mate.mk
@@ -0,0 +1,301 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD$
+# $NetBSD$
+# $MCom: ports-experimental/Mk/bsd.mate.mk,v 1.13 2012/09/03 17:02:31 mezz Exp $
+#
+# Please view me with 4 column tabs!
+
+#######################################################
+#
+# *** WARNING: Disable MARCUSCOM before merge in FreeBSD!
+# Please also remove this section before merging into FreeBSD.
+#
+#MARCUSCOM_CVS=yes
+
+# ======================= USERS =================================
+#
+# There are no significant user-definable settings in here.
+# This file is a framework to make it easier to create MATE ports.
+#
+# ======================= /USERS ================================
+
+.if !defined(_POSTMKINCLUDED) && !defined(Mate_Pre_Include)
+
+# Please make sure all changes to this file are passed through the maintainer.
+# Do not commit them yourself (unless of course you're the Port's Wraith ;).
+Mate_Include_MAINTAINER= gnome@FreeBSD.org
+Mate_Pre_Include= bsd.mate.mk
+
+# This section defines possible names of MATE components and all information
+# necessary for ports to use those components.
+
+# Ports can use this as follows:
+#
+# USE_MATE= caja common desktop
+#
+# .include <bsd.port.mk>
+#
+# As a result proper LIB_DEPENDS/RUN_DEPENDS will be added and CONFIGURE_ENV
+# and MAKE_ENV defined.
+#
+
+# non-version specific components. Do not use :build/:run on those.
+_USE_MATE_ALL= autogen intlhack intltool ltasneededhack lthack ltverhack
+# These *hack* tools are the same as in bsd.gnome.mk but are run in
+# pre-configure because pre-patch is when we run autogen.sh.
+
+# MATE components, you can use the :build or :run if need. Without the :build
+# and :run, it will be added in both build and run dependency. It will check
+# for the library dependency first. If not exists then do the build/run on
+# the *.pc file instead.
+_USE_MATE_ALL+= caja common controlcenter desktop dialogs docutils icontheme \
+ keyring libmatekbd libmatekeyring libmateweather libmatewnck \
+ marco menus mucharmap notificationdaemon panel polkit pluma \
+ settingsdaemon
+
+SCROLLKEEPER_DIR= /var/db/rarian
+
+lthack_PRE_PATCH= ${FIND} ${WRKSRC} -name "configure" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ '/^LIBTOOL_DEPS="$$ac_aux_dir\/ltmain.sh"$$/s|$$|; $$ac_aux_dir/ltconfig $$LIBTOOL_DEPS;|'
+
+caja_DETECT= ${LOCALBASE}/libdata/pkgconfig/libcaja-extension.pc
+caja_BUILD_DEPENDS= ${caja_DETECT}:${PORTSDIR}/x11-fm/mate-file-manager
+caja_LIB_DEPENDS= libcaja-extension.so:${PORTSDIR}/x11-fm/mate-file-manager
+caja_RUN_DEPENDS= ${caja_DETECT}:${PORTSDIR}/x11-fm/mate-file-manager
+
+mucharmap_DETECT= ${LOCALBASE}/libdata/pkgconfig/mucharmap-2.pc
+mucharmap_BUILD_DEPENDS=${mucharmap_DETECT}:${PORTSDIR}/deskutils/mate-character-map
+mucharmap_LIB_DEPENDS= libmucharmap.so:${PORTSDIR}/deskutils/mate-character-map
+mucharmap_RUN_DEPENDS= ${mucharmap_DETECT}:${PORTSDIR}/deskutils/mate-character-map
+
+common_DETECT= ${LOCALBASE}/bin/mate-autogen
+common_BUILD_DEPENDS= ${common_DETECT}:${PORTSDIR}/devel/mate-common
+common_RUN_DEPENDS= ${common_DETECT}:${PORTSDIR}/devel/mate-common
+
+controlcenter_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-window-settings-2.0.pc
+controlcenter_BUILD_DEPENDS= ${controlcenter_DETECT}:${PORTSDIR}/sysutils/mate-control-center
+controlcenter_LIB_DEPENDS= libmate-window-settings.so:${PORTSDIR}/sysutils/mate-control-center
+controlcenter_RUN_DEPENDS= ${controlcenter_DETECT}:${PORTSDIR}/sysutils/mate-control-center
+
+desktop_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-desktop-2.0.pc
+desktop_BUILD_DEPENDS= ${desktop_DETECT}:${PORTSDIR}/x11/mate-desktop
+desktop_LIB_DEPENDS= libmate-desktop-2.so:${PORTSDIR}/x11/mate-desktop
+desktop_RUN_DEPENDS= ${desktop_DETECT}:${PORTSDIR}/x11/mate-desktop
+
+dialogs_DETECT= ${LOCALBASE}/bin/matedialog
+dialogs_BUILD_DEPENDS= ${dialogs_DETECT}:${PORTSDIR}/x11/mate-dialogs
+dialogs_RUN_DEPENDS= ${dialogs_DETECT}:${PORTSDIR}/x11/mate-dialogs
+
+docutils_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-doc-utils.pc
+docutils_BUILD_DEPENDS= ${docutils_DETECT}:${PORTSDIR}/textproc/mate-doc-utils
+docutils_RUN_DEPENDS= ${docutils_DETECT}:${PORTSDIR}/textproc/mate-doc-utils
+
+icontheme_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-icon-theme.pc
+icontheme_BUILD_DEPENDS=${icontheme_DETECT}:${PORTSDIR}/x11-themes/mate-icon-theme
+icontheme_RUN_DEPENDS= ${icontheme_DETECT}:${PORTSDIR}/x11-themes/mate-icon-theme
+
+intltool_DETECT= ${LOCALBASE}/bin/intltool-extract
+intltool_BUILD_DEPENDS= ${intltool_DETECT}:${PORTSDIR}/textproc/intltool
+
+intlhack_PRE_PATCH= ${FIND} ${WRKSRC} -name "intltool-merge.in" | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|mkdir $$lang or|mkdir $$lang, 0777 or| ; \
+ s|^push @INC, "/.*|push @INC, "${LOCALBASE}/share/intltool";| ; \
+ s|/usr/bin/iconv|${LOCALBASE}/bin/iconv|g ; \
+ s|unpack *[(]'"'"'U\*'"'"'|unpack ('"'"'C*'"'"'|'
+.if ${USE_MATE:Mintlhack}!=""
+USE_MATE+= intltool
+.endif
+
+keyring_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-gcr-0.pc
+keyring_BUILD_DEPENDS= ${keyring_DETECT}:${PORTSDIR}/security/mate-keyring
+keyring_LIB_DEPENDS= libmategcr.so:${PORTSDIR}/security/mate-keyring
+keyring_RUN_DEPENDS= ${keyring_DETECT}:${PORTSDIR}/security/mate-keyring
+
+libmatekbd_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmatekbd.pc
+libmatekbd_BUILD_DEPENDS= ${libmatekbd_DETECT}:${PORTSDIR}/x11/libmatekbd
+libmatekbd_LIB_DEPENDS= libmatekbd.so:${PORTSDIR}/x11/libmatekbd
+libmatekbd_RUN_DEPENDS= ${libmatekbd_DETECT}:${PORTSDIR}/x11/libmatekbd
+
+libmatekeyring_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-keyring-1.pc
+libmatekeyring_BUILD_DEPENDS= ${libmatekeyring_DETECT}:${PORTSDIR}/security/libmatekeyring
+libmatekeyring_LIB_DEPENDS= libmate-keyring.so:${PORTSDIR}/security/libmatekeyring
+libmatekeyring_RUN_DEPENDS= ${libmatekeyring_DETECT}:${PORTSDIR}/security/libmatekeyring
+
+libmateweather_DETECT= ${LOCALBASE}/libdata/pkgconfig/mateweather.pc
+libmateweather_BUILD_DEPENDS= ${libmateweather_DETECT}:${PORTSDIR}/net/libmateweather
+libmateweather_LIB_DEPENDS= libmateweather.so:${PORTSDIR}/net/libmateweather
+libmateweather_RUN_DEPENDS= ${libmateweather_DETECT}:${PORTSDIR}/net/libmateweather
+
+libmatewnck_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmatewnck.pc
+libmatewnck_BUILD_DEPENDS= ${libmatewnck_DETECT}:${PORTSDIR}/x11-toolkits/libmatewnck
+libmatewnck_LIB_DEPENDS= libmatewnck.so:${PORTSDIR}/x11-toolkits/libmatewnck
+libmatewnck_RUN_DEPENDS= ${libmatewnck_DETECT}:${PORTSDIR}/x11-toolkits/libmatewnck
+
+marco_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmarco-private.pc
+marco_BUILD_DEPENDS= ${marco_DETECT}:${PORTSDIR}/x11-wm/mate-window-manager
+marco_LIB_DEPENDS= libmarco-private.so:${PORTSDIR}/x11-wm/mate-window-manager
+marco_RUN_DEPENDS= ${marco_DETECT}:${PORTSDIR}/x11-wm/mate-window-manager
+
+menus_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmate-menu.pc
+menus_BUILD_DEPENDS= ${menus_DETECT}:${PORTSDIR}/x11/mate-menus
+menus_LIB_DEPENDS= libmate-menu.so:${PORTSDIR}/x11/mate-menus
+menus_RUN_DEPENDS= ${menus_DETECT}:${PORTSDIR}/x11/mate-menus
+
+notificationdaemon_DETECT= ${LOCALBASE}/libexec/mate-notification-daemon
+notificationdaemon_BUILD_DEPENDS= ${notificationdaemon_DETECT}:${PORTSDIR}/deskutils/mate-notification-daemon
+notificationdaemon_RUN_DEPENDS= ${notificationdaemon_DETECT}:${PORTSDIR}/deskutils/mate-notification-daemon
+
+panel_DETECT= ${LOCALBASE}/libdata/pkgconfig/libmatepanelapplet-4.0.pc
+panel_BUILD_DEPENDS= ${panel_DETECT}:${PORTSDIR}/x11/mate-panel
+panel_LIB_DEPENDS= libmate-panel-applet-4.so:${PORTSDIR}/x11/mate-panel
+panel_RUN_DEPENDS= ${panel_DETECT}:${PORTSDIR}/x11/mate-panel
+
+polkit_DETECT= ${LOCALBASE}/libdata/pkgconfig/polkit-gtk-mate-1.pc
+polkit_BUILD_DEPENDS= ${polkit_DETECT}:${PORTSDIR}/sysutils/mate-polkit
+polkit_LIB_DEPENDS= libpolkit-gtk-mate-1.so:${PORTSDIR}/sysutils/mate-polkit
+polkit_RUN_DEPENDS= ${polkit_DETECT}:${PORTSDIR}/sysutils/mate-polkit
+
+pluma_DETECT= ${LOCALBASE}/libdata/pkgconfig/pluma.pc
+pluma_BUILD_DEPENDS= ${pluma_DETECT}:${PORTSDIR}/editors/mate-text-editor
+pluma_RUN_DEPENDS= ${pluma_DETECT}:${PORTSDIR}/editors/mate-text-editor
+
+settingsdaemon_DETECT= ${LOCALBASE}/libdata/pkgconfig/mate-settings-daemon.pc
+settingsdaemon_BUILD_DEPENDS= ${settingsdaemon_DETECT}:${PORTSDIR}/sysutils/mate-settings-daemon
+settingsdaemon_RUN_DEPENDS= ${settingsdaemon_DETECT}:${PORTSDIR}/sysutils/mate-settings-daemon
+
+# End component definition section
+
+.endif
+# End of optional part.
+
+.if defined(_POSTMKINCLUDED) && !defined(Mate_Post_Include)
+
+Mate_Post_Include= bsd.mate.mk
+
+.if defined(USE_MATE)
+# Then handle the ltverhack component (it has to be done here, because
+# we rely on some bsd.autotools.mk variables, and bsd.autotools.mk is
+# included in the post-makefile section).
+.if defined(_AUTOTOOL_libtool)
+lthacks_CONFIGURE_ENV= ac_cv_path_DOLT_BASH=
+lthacks_PRE_PATCH= ${CP} -pf ${LTMAIN} ${WRKDIR}/mate-ltmain.sh && \
+ ${CP} -pf ${LIBTOOL} ${WRKDIR}/mate-libtool && \
+ for file in ${LIBTOOLFILES}; do \
+ ${REINPLACE_CMD} -e \
+ '/^ltmain=/!s|$$ac_aux_dir/ltmain\.sh|${LIBTOOLFLAGS} ${WRKDIR}/mate-ltmain.sh|g; \
+ /^LIBTOOL=/s|$$(top_builddir)/libtool|${WRKDIR}/mate-libtool|g' \
+ ${PATCH_WRKSRC}/$$file; \
+ done;
+.else
+. if ${USE_MATE:Mltverhack*}!="" || ${USE_MATE:Mltasneededhack}!=""
+IGNORE= cannot install: ${PORTNAME} uses the ltverhack and/or ltasneededhack MATE components but does not use libtool
+. endif
+.endif
+
+.if ${USE_MATE:Mltverhack\:*:C/^[^:]+:([^:]+).*/\1/}==""
+ltverhack_LIB_VERSION= major=.`expr $$current - $$age`
+.else
+ltverhack_LIB_VERSION= major=".${USE_MATE:Mltverhack\:*:C/^[^:]+:([^:]+).*/\1/}"
+.endif
+ltverhack_PATCH_DEPENDS=${LIBTOOL_DEPENDS}
+ltverhack_PRE_PATCH= for file in mate-ltmain.sh mate-libtool; do \
+ if [ -f ${WRKDIR}/$$file ]; then \
+ ${REINPLACE_CMD} -e \
+ '/freebsd-elf)/,/;;/ s|major="\.$$current"|${ltverhack_LIB_VERSION}|; \
+ /freebsd-elf)/,/;;/ s|versuffix="\.$$current"|versuffix="$$major"|' \
+ ${WRKDIR}/$$file; \
+ fi; \
+ done
+
+ltasneededhack_PATCH_DEPENDS=${LIBTOOL_DEPENDS}
+ltasneededhack_PRE_PATCH= if [ -f ${WRKDIR}/mate-libtool ]; then \
+ ${REINPLACE_CMD} -e \
+ '/^archive_cmds=/s/-shared/-shared -Wl,--as-needed/ ; \
+ /^archive_expsym_cmds=/s/-shared/-shared -Wl,--as-needed/' \
+ ${WRKDIR}/mate-libtool; \
+ fi
+
+
+# Comparing between USE_MATE and _USE_MATE_ALL to make sure the component
+# exists in _USE_MATE_ALL. If it does not exist then give an error about it.
+#. for component in ${USE_MATE:O:u:C/^([^:]+).*/\1/}
+. for component in ${USE_MATE:C/^([^:]+).*/\1/}
+#. for component in ${USE_GNOME:C/^([^:]+).*/\1/}
+. if ${_USE_MATE_ALL:M${component}}==""
+.error cannot install: Unknown component USE_MATE=${component}
+. endif
+. endfor
+
+. if ${USE_MATE:Mltverhack*}!= "" || ${USE_MATE:Mltasneededhack}!= ""
+MATE_PRE_PATCH+= ${lthacks_PRE_PATCH}
+CONFIGURE_ENV+= ${lthacks_CONFIGURE_ENV}
+. endif
+
+. for component in ${USE_MATE:O:u:C/^([^:]+).*/\1/}
+. if defined(${component}_PATCH_DEPENDS)
+PATCH_DEPENDS+= ${${component}_PATCH_DEPENDS}
+. endif
+
+. if defined(${component}_DETECT)
+. if ${USE_MATE:M${component}\:build}!=""
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+. elif ${USE_MATE:M${component}\:run}!=""
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+. else
+. if defined(${component}_LIB_DEPENDS)
+LIB_DEPENDS+= ${${component}_LIB_DEPENDS}
+. else
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+. endif
+. endif
+. endif
+
+. if defined(${component}_CONFIGURE_TARGET)
+CONFIGURE_ARGS+=${${component}_CONFIGURE_ARGS}
+. endif
+
+. if defined(${component}_CONFIGURE_ENV)
+CONFIGURE_ENV+= ${${component}_CONFIGURE_ENV}
+. endif
+
+. if defined(${component}_MAKE_ENV)
+MAKE_ENV+= ${${component}_MAKE_ENV}
+. endif
+
+. if !defined(CONFIGURE_TARGET) && defined(${component}_CONFIGURE_TARGET)
+CONFIGURE_TARGET= ${${component}_CONFIGURE_TARGET}
+. endif
+
+. if defined(${component}_PRE_PATCH)
+MATE_PRE_PATCH+= ; ${${component}_PRE_PATCH}
+. endif
+. endfor
+.endif # USE_MATE check
+
+.if ${USE_MATE:Mautogen}!=""
+
+CONFIGURE_ENV+= NOCONFIGURE=yes
+
+pre-configure: mate-pre-configure
+
+mate-pre-configure:
+ @(cd ${CONFIGURE_WRKSRC} ; ${SETENV} ${CONFIGURE_ENV} ./autogen.sh)
+.endif
+
+.if defined(MATE_PRE_PATCH)
+
+pre-configure-script: mate-pre-configure-script
+
+mate-pre-configure-script:
+ @${MATE_PRE_PATCH:C/^;//1}
+.endif
+
+.if ${MAINTAINER}=="gnome@FreeBSD.org"
+CONFIGURE_FAIL_MESSAGE= "Please run the gnomelogalyzer, available from \"http://www.freebsd.org/gnome/gnomelogalyzer.sh\", which will diagnose the problem and suggest a solution. If - and only if - the gnomelogalyzer cannot solve the problem, report the build failure to the FreeBSD MATE team at ${MAINTAINER}, and attach (a) \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\", (b) the output of the failed make command, and (c) the gnomelogalyzer output. Also, it might be a good idea to provide an overview of all packages installed on your system (i.e. an \`ls ${PKG_DBDIR}\`). Put your attachment up on any website, copy-and-paste into http://freebsd-gnome.pastebin.com, or use send-pr(1) with the attachment. Try to avoid sending any attachments to the mailing list (${MAINTAINER}), because attachments sent to FreeBSD mailing lists are usually discarded by the mailing list software."
+.endif
+
+.endif
+# End of use part.