aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlinimon <linimon@FreeBSD.org>2006-06-28 03:47:13 +0800
committerlinimon <linimon@FreeBSD.org>2006-06-28 03:47:13 +0800
commit672a85971f9eb22d581c58877bd8a1f6f6fc5780 (patch)
tree936fc39ccc0b7695f58da01cfae7b8e72a26881e
parentb0ba8d101c62dce3824251ac277244158748065f (diff)
downloadfreebsd-ports-gnome-672a85971f9eb22d581c58877bd8a1f6f6fc5780.tar.gz
freebsd-ports-gnome-672a85971f9eb22d581c58877bd8a1f6f6fc5780.tar.zst
freebsd-ports-gnome-672a85971f9eb22d581c58877bd8a1f6f6fc5780.zip
Reintroduce these files with the latest patchset, which among other things
incorporates ports/92445, "change all bogus uses of BROKEN to IGNORE"
-rw-r--r--devel/portmk/Mk/bsd.autotools.mk325
-rw-r--r--devel/portmk/Mk/bsd.database.mk381
-rw-r--r--devel/portmk/Mk/bsd.gcc.mk167
-rw-r--r--devel/portmk/Mk/bsd.gnome.mk776
-rw-r--r--devel/portmk/Mk/bsd.gstreamer.mk265
-rw-r--r--devel/portmk/Mk/bsd.kde.mk151
-rw-r--r--devel/portmk/Mk/bsd.php.mk338
-rw-r--r--devel/portmk/Mk/bsd.ruby.mk479
-rw-r--r--ports-mgmt/portmk/Mk/bsd.autotools.mk325
-rw-r--r--ports-mgmt/portmk/Mk/bsd.database.mk381
-rw-r--r--ports-mgmt/portmk/Mk/bsd.gcc.mk167
-rw-r--r--ports-mgmt/portmk/Mk/bsd.gnome.mk776
-rw-r--r--ports-mgmt/portmk/Mk/bsd.gstreamer.mk265
-rw-r--r--ports-mgmt/portmk/Mk/bsd.kde.mk151
-rw-r--r--ports-mgmt/portmk/Mk/bsd.php.mk338
-rw-r--r--ports-mgmt/portmk/Mk/bsd.ruby.mk479
16 files changed, 5764 insertions, 0 deletions
diff --git a/devel/portmk/Mk/bsd.autotools.mk b/devel/portmk/Mk/bsd.autotools.mk
new file mode 100644
index 000000000000..bf11a6938957
--- /dev/null
+++ b/devel/portmk/Mk/bsd.autotools.mk
@@ -0,0 +1,325 @@
+#-*- mode: makefile; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD$
+#
+# Please view me with 4 column tabs!
+#
+# Please make sure all changes to this file are passed either through
+# the maintainer, or portmgr@FreeBSD.org
+
+Autotools_Include_MAINTAINER= ade@FreeBSD.org
+
+#---------------------------------------------------------------------------
+# IMPORTANT! READ ME! YES, THAT MEANS YOU!
+#
+# The "versioned" autotools referenced here are for BUILDING other ports
+# only. THIS CANNOT BE STRESSED HIGHLY ENOUGH. Things WILL BREAK if you
+# try to use them for anything other than ports/ work. This particularly
+# includes use as a run-time dependency.
+#
+# If you need unmodified versions of autotools, such as for use in an
+# IDE, then you MUST use the devel/gnu-* equivalents, and NOT these.
+# See devel/anjuta and devel/kdevelop for examples.
+#
+# You have been WARNED!
+#---------------------------------------------------------------------------
+
+#---------------------------------------------------------------------------
+# Entry point into the autotools system
+#---------------------------------------------------------------------------
+#
+# USE_AUTOTOOLS= tool:version[:env] ...
+#
+# 'tool' can currently be one of:
+# libtool, libltdl, autoconf, autoheader, automake, aclocal
+#
+# 'version' is tool dependent
+#
+# ':env' is used to pecify that the environment variables are needed,
+# but the relevant tool should NOT be run as part of the
+# run-autotools target
+#
+# XXX: there is currently no sanity checking of the supplied variables
+# other than to detect actually available versions. This should
+# probably be fixed at some point.
+#
+# In addition, the following variables can be set in the port Makefile
+# to be passed to the relevant tools:
+#
+# AUTOMAKE_ARGS=...
+# - Extra arguments passed to automake during configure step
+#
+# ACLOCAL_ARGS=...
+# - Arguments passed to aclocal during configure step
+#
+# AUTOCONF_ARGS=...
+# - Extra arguments passed to autoconf during configure step
+#
+# AUTOHEADER_ARGS=...
+# - Extra arguments passed to autoheader during configure step
+#
+# LIBTOOLFLAGS=<value>
+# - Arguments passed to libtool during configure step
+#
+# LIBTOOLFILES=<list-of-files>
+# - A list of files to patch during libtool pre-configuration
+# Defaults to "aclocal.m4" if autoconf is in use, otherwise "configure"
+#
+#---------------------------------------------------------------------------
+
+# XXX: here be dragons :)
+#
+.for item in ${USE_AUTOTOOLS}
+AUTOTOOL_${item:C/^([^:]+).*/\1/}${item:M*\:*\:*:C/^[^:]+:[^:]+:([^:]+)/_\1/}= ${item:C/^[^:]+:([^:]+).*/\1/}
+.endfor
+
+# XXX: temporary to highlight any missed ports in the conversion
+#
+.if defined(AUTOTOOL_libtool_inc)
+IGNORE+= error: libtool:${AUTOTOOL_libtool_inc}:inc construct no longer available
+.endif
+
+#---------------------------------------------------------------------------
+# AUTOMAKE/ACLOCAL
+#---------------------------------------------------------------------------
+
+.if defined(AUTOTOOL_automake)
+AUTOTOOL_automake_env= ${AUTOTOOL_automake}
+GNU_CONFIGURE?= yes
+.endif
+
+.if defined(AUTOTOOL_aclocal)
+AUTOTOOL_automake_env= ${AUTOTOOL_aclocal}
+GNU_CONFIGURE?= yes
+.endif
+
+.if defined(AUTOTOOL_automake_env)
+AUTOMAKE_VERSION= ${AUTOTOOL_automake_env}
+
+# Make sure we specified a legal version of automake
+#
+. if !exists(${PORTSDIR}/devel/automake${AUTOMAKE_VERSION}/Makefile)
+IGNORE+= cannot install: unknown AUTOMAKE version: ${AUTOMAKE_VERSION}
+. endif
+
+# Set up the automake environment
+#
+AUTOMAKE= ${LOCALBASE}/bin/automake${AUTOMAKE_VERSION}
+AUTOMAKE_DIR= ${LOCALBASE}/share/automake${AUTOMAKE_VERSION}
+ACLOCAL= ${LOCALBASE}/bin/aclocal${AUTOMAKE_VERSION}
+ACLOCAL_DIR= ${LOCALBASE}/share/aclocal${AUTOMAKE_VERSION}
+AUTOMAKE_PATH= ${LOCALBASE}/libexec/automake${AUTOMAKE_VERSION}:
+AUTOMAKE_VARS= ACLOCAL=${ACLOCAL} AUTOMAKE=${AUTOMAKE}
+
+AUTOMAKE_DEPENDS= ${AUTOMAKE}:${PORTSDIR}/devel/automake${AUTOMAKE_VERSION}
+BUILD_DEPENDS+= ${AUTOMAKE_DEPENDS}
+
+# XXX: backwards compatibility shim
+#
+. if ${AUTOMAKE_VERSION} == 14
+AUTOMAKE_ARGS+= -i
+. endif
+
+. if defined(AUTOTOOL_aclocal)
+ACLOCAL_ARGS?= --acdir=${ACLOCAL_DIR}
+. endif
+
+.endif
+
+#---------------------------------------------------------------------------
+# AUTOCONF/AUTOHEADER
+#---------------------------------------------------------------------------
+
+.if defined(AUTOTOOL_autoheader)
+AUTOTOOL_autoconf= ${AUTOTOOL_autoheader}
+.endif
+
+.if defined(AUTOTOOL_autoconf)
+AUTOTOOL_autoconf_env= ${AUTOTOOL_autoconf}
+GNU_CONFIGURE?= yes
+.endif
+
+.if defined(AUTOTOOL_autoconf_env)
+AUTOCONF_VERSION= ${AUTOTOOL_autoconf_env}
+
+# Make sure we specified a legal version of autoconf
+#
+. if !exists(${PORTSDIR}/devel/autoconf${AUTOCONF_VERSION}/Makefile)
+IGNORE+= cannot install: unknown AUTOCONF version: ${AUTOCONF_VERSION}
+. endif
+
+# Set up the autoconf/autoheader environment
+#
+AUTOCONF= ${LOCALBASE}/bin/autoconf${AUTOCONF_VERSION}
+AUTOCONF_DIR= ${LOCALBASE}/share/autoconf${AUTOCONF_VERSION}
+AUTOHEADER= ${LOCALBASE}/bin/autoheader${AUTOCONF_VERSION}
+AUTOIFNAMES= ${LOCALBASE}/bin/ifnames${AUTOCONF_VERSION}
+AUTOM4TE= ${LOCALBASE}/bin/autom4te${AUTOCONF_VERSION}
+AUTORECONF= ${LOCALBASE}/bin/autoreconf${AUTOCONF_VERSION}
+AUTOSCAN= ${LOCALBASE}/bin/autoscan${AUTOCONF_VERSION}
+AUTOUPDATE= ${LOCALBASE}/bin/autoupdate${AUTOCONF_VERSION}
+AUTOCONF_PATH= ${LOCALBASE}/libexec/autoconf${AUTOCONF_VERSION}:
+AUTOCONF_VARS= AUTOCONF=${AUTOCONF} AUTOHEADER=${AUTOHEADER} AUTOIFNAMES=${AUTOIFNAMES} AUTOM4TE=${AUTOM4TE} AUTORECONF=${AUTORECONF} AUTOSCAN=${AUTOSCAN} AUTOUPDATE=${AUTOUPDATE}
+
+AUTOCONF_DEPENDS= ${AUTOCONF}:${PORTSDIR}/devel/autoconf${AUTOCONF_VERSION}
+BUILD_DEPENDS+= ${AUTOCONF_DEPENDS}
+
+.endif
+
+#---------------------------------------------------------------------------
+# LIBTOOL/LIBLTDL
+#---------------------------------------------------------------------------
+
+# Convenience function to save people having to depend directly on
+# devel/libltdl15
+#
+.if defined(AUTOTOOL_libltdl)
+LIB_DEPENDS+= ltdl.4:${PORTSDIR}/devel/libltdl15
+.endif
+
+.if defined(AUTOTOOL_libtool)
+GNU_CONFIGURE?= YES
+AUTOTOOL_libtool_env= ${AUTOTOOL_libtool}
+.endif
+
+.if defined(AUTOTOOL_libtool_env)
+LIBTOOL_VERSION= ${AUTOTOOL_libtool_env}
+
+# Make sure we specified a legal version of libtool
+#
+. if !exists(${PORTSDIR}/devel/libtool${LIBTOOL_VERSION}/Makefile)
+IGNORE+= cannot install: unknown LIBTOOL version: ${LIBTOOL_VERSION}
+. endif
+
+# Set up the libtool environment
+#
+LIBTOOL= ${LOCALBASE}/bin/libtool
+LIBTOOLIZE= ${LOCALBASE}/bin/libtoolize
+LIBTOOL_LIBEXECDIR= ${LOCALBASE}/libexec/libtool
+LIBTOOL_SHAREDIR= ${LOCALBASE}/share/libtool
+LIBTOOL_M4= ${LOCALBASE}/share/aclocal/libtool.m4
+LTMAIN= ${LIBTOOL_SHAREDIR}/ltmain.sh
+LIBTOOL_VARS= LIBTOOL=${LIBTOOL} LIBTOOLIZE=${LIBTOOLIZE} LIBTOOL_M4=${LIBTOOL_M4}
+
+LIBTOOL_DEPENDS= ${LIBTOOL}:${PORTSDIR}/devel/libtool${LIBTOOL_VERSION}
+BUILD_DEPENDS+= ${LIBTOOL_DEPENDS}
+
+LIBTOOLFLAGS?= # default to empty
+
+. if defined(AUTOTOOL_autoconf)
+LIBTOOLFILES?= aclocal.m4
+. else
+LIBTOOLFILES?= configure
+. endif
+
+.endif
+
+#---------------------------------------------------------------------------
+# Environmental handling
+# Now that we've got our environments defined for autotools, add them
+# in so that the rest of the world can handle them
+#
+AUTOTOOLS_PATH= ${AUTOMAKE_PATH}${AUTOCONF_PATH}
+AUTOTOOLS_VARS= ${AUTOMAKE_VARS} ${AUTOCONF_VARS} ${LIBTOOL_VARS}
+
+.if defined(AUTOTOOLS_PATH) && (${AUTOTOOLS_PATH} != "")
+AUTOTOOLS_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+CONFIGURE_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+MAKE_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+SCRIPTS_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+. for item in automake aclocal autoconf autoheader libtool
+. if defined(AUTOTOOL_${item}_env)
+${item:U}_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+. endif
+. endfor
+.endif
+
+.if defined(AUTOTOOLS_VARS) && (${AUTOTOOLS_VARS} != "")
+AUTOTOOLS_ENV+= ${AUTOTOOLS_VARS}
+CONFIGURE_ENV+= ${AUTOTOOLS_VARS}
+MAKE_ENV+= ${AUTOTOOLS_VARS}
+SCRIPTS_ENV+= ${AUTOTOOLS_VARS}
+. for item in automake aclocal autoconf autoheader libtool
+. if defined(AUTOTOOL_${item}_env)
+${item:U}_ENV+= ${AUTOTOOLS_VARS}
+. endif
+. endfor
+.endif
+
+#---------------------------------------------------------------------------
+# Make targets
+#---------------------------------------------------------------------------
+
+# run-autotools
+#
+# Part of the configure set - run appropriate programs prior to
+# the actual configure target if autotools are in use.
+# If needed, this target can be overridden, for example to change
+# the order of autotools running.
+
+.if !target(run-autotools)
+run-autotools:: run-autotools-aclocal patch-autotools run-autotools-autoheader \
+ run-autotools-autoconf run-autotools-automake
+.endif
+
+.if !target(run-autotools-aclocal)
+run-autotools-aclocal:
+. if defined(AUTOTOOL_aclocal)
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${ACLOCAL} \
+ ${ACLOCAL_ARGS})
+. else
+ @${DO_NADA}
+. endif
+.endif
+
+.if !target(run-autotools-automake)
+run-autotools-automake:
+. if defined(AUTOTOOL_automake)
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOMAKE} \
+ ${AUTOMAKE_ARGS})
+. else
+ @${DO_NADA}
+. endif
+.endif
+
+.if !target(run-autotools-autoconf)
+run-autotools-autoconf:
+. if defined(AUTOTOOL_autoconf)
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOCONF} \
+ ${AUTOCONF_ARGS})
+. else
+ @${DO_NADA}
+. endif
+.endif
+
+.if !target(run-autotools-autoheader)
+run-autotools-autoheader:
+. if defined(AUTOTOOL_autoheader)
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOHEADER} \
+ ${AUTOHEADER_ARGS})
+. else
+ @${DO_NADA}
+. endif
+.endif
+
+# patch-autotools
+#
+# Special target to automatically make libtool using ports use the
+# libtool port. See above for default values of LIBTOOLFILES.
+
+.if !target(patch-autotools)
+patch-autotools::
+. if defined(AUTOTOOL_libtool)
+ @(cd ${PATCH_WRKSRC}; \
+ for file in ${LIBTOOLFILES}; do \
+ ${CP} $$file $$file.tmp; \
+ ${SED} -e "/^ltmain=/!s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} ${LTMAIN}^g" \
+ -e '/^LIBTOOL=/s^\$$(top_builddir)/libtool^${LIBTOOL}^g' \
+ $$file.tmp > $$file; \
+ ${RM} $$file.tmp; \
+ done);
+. else
+ @${DO_NADA}
+. endif
+.endif
diff --git a/devel/portmk/Mk/bsd.database.mk b/devel/portmk/Mk/bsd.database.mk
new file mode 100644
index 000000000000..b101242c1dc7
--- /dev/null
+++ b/devel/portmk/Mk/bsd.database.mk
@@ -0,0 +1,381 @@
+# -*- mode: Makefile; tab-width: 4; -*-
+# ex: ts=4
+#
+# $FreeBSD$
+#
+
+.if defined(_POSTMKINCLUDED) && !defined(Database_Post_Include)
+
+Database_Post_Include= bsd.database.mk
+Database_Include_MAINTAINER= ports@FreeBSD.org
+
+# This file contains some routines to interact with different databases, such
+# as mysql, postgresql and berkley DB. For including this file define macro
+# USE_[DATABASE], for example USE_MYSQL. Defining macro like USE_[DATABASE]_VER
+# or WANT_[DATABSE]_VER will include this file too.
+#
+##
+# USE_MYSQL - Add MySQL client dependency.
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (MySQL4.1 = 41).
+# DEFAULT_MYSQL_VER
+# - MySQL default version. Can be overriden within a port.
+# Default: 41.
+# WANT_MYSQL_VER
+# - Maintainer can set an arbitrary version of MySQL by using it.
+# IGNORE_WITH_MYSQL
+# - This variable can be defined if the ports doesn't support
+# one or more version of MySQL.
+# WITH_MYSQL_VER
+# - User defined variable to set MySQL version.
+# MYSQL_VER
+# - Detected MySQL version.
+##
+# USE_PGSQL - Add PostgreSQL client dependency.
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (PostgreSQL-7.4 = 74).
+# DEFAULT_PGSQL_VER
+# - PostgreSQL default version. Can be overridden within a port.
+# Default: 74.
+# WANT_PGSQL_VER
+# - Maintainer can set an arbitrary version of PostgreSQL by
+# using it.
+# IGNORE_WITH_PGSQL
+# - This variable can be defined if the ports doesn't support
+# one or more versions of PostgreSQL.
+# PGSQL_VER
+# - Detected PostgreSQL version.
+##
+# USE_BDB - Add Berkeley DB library dependency.
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (db41+).
+# INVALID_BDB_VER - This variable can be defined when the port doesn't
+# support one or more versions of Berkeley DB.
+# WANT_BDB_VER - Maintainer can set a version of Berkeley DB to always
+# build this port with (overrides WITH_BDB_VER).
+# WITH_BDB_VER - User defined global variable to set Berkeley DB version
+# <UNIQUENAME>_WITH_BDB_VER - User defined port specific variable to set
+# Berkeley DB version
+# WITH_BDB_HIGHEST - Use the highest installed version of Berkeley DB
+# BDB_LIB_NAME - This variable is automatically set to the name of the
+# Berkeley DB library (default: db41)
+# BDB_LIB_CXX_NAME - This variable is automatically set to the name of the
+# Berkeley DB c++ library (default: db41_cxx)
+# BDB_INCLUDE_DIR - This variable is automatically set to the location of
+# the Berkeley DB include directory.
+# (default: ${LOCALBASE}/include/db41)
+# BDB_LIB_DIR - This variable is automatically set to the location of
+# the Berkeley DB library directory.
+# BDB_VER - Detected Berkeley DB version.
+##
+# USE_SQLITE - Add dependency on sqlite library. Valid values are:
+# 3 and 2. If version is not specified directly then
+# sqlite3 is used (if USE_SQLITE= yes).
+# SQLITE_VER - Detected sqlite version.
+
+.if defined(USE_MYSQL)
+DEFAULT_MYSQL_VER?= 50
+# MySQL client version currently supported.
+MYSQL323_LIBVER= 10
+MYSQL40_LIBVER= 12
+MYSQL41_LIBVER= 14
+MYSQL50_LIBVER= 15
+MYSQL51_LIBVER= 15
+
+# Setting/finding MySQL version we want.
+.if exists(${LOCALBASE}/bin/mysql)
+_MYSQL_VER!= ${LOCALBASE}/bin/mysql --version | ${SED} -e 's/.*Distrib \([0-9]\)\.\([0-9]*\).*/\1\2/'
+.endif
+
+.if defined(WANT_MYSQL_VER)
+.if defined(WITH_MYSQL_VER) && ${WITH_MYSQL_VER} != ${WANT_MYSQL_VER}
+IGNORE= cannot install: the port wants mysql${WANT_MYSQL_VER}-client and you try to install mysql${WITH_MYSQL_VER}-client.
+.endif
+MYSQL_VER= ${WANT_MYSQL_VER}
+.elif defined(WITH_MYSQL_VER)
+MYSQL_VER= ${WITH_MYSQL_VER}
+.else
+.if defined(_MYSQL_VER)
+MYSQL_VER= ${_MYSQL_VER}
+.else
+MYSQL_VER= ${DEFAULT_MYSQL_VER}
+.endif
+.endif # WANT_MYSQL_VER
+
+.if defined(_MYSQL_VER)
+.if ${_MYSQL_VER} != ${MYSQL_VER}
+IGNORE= cannot install: MySQL versions mismatch: mysql${_MYSQL_VER}-client is installed and wanted version is mysql${MYSQL_VER}-client
+.endif
+.endif
+
+# And now we are checking if we can use it
+.if defined(MYSQL${MYSQL_VER}_LIBVER)
+# compatability shim
+.if defined(BROKEN_WITH_MYSQL)
+IGNORE_WITH_MYSQL=${BROKEN_WITH_MYSQL}
+.endif
+.if defined(IGNORE_WITH_MYSQL)
+. for VER in ${IGNORE_WITH_MYSQL}
+. if (${MYSQL_VER} == "${VER}")
+IGNORE= cannot install: doesn't work with MySQL version : ${MYSQL_VER} (Doesn't support MySQL ${IGNORE_WITH_MYSQL})
+. endif
+. endfor
+.endif # IGNORE_WITH_MYSQL
+LIB_DEPENDS+= mysqlclient.${MYSQL${MYSQL_VER}_LIBVER}:${PORTSDIR}/databases/mysql${MYSQL_VER}-client
+.else
+IGNORE= cannot install: unknown MySQL version: ${MYSQL_VER}
+.endif # Check for correct libs
+.endif # USE_MYSQL
+
+.if defined(USE_PGSQL)
+DEFAULT_PGSQL_VER?= 74
+PGSQL73_LIBVER= 3
+PGSQL74_LIBVER= 3
+PGSQL80_LIBVER= 4
+PGSQL81_LIBVER= 4
+
+# Setting/finding PostgreSQL version we want.
+.if exists(${LOCALBASE}/bin/pg_config)
+_PGSQL_VER!= ${LOCALBASE}/bin/pg_config --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\)[^0-9].*/\1\2/p'
+.endif
+
+.if defined(WANT_PGSQL_VER) && defined(_PGSQL_VER) && ${WANT_PGSQL_VER} != ${_PGSQL_VER}
+IGNORE= cannot install: the port wants postgresql${WANT_PGSQL_VER}-client but you have postgresql${_PGSQL_VER}-client installed
+.endif
+
+.if defined(_PGSQL_VER)
+PGSQL_VER= ${_PGSQL_VER}
+.elif defined(WANT_PGSQL_VER)
+PGSQL_VER= ${WANT_PGSQL_VER}
+.else
+PGSQL_VER= ${DEFAULT_PGSQL_VER}
+.endif
+
+# And now we are checking if we can use it
+.if defined(PGSQL${PGSQL_VER}_LIBVER)
+# compatability shim
+.if defined(BROKEN_WITH_PGSQL)
+IGNORE_WITH_PGSQL=${BROKEN_WITH_PGSQL}
+.endif
+.if defined(IGNORE_WITH_PGSQL)
+. for VER in ${IGNORE_WITH_PGSQL}
+. if (${PGSQL_VER} == "${VER}")
+IGNORE= cannot install: does not work with postgresql${PGSQL_VER}-client PostgresSQL (${IGNORE_WITH_PGSQL} not supported)
+. endif
+. endfor
+.endif # IGNORE_WITH_PGSQL
+LIB_DEPENDS+= pq.${PGSQL${PGSQL_VER}_LIBVER}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-client
+.else
+IGNORE= cannot install: unknown PostgreSQL version: ${PGSQL_VER}
+.endif # Check for correct version
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
+.endif # USE_PGSQL
+
+
+.if defined(USE_BDB)
+
+_DB_PORTS= 2 3 40 41 42 43 44 3+ 40+ 41+ 42+ 43+ 44+
+# Dependence lines for different db versions
+db2_DEPENDS= db2.0:${PORTSDIR}/databases/db2
+db3_DEPENDS= db3.3:${PORTSDIR}/databases/db3
+db40_DEPENDS= db4.0:${PORTSDIR}/databases/db4
+db41_DEPENDS= db41.1:${PORTSDIR}/databases/db41
+db42_DEPENDS= db-4.2.2:${PORTSDIR}/databases/db42
+db43_DEPENDS= db-4.3.0:${PORTSDIR}/databases/db43
+db44_DEPENDS= db-4.4.0:${PORTSDIR}/databases/db44
+# Detect db versions by finding some files
+db3_FIND= ${LOCALBASE}/include/db3/db.h
+db40_FIND= ${LOCALBASE}/include/db4/db.h
+db41_FIND= ${LOCALBASE}/include/db41/db.h
+db42_FIND= ${LOCALBASE}/include/db42/db.h
+db43_FIND= ${LOCALBASE}/include/db43/db.h
+db44_FIND= ${LOCALBASE}/include/db44/db.h
+
+# For specifying [3, 40, 41, ..]+
+_DB_3P= 3 40 41 42 43 44
+_DB_40P= 40 41 42 43 44
+_DB_41P= 41 42 43 44
+_DB_42P= 42 43 44
+_DB_43P= 43 44
+
+# Override the global WITH_BDB_VER with the
+# port specific <UNIQUENAME>_WITH_BDB_VER
+.if defined(${UNIQUENAME:U:S,-,_,}_WITH_BDB_VER)
+WITH_BDB_VER= ${${UNIQUENAME:U:S,-,_,}_WITH_BDB_VER}
+.endif
+
+.if defined(WITH_BDB_VER)
+. if ${WITH_BDB_VER} == 4
+USE_BDB= 40
+. elif ${WITH_BDB_VER} != 1
+USE_BDB= ${WITH_BDB_VER}
+. endif
+.endif
+_WANT_BDB_VER= ${USE_BDB}
+
+# Assume the default bdb version as 41
+.if ${USE_BDB:L} == "yes"
+_WANT_BDB_VER= 41+
+.endif
+
+# Detect bdb version
+_BDB_VER= no
+_BDB_IGNORE= no
+
+# Override the user defined WITH_BDB_VER with the WANT_BDB_VER
+.if defined(WANT_BDB_VER)
+.for bdb in ${_DB_PORTS}
+.if ${WANT_BDB_VER} == "${bdb}" && ${_BDB_VER} == "no"
+_BDB_VER= ${WANT_BDB_VER}
+.endif
+.endfor
+USE_BDB= ${WANT_BDB_VER}
+.else
+.for bdb in ${_DB_PORTS}
+.if ${_WANT_BDB_VER} == "${bdb}" && ${_BDB_VER} == "no"
+_MATCHED_DB_VER:= ${bdb:S/+//}
+. if ${_MATCHED_DB_VER} == "${bdb}"
+# USE_BDB is exactly specified
+_BDB_VER= ${bdb}
+.else
+# USE_BDB is specified as VER+
+. for dbx in ${_DB_${_MATCHED_DB_VER}P}
+. if exists(${db${dbx}_FIND})
+_BRKDB= no
+# Skip versions we are incompatible with
+. if defined(INVALID_BDB_VER)
+_CHK_BDB:= ${dbx}
+. for BRKDB in ${INVALID_BDB_VER}
+. if ${_CHK_BDB} == "${BRKDB}"
+_BRKDB= yes
+. endif
+. endfor
+. endif
+. if ${_BRKDB} == no
+. if defined(WITH_BDB_HIGHEST)
+# Use the highest version of Berkeley DB found
+_BDB_VER= ${dbx}
+. elif ${_BDB_VER} == no
+# Use the first Berkeley DB found
+_BDB_VER= ${dbx}
+. endif
+. endif
+. endif
+. endfor
+. if ${_BDB_VER} == "no"
+# No existing db4 version is detected in system
+_BDB_VER= ${_MATCHED_DB_VER}
+. endif
+. endif
+.endif
+.endfor
+.endif
+
+# USE_BDB is specified incorrectly, so mark this as IGNORE
+.if ${_BDB_VER} == "no"
+IGNORE= cannot install: unknown bdb version: ${USE_BDB}
+.else
+# Now check if we can use it
+. if defined(INVALID_BDB_VER)
+. for VER in ${INVALID_BDB_VER}
+_CHK_PLUS:= ${VER:S/+//}
+# INVALID_BDB_VER is specified as VER+
+. if ${_CHK_PLUS} != "${VER}"
+. if ${_BDB_VER} == "${_CHK_PLUS}
+_BDB_IGNORE= yes
+. else
+. for VER_P in ${_DB_${_CHK_PLUS}P}
+. if ${_BDB_VER} == "${VER_P}"
+_BDB_IGNORE= yes
+. endif
+. endfor
+. endif
+. elif ${_BDB_VER} == "${VER}"
+_BDB_IGNORE= yes
+. endif
+. endfor
+. endif
+. if ${_BDB_IGNORE} == "yes"
+IGNORE= cannot install: does not work with bdb version: ${_BDB_VER} (${INVALID_BDB_VER} not supported)
+. else
+# Now add the dependancy on Berkeley DB ${_BDB_VER) version
+.if defined(BDB_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${db${_BDB_VER}_FIND}:${db${_BDB_VER}_DEPENDS:C/^db.*://}
+.else
+LIB_DEPENDS+= ${db${_BDB_VER}_DEPENDS}
+.endif
+. if ${_BDB_VER} == 40
+BDB_LIB_NAME= db4
+BDB_LIB_CXX_NAME= db4_cxx
+BDB_INCLUDE_DIR= ${LOCALBASE}/include/db4
+. elif ${_BDB_VER} == 42
+BDB_LIB_NAME= db-4.2
+BDB_LIB_CXX_NAME= db_cxx-4.2
+BDB_LIB_DIR= ${LOCALBASE}/lib/db42
+. elif ${_BDB_VER} == 43
+BDB_LIB_NAME= db-4.3
+BDB_LIB_CXX_NAME= db_cxx-4.3
+BDB_LIB_DIR= ${LOCALBASE}/lib/db43
+. elif ${_BDB_VER} == 44
+BDB_LIB_NAME= db-4.4
+BDB_LIB_CXX_NAME= db_cxx-4.4
+BDB_LIB_DIR= ${LOCALBASE}/lib/db44
+. endif
+BDB_LIB_NAME?= db${_BDB_VER}
+BDB_LIB_CXX_NAME?= db${_BDB_VER}_cxx
+BDB_INCLUDE_DIR?= ${LOCALBASE}/include/db${_BDB_VER}
+BDB_LIB_DIR?= ${LOCALBASE}/lib
+. endif
+BDB_VER= ${_BDB_VER}
+.endif
+
+# Obsolete variables
+.if defined(OBSOLETE_BDB_VAR)
+. for var in ${OBSOLETE_BDB_VAR}
+. if defined(${var})
+BAD_VAR+= ${var},
+. endif
+. endfor
+. if defined(BAD_VAR)
+_IGNORE_MSG= Obsolete variable(s) ${BAD_VAR} use WITH_BDB_VER or ${UNIQUENAME:U:S,-,_,}_WITH_BDB_VER to select Berkeley DB version
+. if defined(IGNORE)
+IGNORE+= ${_IGNORE_MSG}
+. else
+IGNORE= ${_IGNORE_MSG}
+. endif
+. endif
+.endif
+
+.endif # USE_BDB
+
+# Handling sqlite dependency
+.if defined(USE_SQLITE)
+
+.if ${USE_SQLITE:L} == "yes"
+_SQLITE_VER= 3
+.else
+_SQLITE_VER= ${USE_SQLITE}
+.endif
+
+# USE_SQLITE is specified incorrectly, so mark this as IGNORE
+.if ${_SQLITE_VER} == "3"
+LIB_DEPENDS+= sqlite${_SQLITE_VER}:${PORTSDIR}/databases/sqlite${_SQLITE_VER}
+SQLITE_VER= ${_SQLITE_VER}
+.elif ${_SQLITE_VER} == "2"
+LIB_DEPENDS+= sqlite.${_SQLITE_VER}:${PORTSDIR}/databases/sqlite${_SQLITE_VER}
+SQLITE_VER= ${_SQLITE_VER}
+.else
+IGNORE= cannot install: unknown sqlite version: ${_SQLITE_VER}
+.endif
+
+.endif # defined(USE_SQLITE)
+
+.endif # defined(_POSTMKINCLUDED) && !defined(Database_Post_Include)
diff --git a/devel/portmk/Mk/bsd.gcc.mk b/devel/portmk/Mk/bsd.gcc.mk
new file mode 100644
index 000000000000..7d802cb68a3d
--- /dev/null
+++ b/devel/portmk/Mk/bsd.gcc.mk
@@ -0,0 +1,167 @@
+#-*- mode: Fundamental; tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.gcc.mk - Support for smarter USE_GCC usage.
+#
+# Created by: Edwin Groothuis <edwin@freebsd.org>
+#
+# For port developers:
+# If your port needs a specific version of GCC, you can easily specify
+# that with the "USE_GCC=" statement. If you need a certain minimal version,
+# but don't care if about the upperversion, just the + sign behind
+# the version.
+#
+# For example:
+# USE_GCC= 3.3 # port requires GCC 3.3 to build with.
+# USE_GCC= 3.4+ # port requires GCC 3.4 or later to build with.
+#
+# If you are wondering what your port exactly does, use "make test-gcc"
+# to see some debugging.
+#
+# $FreeBSD: /tmp/pcvs/ports/devel/portmk/Mk/Attic/bsd.gcc.mk,v 1.4 2006-06-27 19:47:13 linimon Exp $
+#
+
+GCC_Include_MAINTAINER= portmgr@FreeBSD.org
+
+#
+# All GCC versions supported by the ports framework.
+# Please keep them in ascending order.
+#
+GCCVERSIONS= 020702 020801 029500 030200 030301 030402 040000 040100 040200
+
+#
+# Versions of GCC shipped.
+# The first field if the OSVERSION in which it appeared in the base system.
+# The second field is the OSVERSION in which it disappeared from
+# the base system.
+# The third field is the version as USE_GCC would use.
+#
+GCCVERSION_020702= 000000 000000 2.7
+GCCVERSION_020801= 000000 400012 2.8
+GCCVERSION_029500= 400012 500035 2.95
+GCCVERSION_030200= 500039 501103 3.2
+GCCVERSION_030301= 501103 502126 3.3
+GCCVERSION_030402= 502126 999999 3.4
+GCCVERSION_040000= 999999 999999 4.0
+GCCVERSION_040100= 999999 999999 4.1
+GCCVERSION_040200= 999999 999999 4.2
+
+#
+# No configurable parts below this.
+#
+
+#
+# See if we can use a later version
+#
+_USE_GCC:= ${USE_GCC:S/+//}
+.if ${USE_GCC} != ${_USE_GCC}
+_GCC_ORLATER:= true
+.endif
+
+#
+# Extract the fields from GCCVERSION_ and check if USE_GCC points to a valid
+# version.
+#
+.for v in ${GCCVERSIONS}
+. for j in ${GCCVERSION_${v}}
+. if !defined(_GCCVERSION_${v}_L)
+_GCCVERSION_${v}_L= ${j}
+. elif !defined(_GCCVERSION_${v}_R)
+_GCCVERSION_${v}_R= ${j}
+. elif !defined(_GCCVERSION_${v}_V)
+_GCCVERSION_${v}_V= ${j}
+. if ${_USE_GCC}==${j}
+_GCCVERSION_OKAY= true;
+. endif
+. endif
+. endfor
+.endfor
+
+.if !defined(_GCCVERSION_OKAY)
+IGNORE= Unknown version of GCC specified (USE_GCC=${USE_GCC})
+.endif
+
+#
+# Determine current GCCVERSION
+#
+.for v in ${GCCVERSIONS}
+. if exists(${LOCALBASE}/bin/gcc${_GCCVERSION_${v}_V:S/.//})
+_GCC_FOUND${v}= port
+. endif
+. if ${OSVERSION} >= ${_GCCVERSION_${v}_L} && ${OSVERSION} < ${_GCCVERSION_${v}_R}
+_GCCVERSION:= ${v}
+_GCC_FOUND${v}:= base
+. endif
+.endfor
+.if !defined(_GCCVERSION)
+IGNORE= Couldn't find your current GCCVERSION (OSVERSION=${OSVERSION})
+.endif
+
+#
+# If the GCC package defined in USE_GCC does not exist, but a later
+# version is allowed (for example 3.4+), see if there is a later.
+# First check if the base installed version is good enough, otherwise
+# get the first available version.
+#
+.if defined(_GCC_ORLATER)
+. for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+_GCC_MIN1:= true
+. endif
+. if defined(_GCC_MIN1) && defined(_GCC_FOUND${v}) && ${_GCC_FOUND${v}}=="base" && !defined(_GCC_FOUND)
+_GCC_FOUND:= ${_GCCVERSION_${v}_V}
+. endif
+. endfor
+. for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+_GCC_MIN2:= true
+. endif
+. if defined(_GCC_MIN2) && defined(_GCC_FOUND${v}) && !defined(_GCC_FOUND)
+_GCC_FOUND:= ${_GCCVERSION_${v}_V}
+. endif
+. endfor
+.endif
+.if defined(_GCC_FOUND)
+_USE_GCC:=${_GCC_FOUND}
+.endif
+
+#
+# Determine if the installed OS already has this GCCVERSION, and if not
+# then set BUILD_DEPENDS, CC, CXX and F77
+#
+.for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+. if ${OSVERSION} < ${_GCCVERSION_${v}_L} || ${OSVERSION} > ${_GCCVERSION_${v}_R}
+V:= ${_GCCVERSION_${v}_V:S/.//}
+CC:= gcc${V}
+CXX:= g++${V}
+F77:= g77-${V}
+_GCC_BUILD_DEPENDS:= ${CC}
+. endif
+. endif
+.endfor
+.undef V
+
+.if defined(_GCC_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${_GCC_BUILD_DEPENDS}:${PORTSDIR}/lang/${_GCC_BUILD_DEPENDS}
+.endif
+
+MAKE_ENV+= CC="${CC}" CXX="${CXX}"
+
+test-gcc:
+ @echo USE_GCC=${USE_GCC}
+.if defined(_GCC_ORLATER)
+ @echo Port can use later versions.
+.else
+ @echo Port cannot use later versions.
+.endif
+.for v in ${GCCVERSIONS}
+ @echo -n "GCC version: ${_GCCVERSION_${v}_V} "
+.if defined(_GCC_FOUND${v})
+ @echo -n "(${_GCC_FOUND${v}}) "
+.endif
+ @echo "- OSVERSION from ${_GCCVERSION_${v}_L} to ${_GCCVERSION_${v}_R}"
+# @echo ${v} - ${_GCC_FOUND${v}} - ${_GCCVERSION_${v}_L} to ${_GCCVERSION_${v}_R} - ${_GCCVERSION_${v}_V}
+.endfor
+ @echo Using GCC vesion ${_USE_GCC}
+ @echo CC:${CC} - CXX:${CXX} - F77:${F77} - BUILD_DEPENDS:${BUILD_DEPENDS}
diff --git a/devel/portmk/Mk/bsd.gnome.mk b/devel/portmk/Mk/bsd.gnome.mk
new file mode 100644
index 000000000000..107656e57e9d
--- /dev/null
+++ b/devel/portmk/Mk/bsd.gnome.mk
@@ -0,0 +1,776 @@
+#-*- mode: Fundamental; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD$
+# $NetBSD: $
+# $MCom: ports/Mk/bsd.gnome.mk,v 1.370 2006/04/27 01:40:22 ahze Exp $
+#
+# Please view me with 4 column tabs!
+
+.if !defined(_POSTMKINCLUDED) && !defined(Gnome_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 ;).
+Gnome_Include_MAINTAINER= gnome@FreeBSD.org
+Gnome_Pre_Include= bsd.gnome.mk
+
+# This section defines possible names of GNOME components and all information
+# necessary for ports to use those components.
+
+# Ports can use this as follows:
+#
+# USE_GNOME= gnomeprint bonobo
+#
+# .include <bsd.port.mk>
+#
+# As a result proper LIB_DEPENDS/RUN_DEPENDS will be added and CONFIGURE_ENV
+# and MAKE_ENV defined.
+#
+#
+# GCONF_SCHEMAS - Set the following to list of all schema files
+# that your port installs. These schema files and
+# %gconf.xml files will be automatically added to
+# ${PLIST}. For example, if your port has
+# "etc/gconf/schemas/(foo.schemas and bar.schemas)",
+# add the following to your Makefile:
+# "GCONF_SCHEMAS=foo.schemas bar.schemas".
+#
+# INSTALLS_OMF - If set, bsd.gnome.mk will automatically scan pkg-plist
+# file and add apropriate @exec/@unexec directives for
+# each .omf file found to track OMF registration database.
+#
+# INSTALLS_ICONS - If your port installs Freedesktop-style icons to
+# ${LOCALBASE}/share/icons or ${X11BASE}/share/icons, then
+# you should use this macro. If the icons are not cached,
+# they will not be displayed.
+#
+
+# non-version specific components
+_USE_GNOME_ALL= esound intlhack intltool lthack ltverhack gnomehack \
+ referencehack gnomehier gnomemimedata gnomeprefix gnometarget pkgconfig
+
+# GNOME 1 components
+_USE_GNOME_ALL+= bonobo gal gconf gdkpixbuf glib12 glibwww \
+ gnomecanvas gnomedb gnomelibs gnomeprint gnomevfs gtk12 \
+ gtkhtml libcapplet libgda libghttp libglade libxml imlib \
+ oaf orbit pygnome pygtk
+
+# GNOME 2 components
+_USE_GNOME_ALL+= atk atspi desktopfileutils eel2 evolutiondataserver \
+ gail gal2 gconf2 glib20 gnomecontrolcenter2 gnomedesktop \
+ gnomedocutils gnomemenus gnomepanel gnomespeech gnomevfs2 \
+ gtk20 gtkhtml3 gtksourceview libartlgpl2 libbonobo \
+ libbonoboui libgailgnome libgda2 libgda3 libglade2 libgnome \
+ libgnomecanvas libgnomedb libgnomeprint libgnomeprintui \
+ libgnomeui libgsf libgsf_gnome libgtkhtml libidl librsvg2 libwnck \
+ libxml2 libxslt libzvt linc metacity nautilus2 nautiluscdburner \
+ orbit2 pango pygnome2 pygnomeextras pygtk2 vte pygnomedesktop
+
+SCROLLKEEPER_DIR= /var/db/scrollkeeper
+gnomehack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in*" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|[(]GNOME_datadir[)]/gnome/|(datadir)/|g ; \
+ s|[(]GNOME_datadir[)]/locale|(prefix)/share/locale|g ; \
+ s|[(]datadir[)]/locale|(prefix)/share/locale|g ; \
+ s|[(]libdir[)]/locale|(prefix)/share/locale|g ; \
+ s|[(]gnomedatadir[)]/gnome|(gnomedatadir)|g ; \
+ s|[(]datadir[)]/aclocal|(prefix)/share/aclocal|g ; \
+ s|[(]datadir[)]/gnome/|(datadir)/|g ; \
+ s|[(]datadir[)]/mime/|(prefix)/share/mime/|g ; \
+ s|[(]datadir[)]/mime"|(prefix)/share/mime"|g ; \
+ s|[(]datadir[)]/mime;|(prefix)/share/mime;|g ; \
+ s|[(]datadir[)]/mime$$|(prefix)/share/mime|g ; \
+ s|[(]datadir[)]/dbus-1|(prefix)/share/dbus-1|g ; \
+ s|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+ s|[$$][(]localstatedir[)]/scrollkeeper|${SCROLLKEEPER_DIR}|g ; \
+ s|[(]datadir[)]/icons/hicolor|(prefix)/share/icons/hicolor|g ; \
+ s|{datadir}/icons/hicolor|{prefix}/share/icons/hicolor|g ; \
+ s|[(]libdir[)]/bonobo/servers|(prefix)/libdata/bonobo/servers|g' ; \
+ ${FIND} ${WRKSRC} -name "configure" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|-lpthread|${PTHREAD_LIBS}|g ; \
+ s|DATADIRNAME=lib|DATADIRNAME=share|g ; \
+ s|{datadir}/locale|{prefix}/share/locale|g ; \
+ s|DATADIR/dbus-1/services|prefix/share/dbus-1/services|g ; \
+ s|datadir/dbus-1/services|prefix/share/dbus-1/services|g ; \
+ s|{libdir}/locale|{prefix}/share/locale|g'
+
+referencehack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ "s|test \"\$$\$$installfiles\" = '\$$(srcdir)/html/\*'|:|"
+
+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;|'
+
+GNOME_MTREE_FILE?= ${X11BASE}/etc/mtree/BSD.gnome-x11.dist
+gnomehier_DETECT= ${GNOME_MTREE_FILE}
+gnomehier_RUN_DEPENDS= ${gnomehier_DETECT}:${PORTSDIR}/misc/gnomehier
+
+GNOME_HTML_DIR?= ${PREFIX}/share/doc
+GCONF_CONFIG_OPTIONS?= merged
+GCONF_CONFIG_DIRECTORY?=etc/gconf/gconf.xml.defaults
+GCONF_CONFIG_SOURCE?=xml:${GCONF_CONFIG_OPTIONS}:${PREFIX}/${GCONF_CONFIG_DIRECTORY}
+GNOME_LOCALSTATEDIR?= ${PREFIX}/share/gnome
+gnomeprefix_CONFIGURE_ENV=GTKDOC="false"
+gnomeprefix_CONFIGURE_ARGS=--localstatedir=${GNOME_LOCALSTATEDIR} \
+ --datadir=${PREFIX}/share/gnome \
+ --with-html-dir=${GNOME_HTML_DIR} \
+ --with-help-dir=${PREFIX}/share/gnome/help \
+ --disable-gtk-doc \
+ --with-gconf-source=${GCONF_CONFIG_SOURCE}
+gnomeprefix_USE_GNOME_IMPL=gnomehier
+
+gnometarget_CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+
+ESD_CONFIG?= ${LOCALBASE}/bin/esd-config
+esound_LIB_DEPENDS= esd.2:${PORTSDIR}/audio/esound
+esound_CONFIGURE_ENV= ESD_CONFIG="${ESD_CONFIG}"
+esound_MAKE_ENV= ESD_CONFIG="${ESD_CONFIG}"
+esound_DETECT= ${ESD_CONFIG}
+
+libghttp_LIB_DEPENDS= ghttp.1:${PORTSDIR}/www/libghttp
+libghttp_DETECT= ${LOCALBASE}/etc/ghttpConf.sh
+
+GLIB_CONFIG?= ${LOCALBASE}/bin/glib12-config
+glib12_LIB_DEPENDS= glib-12.3:${PORTSDIR}/devel/glib12
+glib12_CONFIGURE_ENV= GLIB_CONFIG="${GLIB_CONFIG}"
+glib12_MAKE_ENV= GLIB_CONFIG="${GLIB_CONFIG}"
+glib12_DETECT= ${GLIB_CONFIG}
+glib12_USE_GNOME_IMPL= pkgconfig
+
+GTK_CONFIG?= ${X11BASE}/bin/gtk12-config
+gtk12_LIB_DEPENDS= gtk-12.2:${PORTSDIR}/x11-toolkits/gtk12
+gtk12_CONFIGURE_ENV= GTK_CONFIG="${GTK_CONFIG}"
+gtk12_MAKE_ENV= GTK_CONFIG="${GTK_CONFIG}"
+gtk12_DETECT= ${GTK_CONFIG}
+gtk12_USE_GNOME_IMPL= glib12
+
+XML_CONFIG?= ${LOCALBASE}/bin/xml-config
+libxml_LIB_DEPENDS= xml.5:${PORTSDIR}/textproc/libxml
+libxml_CONFIGURE_ENV= XML_CONFIG="${XML_CONFIG}"
+libxml_MAKE_ENV= XML_CONFIG="${XML_CONFIG}"
+libxml_DETECT= ${XML_CONFIG}
+libxml_USE_GNOME_IMPL= glib12
+
+ORBIT_CONFIG?= ${LOCALBASE}/bin/orbit-config
+orbit_LIB_DEPENDS= ORBit.2:${PORTSDIR}/devel/ORBit
+orbit_CONFIGURE_ENV= ORBIT_CONFIG="${ORBIT_CONFIG}"
+orbit_MAKE_ENV= ORBIT_CONFIG="${ORBIT_CONFIG}"
+orbit_DETECT= ${ORBIT_CONFIG}
+orbit_USE_GNOME_IMPL= glib12
+
+GDK_PIXBUF_CONFIG?= ${X11BASE}/bin/gdk-pixbuf-config
+gdkpixbuf_LIB_DEPENDS= gdk_pixbuf.2:${PORTSDIR}/graphics/gdk-pixbuf
+gdkpixbuf_CONFIGURE_ENV=GDK_PIXBUF_CONFIG="${GDK_PIXBUF_CONFIG}"
+gdkpixbuf_MAKE_ENV= GDK_PIXBUF_CONFIG="${GDK_PIXBUF_CONFIG}"
+gdkpixbuf_DETECT= ${GDK_PIXBUF_CONFIG}
+gdkpixbuf_USE_GNOME_IMPL=gtk12
+
+IMLIB_CONFIG?= ${X11BASE}/bin/imlib-config
+imlib_LIB_DEPENDS= Imlib.5:${PORTSDIR}/graphics/imlib
+imlib_CONFIGURE_ENV= IMLIB_CONFIG="${IMLIB_CONFIG}"
+imlib_MAKE_ENV= IMLIB_CONFIG="${IMLIB_CONFIG}"
+imlib_DETECT= ${IMLIB_CONFIG}
+imlib_USE_GNOME_IMPL= gtk12
+
+GNOME_CONFIG?= ${X11BASE}/bin/gnome-config
+gnomelibs_LIB_DEPENDS= gnome.5:${PORTSDIR}/x11/gnome-libs
+gnomelibs_CONFIGURE_ENV=GNOME_CONFIG="${GNOME_CONFIG}"
+gnomelibs_MAKE_ENV= GNOME_CONFIG="${GNOME_CONFIG}"
+gnomelibs_DETECT= ${GNOME_CONFIG}
+gnomelibs_USE_GNOME_IMPL=esound gtk12 imlib libxml orbit
+
+gnomecanvas_LIB_DEPENDS=gnomecanvaspixbuf.1:${PORTSDIR}/graphics/gnomecanvas
+gnomecanvas_DETECT= ${X11BASE}/etc/gnomecanvaspixbufConf.sh
+gnomecanvas_USE_GNOME_IMPL=gnomelibs gdkpixbuf
+
+OAF_CONFIG?= ${X11BASE}/bin/oaf-config
+oaf_LIB_DEPENDS= oaf.0:${PORTSDIR}/devel/oaf
+oaf_CONFIGURE_ENV= OAF_CONFIG="${OAF_CONFIG}"
+oaf_MAKE_ENV= OAF_CONFIG="${OAF_CONFIG}"
+oaf_DETECT= ${OAF_CONFIG}
+oaf_USE_GNOME_IMPL= glib12 orbit libxml
+
+gnomemimedata_DETECT= ${X11BASE}/libdata/pkgconfig/gnome-mime-data-2.0.pc
+gnomemimedata_BUILD_DEPENDS=${gnomemimedata_DETECT}:${PORTSDIR}/misc/gnome-mime-data
+gnomemimedata_RUN_DEPENDS=${gnomemimedata_DETECT}:${PORTSDIR}/misc/gnome-mime-data
+gnomemimedata_USE_GNOME_IMPL=gnomehier pkgconfig
+
+GCONF_CONFIG?= ${X11BASE}/bin/gconf-config
+gconf_LIB_DEPENDS= gconf-1.1:${PORTSDIR}/devel/gconf
+gconf_CONFIGURE_ENV= GCONF_CONFIG="${GCONF_CONFIG}"
+gconf_MAKE_ENV= GCONF_CONFIG="${GCONF_CONFIG}"
+gconf_DETECT= ${GCONF_CONFIG}
+gconf_USE_GNOME_IMPL= oaf
+
+GNOME_VFS_CONFIG?= ${X11BASE}/bin/gnome-vfs-config
+gnomevfs_LIB_DEPENDS= gnomevfs.0:${PORTSDIR}/devel/gnome-vfs1
+gnomevfs_CONFIGURE_ENV= GNOME_VFS_CONFIG="${GNOME_VFS_CONFIG}"
+gnomevfs_MAKE_ENV= GNOME_VFS_CONFIG="${GNOME_VFS_CONFIG}"
+gnomevfs_DETECT= ${GNOME_VFS_CONFIG}
+gnomevfs_USE_GNOME_IMPL=gnomemimedata gconf gnomelibs
+
+libcapplet_LIB_DEPENDS= capplet.5:${PORTSDIR}/x11/libcapplet
+libcapplet_DETECT= ${X11BASE}/etc/cappletConf.sh
+libcapplet_USE_GNOME_IMPL=gnomelibs
+
+gnomeprint_LIB_DEPENDS= gnomeprint.16:${PORTSDIR}/print/gnome-print
+gnomeprint_DETECT= ${X11BASE}/etc/printConf.sh
+gnomeprint_USE_GNOME_IMPL=gnomelibs gnomecanvas
+
+bonobo_LIB_DEPENDS= bonobo.2:${PORTSDIR}/devel/bonobo
+bonobo_DETECT= ${X11BASE}/etc/bonoboConf.sh
+bonobo_USE_GNOME_IMPL= oaf gnomeprint
+
+GDA_CONFIG?= ${X11BASE}/bin/gda-config
+libgda_LIB_DEPENDS= gda-client.0:${PORTSDIR}/databases/libgda
+libgda_CONFIGURE_ENV= GDA_CONFIG="${GDA_CONFIG}"
+libgda_MAKE_ENV= GDA_CONFIG="${GDA_CONFIG}"
+libgda_DETECT= ${GDA_CONFIG}
+libgda_USE_GNOME_IMPL= gconf bonobo
+
+GNOMEDB_CONFIG?= ${X11BASE}/bin/gnomedb-config
+gnomedb_LIB_DEPENDS= gnomedb.0:${PORTSDIR}/databases/gnome-db
+gnomedb_CONFIGURE_ENV= GNOMEDB_CONFIG="${GNOMEDB_CONFIG}"
+gnomedb_MAKE_ENV= GNOMEDB_CONFIG="${GNOMEDB_CONFIG}"
+gnomedb_DETECT= ${GNOMEDB_CONFIG}
+gnomedb_USE_GNOME_IMPL= libgda
+
+LIBGLADE_CONFIG?= ${X11BASE}/bin/libglade-config
+libglade_LIB_DEPENDS= glade.4:${PORTSDIR}/devel/libglade
+libglade_CONFIGURE_ENV= LIBGLADE_CONFIG="${LIBGLADE_CONFIG}"
+libglade_MAKE_ENV= LIBGLADE_CONFIG="${LIBGLADE_CONFIG}"
+libglade_DETECT= ${LIBGLADE_CONFIG}
+libglade_USE_GNOME_IMPL=gnomedb
+
+gal_LIB_DEPENDS= gal.23:${PORTSDIR}/x11-toolkits/gal
+gal_DETECT= ${X11BASE}/etc/galConf.sh
+gal_USE_GNOME_IMPL= libglade
+
+glibwww_LIB_DEPENDS= glibwww.1:${PORTSDIR}/www/glibwww
+glibwww_DETECT= ${X11BASE}/etc/glibwwwConf.sh
+glibwww_USE_GNOME_IMPL= gnomelibs
+
+gtkhtml_LIB_DEPENDS= gtkhtml-1.1.3:${PORTSDIR}/www/gtkhtml
+gtkhtml_DETECT= ${X11BASE}/etc/gtkhtmlConf.sh
+gtkhtml_USE_GNOME_IMPL= glibwww gal libghttp libcapplet
+
+pygtk_DETECT= ${LOCALBASE}/bin/pygtk-codegen-1.2
+pygtk_BUILD_DEPENDS= ${pygtk_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk
+pygtk_RUN_DEPENDS= ${pygtk_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk
+pygtk_USE_GNOME_IMPL= gnomelibs gdkpixbuf libglade
+
+pygnome_DETECT= ${LOCALBASE}/share/pygtk/1.2/defs/applet.defs
+pygnome_BUILD_DEPENDS= ${pygnome_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome
+pygnome_RUN_DEPENDS= ${pygnome_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome
+pygnome_USE_GNOME_IMPL= gtkhtml pygtk
+
+glib20_LIB_DEPENDS= glib-2.0.0:${PORTSDIR}/devel/glib20
+glib20_DETECT= ${LOCALBASE}/libdata/pkgconfig/glib-2.0.pc
+glib20_USE_GNOME_IMPL=gnometarget pkgconfig
+
+atk_LIB_DEPENDS= atk-1.0.0:${PORTSDIR}/accessibility/atk
+atk_DETECT= ${LOCALBASE}/libdata/pkgconfig/atk.pc
+atk_USE_GNOME_IMPL= glib20
+
+pango_LIB_DEPENDS= pango-1.0.0:${PORTSDIR}/x11-toolkits/pango
+pango_DETECT= ${X11BASE}/libdata/pkgconfig/pango.pc
+pango_USE_GNOME_IMPL= glib20
+
+gtk20_LIB_DEPENDS= gtk-x11-2.0.0:${PORTSDIR}/x11-toolkits/gtk20
+gtk20_DETECT= ${X11BASE}/libdata/pkgconfig/gtk+-x11-2.0.pc
+gtk20_USE_GNOME_IMPL= intltool atk pango
+GTK2_VERSION= 2.4.0
+
+linc_LIB_DEPENDS= linc.1:${PORTSDIR}/net/linc
+linc_DETECT= ${LOCALBASE}/libdata/pkgconfig/linc.pc
+linc_USE_GNOME_IMPL=glib20
+
+libidl_LIB_DEPENDS= IDL-2.0:${PORTSDIR}/devel/libIDL
+libidl_DETECT= ${LOCALBASE}/libdata/pkgconfig/libIDL-2.0.pc
+libidl_USE_GNOME_IMPL= glib20
+
+orbit2_LIB_DEPENDS= ORBit-2.0:${PORTSDIR}/devel/ORBit2
+orbit2_DETECT= ${LOCALBASE}/libdata/pkgconfig/ORBit-2.0.pc
+orbit2_USE_GNOME_IMPL= libidl
+
+libglade2_LIB_DEPENDS= glade-2.0.0:${PORTSDIR}/devel/libglade2
+libglade2_DETECT= ${X11BASE}/libdata/pkgconfig/libglade-2.0.pc
+libglade2_USE_GNOME_IMPL=libxml2 gtk20
+
+libxml2_LIB_DEPENDS= xml2.5:${PORTSDIR}/textproc/libxml2
+libxml2_DETECT= ${LOCALBASE}/libdata/pkgconfig/libxml-2.0.pc
+libxml2_USE_GNOME_IMPL= pkgconfig
+
+libxslt_LIB_DEPENDS= xslt.2:${PORTSDIR}/textproc/libxslt
+libxslt_DETECT= ${LOCALBASE}/libdata/pkgconfig/libxslt.pc
+libxslt_USE_GNOME_IMPL= libxml2
+
+libbonobo_LIB_DEPENDS= bonobo-2.0:${PORTSDIR}/devel/libbonobo
+libbonobo_DETECT= ${LOCALBASE}/libdata/pkgconfig/libbonobo-2.0.pc
+libbonobo_USE_GNOME_IMPL=libxml2 orbit2
+
+gconf2_LIB_DEPENDS= gconf-2.4:${PORTSDIR}/devel/gconf2
+gconf2_DETECT= ${X11BASE}/libdata/pkgconfig/gconf-2.0.pc
+gconf2_USE_GNOME_IMPL= orbit2 libxml2 gtk20 linc
+
+gnomevfs2_LIB_DEPENDS= gnomevfs-2.0:${PORTSDIR}/devel/gnome-vfs
+gnomevfs2_DETECT= ${X11BASE}/libdata/pkgconfig/gnome-vfs-2.0.pc
+gnomevfs2_USE_GNOME_IMPL=gconf2 libbonobo gnomemimedata
+
+gail_LIB_DEPENDS= gailutil.17:${PORTSDIR}/accessibility/gail
+gail_DETECT= ${X11BASE}/libdata/pkgconfig/gail.pc
+gail_USE_GNOME_IMPL= libgnomecanvas
+
+libgnomecanvas_LIB_DEPENDS= gnomecanvas-2.0:${PORTSDIR}/graphics/libgnomecanvas
+libgnomecanvas_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomecanvas-2.0.pc
+libgnomecanvas_USE_GNOME_IMPL= libglade2 libartlgpl2
+
+libartlgpl2_LIB_DEPENDS= art_lgpl_2.5:${PORTSDIR}/graphics/libart_lgpl
+libartlgpl2_DETECT= ${LOCALBASE}/libdata/pkgconfig/libart-2.0.pc
+libartlgpl2_USE_GNOME_IMPL= pkgconfig
+
+libgnomeprint_LIB_DEPENDS= gnomeprint-2-2.0:${PORTSDIR}/print/libgnomeprint
+libgnomeprint_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomeprint-2.2.pc
+libgnomeprint_USE_GNOME_IMPL= libbonobo libartlgpl2 gtk20
+
+libgnomeprintui_LIB_DEPENDS= gnomeprintui-2-2.0:${PORTSDIR}/x11-toolkits/libgnomeprintui
+libgnomeprintui_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomeprintui-2.2.pc
+libgnomeprintui_USE_GNOME_IMPL= libgnomeprint libgnomecanvas
+
+libgnome_LIB_DEPENDS= gnome-2.0:${PORTSDIR}/x11/libgnome
+libgnome_DETECT= ${X11BASE}/libdata/pkgconfig/libgnome-2.0.pc
+libgnome_USE_GNOME_IMPL=libxslt gnomevfs2 esound
+
+libbonoboui_LIB_DEPENDS= bonoboui-2.0:${PORTSDIR}/x11-toolkits/libbonoboui
+libbonoboui_DETECT= ${X11BASE}/libdata/pkgconfig/libbonoboui-2.0.pc
+libbonoboui_USE_GNOME_IMPL= libgnomecanvas libgnome
+
+libgnomeui_LIB_DEPENDS= gnomeui-2.0:${PORTSDIR}/x11-toolkits/libgnomeui
+libgnomeui_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomeui-2.0.pc
+libgnomeui_USE_GNOME_IMPL= libbonoboui
+
+atspi_LIB_DEPENDS= spi.10:${PORTSDIR}/accessibility/at-spi
+atspi_DETECT= ${X11BASE}/libdata/pkgconfig/cspi-1.0.pc
+atspi_USE_GNOME_IMPL= gail libbonobo
+
+libgailgnome_DETECT= ${X11BASE}/libdata/pkgconfig/libgail-gnome.pc
+libgailgnome_RUN_DEPENDS= ${libgailgnome_DETECT}:${PORTSDIR}/x11-toolkits/libgail-gnome
+libgailgnome_USE_GNOME_IMPL= libgnomeui atspi
+
+libgtkhtml_LIB_DEPENDS= gtkhtml-2.0:${PORTSDIR}/www/libgtkhtml
+libgtkhtml_DETECT= ${X11BASE}/libdata/pkgconfig/libgtkhtml-2.0.pc
+libgtkhtml_USE_GNOME_IMPL=libxslt gnomevfs2 gail
+
+gnomedesktop_LIB_DEPENDS= gnome-desktop-2.2:${PORTSDIR}/x11/gnome-desktop
+gnomedesktop_DETECT= ${X11BASE}/libdata/pkgconfig/gnome-desktop-2.0.pc
+gnomedesktop_USE_GNOME_IMPL= libgnomeui gnomedocutils
+gnomedesktop_GNOME_DESKTOP_VERSION=2
+
+libwnck_LIB_DEPENDS= wnck-1.18:${PORTSDIR}/x11-toolkits/libwnck
+libwnck_DETECT= ${X11BASE}/libdata/pkgconfig/libwnck-1.0.pc
+libwnck_USE_GNOME_IMPL= gtk20
+
+vte_LIB_DEPENDS= vte.4:${PORTSDIR}/x11-toolkits/vte
+vte_DETECT= ${X11BASE}/libdata/pkgconfig/vte.pc
+vte_USE_GNOME_IMPL= gtk20
+
+libzvt_LIB_DEPENDS= zvt-2.0.0:${PORTSDIR}/x11-toolkits/libzvt
+libzvt_DETECT= ${X11BASE}/libdata/pkgconfig/libzvt-2.0.pc
+libzvt_USE_GNOME_IMPL= gtk20
+
+librsvg2_LIB_DEPENDS= rsvg-2.2:${PORTSDIR}/graphics/librsvg2
+librsvg2_DETECT= ${X11BASE}/libdata/pkgconfig/librsvg-2.0.pc
+librsvg2_USE_GNOME_IMPL=libgsf gtk20
+
+eel2_LIB_DEPENDS= eel-2.2:${PORTSDIR}/x11-toolkits/eel
+eel2_DETECT= ${X11BASE}/libdata/pkgconfig/eel-2.0.pc
+eel2_USE_GNOME_IMPL= gnomemenus gnomedesktop gail
+
+gnomepanel_LIB_DEPENDS= panel-applet-2.0:${PORTSDIR}/x11/gnome-panel
+gnomepanel_DETECT= ${X11BASE}/libdata/pkgconfig/libpanelapplet-2.0.pc
+gnomepanel_USE_GNOME_IMPL=gnomedesktop libwnck gnomemenus gnomedocutils
+gnomepanel_GNOME_DESKTOP_VERSION=2
+
+nautilus2_LIB_DEPENDS= nautilus-extension.1:${PORTSDIR}/x11-fm/nautilus
+nautilus2_DETECT= ${X11BASE}/libdata/pkgconfig/libnautilus-extension.pc
+nautilus2_USE_GNOME_IMPL=librsvg2 eel2 gnomedesktop desktopfileutils
+nautilus2_GNOME_DESKTOP_VERSION=2
+
+metacity_LIB_DEPENDS= metacity-private.0:${PORTSDIR}/x11-wm/metacity
+metacity_DETECT= ${X11BASE}/libdata/pkgconfig/libmetacity-private.pc
+metacity_USE_GNOME_IMPL=gconf2
+
+gal2_LIB_DEPENDS= gal-2.4.0:${PORTSDIR}/x11-toolkits/gal2
+gal2_DETECT= ${X11BASE}/libdata/pkgconfig/gal-2.4.pc
+gal2_USE_GNOME_IMPL=gnomeui libgnomeprintui
+
+gnomecontrolcenter2_LIB_DEPENDS=gnome-window-settings.1:${PORTSDIR}/sysutils/gnome-control-center
+gnomecontrolcenter2_DETECT=${X11BASE}/libdata/pkgconfig/gnome-window-settings-2.0.pc
+gnomecontrolcenter2_USE_GNOME_IMPL=desktopfileutils gnomedesktop gnomemenus metacity nautilus2 desktopfileutils
+
+libgda2_LIB_DEPENDS= gda-2.3:${PORTSDIR}/databases/libgda2
+libgda2_DETECT= ${X11BASE}/libdata/pkgconfig/libgda.pc
+libgda2_USE_GNOME_IMPL= glib20 libxslt
+
+libgda3_LIB_DEPENDS= gda-3.3:${PORTSDIR}/databases/libgda3
+libgda3_DETECT= ${X11BASE}/libdata/pkgconfig/libgda-2.0.pc
+libgda3_USE_GNOME_IMPL= glib20 libxslt
+
+libgnomedb_LIB_DEPENDS= gnomedb-3.4:${PORTSDIR}/databases/libgnomedb
+libgnomedb_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomedb.pc
+libgnomedb_USE_GNOME_IMPL=libgnomeui libgda3
+
+gtksourceview_LIB_DEPENDS= gtksourceview-1.0.0:${PORTSDIR}/x11-toolkits/gtksourceview
+gtksourceview_DETECT= ${X11BASE}/libdata/pkgconfig/gtksourceview-1.0.pc
+gtksourceview_USE_GNOME_IMPL=libgnome libgnomeprintui
+
+pkgconfig_DETECT= ${LOCALBASE}/bin/pkg-config
+pkgconfig_BUILD_DEPENDS= pkg-config:${PORTSDIR}/devel/pkg-config
+pkgconfig_RUN_DEPENDS= pkg-config:${PORTSDIR}/devel/pkg-config
+
+libgsf_LIB_DEPENDS= gsf-1.114:${PORTSDIR}/devel/libgsf
+libgsf_DETECT= ${X11BASE}/libdata/pkgconfig/libgsf-1.pc
+libgsf_USE_GNOME_IMPL= gconf2 glib20 libxml2
+
+libgsf_gnome_LIB_DEPENDS= gsf-gnome-1.114:${PORTSDIR}/devel/libgsf-gnome
+libgsf_gnome_DETECT= ${X11BASE}/libdata/pkgconfig/libgsf-gnome-1.pc
+libgsf_gnome_USE_GNOME_IMPL= libgsf gnomevfs2
+
+pygtk2_DETECT= ${LOCALBASE}/libdata/pkgconfig/pygtk-2.0.pc
+pygtk2_BUILD_DEPENDS= ${pygtk2_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk2
+pygtk2_RUN_DEPENDS= ${pygtk2_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk2
+pygtk2_USE_GNOME_IMPL= libglade2
+
+pygnome2_DETECT= ${LOCALBASE}/libdata/pkgconfig/gnome-python-2.0.pc
+pygnome2_BUILD_DEPENDS= ${pygnome2_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome2
+pygnome2_RUN_DEPENDS= ${pygnome2_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome2
+pygnome2_USE_GNOME_IMPL=libgnomeui pygtk2
+
+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*'"'"'|'
+intlhack_USE_GNOME_IMPL=intltool
+
+gtkhtml3_LIB_DEPENDS= gtkhtml-3.8.15:${PORTSDIR}/www/gtkhtml3
+gtkhtml3_DETECT= ${X11BASE}/libdata/pkgconfig/libgtkhtml-3.8.pc
+gtkhtml3_USE_GNOME_IMPL=gail libgnomeui libgnomeprintui
+
+gnomespeech_LIB_DEPENDS=gnomespeech.7:${PORTSDIR}/accessibility/gnome-speech
+gnomespeech_DETECT= ${LOCALBASE}/libdata/pkgconfig/gnome-speech-1.0.pc
+gnomespeech_USE_GNOME_IMPL=libbonobo
+
+evolutiondataserver_LIB_DEPENDS=edataserver-1.2.7:${PORTSDIR}/databases/evolution-data-server
+evolutiondataserver_DETECT= ${X11BASE}/libdata/pkgconfig/evolution-data-server-1.2.pc
+evolutiondataserver_USE_GNOME_IMPL=libgnomeui
+
+desktopfileutils_RUN_DEPENDS=update-desktop-database:${PORTSDIR}/devel/desktop-file-utils
+desktopfileutils_DETECT= ${LOCALBASE}/bin/update-desktop-database
+desktopfileutils_USE_GNOME_IMPL=glib20
+
+nautiluscdburner_LIB_DEPENDS=nautilus-burn.3:${PORTSDIR}/sysutils/nautilus-cd-burner
+nautiluscdburner_DETECT= ${X11BASE}/libdata/pkgconfig/libnautilus-burn.pc
+nautiluscdburner_USE_GNOME_IMPL=nautilus2
+
+gnomemenus_LIB_DEPENDS= gnome-menu.2:${PORTSDIR}/x11/gnome-menus
+gnomemenus_DETECT= ${X11BASE}/libdata/pkgconfig/libgnome-menu.pc
+gnomemenus_USE_GNOME_IMPL= gnomevfs2
+
+pygnomeextras_DETECT= ${LOCALBASE}/libdata/pkgconfig/gnome-python-extras-2.0.pc
+pygnomeextras_BUILD_DEPENDS= ${pygnomeextras_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-extras
+pygnomeextras_RUN_DEPENDS= ${pygnomeextras_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-extras
+pygnomeextras_USE_GNOME_IMPL=pygnome2 libgtkhtml
+
+gnomedocutils_DETECT= ${X11BASE}/libdata/pkgconfig/gnome-doc-utils.pc
+gnomedocutils_BUILD_DEPENDS=${gnomedocutils_DETECT}:${PORTSDIR}/textproc/gnome-doc-utils
+gnomedocutils_RUN_DEPENDS=${gnomedocutils_DETECT}:${PORTSDIR}/textproc/gnome-doc-utils
+gnomedocutils_USE_GNOME_IMPL=libxslt
+
+pygnomedesktop_DETECT= ${LOCALBASE}/libdata/pkgconfig/gnome-python-desktop-2.0.pc
+pygnomedesktop_BUILD_DEPENDS= ${pygnomedesktop_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-desktop
+pygnomedesktop_RUN_DEPENDS= ${pygnomedesktop_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-desktop
+pygnomedesktop_USE_GNOME_IMPL=pygnome2 libgnomeprintui gtksourceview gnomepanel libwnck nautiluscdburner metacity
+
+# End component definition section
+
+# This section defines tests for optional software. These work off four
+# types of variables: WANT_GNOME, WITH_GNOME, HAVE_GNOME and USE_GNOME.
+# The logic of this is that a port can WANT support for a package; a user
+# specifies if they want ports compiled WITH certain features; this section
+# tests if we HAVE these features; and the port is then free to USE them.
+
+# The logic of this section is like this:
+#
+# .if defined(WANT_GNOME) && !defined(WITHOUT_GNOME)
+# .for foo in ALL_GNOME_COMPONENTS
+# .if defined(WITH_GNOME)
+# HAVE_GNOME += foo
+# .elif (foo installed)
+# HAVE_GNOME += foo
+# .else
+# Print option message
+# .endif
+# .endfor
+# .endif
+#
+# Although it appears a little more convoluted in the tests.
+
+# Ports can make use of this like so:
+#
+# WANT_GNOME= yes
+#
+# .include <bsd.port.pre.mk>
+#
+# .if ${HAVE_GNOME:Mfoo}!=""
+# ... Do some things ...
+# USE_GNOME= foo
+# .else
+# ... Do some other things ...
+# .endif
+
+# If the user has not defined GNOME_DESKTOP_VERSION, let's try to prevent
+# users from shooting themselves in the foot. We will try to make an
+# intelligent choice on the user's behalf.
+.if exists(${gnomepanel_DETECT})
+GNOME_DESKTOP_VERSION?= 2
+#.elif exists(${libpanel_DETECT})
+#GNOME_DESKTOP_VERSION?= 1
+.endif
+
+# We also check each component to see if it has a desktop requirement. If
+# it does, and its requirement disagrees with the user's chosen desktop,
+# do not add the component to the HAVE_GNOME list.
+
+_USE_GNOME_SAVED:=${USE_GNOME}
+_USE_GNOME_DESKTOP=yes
+HAVE_GNOME?=
+.if (defined(WANT_GNOME) && !defined(WITHOUT_GNOME))
+. for component in ${_USE_GNOME_ALL}
+. if defined(GNOME_DESKTOP_VERSION) && \
+ defined(${component}_GNOME_DESKTOP_VERSION)
+. if ${GNOME_DESKTOP_VERSION}==${${component}_GNOME_DESKTOP_VERSION}
+HAVE_GNOME+= ${component}
+. else
+_USE_GNOME_DESKTOP=no
+. endif
+. else
+. if exists(${${component}_DETECT})
+HAVE_GNOME+= ${component}
+. elif defined(WITH_GNOME)
+. if ${WITH_GNOME}=="yes" || ${WITH_GNOME:M${component}}!="" \
+ || ${WITH_GNOME}=="1"
+HAVE_GNOME+= ${component}
+. endif
+. endif
+. endif
+. endfor
+.elif defined(WITHOUT_GNOME)
+. if ${WITHOUT_GNOME}!="yes" && ${WITHOUT_GNOME}!="1"
+. for component in ${_USE_GNOME_ALL}
+. if ${WITHOUT_GNOME:M${component}}==""
+. if exists(${${component}_DETECT})
+HAVE_GNOME+= ${component}
+. endif
+. endif
+. endfor
+. endif
+.endif
+
+.endif
+# End of optional part.
+
+.if defined(_POSTMKINCLUDED) && !defined(Gnome_Post_Include)
+
+Gnome_Post_Include= bsd.gnome.mk
+
+# DO NOT USE THESE MACROS! They are obsolete, and only provided for
+# backward compatibility with old ports that have not converted to the new
+# GNOME infrastructure.
+.if defined(USE_GTK)
+#.warning The USE_GTK macro is deprecated. It should be replaced by USE_GNOME=gtk12.
+USE_GNOME+= gtk12
+.endif
+# End of obsolete macros
+
+.if defined(USE_GNOME)
+# Hack USE_GNOME to the modular infrastructure for port maintainers that
+# didn't do so themselves. New ports should NOT set USE_GNOME=yes.
+. if ${USE_GNOME}=="yes"
+#.warning The USE_GNOME=yes component is deprecated. It should be replaced by some combination of gnomeprefix, gnomehack, and gtkhtml
+USE_GNOME:= ${USE_GNOME:S/yes//}
+USE_GNOME+= gnomeprefix gnomehack gtkhtml
+. endif
+
+# First of all expand all USE_GNOME_IMPL recursively
+. for component in ${_USE_GNOME_ALL}
+. for subcomponent in ${${component}_USE_GNOME_IMPL}
+${component}_USE_GNOME_IMPL+=${${subcomponent}_USE_GNOME_IMPL}
+. endfor
+. endfor
+
+# Then use already expanded USE_GNOME_IMPL to expand USE_GNOME.
+# Also, check to see if each component has a desktop requirement. If it does,
+# and if the user's chosen desktop is not of the same version, mark the
+# port as IGNORE.
+. for component in ${USE_GNOME}
+. if defined(GNOME_DESKTOP_VERSION) && \
+ defined(${component}_GNOME_DESKTOP_VERSION)
+. if ${GNOME_DESKTOP_VERSION}!=${${component}_GNOME_DESKTOP_VERSION}
+IGNORE= cannot install: ${PORTNAME} wants to use the GNOME
+IGNORE+=${${component}_GNOME_DESKTOP_VERSION} desktop, but you wish to use
+IGNORE+=the GNOME ${GNOME_DESKTOP_VERSION} desktop
+. endif
+. endif
+. if ${_USE_GNOME_ALL:M${component}}==""
+IGNORE= cannot install: unknown component ${component}
+. endif
+_USE_GNOME+= ${${component}_USE_GNOME_IMPL} ${component}
+. endfor
+
+# Setup the GTK+ API version for pixbuf loaders, input method modules,
+# and theme engines.
+PLIST_SUB+= GTK2_VERSION="${GTK2_VERSION}"
+
+# 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)
+ltverhack_PRE_PATCH= ${CP} -pf ${LTMAIN} ${WRKDIR}/gnome-ltmain.sh && \
+ ${CP} -pf ${LIBTOOL} ${WRKDIR}/gnome-libtool && \
+ for file in ${LIBTOOLFILES}; do \
+ ${REINPLACE_CMD} -e \
+ '/^ltmain=/!s|$$ac_aux_dir/ltmain\.sh|${LIBTOOLFLAGS} ${WRKDIR}/gnome-ltmain.sh|g; \
+ /^LIBTOOL=/s|$$(top_builddir)/libtool|${WRKDIR}/gnome-libtool|g' \
+ ${PATCH_WRKSRC}/$$file; \
+ done;
+.else
+. if ${USE_GNOME:Mltverhack}!=""
+IGNORE= cannot install: ${PORTNAME} uses the ltverhack GNOME component but does not use libtool
+. endif
+.endif
+
+ltverhack_PATCH_DEPENDS=${LIBTOOL_DEPENDS}
+ltverhack_PRE_PATCH+= for file in gnome-ltmain.sh gnome-libtool; do \
+ if [ -f ${WRKDIR}/$$file ]; then \
+ ${REINPLACE_CMD} -e \
+ '/freebsd-elf)/,/;;/ s|major="\.$$current"|major=.`expr $$current - $$age`|; \
+ /freebsd-elf)/,/;;/ s|versuffix="\.$$current"|versuffix="$$major"|' \
+ ${WRKDIR}/$$file; \
+ fi; \
+ done
+
+# Then traverse through all components, check which of them
+# exist in ${_USE_GNOME} and set variables accordingly
+. for component in ${_USE_GNOME_ALL}
+_COMP_TEST= ${_USE_GNOME:M${component}}
+. if ${_COMP_TEST:S/${component}//}!=${_COMP_TEST:S/ / /g}
+PATCH_DEPENDS+= ${${component}_PATCH_DEPENDS}
+FETCH_DEPENDS+= ${${component}_FETCH_DEPENDS}
+EXTRACT_DEPENDS+=${${component}_EXTRACT_DEPENDS}
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+LIB_DEPENDS+= ${${component}_LIB_DEPENDS}
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+
+CONFIGURE_ARGS+=${${component}_CONFIGURE_ARGS}
+CONFIGURE_ENV+= ${${component}_CONFIGURE_ENV}
+MAKE_ENV+= ${${component}_MAKE_ENV}
+
+. if !defined(CONFIGURE_TARGET) && defined(${component}_CONFIGURE_TARGET)
+CONFIGURE_TARGET= ${${component}_CONFIGURE_TARGET}
+. endif
+
+. if defined(${component}_PRE_PATCH)
+GNOME_PRE_PATCH+= ; ${${component}_PRE_PATCH}
+. endif
+
+. endif
+. endfor
+.endif
+
+.if defined(GNOME_PRE_PATCH)
+
+pre-patch: gnome-pre-patch
+
+gnome-pre-patch:
+ @${GNOME_PRE_PATCH:C/^;//1}
+.endif
+
+.if defined(WANT_GNOME)
+USE_GNOME?=
+. if ${_USE_GNOME_SAVED}==${USE_GNOME}
+PLIST_SUB+= GNOME:="@comment " NOGNOME:=""
+. else
+PLIST_SUB+= GNOME:="" NOGNOME:="@comment "
+. if defined(GNOME_DESKTOP_VERSION)
+. if ${_USE_GNOME_DESKTOP}=="yes"
+PLIST_SUB+= GNOMEDESKTOP:="" NOGNOMEDESKTOP:="@comment "
+. else
+PLIST_SUB+= GNOMEDESKTOP:="@comment " NOGNOMEDESKTOP:=""
+. endif
+. endif
+. endif
+.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 GNOME 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
+
+
+.if defined(GCONF_SCHEMAS) || defined(INSTALLS_OMF) || defined(INSTALLS_ICONS) \
+ || (defined(_USE_GNOME) && ${_USE_GNOME:Mgnomeprefix}!="")
+pre-su-install: gnome-pre-su-install
+post-install: gnome-post-install
+
+gnome-pre-su-install:
+.if defined(_USE_GNOME) && ${_USE_GNOME:Mgnomeprefix}!="" && !defined(NO_MTREE)
+ @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${PREFIX}/ >/dev/null
+.endif
+.if defined(GCONF_SCHEMAS)
+ @${MKDIR} ${PREFIX}/etc/gconf/gconf.xml.defaults/
+.else
+ @${DO_NADA}
+.endif
+
+gnome-post-install:
+. if defined(GCONF_SCHEMAS)
+ @for i in ${GCONF_SCHEMAS}; do \
+ ${ECHO_CMD} "@unexec env GCONF_CONFIG_SOURCE=xml:${GCONF_CONFIG_OPTIONS}:%D/${GCONF_CONFIG_DIRECTORY} gconftool-2 --makefile-uninstall-rule %D/etc/gconf/schemas/$${i} > /dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "etc/gconf/schemas/$${i}" >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@exec env GCONF_CONFIG_SOURCE=xml:${GCONF_CONFIG_OPTIONS}:%D/${GCONF_CONFIG_DIRECTORY} gconftool-2 --makefile-install-rule %D/etc/gconf/schemas/$${i} > /dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ done
+. endif
+
+. if defined(INSTALLS_OMF)
+ @for i in `${GREP} "\.omf$$" ${TMPPLIST}`; do \
+ ${ECHO_CMD} "@exec scrollkeeper-install -q %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@unexec scrollkeeper-uninstall -q %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ done
+. endif
+
+. if defined(INSTALLS_ICONS)
+ @${RM} -f ${TMPPLIST}.icons1
+ @for i in `${GREP} "^share/icons/.*/" ${TMPPLIST} | ${CUT} -d / -f 1-3 | ${SORT} -u`; do \
+ ${ECHO_CMD} "@unexec /bin/rm %D/$${i}/icon-theme.cache 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}.icons1; \
+ ${ECHO_CMD} "@exec ${X11BASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@unexec ${X11BASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${X11BASE}/bin/gtk-update-icon-cache -q -f ${PREFIX}/$${i} 2>/dev/null || ${TRUE}; \
+ done
+ @if test -f ${TMPPLIST}.icons1; then \
+ ${CAT} ${TMPPLIST}.icons1 ${TMPPLIST} > ${TMPPLIST}.icons2; \
+ ${RM} -f ${TMPPLIST}.icons1; \
+ ${MV} -f ${TMPPLIST}.icons2 ${TMPPLIST}; \
+ fi
+. endif
+.endif
+
+.endif
+# End of use part.
diff --git a/devel/portmk/Mk/bsd.gstreamer.mk b/devel/portmk/Mk/bsd.gstreamer.mk
new file mode 100644
index 000000000000..b22dda0434cb
--- /dev/null
+++ b/devel/portmk/Mk/bsd.gstreamer.mk
@@ -0,0 +1,265 @@
+#-*- mode: Fundamental; tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.gstreamer.mk - Support for gstreamer-plugins-based ports.
+#
+# Created by: Michael Johnson <ahze@FreeBSD.org>
+# Date: 4 Oct 2004
+#
+# $FreeBSD: /tmp/pcvs/ports/devel/portmk/Mk/Attic/bsd.gstreamer.mk,v 1.4 2006-06-27 19:47:13 linimon Exp $
+# $MCom: ports/Mk/bsd.gstreamer.mk,v 1.24 2006/04/25 14:45:31 ahze Exp $
+
+.if !defined(_POSTMKINCLUDED) && !defined(Gstreamer_Pre_Include)
+
+Gstreamer_Include_MAINTAINER= multimedia@FreeBSD.org
+Gstreamer_Pre_Include= bsd.gstreamer.mk
+
+.endif
+
+# Ports can use the following:
+#
+# For Gstreamer 0.10:
+# USE_GSTREAMER= lame faac ffmpeg
+# For Gstreamer 0.8:
+# USE_GSTREAMER80= dvd lame flac
+#
+# If you want to use USE_GSTREAMER after <bsd.port.pre.mk>
+# you must follow one of the examples listed below
+#
+# WANT_GSTREAMER= yes
+# .include <bsd.port.pre.mk>
+# .if defined(WITH_VORBIS)
+# USE_GSTREAMER+= vorbis
+# .endif
+#
+# or
+# USE_GSTREAMER= yes
+# .include <bsd.port.pre.mk>
+# .if defined(WITH_FAAD)
+# USE_GSTREAMER+= faad
+# .endif
+#
+#
+# USE_GSTREAMER=yes will always add a dependency to
+# gstreamer-plugins
+#
+
+# "Normal" dependencies and variables
+#
+
+GSTREAMER_PORT= ${PORTSDIR}/multimedia/gstreamer-plugins
+GSTREAMER80_PORT= ${GSTREAMER_PORT}80
+_GST_LIB_BASE= ${X11BASE}/lib/gstreamer-${GST_VERSION}
+_GST80_LIB_BASE= ${X11BASE}/lib/gstreamer-${GST80_VERSION}
+GST_VERSION= 0.10
+GST_MINOR_VERSION= .0
+GST80_VERSION= 0.8
+GST80_MINOR_VERSION= .10
+GST_SHLIB_VERSION= 1
+GST80_SHLIB_VERSION= 1
+#
+# These are the current supported gstreamer-plugins modules
+#
+_USE_GSTREAMER_ALL= a52dec aalib bad cairo cdparanoia dts \
+ dv dvd esound faac faad ffmpeg flac gconf gnomevfs \
+ gnonlin good gsm ivorbis jpeg ladspa lame libcaca \
+ libmms libpng libvisual mad mpeg2dec \
+ musepack ogg pango sdl shout2 sidplay \
+ speex theora ugly vorbis wavpack xvid
+_USE_GSTREAMER80_ALL= a52dec aalib artsd audiofile cairo cdaudio cdio cdparanoia \
+ dirac dts dv dvd esound faac faad ffmpeg flac \
+ gconf gdkpixbuf gnomevfs gsm hermes ivorbis jack jpeg \
+ jpeg-mmx ladspa lame libcaca libfame libmms libmng \
+ libpng libvisual mad mikmod mpeg2dec mpeg2enc mplex \
+ musepack musicbrainz nas sdl shout shout2 sidplay \
+ smoothwave sndfile speex theora ogg pango polyp \
+ swfdec vorbis wavpack x264 xvid
+# other plugins
+OTHER_GSTREAMER_PLUGINS+= core yes
+OTHER_GSTREAMER80_PLUGINS+= ${OTHER_GSTREAMER_PLUGINS}
+
+_USE_GSTREAMER_ALL+= ${OTHER_GSTREAMER_PLUGINS}
+_USE_GSTREAMER80_ALL+= ${OTHER_GSTREAMER80_PLUGINS}
+
+core_DEPENDS= multimedia/gstreamer-plugins-core
+
+yes_DEPENDS= multimedia/gstreamer-plugins
+yes_NAME= gstreamer-plugins
+yes_GST80_PREFIX= # empty
+yes_GST_PREFIX= # empty
+
+cdio_DEPENDS= sysutils/gstreamer-plugins-cdio
+
+gconf_DEPENDS= devel/gstreamer-plugins-gconf
+
+# Audio Plugins Section
+a52dec_DEPENDS= audio/gstreamer-plugins-a52dec
+
+artsd_DEPENDS= audio/gstreamer-plugins-artsd
+
+audiofile_DEPENDS= audio/gstreamer-plugins-audiofile
+
+cdaudio_DEPENDS= audio/gstreamer-plugins-cdaudio
+
+cdparanoia_DEPENDS= audio/gstreamer-plugins-cdparanoia
+
+esound_DEPENDS= audio/gstreamer-plugins-esound
+
+faac_DEPENDS= audio/gstreamer-plugins-faac
+
+faad_DEPENDS= audio/gstreamer-plugins-faad
+
+flac_DEPENDS= audio/gstreamer-plugins-flac
+
+gsm_DEPENDS= audio/gstreamer-plugins-gsm
+
+ivorbis_DEPENDS= audio/gstreamer-plugins-ivorbis
+
+jack_DEPENDS= audio/gstreamer-plugins-jack
+
+ladspa_DEPENDS= audio/gstreamer-plugins-ladspa
+
+lame_DEPENDS= audio/gstreamer-plugins-lame
+
+mad_DEPENDS= audio/gstreamer-plugins-mad
+
+mikmod_DEPENDS= audio/gstreamer-plugins-mikmod
+
+musepack_DEPENDS= audio/gstreamer-plugins-musepack
+
+musicbrainz_DEPENDS= audio/gstreamer-plugins-musicbrainz
+
+nas_DEPENDS= audio/gstreamer-plugins-nas
+
+ogg_DEPENDS= audio/gstreamer-plugins-ogg
+
+polyp_DEPENDS= audio/gstreamer-plugins-polyp
+
+shout_DEPENDS= audio/gstreamer-plugins-shout
+
+shout2_DEPENDS= audio/gstreamer-plugins-shout2
+
+sidplay_DEPENDS= audio/gstreamer-plugins-sidplay
+
+smoothwave_DEPENDS= audio/gstreamer-plugins-smoothwave
+
+sndfile_DEPENDS= audio/gstreamer-plugins-sndfile
+
+speex_DEPENDS= audio/gstreamer-plugins-speex
+
+vorbis_DEPENDS= audio/gstreamer-plugins-vorbis
+
+wavpack_DEPENDS= audio/gstreamer-plugins-wavpack
+
+# Devel Plugins Section
+gnomevfs_DEPENDS= devel/gstreamer-plugins-gnomevfs
+
+sdl_DEPENDS= devel/gstreamer-plugins-sdl
+
+# Graphics Plugins Section
+aalib_DEPENDS= graphics/gstreamer-plugins-aalib
+
+cairo_DEPENDS= graphics/gstreamer-plugins-cairo
+
+gdkpixbuf_DEPENDS= graphics/gstreamer-plugins-gdkpixbuf
+
+hermes_DEPENDS= graphics/gstreamer-plugins-hermes
+
+jpeg_DEPENDS= graphics/gstreamer-plugins-jpeg
+
+jpeg-mmx_DEPENDS= graphics/gstreamer-plugins-jpeg-mmx
+
+libcaca_DEPENDS= graphics/gstreamer-plugins-libcaca
+
+libmng_DEPENDS= graphics/gstreamer-plugins-libmng
+
+libpng_DEPENDS= graphics/gstreamer-plugins-libpng
+
+libvisual_DEPENDS= graphics/gstreamer-plugins-libvisual
+
+swfdec_DEPENDS= graphics/gstreamer-plugins-swfdec
+
+# Multimedia Plugins Section
+bad_DEPENDS= multimedia/gstreamer-plugins-bad
+
+dirac_DEPENDS= multimedia/gstreamer-plugins-dirac
+
+ffmpeg_DEPENDS= multimedia/gstreamer-ffmpeg
+ffmpeg_GST80_SUFX= 80
+ffmpeg_GST80_PREFIX= gstreamer-
+ffmpeg_GST_PREFIX= gstreamer-
+ffmpeg_GST_SUFX= # empty
+ffmpeg_GST80_VERSION= 0.8.7
+ffmpeg_GST_VERSION= 0.10.0
+
+dts_DEPENDS= multimedia/gstreamer-plugins-dts
+
+dv_DEPENDS= multimedia/gstreamer-plugins-dv
+
+dvd_DEPENDS= multimedia/gstreamer-plugins-dvd
+
+good_DEPENDS= multimedia/gstreamer-plugins-good
+
+gnonlin_DEPENDS= multimedia/gstreamer-plugins-gnonlin
+
+libfame_DEPENDS= multimedia/gstreamer-plugins-libfame
+
+mpeg2dec_DEPENDS= multimedia/gstreamer-plugins-mpeg2dec
+
+mpeg2enc_DEPENDS= multimedia/gstreamer-plugins-mpeg2enc
+
+mplex_DEPENDS= multimedia/gstreamer-plugins-mplex
+
+theora_DEPENDS= multimedia/gstreamer-plugins-theora
+
+ugly_DEPENDS= multimedia/gstreamer-plugins-ugly
+
+x264_DEPENDS= multimedia/gstreamer-plugins-x264
+
+xvid_DEPENDS= multimedia/gstreamer-plugins-xvid
+
+# Net Plugins Section
+
+libmms_DEPENDS= net/gstreamer-plugins-libmms
+
+# X11-Toolkits Plugins Section
+pango_DEPENDS= x11-toolkits/gstreamer-plugins-pango
+
+.if defined(_POSTMKINCLUDED) && !defined(Gstreamer_Post_Include)
+Gstreamer_Post_Include= bsd.gstreamer.mk
+
+.for ext in ${USE_GSTREAMER80}
+${ext}_GST80_SUFX?= 80
+${ext}_GST80_PREFIX?= gstreamer-plugins-
+${ext}_GST80_VERSION?= ${GST80_VERSION}${GST80_MINOR_VERSION}
+${ext}_NAME?= ${ext}
+.endfor
+.for ext in ${USE_GSTREAMER}
+${ext}_GST_PREFIX?= gstreamer-plugins-
+${ext}_GST_VERSION?= ${GST_VERSION}${GST_MINOR_VERSION}
+${ext}_NAME?= ${ext}
+.endfor
+
+.if defined(USE_GSTREAMER80)
+.for ext in ${USE_GSTREAMER80}
+. if ${_USE_GSTREAMER80_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_DEPENDS}${${ext}_GST80_SUFX})
+BUILD_DEPENDS+= ${${ext}_GST80_PREFIX}${${ext}_NAME}${${ext}_GST80_SUFX}>=${${ext}_GST80_VERSION}:${PORTSDIR}/${${ext}_DEPENDS}${${ext}_GST80_SUFX}
+RUN_DEPENDS+= ${${ext}_GST80_PREFIX}${${ext}_NAME}${${ext}_GST80_SUFX}>=${${ext}_GST80_VERSION}:${PORTSDIR}/${${ext}_DEPENDS}${${ext}_GST80_SUFX}
+. else
+IGNORE= cannot install: unknown gstreamer-plugin -- ${ext}
+. endif
+.endfor
+.endif
+.if defined(USE_GSTREAMER)
+.for ext in ${USE_GSTREAMER}
+. if ${_USE_GSTREAMER_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_DEPENDS})
+BUILD_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${PORTSDIR}/${${ext}_DEPENDS}
+RUN_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${PORTSDIR}/${${ext}_DEPENDS}
+. else
+IGNORE= cannot install: unknown gstreamer-plugin -- ${ext}
+. endif
+.endfor
+.endif
+
+# The End
+.endif
diff --git a/devel/portmk/Mk/bsd.kde.mk b/devel/portmk/Mk/bsd.kde.mk
new file mode 100644
index 000000000000..2430b6fa6d63
--- /dev/null
+++ b/devel/portmk/Mk/bsd.kde.mk
@@ -0,0 +1,151 @@
+#-*- mode: Makefile; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: /tmp/pcvs/ports/devel/portmk/Mk/Attic/bsd.kde.mk,v 1.4 2006-06-27 19:47:13 linimon Exp $
+#
+# Please view me with 4 column tabs!
+
+# Please make sure all changes to this file are past through the maintainer.
+# Do not commit them yourself (unless of course you're the Port's Wraith ;).
+KDE_MAINTAINER= kde@FreeBSD.org
+
+# This section contains the USE_ definitions.
+# XXX: Write HAVE_ definitions sometime.
+
+# USE_QT_VER - Says that the port uses the Qt toolkit. Possible values:
+# 3; each specify the major version of Qt to use.
+# USE_KDELIBS_VER - Says that the port uses KDE libraries. Possible values:
+# 3 specifies the major version of KDE to use.
+# This implies USE_QT of the appropriate version.
+# USE_KDEBASE_VER - Says that the port uses the KDE base. Possible values:
+# 3 specifies the major version of KDE to use.
+# This implies USE_KDELIBS of the appropriate version.
+
+# tagged MASTER_SITE_KDE_kde
+kmaster= ${MASTER_SITE_KDE:S@%/@%/:kde@g}
+.if !defined(MASTER_SITE_SUBDIR)
+MASTER_SITE_KDE_kde= ${kmaster:S@%SUBDIR%/@@g}
+.else
+ksub=${MASTER_SITE_SUBDIR}
+MASTER_SITE_KDE_kde= ${kmaster:S@%SUBDIR%/@${ksub}/@g}
+.endif # !defined(MASTER_SITE_SUBDIR)
+
+# USE_KDEBASE_VER section
+.if defined(USE_KDEBASE_VER)
+.if ${USE_KDEBASE_VER} == CVS
+LIB_DEPENDS+= kfontinst:${PORTSDIR}/x11/kdebase
+USE_KDELIBS_VER=CVS
+.elif ${USE_KDEBASE_VER} == 3
+# kdebase 3.x common stuff
+LIB_DEPENDS+= kfontinst:${PORTSDIR}/x11/kdebase3
+USE_KDELIBS_VER=3
+.endif # ${USE_KDEBASE_VER} == 3
+.endif # defined(USE_KDEBASE_VER)
+
+# USE_KDELIBS_VER section
+.if defined(USE_KDELIBS_VER)
+
+## This is needed for configure scripts to figure out
+## which threads lib to use
+
+CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}"
+
+## XXX - This really belongs into bsd.port.mk
+.if !defined(_NO_KDE_CONFTARGET_HACK)
+CONFIGURE_TARGET=
+CONFIGURE_ARGS+=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} \
+ --x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include \
+ --disable-as-needed
+.endif
+
+.if ${USE_KDELIBS_VER} == CVS
+LIB_DEPENDS+= kimproxy:${PORTSDIR}/x11/kdelibs
+USE_QT_VER= CVS
+PREFIX= ${KDE_CVS_PREFIX}
+.elif ${USE_KDELIBS_VER} == 3
+# kdelibs 3.x common stuff
+LIB_DEPENDS+= kimproxy:${PORTSDIR}/x11/kdelibs3
+USE_QT_VER= 3
+PREFIX= ${KDE_PREFIX}
+.else
+IGNORE= cannot install: unsupported value in USE_KDELIBS_VER
+.endif # ${USE_KDELIBS_VER} == 3
+.endif # defined(USE_KDELIBS_VER)
+
+# End of USE_KDELIBS_VER section
+
+# USE_QT_VER section
+.if ${USE_QT_VER} == CVS
+
+KDE_CVS_PREFIX?= ${LOCALBASE}/kde-cvs
+QT_CVS_PREFIX?= ${X11BASE}/qt-cvs
+QTCPPFLAGS?=
+QTCFGLIBS?=
+
+MOC?= ${QT_CVS_PREFIX}/bin/moc
+BUILD_DEPENDS+= ${MOC}:${PORTSDIR}/x11-toolkits/qt-copy
+RUN_DEPENDS+= ${MOC}:${PORTSDIR}/x11-toolkits/qt-copy
+QTCPPFLAGS+= -D_GETOPT_H # added to work around broken getopt.h #inc
+.if !defined (QT_NONSTANDARD)
+CONFIGURE_ARGS+=--with-extra-libs="${LOCALBASE}/lib" \
+ --with-extra-includes="${LOCALBASE}/include"
+CONFIGURE_ENV+= MOC="${MOC}" CPPFLAGS="${CPPFLAGS} ${QTCPPFLAGS}" LIBS="${QTCFGLIBS}" \
+ QTDIR="${QT_CVS_PREFIX}" KDEDIR="${KDE_CVS_PREFIX}"
+.endif
+
+.elif ${USE_QT_VER} == 3
+
+# Yeah, it's namespace pollution, but this is really the best place for this
+# stuff. Arts does NOT use it anymore.
+KDE_VERSION= 3.5.3
+KDE_ORIGVER= ${KDE_VERSION}
+KDE_PREFIX?= ${LOCALBASE}
+
+QTCPPFLAGS?=
+QTCGFLIBS?=
+
+# Qt 3.x common stuff
+QT_PREFIX?= ${X11BASE}
+MOC?= ${QT_PREFIX}/bin/moc
+#LIB_DEPENDS+= qt-mt.3:${PORTSDIR}/x11-toolkits/qt33
+BUILD_DEPENDS+= ${QT_PREFIX}/bin/moc:${PORTSDIR}/x11-toolkits/qt33
+RUN_DEPENDS+= ${QT_PREFIX}/bin/moc:${PORTSDIR}/x11-toolkits/qt33
+QTCPPFLAGS+= -I${LOCALBASE}/include -I${PREFIX}/include \
+ -I${QT_PREFIX}/include -D_GETOPT_H
+QTCFGLIBS+= -Wl,-export-dynamic -L${LOCALBASE}/lib -L${X11BASE}/lib -ljpeg \
+ -L${QT_PREFIX}/lib
+.if defined(PACKAGE_BUILDING)
+TMPDIR?= /tmp
+MAKE_ENV+= TMPDIR="${TMPDIR}"
+CONFIGURE_ENV+= TMPDIR="${TMPDIR}"
+.endif
+
+.if !defined(QT_NONSTANDARD)
+CONFIGURE_ARGS+=--with-qt-includes=${QT_PREFIX}/include \
+ --with-qt-libraries=${QT_PREFIX}/lib \
+ --with-extra-libs=${LOCALBASE}/lib \
+ --with-extra-includes=${LOCALBASE}/include
+CONFIGURE_ENV+= MOC="${MOC}" CPPFLAGS="${CPPFLAGS} ${QTCPPFLAGS}" LIBS="${QTCFGLIBS}"
+.endif # !defined(QT_NONSTANDARD)
+.else
+IGNORE= cannot install: unsupported value of USE_QT_VER
+.endif # defined(USE_QT_VER)
+
+# End of USE_QT_VER section
+
+# Assemble plist from parts
+# <alane@freebsd.org> 2002-12-06
+.if defined(KDE_BUILD_PLIST)
+PLIST?= ${WRKDIR}/plist
+PLIST_BASE?= plist.base
+PLIST_APPEND?=
+plist_base=${FILESDIR}/${PLIST_BASE}
+plist_base_rm=${FILESDIR}/${PLIST_BASE}.rm
+plist_append=${PLIST_APPEND:C:([A-Za-z0-9._]+):${FILESDIR}/\1:}
+plist_append_rm=${PLIST_APPEND:C:([A-Za-z0-9._]+):${FILESDIR}/\1.rm:}
+kde-plist:
+ ${CAT} ${plist_base} ${plist_append} 2>/dev/null >${PLIST}
+ -${CAT} ${plist_append_rm} ${plist_base_rm} 2>/dev/null >>${PLIST};true
+.PHONY: kde-plist
+pre-build: kde-plist
+.endif # defined(KDE_BUILD_PLIST)
diff --git a/devel/portmk/Mk/bsd.php.mk b/devel/portmk/Mk/bsd.php.mk
new file mode 100644
index 000000000000..9019429109a3
--- /dev/null
+++ b/devel/portmk/Mk/bsd.php.mk
@@ -0,0 +1,338 @@
+#
+# bsd.php.mk - Support for PHP-based ports.
+#
+# Created by: Alex Dupre <ale@FreeBSD.org>
+#
+# For FreeBSD committers:
+# Please send all suggested changes to the maintainer instead of committing
+# them to CVS yourself.
+#
+# $FreeBSD: /tmp/pcvs/ports/devel/portmk/Mk/Attic/bsd.php.mk,v 1.7 2006-06-27 19:47:13 linimon Exp $
+#
+# Adding 'USE_PHP=yes' to a port includes this Makefile after bsd.ports.pre.mk.
+# If the port requires a predefined set of PHP extensions, they can be
+# listed in this way:
+#
+# USE_PHP= ext1 ext2 ext3
+#
+# The port can set these options in its Makefile before bsd.ports.pre.mk:
+#
+# DEFAULT_PHP_VER=N - Use PHP version N if PHP is not yet installed.
+# IGNORE_WITH_PHP=N - The port doesn't work with PHP version N.
+# USE_PHPIZE=yes - Use to build a PHP extension.
+# USE_PHPEXT=yes - Use to build, install and register a PHP extension.
+# USE_PHP_BUILD=yes - Set PHP also as a build dependency.
+# WANT_PHP_CLI=yes - Want the CLI version of PHP.
+# WANT_PHP_CGI=yes - Want the CGI version of PHP.
+# WANT_PHP_MOD=yes - Want the Apache Module for PHP.
+# WANT_PHP_WEB=yes - Want the Apache Module or the CGI version of PHP.
+#
+# You may combine multiple WANT_PHP_* knobs.
+# Don't specify any WANT_PHP_* knob if your port will work with every PHP SAPI.
+#
+
+PHP_Include_MAINTAINER= ale@FreeBSD.org
+
+.if exists(${LOCALBASE}/etc/php.conf)
+.include "${LOCALBASE}/etc/php.conf"
+PHP_EXT_DIR!= ${LOCALBASE}/bin/php-config --extension-dir | ${SED} -ne 's,^${LOCALBASE}/lib/php/\(.*\),\1,p'
+.else
+DEFAULT_PHP_VER?= 5
+
+PHP_VER?= ${DEFAULT_PHP_VER}
+.if ${PHP_VER} == 4
+PHP_EXT_DIR= 20020429
+.else
+PHP_EXT_DIR= 20050922
+.endif
+
+HTTPD?= ${LOCALBASE}/sbin/httpd
+.if exists(${HTTPD})
+APACHE_VERSION!= ${HTTPD} -V | ${SED} -ne 's/^Server version: Apache\/\([0-9]\)\.\([0-9]*\).*/\1\2/p'
+. if ${APACHE_VERSION} > 13
+APXS?= ${LOCALBASE}/sbin/apxs
+APACHE_MPM!= ${APXS} -q MPM_NAME
+. if ${APACHE_MPM} == "worker"
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts
+. endif
+. endif
+.elif defined(APACHE_PORT)
+APACHE_VERSION!= ${ECHO_CMD} ${APACHE_PORT} | ${SED} -ne 's,.*/apache\([0-9]*\).*,\1,p'
+. if ${APACHE_VERSION} > 13 && defined(WITH_MPM) && ${WITH_MPM} == "worker"
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts
+. endif
+.endif
+
+.if defined(WITH_DEBUG)
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-debug
+.endif
+PHP_SAPI?= ""
+.endif
+PHP_EXT_INC?= ""
+
+# compatability shim
+.if defined(BROKEN_WITH_PHP)
+IGNORE_WITH_PHP=${BROKEN_WITH_PHP}
+.endif
+.if defined(IGNORE_WITH_PHP)
+. for VER in ${IGNORE_WITH_PHP}
+. if ${PHP_VER} == "${VER}"
+IGNORE= cannot install: doesn't work with PHP version : ${PHP_VER} (Doesn't support PHP ${IGNORE_WITH_PHP})
+. endif
+. endfor
+.endif
+
+.if defined(WANT_PHP_WEB)
+. if defined(WANT_PHP_CGI) || defined(WANT_PHP_MOD)
+check-makevars::
+ @${ECHO_CMD} "If you define WANT_PHP_WEB you cannot set also WANT_PHP_CGI"
+ @${ECHO_CMD} "or WANT_PHP_MOD. Use only one of them."
+ @${FALSE}
+. else
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mcgi} == "" && ${PHP_SAPI:Mmod} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the Apache Module or the CGI version of PHP, but you have"
+ @${ECHO_CMD} "already installed a PHP port without them."
+ @${FALSE}
+. endif
+. endif
+.else
+
+.if defined(WANT_PHP_CGI)
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mcgi} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the CGI version of PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without CGI."
+ @${FALSE}
+. endif
+.else
+
+.if defined(WANT_PHP_CLI)
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mcli} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the CLI version of PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without CLI."
+ @${FALSE}
+. endif
+.else
+
+.if defined(WANT_PHP_MOD)
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mmod} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the Apache Module for PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without the Apache Module."
+ @${FALSE}
+. endif
+.endif
+
+.endif
+
+.endif
+
+.endif
+
+PHP_PORT= ${PORTSDIR}/lang/php${PHP_VER}
+
+.if defined(USE_PHP_BUILD)
+BUILD_DEPENDS+= ${LOCALBASE}/include/php/main/php.h:${PHP_PORT}
+.endif
+RUN_DEPENDS+= ${LOCALBASE}/include/php/main/php.h:${PHP_PORT}
+
+PLIST_SUB+= PHP_EXT_DIR=${PHP_EXT_DIR}
+SUB_LIST+= PHP_EXT_DIR=${PHP_EXT_DIR}
+
+.if defined(USE_PHPIZE) || defined(USE_PHPEXT)
+BUILD_DEPENDS+= phpize:${PHP_PORT}
+GNU_CONFIGURE= YES
+USE_AUTOTOOLS+= autoconf:259:env
+CONFIGURE_ARGS+=--with-php-config=${LOCALBASE}/bin/php-config
+
+configure-message: phpize-message do-phpize
+
+phpize-message:
+ @${ECHO_MSG} "===> PHPizing for ${PKGNAME}"
+
+do-phpize:
+ @(cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ${LOCALBASE}/bin/phpize)
+.endif
+
+.if defined(USE_PHPEXT)
+PHP_MODNAME?= ${PORTNAME}
+PHP_HEADER_DIRS?= ""
+
+do-install:
+ @${MKDIR} ${PREFIX}/lib/php/${PHP_EXT_DIR}
+ @${INSTALL_DATA} ${WRKSRC}/modules/${PHP_MODNAME}.so \
+ ${PREFIX}/lib/php/${PHP_EXT_DIR}
+. for header in . ${PHP_HEADER_DIRS}
+ @${MKDIR} ${PREFIX}/include/php/ext/${PHP_MODNAME}/${header}
+ @${INSTALL_DATA} ${WRKSRC}/${header}/*.h \
+ ${PREFIX}/include/php/ext/${PHP_MODNAME}/${header}
+. endfor
+ @${GREP} "#define \(COMPILE\|HAVE\|USE\)_" ${WRKSRC}/config.h \
+ > ${PREFIX}/include/php/ext/${PHP_MODNAME}/config.h
+ @${ECHO_CMD} \#include \"ext/${PHP_MODNAME}/config.h\" \
+ >> ${PREFIX}/include/php/ext/php_config.h
+ @${MKDIR} ${PREFIX}/etc/php
+ @${ECHO_CMD} extension=${PHP_MODNAME}.so \
+ >> ${PREFIX}/etc/php/extensions.ini
+
+add-plist-info: add-plist-phpext
+add-plist-phpext:
+ @${ECHO_CMD} "lib/php/${PHP_EXT_DIR}/${PHP_MODNAME}.so" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rmdir %D/lib/php/${PHP_EXT_DIR} 2> /dev/null || true" \
+ >> ${TMPPLIST}
+ @${FIND} -P ${PREFIX}/include/php/ext/${PHP_MODNAME} ! -type d 2>/dev/null | \
+ ${SED} -ne 's,^${PREFIX}/,,p' >> ${TMPPLIST}
+ @${FIND} -P -d ${PREFIX}/include/php/ext/${PHP_MODNAME} -type d 2>/dev/null | \
+ ${SED} -ne 's,^${PREFIX}/,@dirrm ,p' >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec echo \#include \\\"ext/${PHP_MODNAME}/config.h\\\" >> %D/include/php/ext/php_config.h" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec cp %D/include/php/ext/php_config.h %D/include/php/ext/php_config.h.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec grep -v ext/${PHP_MODNAME}/config.h %D/include/php/ext/php_config.h.orig > %D/include/php/ext/php_config.h || true" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rm %D/include/php/ext/php_config.h.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec mkdir -p %D/etc/php" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec echo extension=${PHP_MODNAME}.so >> %D/etc/php/extensions.ini" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec cp %D/etc/php/extensions.ini %D/etc/php/extensions.ini.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec grep -v extension=${PHP_MODNAME}\\\.so %D/etc/php/extensions.ini.orig > %D/etc/php/extensions.ini || true" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rm %D/etc/php/extensions.ini.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec [ -s %D/etc/php/extensions.ini ] || rm %D/etc/php/extensions.ini" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rmdir %D/etc/php 2> /dev/null || true" \
+ >> ${TMPPLIST}
+
+security-check: php-ini
+
+php-ini:
+ @${ECHO_CMD} "****************************************************************************"
+ @${ECHO_CMD} ""
+ @${ECHO_CMD} "The following line has been added to your ${PREFIX}/etc/php/extensions.ini"
+ @${ECHO_CMD} "configuration file to automatically load the installed extension:"
+ @${ECHO_CMD} ""
+ @${ECHO_CMD} "extension=${PHP_MODNAME}.so"
+ @${ECHO_CMD} ""
+ @${ECHO_CMD} "****************************************************************************"
+.endif
+
+# Extensions
+.if ${USE_PHP:L} != "yes"
+# non-version specific components
+_USE_PHP_ALL= bcmath bz2 calendar ctype curl dba dbase \
+ exif fileinfo filepro fribidi ftp gd gettext gmp \
+ hash iconv imagick imap interbase ldap mbstring mcrypt \
+ mhash ming mssql mysql ncurses odbc \
+ openssl panda pcntl pcre pdf pgsql posix \
+ pspell radius readline recode session shmop snmp \
+ sockets sybase_ct sysvmsg sysvsem sysvshm \
+ tokenizer wddx xml xmlrpc yaz zip zlib
+# version specific components
+_USE_PHP_VER4= ${_USE_PHP_ALL} crack dbx dio domxml mcal mcve \
+ mnogosearch oracle overload pfpro xslt yp
+_USE_PHP_VER5= ${_USE_PHP_ALL} dom mysqli pdo simplexml soap sqlite \
+ tidy xmlreader xmlwriter xsl
+
+bcmath_DEPENDS= math/php${PHP_VER}-bcmath
+bz2_DEPENDS= archivers/php${PHP_VER}-bz2
+calendar_DEPENDS= misc/php${PHP_VER}-calendar
+crack_DEPENDS= security/php${PHP_VER}-crack
+ctype_DEPENDS= textproc/php${PHP_VER}-ctype
+curl_DEPENDS= ftp/php${PHP_VER}-curl
+dba_DEPENDS= databases/php${PHP_VER}-dba
+dbase_DEPENDS= databases/php${PHP_VER}-dbase
+dbx_DEPENDS= databases/php${PHP_VER}-dbx
+dio_DEPENDS= devel/php${PHP_VER}-dio
+dom_DEPENDS= textproc/php${PHP_VER}-dom
+domxml_DEPENDS= textproc/php${PHP_VER}-domxml
+exif_DEPENDS= graphics/php${PHP_VER}-exif
+fileinfo_DEPENDS= sysutils/pecl-fileinfo
+filepro_DEPENDS=databases/php${PHP_VER}-filepro
+fribidi_DEPENDS=converters/pecl-fribidi
+ftp_DEPENDS= ftp/php${PHP_VER}-ftp
+gd_DEPENDS= graphics/php${PHP_VER}-gd
+gettext_DEPENDS=devel/php${PHP_VER}-gettext
+gmp_DEPENDS= math/php${PHP_VER}-gmp
+hash_DEPENDS= security/pecl-hash
+iconv_DEPENDS= converters/php${PHP_VER}-iconv
+imagick_DEPENDS=graphics/pecl-imagick
+imap_DEPENDS= mail/php${PHP_VER}-imap
+interbase_DEPENDS= databases/php${PHP_VER}-interbase
+ldap_DEPENDS= net/php${PHP_VER}-ldap
+mbstring_DEPENDS= converters/php${PHP_VER}-mbstring
+mcal_DEPENDS= misc/php${PHP_VER}-mcal
+mcrypt_DEPENDS= security/php${PHP_VER}-mcrypt
+mcve_DEPENDS= devel/php${PHP_VER}-mcve
+mhash_DEPENDS= security/php${PHP_VER}-mhash
+ming_DEPENDS= graphics/php${PHP_VER}-ming
+mnogosearch_DEPENDS= www/php${PHP_VER}-mnogosearch
+mssql_DEPENDS= databases/php${PHP_VER}-mssql
+mysql_DEPENDS= databases/php${PHP_VER}-mysql
+mysqli_DEPENDS= databases/php${PHP_VER}-mysqli
+ncurses_DEPENDS=devel/php${PHP_VER}-ncurses
+odbc_DEPENDS= databases/php${PHP_VER}-odbc
+openssl_DEPENDS=security/php${PHP_VER}-openssl
+oracle_DEPENDS= databases/php${PHP_VER}-oracle
+overload_DEPENDS=lang/php${PHP_VER}-overload
+panda_DEPENDS= print/pecl-panda
+pcntl_DEPENDS= devel/php${PHP_VER}-pcntl
+pcre_DEPENDS= devel/php${PHP_VER}-pcre
+pdf_DEPENDS= print/pecl-pdflib
+pdo_DEPENDS= databases/pecl-PDO
+pfpro_DEPENDS= finance/php${PHP_VER}-pfpro
+pgsql_DEPENDS= databases/php${PHP_VER}-pgsql
+posix_DEPENDS= sysutils/php${PHP_VER}-posix
+pspell_DEPENDS= textproc/php${PHP_VER}-pspell
+radius_DEPENDS= net/pecl-radius
+readline_DEPENDS= devel/php${PHP_VER}-readline
+recode_DEPENDS= converters/php${PHP_VER}-recode
+session_DEPENDS=www/php${PHP_VER}-session
+shmop_DEPENDS= devel/php${PHP_VER}-shmop
+simplexml_DEPENDS= textproc/php${PHP_VER}-simplexml
+snmp_DEPENDS= net-mgmt/php${PHP_VER}-snmp
+soap_DEPENDS= net/php${PHP_VER}-soap
+sockets_DEPENDS=net/php${PHP_VER}-sockets
+sqlite_DEPENDS= databases/php${PHP_VER}-sqlite
+sybase_ct_DEPENDS= databases/php${PHP_VER}-sybase_ct
+sysvmsg_DEPENDS=devel/php${PHP_VER}-sysvmsg
+sysvsem_DEPENDS=devel/php${PHP_VER}-sysvsem
+sysvshm_DEPENDS=devel/php${PHP_VER}-sysvshm
+tidy_DEPENDS= www/php${PHP_VER}-tidy
+tokenizer_DEPENDS= devel/php${PHP_VER}-tokenizer
+wddx_DEPENDS= textproc/php${PHP_VER}-wddx
+xml_DEPENDS= textproc/php${PHP_VER}-xml
+xmlreader_DEPENDS= textproc/php${PHP_VER}-xmlreader
+xmlrpc_DEPENDS= net/php${PHP_VER}-xmlrpc
+xmlwriter_DEPENDS= textproc/php${PHP_VER}-xmlwriter
+xsl_DEPENDS= textproc/php${PHP_VER}-xsl
+xslt_DEPENDS= textproc/php${PHP_VER}-xslt
+yaz_DEPENDS= net/pecl-yaz
+yp_DEPENDS= net/php${PHP_VER}-yp
+zip_DEPENDS= archivers/pecl-zip
+zlib_DEPENDS= archivers/php${PHP_VER}-zlib
+
+. for extension in ${USE_PHP}
+. if ${_USE_PHP_VER${PHP_VER}:M${extension}} != ""
+. if ${PHP_EXT_INC:M${extension}} == ""
+. if defined(USE_PHP_BUILD)
+BUILD_DEPENDS+= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS}
+. endif
+RUN_DEPENDS+= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS}
+. endif
+. else
+isyes= ${extension}
+. if ${isyes:L} != "yes"
+check-makevars::
+ @${ECHO_CMD} "Unknown extension ${extension} for PHP ${PHP_VER}."
+ @${FALSE}
+. endif
+. endif
+. endfor
+.endif
diff --git a/devel/portmk/Mk/bsd.ruby.mk b/devel/portmk/Mk/bsd.ruby.mk
new file mode 100644
index 000000000000..dc4732f03484
--- /dev/null
+++ b/devel/portmk/Mk/bsd.ruby.mk
@@ -0,0 +1,479 @@
+#
+# bsd.ruby.mk - Utility definitions for Ruby related ports.
+#
+# Created by: Akinori MUSHA <knu@FreeBSD.org>
+#
+# $FreeBSD: /tmp/pcvs/ports/devel/portmk/Mk/Attic/bsd.ruby.mk,v 1.4 2006-06-27 19:47:13 linimon Exp $
+#
+
+.if !defined(Ruby_Include)
+
+Ruby_Include= bsd.ruby.mk
+Ruby_Include_MAINTAINER= knu@FreeBSD.org
+
+#
+# [variables that a user may define]
+#
+# RUBY_VER - (See below)
+# RUBY_DEFAULT_VER - Set to (e.g.) "1.8" if you want to refer to "ruby18" just as "ruby".
+# RUBY_ARCH - (See below)
+# RUBY_RD_HTML - Define if you want HTML files generated from RD files.
+#
+# [variables that each port can define]
+#
+# RUBY - Set to full path of ruby. If you set this, the values of the following variables are automatically obtained from the ruby executable: RUBY_VER, RUBY_VERSION, RUBY_NAME, RUBY_ARCH, RUBY_LIBDIR, RUBY_ARCHLIBDIR, RUBY_SITELIBDIR, and RUBY_SITEARCHLIBDIR.
+# RUBY_VER - Set to the alternative short version of ruby in the form of `x.y' (see below for current value).
+# USE_RUBY - Says that the port uses ruby for building and running.
+# RUBY_NO_BUILD_DEPENDS - Says that the port should not build-depend on ruby.
+# RUBY_NO_RUN_DEPENDS - Says that the port should not run-depend on ruby.
+# USE_LIBRUBY - Says that the port uses libruby.
+# USE_RUBY_EXTCONF - Says that the port uses extconf.rb to configure. Implies USE_RUBY.
+# RUBY_EXTCONF - Set to the alternative name of extconf.rb (default: extconf.rb).
+# RUBY_EXTCONF_SUBDIRS - Set to list of subdirectories, if multiple modules are included.
+# USE_RUBY_SETUP - Says that the port uses setup.rb to configure and build.
+# RUBY_SETUP - Set to the alternative name of setup.rb (default: setup.rb).
+# USE_RUBY_AMSTD - Says that the port uses amstd for building and running.
+# USE_RUBY_RDTOOL - Says that the port uses rdtool to generate documents.
+# USE_RUBY_RDOC - Says that the port uses rdoc to generate documents.
+# USE_RUBY_FEATURES - Says that the port requires some of the following features
+# for building and/or running (default: none):
+# benchmark bigdecimal devel-logger
+# dl drb erb
+# fileutils gserver iconv
+# ipaddr open-uri openssl
+# optparse pp racc-runtime
+# rdoc rexml ruby18
+# runit set soap
+# stringio strscan testunit
+# tsort webrick xmlrpc
+# yaml zlib
+# benchmark dl fileutil optparse pp racc-runtime
+# rexml ruby18 set stringio strscan tsort yaml
+# RUBY_REQUIRE - Set to a Ruby expression to evaluate before building the port. The constant "Ruby" is set to the integer version number of ruby, and the result of the expression will be set to RUBY_PROVIDED, which is left undefined if the result is nil, false or a zero-length string. Implies USE_RUBY.
+# RUBY_SHEBANG_FILES - Specify the files which shebang lines you want to fix.
+# RUBY_RD_FILES - Specify the RD files which you want to generate HTML documents from.
+# If this is defined and not empty, USE_RUBY_RDTOOL is implied and
+# RUBY_RD_HTML_FILES is defined.
+#
+# [variables that each port should not (re)define]
+#
+# RUBY_PKGNAMEPREFIX - Common PKGNAMEPREFIX for ruby ports (default: ruby${RUBY_SUFFIX}-)
+# RUBY_VERSION - Full version of ruby without preview/beta suffix in the form of `x.y.z' (see below for current value).
+# RUBY_VERSION_CODE - Full integer version of ruby without preview/beta suffix in the form of `xyz'.
+# RUBY_PORTVERSION - PORTVERSION for the standard ruby ports (ruby, ruby-gdbm, etc.).
+# RUBY_DISTNAME - DISTNAME for the standard ruby ports, i.e. the basename of the ruby distribution tarball.
+# RUBY_DISTVERSION - The version number part of RUBY_DISTNAME.
+# RUBY_PATCHFILES - PATCHFILES for the standard ruby ports, i.e. the basename of the ruby distribution tarball.
+# RUBY_WRKSRC - WRKSRC for the ruby port.
+# MASTER_SITE_SUBDIR_RUBY - MASTER_SITE_SUBDIR for the ruby distfiles.
+#
+# RUBY_SHLIBVER - Major version of libruby (see below for current value).
+# RUBY_ARCH - Set to target architecture name. (e.g. i386-freebsdelf4.3)
+# RUBY_SUFFIX - Suffix for ruby binaries and directories (${RUBY_VER:S/.//}).
+# RUBY_WITHOUT_SUFFIX - Always ${LOCALBASE}/bin/ruby.
+# RUBY_WITH_SUFFIX - Always ${RUBY_WITHOUT_SUFFIX}${RUBY_SUFFIX}.
+# RUBY_NAME - Ruby's name with trailing suffix.
+#
+# RUBY_MODNAME - Set to the module name (default: ${PORTNAME}).
+#
+# RUBY_RD2 - Full path of rd2 executable.
+# RUBY_RDOC - Full path of rdoc executable.
+#
+# RUBY_BASE_PORT - Port path of base ruby without PORTSDIR, without suffix except version.
+# RUBY_PORT - Port path of ruby without PORTSDIR.
+# RUBY_SHIM18_PORT - Port path of ruby16-shim-ruby18 without PORTSDIR.
+# RUBY_AMSTD_PORT - Port path of ruby-amstd without PORTSDIR.
+# RUBY_RDTOOL_PORT - Port path of rdtool without PORTSDIR.
+# RUBY_RDOC_PORT - Port path of rdoc without PORTSDIR.
+# RUBY_ICONV_PORT - Port path of ruby-iconv without PORTSDIR.
+#
+# DEPEND_LIBRUBY - LIB_DEPENDS entry for libruby.
+# DEPEND_RUBY - BUILD_DEPENDS/RUN_DEPENDS entry for ruby.
+# DEPEND_RUBY_SHIM18 - BUILD_DEPENDS/RUN_DEPENDS entry for ruby16-shim-ruby18.
+# DEPEND_RUBY_AMSTD - BUILD_DEPENDS/RUN_DEPENDS entry for ruby-amstd.
+# DEPEND_RUBY_RDTOOL - BUILD_DEPENDS entry for rdtool.
+# DEPEND_RUBY_RDOC - BUILD_DEPENDS entry for rdoc.
+# DEPEND_RUBY_ICONV - BUILD_DEPENDS/RUN_DEPENDS entry for ruby-iconv.
+#
+# RUBY_LIBDIR - Installation path for architecture independent libraries.
+# RUBY_ARCHLIBDIR - Installation path for architecture dependent libraries.
+# RUBY_SITELIBDIR - Installation path for site architecture independent libraries.
+# RUBY_SITEARCHLIBDIR - Installation path for site architecture dependent libraries.
+# RUBY_DOCDIR - Installation path for documents.
+# RUBY_EXAMPLESDIR - Installation path for examples.
+# RUBY_RIDIR - Installation path for site architecture independentri documents.
+# RUBY_SITERIDIR - Installation path for site architecture dependent ri documents.
+# RUBY_MODDOCDIR - Installation path for the module's documents.
+# RUBY_MODEXAMPLESDIR - Installation path for the module's examples.
+# RUBY_ELISPDIR - Installation path for emacs lisp files.
+#
+
+RUBY_DEFAULT_VER?= 1.8
+
+RUBY_VER?= ${RUBY_DEFAULT_VER}
+
+.if defined(RUBY)
+.if !exists(${RUBY})
+IGNORE= cannot install: you set the variable RUBY to "${RUBY}", but it does not seem to exist. Please specify an already installed ruby executable.
+.endif
+
+_RUBY_TEST!= ${RUBY} -e 'begin; require "rbconfig"; rescue LoadError; puts "error"; end'
+.if !empty(_RUBY_TEST)
+IGNORE= cannot install: you set the variable RUBY to "${RUBY}", but it failed to include rbconfig. Please specify a properly installed ruby executable.
+.endif
+
+_RUBY_CONFIG= ${RUBY} -r rbconfig -e 'C = Config::CONFIG' -e
+
+RUBY_VERSION!= ${_RUBY_CONFIG} 'puts VERSION'
+RUBY_SUFFIX?= # empty
+
+RUBY_ARCH!= ${_RUBY_CONFIG} 'puts C["target"]'
+RUBY_NAME!= ${_RUBY_CONFIG} 'puts C["ruby_install_name"]'
+
+_RUBY_SYSLIBDIR!= ${_RUBY_CONFIG} 'puts C["libdir"]'
+_RUBY_SITEDIR!= ${_RUBY_CONFIG} 'puts C["sitedir"]'
+.else
+RUBY?= ${LOCALBASE}/bin/${RUBY_NAME}
+
+.if defined(RUBY_VER) && ${RUBY_VER} == 1.8
+RUBY_VERSION?= 1.8.4
+#RUBY_DISTVERSION?= ${RUBY_VERSION}
+#RUBY_PATCHFILES?= ruby-${RUBY_DISTVERSION}-yyyy.mm.dd.diff.bz2
+
+# Security patch
+RUBY_PATCHFILES?= ${RUBY_VERSION}-patch1.gz
+
+#RUBY_PORTVERSION?= ${RUBY_VERSION}
+RUBY_WRKSRC= ${WRKDIR}/ruby-${RUBY_VERSION}
+#MASTER_SITE_SUBDIR_RUBY= snapshots
+.elif defined(RUBY_VER) && ${RUBY_VER} == 1.7
+IGNORE= Ruby 1.7 is obsolete; set RUBY_VER to 1.8 instead.
+.else
+RUBY_VERSION?= 1.6.8
+RUBY_DISTVERSION?= ${RUBY_VERSION}-2004.07.28
+#RUBY_PATCHFILES?= ruby-${RUBY_DISTVERSION}-${RUBY_PORTVERSION}.diff.bz2
+
+# Security patch
+RUBY_PATCHFILES?= ${RUBY_VERSION}-patch1.gz
+
+RUBY_PORTVERSION?= ${RUBY_VERSION}.2004.07.28
+#RUBY_WRKSRC= ${WRKDIR}/ruby-${RUBY_VERSION}
+MASTER_SITE_SUBDIR_RUBY= snapshots
+.endif
+# defined(RUBY_VER) && ${RUBY_VER} == 1.8
+
+CONFIGURE_TARGET?= ${ARCH}-portbld-freebsd${OSREL:C/\..*//}
+
+RUBY_ARCH?= ${ARCH}-freebsd${OSREL:C/\..*//}
+RUBY_NAME?= ruby${RUBY_SUFFIX}
+
+_RUBY_SYSLIBDIR?= ${LOCALBASE}/lib
+_RUBY_SITEDIR?= ${_RUBY_SYSLIBDIR}/ruby/site_ruby
+.endif
+# defined(RUBY)
+
+RUBY_DEFAULT_SUFFIX?= ${RUBY_DEFAULT_VER:S/.//}
+
+RUBY_DISTVERSION?= ${RUBY_VERSION}
+RUBY_PORTVERSION?= ${RUBY_VERSION}
+MASTER_SITE_SUBDIR_RUBY?= ${RUBY_VER}
+RUBY_DISTNAME?= ruby-${RUBY_DISTVERSION}
+
+RUBY_WRKSRC?= ${WRKDIR}/${RUBY_DISTNAME}
+
+RUBY_VERSION_CODE?= ${RUBY_VERSION:S/.//g}
+RUBY_VER= ${RUBY_VERSION:R}
+RUBY_SUFFIX= ${RUBY_VER:S/.//}
+
+RUBY_WITHOUT_SUFFIX?= ${LOCALBASE}/bin/ruby
+RUBY_WITH_SUFFIX?= ${RUBY_WITHOUT_SUFFIX}${RUBY_SUFFIX}
+
+RUBY_PKGNAMEPREFIX?= ruby${RUBY_SUFFIX}-
+RUBY_SHLIBVER?= ${RUBY_VER:S/.//}
+
+RUBY_CONFIGURE_ARGS+= --program-prefix=""
+
+DEPENDS_ARGS+= RUBY_VER="${RUBY_VER}"
+
+RUBY_CONFIGURE_ARGS+= --program-suffix="${RUBY_SUFFIX}"
+
+RUBY_MODNAME?= ${PORTNAME}
+
+# Commands
+RUBY_RD2?= ${LOCALBASE}/bin/rd2
+RUBY_RDOC?= ${LOCALBASE}/bin/rdoc
+
+# Ports
+RUBY_BASE_PORT?= lang/ruby${RUBY_VER:S/.//}
+RUBY_PORT?= ${RUBY_BASE_PORT}
+RUBY_SHIM18_PORT?= lang/ruby16-shim-ruby18
+RUBY_AMSTD_PORT?= devel/ruby-amstd
+RUBY_RDTOOL_PORT?= textproc/ruby-rdtool
+RUBY_RDOC_PORT?= textproc/ruby-rdoc
+RUBY_ICONV_PORT?= converters/ruby-iconv
+
+# Depends
+DEPEND_LIBRUBY?= ${RUBY_NAME}.${RUBY_SHLIBVER}:${PORTSDIR}/${RUBY_PORT}
+DEPEND_RUBY?= ${RUBY}:${PORTSDIR}/${RUBY_PORT}
+DEPEND_RUBY_SHIM18?= ${RUBY_SITEARCHLIBDIR}/features/ruby18/file_ruby18.so:${PORTSDIR}/${RUBY_SHIM18_PORT}
+DEPEND_RUBY_AMSTD?= ${RUBY_SITELIBDIR}/amstd/version.rb:${PORTSDIR}/${RUBY_AMSTD_PORT}
+DEPEND_RUBY_RDTOOL?= ${RUBY_RD2}:${PORTSDIR}/${RUBY_RDTOOL_PORT}
+.if ${RUBY_VER} <= 1.6
+DEPEND_RUBY_ICONV= ${RUBY_SITEARCHLIBDIR}/iconv.so:${PORTSDIR}/${RUBY_ICONV_PORT}
+.else
+DEPEND_RUBY_ICONV= ${RUBY_ARCHLIBDIR}/iconv.so:${PORTSDIR}/${RUBY_ICONV_PORT}
+.endif
+
+# Directories
+RUBY_LIBDIR?= ${_RUBY_SYSLIBDIR}/ruby/${RUBY_VER}
+RUBY_ARCHLIBDIR?= ${RUBY_LIBDIR}/${RUBY_ARCH}
+RUBY_SITELIBDIR?= ${_RUBY_SITEDIR}/${RUBY_VER}
+RUBY_SITEARCHLIBDIR?= ${RUBY_SITELIBDIR}/${RUBY_ARCH}
+RUBY_DOCDIR?= ${LOCALBASE}/share/doc/${RUBY_NAME}
+RUBY_EXAMPLESDIR?= ${LOCALBASE}/share/examples/${RUBY_NAME}
+RUBY_RIDIR?= ${LOCALBASE}/share/ri/${RUBY_VER}/system
+RUBY_SITERIDIR?= ${LOCALBASE}/share/ri/${RUBY_VER}/site
+RUBY_MODDOCDIR?= ${RUBY_DOCDIR}/${RUBY_MODNAME}
+RUBY_MODEXAMPLESDIR?= ${RUBY_EXAMPLESDIR}/${RUBY_MODNAME}
+RUBY_ELISPDIR?= ${_RUBY_SYSLIBDIR}/ruby/elisp
+
+# PLIST
+PLIST_RUBY_DIRS= RUBY_LIBDIR="${RUBY_LIBDIR}" \
+ RUBY_ARCHLIBDIR="${RUBY_ARCHLIBDIR}" \
+ RUBY_SITELIBDIR="${RUBY_SITELIBDIR}" \
+ RUBY_SITEARCHLIBDIR="${RUBY_SITEARCHLIBDIR}" \
+ RUBY_DOCDIR="${RUBY_DOCDIR}" \
+ RUBY_EXAMPLESDIR="${RUBY_EXAMPLESDIR}" \
+ RUBY_RIDIR="${RUBY_RIDIR}" \
+ RUBY_SITERIDIR="${RUBY_SITERIDIR}" \
+ RUBY_MODDOCDIR="${RUBY_MODDOCDIR}" \
+ RUBY_MODEXAMPLESDIR="${RUBY_MODEXAMPLESDIR}" \
+ RUBY_ELISPDIR="${RUBY_ELISPDIR}"
+
+PLIST_SUB+= RUBY_VERSION="${RUBY_VERSION}" \
+ RUBY_VER="${RUBY_VER}" \
+ RUBY_SHLIBVER="${RUBY_SHLIBVER}" \
+ RUBY_ARCH="${RUBY_ARCH}" \
+ RUBY_SUFFIX="${RUBY_SUFFIX}" \
+ RUBY_NAME="${RUBY_NAME}" \
+ RUBY_DEFAULT_SUFFIX="${RUBY_DEFAULT_SUFFIX}" \
+ ${PLIST_RUBY_DIRS:S,DIR="${LOCALBASE}/,DIR=",}
+
+.if ${RUBY_VER} >= 1.7
+RUBY18_ONLY= ""
+.elif ${RUBY_VER} >= 1.6
+RUBY16_ONLY= ""
+.endif
+
+RUBY16_ONLY?= "@comment "
+RUBY18_ONLY?= "@comment "
+
+PLIST_SUB+= RUBY16_ONLY=${RUBY16_ONLY} \
+ RUBY18_ONLY=${RUBY18_ONLY}
+
+# require check
+.if defined(RUBY_REQUIRE)
+USE_RUBY= yes
+
+.if exists(${RUBY})
+RUBY_PROVIDED!= ${RUBY} -e '\
+ Ruby = ${RUBY_VERSION_CODE}; \
+ value = begin; ${RUBY_REQUIRE}; end and puts value'
+.else
+RUBY_PROVIDED= "should be" # the latest version is going to be installed
+.endif
+
+.if empty(RUBY_PROVIDED)
+.undef RUBY_PROVIDED
+.endif
+.endif
+
+# fix shebang lines
+.if defined(RUBY_SHEBANG_FILES) && !empty(RUBY_SHEBANG_FILES)
+USE_RUBY= yes
+
+post-patch: ruby-shebang-patch
+
+ruby-shebang-patch:
+ @cd ${WRKSRC}; for f in ${RUBY_SHEBANG_FILES}; do \
+ ${ECHO_MSG} "===> Fixing the #! line of $$f"; \
+ ${RUBY} ${RUBY_FLAGS} -i -p \
+ -e 'if $$. == 1; ' \
+ -e ' if /^#!/; ' \
+ -e ' sub /^#!\s*\S*(\benv\s+)?\bruby/, "#!${RUBY}";' \
+ -e ' else;' \
+ -e ' $$_ = "#!${RUBY}\n" + $$_;' \
+ -e ' end;' \
+ -e 'end' \
+ $$f; \
+ done
+.endif
+
+.if defined(DEBUG)
+RUBY_FLAGS+= -d
+.endif
+
+# extconf.rb
+.if defined(USE_RUBY_EXTCONF)
+USE_RUBY= yes
+
+RUBY_EXTCONF?= extconf.rb
+CONFIGURE_ARGS+= --with-opt-dir="${LOCALBASE}"
+
+do-configure: ruby-extconf-configure
+
+ruby-extconf-configure:
+.if defined(RUBY_EXTCONF_SUBDIRS)
+.for d in ${RUBY_EXTCONF_SUBDIRS}
+ @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} in ${d} to configure"
+ @cd ${CONFIGURE_WRKSRC}/${d}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_EXTCONF} ${CONFIGURE_ARGS}
+.endfor
+.else
+ @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} to configure"
+ @cd ${CONFIGURE_WRKSRC}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_EXTCONF} ${CONFIGURE_ARGS}
+.endif
+.endif
+
+# setup.rb
+.if defined(USE_RUBY_SETUP)
+RUBY_SETUP?= setup.rb
+
+do-configure: ruby-setup-configure
+
+ruby-setup-configure:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to configure"
+ @cd ${BUILD_WRKSRC}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} config ${CONFIGURE_ARGS}
+
+do-build: ruby-setup-build
+
+ruby-setup-build:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to build"
+ @cd ${BUILD_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} setup
+
+do-install: ruby-setup-install
+
+ruby-setup-install:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to install"
+ @cd ${INSTALL_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} install
+.endif
+
+.if defined(USE_LIBRUBY)
+LIB_DEPENDS+= ${DEPEND_LIBRUBY}
+.endif
+
+.if defined(USE_RUBY)
+.if !defined(RUBY_NO_BUILD_DEPENDS)
+EXTRACT_DEPENDS+= ${DEPEND_RUBY}
+PATCH_DEPENDS+= ${DEPEND_RUBY}
+BUILD_DEPENDS+= ${DEPEND_RUBY}
+.endif
+.if !defined(RUBY_NO_RUN_DEPENDS)
+RUN_DEPENDS+= ${DEPEND_RUBY}
+.endif
+.endif
+
+.if !defined(NOPORTDOCS) && defined(USE_RUBY_RDOC)
+USE_RUBY_FEATURES+= rdoc
+.endif
+
+.if defined(USE_RUBY_FEATURES)
+_use= ${USE_RUBY_FEATURES:Mbenchmark} \
+ ${USE_RUBY_FEATURES:Mbigdecimal} \
+ ${USE_RUBY_FEATURES:Mdevel-logger} \
+ ${USE_RUBY_FEATURES:Mdl} \
+ ${USE_RUBY_FEATURES:Mdrb} \
+ ${USE_RUBY_FEATURES:Merb} \
+ ${USE_RUBY_FEATURES:Mfileutils} \
+ ${USE_RUBY_FEATURES:Mgserver} \
+ ${USE_RUBY_FEATURES:Mipaddr} \
+ ${USE_RUBY_FEATURES:Mopen-uri} \
+ ${USE_RUBY_FEATURES:Mopenssl} \
+ ${USE_RUBY_FEATURES:Moptparse} \
+ ${USE_RUBY_FEATURES:Mpp} \
+ ${USE_RUBY_FEATURES:Mracc-runtime} \
+ ${USE_RUBY_FEATURES:Mrdoc} \
+ ${USE_RUBY_FEATURES:Mrexml} \
+ ${USE_RUBY_FEATURES:Mruby18} \
+ ${USE_RUBY_FEATURES:Mrunit} \
+ ${USE_RUBY_FEATURES:Mset} \
+ ${USE_RUBY_FEATURES:Msoap} \
+ ${USE_RUBY_FEATURES:Mstringio} \
+ ${USE_RUBY_FEATURES:Mstrscan} \
+ ${USE_RUBY_FEATURES:Mtestunit} \
+ ${USE_RUBY_FEATURES:Mtsort} \
+ ${USE_RUBY_FEATURES:Mwebrick} \
+ ${USE_RUBY_FEATURES:Mxmlrpc} \
+ ${USE_RUBY_FEATURES:Myaml} \
+ ${USE_RUBY_FEATURES:Mzlib}
+.if !empty(_use) && ${RUBY_VER} <= 1.6
+BUILD_DEPENDS+= ${DEPEND_RUBY_SHIM18}
+RUN_DEPENDS+= ${DEPEND_RUBY_SHIM18}
+.endif
+
+_use= ${USE_RUBY_FEATURES:Miconv}
+.if !empty(_use)
+BUILD_DEPENDS+= ${DEPEND_RUBY_ICONV}
+RUN_DEPENDS+= ${DEPEND_RUBY_ICONV}
+.endif
+
+.undef _use
+.endif
+
+.if defined(USE_RUBY_AMSTD)
+BUILD_DEPENDS+= ${DEPEND_RUBY_AMSTD}
+RUN_DEPENDS+= ${DEPEND_RUBY_AMSTD}
+.endif
+
+# documents
+
+RUBY_NO_RD_HTML= yes
+
+.if defined(RUBY_RD_HTML)
+.undef RUBY_NO_RD_HTML
+.endif
+
+.if (${ARCH} == alpha || ${ARCH} == sparc64) && ${RUBY_VER} <= 1.6
+RUBY_NO_RD_HTML= yes
+.endif
+
+.if defined(NOPORTDOCS)
+RUBY_NO_RD_HTML= yes
+.endif
+
+.if defined(RUBY_RD_FILES) && !defined(RUBY_NO_RD_HTML)
+USE_RUBY_RDTOOL= yes
+
+RUBY_RD_HTML_FILES= ${RUBY_RD_FILES:S/.rb$//:S/.rd././:S/.rd$//:S/$/.html/}
+
+PLIST_SUB+= RUBY_RD_HTML_FILES=""
+
+pre-install: ruby-rd-build
+
+ruby-rd-build:
+.if !empty(RUBY_RD_FILES)
+ @${ECHO_MSG} "===> Generating HTML documents from RD documents"
+ @cd ${WRKSRC}; for rd in ${RUBY_RD_FILES}; do \
+ html=$$(echo $$rd | ${SED} 's/\.rb$$//;s/\.rd\././;s/\.rd$$//').html; \
+ ${ECHO_MSG} "${RUBY_RD2} $$rd > $$html"; \
+ ${RUBY_RD2} $$rd > $$html; \
+ done
+.else
+ @${DO_NADA}
+.endif
+
+.else
+RUBY_RD_HTML_FILES= # empty
+
+PLIST_SUB+= RUBY_RD_HTML_FILES="@comment "
+.endif
+
+.if !defined(NOPORTDOCS) && defined(USE_RUBY_RDTOOL)
+BUILD_DEPENDS+= ${DEPEND_RUBY_RDTOOL}
+.endif
+
+.endif
diff --git a/ports-mgmt/portmk/Mk/bsd.autotools.mk b/ports-mgmt/portmk/Mk/bsd.autotools.mk
new file mode 100644
index 000000000000..bf11a6938957
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.autotools.mk
@@ -0,0 +1,325 @@
+#-*- mode: makefile; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD$
+#
+# Please view me with 4 column tabs!
+#
+# Please make sure all changes to this file are passed either through
+# the maintainer, or portmgr@FreeBSD.org
+
+Autotools_Include_MAINTAINER= ade@FreeBSD.org
+
+#---------------------------------------------------------------------------
+# IMPORTANT! READ ME! YES, THAT MEANS YOU!
+#
+# The "versioned" autotools referenced here are for BUILDING other ports
+# only. THIS CANNOT BE STRESSED HIGHLY ENOUGH. Things WILL BREAK if you
+# try to use them for anything other than ports/ work. This particularly
+# includes use as a run-time dependency.
+#
+# If you need unmodified versions of autotools, such as for use in an
+# IDE, then you MUST use the devel/gnu-* equivalents, and NOT these.
+# See devel/anjuta and devel/kdevelop for examples.
+#
+# You have been WARNED!
+#---------------------------------------------------------------------------
+
+#---------------------------------------------------------------------------
+# Entry point into the autotools system
+#---------------------------------------------------------------------------
+#
+# USE_AUTOTOOLS= tool:version[:env] ...
+#
+# 'tool' can currently be one of:
+# libtool, libltdl, autoconf, autoheader, automake, aclocal
+#
+# 'version' is tool dependent
+#
+# ':env' is used to pecify that the environment variables are needed,
+# but the relevant tool should NOT be run as part of the
+# run-autotools target
+#
+# XXX: there is currently no sanity checking of the supplied variables
+# other than to detect actually available versions. This should
+# probably be fixed at some point.
+#
+# In addition, the following variables can be set in the port Makefile
+# to be passed to the relevant tools:
+#
+# AUTOMAKE_ARGS=...
+# - Extra arguments passed to automake during configure step
+#
+# ACLOCAL_ARGS=...
+# - Arguments passed to aclocal during configure step
+#
+# AUTOCONF_ARGS=...
+# - Extra arguments passed to autoconf during configure step
+#
+# AUTOHEADER_ARGS=...
+# - Extra arguments passed to autoheader during configure step
+#
+# LIBTOOLFLAGS=<value>
+# - Arguments passed to libtool during configure step
+#
+# LIBTOOLFILES=<list-of-files>
+# - A list of files to patch during libtool pre-configuration
+# Defaults to "aclocal.m4" if autoconf is in use, otherwise "configure"
+#
+#---------------------------------------------------------------------------
+
+# XXX: here be dragons :)
+#
+.for item in ${USE_AUTOTOOLS}
+AUTOTOOL_${item:C/^([^:]+).*/\1/}${item:M*\:*\:*:C/^[^:]+:[^:]+:([^:]+)/_\1/}= ${item:C/^[^:]+:([^:]+).*/\1/}
+.endfor
+
+# XXX: temporary to highlight any missed ports in the conversion
+#
+.if defined(AUTOTOOL_libtool_inc)
+IGNORE+= error: libtool:${AUTOTOOL_libtool_inc}:inc construct no longer available
+.endif
+
+#---------------------------------------------------------------------------
+# AUTOMAKE/ACLOCAL
+#---------------------------------------------------------------------------
+
+.if defined(AUTOTOOL_automake)
+AUTOTOOL_automake_env= ${AUTOTOOL_automake}
+GNU_CONFIGURE?= yes
+.endif
+
+.if defined(AUTOTOOL_aclocal)
+AUTOTOOL_automake_env= ${AUTOTOOL_aclocal}
+GNU_CONFIGURE?= yes
+.endif
+
+.if defined(AUTOTOOL_automake_env)
+AUTOMAKE_VERSION= ${AUTOTOOL_automake_env}
+
+# Make sure we specified a legal version of automake
+#
+. if !exists(${PORTSDIR}/devel/automake${AUTOMAKE_VERSION}/Makefile)
+IGNORE+= cannot install: unknown AUTOMAKE version: ${AUTOMAKE_VERSION}
+. endif
+
+# Set up the automake environment
+#
+AUTOMAKE= ${LOCALBASE}/bin/automake${AUTOMAKE_VERSION}
+AUTOMAKE_DIR= ${LOCALBASE}/share/automake${AUTOMAKE_VERSION}
+ACLOCAL= ${LOCALBASE}/bin/aclocal${AUTOMAKE_VERSION}
+ACLOCAL_DIR= ${LOCALBASE}/share/aclocal${AUTOMAKE_VERSION}
+AUTOMAKE_PATH= ${LOCALBASE}/libexec/automake${AUTOMAKE_VERSION}:
+AUTOMAKE_VARS= ACLOCAL=${ACLOCAL} AUTOMAKE=${AUTOMAKE}
+
+AUTOMAKE_DEPENDS= ${AUTOMAKE}:${PORTSDIR}/devel/automake${AUTOMAKE_VERSION}
+BUILD_DEPENDS+= ${AUTOMAKE_DEPENDS}
+
+# XXX: backwards compatibility shim
+#
+. if ${AUTOMAKE_VERSION} == 14
+AUTOMAKE_ARGS+= -i
+. endif
+
+. if defined(AUTOTOOL_aclocal)
+ACLOCAL_ARGS?= --acdir=${ACLOCAL_DIR}
+. endif
+
+.endif
+
+#---------------------------------------------------------------------------
+# AUTOCONF/AUTOHEADER
+#---------------------------------------------------------------------------
+
+.if defined(AUTOTOOL_autoheader)
+AUTOTOOL_autoconf= ${AUTOTOOL_autoheader}
+.endif
+
+.if defined(AUTOTOOL_autoconf)
+AUTOTOOL_autoconf_env= ${AUTOTOOL_autoconf}
+GNU_CONFIGURE?= yes
+.endif
+
+.if defined(AUTOTOOL_autoconf_env)
+AUTOCONF_VERSION= ${AUTOTOOL_autoconf_env}
+
+# Make sure we specified a legal version of autoconf
+#
+. if !exists(${PORTSDIR}/devel/autoconf${AUTOCONF_VERSION}/Makefile)
+IGNORE+= cannot install: unknown AUTOCONF version: ${AUTOCONF_VERSION}
+. endif
+
+# Set up the autoconf/autoheader environment
+#
+AUTOCONF= ${LOCALBASE}/bin/autoconf${AUTOCONF_VERSION}
+AUTOCONF_DIR= ${LOCALBASE}/share/autoconf${AUTOCONF_VERSION}
+AUTOHEADER= ${LOCALBASE}/bin/autoheader${AUTOCONF_VERSION}
+AUTOIFNAMES= ${LOCALBASE}/bin/ifnames${AUTOCONF_VERSION}
+AUTOM4TE= ${LOCALBASE}/bin/autom4te${AUTOCONF_VERSION}
+AUTORECONF= ${LOCALBASE}/bin/autoreconf${AUTOCONF_VERSION}
+AUTOSCAN= ${LOCALBASE}/bin/autoscan${AUTOCONF_VERSION}
+AUTOUPDATE= ${LOCALBASE}/bin/autoupdate${AUTOCONF_VERSION}
+AUTOCONF_PATH= ${LOCALBASE}/libexec/autoconf${AUTOCONF_VERSION}:
+AUTOCONF_VARS= AUTOCONF=${AUTOCONF} AUTOHEADER=${AUTOHEADER} AUTOIFNAMES=${AUTOIFNAMES} AUTOM4TE=${AUTOM4TE} AUTORECONF=${AUTORECONF} AUTOSCAN=${AUTOSCAN} AUTOUPDATE=${AUTOUPDATE}
+
+AUTOCONF_DEPENDS= ${AUTOCONF}:${PORTSDIR}/devel/autoconf${AUTOCONF_VERSION}
+BUILD_DEPENDS+= ${AUTOCONF_DEPENDS}
+
+.endif
+
+#---------------------------------------------------------------------------
+# LIBTOOL/LIBLTDL
+#---------------------------------------------------------------------------
+
+# Convenience function to save people having to depend directly on
+# devel/libltdl15
+#
+.if defined(AUTOTOOL_libltdl)
+LIB_DEPENDS+= ltdl.4:${PORTSDIR}/devel/libltdl15
+.endif
+
+.if defined(AUTOTOOL_libtool)
+GNU_CONFIGURE?= YES
+AUTOTOOL_libtool_env= ${AUTOTOOL_libtool}
+.endif
+
+.if defined(AUTOTOOL_libtool_env)
+LIBTOOL_VERSION= ${AUTOTOOL_libtool_env}
+
+# Make sure we specified a legal version of libtool
+#
+. if !exists(${PORTSDIR}/devel/libtool${LIBTOOL_VERSION}/Makefile)
+IGNORE+= cannot install: unknown LIBTOOL version: ${LIBTOOL_VERSION}
+. endif
+
+# Set up the libtool environment
+#
+LIBTOOL= ${LOCALBASE}/bin/libtool
+LIBTOOLIZE= ${LOCALBASE}/bin/libtoolize
+LIBTOOL_LIBEXECDIR= ${LOCALBASE}/libexec/libtool
+LIBTOOL_SHAREDIR= ${LOCALBASE}/share/libtool
+LIBTOOL_M4= ${LOCALBASE}/share/aclocal/libtool.m4
+LTMAIN= ${LIBTOOL_SHAREDIR}/ltmain.sh
+LIBTOOL_VARS= LIBTOOL=${LIBTOOL} LIBTOOLIZE=${LIBTOOLIZE} LIBTOOL_M4=${LIBTOOL_M4}
+
+LIBTOOL_DEPENDS= ${LIBTOOL}:${PORTSDIR}/devel/libtool${LIBTOOL_VERSION}
+BUILD_DEPENDS+= ${LIBTOOL_DEPENDS}
+
+LIBTOOLFLAGS?= # default to empty
+
+. if defined(AUTOTOOL_autoconf)
+LIBTOOLFILES?= aclocal.m4
+. else
+LIBTOOLFILES?= configure
+. endif
+
+.endif
+
+#---------------------------------------------------------------------------
+# Environmental handling
+# Now that we've got our environments defined for autotools, add them
+# in so that the rest of the world can handle them
+#
+AUTOTOOLS_PATH= ${AUTOMAKE_PATH}${AUTOCONF_PATH}
+AUTOTOOLS_VARS= ${AUTOMAKE_VARS} ${AUTOCONF_VARS} ${LIBTOOL_VARS}
+
+.if defined(AUTOTOOLS_PATH) && (${AUTOTOOLS_PATH} != "")
+AUTOTOOLS_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+CONFIGURE_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+MAKE_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+SCRIPTS_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+. for item in automake aclocal autoconf autoheader libtool
+. if defined(AUTOTOOL_${item}_env)
+${item:U}_ENV+= PATH=${AUTOTOOLS_PATH}${PATH}
+. endif
+. endfor
+.endif
+
+.if defined(AUTOTOOLS_VARS) && (${AUTOTOOLS_VARS} != "")
+AUTOTOOLS_ENV+= ${AUTOTOOLS_VARS}
+CONFIGURE_ENV+= ${AUTOTOOLS_VARS}
+MAKE_ENV+= ${AUTOTOOLS_VARS}
+SCRIPTS_ENV+= ${AUTOTOOLS_VARS}
+. for item in automake aclocal autoconf autoheader libtool
+. if defined(AUTOTOOL_${item}_env)
+${item:U}_ENV+= ${AUTOTOOLS_VARS}
+. endif
+. endfor
+.endif
+
+#---------------------------------------------------------------------------
+# Make targets
+#---------------------------------------------------------------------------
+
+# run-autotools
+#
+# Part of the configure set - run appropriate programs prior to
+# the actual configure target if autotools are in use.
+# If needed, this target can be overridden, for example to change
+# the order of autotools running.
+
+.if !target(run-autotools)
+run-autotools:: run-autotools-aclocal patch-autotools run-autotools-autoheader \
+ run-autotools-autoconf run-autotools-automake
+.endif
+
+.if !target(run-autotools-aclocal)
+run-autotools-aclocal:
+. if defined(AUTOTOOL_aclocal)
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${ACLOCAL} \
+ ${ACLOCAL_ARGS})
+. else
+ @${DO_NADA}
+. endif
+.endif
+
+.if !target(run-autotools-automake)
+run-autotools-automake:
+. if defined(AUTOTOOL_automake)
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOMAKE} \
+ ${AUTOMAKE_ARGS})
+. else
+ @${DO_NADA}
+. endif
+.endif
+
+.if !target(run-autotools-autoconf)
+run-autotools-autoconf:
+. if defined(AUTOTOOL_autoconf)
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOCONF} \
+ ${AUTOCONF_ARGS})
+. else
+ @${DO_NADA}
+. endif
+.endif
+
+.if !target(run-autotools-autoheader)
+run-autotools-autoheader:
+. if defined(AUTOTOOL_autoheader)
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOHEADER} \
+ ${AUTOHEADER_ARGS})
+. else
+ @${DO_NADA}
+. endif
+.endif
+
+# patch-autotools
+#
+# Special target to automatically make libtool using ports use the
+# libtool port. See above for default values of LIBTOOLFILES.
+
+.if !target(patch-autotools)
+patch-autotools::
+. if defined(AUTOTOOL_libtool)
+ @(cd ${PATCH_WRKSRC}; \
+ for file in ${LIBTOOLFILES}; do \
+ ${CP} $$file $$file.tmp; \
+ ${SED} -e "/^ltmain=/!s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} ${LTMAIN}^g" \
+ -e '/^LIBTOOL=/s^\$$(top_builddir)/libtool^${LIBTOOL}^g' \
+ $$file.tmp > $$file; \
+ ${RM} $$file.tmp; \
+ done);
+. else
+ @${DO_NADA}
+. endif
+.endif
diff --git a/ports-mgmt/portmk/Mk/bsd.database.mk b/ports-mgmt/portmk/Mk/bsd.database.mk
new file mode 100644
index 000000000000..b101242c1dc7
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.database.mk
@@ -0,0 +1,381 @@
+# -*- mode: Makefile; tab-width: 4; -*-
+# ex: ts=4
+#
+# $FreeBSD$
+#
+
+.if defined(_POSTMKINCLUDED) && !defined(Database_Post_Include)
+
+Database_Post_Include= bsd.database.mk
+Database_Include_MAINTAINER= ports@FreeBSD.org
+
+# This file contains some routines to interact with different databases, such
+# as mysql, postgresql and berkley DB. For including this file define macro
+# USE_[DATABASE], for example USE_MYSQL. Defining macro like USE_[DATABASE]_VER
+# or WANT_[DATABSE]_VER will include this file too.
+#
+##
+# USE_MYSQL - Add MySQL client dependency.
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (MySQL4.1 = 41).
+# DEFAULT_MYSQL_VER
+# - MySQL default version. Can be overriden within a port.
+# Default: 41.
+# WANT_MYSQL_VER
+# - Maintainer can set an arbitrary version of MySQL by using it.
+# IGNORE_WITH_MYSQL
+# - This variable can be defined if the ports doesn't support
+# one or more version of MySQL.
+# WITH_MYSQL_VER
+# - User defined variable to set MySQL version.
+# MYSQL_VER
+# - Detected MySQL version.
+##
+# USE_PGSQL - Add PostgreSQL client dependency.
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (PostgreSQL-7.4 = 74).
+# DEFAULT_PGSQL_VER
+# - PostgreSQL default version. Can be overridden within a port.
+# Default: 74.
+# WANT_PGSQL_VER
+# - Maintainer can set an arbitrary version of PostgreSQL by
+# using it.
+# IGNORE_WITH_PGSQL
+# - This variable can be defined if the ports doesn't support
+# one or more versions of PostgreSQL.
+# PGSQL_VER
+# - Detected PostgreSQL version.
+##
+# USE_BDB - Add Berkeley DB library dependency.
+# If no version is given (by the maintainer via the port or
+# by the user via defined variable), try to find the
+# currently installed version. Fall back to default if
+# necessary (db41+).
+# INVALID_BDB_VER - This variable can be defined when the port doesn't
+# support one or more versions of Berkeley DB.
+# WANT_BDB_VER - Maintainer can set a version of Berkeley DB to always
+# build this port with (overrides WITH_BDB_VER).
+# WITH_BDB_VER - User defined global variable to set Berkeley DB version
+# <UNIQUENAME>_WITH_BDB_VER - User defined port specific variable to set
+# Berkeley DB version
+# WITH_BDB_HIGHEST - Use the highest installed version of Berkeley DB
+# BDB_LIB_NAME - This variable is automatically set to the name of the
+# Berkeley DB library (default: db41)
+# BDB_LIB_CXX_NAME - This variable is automatically set to the name of the
+# Berkeley DB c++ library (default: db41_cxx)
+# BDB_INCLUDE_DIR - This variable is automatically set to the location of
+# the Berkeley DB include directory.
+# (default: ${LOCALBASE}/include/db41)
+# BDB_LIB_DIR - This variable is automatically set to the location of
+# the Berkeley DB library directory.
+# BDB_VER - Detected Berkeley DB version.
+##
+# USE_SQLITE - Add dependency on sqlite library. Valid values are:
+# 3 and 2. If version is not specified directly then
+# sqlite3 is used (if USE_SQLITE= yes).
+# SQLITE_VER - Detected sqlite version.
+
+.if defined(USE_MYSQL)
+DEFAULT_MYSQL_VER?= 50
+# MySQL client version currently supported.
+MYSQL323_LIBVER= 10
+MYSQL40_LIBVER= 12
+MYSQL41_LIBVER= 14
+MYSQL50_LIBVER= 15
+MYSQL51_LIBVER= 15
+
+# Setting/finding MySQL version we want.
+.if exists(${LOCALBASE}/bin/mysql)
+_MYSQL_VER!= ${LOCALBASE}/bin/mysql --version | ${SED} -e 's/.*Distrib \([0-9]\)\.\([0-9]*\).*/\1\2/'
+.endif
+
+.if defined(WANT_MYSQL_VER)
+.if defined(WITH_MYSQL_VER) && ${WITH_MYSQL_VER} != ${WANT_MYSQL_VER}
+IGNORE= cannot install: the port wants mysql${WANT_MYSQL_VER}-client and you try to install mysql${WITH_MYSQL_VER}-client.
+.endif
+MYSQL_VER= ${WANT_MYSQL_VER}
+.elif defined(WITH_MYSQL_VER)
+MYSQL_VER= ${WITH_MYSQL_VER}
+.else
+.if defined(_MYSQL_VER)
+MYSQL_VER= ${_MYSQL_VER}
+.else
+MYSQL_VER= ${DEFAULT_MYSQL_VER}
+.endif
+.endif # WANT_MYSQL_VER
+
+.if defined(_MYSQL_VER)
+.if ${_MYSQL_VER} != ${MYSQL_VER}
+IGNORE= cannot install: MySQL versions mismatch: mysql${_MYSQL_VER}-client is installed and wanted version is mysql${MYSQL_VER}-client
+.endif
+.endif
+
+# And now we are checking if we can use it
+.if defined(MYSQL${MYSQL_VER}_LIBVER)
+# compatability shim
+.if defined(BROKEN_WITH_MYSQL)
+IGNORE_WITH_MYSQL=${BROKEN_WITH_MYSQL}
+.endif
+.if defined(IGNORE_WITH_MYSQL)
+. for VER in ${IGNORE_WITH_MYSQL}
+. if (${MYSQL_VER} == "${VER}")
+IGNORE= cannot install: doesn't work with MySQL version : ${MYSQL_VER} (Doesn't support MySQL ${IGNORE_WITH_MYSQL})
+. endif
+. endfor
+.endif # IGNORE_WITH_MYSQL
+LIB_DEPENDS+= mysqlclient.${MYSQL${MYSQL_VER}_LIBVER}:${PORTSDIR}/databases/mysql${MYSQL_VER}-client
+.else
+IGNORE= cannot install: unknown MySQL version: ${MYSQL_VER}
+.endif # Check for correct libs
+.endif # USE_MYSQL
+
+.if defined(USE_PGSQL)
+DEFAULT_PGSQL_VER?= 74
+PGSQL73_LIBVER= 3
+PGSQL74_LIBVER= 3
+PGSQL80_LIBVER= 4
+PGSQL81_LIBVER= 4
+
+# Setting/finding PostgreSQL version we want.
+.if exists(${LOCALBASE}/bin/pg_config)
+_PGSQL_VER!= ${LOCALBASE}/bin/pg_config --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\)[^0-9].*/\1\2/p'
+.endif
+
+.if defined(WANT_PGSQL_VER) && defined(_PGSQL_VER) && ${WANT_PGSQL_VER} != ${_PGSQL_VER}
+IGNORE= cannot install: the port wants postgresql${WANT_PGSQL_VER}-client but you have postgresql${_PGSQL_VER}-client installed
+.endif
+
+.if defined(_PGSQL_VER)
+PGSQL_VER= ${_PGSQL_VER}
+.elif defined(WANT_PGSQL_VER)
+PGSQL_VER= ${WANT_PGSQL_VER}
+.else
+PGSQL_VER= ${DEFAULT_PGSQL_VER}
+.endif
+
+# And now we are checking if we can use it
+.if defined(PGSQL${PGSQL_VER}_LIBVER)
+# compatability shim
+.if defined(BROKEN_WITH_PGSQL)
+IGNORE_WITH_PGSQL=${BROKEN_WITH_PGSQL}
+.endif
+.if defined(IGNORE_WITH_PGSQL)
+. for VER in ${IGNORE_WITH_PGSQL}
+. if (${PGSQL_VER} == "${VER}")
+IGNORE= cannot install: does not work with postgresql${PGSQL_VER}-client PostgresSQL (${IGNORE_WITH_PGSQL} not supported)
+. endif
+. endfor
+.endif # IGNORE_WITH_PGSQL
+LIB_DEPENDS+= pq.${PGSQL${PGSQL_VER}_LIBVER}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-client
+.else
+IGNORE= cannot install: unknown PostgreSQL version: ${PGSQL_VER}
+.endif # Check for correct version
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
+.endif # USE_PGSQL
+
+
+.if defined(USE_BDB)
+
+_DB_PORTS= 2 3 40 41 42 43 44 3+ 40+ 41+ 42+ 43+ 44+
+# Dependence lines for different db versions
+db2_DEPENDS= db2.0:${PORTSDIR}/databases/db2
+db3_DEPENDS= db3.3:${PORTSDIR}/databases/db3
+db40_DEPENDS= db4.0:${PORTSDIR}/databases/db4
+db41_DEPENDS= db41.1:${PORTSDIR}/databases/db41
+db42_DEPENDS= db-4.2.2:${PORTSDIR}/databases/db42
+db43_DEPENDS= db-4.3.0:${PORTSDIR}/databases/db43
+db44_DEPENDS= db-4.4.0:${PORTSDIR}/databases/db44
+# Detect db versions by finding some files
+db3_FIND= ${LOCALBASE}/include/db3/db.h
+db40_FIND= ${LOCALBASE}/include/db4/db.h
+db41_FIND= ${LOCALBASE}/include/db41/db.h
+db42_FIND= ${LOCALBASE}/include/db42/db.h
+db43_FIND= ${LOCALBASE}/include/db43/db.h
+db44_FIND= ${LOCALBASE}/include/db44/db.h
+
+# For specifying [3, 40, 41, ..]+
+_DB_3P= 3 40 41 42 43 44
+_DB_40P= 40 41 42 43 44
+_DB_41P= 41 42 43 44
+_DB_42P= 42 43 44
+_DB_43P= 43 44
+
+# Override the global WITH_BDB_VER with the
+# port specific <UNIQUENAME>_WITH_BDB_VER
+.if defined(${UNIQUENAME:U:S,-,_,}_WITH_BDB_VER)
+WITH_BDB_VER= ${${UNIQUENAME:U:S,-,_,}_WITH_BDB_VER}
+.endif
+
+.if defined(WITH_BDB_VER)
+. if ${WITH_BDB_VER} == 4
+USE_BDB= 40
+. elif ${WITH_BDB_VER} != 1
+USE_BDB= ${WITH_BDB_VER}
+. endif
+.endif
+_WANT_BDB_VER= ${USE_BDB}
+
+# Assume the default bdb version as 41
+.if ${USE_BDB:L} == "yes"
+_WANT_BDB_VER= 41+
+.endif
+
+# Detect bdb version
+_BDB_VER= no
+_BDB_IGNORE= no
+
+# Override the user defined WITH_BDB_VER with the WANT_BDB_VER
+.if defined(WANT_BDB_VER)
+.for bdb in ${_DB_PORTS}
+.if ${WANT_BDB_VER} == "${bdb}" && ${_BDB_VER} == "no"
+_BDB_VER= ${WANT_BDB_VER}
+.endif
+.endfor
+USE_BDB= ${WANT_BDB_VER}
+.else
+.for bdb in ${_DB_PORTS}
+.if ${_WANT_BDB_VER} == "${bdb}" && ${_BDB_VER} == "no"
+_MATCHED_DB_VER:= ${bdb:S/+//}
+. if ${_MATCHED_DB_VER} == "${bdb}"
+# USE_BDB is exactly specified
+_BDB_VER= ${bdb}
+.else
+# USE_BDB is specified as VER+
+. for dbx in ${_DB_${_MATCHED_DB_VER}P}
+. if exists(${db${dbx}_FIND})
+_BRKDB= no
+# Skip versions we are incompatible with
+. if defined(INVALID_BDB_VER)
+_CHK_BDB:= ${dbx}
+. for BRKDB in ${INVALID_BDB_VER}
+. if ${_CHK_BDB} == "${BRKDB}"
+_BRKDB= yes
+. endif
+. endfor
+. endif
+. if ${_BRKDB} == no
+. if defined(WITH_BDB_HIGHEST)
+# Use the highest version of Berkeley DB found
+_BDB_VER= ${dbx}
+. elif ${_BDB_VER} == no
+# Use the first Berkeley DB found
+_BDB_VER= ${dbx}
+. endif
+. endif
+. endif
+. endfor
+. if ${_BDB_VER} == "no"
+# No existing db4 version is detected in system
+_BDB_VER= ${_MATCHED_DB_VER}
+. endif
+. endif
+.endif
+.endfor
+.endif
+
+# USE_BDB is specified incorrectly, so mark this as IGNORE
+.if ${_BDB_VER} == "no"
+IGNORE= cannot install: unknown bdb version: ${USE_BDB}
+.else
+# Now check if we can use it
+. if defined(INVALID_BDB_VER)
+. for VER in ${INVALID_BDB_VER}
+_CHK_PLUS:= ${VER:S/+//}
+# INVALID_BDB_VER is specified as VER+
+. if ${_CHK_PLUS} != "${VER}"
+. if ${_BDB_VER} == "${_CHK_PLUS}
+_BDB_IGNORE= yes
+. else
+. for VER_P in ${_DB_${_CHK_PLUS}P}
+. if ${_BDB_VER} == "${VER_P}"
+_BDB_IGNORE= yes
+. endif
+. endfor
+. endif
+. elif ${_BDB_VER} == "${VER}"
+_BDB_IGNORE= yes
+. endif
+. endfor
+. endif
+. if ${_BDB_IGNORE} == "yes"
+IGNORE= cannot install: does not work with bdb version: ${_BDB_VER} (${INVALID_BDB_VER} not supported)
+. else
+# Now add the dependancy on Berkeley DB ${_BDB_VER) version
+.if defined(BDB_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${db${_BDB_VER}_FIND}:${db${_BDB_VER}_DEPENDS:C/^db.*://}
+.else
+LIB_DEPENDS+= ${db${_BDB_VER}_DEPENDS}
+.endif
+. if ${_BDB_VER} == 40
+BDB_LIB_NAME= db4
+BDB_LIB_CXX_NAME= db4_cxx
+BDB_INCLUDE_DIR= ${LOCALBASE}/include/db4
+. elif ${_BDB_VER} == 42
+BDB_LIB_NAME= db-4.2
+BDB_LIB_CXX_NAME= db_cxx-4.2
+BDB_LIB_DIR= ${LOCALBASE}/lib/db42
+. elif ${_BDB_VER} == 43
+BDB_LIB_NAME= db-4.3
+BDB_LIB_CXX_NAME= db_cxx-4.3
+BDB_LIB_DIR= ${LOCALBASE}/lib/db43
+. elif ${_BDB_VER} == 44
+BDB_LIB_NAME= db-4.4
+BDB_LIB_CXX_NAME= db_cxx-4.4
+BDB_LIB_DIR= ${LOCALBASE}/lib/db44
+. endif
+BDB_LIB_NAME?= db${_BDB_VER}
+BDB_LIB_CXX_NAME?= db${_BDB_VER}_cxx
+BDB_INCLUDE_DIR?= ${LOCALBASE}/include/db${_BDB_VER}
+BDB_LIB_DIR?= ${LOCALBASE}/lib
+. endif
+BDB_VER= ${_BDB_VER}
+.endif
+
+# Obsolete variables
+.if defined(OBSOLETE_BDB_VAR)
+. for var in ${OBSOLETE_BDB_VAR}
+. if defined(${var})
+BAD_VAR+= ${var},
+. endif
+. endfor
+. if defined(BAD_VAR)
+_IGNORE_MSG= Obsolete variable(s) ${BAD_VAR} use WITH_BDB_VER or ${UNIQUENAME:U:S,-,_,}_WITH_BDB_VER to select Berkeley DB version
+. if defined(IGNORE)
+IGNORE+= ${_IGNORE_MSG}
+. else
+IGNORE= ${_IGNORE_MSG}
+. endif
+. endif
+.endif
+
+.endif # USE_BDB
+
+# Handling sqlite dependency
+.if defined(USE_SQLITE)
+
+.if ${USE_SQLITE:L} == "yes"
+_SQLITE_VER= 3
+.else
+_SQLITE_VER= ${USE_SQLITE}
+.endif
+
+# USE_SQLITE is specified incorrectly, so mark this as IGNORE
+.if ${_SQLITE_VER} == "3"
+LIB_DEPENDS+= sqlite${_SQLITE_VER}:${PORTSDIR}/databases/sqlite${_SQLITE_VER}
+SQLITE_VER= ${_SQLITE_VER}
+.elif ${_SQLITE_VER} == "2"
+LIB_DEPENDS+= sqlite.${_SQLITE_VER}:${PORTSDIR}/databases/sqlite${_SQLITE_VER}
+SQLITE_VER= ${_SQLITE_VER}
+.else
+IGNORE= cannot install: unknown sqlite version: ${_SQLITE_VER}
+.endif
+
+.endif # defined(USE_SQLITE)
+
+.endif # defined(_POSTMKINCLUDED) && !defined(Database_Post_Include)
diff --git a/ports-mgmt/portmk/Mk/bsd.gcc.mk b/ports-mgmt/portmk/Mk/bsd.gcc.mk
new file mode 100644
index 000000000000..b61d19f4f042
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.gcc.mk
@@ -0,0 +1,167 @@
+#-*- mode: Fundamental; tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.gcc.mk - Support for smarter USE_GCC usage.
+#
+# Created by: Edwin Groothuis <edwin@freebsd.org>
+#
+# For port developers:
+# If your port needs a specific version of GCC, you can easily specify
+# that with the "USE_GCC=" statement. If you need a certain minimal version,
+# but don't care if about the upperversion, just the + sign behind
+# the version.
+#
+# For example:
+# USE_GCC= 3.3 # port requires GCC 3.3 to build with.
+# USE_GCC= 3.4+ # port requires GCC 3.4 or later to build with.
+#
+# If you are wondering what your port exactly does, use "make test-gcc"
+# to see some debugging.
+#
+# $FreeBSD: /tmp/pcvs/ports/ports-mgmt/portmk/Mk/Attic/bsd.gcc.mk,v 1.4 2006-06-27 19:47:13 linimon Exp $
+#
+
+GCC_Include_MAINTAINER= portmgr@FreeBSD.org
+
+#
+# All GCC versions supported by the ports framework.
+# Please keep them in ascending order.
+#
+GCCVERSIONS= 020702 020801 029500 030200 030301 030402 040000 040100 040200
+
+#
+# Versions of GCC shipped.
+# The first field if the OSVERSION in which it appeared in the base system.
+# The second field is the OSVERSION in which it disappeared from
+# the base system.
+# The third field is the version as USE_GCC would use.
+#
+GCCVERSION_020702= 000000 000000 2.7
+GCCVERSION_020801= 000000 400012 2.8
+GCCVERSION_029500= 400012 500035 2.95
+GCCVERSION_030200= 500039 501103 3.2
+GCCVERSION_030301= 501103 502126 3.3
+GCCVERSION_030402= 502126 999999 3.4
+GCCVERSION_040000= 999999 999999 4.0
+GCCVERSION_040100= 999999 999999 4.1
+GCCVERSION_040200= 999999 999999 4.2
+
+#
+# No configurable parts below this.
+#
+
+#
+# See if we can use a later version
+#
+_USE_GCC:= ${USE_GCC:S/+//}
+.if ${USE_GCC} != ${_USE_GCC}
+_GCC_ORLATER:= true
+.endif
+
+#
+# Extract the fields from GCCVERSION_ and check if USE_GCC points to a valid
+# version.
+#
+.for v in ${GCCVERSIONS}
+. for j in ${GCCVERSION_${v}}
+. if !defined(_GCCVERSION_${v}_L)
+_GCCVERSION_${v}_L= ${j}
+. elif !defined(_GCCVERSION_${v}_R)
+_GCCVERSION_${v}_R= ${j}
+. elif !defined(_GCCVERSION_${v}_V)
+_GCCVERSION_${v}_V= ${j}
+. if ${_USE_GCC}==${j}
+_GCCVERSION_OKAY= true;
+. endif
+. endif
+. endfor
+.endfor
+
+.if !defined(_GCCVERSION_OKAY)
+IGNORE= Unknown version of GCC specified (USE_GCC=${USE_GCC})
+.endif
+
+#
+# Determine current GCCVERSION
+#
+.for v in ${GCCVERSIONS}
+. if exists(${LOCALBASE}/bin/gcc${_GCCVERSION_${v}_V:S/.//})
+_GCC_FOUND${v}= port
+. endif
+. if ${OSVERSION} >= ${_GCCVERSION_${v}_L} && ${OSVERSION} < ${_GCCVERSION_${v}_R}
+_GCCVERSION:= ${v}
+_GCC_FOUND${v}:= base
+. endif
+.endfor
+.if !defined(_GCCVERSION)
+IGNORE= Couldn't find your current GCCVERSION (OSVERSION=${OSVERSION})
+.endif
+
+#
+# If the GCC package defined in USE_GCC does not exist, but a later
+# version is allowed (for example 3.4+), see if there is a later.
+# First check if the base installed version is good enough, otherwise
+# get the first available version.
+#
+.if defined(_GCC_ORLATER)
+. for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+_GCC_MIN1:= true
+. endif
+. if defined(_GCC_MIN1) && defined(_GCC_FOUND${v}) && ${_GCC_FOUND${v}}=="base" && !defined(_GCC_FOUND)
+_GCC_FOUND:= ${_GCCVERSION_${v}_V}
+. endif
+. endfor
+. for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+_GCC_MIN2:= true
+. endif
+. if defined(_GCC_MIN2) && defined(_GCC_FOUND${v}) && !defined(_GCC_FOUND)
+_GCC_FOUND:= ${_GCCVERSION_${v}_V}
+. endif
+. endfor
+.endif
+.if defined(_GCC_FOUND)
+_USE_GCC:=${_GCC_FOUND}
+.endif
+
+#
+# Determine if the installed OS already has this GCCVERSION, and if not
+# then set BUILD_DEPENDS, CC, CXX and F77
+#
+.for v in ${GCCVERSIONS}
+. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
+. if ${OSVERSION} < ${_GCCVERSION_${v}_L} || ${OSVERSION} > ${_GCCVERSION_${v}_R}
+V:= ${_GCCVERSION_${v}_V:S/.//}
+CC:= gcc${V}
+CXX:= g++${V}
+F77:= g77-${V}
+_GCC_BUILD_DEPENDS:= ${CC}
+. endif
+. endif
+.endfor
+.undef V
+
+.if defined(_GCC_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${_GCC_BUILD_DEPENDS}:${PORTSDIR}/lang/${_GCC_BUILD_DEPENDS}
+.endif
+
+MAKE_ENV+= CC="${CC}" CXX="${CXX}"
+
+test-gcc:
+ @echo USE_GCC=${USE_GCC}
+.if defined(_GCC_ORLATER)
+ @echo Port can use later versions.
+.else
+ @echo Port cannot use later versions.
+.endif
+.for v in ${GCCVERSIONS}
+ @echo -n "GCC version: ${_GCCVERSION_${v}_V} "
+.if defined(_GCC_FOUND${v})
+ @echo -n "(${_GCC_FOUND${v}}) "
+.endif
+ @echo "- OSVERSION from ${_GCCVERSION_${v}_L} to ${_GCCVERSION_${v}_R}"
+# @echo ${v} - ${_GCC_FOUND${v}} - ${_GCCVERSION_${v}_L} to ${_GCCVERSION_${v}_R} - ${_GCCVERSION_${v}_V}
+.endfor
+ @echo Using GCC vesion ${_USE_GCC}
+ @echo CC:${CC} - CXX:${CXX} - F77:${F77} - BUILD_DEPENDS:${BUILD_DEPENDS}
diff --git a/ports-mgmt/portmk/Mk/bsd.gnome.mk b/ports-mgmt/portmk/Mk/bsd.gnome.mk
new file mode 100644
index 000000000000..107656e57e9d
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.gnome.mk
@@ -0,0 +1,776 @@
+#-*- mode: Fundamental; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD$
+# $NetBSD: $
+# $MCom: ports/Mk/bsd.gnome.mk,v 1.370 2006/04/27 01:40:22 ahze Exp $
+#
+# Please view me with 4 column tabs!
+
+.if !defined(_POSTMKINCLUDED) && !defined(Gnome_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 ;).
+Gnome_Include_MAINTAINER= gnome@FreeBSD.org
+Gnome_Pre_Include= bsd.gnome.mk
+
+# This section defines possible names of GNOME components and all information
+# necessary for ports to use those components.
+
+# Ports can use this as follows:
+#
+# USE_GNOME= gnomeprint bonobo
+#
+# .include <bsd.port.mk>
+#
+# As a result proper LIB_DEPENDS/RUN_DEPENDS will be added and CONFIGURE_ENV
+# and MAKE_ENV defined.
+#
+#
+# GCONF_SCHEMAS - Set the following to list of all schema files
+# that your port installs. These schema files and
+# %gconf.xml files will be automatically added to
+# ${PLIST}. For example, if your port has
+# "etc/gconf/schemas/(foo.schemas and bar.schemas)",
+# add the following to your Makefile:
+# "GCONF_SCHEMAS=foo.schemas bar.schemas".
+#
+# INSTALLS_OMF - If set, bsd.gnome.mk will automatically scan pkg-plist
+# file and add apropriate @exec/@unexec directives for
+# each .omf file found to track OMF registration database.
+#
+# INSTALLS_ICONS - If your port installs Freedesktop-style icons to
+# ${LOCALBASE}/share/icons or ${X11BASE}/share/icons, then
+# you should use this macro. If the icons are not cached,
+# they will not be displayed.
+#
+
+# non-version specific components
+_USE_GNOME_ALL= esound intlhack intltool lthack ltverhack gnomehack \
+ referencehack gnomehier gnomemimedata gnomeprefix gnometarget pkgconfig
+
+# GNOME 1 components
+_USE_GNOME_ALL+= bonobo gal gconf gdkpixbuf glib12 glibwww \
+ gnomecanvas gnomedb gnomelibs gnomeprint gnomevfs gtk12 \
+ gtkhtml libcapplet libgda libghttp libglade libxml imlib \
+ oaf orbit pygnome pygtk
+
+# GNOME 2 components
+_USE_GNOME_ALL+= atk atspi desktopfileutils eel2 evolutiondataserver \
+ gail gal2 gconf2 glib20 gnomecontrolcenter2 gnomedesktop \
+ gnomedocutils gnomemenus gnomepanel gnomespeech gnomevfs2 \
+ gtk20 gtkhtml3 gtksourceview libartlgpl2 libbonobo \
+ libbonoboui libgailgnome libgda2 libgda3 libglade2 libgnome \
+ libgnomecanvas libgnomedb libgnomeprint libgnomeprintui \
+ libgnomeui libgsf libgsf_gnome libgtkhtml libidl librsvg2 libwnck \
+ libxml2 libxslt libzvt linc metacity nautilus2 nautiluscdburner \
+ orbit2 pango pygnome2 pygnomeextras pygtk2 vte pygnomedesktop
+
+SCROLLKEEPER_DIR= /var/db/scrollkeeper
+gnomehack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in*" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|[(]GNOME_datadir[)]/gnome/|(datadir)/|g ; \
+ s|[(]GNOME_datadir[)]/locale|(prefix)/share/locale|g ; \
+ s|[(]datadir[)]/locale|(prefix)/share/locale|g ; \
+ s|[(]libdir[)]/locale|(prefix)/share/locale|g ; \
+ s|[(]gnomedatadir[)]/gnome|(gnomedatadir)|g ; \
+ s|[(]datadir[)]/aclocal|(prefix)/share/aclocal|g ; \
+ s|[(]datadir[)]/gnome/|(datadir)/|g ; \
+ s|[(]datadir[)]/mime/|(prefix)/share/mime/|g ; \
+ s|[(]datadir[)]/mime"|(prefix)/share/mime"|g ; \
+ s|[(]datadir[)]/mime;|(prefix)/share/mime;|g ; \
+ s|[(]datadir[)]/mime$$|(prefix)/share/mime|g ; \
+ s|[(]datadir[)]/dbus-1|(prefix)/share/dbus-1|g ; \
+ s|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+ s|[$$][(]localstatedir[)]/scrollkeeper|${SCROLLKEEPER_DIR}|g ; \
+ s|[(]datadir[)]/icons/hicolor|(prefix)/share/icons/hicolor|g ; \
+ s|{datadir}/icons/hicolor|{prefix}/share/icons/hicolor|g ; \
+ s|[(]libdir[)]/bonobo/servers|(prefix)/libdata/bonobo/servers|g' ; \
+ ${FIND} ${WRKSRC} -name "configure" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|-lpthread|${PTHREAD_LIBS}|g ; \
+ s|DATADIRNAME=lib|DATADIRNAME=share|g ; \
+ s|{datadir}/locale|{prefix}/share/locale|g ; \
+ s|DATADIR/dbus-1/services|prefix/share/dbus-1/services|g ; \
+ s|datadir/dbus-1/services|prefix/share/dbus-1/services|g ; \
+ s|{libdir}/locale|{prefix}/share/locale|g'
+
+referencehack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ "s|test \"\$$\$$installfiles\" = '\$$(srcdir)/html/\*'|:|"
+
+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;|'
+
+GNOME_MTREE_FILE?= ${X11BASE}/etc/mtree/BSD.gnome-x11.dist
+gnomehier_DETECT= ${GNOME_MTREE_FILE}
+gnomehier_RUN_DEPENDS= ${gnomehier_DETECT}:${PORTSDIR}/misc/gnomehier
+
+GNOME_HTML_DIR?= ${PREFIX}/share/doc
+GCONF_CONFIG_OPTIONS?= merged
+GCONF_CONFIG_DIRECTORY?=etc/gconf/gconf.xml.defaults
+GCONF_CONFIG_SOURCE?=xml:${GCONF_CONFIG_OPTIONS}:${PREFIX}/${GCONF_CONFIG_DIRECTORY}
+GNOME_LOCALSTATEDIR?= ${PREFIX}/share/gnome
+gnomeprefix_CONFIGURE_ENV=GTKDOC="false"
+gnomeprefix_CONFIGURE_ARGS=--localstatedir=${GNOME_LOCALSTATEDIR} \
+ --datadir=${PREFIX}/share/gnome \
+ --with-html-dir=${GNOME_HTML_DIR} \
+ --with-help-dir=${PREFIX}/share/gnome/help \
+ --disable-gtk-doc \
+ --with-gconf-source=${GCONF_CONFIG_SOURCE}
+gnomeprefix_USE_GNOME_IMPL=gnomehier
+
+gnometarget_CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+
+ESD_CONFIG?= ${LOCALBASE}/bin/esd-config
+esound_LIB_DEPENDS= esd.2:${PORTSDIR}/audio/esound
+esound_CONFIGURE_ENV= ESD_CONFIG="${ESD_CONFIG}"
+esound_MAKE_ENV= ESD_CONFIG="${ESD_CONFIG}"
+esound_DETECT= ${ESD_CONFIG}
+
+libghttp_LIB_DEPENDS= ghttp.1:${PORTSDIR}/www/libghttp
+libghttp_DETECT= ${LOCALBASE}/etc/ghttpConf.sh
+
+GLIB_CONFIG?= ${LOCALBASE}/bin/glib12-config
+glib12_LIB_DEPENDS= glib-12.3:${PORTSDIR}/devel/glib12
+glib12_CONFIGURE_ENV= GLIB_CONFIG="${GLIB_CONFIG}"
+glib12_MAKE_ENV= GLIB_CONFIG="${GLIB_CONFIG}"
+glib12_DETECT= ${GLIB_CONFIG}
+glib12_USE_GNOME_IMPL= pkgconfig
+
+GTK_CONFIG?= ${X11BASE}/bin/gtk12-config
+gtk12_LIB_DEPENDS= gtk-12.2:${PORTSDIR}/x11-toolkits/gtk12
+gtk12_CONFIGURE_ENV= GTK_CONFIG="${GTK_CONFIG}"
+gtk12_MAKE_ENV= GTK_CONFIG="${GTK_CONFIG}"
+gtk12_DETECT= ${GTK_CONFIG}
+gtk12_USE_GNOME_IMPL= glib12
+
+XML_CONFIG?= ${LOCALBASE}/bin/xml-config
+libxml_LIB_DEPENDS= xml.5:${PORTSDIR}/textproc/libxml
+libxml_CONFIGURE_ENV= XML_CONFIG="${XML_CONFIG}"
+libxml_MAKE_ENV= XML_CONFIG="${XML_CONFIG}"
+libxml_DETECT= ${XML_CONFIG}
+libxml_USE_GNOME_IMPL= glib12
+
+ORBIT_CONFIG?= ${LOCALBASE}/bin/orbit-config
+orbit_LIB_DEPENDS= ORBit.2:${PORTSDIR}/devel/ORBit
+orbit_CONFIGURE_ENV= ORBIT_CONFIG="${ORBIT_CONFIG}"
+orbit_MAKE_ENV= ORBIT_CONFIG="${ORBIT_CONFIG}"
+orbit_DETECT= ${ORBIT_CONFIG}
+orbit_USE_GNOME_IMPL= glib12
+
+GDK_PIXBUF_CONFIG?= ${X11BASE}/bin/gdk-pixbuf-config
+gdkpixbuf_LIB_DEPENDS= gdk_pixbuf.2:${PORTSDIR}/graphics/gdk-pixbuf
+gdkpixbuf_CONFIGURE_ENV=GDK_PIXBUF_CONFIG="${GDK_PIXBUF_CONFIG}"
+gdkpixbuf_MAKE_ENV= GDK_PIXBUF_CONFIG="${GDK_PIXBUF_CONFIG}"
+gdkpixbuf_DETECT= ${GDK_PIXBUF_CONFIG}
+gdkpixbuf_USE_GNOME_IMPL=gtk12
+
+IMLIB_CONFIG?= ${X11BASE}/bin/imlib-config
+imlib_LIB_DEPENDS= Imlib.5:${PORTSDIR}/graphics/imlib
+imlib_CONFIGURE_ENV= IMLIB_CONFIG="${IMLIB_CONFIG}"
+imlib_MAKE_ENV= IMLIB_CONFIG="${IMLIB_CONFIG}"
+imlib_DETECT= ${IMLIB_CONFIG}
+imlib_USE_GNOME_IMPL= gtk12
+
+GNOME_CONFIG?= ${X11BASE}/bin/gnome-config
+gnomelibs_LIB_DEPENDS= gnome.5:${PORTSDIR}/x11/gnome-libs
+gnomelibs_CONFIGURE_ENV=GNOME_CONFIG="${GNOME_CONFIG}"
+gnomelibs_MAKE_ENV= GNOME_CONFIG="${GNOME_CONFIG}"
+gnomelibs_DETECT= ${GNOME_CONFIG}
+gnomelibs_USE_GNOME_IMPL=esound gtk12 imlib libxml orbit
+
+gnomecanvas_LIB_DEPENDS=gnomecanvaspixbuf.1:${PORTSDIR}/graphics/gnomecanvas
+gnomecanvas_DETECT= ${X11BASE}/etc/gnomecanvaspixbufConf.sh
+gnomecanvas_USE_GNOME_IMPL=gnomelibs gdkpixbuf
+
+OAF_CONFIG?= ${X11BASE}/bin/oaf-config
+oaf_LIB_DEPENDS= oaf.0:${PORTSDIR}/devel/oaf
+oaf_CONFIGURE_ENV= OAF_CONFIG="${OAF_CONFIG}"
+oaf_MAKE_ENV= OAF_CONFIG="${OAF_CONFIG}"
+oaf_DETECT= ${OAF_CONFIG}
+oaf_USE_GNOME_IMPL= glib12 orbit libxml
+
+gnomemimedata_DETECT= ${X11BASE}/libdata/pkgconfig/gnome-mime-data-2.0.pc
+gnomemimedata_BUILD_DEPENDS=${gnomemimedata_DETECT}:${PORTSDIR}/misc/gnome-mime-data
+gnomemimedata_RUN_DEPENDS=${gnomemimedata_DETECT}:${PORTSDIR}/misc/gnome-mime-data
+gnomemimedata_USE_GNOME_IMPL=gnomehier pkgconfig
+
+GCONF_CONFIG?= ${X11BASE}/bin/gconf-config
+gconf_LIB_DEPENDS= gconf-1.1:${PORTSDIR}/devel/gconf
+gconf_CONFIGURE_ENV= GCONF_CONFIG="${GCONF_CONFIG}"
+gconf_MAKE_ENV= GCONF_CONFIG="${GCONF_CONFIG}"
+gconf_DETECT= ${GCONF_CONFIG}
+gconf_USE_GNOME_IMPL= oaf
+
+GNOME_VFS_CONFIG?= ${X11BASE}/bin/gnome-vfs-config
+gnomevfs_LIB_DEPENDS= gnomevfs.0:${PORTSDIR}/devel/gnome-vfs1
+gnomevfs_CONFIGURE_ENV= GNOME_VFS_CONFIG="${GNOME_VFS_CONFIG}"
+gnomevfs_MAKE_ENV= GNOME_VFS_CONFIG="${GNOME_VFS_CONFIG}"
+gnomevfs_DETECT= ${GNOME_VFS_CONFIG}
+gnomevfs_USE_GNOME_IMPL=gnomemimedata gconf gnomelibs
+
+libcapplet_LIB_DEPENDS= capplet.5:${PORTSDIR}/x11/libcapplet
+libcapplet_DETECT= ${X11BASE}/etc/cappletConf.sh
+libcapplet_USE_GNOME_IMPL=gnomelibs
+
+gnomeprint_LIB_DEPENDS= gnomeprint.16:${PORTSDIR}/print/gnome-print
+gnomeprint_DETECT= ${X11BASE}/etc/printConf.sh
+gnomeprint_USE_GNOME_IMPL=gnomelibs gnomecanvas
+
+bonobo_LIB_DEPENDS= bonobo.2:${PORTSDIR}/devel/bonobo
+bonobo_DETECT= ${X11BASE}/etc/bonoboConf.sh
+bonobo_USE_GNOME_IMPL= oaf gnomeprint
+
+GDA_CONFIG?= ${X11BASE}/bin/gda-config
+libgda_LIB_DEPENDS= gda-client.0:${PORTSDIR}/databases/libgda
+libgda_CONFIGURE_ENV= GDA_CONFIG="${GDA_CONFIG}"
+libgda_MAKE_ENV= GDA_CONFIG="${GDA_CONFIG}"
+libgda_DETECT= ${GDA_CONFIG}
+libgda_USE_GNOME_IMPL= gconf bonobo
+
+GNOMEDB_CONFIG?= ${X11BASE}/bin/gnomedb-config
+gnomedb_LIB_DEPENDS= gnomedb.0:${PORTSDIR}/databases/gnome-db
+gnomedb_CONFIGURE_ENV= GNOMEDB_CONFIG="${GNOMEDB_CONFIG}"
+gnomedb_MAKE_ENV= GNOMEDB_CONFIG="${GNOMEDB_CONFIG}"
+gnomedb_DETECT= ${GNOMEDB_CONFIG}
+gnomedb_USE_GNOME_IMPL= libgda
+
+LIBGLADE_CONFIG?= ${X11BASE}/bin/libglade-config
+libglade_LIB_DEPENDS= glade.4:${PORTSDIR}/devel/libglade
+libglade_CONFIGURE_ENV= LIBGLADE_CONFIG="${LIBGLADE_CONFIG}"
+libglade_MAKE_ENV= LIBGLADE_CONFIG="${LIBGLADE_CONFIG}"
+libglade_DETECT= ${LIBGLADE_CONFIG}
+libglade_USE_GNOME_IMPL=gnomedb
+
+gal_LIB_DEPENDS= gal.23:${PORTSDIR}/x11-toolkits/gal
+gal_DETECT= ${X11BASE}/etc/galConf.sh
+gal_USE_GNOME_IMPL= libglade
+
+glibwww_LIB_DEPENDS= glibwww.1:${PORTSDIR}/www/glibwww
+glibwww_DETECT= ${X11BASE}/etc/glibwwwConf.sh
+glibwww_USE_GNOME_IMPL= gnomelibs
+
+gtkhtml_LIB_DEPENDS= gtkhtml-1.1.3:${PORTSDIR}/www/gtkhtml
+gtkhtml_DETECT= ${X11BASE}/etc/gtkhtmlConf.sh
+gtkhtml_USE_GNOME_IMPL= glibwww gal libghttp libcapplet
+
+pygtk_DETECT= ${LOCALBASE}/bin/pygtk-codegen-1.2
+pygtk_BUILD_DEPENDS= ${pygtk_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk
+pygtk_RUN_DEPENDS= ${pygtk_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk
+pygtk_USE_GNOME_IMPL= gnomelibs gdkpixbuf libglade
+
+pygnome_DETECT= ${LOCALBASE}/share/pygtk/1.2/defs/applet.defs
+pygnome_BUILD_DEPENDS= ${pygnome_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome
+pygnome_RUN_DEPENDS= ${pygnome_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome
+pygnome_USE_GNOME_IMPL= gtkhtml pygtk
+
+glib20_LIB_DEPENDS= glib-2.0.0:${PORTSDIR}/devel/glib20
+glib20_DETECT= ${LOCALBASE}/libdata/pkgconfig/glib-2.0.pc
+glib20_USE_GNOME_IMPL=gnometarget pkgconfig
+
+atk_LIB_DEPENDS= atk-1.0.0:${PORTSDIR}/accessibility/atk
+atk_DETECT= ${LOCALBASE}/libdata/pkgconfig/atk.pc
+atk_USE_GNOME_IMPL= glib20
+
+pango_LIB_DEPENDS= pango-1.0.0:${PORTSDIR}/x11-toolkits/pango
+pango_DETECT= ${X11BASE}/libdata/pkgconfig/pango.pc
+pango_USE_GNOME_IMPL= glib20
+
+gtk20_LIB_DEPENDS= gtk-x11-2.0.0:${PORTSDIR}/x11-toolkits/gtk20
+gtk20_DETECT= ${X11BASE}/libdata/pkgconfig/gtk+-x11-2.0.pc
+gtk20_USE_GNOME_IMPL= intltool atk pango
+GTK2_VERSION= 2.4.0
+
+linc_LIB_DEPENDS= linc.1:${PORTSDIR}/net/linc
+linc_DETECT= ${LOCALBASE}/libdata/pkgconfig/linc.pc
+linc_USE_GNOME_IMPL=glib20
+
+libidl_LIB_DEPENDS= IDL-2.0:${PORTSDIR}/devel/libIDL
+libidl_DETECT= ${LOCALBASE}/libdata/pkgconfig/libIDL-2.0.pc
+libidl_USE_GNOME_IMPL= glib20
+
+orbit2_LIB_DEPENDS= ORBit-2.0:${PORTSDIR}/devel/ORBit2
+orbit2_DETECT= ${LOCALBASE}/libdata/pkgconfig/ORBit-2.0.pc
+orbit2_USE_GNOME_IMPL= libidl
+
+libglade2_LIB_DEPENDS= glade-2.0.0:${PORTSDIR}/devel/libglade2
+libglade2_DETECT= ${X11BASE}/libdata/pkgconfig/libglade-2.0.pc
+libglade2_USE_GNOME_IMPL=libxml2 gtk20
+
+libxml2_LIB_DEPENDS= xml2.5:${PORTSDIR}/textproc/libxml2
+libxml2_DETECT= ${LOCALBASE}/libdata/pkgconfig/libxml-2.0.pc
+libxml2_USE_GNOME_IMPL= pkgconfig
+
+libxslt_LIB_DEPENDS= xslt.2:${PORTSDIR}/textproc/libxslt
+libxslt_DETECT= ${LOCALBASE}/libdata/pkgconfig/libxslt.pc
+libxslt_USE_GNOME_IMPL= libxml2
+
+libbonobo_LIB_DEPENDS= bonobo-2.0:${PORTSDIR}/devel/libbonobo
+libbonobo_DETECT= ${LOCALBASE}/libdata/pkgconfig/libbonobo-2.0.pc
+libbonobo_USE_GNOME_IMPL=libxml2 orbit2
+
+gconf2_LIB_DEPENDS= gconf-2.4:${PORTSDIR}/devel/gconf2
+gconf2_DETECT= ${X11BASE}/libdata/pkgconfig/gconf-2.0.pc
+gconf2_USE_GNOME_IMPL= orbit2 libxml2 gtk20 linc
+
+gnomevfs2_LIB_DEPENDS= gnomevfs-2.0:${PORTSDIR}/devel/gnome-vfs
+gnomevfs2_DETECT= ${X11BASE}/libdata/pkgconfig/gnome-vfs-2.0.pc
+gnomevfs2_USE_GNOME_IMPL=gconf2 libbonobo gnomemimedata
+
+gail_LIB_DEPENDS= gailutil.17:${PORTSDIR}/accessibility/gail
+gail_DETECT= ${X11BASE}/libdata/pkgconfig/gail.pc
+gail_USE_GNOME_IMPL= libgnomecanvas
+
+libgnomecanvas_LIB_DEPENDS= gnomecanvas-2.0:${PORTSDIR}/graphics/libgnomecanvas
+libgnomecanvas_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomecanvas-2.0.pc
+libgnomecanvas_USE_GNOME_IMPL= libglade2 libartlgpl2
+
+libartlgpl2_LIB_DEPENDS= art_lgpl_2.5:${PORTSDIR}/graphics/libart_lgpl
+libartlgpl2_DETECT= ${LOCALBASE}/libdata/pkgconfig/libart-2.0.pc
+libartlgpl2_USE_GNOME_IMPL= pkgconfig
+
+libgnomeprint_LIB_DEPENDS= gnomeprint-2-2.0:${PORTSDIR}/print/libgnomeprint
+libgnomeprint_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomeprint-2.2.pc
+libgnomeprint_USE_GNOME_IMPL= libbonobo libartlgpl2 gtk20
+
+libgnomeprintui_LIB_DEPENDS= gnomeprintui-2-2.0:${PORTSDIR}/x11-toolkits/libgnomeprintui
+libgnomeprintui_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomeprintui-2.2.pc
+libgnomeprintui_USE_GNOME_IMPL= libgnomeprint libgnomecanvas
+
+libgnome_LIB_DEPENDS= gnome-2.0:${PORTSDIR}/x11/libgnome
+libgnome_DETECT= ${X11BASE}/libdata/pkgconfig/libgnome-2.0.pc
+libgnome_USE_GNOME_IMPL=libxslt gnomevfs2 esound
+
+libbonoboui_LIB_DEPENDS= bonoboui-2.0:${PORTSDIR}/x11-toolkits/libbonoboui
+libbonoboui_DETECT= ${X11BASE}/libdata/pkgconfig/libbonoboui-2.0.pc
+libbonoboui_USE_GNOME_IMPL= libgnomecanvas libgnome
+
+libgnomeui_LIB_DEPENDS= gnomeui-2.0:${PORTSDIR}/x11-toolkits/libgnomeui
+libgnomeui_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomeui-2.0.pc
+libgnomeui_USE_GNOME_IMPL= libbonoboui
+
+atspi_LIB_DEPENDS= spi.10:${PORTSDIR}/accessibility/at-spi
+atspi_DETECT= ${X11BASE}/libdata/pkgconfig/cspi-1.0.pc
+atspi_USE_GNOME_IMPL= gail libbonobo
+
+libgailgnome_DETECT= ${X11BASE}/libdata/pkgconfig/libgail-gnome.pc
+libgailgnome_RUN_DEPENDS= ${libgailgnome_DETECT}:${PORTSDIR}/x11-toolkits/libgail-gnome
+libgailgnome_USE_GNOME_IMPL= libgnomeui atspi
+
+libgtkhtml_LIB_DEPENDS= gtkhtml-2.0:${PORTSDIR}/www/libgtkhtml
+libgtkhtml_DETECT= ${X11BASE}/libdata/pkgconfig/libgtkhtml-2.0.pc
+libgtkhtml_USE_GNOME_IMPL=libxslt gnomevfs2 gail
+
+gnomedesktop_LIB_DEPENDS= gnome-desktop-2.2:${PORTSDIR}/x11/gnome-desktop
+gnomedesktop_DETECT= ${X11BASE}/libdata/pkgconfig/gnome-desktop-2.0.pc
+gnomedesktop_USE_GNOME_IMPL= libgnomeui gnomedocutils
+gnomedesktop_GNOME_DESKTOP_VERSION=2
+
+libwnck_LIB_DEPENDS= wnck-1.18:${PORTSDIR}/x11-toolkits/libwnck
+libwnck_DETECT= ${X11BASE}/libdata/pkgconfig/libwnck-1.0.pc
+libwnck_USE_GNOME_IMPL= gtk20
+
+vte_LIB_DEPENDS= vte.4:${PORTSDIR}/x11-toolkits/vte
+vte_DETECT= ${X11BASE}/libdata/pkgconfig/vte.pc
+vte_USE_GNOME_IMPL= gtk20
+
+libzvt_LIB_DEPENDS= zvt-2.0.0:${PORTSDIR}/x11-toolkits/libzvt
+libzvt_DETECT= ${X11BASE}/libdata/pkgconfig/libzvt-2.0.pc
+libzvt_USE_GNOME_IMPL= gtk20
+
+librsvg2_LIB_DEPENDS= rsvg-2.2:${PORTSDIR}/graphics/librsvg2
+librsvg2_DETECT= ${X11BASE}/libdata/pkgconfig/librsvg-2.0.pc
+librsvg2_USE_GNOME_IMPL=libgsf gtk20
+
+eel2_LIB_DEPENDS= eel-2.2:${PORTSDIR}/x11-toolkits/eel
+eel2_DETECT= ${X11BASE}/libdata/pkgconfig/eel-2.0.pc
+eel2_USE_GNOME_IMPL= gnomemenus gnomedesktop gail
+
+gnomepanel_LIB_DEPENDS= panel-applet-2.0:${PORTSDIR}/x11/gnome-panel
+gnomepanel_DETECT= ${X11BASE}/libdata/pkgconfig/libpanelapplet-2.0.pc
+gnomepanel_USE_GNOME_IMPL=gnomedesktop libwnck gnomemenus gnomedocutils
+gnomepanel_GNOME_DESKTOP_VERSION=2
+
+nautilus2_LIB_DEPENDS= nautilus-extension.1:${PORTSDIR}/x11-fm/nautilus
+nautilus2_DETECT= ${X11BASE}/libdata/pkgconfig/libnautilus-extension.pc
+nautilus2_USE_GNOME_IMPL=librsvg2 eel2 gnomedesktop desktopfileutils
+nautilus2_GNOME_DESKTOP_VERSION=2
+
+metacity_LIB_DEPENDS= metacity-private.0:${PORTSDIR}/x11-wm/metacity
+metacity_DETECT= ${X11BASE}/libdata/pkgconfig/libmetacity-private.pc
+metacity_USE_GNOME_IMPL=gconf2
+
+gal2_LIB_DEPENDS= gal-2.4.0:${PORTSDIR}/x11-toolkits/gal2
+gal2_DETECT= ${X11BASE}/libdata/pkgconfig/gal-2.4.pc
+gal2_USE_GNOME_IMPL=gnomeui libgnomeprintui
+
+gnomecontrolcenter2_LIB_DEPENDS=gnome-window-settings.1:${PORTSDIR}/sysutils/gnome-control-center
+gnomecontrolcenter2_DETECT=${X11BASE}/libdata/pkgconfig/gnome-window-settings-2.0.pc
+gnomecontrolcenter2_USE_GNOME_IMPL=desktopfileutils gnomedesktop gnomemenus metacity nautilus2 desktopfileutils
+
+libgda2_LIB_DEPENDS= gda-2.3:${PORTSDIR}/databases/libgda2
+libgda2_DETECT= ${X11BASE}/libdata/pkgconfig/libgda.pc
+libgda2_USE_GNOME_IMPL= glib20 libxslt
+
+libgda3_LIB_DEPENDS= gda-3.3:${PORTSDIR}/databases/libgda3
+libgda3_DETECT= ${X11BASE}/libdata/pkgconfig/libgda-2.0.pc
+libgda3_USE_GNOME_IMPL= glib20 libxslt
+
+libgnomedb_LIB_DEPENDS= gnomedb-3.4:${PORTSDIR}/databases/libgnomedb
+libgnomedb_DETECT= ${X11BASE}/libdata/pkgconfig/libgnomedb.pc
+libgnomedb_USE_GNOME_IMPL=libgnomeui libgda3
+
+gtksourceview_LIB_DEPENDS= gtksourceview-1.0.0:${PORTSDIR}/x11-toolkits/gtksourceview
+gtksourceview_DETECT= ${X11BASE}/libdata/pkgconfig/gtksourceview-1.0.pc
+gtksourceview_USE_GNOME_IMPL=libgnome libgnomeprintui
+
+pkgconfig_DETECT= ${LOCALBASE}/bin/pkg-config
+pkgconfig_BUILD_DEPENDS= pkg-config:${PORTSDIR}/devel/pkg-config
+pkgconfig_RUN_DEPENDS= pkg-config:${PORTSDIR}/devel/pkg-config
+
+libgsf_LIB_DEPENDS= gsf-1.114:${PORTSDIR}/devel/libgsf
+libgsf_DETECT= ${X11BASE}/libdata/pkgconfig/libgsf-1.pc
+libgsf_USE_GNOME_IMPL= gconf2 glib20 libxml2
+
+libgsf_gnome_LIB_DEPENDS= gsf-gnome-1.114:${PORTSDIR}/devel/libgsf-gnome
+libgsf_gnome_DETECT= ${X11BASE}/libdata/pkgconfig/libgsf-gnome-1.pc
+libgsf_gnome_USE_GNOME_IMPL= libgsf gnomevfs2
+
+pygtk2_DETECT= ${LOCALBASE}/libdata/pkgconfig/pygtk-2.0.pc
+pygtk2_BUILD_DEPENDS= ${pygtk2_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk2
+pygtk2_RUN_DEPENDS= ${pygtk2_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk2
+pygtk2_USE_GNOME_IMPL= libglade2
+
+pygnome2_DETECT= ${LOCALBASE}/libdata/pkgconfig/gnome-python-2.0.pc
+pygnome2_BUILD_DEPENDS= ${pygnome2_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome2
+pygnome2_RUN_DEPENDS= ${pygnome2_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome2
+pygnome2_USE_GNOME_IMPL=libgnomeui pygtk2
+
+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*'"'"'|'
+intlhack_USE_GNOME_IMPL=intltool
+
+gtkhtml3_LIB_DEPENDS= gtkhtml-3.8.15:${PORTSDIR}/www/gtkhtml3
+gtkhtml3_DETECT= ${X11BASE}/libdata/pkgconfig/libgtkhtml-3.8.pc
+gtkhtml3_USE_GNOME_IMPL=gail libgnomeui libgnomeprintui
+
+gnomespeech_LIB_DEPENDS=gnomespeech.7:${PORTSDIR}/accessibility/gnome-speech
+gnomespeech_DETECT= ${LOCALBASE}/libdata/pkgconfig/gnome-speech-1.0.pc
+gnomespeech_USE_GNOME_IMPL=libbonobo
+
+evolutiondataserver_LIB_DEPENDS=edataserver-1.2.7:${PORTSDIR}/databases/evolution-data-server
+evolutiondataserver_DETECT= ${X11BASE}/libdata/pkgconfig/evolution-data-server-1.2.pc
+evolutiondataserver_USE_GNOME_IMPL=libgnomeui
+
+desktopfileutils_RUN_DEPENDS=update-desktop-database:${PORTSDIR}/devel/desktop-file-utils
+desktopfileutils_DETECT= ${LOCALBASE}/bin/update-desktop-database
+desktopfileutils_USE_GNOME_IMPL=glib20
+
+nautiluscdburner_LIB_DEPENDS=nautilus-burn.3:${PORTSDIR}/sysutils/nautilus-cd-burner
+nautiluscdburner_DETECT= ${X11BASE}/libdata/pkgconfig/libnautilus-burn.pc
+nautiluscdburner_USE_GNOME_IMPL=nautilus2
+
+gnomemenus_LIB_DEPENDS= gnome-menu.2:${PORTSDIR}/x11/gnome-menus
+gnomemenus_DETECT= ${X11BASE}/libdata/pkgconfig/libgnome-menu.pc
+gnomemenus_USE_GNOME_IMPL= gnomevfs2
+
+pygnomeextras_DETECT= ${LOCALBASE}/libdata/pkgconfig/gnome-python-extras-2.0.pc
+pygnomeextras_BUILD_DEPENDS= ${pygnomeextras_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-extras
+pygnomeextras_RUN_DEPENDS= ${pygnomeextras_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-extras
+pygnomeextras_USE_GNOME_IMPL=pygnome2 libgtkhtml
+
+gnomedocutils_DETECT= ${X11BASE}/libdata/pkgconfig/gnome-doc-utils.pc
+gnomedocutils_BUILD_DEPENDS=${gnomedocutils_DETECT}:${PORTSDIR}/textproc/gnome-doc-utils
+gnomedocutils_RUN_DEPENDS=${gnomedocutils_DETECT}:${PORTSDIR}/textproc/gnome-doc-utils
+gnomedocutils_USE_GNOME_IMPL=libxslt
+
+pygnomedesktop_DETECT= ${LOCALBASE}/libdata/pkgconfig/gnome-python-desktop-2.0.pc
+pygnomedesktop_BUILD_DEPENDS= ${pygnomedesktop_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-desktop
+pygnomedesktop_RUN_DEPENDS= ${pygnomedesktop_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-desktop
+pygnomedesktop_USE_GNOME_IMPL=pygnome2 libgnomeprintui gtksourceview gnomepanel libwnck nautiluscdburner metacity
+
+# End component definition section
+
+# This section defines tests for optional software. These work off four
+# types of variables: WANT_GNOME, WITH_GNOME, HAVE_GNOME and USE_GNOME.
+# The logic of this is that a port can WANT support for a package; a user
+# specifies if they want ports compiled WITH certain features; this section
+# tests if we HAVE these features; and the port is then free to USE them.
+
+# The logic of this section is like this:
+#
+# .if defined(WANT_GNOME) && !defined(WITHOUT_GNOME)
+# .for foo in ALL_GNOME_COMPONENTS
+# .if defined(WITH_GNOME)
+# HAVE_GNOME += foo
+# .elif (foo installed)
+# HAVE_GNOME += foo
+# .else
+# Print option message
+# .endif
+# .endfor
+# .endif
+#
+# Although it appears a little more convoluted in the tests.
+
+# Ports can make use of this like so:
+#
+# WANT_GNOME= yes
+#
+# .include <bsd.port.pre.mk>
+#
+# .if ${HAVE_GNOME:Mfoo}!=""
+# ... Do some things ...
+# USE_GNOME= foo
+# .else
+# ... Do some other things ...
+# .endif
+
+# If the user has not defined GNOME_DESKTOP_VERSION, let's try to prevent
+# users from shooting themselves in the foot. We will try to make an
+# intelligent choice on the user's behalf.
+.if exists(${gnomepanel_DETECT})
+GNOME_DESKTOP_VERSION?= 2
+#.elif exists(${libpanel_DETECT})
+#GNOME_DESKTOP_VERSION?= 1
+.endif
+
+# We also check each component to see if it has a desktop requirement. If
+# it does, and its requirement disagrees with the user's chosen desktop,
+# do not add the component to the HAVE_GNOME list.
+
+_USE_GNOME_SAVED:=${USE_GNOME}
+_USE_GNOME_DESKTOP=yes
+HAVE_GNOME?=
+.if (defined(WANT_GNOME) && !defined(WITHOUT_GNOME))
+. for component in ${_USE_GNOME_ALL}
+. if defined(GNOME_DESKTOP_VERSION) && \
+ defined(${component}_GNOME_DESKTOP_VERSION)
+. if ${GNOME_DESKTOP_VERSION}==${${component}_GNOME_DESKTOP_VERSION}
+HAVE_GNOME+= ${component}
+. else
+_USE_GNOME_DESKTOP=no
+. endif
+. else
+. if exists(${${component}_DETECT})
+HAVE_GNOME+= ${component}
+. elif defined(WITH_GNOME)
+. if ${WITH_GNOME}=="yes" || ${WITH_GNOME:M${component}}!="" \
+ || ${WITH_GNOME}=="1"
+HAVE_GNOME+= ${component}
+. endif
+. endif
+. endif
+. endfor
+.elif defined(WITHOUT_GNOME)
+. if ${WITHOUT_GNOME}!="yes" && ${WITHOUT_GNOME}!="1"
+. for component in ${_USE_GNOME_ALL}
+. if ${WITHOUT_GNOME:M${component}}==""
+. if exists(${${component}_DETECT})
+HAVE_GNOME+= ${component}
+. endif
+. endif
+. endfor
+. endif
+.endif
+
+.endif
+# End of optional part.
+
+.if defined(_POSTMKINCLUDED) && !defined(Gnome_Post_Include)
+
+Gnome_Post_Include= bsd.gnome.mk
+
+# DO NOT USE THESE MACROS! They are obsolete, and only provided for
+# backward compatibility with old ports that have not converted to the new
+# GNOME infrastructure.
+.if defined(USE_GTK)
+#.warning The USE_GTK macro is deprecated. It should be replaced by USE_GNOME=gtk12.
+USE_GNOME+= gtk12
+.endif
+# End of obsolete macros
+
+.if defined(USE_GNOME)
+# Hack USE_GNOME to the modular infrastructure for port maintainers that
+# didn't do so themselves. New ports should NOT set USE_GNOME=yes.
+. if ${USE_GNOME}=="yes"
+#.warning The USE_GNOME=yes component is deprecated. It should be replaced by some combination of gnomeprefix, gnomehack, and gtkhtml
+USE_GNOME:= ${USE_GNOME:S/yes//}
+USE_GNOME+= gnomeprefix gnomehack gtkhtml
+. endif
+
+# First of all expand all USE_GNOME_IMPL recursively
+. for component in ${_USE_GNOME_ALL}
+. for subcomponent in ${${component}_USE_GNOME_IMPL}
+${component}_USE_GNOME_IMPL+=${${subcomponent}_USE_GNOME_IMPL}
+. endfor
+. endfor
+
+# Then use already expanded USE_GNOME_IMPL to expand USE_GNOME.
+# Also, check to see if each component has a desktop requirement. If it does,
+# and if the user's chosen desktop is not of the same version, mark the
+# port as IGNORE.
+. for component in ${USE_GNOME}
+. if defined(GNOME_DESKTOP_VERSION) && \
+ defined(${component}_GNOME_DESKTOP_VERSION)
+. if ${GNOME_DESKTOP_VERSION}!=${${component}_GNOME_DESKTOP_VERSION}
+IGNORE= cannot install: ${PORTNAME} wants to use the GNOME
+IGNORE+=${${component}_GNOME_DESKTOP_VERSION} desktop, but you wish to use
+IGNORE+=the GNOME ${GNOME_DESKTOP_VERSION} desktop
+. endif
+. endif
+. if ${_USE_GNOME_ALL:M${component}}==""
+IGNORE= cannot install: unknown component ${component}
+. endif
+_USE_GNOME+= ${${component}_USE_GNOME_IMPL} ${component}
+. endfor
+
+# Setup the GTK+ API version for pixbuf loaders, input method modules,
+# and theme engines.
+PLIST_SUB+= GTK2_VERSION="${GTK2_VERSION}"
+
+# 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)
+ltverhack_PRE_PATCH= ${CP} -pf ${LTMAIN} ${WRKDIR}/gnome-ltmain.sh && \
+ ${CP} -pf ${LIBTOOL} ${WRKDIR}/gnome-libtool && \
+ for file in ${LIBTOOLFILES}; do \
+ ${REINPLACE_CMD} -e \
+ '/^ltmain=/!s|$$ac_aux_dir/ltmain\.sh|${LIBTOOLFLAGS} ${WRKDIR}/gnome-ltmain.sh|g; \
+ /^LIBTOOL=/s|$$(top_builddir)/libtool|${WRKDIR}/gnome-libtool|g' \
+ ${PATCH_WRKSRC}/$$file; \
+ done;
+.else
+. if ${USE_GNOME:Mltverhack}!=""
+IGNORE= cannot install: ${PORTNAME} uses the ltverhack GNOME component but does not use libtool
+. endif
+.endif
+
+ltverhack_PATCH_DEPENDS=${LIBTOOL_DEPENDS}
+ltverhack_PRE_PATCH+= for file in gnome-ltmain.sh gnome-libtool; do \
+ if [ -f ${WRKDIR}/$$file ]; then \
+ ${REINPLACE_CMD} -e \
+ '/freebsd-elf)/,/;;/ s|major="\.$$current"|major=.`expr $$current - $$age`|; \
+ /freebsd-elf)/,/;;/ s|versuffix="\.$$current"|versuffix="$$major"|' \
+ ${WRKDIR}/$$file; \
+ fi; \
+ done
+
+# Then traverse through all components, check which of them
+# exist in ${_USE_GNOME} and set variables accordingly
+. for component in ${_USE_GNOME_ALL}
+_COMP_TEST= ${_USE_GNOME:M${component}}
+. if ${_COMP_TEST:S/${component}//}!=${_COMP_TEST:S/ / /g}
+PATCH_DEPENDS+= ${${component}_PATCH_DEPENDS}
+FETCH_DEPENDS+= ${${component}_FETCH_DEPENDS}
+EXTRACT_DEPENDS+=${${component}_EXTRACT_DEPENDS}
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+LIB_DEPENDS+= ${${component}_LIB_DEPENDS}
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+
+CONFIGURE_ARGS+=${${component}_CONFIGURE_ARGS}
+CONFIGURE_ENV+= ${${component}_CONFIGURE_ENV}
+MAKE_ENV+= ${${component}_MAKE_ENV}
+
+. if !defined(CONFIGURE_TARGET) && defined(${component}_CONFIGURE_TARGET)
+CONFIGURE_TARGET= ${${component}_CONFIGURE_TARGET}
+. endif
+
+. if defined(${component}_PRE_PATCH)
+GNOME_PRE_PATCH+= ; ${${component}_PRE_PATCH}
+. endif
+
+. endif
+. endfor
+.endif
+
+.if defined(GNOME_PRE_PATCH)
+
+pre-patch: gnome-pre-patch
+
+gnome-pre-patch:
+ @${GNOME_PRE_PATCH:C/^;//1}
+.endif
+
+.if defined(WANT_GNOME)
+USE_GNOME?=
+. if ${_USE_GNOME_SAVED}==${USE_GNOME}
+PLIST_SUB+= GNOME:="@comment " NOGNOME:=""
+. else
+PLIST_SUB+= GNOME:="" NOGNOME:="@comment "
+. if defined(GNOME_DESKTOP_VERSION)
+. if ${_USE_GNOME_DESKTOP}=="yes"
+PLIST_SUB+= GNOMEDESKTOP:="" NOGNOMEDESKTOP:="@comment "
+. else
+PLIST_SUB+= GNOMEDESKTOP:="@comment " NOGNOMEDESKTOP:=""
+. endif
+. endif
+. endif
+.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 GNOME 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
+
+
+.if defined(GCONF_SCHEMAS) || defined(INSTALLS_OMF) || defined(INSTALLS_ICONS) \
+ || (defined(_USE_GNOME) && ${_USE_GNOME:Mgnomeprefix}!="")
+pre-su-install: gnome-pre-su-install
+post-install: gnome-post-install
+
+gnome-pre-su-install:
+.if defined(_USE_GNOME) && ${_USE_GNOME:Mgnomeprefix}!="" && !defined(NO_MTREE)
+ @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${PREFIX}/ >/dev/null
+.endif
+.if defined(GCONF_SCHEMAS)
+ @${MKDIR} ${PREFIX}/etc/gconf/gconf.xml.defaults/
+.else
+ @${DO_NADA}
+.endif
+
+gnome-post-install:
+. if defined(GCONF_SCHEMAS)
+ @for i in ${GCONF_SCHEMAS}; do \
+ ${ECHO_CMD} "@unexec env GCONF_CONFIG_SOURCE=xml:${GCONF_CONFIG_OPTIONS}:%D/${GCONF_CONFIG_DIRECTORY} gconftool-2 --makefile-uninstall-rule %D/etc/gconf/schemas/$${i} > /dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "etc/gconf/schemas/$${i}" >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@exec env GCONF_CONFIG_SOURCE=xml:${GCONF_CONFIG_OPTIONS}:%D/${GCONF_CONFIG_DIRECTORY} gconftool-2 --makefile-install-rule %D/etc/gconf/schemas/$${i} > /dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ done
+. endif
+
+. if defined(INSTALLS_OMF)
+ @for i in `${GREP} "\.omf$$" ${TMPPLIST}`; do \
+ ${ECHO_CMD} "@exec scrollkeeper-install -q %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@unexec scrollkeeper-uninstall -q %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ done
+. endif
+
+. if defined(INSTALLS_ICONS)
+ @${RM} -f ${TMPPLIST}.icons1
+ @for i in `${GREP} "^share/icons/.*/" ${TMPPLIST} | ${CUT} -d / -f 1-3 | ${SORT} -u`; do \
+ ${ECHO_CMD} "@unexec /bin/rm %D/$${i}/icon-theme.cache 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}.icons1; \
+ ${ECHO_CMD} "@exec ${X11BASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${ECHO_CMD} "@unexec ${X11BASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \
+ >> ${TMPPLIST}; \
+ ${X11BASE}/bin/gtk-update-icon-cache -q -f ${PREFIX}/$${i} 2>/dev/null || ${TRUE}; \
+ done
+ @if test -f ${TMPPLIST}.icons1; then \
+ ${CAT} ${TMPPLIST}.icons1 ${TMPPLIST} > ${TMPPLIST}.icons2; \
+ ${RM} -f ${TMPPLIST}.icons1; \
+ ${MV} -f ${TMPPLIST}.icons2 ${TMPPLIST}; \
+ fi
+. endif
+.endif
+
+.endif
+# End of use part.
diff --git a/ports-mgmt/portmk/Mk/bsd.gstreamer.mk b/ports-mgmt/portmk/Mk/bsd.gstreamer.mk
new file mode 100644
index 000000000000..cbef9fa55373
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.gstreamer.mk
@@ -0,0 +1,265 @@
+#-*- mode: Fundamental; tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.gstreamer.mk - Support for gstreamer-plugins-based ports.
+#
+# Created by: Michael Johnson <ahze@FreeBSD.org>
+# Date: 4 Oct 2004
+#
+# $FreeBSD: /tmp/pcvs/ports/ports-mgmt/portmk/Mk/Attic/bsd.gstreamer.mk,v 1.4 2006-06-27 19:47:13 linimon Exp $
+# $MCom: ports/Mk/bsd.gstreamer.mk,v 1.24 2006/04/25 14:45:31 ahze Exp $
+
+.if !defined(_POSTMKINCLUDED) && !defined(Gstreamer_Pre_Include)
+
+Gstreamer_Include_MAINTAINER= multimedia@FreeBSD.org
+Gstreamer_Pre_Include= bsd.gstreamer.mk
+
+.endif
+
+# Ports can use the following:
+#
+# For Gstreamer 0.10:
+# USE_GSTREAMER= lame faac ffmpeg
+# For Gstreamer 0.8:
+# USE_GSTREAMER80= dvd lame flac
+#
+# If you want to use USE_GSTREAMER after <bsd.port.pre.mk>
+# you must follow one of the examples listed below
+#
+# WANT_GSTREAMER= yes
+# .include <bsd.port.pre.mk>
+# .if defined(WITH_VORBIS)
+# USE_GSTREAMER+= vorbis
+# .endif
+#
+# or
+# USE_GSTREAMER= yes
+# .include <bsd.port.pre.mk>
+# .if defined(WITH_FAAD)
+# USE_GSTREAMER+= faad
+# .endif
+#
+#
+# USE_GSTREAMER=yes will always add a dependency to
+# gstreamer-plugins
+#
+
+# "Normal" dependencies and variables
+#
+
+GSTREAMER_PORT= ${PORTSDIR}/multimedia/gstreamer-plugins
+GSTREAMER80_PORT= ${GSTREAMER_PORT}80
+_GST_LIB_BASE= ${X11BASE}/lib/gstreamer-${GST_VERSION}
+_GST80_LIB_BASE= ${X11BASE}/lib/gstreamer-${GST80_VERSION}
+GST_VERSION= 0.10
+GST_MINOR_VERSION= .0
+GST80_VERSION= 0.8
+GST80_MINOR_VERSION= .10
+GST_SHLIB_VERSION= 1
+GST80_SHLIB_VERSION= 1
+#
+# These are the current supported gstreamer-plugins modules
+#
+_USE_GSTREAMER_ALL= a52dec aalib bad cairo cdparanoia dts \
+ dv dvd esound faac faad ffmpeg flac gconf gnomevfs \
+ gnonlin good gsm ivorbis jpeg ladspa lame libcaca \
+ libmms libpng libvisual mad mpeg2dec \
+ musepack ogg pango sdl shout2 sidplay \
+ speex theora ugly vorbis wavpack xvid
+_USE_GSTREAMER80_ALL= a52dec aalib artsd audiofile cairo cdaudio cdio cdparanoia \
+ dirac dts dv dvd esound faac faad ffmpeg flac \
+ gconf gdkpixbuf gnomevfs gsm hermes ivorbis jack jpeg \
+ jpeg-mmx ladspa lame libcaca libfame libmms libmng \
+ libpng libvisual mad mikmod mpeg2dec mpeg2enc mplex \
+ musepack musicbrainz nas sdl shout shout2 sidplay \
+ smoothwave sndfile speex theora ogg pango polyp \
+ swfdec vorbis wavpack x264 xvid
+# other plugins
+OTHER_GSTREAMER_PLUGINS+= core yes
+OTHER_GSTREAMER80_PLUGINS+= ${OTHER_GSTREAMER_PLUGINS}
+
+_USE_GSTREAMER_ALL+= ${OTHER_GSTREAMER_PLUGINS}
+_USE_GSTREAMER80_ALL+= ${OTHER_GSTREAMER80_PLUGINS}
+
+core_DEPENDS= multimedia/gstreamer-plugins-core
+
+yes_DEPENDS= multimedia/gstreamer-plugins
+yes_NAME= gstreamer-plugins
+yes_GST80_PREFIX= # empty
+yes_GST_PREFIX= # empty
+
+cdio_DEPENDS= sysutils/gstreamer-plugins-cdio
+
+gconf_DEPENDS= devel/gstreamer-plugins-gconf
+
+# Audio Plugins Section
+a52dec_DEPENDS= audio/gstreamer-plugins-a52dec
+
+artsd_DEPENDS= audio/gstreamer-plugins-artsd
+
+audiofile_DEPENDS= audio/gstreamer-plugins-audiofile
+
+cdaudio_DEPENDS= audio/gstreamer-plugins-cdaudio
+
+cdparanoia_DEPENDS= audio/gstreamer-plugins-cdparanoia
+
+esound_DEPENDS= audio/gstreamer-plugins-esound
+
+faac_DEPENDS= audio/gstreamer-plugins-faac
+
+faad_DEPENDS= audio/gstreamer-plugins-faad
+
+flac_DEPENDS= audio/gstreamer-plugins-flac
+
+gsm_DEPENDS= audio/gstreamer-plugins-gsm
+
+ivorbis_DEPENDS= audio/gstreamer-plugins-ivorbis
+
+jack_DEPENDS= audio/gstreamer-plugins-jack
+
+ladspa_DEPENDS= audio/gstreamer-plugins-ladspa
+
+lame_DEPENDS= audio/gstreamer-plugins-lame
+
+mad_DEPENDS= audio/gstreamer-plugins-mad
+
+mikmod_DEPENDS= audio/gstreamer-plugins-mikmod
+
+musepack_DEPENDS= audio/gstreamer-plugins-musepack
+
+musicbrainz_DEPENDS= audio/gstreamer-plugins-musicbrainz
+
+nas_DEPENDS= audio/gstreamer-plugins-nas
+
+ogg_DEPENDS= audio/gstreamer-plugins-ogg
+
+polyp_DEPENDS= audio/gstreamer-plugins-polyp
+
+shout_DEPENDS= audio/gstreamer-plugins-shout
+
+shout2_DEPENDS= audio/gstreamer-plugins-shout2
+
+sidplay_DEPENDS= audio/gstreamer-plugins-sidplay
+
+smoothwave_DEPENDS= audio/gstreamer-plugins-smoothwave
+
+sndfile_DEPENDS= audio/gstreamer-plugins-sndfile
+
+speex_DEPENDS= audio/gstreamer-plugins-speex
+
+vorbis_DEPENDS= audio/gstreamer-plugins-vorbis
+
+wavpack_DEPENDS= audio/gstreamer-plugins-wavpack
+
+# Devel Plugins Section
+gnomevfs_DEPENDS= devel/gstreamer-plugins-gnomevfs
+
+sdl_DEPENDS= devel/gstreamer-plugins-sdl
+
+# Graphics Plugins Section
+aalib_DEPENDS= graphics/gstreamer-plugins-aalib
+
+cairo_DEPENDS= graphics/gstreamer-plugins-cairo
+
+gdkpixbuf_DEPENDS= graphics/gstreamer-plugins-gdkpixbuf
+
+hermes_DEPENDS= graphics/gstreamer-plugins-hermes
+
+jpeg_DEPENDS= graphics/gstreamer-plugins-jpeg
+
+jpeg-mmx_DEPENDS= graphics/gstreamer-plugins-jpeg-mmx
+
+libcaca_DEPENDS= graphics/gstreamer-plugins-libcaca
+
+libmng_DEPENDS= graphics/gstreamer-plugins-libmng
+
+libpng_DEPENDS= graphics/gstreamer-plugins-libpng
+
+libvisual_DEPENDS= graphics/gstreamer-plugins-libvisual
+
+swfdec_DEPENDS= graphics/gstreamer-plugins-swfdec
+
+# Multimedia Plugins Section
+bad_DEPENDS= multimedia/gstreamer-plugins-bad
+
+dirac_DEPENDS= multimedia/gstreamer-plugins-dirac
+
+ffmpeg_DEPENDS= multimedia/gstreamer-ffmpeg
+ffmpeg_GST80_SUFX= 80
+ffmpeg_GST80_PREFIX= gstreamer-
+ffmpeg_GST_PREFIX= gstreamer-
+ffmpeg_GST_SUFX= # empty
+ffmpeg_GST80_VERSION= 0.8.7
+ffmpeg_GST_VERSION= 0.10.0
+
+dts_DEPENDS= multimedia/gstreamer-plugins-dts
+
+dv_DEPENDS= multimedia/gstreamer-plugins-dv
+
+dvd_DEPENDS= multimedia/gstreamer-plugins-dvd
+
+good_DEPENDS= multimedia/gstreamer-plugins-good
+
+gnonlin_DEPENDS= multimedia/gstreamer-plugins-gnonlin
+
+libfame_DEPENDS= multimedia/gstreamer-plugins-libfame
+
+mpeg2dec_DEPENDS= multimedia/gstreamer-plugins-mpeg2dec
+
+mpeg2enc_DEPENDS= multimedia/gstreamer-plugins-mpeg2enc
+
+mplex_DEPENDS= multimedia/gstreamer-plugins-mplex
+
+theora_DEPENDS= multimedia/gstreamer-plugins-theora
+
+ugly_DEPENDS= multimedia/gstreamer-plugins-ugly
+
+x264_DEPENDS= multimedia/gstreamer-plugins-x264
+
+xvid_DEPENDS= multimedia/gstreamer-plugins-xvid
+
+# Net Plugins Section
+
+libmms_DEPENDS= net/gstreamer-plugins-libmms
+
+# X11-Toolkits Plugins Section
+pango_DEPENDS= x11-toolkits/gstreamer-plugins-pango
+
+.if defined(_POSTMKINCLUDED) && !defined(Gstreamer_Post_Include)
+Gstreamer_Post_Include= bsd.gstreamer.mk
+
+.for ext in ${USE_GSTREAMER80}
+${ext}_GST80_SUFX?= 80
+${ext}_GST80_PREFIX?= gstreamer-plugins-
+${ext}_GST80_VERSION?= ${GST80_VERSION}${GST80_MINOR_VERSION}
+${ext}_NAME?= ${ext}
+.endfor
+.for ext in ${USE_GSTREAMER}
+${ext}_GST_PREFIX?= gstreamer-plugins-
+${ext}_GST_VERSION?= ${GST_VERSION}${GST_MINOR_VERSION}
+${ext}_NAME?= ${ext}
+.endfor
+
+.if defined(USE_GSTREAMER80)
+.for ext in ${USE_GSTREAMER80}
+. if ${_USE_GSTREAMER80_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_DEPENDS}${${ext}_GST80_SUFX})
+BUILD_DEPENDS+= ${${ext}_GST80_PREFIX}${${ext}_NAME}${${ext}_GST80_SUFX}>=${${ext}_GST80_VERSION}:${PORTSDIR}/${${ext}_DEPENDS}${${ext}_GST80_SUFX}
+RUN_DEPENDS+= ${${ext}_GST80_PREFIX}${${ext}_NAME}${${ext}_GST80_SUFX}>=${${ext}_GST80_VERSION}:${PORTSDIR}/${${ext}_DEPENDS}${${ext}_GST80_SUFX}
+. else
+IGNORE= cannot install: unknown gstreamer-plugin -- ${ext}
+. endif
+.endfor
+.endif
+.if defined(USE_GSTREAMER)
+.for ext in ${USE_GSTREAMER}
+. if ${_USE_GSTREAMER_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_DEPENDS})
+BUILD_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${PORTSDIR}/${${ext}_DEPENDS}
+RUN_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${PORTSDIR}/${${ext}_DEPENDS}
+. else
+IGNORE= cannot install: unknown gstreamer-plugin -- ${ext}
+. endif
+.endfor
+.endif
+
+# The End
+.endif
diff --git a/ports-mgmt/portmk/Mk/bsd.kde.mk b/ports-mgmt/portmk/Mk/bsd.kde.mk
new file mode 100644
index 000000000000..d96a124a70bf
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.kde.mk
@@ -0,0 +1,151 @@
+#-*- mode: Makefile; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: /tmp/pcvs/ports/ports-mgmt/portmk/Mk/Attic/bsd.kde.mk,v 1.4 2006-06-27 19:47:13 linimon Exp $
+#
+# Please view me with 4 column tabs!
+
+# Please make sure all changes to this file are past through the maintainer.
+# Do not commit them yourself (unless of course you're the Port's Wraith ;).
+KDE_MAINTAINER= kde@FreeBSD.org
+
+# This section contains the USE_ definitions.
+# XXX: Write HAVE_ definitions sometime.
+
+# USE_QT_VER - Says that the port uses the Qt toolkit. Possible values:
+# 3; each specify the major version of Qt to use.
+# USE_KDELIBS_VER - Says that the port uses KDE libraries. Possible values:
+# 3 specifies the major version of KDE to use.
+# This implies USE_QT of the appropriate version.
+# USE_KDEBASE_VER - Says that the port uses the KDE base. Possible values:
+# 3 specifies the major version of KDE to use.
+# This implies USE_KDELIBS of the appropriate version.
+
+# tagged MASTER_SITE_KDE_kde
+kmaster= ${MASTER_SITE_KDE:S@%/@%/:kde@g}
+.if !defined(MASTER_SITE_SUBDIR)
+MASTER_SITE_KDE_kde= ${kmaster:S@%SUBDIR%/@@g}
+.else
+ksub=${MASTER_SITE_SUBDIR}
+MASTER_SITE_KDE_kde= ${kmaster:S@%SUBDIR%/@${ksub}/@g}
+.endif # !defined(MASTER_SITE_SUBDIR)
+
+# USE_KDEBASE_VER section
+.if defined(USE_KDEBASE_VER)
+.if ${USE_KDEBASE_VER} == CVS
+LIB_DEPENDS+= kfontinst:${PORTSDIR}/x11/kdebase
+USE_KDELIBS_VER=CVS
+.elif ${USE_KDEBASE_VER} == 3
+# kdebase 3.x common stuff
+LIB_DEPENDS+= kfontinst:${PORTSDIR}/x11/kdebase3
+USE_KDELIBS_VER=3
+.endif # ${USE_KDEBASE_VER} == 3
+.endif # defined(USE_KDEBASE_VER)
+
+# USE_KDELIBS_VER section
+.if defined(USE_KDELIBS_VER)
+
+## This is needed for configure scripts to figure out
+## which threads lib to use
+
+CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}"
+
+## XXX - This really belongs into bsd.port.mk
+.if !defined(_NO_KDE_CONFTARGET_HACK)
+CONFIGURE_TARGET=
+CONFIGURE_ARGS+=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} \
+ --x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include \
+ --disable-as-needed
+.endif
+
+.if ${USE_KDELIBS_VER} == CVS
+LIB_DEPENDS+= kimproxy:${PORTSDIR}/x11/kdelibs
+USE_QT_VER= CVS
+PREFIX= ${KDE_CVS_PREFIX}
+.elif ${USE_KDELIBS_VER} == 3
+# kdelibs 3.x common stuff
+LIB_DEPENDS+= kimproxy:${PORTSDIR}/x11/kdelibs3
+USE_QT_VER= 3
+PREFIX= ${KDE_PREFIX}
+.else
+IGNORE= cannot install: unsupported value in USE_KDELIBS_VER
+.endif # ${USE_KDELIBS_VER} == 3
+.endif # defined(USE_KDELIBS_VER)
+
+# End of USE_KDELIBS_VER section
+
+# USE_QT_VER section
+.if ${USE_QT_VER} == CVS
+
+KDE_CVS_PREFIX?= ${LOCALBASE}/kde-cvs
+QT_CVS_PREFIX?= ${X11BASE}/qt-cvs
+QTCPPFLAGS?=
+QTCFGLIBS?=
+
+MOC?= ${QT_CVS_PREFIX}/bin/moc
+BUILD_DEPENDS+= ${MOC}:${PORTSDIR}/x11-toolkits/qt-copy
+RUN_DEPENDS+= ${MOC}:${PORTSDIR}/x11-toolkits/qt-copy
+QTCPPFLAGS+= -D_GETOPT_H # added to work around broken getopt.h #inc
+.if !defined (QT_NONSTANDARD)
+CONFIGURE_ARGS+=--with-extra-libs="${LOCALBASE}/lib" \
+ --with-extra-includes="${LOCALBASE}/include"
+CONFIGURE_ENV+= MOC="${MOC}" CPPFLAGS="${CPPFLAGS} ${QTCPPFLAGS}" LIBS="${QTCFGLIBS}" \
+ QTDIR="${QT_CVS_PREFIX}" KDEDIR="${KDE_CVS_PREFIX}"
+.endif
+
+.elif ${USE_QT_VER} == 3
+
+# Yeah, it's namespace pollution, but this is really the best place for this
+# stuff. Arts does NOT use it anymore.
+KDE_VERSION= 3.5.3
+KDE_ORIGVER= ${KDE_VERSION}
+KDE_PREFIX?= ${LOCALBASE}
+
+QTCPPFLAGS?=
+QTCGFLIBS?=
+
+# Qt 3.x common stuff
+QT_PREFIX?= ${X11BASE}
+MOC?= ${QT_PREFIX}/bin/moc
+#LIB_DEPENDS+= qt-mt.3:${PORTSDIR}/x11-toolkits/qt33
+BUILD_DEPENDS+= ${QT_PREFIX}/bin/moc:${PORTSDIR}/x11-toolkits/qt33
+RUN_DEPENDS+= ${QT_PREFIX}/bin/moc:${PORTSDIR}/x11-toolkits/qt33
+QTCPPFLAGS+= -I${LOCALBASE}/include -I${PREFIX}/include \
+ -I${QT_PREFIX}/include -D_GETOPT_H
+QTCFGLIBS+= -Wl,-export-dynamic -L${LOCALBASE}/lib -L${X11BASE}/lib -ljpeg \
+ -L${QT_PREFIX}/lib
+.if defined(PACKAGE_BUILDING)
+TMPDIR?= /tmp
+MAKE_ENV+= TMPDIR="${TMPDIR}"
+CONFIGURE_ENV+= TMPDIR="${TMPDIR}"
+.endif
+
+.if !defined(QT_NONSTANDARD)
+CONFIGURE_ARGS+=--with-qt-includes=${QT_PREFIX}/include \
+ --with-qt-libraries=${QT_PREFIX}/lib \
+ --with-extra-libs=${LOCALBASE}/lib \
+ --with-extra-includes=${LOCALBASE}/include
+CONFIGURE_ENV+= MOC="${MOC}" CPPFLAGS="${CPPFLAGS} ${QTCPPFLAGS}" LIBS="${QTCFGLIBS}"
+.endif # !defined(QT_NONSTANDARD)
+.else
+IGNORE= cannot install: unsupported value of USE_QT_VER
+.endif # defined(USE_QT_VER)
+
+# End of USE_QT_VER section
+
+# Assemble plist from parts
+# <alane@freebsd.org> 2002-12-06
+.if defined(KDE_BUILD_PLIST)
+PLIST?= ${WRKDIR}/plist
+PLIST_BASE?= plist.base
+PLIST_APPEND?=
+plist_base=${FILESDIR}/${PLIST_BASE}
+plist_base_rm=${FILESDIR}/${PLIST_BASE}.rm
+plist_append=${PLIST_APPEND:C:([A-Za-z0-9._]+):${FILESDIR}/\1:}
+plist_append_rm=${PLIST_APPEND:C:([A-Za-z0-9._]+):${FILESDIR}/\1.rm:}
+kde-plist:
+ ${CAT} ${plist_base} ${plist_append} 2>/dev/null >${PLIST}
+ -${CAT} ${plist_append_rm} ${plist_base_rm} 2>/dev/null >>${PLIST};true
+.PHONY: kde-plist
+pre-build: kde-plist
+.endif # defined(KDE_BUILD_PLIST)
diff --git a/ports-mgmt/portmk/Mk/bsd.php.mk b/ports-mgmt/portmk/Mk/bsd.php.mk
new file mode 100644
index 000000000000..a5dd7366ab96
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.php.mk
@@ -0,0 +1,338 @@
+#
+# bsd.php.mk - Support for PHP-based ports.
+#
+# Created by: Alex Dupre <ale@FreeBSD.org>
+#
+# For FreeBSD committers:
+# Please send all suggested changes to the maintainer instead of committing
+# them to CVS yourself.
+#
+# $FreeBSD: /tmp/pcvs/ports/ports-mgmt/portmk/Mk/Attic/bsd.php.mk,v 1.7 2006-06-27 19:47:13 linimon Exp $
+#
+# Adding 'USE_PHP=yes' to a port includes this Makefile after bsd.ports.pre.mk.
+# If the port requires a predefined set of PHP extensions, they can be
+# listed in this way:
+#
+# USE_PHP= ext1 ext2 ext3
+#
+# The port can set these options in its Makefile before bsd.ports.pre.mk:
+#
+# DEFAULT_PHP_VER=N - Use PHP version N if PHP is not yet installed.
+# IGNORE_WITH_PHP=N - The port doesn't work with PHP version N.
+# USE_PHPIZE=yes - Use to build a PHP extension.
+# USE_PHPEXT=yes - Use to build, install and register a PHP extension.
+# USE_PHP_BUILD=yes - Set PHP also as a build dependency.
+# WANT_PHP_CLI=yes - Want the CLI version of PHP.
+# WANT_PHP_CGI=yes - Want the CGI version of PHP.
+# WANT_PHP_MOD=yes - Want the Apache Module for PHP.
+# WANT_PHP_WEB=yes - Want the Apache Module or the CGI version of PHP.
+#
+# You may combine multiple WANT_PHP_* knobs.
+# Don't specify any WANT_PHP_* knob if your port will work with every PHP SAPI.
+#
+
+PHP_Include_MAINTAINER= ale@FreeBSD.org
+
+.if exists(${LOCALBASE}/etc/php.conf)
+.include "${LOCALBASE}/etc/php.conf"
+PHP_EXT_DIR!= ${LOCALBASE}/bin/php-config --extension-dir | ${SED} -ne 's,^${LOCALBASE}/lib/php/\(.*\),\1,p'
+.else
+DEFAULT_PHP_VER?= 5
+
+PHP_VER?= ${DEFAULT_PHP_VER}
+.if ${PHP_VER} == 4
+PHP_EXT_DIR= 20020429
+.else
+PHP_EXT_DIR= 20050922
+.endif
+
+HTTPD?= ${LOCALBASE}/sbin/httpd
+.if exists(${HTTPD})
+APACHE_VERSION!= ${HTTPD} -V | ${SED} -ne 's/^Server version: Apache\/\([0-9]\)\.\([0-9]*\).*/\1\2/p'
+. if ${APACHE_VERSION} > 13
+APXS?= ${LOCALBASE}/sbin/apxs
+APACHE_MPM!= ${APXS} -q MPM_NAME
+. if ${APACHE_MPM} == "worker"
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts
+. endif
+. endif
+.elif defined(APACHE_PORT)
+APACHE_VERSION!= ${ECHO_CMD} ${APACHE_PORT} | ${SED} -ne 's,.*/apache\([0-9]*\).*,\1,p'
+. if ${APACHE_VERSION} > 13 && defined(WITH_MPM) && ${WITH_MPM} == "worker"
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts
+. endif
+.endif
+
+.if defined(WITH_DEBUG)
+PHP_EXT_DIR:= ${PHP_EXT_DIR}-debug
+.endif
+PHP_SAPI?= ""
+.endif
+PHP_EXT_INC?= ""
+
+# compatability shim
+.if defined(BROKEN_WITH_PHP)
+IGNORE_WITH_PHP=${BROKEN_WITH_PHP}
+.endif
+.if defined(IGNORE_WITH_PHP)
+. for VER in ${IGNORE_WITH_PHP}
+. if ${PHP_VER} == "${VER}"
+IGNORE= cannot install: doesn't work with PHP version : ${PHP_VER} (Doesn't support PHP ${IGNORE_WITH_PHP})
+. endif
+. endfor
+.endif
+
+.if defined(WANT_PHP_WEB)
+. if defined(WANT_PHP_CGI) || defined(WANT_PHP_MOD)
+check-makevars::
+ @${ECHO_CMD} "If you define WANT_PHP_WEB you cannot set also WANT_PHP_CGI"
+ @${ECHO_CMD} "or WANT_PHP_MOD. Use only one of them."
+ @${FALSE}
+. else
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mcgi} == "" && ${PHP_SAPI:Mmod} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the Apache Module or the CGI version of PHP, but you have"
+ @${ECHO_CMD} "already installed a PHP port without them."
+ @${FALSE}
+. endif
+. endif
+.else
+
+.if defined(WANT_PHP_CGI)
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mcgi} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the CGI version of PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without CGI."
+ @${FALSE}
+. endif
+.else
+
+.if defined(WANT_PHP_CLI)
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mcli} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the CLI version of PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without CLI."
+ @${FALSE}
+. endif
+.else
+
+.if defined(WANT_PHP_MOD)
+. if defined(PHP_VERSION) && ${PHP_SAPI:Mmod} == ""
+check-makevars::
+ @${ECHO_CMD} "This port requires the Apache Module for PHP, but you have already"
+ @${ECHO_CMD} "installed a PHP port without the Apache Module."
+ @${FALSE}
+. endif
+.endif
+
+.endif
+
+.endif
+
+.endif
+
+PHP_PORT= ${PORTSDIR}/lang/php${PHP_VER}
+
+.if defined(USE_PHP_BUILD)
+BUILD_DEPENDS+= ${LOCALBASE}/include/php/main/php.h:${PHP_PORT}
+.endif
+RUN_DEPENDS+= ${LOCALBASE}/include/php/main/php.h:${PHP_PORT}
+
+PLIST_SUB+= PHP_EXT_DIR=${PHP_EXT_DIR}
+SUB_LIST+= PHP_EXT_DIR=${PHP_EXT_DIR}
+
+.if defined(USE_PHPIZE) || defined(USE_PHPEXT)
+BUILD_DEPENDS+= phpize:${PHP_PORT}
+GNU_CONFIGURE= YES
+USE_AUTOTOOLS+= autoconf:259:env
+CONFIGURE_ARGS+=--with-php-config=${LOCALBASE}/bin/php-config
+
+configure-message: phpize-message do-phpize
+
+phpize-message:
+ @${ECHO_MSG} "===> PHPizing for ${PKGNAME}"
+
+do-phpize:
+ @(cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ${LOCALBASE}/bin/phpize)
+.endif
+
+.if defined(USE_PHPEXT)
+PHP_MODNAME?= ${PORTNAME}
+PHP_HEADER_DIRS?= ""
+
+do-install:
+ @${MKDIR} ${PREFIX}/lib/php/${PHP_EXT_DIR}
+ @${INSTALL_DATA} ${WRKSRC}/modules/${PHP_MODNAME}.so \
+ ${PREFIX}/lib/php/${PHP_EXT_DIR}
+. for header in . ${PHP_HEADER_DIRS}
+ @${MKDIR} ${PREFIX}/include/php/ext/${PHP_MODNAME}/${header}
+ @${INSTALL_DATA} ${WRKSRC}/${header}/*.h \
+ ${PREFIX}/include/php/ext/${PHP_MODNAME}/${header}
+. endfor
+ @${GREP} "#define \(COMPILE\|HAVE\|USE\)_" ${WRKSRC}/config.h \
+ > ${PREFIX}/include/php/ext/${PHP_MODNAME}/config.h
+ @${ECHO_CMD} \#include \"ext/${PHP_MODNAME}/config.h\" \
+ >> ${PREFIX}/include/php/ext/php_config.h
+ @${MKDIR} ${PREFIX}/etc/php
+ @${ECHO_CMD} extension=${PHP_MODNAME}.so \
+ >> ${PREFIX}/etc/php/extensions.ini
+
+add-plist-info: add-plist-phpext
+add-plist-phpext:
+ @${ECHO_CMD} "lib/php/${PHP_EXT_DIR}/${PHP_MODNAME}.so" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rmdir %D/lib/php/${PHP_EXT_DIR} 2> /dev/null || true" \
+ >> ${TMPPLIST}
+ @${FIND} -P ${PREFIX}/include/php/ext/${PHP_MODNAME} ! -type d 2>/dev/null | \
+ ${SED} -ne 's,^${PREFIX}/,,p' >> ${TMPPLIST}
+ @${FIND} -P -d ${PREFIX}/include/php/ext/${PHP_MODNAME} -type d 2>/dev/null | \
+ ${SED} -ne 's,^${PREFIX}/,@dirrm ,p' >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec echo \#include \\\"ext/${PHP_MODNAME}/config.h\\\" >> %D/include/php/ext/php_config.h" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec cp %D/include/php/ext/php_config.h %D/include/php/ext/php_config.h.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec grep -v ext/${PHP_MODNAME}/config.h %D/include/php/ext/php_config.h.orig > %D/include/php/ext/php_config.h || true" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rm %D/include/php/ext/php_config.h.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec mkdir -p %D/etc/php" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec echo extension=${PHP_MODNAME}.so >> %D/etc/php/extensions.ini" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec cp %D/etc/php/extensions.ini %D/etc/php/extensions.ini.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec grep -v extension=${PHP_MODNAME}\\\.so %D/etc/php/extensions.ini.orig > %D/etc/php/extensions.ini || true" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rm %D/etc/php/extensions.ini.orig" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec [ -s %D/etc/php/extensions.ini ] || rm %D/etc/php/extensions.ini" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rmdir %D/etc/php 2> /dev/null || true" \
+ >> ${TMPPLIST}
+
+security-check: php-ini
+
+php-ini:
+ @${ECHO_CMD} "****************************************************************************"
+ @${ECHO_CMD} ""
+ @${ECHO_CMD} "The following line has been added to your ${PREFIX}/etc/php/extensions.ini"
+ @${ECHO_CMD} "configuration file to automatically load the installed extension:"
+ @${ECHO_CMD} ""
+ @${ECHO_CMD} "extension=${PHP_MODNAME}.so"
+ @${ECHO_CMD} ""
+ @${ECHO_CMD} "****************************************************************************"
+.endif
+
+# Extensions
+.if ${USE_PHP:L} != "yes"
+# non-version specific components
+_USE_PHP_ALL= bcmath bz2 calendar ctype curl dba dbase \
+ exif fileinfo filepro fribidi ftp gd gettext gmp \
+ hash iconv imagick imap interbase ldap mbstring mcrypt \
+ mhash ming mssql mysql ncurses odbc \
+ openssl panda pcntl pcre pdf pgsql posix \
+ pspell radius readline recode session shmop snmp \
+ sockets sybase_ct sysvmsg sysvsem sysvshm \
+ tokenizer wddx xml xmlrpc yaz zip zlib
+# version specific components
+_USE_PHP_VER4= ${_USE_PHP_ALL} crack dbx dio domxml mcal mcve \
+ mnogosearch oracle overload pfpro xslt yp
+_USE_PHP_VER5= ${_USE_PHP_ALL} dom mysqli pdo simplexml soap sqlite \
+ tidy xmlreader xmlwriter xsl
+
+bcmath_DEPENDS= math/php${PHP_VER}-bcmath
+bz2_DEPENDS= archivers/php${PHP_VER}-bz2
+calendar_DEPENDS= misc/php${PHP_VER}-calendar
+crack_DEPENDS= security/php${PHP_VER}-crack
+ctype_DEPENDS= textproc/php${PHP_VER}-ctype
+curl_DEPENDS= ftp/php${PHP_VER}-curl
+dba_DEPENDS= databases/php${PHP_VER}-dba
+dbase_DEPENDS= databases/php${PHP_VER}-dbase
+dbx_DEPENDS= databases/php${PHP_VER}-dbx
+dio_DEPENDS= devel/php${PHP_VER}-dio
+dom_DEPENDS= textproc/php${PHP_VER}-dom
+domxml_DEPENDS= textproc/php${PHP_VER}-domxml
+exif_DEPENDS= graphics/php${PHP_VER}-exif
+fileinfo_DEPENDS= sysutils/pecl-fileinfo
+filepro_DEPENDS=databases/php${PHP_VER}-filepro
+fribidi_DEPENDS=converters/pecl-fribidi
+ftp_DEPENDS= ftp/php${PHP_VER}-ftp
+gd_DEPENDS= graphics/php${PHP_VER}-gd
+gettext_DEPENDS=devel/php${PHP_VER}-gettext
+gmp_DEPENDS= math/php${PHP_VER}-gmp
+hash_DEPENDS= security/pecl-hash
+iconv_DEPENDS= converters/php${PHP_VER}-iconv
+imagick_DEPENDS=graphics/pecl-imagick
+imap_DEPENDS= mail/php${PHP_VER}-imap
+interbase_DEPENDS= databases/php${PHP_VER}-interbase
+ldap_DEPENDS= net/php${PHP_VER}-ldap
+mbstring_DEPENDS= converters/php${PHP_VER}-mbstring
+mcal_DEPENDS= misc/php${PHP_VER}-mcal
+mcrypt_DEPENDS= security/php${PHP_VER}-mcrypt
+mcve_DEPENDS= devel/php${PHP_VER}-mcve
+mhash_DEPENDS= security/php${PHP_VER}-mhash
+ming_DEPENDS= graphics/php${PHP_VER}-ming
+mnogosearch_DEPENDS= www/php${PHP_VER}-mnogosearch
+mssql_DEPENDS= databases/php${PHP_VER}-mssql
+mysql_DEPENDS= databases/php${PHP_VER}-mysql
+mysqli_DEPENDS= databases/php${PHP_VER}-mysqli
+ncurses_DEPENDS=devel/php${PHP_VER}-ncurses
+odbc_DEPENDS= databases/php${PHP_VER}-odbc
+openssl_DEPENDS=security/php${PHP_VER}-openssl
+oracle_DEPENDS= databases/php${PHP_VER}-oracle
+overload_DEPENDS=lang/php${PHP_VER}-overload
+panda_DEPENDS= print/pecl-panda
+pcntl_DEPENDS= devel/php${PHP_VER}-pcntl
+pcre_DEPENDS= devel/php${PHP_VER}-pcre
+pdf_DEPENDS= print/pecl-pdflib
+pdo_DEPENDS= databases/pecl-PDO
+pfpro_DEPENDS= finance/php${PHP_VER}-pfpro
+pgsql_DEPENDS= databases/php${PHP_VER}-pgsql
+posix_DEPENDS= sysutils/php${PHP_VER}-posix
+pspell_DEPENDS= textproc/php${PHP_VER}-pspell
+radius_DEPENDS= net/pecl-radius
+readline_DEPENDS= devel/php${PHP_VER}-readline
+recode_DEPENDS= converters/php${PHP_VER}-recode
+session_DEPENDS=www/php${PHP_VER}-session
+shmop_DEPENDS= devel/php${PHP_VER}-shmop
+simplexml_DEPENDS= textproc/php${PHP_VER}-simplexml
+snmp_DEPENDS= net-mgmt/php${PHP_VER}-snmp
+soap_DEPENDS= net/php${PHP_VER}-soap
+sockets_DEPENDS=net/php${PHP_VER}-sockets
+sqlite_DEPENDS= databases/php${PHP_VER}-sqlite
+sybase_ct_DEPENDS= databases/php${PHP_VER}-sybase_ct
+sysvmsg_DEPENDS=devel/php${PHP_VER}-sysvmsg
+sysvsem_DEPENDS=devel/php${PHP_VER}-sysvsem
+sysvshm_DEPENDS=devel/php${PHP_VER}-sysvshm
+tidy_DEPENDS= www/php${PHP_VER}-tidy
+tokenizer_DEPENDS= devel/php${PHP_VER}-tokenizer
+wddx_DEPENDS= textproc/php${PHP_VER}-wddx
+xml_DEPENDS= textproc/php${PHP_VER}-xml
+xmlreader_DEPENDS= textproc/php${PHP_VER}-xmlreader
+xmlrpc_DEPENDS= net/php${PHP_VER}-xmlrpc
+xmlwriter_DEPENDS= textproc/php${PHP_VER}-xmlwriter
+xsl_DEPENDS= textproc/php${PHP_VER}-xsl
+xslt_DEPENDS= textproc/php${PHP_VER}-xslt
+yaz_DEPENDS= net/pecl-yaz
+yp_DEPENDS= net/php${PHP_VER}-yp
+zip_DEPENDS= archivers/pecl-zip
+zlib_DEPENDS= archivers/php${PHP_VER}-zlib
+
+. for extension in ${USE_PHP}
+. if ${_USE_PHP_VER${PHP_VER}:M${extension}} != ""
+. if ${PHP_EXT_INC:M${extension}} == ""
+. if defined(USE_PHP_BUILD)
+BUILD_DEPENDS+= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS}
+. endif
+RUN_DEPENDS+= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS}
+. endif
+. else
+isyes= ${extension}
+. if ${isyes:L} != "yes"
+check-makevars::
+ @${ECHO_CMD} "Unknown extension ${extension} for PHP ${PHP_VER}."
+ @${FALSE}
+. endif
+. endif
+. endfor
+.endif
diff --git a/ports-mgmt/portmk/Mk/bsd.ruby.mk b/ports-mgmt/portmk/Mk/bsd.ruby.mk
new file mode 100644
index 000000000000..4dfa77fa2808
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.ruby.mk
@@ -0,0 +1,479 @@
+#
+# bsd.ruby.mk - Utility definitions for Ruby related ports.
+#
+# Created by: Akinori MUSHA <knu@FreeBSD.org>
+#
+# $FreeBSD: /tmp/pcvs/ports/ports-mgmt/portmk/Mk/Attic/bsd.ruby.mk,v 1.4 2006-06-27 19:47:13 linimon Exp $
+#
+
+.if !defined(Ruby_Include)
+
+Ruby_Include= bsd.ruby.mk
+Ruby_Include_MAINTAINER= knu@FreeBSD.org
+
+#
+# [variables that a user may define]
+#
+# RUBY_VER - (See below)
+# RUBY_DEFAULT_VER - Set to (e.g.) "1.8" if you want to refer to "ruby18" just as "ruby".
+# RUBY_ARCH - (See below)
+# RUBY_RD_HTML - Define if you want HTML files generated from RD files.
+#
+# [variables that each port can define]
+#
+# RUBY - Set to full path of ruby. If you set this, the values of the following variables are automatically obtained from the ruby executable: RUBY_VER, RUBY_VERSION, RUBY_NAME, RUBY_ARCH, RUBY_LIBDIR, RUBY_ARCHLIBDIR, RUBY_SITELIBDIR, and RUBY_SITEARCHLIBDIR.
+# RUBY_VER - Set to the alternative short version of ruby in the form of `x.y' (see below for current value).
+# USE_RUBY - Says that the port uses ruby for building and running.
+# RUBY_NO_BUILD_DEPENDS - Says that the port should not build-depend on ruby.
+# RUBY_NO_RUN_DEPENDS - Says that the port should not run-depend on ruby.
+# USE_LIBRUBY - Says that the port uses libruby.
+# USE_RUBY_EXTCONF - Says that the port uses extconf.rb to configure. Implies USE_RUBY.
+# RUBY_EXTCONF - Set to the alternative name of extconf.rb (default: extconf.rb).
+# RUBY_EXTCONF_SUBDIRS - Set to list of subdirectories, if multiple modules are included.
+# USE_RUBY_SETUP - Says that the port uses setup.rb to configure and build.
+# RUBY_SETUP - Set to the alternative name of setup.rb (default: setup.rb).
+# USE_RUBY_AMSTD - Says that the port uses amstd for building and running.
+# USE_RUBY_RDTOOL - Says that the port uses rdtool to generate documents.
+# USE_RUBY_RDOC - Says that the port uses rdoc to generate documents.
+# USE_RUBY_FEATURES - Says that the port requires some of the following features
+# for building and/or running (default: none):
+# benchmark bigdecimal devel-logger
+# dl drb erb
+# fileutils gserver iconv
+# ipaddr open-uri openssl
+# optparse pp racc-runtime
+# rdoc rexml ruby18
+# runit set soap
+# stringio strscan testunit
+# tsort webrick xmlrpc
+# yaml zlib
+# benchmark dl fileutil optparse pp racc-runtime
+# rexml ruby18 set stringio strscan tsort yaml
+# RUBY_REQUIRE - Set to a Ruby expression to evaluate before building the port. The constant "Ruby" is set to the integer version number of ruby, and the result of the expression will be set to RUBY_PROVIDED, which is left undefined if the result is nil, false or a zero-length string. Implies USE_RUBY.
+# RUBY_SHEBANG_FILES - Specify the files which shebang lines you want to fix.
+# RUBY_RD_FILES - Specify the RD files which you want to generate HTML documents from.
+# If this is defined and not empty, USE_RUBY_RDTOOL is implied and
+# RUBY_RD_HTML_FILES is defined.
+#
+# [variables that each port should not (re)define]
+#
+# RUBY_PKGNAMEPREFIX - Common PKGNAMEPREFIX for ruby ports (default: ruby${RUBY_SUFFIX}-)
+# RUBY_VERSION - Full version of ruby without preview/beta suffix in the form of `x.y.z' (see below for current value).
+# RUBY_VERSION_CODE - Full integer version of ruby without preview/beta suffix in the form of `xyz'.
+# RUBY_PORTVERSION - PORTVERSION for the standard ruby ports (ruby, ruby-gdbm, etc.).
+# RUBY_DISTNAME - DISTNAME for the standard ruby ports, i.e. the basename of the ruby distribution tarball.
+# RUBY_DISTVERSION - The version number part of RUBY_DISTNAME.
+# RUBY_PATCHFILES - PATCHFILES for the standard ruby ports, i.e. the basename of the ruby distribution tarball.
+# RUBY_WRKSRC - WRKSRC for the ruby port.
+# MASTER_SITE_SUBDIR_RUBY - MASTER_SITE_SUBDIR for the ruby distfiles.
+#
+# RUBY_SHLIBVER - Major version of libruby (see below for current value).
+# RUBY_ARCH - Set to target architecture name. (e.g. i386-freebsdelf4.3)
+# RUBY_SUFFIX - Suffix for ruby binaries and directories (${RUBY_VER:S/.//}).
+# RUBY_WITHOUT_SUFFIX - Always ${LOCALBASE}/bin/ruby.
+# RUBY_WITH_SUFFIX - Always ${RUBY_WITHOUT_SUFFIX}${RUBY_SUFFIX}.
+# RUBY_NAME - Ruby's name with trailing suffix.
+#
+# RUBY_MODNAME - Set to the module name (default: ${PORTNAME}).
+#
+# RUBY_RD2 - Full path of rd2 executable.
+# RUBY_RDOC - Full path of rdoc executable.
+#
+# RUBY_BASE_PORT - Port path of base ruby without PORTSDIR, without suffix except version.
+# RUBY_PORT - Port path of ruby without PORTSDIR.
+# RUBY_SHIM18_PORT - Port path of ruby16-shim-ruby18 without PORTSDIR.
+# RUBY_AMSTD_PORT - Port path of ruby-amstd without PORTSDIR.
+# RUBY_RDTOOL_PORT - Port path of rdtool without PORTSDIR.
+# RUBY_RDOC_PORT - Port path of rdoc without PORTSDIR.
+# RUBY_ICONV_PORT - Port path of ruby-iconv without PORTSDIR.
+#
+# DEPEND_LIBRUBY - LIB_DEPENDS entry for libruby.
+# DEPEND_RUBY - BUILD_DEPENDS/RUN_DEPENDS entry for ruby.
+# DEPEND_RUBY_SHIM18 - BUILD_DEPENDS/RUN_DEPENDS entry for ruby16-shim-ruby18.
+# DEPEND_RUBY_AMSTD - BUILD_DEPENDS/RUN_DEPENDS entry for ruby-amstd.
+# DEPEND_RUBY_RDTOOL - BUILD_DEPENDS entry for rdtool.
+# DEPEND_RUBY_RDOC - BUILD_DEPENDS entry for rdoc.
+# DEPEND_RUBY_ICONV - BUILD_DEPENDS/RUN_DEPENDS entry for ruby-iconv.
+#
+# RUBY_LIBDIR - Installation path for architecture independent libraries.
+# RUBY_ARCHLIBDIR - Installation path for architecture dependent libraries.
+# RUBY_SITELIBDIR - Installation path for site architecture independent libraries.
+# RUBY_SITEARCHLIBDIR - Installation path for site architecture dependent libraries.
+# RUBY_DOCDIR - Installation path for documents.
+# RUBY_EXAMPLESDIR - Installation path for examples.
+# RUBY_RIDIR - Installation path for site architecture independentri documents.
+# RUBY_SITERIDIR - Installation path for site architecture dependent ri documents.
+# RUBY_MODDOCDIR - Installation path for the module's documents.
+# RUBY_MODEXAMPLESDIR - Installation path for the module's examples.
+# RUBY_ELISPDIR - Installation path for emacs lisp files.
+#
+
+RUBY_DEFAULT_VER?= 1.8
+
+RUBY_VER?= ${RUBY_DEFAULT_VER}
+
+.if defined(RUBY)
+.if !exists(${RUBY})
+IGNORE= cannot install: you set the variable RUBY to "${RUBY}", but it does not seem to exist. Please specify an already installed ruby executable.
+.endif
+
+_RUBY_TEST!= ${RUBY} -e 'begin; require "rbconfig"; rescue LoadError; puts "error"; end'
+.if !empty(_RUBY_TEST)
+IGNORE= cannot install: you set the variable RUBY to "${RUBY}", but it failed to include rbconfig. Please specify a properly installed ruby executable.
+.endif
+
+_RUBY_CONFIG= ${RUBY} -r rbconfig -e 'C = Config::CONFIG' -e
+
+RUBY_VERSION!= ${_RUBY_CONFIG} 'puts VERSION'
+RUBY_SUFFIX?= # empty
+
+RUBY_ARCH!= ${_RUBY_CONFIG} 'puts C["target"]'
+RUBY_NAME!= ${_RUBY_CONFIG} 'puts C["ruby_install_name"]'
+
+_RUBY_SYSLIBDIR!= ${_RUBY_CONFIG} 'puts C["libdir"]'
+_RUBY_SITEDIR!= ${_RUBY_CONFIG} 'puts C["sitedir"]'
+.else
+RUBY?= ${LOCALBASE}/bin/${RUBY_NAME}
+
+.if defined(RUBY_VER) && ${RUBY_VER} == 1.8
+RUBY_VERSION?= 1.8.4
+#RUBY_DISTVERSION?= ${RUBY_VERSION}
+#RUBY_PATCHFILES?= ruby-${RUBY_DISTVERSION}-yyyy.mm.dd.diff.bz2
+
+# Security patch
+RUBY_PATCHFILES?= ${RUBY_VERSION}-patch1.gz
+
+#RUBY_PORTVERSION?= ${RUBY_VERSION}
+RUBY_WRKSRC= ${WRKDIR}/ruby-${RUBY_VERSION}
+#MASTER_SITE_SUBDIR_RUBY= snapshots
+.elif defined(RUBY_VER) && ${RUBY_VER} == 1.7
+IGNORE= Ruby 1.7 is obsolete; set RUBY_VER to 1.8 instead.
+.else
+RUBY_VERSION?= 1.6.8
+RUBY_DISTVERSION?= ${RUBY_VERSION}-2004.07.28
+#RUBY_PATCHFILES?= ruby-${RUBY_DISTVERSION}-${RUBY_PORTVERSION}.diff.bz2
+
+# Security patch
+RUBY_PATCHFILES?= ${RUBY_VERSION}-patch1.gz
+
+RUBY_PORTVERSION?= ${RUBY_VERSION}.2004.07.28
+#RUBY_WRKSRC= ${WRKDIR}/ruby-${RUBY_VERSION}
+MASTER_SITE_SUBDIR_RUBY= snapshots
+.endif
+# defined(RUBY_VER) && ${RUBY_VER} == 1.8
+
+CONFIGURE_TARGET?= ${ARCH}-portbld-freebsd${OSREL:C/\..*//}
+
+RUBY_ARCH?= ${ARCH}-freebsd${OSREL:C/\..*//}
+RUBY_NAME?= ruby${RUBY_SUFFIX}
+
+_RUBY_SYSLIBDIR?= ${LOCALBASE}/lib
+_RUBY_SITEDIR?= ${_RUBY_SYSLIBDIR}/ruby/site_ruby
+.endif
+# defined(RUBY)
+
+RUBY_DEFAULT_SUFFIX?= ${RUBY_DEFAULT_VER:S/.//}
+
+RUBY_DISTVERSION?= ${RUBY_VERSION}
+RUBY_PORTVERSION?= ${RUBY_VERSION}
+MASTER_SITE_SUBDIR_RUBY?= ${RUBY_VER}
+RUBY_DISTNAME?= ruby-${RUBY_DISTVERSION}
+
+RUBY_WRKSRC?= ${WRKDIR}/${RUBY_DISTNAME}
+
+RUBY_VERSION_CODE?= ${RUBY_VERSION:S/.//g}
+RUBY_VER= ${RUBY_VERSION:R}
+RUBY_SUFFIX= ${RUBY_VER:S/.//}
+
+RUBY_WITHOUT_SUFFIX?= ${LOCALBASE}/bin/ruby
+RUBY_WITH_SUFFIX?= ${RUBY_WITHOUT_SUFFIX}${RUBY_SUFFIX}
+
+RUBY_PKGNAMEPREFIX?= ruby${RUBY_SUFFIX}-
+RUBY_SHLIBVER?= ${RUBY_VER:S/.//}
+
+RUBY_CONFIGURE_ARGS+= --program-prefix=""
+
+DEPENDS_ARGS+= RUBY_VER="${RUBY_VER}"
+
+RUBY_CONFIGURE_ARGS+= --program-suffix="${RUBY_SUFFIX}"
+
+RUBY_MODNAME?= ${PORTNAME}
+
+# Commands
+RUBY_RD2?= ${LOCALBASE}/bin/rd2
+RUBY_RDOC?= ${LOCALBASE}/bin/rdoc
+
+# Ports
+RUBY_BASE_PORT?= lang/ruby${RUBY_VER:S/.//}
+RUBY_PORT?= ${RUBY_BASE_PORT}
+RUBY_SHIM18_PORT?= lang/ruby16-shim-ruby18
+RUBY_AMSTD_PORT?= devel/ruby-amstd
+RUBY_RDTOOL_PORT?= textproc/ruby-rdtool
+RUBY_RDOC_PORT?= textproc/ruby-rdoc
+RUBY_ICONV_PORT?= converters/ruby-iconv
+
+# Depends
+DEPEND_LIBRUBY?= ${RUBY_NAME}.${RUBY_SHLIBVER}:${PORTSDIR}/${RUBY_PORT}
+DEPEND_RUBY?= ${RUBY}:${PORTSDIR}/${RUBY_PORT}
+DEPEND_RUBY_SHIM18?= ${RUBY_SITEARCHLIBDIR}/features/ruby18/file_ruby18.so:${PORTSDIR}/${RUBY_SHIM18_PORT}
+DEPEND_RUBY_AMSTD?= ${RUBY_SITELIBDIR}/amstd/version.rb:${PORTSDIR}/${RUBY_AMSTD_PORT}
+DEPEND_RUBY_RDTOOL?= ${RUBY_RD2}:${PORTSDIR}/${RUBY_RDTOOL_PORT}
+.if ${RUBY_VER} <= 1.6
+DEPEND_RUBY_ICONV= ${RUBY_SITEARCHLIBDIR}/iconv.so:${PORTSDIR}/${RUBY_ICONV_PORT}
+.else
+DEPEND_RUBY_ICONV= ${RUBY_ARCHLIBDIR}/iconv.so:${PORTSDIR}/${RUBY_ICONV_PORT}
+.endif
+
+# Directories
+RUBY_LIBDIR?= ${_RUBY_SYSLIBDIR}/ruby/${RUBY_VER}
+RUBY_ARCHLIBDIR?= ${RUBY_LIBDIR}/${RUBY_ARCH}
+RUBY_SITELIBDIR?= ${_RUBY_SITEDIR}/${RUBY_VER}
+RUBY_SITEARCHLIBDIR?= ${RUBY_SITELIBDIR}/${RUBY_ARCH}
+RUBY_DOCDIR?= ${LOCALBASE}/share/doc/${RUBY_NAME}
+RUBY_EXAMPLESDIR?= ${LOCALBASE}/share/examples/${RUBY_NAME}
+RUBY_RIDIR?= ${LOCALBASE}/share/ri/${RUBY_VER}/system
+RUBY_SITERIDIR?= ${LOCALBASE}/share/ri/${RUBY_VER}/site
+RUBY_MODDOCDIR?= ${RUBY_DOCDIR}/${RUBY_MODNAME}
+RUBY_MODEXAMPLESDIR?= ${RUBY_EXAMPLESDIR}/${RUBY_MODNAME}
+RUBY_ELISPDIR?= ${_RUBY_SYSLIBDIR}/ruby/elisp
+
+# PLIST
+PLIST_RUBY_DIRS= RUBY_LIBDIR="${RUBY_LIBDIR}" \
+ RUBY_ARCHLIBDIR="${RUBY_ARCHLIBDIR}" \
+ RUBY_SITELIBDIR="${RUBY_SITELIBDIR}" \
+ RUBY_SITEARCHLIBDIR="${RUBY_SITEARCHLIBDIR}" \
+ RUBY_DOCDIR="${RUBY_DOCDIR}" \
+ RUBY_EXAMPLESDIR="${RUBY_EXAMPLESDIR}" \
+ RUBY_RIDIR="${RUBY_RIDIR}" \
+ RUBY_SITERIDIR="${RUBY_SITERIDIR}" \
+ RUBY_MODDOCDIR="${RUBY_MODDOCDIR}" \
+ RUBY_MODEXAMPLESDIR="${RUBY_MODEXAMPLESDIR}" \
+ RUBY_ELISPDIR="${RUBY_ELISPDIR}"
+
+PLIST_SUB+= RUBY_VERSION="${RUBY_VERSION}" \
+ RUBY_VER="${RUBY_VER}" \
+ RUBY_SHLIBVER="${RUBY_SHLIBVER}" \
+ RUBY_ARCH="${RUBY_ARCH}" \
+ RUBY_SUFFIX="${RUBY_SUFFIX}" \
+ RUBY_NAME="${RUBY_NAME}" \
+ RUBY_DEFAULT_SUFFIX="${RUBY_DEFAULT_SUFFIX}" \
+ ${PLIST_RUBY_DIRS:S,DIR="${LOCALBASE}/,DIR=",}
+
+.if ${RUBY_VER} >= 1.7
+RUBY18_ONLY= ""
+.elif ${RUBY_VER} >= 1.6
+RUBY16_ONLY= ""
+.endif
+
+RUBY16_ONLY?= "@comment "
+RUBY18_ONLY?= "@comment "
+
+PLIST_SUB+= RUBY16_ONLY=${RUBY16_ONLY} \
+ RUBY18_ONLY=${RUBY18_ONLY}
+
+# require check
+.if defined(RUBY_REQUIRE)
+USE_RUBY= yes
+
+.if exists(${RUBY})
+RUBY_PROVIDED!= ${RUBY} -e '\
+ Ruby = ${RUBY_VERSION_CODE}; \
+ value = begin; ${RUBY_REQUIRE}; end and puts value'
+.else
+RUBY_PROVIDED= "should be" # the latest version is going to be installed
+.endif
+
+.if empty(RUBY_PROVIDED)
+.undef RUBY_PROVIDED
+.endif
+.endif
+
+# fix shebang lines
+.if defined(RUBY_SHEBANG_FILES) && !empty(RUBY_SHEBANG_FILES)
+USE_RUBY= yes
+
+post-patch: ruby-shebang-patch
+
+ruby-shebang-patch:
+ @cd ${WRKSRC}; for f in ${RUBY_SHEBANG_FILES}; do \
+ ${ECHO_MSG} "===> Fixing the #! line of $$f"; \
+ ${RUBY} ${RUBY_FLAGS} -i -p \
+ -e 'if $$. == 1; ' \
+ -e ' if /^#!/; ' \
+ -e ' sub /^#!\s*\S*(\benv\s+)?\bruby/, "#!${RUBY}";' \
+ -e ' else;' \
+ -e ' $$_ = "#!${RUBY}\n" + $$_;' \
+ -e ' end;' \
+ -e 'end' \
+ $$f; \
+ done
+.endif
+
+.if defined(DEBUG)
+RUBY_FLAGS+= -d
+.endif
+
+# extconf.rb
+.if defined(USE_RUBY_EXTCONF)
+USE_RUBY= yes
+
+RUBY_EXTCONF?= extconf.rb
+CONFIGURE_ARGS+= --with-opt-dir="${LOCALBASE}"
+
+do-configure: ruby-extconf-configure
+
+ruby-extconf-configure:
+.if defined(RUBY_EXTCONF_SUBDIRS)
+.for d in ${RUBY_EXTCONF_SUBDIRS}
+ @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} in ${d} to configure"
+ @cd ${CONFIGURE_WRKSRC}/${d}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_EXTCONF} ${CONFIGURE_ARGS}
+.endfor
+.else
+ @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} to configure"
+ @cd ${CONFIGURE_WRKSRC}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_EXTCONF} ${CONFIGURE_ARGS}
+.endif
+.endif
+
+# setup.rb
+.if defined(USE_RUBY_SETUP)
+RUBY_SETUP?= setup.rb
+
+do-configure: ruby-setup-configure
+
+ruby-setup-configure:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to configure"
+ @cd ${BUILD_WRKSRC}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} config ${CONFIGURE_ARGS}
+
+do-build: ruby-setup-build
+
+ruby-setup-build:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to build"
+ @cd ${BUILD_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} setup
+
+do-install: ruby-setup-install
+
+ruby-setup-install:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to install"
+ @cd ${INSTALL_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} install
+.endif
+
+.if defined(USE_LIBRUBY)
+LIB_DEPENDS+= ${DEPEND_LIBRUBY}
+.endif
+
+.if defined(USE_RUBY)
+.if !defined(RUBY_NO_BUILD_DEPENDS)
+EXTRACT_DEPENDS+= ${DEPEND_RUBY}
+PATCH_DEPENDS+= ${DEPEND_RUBY}
+BUILD_DEPENDS+= ${DEPEND_RUBY}
+.endif
+.if !defined(RUBY_NO_RUN_DEPENDS)
+RUN_DEPENDS+= ${DEPEND_RUBY}
+.endif
+.endif
+
+.if !defined(NOPORTDOCS) && defined(USE_RUBY_RDOC)
+USE_RUBY_FEATURES+= rdoc
+.endif
+
+.if defined(USE_RUBY_FEATURES)
+_use= ${USE_RUBY_FEATURES:Mbenchmark} \
+ ${USE_RUBY_FEATURES:Mbigdecimal} \
+ ${USE_RUBY_FEATURES:Mdevel-logger} \
+ ${USE_RUBY_FEATURES:Mdl} \
+ ${USE_RUBY_FEATURES:Mdrb} \
+ ${USE_RUBY_FEATURES:Merb} \
+ ${USE_RUBY_FEATURES:Mfileutils} \
+ ${USE_RUBY_FEATURES:Mgserver} \
+ ${USE_RUBY_FEATURES:Mipaddr} \
+ ${USE_RUBY_FEATURES:Mopen-uri} \
+ ${USE_RUBY_FEATURES:Mopenssl} \
+ ${USE_RUBY_FEATURES:Moptparse} \
+ ${USE_RUBY_FEATURES:Mpp} \
+ ${USE_RUBY_FEATURES:Mracc-runtime} \
+ ${USE_RUBY_FEATURES:Mrdoc} \
+ ${USE_RUBY_FEATURES:Mrexml} \
+ ${USE_RUBY_FEATURES:Mruby18} \
+ ${USE_RUBY_FEATURES:Mrunit} \
+ ${USE_RUBY_FEATURES:Mset} \
+ ${USE_RUBY_FEATURES:Msoap} \
+ ${USE_RUBY_FEATURES:Mstringio} \
+ ${USE_RUBY_FEATURES:Mstrscan} \
+ ${USE_RUBY_FEATURES:Mtestunit} \
+ ${USE_RUBY_FEATURES:Mtsort} \
+ ${USE_RUBY_FEATURES:Mwebrick} \
+ ${USE_RUBY_FEATURES:Mxmlrpc} \
+ ${USE_RUBY_FEATURES:Myaml} \
+ ${USE_RUBY_FEATURES:Mzlib}
+.if !empty(_use) && ${RUBY_VER} <= 1.6
+BUILD_DEPENDS+= ${DEPEND_RUBY_SHIM18}
+RUN_DEPENDS+= ${DEPEND_RUBY_SHIM18}
+.endif
+
+_use= ${USE_RUBY_FEATURES:Miconv}
+.if !empty(_use)
+BUILD_DEPENDS+= ${DEPEND_RUBY_ICONV}
+RUN_DEPENDS+= ${DEPEND_RUBY_ICONV}
+.endif
+
+.undef _use
+.endif
+
+.if defined(USE_RUBY_AMSTD)
+BUILD_DEPENDS+= ${DEPEND_RUBY_AMSTD}
+RUN_DEPENDS+= ${DEPEND_RUBY_AMSTD}
+.endif
+
+# documents
+
+RUBY_NO_RD_HTML= yes
+
+.if defined(RUBY_RD_HTML)
+.undef RUBY_NO_RD_HTML
+.endif
+
+.if (${ARCH} == alpha || ${ARCH} == sparc64) && ${RUBY_VER} <= 1.6
+RUBY_NO_RD_HTML= yes
+.endif
+
+.if defined(NOPORTDOCS)
+RUBY_NO_RD_HTML= yes
+.endif
+
+.if defined(RUBY_RD_FILES) && !defined(RUBY_NO_RD_HTML)
+USE_RUBY_RDTOOL= yes
+
+RUBY_RD_HTML_FILES= ${RUBY_RD_FILES:S/.rb$//:S/.rd././:S/.rd$//:S/$/.html/}
+
+PLIST_SUB+= RUBY_RD_HTML_FILES=""
+
+pre-install: ruby-rd-build
+
+ruby-rd-build:
+.if !empty(RUBY_RD_FILES)
+ @${ECHO_MSG} "===> Generating HTML documents from RD documents"
+ @cd ${WRKSRC}; for rd in ${RUBY_RD_FILES}; do \
+ html=$$(echo $$rd | ${SED} 's/\.rb$$//;s/\.rd\././;s/\.rd$$//').html; \
+ ${ECHO_MSG} "${RUBY_RD2} $$rd > $$html"; \
+ ${RUBY_RD2} $$rd > $$html; \
+ done
+.else
+ @${DO_NADA}
+.endif
+
+.else
+RUBY_RD_HTML_FILES= # empty
+
+PLIST_SUB+= RUBY_RD_HTML_FILES="@comment "
+.endif
+
+.if !defined(NOPORTDOCS) && defined(USE_RUBY_RDTOOL)
+BUILD_DEPENDS+= ${DEPEND_RUBY_RDTOOL}
+.endif
+
+.endif