mirror of
https://github.com/macports/macports-user-wms.git
synced 2026-07-13 03:18:37 -07:00
Branch into /users/wms/
git-svn-id: https://svn.macports.org/repository/macports/users/wms@97674 d073be05-634f-4543-b044-5fe20cf6d1d6
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,236 @@
|
||||
# Doxyfile 1.5.4
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME = @PACKAGE_NAME@
|
||||
PROJECT_NUMBER = @PACKAGE_VERSION@
|
||||
OUTPUT_DIRECTORY =
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF =
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = YES
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
QT_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = NO
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 8
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
CPP_CLI_SUPPORT = NO
|
||||
SIP_SUPPORT = NO
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
SUBGROUPING = YES
|
||||
TYPEDEF_HIDES_STRUCT = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
EXTRACT_ANON_NSPACES = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = NO
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = YES
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT = "$file:$line: $text "
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = src
|
||||
INPUT_ENCODING = UTF-8
|
||||
FILE_PATTERNS = *.tcl \
|
||||
*.c \
|
||||
*.m \
|
||||
*.h
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXCLUDE_SYMBOLS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS = *.tcl=@prefix@/bin/tcl-dox
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = YES
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = NO
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = NO
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = tcldox
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
HTML_DYNAMIC_SECTIONS = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
MSCGEN_PATH =
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = YES
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = NO
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
CALLER_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH = @prefix@/bin/
|
||||
DOTFILE_DIRS =
|
||||
DOT_GRAPH_MAX_NODES = 50
|
||||
MAX_DOT_GRAPH_DEPTH = 0
|
||||
DOT_TRANSPARENT = NO
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
||||
@@ -0,0 +1,72 @@
|
||||
# Project naming and copyright attribution:
|
||||
|
||||
* "The MacPorts Project" is the string that shall be used wherever
|
||||
there's a need to reference our project name, such as in copyright
|
||||
notices.
|
||||
|
||||
* A developer or contributor is advised to attribute himself a copyright
|
||||
notice if he/she is contributing a full new source file or a full
|
||||
new feature to an already existing source file in the "base"
|
||||
component of our repository.
|
||||
|
||||
* An exception to this rule is our Portfiles, since they are partly
|
||||
meant for human eyes consumption and the boilerplate header comments
|
||||
should be kept down to a minimum
|
||||
|
||||
* A copyright notice attributed to our group name, "The MacPorts
|
||||
Project", should also be added to these source files (if not already
|
||||
there) if they're being uploaded to the "base" component of our
|
||||
repository, since as such they are being contributed to the project.
|
||||
|
||||
|
||||
# Commits to the "base" component of the repository:
|
||||
|
||||
* Commits with user-visible affect made to the "base" component of the
|
||||
repository should be accompanied by a corresponding entry in the
|
||||
base/ChangeLog file, with references to pertinent Trac ticket
|
||||
numbers and svn commit revisions where appropriate.
|
||||
|
||||
* Such entries to the ChangeLog need not be full duplications of their
|
||||
related commit logs if the latter are thorough explanations of
|
||||
what's involved in the commit. In such cases it's perfectly
|
||||
acceptable to enter just a summary of the commit and point the
|
||||
reader to further information through the related svn revision and
|
||||
Trac ticket number (if applicable).
|
||||
|
||||
* Related commits to "base" should be grouped in a single ChangeLog
|
||||
entry.
|
||||
|
||||
* Commits to "base" need not update the base/NEWS file, as such will be
|
||||
constructed with the relevant information at MacPorts release time
|
||||
by the release engineers.
|
||||
|
||||
|
||||
# Whitespace rules as discussed on the development list (macports-dev):
|
||||
|
||||
* All source code files MUST use soft tabs at a tabstop of 4. No hard
|
||||
tabs are allowed.
|
||||
|
||||
* All source code files SHOULD have the following as the first line of
|
||||
the file:
|
||||
|
||||
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
||||
|
||||
This is a modeline that works for both emacs and vim.
|
||||
|
||||
* Portfiles SHOULD use soft tabs at a tabstop of 4, but implementation
|
||||
of this is left up to the discretion of the maintainer.
|
||||
|
||||
* Portfiles SHOULD use the given modeline
|
||||
|
||||
* Makefiles MUST use tabs as it is required by the syntax. Makefiles
|
||||
SHOULD use a tab stop of 8.
|
||||
|
||||
* Makefiles MAY use a modeline. The following works for emacs and vim:
|
||||
|
||||
# -*- coding: utf-8; mode: Makefile; tab-width: 8; indent-tabs-mode: t -*- vim:fenc=utf-8:ft=Makefile:noet:sw=8:ts=8
|
||||
|
||||
* All other files (documentation, etc) SHOULD use soft tabs at a tabstop
|
||||
of 4 if the document format allows.
|
||||
|
||||
* All other files (documentation, etc) SHOULD NOT use a modeline as it
|
||||
is probably meant for human consumption.
|
||||
@@ -0,0 +1,27 @@
|
||||
Copyright (c) 2002 - 2003, Apple Inc.
|
||||
Copyright (c) 2004 - 2012, The MacPorts Project.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of Apple Inc., The MacPorts Project nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
@@ -0,0 +1,160 @@
|
||||
# $Id$
|
||||
|
||||
PATH = @PATH_CLEANED@
|
||||
SUBDIR = doc src tests
|
||||
DISTDIR = dist
|
||||
DISTVER =
|
||||
DISTTAG = release_${subst .,_,${DISTVER}}
|
||||
DISTNAME = MacPorts-${DISTVER}
|
||||
DISTARCTAG = ${DISTTAG}-archive
|
||||
DISTARCNAME = ${DISTNAME}-archive
|
||||
SVNURL = https://svn.macports.org/repository/macports
|
||||
|
||||
|
||||
include Mk/macports.autoconf.mk
|
||||
|
||||
|
||||
all:: Mk/macports.autoconf.mk
|
||||
|
||||
Mk/macports.autoconf.mk: Mk/macports.autoconf.mk.in src/config.h.in Makefile.in config.status
|
||||
./config.status
|
||||
${MAKE} clean
|
||||
|
||||
config.status: configure
|
||||
@if test -f ./config.status ; then \
|
||||
set -x ; \
|
||||
./config.status --recheck ; \
|
||||
else \
|
||||
set -x ; \
|
||||
echo "Source tree not configured. Use ./configure" ; \
|
||||
fi
|
||||
|
||||
include Mk/macports.subdir.mk
|
||||
|
||||
install::
|
||||
[ ! -f "$(DESTDIR)${sysconfdir}/macports/mp_version" ] || rm -vf "$(DESTDIR)${sysconfdir}/macports/mp_version"
|
||||
$(INSTALL) -d -o ${DSTUSR} -g ${DSTGRP} -m ${DSTMODE} "$(DESTDIR)${datadir}/macports/"
|
||||
$(INSTALL) -o ${DSTUSR} -g ${DSTGRP} -m 444 setupenv.bash "$(DESTDIR)${datadir}/macports/"
|
||||
$(INSTALL) -o ${DSTUSR} -g ${DSTGRP} -m 444 macports-pubkey.pem "$(DESTDIR)${datadir}/macports/"
|
||||
# Only run these scripts when not building in a destroot
|
||||
ifeq ($(DESTDIR),)
|
||||
# create run user if it doesn't exist
|
||||
@if test -n "${DSCL}" -a -n "${DSEDITGROUP}" ; then \
|
||||
if ! ${DSCL} -q . -read /Groups/${RUNUSR} > /dev/null 2>&1 ; then \
|
||||
if test `id -u` -eq 0; then \
|
||||
echo "Creating group \"${RUNUSR}\"" ; \
|
||||
${DSEDITGROUP} -q -o create ${RUNUSR} ; \
|
||||
else \
|
||||
echo "Not creating group \"${RUNUSR}\" (not root)" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if ! ${DSCL} -q . -list /Users/${RUNUSR} > /dev/null 2>&1 ; then \
|
||||
if test `id -u` -eq 0; then \
|
||||
echo "Creating user \"${RUNUSR}\"" ; \
|
||||
NEXTUID=501; \
|
||||
while test -n "`${DSCL} -q /Search -search /Users UniqueID $$NEXTUID`"; do \
|
||||
let "NEXTUID=NEXTUID+1"; \
|
||||
done; \
|
||||
${DSCL} -q . -create /Users/${RUNUSR} UniqueID $$NEXTUID ; \
|
||||
\
|
||||
${DSCL} -q . -delete /Users/${RUNUSR} AuthenticationAuthority ; \
|
||||
${DSCL} -q . -delete /Users/${RUNUSR} PasswordPolicyOptions ; \
|
||||
${DSCL} -q . -delete /Users/${RUNUSR} dsAttrTypeNative:KerberosKeys ; \
|
||||
${DSCL} -q . -delete /Users/${RUNUSR} dsAttrTypeNative:ShadowHashData ; \
|
||||
\
|
||||
${DSCL} -q . -create /Users/${RUNUSR} RealName MacPorts ; \
|
||||
${DSCL} -q . -create /Users/${RUNUSR} Password \* ; \
|
||||
${DSCL} -q . -create /Users/${RUNUSR} PrimaryGroupID $$(${DSCL} -q . -read /Groups/${RUNUSR} PrimaryGroupID | /usr/bin/awk '{print $$2}') ; \
|
||||
${DSCL} -q . -create /Users/${RUNUSR} NFSHomeDirectory "${localstatedir}/macports/home" ; \
|
||||
${DSCL} -q . -create /Users/${RUNUSR} UserShell /usr/bin/false ; \
|
||||
else \
|
||||
echo "Not creating user \"${RUNUSR}\" (not root)" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if test "$$(${DSCL} -q . -read /Users/${RUNUSR} NFSHomeDirectory)" = "NFSHomeDirectory: /var/empty" ; then \
|
||||
if test `id -u` -eq 0; then \
|
||||
echo "Updating home directory location for user \"${RUNUSR}\"" ; \
|
||||
${DSCL} -q . -create /Users/${RUNUSR} NFSHomeDirectory "${localstatedir}/macports/home" ; \
|
||||
else \
|
||||
echo "Not updating home directory location for user \"${RUNUSR}\" (not root)" ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
if test `sw_vers -productVersion | /usr/bin/awk -F . '{print $$2}'` -eq 4 -a `id -u` -eq 0; then \
|
||||
GID=`${DSCL} -q . -read /Groups/${RUNUSR} PrimaryGroupID | /usr/bin/awk '{print $$2}'` ; \
|
||||
if test "`${DSCL} -q . -read /Users/${RUNUSR} PrimaryGroupID 2>/dev/null | /usr/bin/awk '{print $$2}'`" != "$$GID"; then \
|
||||
echo "Fixing PrimaryGroupID for user \"${RUNUSR}\"" ; \
|
||||
${DSCL} -q . -create /Users/${RUNUSR} PrimaryGroupID $$GID ; \
|
||||
${DSCL} -q . -create /Users/${RUNUSR} RealName MacPorts ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
else \
|
||||
echo "Can't find ${DSCL} / ${DSEDITGROUP}, not creating user \"${RUNUSR}\"" ; \
|
||||
fi
|
||||
# Add [default] tag to the central MacPorts repository, if it isn't already
|
||||
$(TCLSH) src/upgrade_sources_conf_default.tcl "${prefix}"
|
||||
# Convert image directories (and direct mode installs) to image archives
|
||||
$(TCLSH) src/images_to_archives.tcl "${macports_tcl_dir}"
|
||||
endif
|
||||
ifndef SELFUPDATING
|
||||
@echo ""; echo "Congratulations, you have successfully installed the MacPorts system. To get the Portfiles and update the system, add ${prefix}/bin to your PATH and run:"; echo ""
|
||||
@echo "sudo port -v selfupdate"; echo ""
|
||||
@echo "Please read \"man port\", the MacPorts guide at http://guide.macports.org/ and Wiki at https://trac.macports.org/ for full documentation."; echo ""
|
||||
else
|
||||
@echo ""; echo "Congratulations, you have successfully upgraded the MacPorts system."; echo ""
|
||||
endif
|
||||
|
||||
group::
|
||||
@echo "creating a macports group..." && sudo dseditgroup -o create -n . macports && echo "done! use './configure --with-install-group=macports --with-shared-directory' if you haven't already"
|
||||
|
||||
rmgroup::
|
||||
@echo "deleting macports group..." && sudo dseditgroup -o delete -n . macports && echo "done! use 'make group' to re-create"
|
||||
|
||||
|
||||
clean::
|
||||
|
||||
distclean::
|
||||
rm -f config.log config.status configure.lineno
|
||||
rm -rf autom4te.cache ${DISTDIR}
|
||||
rm -f Makefile Mk/macports.autoconf.mk portmgr/freebsd/Makefile
|
||||
rm -f Doxyfile
|
||||
rm -f setupenv.bash
|
||||
|
||||
_gettag:
|
||||
cd ${DISTDIR}; svn co ${SVNURL}/tags/${SVNTAG} ${PKGNAME}-svn
|
||||
|
||||
_pkgdist:
|
||||
[ ! -d ${DISTDIR}/${PKGNAME} ] || rm -rf ${DISTDIR}/${PKGNAME}
|
||||
cd ${DISTDIR}; svn export ${PKGNAME}-svn ${PKGNAME}
|
||||
cd ${DISTDIR}; COPY_EXTENDED_ATTRIBUTES_DISABLE=true tar -c ${PKGNAME} | gzip > ${PKGNAME}.tar.gz
|
||||
cd ${DISTDIR}; COPY_EXTENDED_ATTRIBUTES_DISABLE=true tar -c ${PKGNAME} | bzip2 > ${PKGNAME}.tar.bz2
|
||||
cd ${DISTDIR}; for tarball in ${PKGNAME}.tar.*; do { \
|
||||
for type in -md5 -sha1 -ripemd160 -sha256; do { \
|
||||
openssl dgst $$type $$tarball; \
|
||||
}; done >> ${DISTNAME}.chk.txt; \
|
||||
}; done
|
||||
|
||||
_dopkg: _gettag _pkgdist
|
||||
|
||||
# This target fetches a tagged distribution from svn, and generates tarballs and checksums for it
|
||||
distfromsvn:
|
||||
@[ -n "${DISTVER}" ] || { echo Must specify DISTVER, like: make DISTVER=1.4.0 distfromsvn; exit 1; }
|
||||
[ -d ${DISTDIR} ] || mkdir ${DISTDIR}
|
||||
rm -f ${DISTDIR}/${DISTNAME}.chk.txt
|
||||
${MAKE} SVNTAG=${DISTTAG}/base/ PKGNAME=${DISTNAME} _dopkg
|
||||
ifeq ($(ARC),yes)
|
||||
${MAKE} SVNTAG=${DISTARCTAG} PKGNAME=${DISTARCNAME} _dopkg
|
||||
endif
|
||||
|
||||
tcldoc:
|
||||
@[ -e "${prefix}/bin/tcldoc" ] \
|
||||
|| { echo "Install tcldoc with MacPorts in ${prefix} first."; exit 1; }
|
||||
find src -name '*.tcl' | xargs ${TCLDOC} --verbose --title "MacPorts Documentation" --force tcldoc
|
||||
|
||||
tcldox:
|
||||
@[ -e "${prefix}/bin/doxygen" -a -e "${prefix}/bin/tcl-dox" -a -e "${prefix}/bin/dot" ] \
|
||||
|| { echo "Install doxygen, tcl-dox and graphviz with MacPorts in ${prefix} first."; exit 1; }
|
||||
${prefix}/bin/doxygen
|
||||
|
||||
test::
|
||||
|
||||
.PHONY: dist _gettag _pkgdist _dopkg tcldoc tcldox
|
||||
@@ -0,0 +1,76 @@
|
||||
# $Id$
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
CC = @CC@
|
||||
CFLAGS = @CFLAGS@ $(CFLAGS_QUICHEEATERS) $(CFLAGS_PEDANTIC) $(CFLAGS_WERROR)
|
||||
OBJCFLAGS = @OBJCFLAGS@ $(CFLAGS_QUICHEEATERS) $(CFLAGS_PEDANTIC) $(CFLAGS_WERROR)
|
||||
CPPFLAGS = @CPPFLAGS@ @DEFS@ @INCLUDES@ @TCL_INCLUDES@
|
||||
TCL_DEFS = @TCL_DEFS@
|
||||
SHLIB_CFLAGS = @SHLIB_CFLAGS@
|
||||
CFLAGS_QUICHEEATERS = @CFLAGS_QUICHEEATERS@
|
||||
CFLAGS_PEDANTIC = @CFLAGS_PEDANTIC@
|
||||
CFLAGS_WERROR = @CFLAGS_WERROR@
|
||||
|
||||
READLINE_CFLAGS =
|
||||
MD5_CFLAGS =
|
||||
SQLITE3_CFLAGS = @CFLAGS_SQLITE3@
|
||||
CURL_CFLAGS = @CFLAGS_LIBCURL@
|
||||
|
||||
OBJC_RUNTIME = @OBJC_RUNTIME@
|
||||
OBJC_RUNTIME_FLAGS = @OBJC_RUNTIME_FLAGS@
|
||||
OBJC_LIBS = @OBJC_LIBS@
|
||||
|
||||
OBJC_FOUNDATION = @OBJC_FOUNDATION@
|
||||
OBJC_FOUNDATION_CPPFLAGS = @OBJC_FOUNDATION_CPPFLAGS@
|
||||
OBJC_FOUNDATION_LDFLAGS = @OBJC_FOUNDATION_LDFLAGS@
|
||||
OBJC_FOUNDATION_LIBS = @OBJC_FOUNDATION_LIBS@
|
||||
|
||||
TCL_CC = @TCL_CC@
|
||||
SHLIB_LD = @SHLIB_LD@
|
||||
STLIB_LD = @STLIB_LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
SHLIB_LDFLAGS = @SHLIB_LDFLAGS@ ${LDFLAGS}
|
||||
SHLIB_SUFFIX = @SHLIB_SUFFIX@
|
||||
TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
|
||||
|
||||
LIBS = @LIBS@
|
||||
READLINE_LIBS = @READLINE_LIBS@
|
||||
MD5_LIBS = @MD5_LIBS@
|
||||
SQLITE3_LIBS = @LDFLAGS_SQLITE3@
|
||||
CURL_LIBS = @LDFLAGS_LIBCURL@
|
||||
INSTALL = @INSTALL@
|
||||
MTREE = @MTREE@
|
||||
LN_S = @LN_S@
|
||||
XCODEBUILD = @XCODEBUILD@
|
||||
BZIP2 = @BZIP2@
|
||||
|
||||
TCLSH = @TCLSH@
|
||||
TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@
|
||||
macports_tcl_dir = @macports_tcl_dir@
|
||||
|
||||
DSCL = @DSCL@
|
||||
DSEDITGROUP = @DSEDITGROUP@
|
||||
DSTUSR = @DSTUSR@
|
||||
DSTGRP = @DSTGRP@
|
||||
DSTMODE = @DSTMODE@
|
||||
RUNUSR = @RUNUSR@
|
||||
|
||||
prefix = @prefix@
|
||||
sysconfdir = @sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
datarootdir = @datarootdir@
|
||||
datadir = @datadir@
|
||||
libdir = @libdir@
|
||||
localstatedir = @localstatedir@
|
||||
infodir = @infodir@
|
||||
|
||||
mpconfigdir = @MPCONFIGDIR@
|
||||
portsdir = @PORTSDIR@
|
||||
|
||||
SILENT = @
|
||||
@@ -0,0 +1,29 @@
|
||||
# $Id$
|
||||
|
||||
.PHONY : all
|
||||
.PHONY : clean distclean
|
||||
.PHONY : install
|
||||
|
||||
all::
|
||||
@for subdir in $(SUBDIR); do\
|
||||
echo ===\> making $@ in ${DIRPRFX}$$subdir; \
|
||||
( cd $$subdir && $(MAKE) DIRPRFX=${DIRPRFX}$$subdir/ $@) || exit 1; \
|
||||
done
|
||||
|
||||
clean distclean::
|
||||
@for subdir in $(SUBDIR); do\
|
||||
echo ===\> making $@ in ${DIRPRFX}$$subdir; \
|
||||
( cd $$subdir && $(MAKE) DIRPRFX=${DIRPRFX}$$subdir/ $@) || exit 1; \
|
||||
done
|
||||
|
||||
test::
|
||||
@for subdir in $(SUBDIR); do\
|
||||
echo ===\> making $@ in ${DIRPRFX}$$subdir; \
|
||||
( cd $$subdir && $(MAKE) DIRPRFX=${DIRPRFX}$$subdir/ $@) || exit 1; \
|
||||
done
|
||||
|
||||
install::
|
||||
@for subdir in $(SUBDIR); do\
|
||||
echo ===\> making $@ in ${DIRPRFX}$$subdir; \
|
||||
( cd $$subdir && $(MAKE) DIRPRFX=${DIRPRFX}$$subdir/ $@) || exit 1; \
|
||||
done
|
||||
@@ -0,0 +1,27 @@
|
||||
# $Id$
|
||||
|
||||
.SUFFIXES: .m
|
||||
|
||||
.m.o:
|
||||
${CC} -c -DUSE_TCL_STUBS -DTCL_NO_DEPRECATED ${OBJCFLAGS} ${CPPFLAGS} ${SHLIB_CFLAGS} $< -o $@
|
||||
|
||||
.c.o:
|
||||
${CC} -c -DUSE_TCL_STUBS -DTCL_NO_DEPRECATED ${CFLAGS} ${CPPFLAGS} ${SHLIB_CFLAGS} $< -o $@
|
||||
|
||||
all:: ${SHLIB_NAME} pkgIndex.tcl
|
||||
|
||||
$(SHLIB_NAME):: ${OBJS}
|
||||
${SHLIB_LD} ${OBJS} -o ${SHLIB_NAME} ${TCL_STUB_LIB_SPEC} ${SHLIB_LDFLAGS} ${LIBS}
|
||||
|
||||
pkgIndex.tcl: $(SHLIB_NAME)
|
||||
$(SILENT) ../pkg_mkindex.sh . || ( rm -rf $@ && exit 1 )
|
||||
|
||||
clean::
|
||||
rm -f ${OBJS} ${SHLIB_NAME} so_locations pkgIndex.tcl
|
||||
|
||||
distclean:: clean
|
||||
|
||||
install:: all
|
||||
$(INSTALL) -d -o ${DSTUSR} -g ${DSTGRP} -m ${DSTMODE} ${INSTALLDIR}
|
||||
$(INSTALL) -o ${DSTUSR} -g ${DSTGRP} -m 444 ${SHLIB_NAME} ${INSTALLDIR}
|
||||
$(INSTALL) -o ${DSTUSR} -g ${DSTGRP} -m 444 pkgIndex.tcl ${INSTALLDIR}
|
||||
+267
@@ -0,0 +1,267 @@
|
||||
== Overview of changes from MacPorts 2.0.4 to 2.1.0 ==
|
||||
|
||||
# For regular users:
|
||||
|
||||
*) New 'rev-upgrade' action that checks for and rebuilds ports that may have
|
||||
become incorrectly linked when a dependency was upgraded to a new,
|
||||
binary-incompatible version. This runs automatically after upgrades and
|
||||
installs by default, and can be turned off or configured to only report
|
||||
problems in macports.conf.
|
||||
|
||||
*) The pkg and mpkg targets will create flat packages on 10.6+.
|
||||
|
||||
*) Build-time dependencies will no longer be installed if a prebuilt
|
||||
archive is available for download (and port is configured to use it).
|
||||
|
||||
*) Config file archive_sites.conf can be used to download archives from
|
||||
custom locations.
|
||||
|
||||
*) 'buildfromsource' macports.conf option allows permanently choosing
|
||||
source-only or binary-only mode.
|
||||
|
||||
*) New macports.conf options 'host_blacklist' and 'preferred_hosts', for
|
||||
controlling which download hosts will be used.
|
||||
|
||||
# For Portfile writers:
|
||||
|
||||
*) New -W option for reinplace that sets a base directory for all file
|
||||
arguments.
|
||||
|
||||
*) Livecheck can now find multiple regex matches on each line.
|
||||
|
||||
*) license_noconflict option can be used to override automatic license
|
||||
compatibility checks.
|
||||
|
||||
*) compiler.whitelist, compiler.blacklist, and compiler.fallback options allow
|
||||
simpler, detailed control over which compilers are used to build ports.
|
||||
|
||||
|
||||
== Overview of changes from MacPorts 1.9.2 to 2.0.0 ==
|
||||
|
||||
# For regular users:
|
||||
|
||||
*) Downloaded archives are now checked for integrity using digital signatures.
|
||||
New pubkeys.conf file allows configuring keys to trust.
|
||||
|
||||
*) Actions can be abbreviated to an unambiguous prefix of the full name.
|
||||
|
||||
*) Ports that create StartupItems (aka launchd plists) should now be
|
||||
installable by unprivileged users.
|
||||
|
||||
*) Port images are now stored as archives. Archive mode is now effectively
|
||||
always on. Direct mode and the flat registry format are no longer
|
||||
available. Conversion will happen automatically.
|
||||
|
||||
# For Portfile writers:
|
||||
|
||||
*) Multiple ports can now be defined in one Portfile using the 'subport'
|
||||
procedure.
|
||||
|
||||
*) New option 'add_users' can be set to ensure that the listed users are
|
||||
created at the right times during the install process.
|
||||
|
||||
*) SHA256 checksums are now supported.
|
||||
|
||||
== Overview of changes from MacPorts 1.8.2 to 1.9.0 ==
|
||||
|
||||
# For regular users:
|
||||
|
||||
*) All output is now logged to a file, whose location will be shown if a port
|
||||
target fails. This should be attached to bug reports. The new 'log' action
|
||||
can also be used to view the log for a port.
|
||||
*) Command line options can be abbreviated if unambiguous.
|
||||
*) New actions: rdeps, rdependents, setrequested, unsetrequested
|
||||
*) --follow-dependencies option for uninstall (ports with the requested flag
|
||||
set or with other dependents are skipped).
|
||||
*) New pseudo-ports and selectors: requested, unrequested, leaves, depof:,
|
||||
rdepof:, dependentof:, rdependentof:.
|
||||
*) Architectures of dependencies are checked before install, and in many cases
|
||||
will be automatically fixed by upgrading with +universal.
|
||||
*) New sqlite registry format which is faster and lacks some of the old
|
||||
format's inconvenient limitations.
|
||||
*) Explicitly deselected variants (e.g. -foo) are now recorded, so they will
|
||||
not be set to + when upgrading if +foo appears in variants.conf or
|
||||
the port's default_variants.
|
||||
|
||||
# For Portfile writers:
|
||||
|
||||
*) New os.subplatform variable.
|
||||
*) New configure.ld_archflags option to match configure.cc_archflags et al.
|
||||
*) 'platform' acts like an 'if' statement rather than a variant.
|
||||
*) New supported_archs option for indicating a port only supports certain
|
||||
archs or is noarch.
|
||||
*) pre-/post-deactivate and pre-/post-uninstall procedures can now be used,
|
||||
and pre-/post-activate procedures are run every time the port is activated,
|
||||
not just the first time when it is installed.
|
||||
|
||||
== Overview of changes from MacPorts 1.7.1 to 1.8.0 ==
|
||||
|
||||
# For regular users:
|
||||
|
||||
*) Compatible with Mac OS X 10.6 Snow Leopard, requires at least 10.4 Tiger
|
||||
*) CPU architecture to build for is now configurable
|
||||
*) Performance and memory usage improvements
|
||||
*) New -y option for dry-run
|
||||
*) 'port search' has many new options that make it more flexible
|
||||
*) 'port upgrade' now follows the right dependencies when variants change them
|
||||
*) 'port info' and 'port variants' indicate selected and default variants;
|
||||
'port variants' also shows conflicts and dependencies between variants
|
||||
*) A port can be marked as being replaced by another port; upgrading will
|
||||
perform the replacement
|
||||
*) upgrade accepts new options: --force, --enforce-variants, --no-replace
|
||||
*) Ports can be marked as conflicting, and conflicts will be detected before
|
||||
the install process starts
|
||||
*) Proxy information can now be obtained from System Preferences and from
|
||||
macports.conf
|
||||
*) Activating a port will now first deactivate any other version of the same
|
||||
port that is already active
|
||||
*) MacPorts can be configured to drop root privileges when not needed
|
||||
*) port(1) will exit with an appropriate status code when an error is
|
||||
encountered (use -p to continue despite errors)
|
||||
|
||||
# For Portfile writers:
|
||||
|
||||
*) New options: replaced_by, conflicts, depends_fetch, depends_extract, license
|
||||
*) build_arch variable indicates which architecture should be targeted. Flags
|
||||
used to implement this are configured per-compiler, for example,
|
||||
configure.cc_archflags will be passed to configure.cc in CFLAGS
|
||||
*) Dependencies can be satisfied by ports that are installed but not
|
||||
available in the ports tree
|
||||
*) Deleting all the contents of an option no longer unsets the option entirely
|
||||
*) Using an alternative fetch or extract type now adds appropriate
|
||||
dependencies automatically, e.g. 'use_zip yes' adds a dep on unzip, and
|
||||
'fetch.type svn' adds a dep on subversion
|
||||
*) Running phases prior to install should now work reliably when the port is
|
||||
already installed
|
||||
|
||||
== Overview of changes from MacPorts 1.6.0 to 1.7.0 ==
|
||||
|
||||
# For regular users:
|
||||
|
||||
*) The resources directory (containing port group information and the mirror sites) has been moved into the ports tree, so a new MacPorts release is no longer needed to update these items
|
||||
*) The error message from 'port upgrade outdated' when no ports are outdated is much improved
|
||||
*) Improvement on handling of MacPorts configuration files (global and user-defined options)
|
||||
*) Case-insensitive issues have been fixed
|
||||
*) 'port help' is improved
|
||||
*) The MacPorts mirror, distfiles.macports.org, is automatically checked when the normal sites fail to respond
|
||||
*) The search command of port now searches the name, description, and long_description fields
|
||||
*) Numerous improvements to dependency handling
|
||||
*) Work around a bug in 10.5's Tcl environment handling
|
||||
*) Fetching distfiles now tries to ping all mirror sites first in an attempt to pick the best source
|
||||
*) A new option was added to uninstall: --recursive
|
||||
*) The output for the port commands info, deps, dependents, and search has been improved
|
||||
*) Two new options to selfupdate: --pretend and --nosync
|
||||
*) A platform command has been added to port to display your platform information
|
||||
*) A suitable message is output when the requested port is not installed when polling its dependents;
|
||||
*) Fixed the "Error: Unable to open port: invalid command name "ui_prefix"" runtime error on Panther;
|
||||
*) Fixed the "Error: Unable to open port: invalid command name "ui_channels"" runtime error on Panther;
|
||||
*) Fixed a MacPorts, Panther specific build failure due to missing sqlite headers on that platform;
|
||||
*) Fixed a MacPorts build failure when building itself in universal fashion;
|
||||
|
||||
|
||||
# For Portfile writers:
|
||||
|
||||
*) ruby port group adds a new parameter to ruby.setup for multiple ruby version support
|
||||
*) New use_dmg option allows DMG-format distfiles
|
||||
*) ruby.setup (part of the ruby port group) now takes a fetch type
|
||||
*) git has been added as a valid fetch.type
|
||||
*) On Mac OS X, MACOSX_DEPLOYMENT_TARGET is now always set to workaround various issues
|
||||
*) Several universal-specific variables added to the configure.* group
|
||||
*) A merge function is now available for easier merging of multiple architectures for universal support
|
||||
*) Pre-fabricated statements with correct checksums are output when in verbose mode if the existing ones in the Portfile are incorrect;
|
||||
*) "port lint" now recognizes non-canonical modelines;
|
||||
*) Added a 'configure.pipe' Portfile option for using pipes rather than intermediate files when compiling C/C++ based ports;
|
||||
|
||||
|
||||
|
||||
== Overview of changes from MacPorts 1.5.2 to 1.6.0 ==
|
||||
|
||||
# For regular usage:
|
||||
|
||||
*) Revived and thoroughly refreshed web presence at http://www.macports.org/ , with more improvements still on the way;
|
||||
*) New project guide at http://guide.macports.org/
|
||||
*) Fixed the "upgrade" target of the port(1) command to properly handle installed versions beginning with letters;
|
||||
*) Improved the "variants" target of the port(1) command to behave like the "info" target to poll the requested Portfile directly
|
||||
rather than the index for more up-to-date information, while also providing a --index flag for legacy behavior;
|
||||
*) Fixed a bug by which a user-specific 'macports.conf' file would not be read;
|
||||
*) Tightened security by installing MacPorts in 0755 mode (no write permission for group and others) by default;
|
||||
*) Added 'none' as a possible option for supported types of startupitems scripts;
|
||||
*) Disabled readline support in interactive mode of the port(1) command by deafult;
|
||||
*) Fixed a bug by which the "variants" target of the port(1) command would spit out an error backtrace to the terminal when no match
|
||||
was found for the requested port;
|
||||
*) Revamped the "postflight" script that takes care of setting a MacPorts-compatible shell environment after installation from our
|
||||
"pkg" is complete; it now gracefully handles the addition of PATH, MANPATH and DISPLAY environment variables separately and only
|
||||
if strictly needed, properly backing up appropriate shell configuration files before proceeding to modify them
|
||||
(http://guide.macports.org/#installing.binary.postflight.details for more information);
|
||||
|
||||
|
||||
# Individual port-building-related improvements:
|
||||
|
||||
*) Eugene Pimenov's GSoC2007 work on improving "trace mode" for the building of ports in clean environments,
|
||||
http://trac.macports.org/projects/macports/wiki/soc2007/epimenov ;
|
||||
*) Added 'bsdmake' and 'gnumake' defaults for building ports on the FreeBSD and Linux platforms;
|
||||
*) Added 'configureccache' and 'configuredistcc' configuration options to the main 'macports.conf' for distributed
|
||||
builds (defaulting to no);
|
||||
*) Improved building of configure-based universal ports on Leopard;
|
||||
*) Fixed a bug by which the 'universal' variant would disappear if a 'macosx' variant was selected;
|
||||
*) Added a 'macosx_deployment_target' option to the main 'macports.conf' file for ports that benefit from this Mac OS X specific flag;
|
||||
*) Added a 'configurepipe' option to the main 'macports.conf' file for using pipes rather than intermediate files when compiling C/C++
|
||||
based ports;
|
||||
*) Removed LD_PREBIND & LD_PREBIND_ALLOW_OVERLAP variables from MacPorts' environment to prevent prebinding of binaries, which can be harmful
|
||||
on Tiger and above;
|
||||
|
||||
|
||||
# Packaging-related improvements:
|
||||
|
||||
*) Created pkg's no longer have /etc, /var/ or /tmp directories in them;
|
||||
*) Fixed a bug by which all .mpkg packages were missing their welcome page;
|
||||
*) Fixed a bug by which HTML contents were written as a pkg's Welcome.rtf file, causing it to not display at all;
|
||||
*) Made the homepage clickable in a pkg's welcoming screen;
|
||||
*) Added support for lzma compression for archives;
|
||||
*) Improved pkg & dmg creation on Leopard, for both Intel and PowerPC platforms;
|
||||
*) Added an 'mdmg' target, for the creation of a dmg for a port and its dependencies;
|
||||
*) Dramatically improved performace of the port(1) command's Portfile level actions like "file", "dir", "work" and "url"
|
||||
|
||||
|
||||
# For Portfile writers:
|
||||
|
||||
*) Added more compiler suites as options to the 'configure.compiler' Portfile option;
|
||||
*) Added 'configure.fflags' 'configure.fcflags' 'configure.f90flags' Portfile options for Fortran based ports;
|
||||
*) Added 'configure.javac' and 'configure.classpath' Portfile options for Java ports;
|
||||
*) Added 'configure.objc' 'configure.objcflags' Portfile options for Objective-C based ports;
|
||||
*) Added 'build.nice' and 'build.jobs' Portfile options for parallel builds and build prioritizing;
|
||||
*) Added 'startupitem.netchange' boolean flag Portfile option for generated startup scripts;
|
||||
*) Added a "lint" target to the port(1) command, for Portfile verification and beautification;
|
||||
*) Added Portfile group code for Python 3.0 based ports and deprecated the plain 'python' group code;
|
||||
*) Added generic GNU livecheck rules;
|
||||
*) The "x86" platform has been normalized as "i386";
|
||||
*) Added a 'use_parallel_build' Portfile option for declaring if a particular port can be built in parallel through make's -j flag,
|
||||
defaulting to no;
|
||||
*) Added 'configure.awk', 'configure.bison', 'configure.pkg_config', 'configure.pkg_config_path' Portfile options to point to the
|
||||
relevant programs/paths to use;
|
||||
*) Added a 'extract.mkdir' Portfile option to better deal with so-called "tar bombs";
|
||||
|
||||
|
||||
# For MacPorts scripting:
|
||||
|
||||
*) Moved the 'ui_isset' and 'global_option_isset' Tcl procedures for testing of the UI and global options to the macports1.0 API
|
||||
sparing its clients from having to implement them;
|
||||
*) Improved defaults for implicit ui_prefix and ui_channels behaviour at the macports1.0 layer;
|
||||
|
||||
|
||||
# Miscellaneous:
|
||||
|
||||
*) Added MacPorts-configure time checks for Mac OS X and Xcode versions and warnings for old versions;
|
||||
*) Added a 'user-agent' parameters to our libcurl-based fetching of sources for sites that require a user agent;
|
||||
*) 'livecheck' regular expressions are now checked against each entry in the listed master_site in the Portfile;
|
||||
*) Fixed regexp in livecheck code to work when there is both a tag and a subdir in the mirror uri;
|
||||
*) Improved the integrated "daemondo" program to better handle the death of startupitem-based programs;
|
||||
*) Added a "--restart-wait=n" argument to the integrated "daemondo" program to control the number of seconds to wait during restart of
|
||||
the process it is monitoring, defaulting to 3;
|
||||
*) Enabled building of our objc bridge against GNUStep on platforms other than Mac OS X;
|
||||
*) Added support for packing of MacPorts itself on FreeBSD and Fedora platforms;
|
||||
*) Added SourceForge.jp to our list of SourceForge-based mirrors for sources fetching;
|
||||
*) Added http mirror sites for the postgresql mirrors list;
|
||||
*) Added the ftp://ftp.gnu.org/old-gnu/ mirror to the GNU mirrors list;
|
||||
*) Fixed a bug by which paths with embedded spaces would cause the "dp2mp-move" upgrade code to fail when trying to find user-specific
|
||||
'macports.conf' files;
|
||||
Vendored
+1140
File diff suppressed because it is too large
Load Diff
+1494
File diff suppressed because it is too large
Load Diff
+1700
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
The file RELEASE_URL in this directory is used by the rsync infrastructure
|
||||
at the MacPorts server to control the tag from which "released" code is provided,
|
||||
ultimately at rsync://rsync.macports.org/release/base/.
|
||||
|
||||
The script handling that operation checks out from svn the code tagged by the
|
||||
contents of the RELEASE_URL file and makes that code available via rsync.
|
||||
The script is in svn at base/portmgr/mprsyncup.
|
||||
@@ -0,0 +1 @@
|
||||
https://svn.macports.org/repository/macports/tags/release_2_1_2/base
|
||||
@@ -0,0 +1 @@
|
||||
1.710
|
||||
@@ -0,0 +1 @@
|
||||
2.1.99
|
||||
@@ -0,0 +1 @@
|
||||
1.800
|
||||
+11479
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,411 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl $Id$
|
||||
AC_PREREQ(2.63)
|
||||
AC_DEFUN([MACPORTS_VERSION_MACRO], [esyscmd(<config/macports_version tr -d '\n')])
|
||||
AC_INIT([MacPorts],MACPORTS_VERSION_MACRO,[macports-dev@lists.macosforge.org],[macports])
|
||||
AC_CONFIG_SRCDIR([src/pextlib1.0/Pextlib.c])
|
||||
AC_CONFIG_HEADERS([src/config.h])
|
||||
|
||||
AC_CANONICAL_TARGET
|
||||
|
||||
# Read in the MacPorts version from the base/config/macports_version file
|
||||
AC_MSG_CHECKING(MacPorts version)
|
||||
MACPORTS_VERSION=MACPORTS_VERSION_MACRO
|
||||
AC_MSG_RESULT([$MACPORTS_VERSION])
|
||||
AC_SUBST(MACPORTS_VERSION)
|
||||
|
||||
# Check user PATH for MP paths, and remove as necessary.
|
||||
MP_PATH_SCAN
|
||||
|
||||
AC_PATH_PROG(SW_VERS, sw_vers)
|
||||
AC_PATH_PROG(DEFAULTS, defaults)
|
||||
AC_PATH_PROG(XCODE_SELECT, xcode-select)
|
||||
|
||||
if test "x$SW_VERS" != "x"; then
|
||||
AC_MSG_CHECKING(Mac OS X version)
|
||||
MACOSX_VERSION=`$SW_VERS -productVersion`
|
||||
AC_MSG_RESULT([$MACOSX_VERSION])
|
||||
fi
|
||||
|
||||
case "$MACOSX_VERSION" in
|
||||
10.0*|10.1*|10.2*|10.3*)
|
||||
AC_MSG_ERROR([This version of Mac OS X is not supported
|
||||
Please upgrade at http://store.apple.com/])
|
||||
;;
|
||||
10.4.[[0-9]]|10.4.10|10.5.[[0-7]]|10.6.[[0-7]]|10.7.[[0-2]])
|
||||
AC_MSG_WARN([This version of Mac OS X is out of date])
|
||||
AC_MSG_WARN([Please run Software Update to update it])
|
||||
;;
|
||||
10.4*|10.5*|10.6*|10.7*)
|
||||
dnl Supported version
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# locate currently selected Xcode path
|
||||
AC_MSG_CHECKING(Xcode location)
|
||||
if test "x$XCODE_SELECT" != "x"; then
|
||||
DEVELOPER_DIR=`$XCODE_SELECT -print-path`
|
||||
fi
|
||||
if test -z "$DEVELOPER_DIR" -o ! -d "$DEVELOPER_DIR" ; then
|
||||
if test -d /Applications/Xcode.app/Contents/Developer ; then
|
||||
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
|
||||
else
|
||||
DEVELOPER_DIR=/Developer
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$DEVELOPER_DIR])
|
||||
AC_SUBST(DEVELOPER_DIR)
|
||||
|
||||
case "$DEVELOPER_DIR" in
|
||||
*Xcode.app/Contents/Developer)
|
||||
XCODEPLIST_BASE=`dirname $DEVELOPER_DIR`/version
|
||||
;;
|
||||
*)
|
||||
XCODEPLIST_BASE=$DEVELOPER_DIR/Applications/Xcode.app/Contents/version
|
||||
;;
|
||||
esac
|
||||
XCODEPLIST=${XCODEPLIST_BASE}.plist
|
||||
if test -r "$XCODEPLIST"; then
|
||||
AC_MSG_CHECKING(Xcode version)
|
||||
if test "x$DEFAULTS" != "x"; then
|
||||
XCODE_VERSION=`$DEFAULTS read $XCODEPLIST_BASE CFBundleShortVersionString`
|
||||
else
|
||||
XCODE_VERSION=`tr -d '\r\n' < $XCODEPLIST | sed -e 's/.*<key>CFBundleShortVersionString<\/key>.<string>\([[0-9.]]*\)<\/string>.*/\1/'`
|
||||
fi
|
||||
AC_MSG_RESULT([$XCODE_VERSION])
|
||||
fi
|
||||
|
||||
case "$XCODE_VERSION" in
|
||||
1.*|2.[[0-1]]*)
|
||||
AC_MSG_WARN([This version of Xcode Tools is not supported])
|
||||
AC_MSG_WARN([Please upgrade at http://connect.apple.com/])
|
||||
;;
|
||||
2.[[2-3]]*|3.[[0]]*)
|
||||
AC_MSG_WARN([This version of Xcode Tools is out of date])
|
||||
AC_MSG_WARN([Please consider upgrading as some ports fail compiling])
|
||||
;;
|
||||
2.*|3.*|4.*)
|
||||
dnl Supported version
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_OBJC
|
||||
|
||||
AC_PATH_PROGS(BSDMAKE, [bsdmake pmake], [])
|
||||
AC_PATH_PROG(BZIP2, [bzip2], [])
|
||||
AC_PATH_PROG(BZR, [bzr], [])
|
||||
AC_PATH_PROG(CHOWN, [chown], [], [$PATH:/usr/sbin])
|
||||
AC_PATH_PROG(CP, [cp], [])
|
||||
AC_PATH_PROG(CPIO, [cpio], [])
|
||||
AC_PATH_PROG(CVS, [cvs], [])
|
||||
AC_PATH_PROG(DIFF, [diff], [])
|
||||
AC_PATH_PROG(DSCL, [dscl], [])
|
||||
AC_PATH_PROG(DSEDITGROUP, [dseditgroup], [])
|
||||
AC_PATH_PROG(FILE, [file], [])
|
||||
AC_PATH_PROG(GIT, [git], [])
|
||||
AC_PATH_PROGS(GNUMAKE, [gnumake gmake], [], [$PATH:/usr/local/bin])
|
||||
AC_PATH_PROGS(GNUPATCH, [gnupatch gpatch], [], [$PATH:/usr/local/bin])
|
||||
AC_PATH_PROGS(GNUTAR, [gnutar gtar], [], [$PATH:/usr/local/bin])
|
||||
AC_PATH_PROG(GZIP, [gzip], [])
|
||||
AC_PATH_PROG(HDIUTIL, [hdiutil], [])
|
||||
AC_PATH_PROG(HG, [hg], [])
|
||||
AC_PATH_PROG(LAUNCHCTL, [launchctl], [])
|
||||
AC_PATH_PROG(LIPO, [lipo], [])
|
||||
AC_PATH_PROG(LSBOM, [lsbom], [])
|
||||
AC_PATH_PROG(LZMA, [lzma], [])
|
||||
AC_PATH_PROG(MAKE, [make])
|
||||
AC_PATH_PROG(MDFIND, [mdfind], [])
|
||||
AC_PATH_PROG(MDLS, [mdls], [])
|
||||
AC_PATH_PROG(MKBOM, [mkbom], [])
|
||||
AC_PATH_PROG(MTREE, [mtree], [], [$PATH:/usr/sbin])
|
||||
AC_PATH_PROG(OPEN, [open], [])
|
||||
AC_PATH_PROG(OPENSSL, [openssl], [])
|
||||
AC_PATH_PROG(PATCH, [patch], [])
|
||||
AC_PATH_PROG(PAX, [pax], [])
|
||||
AC_PATH_PROG(RMDIR, [rmdir], [])
|
||||
AC_PATH_PROG(RSYNC, [rsync], [])
|
||||
AC_PATH_PROG(SED, [sed])
|
||||
AC_PATH_PROG(SVN, [svn], [])
|
||||
AC_PATH_PROG(SWIG, [swig], [], [$PATH:/usr/local/bin])
|
||||
AC_PATH_PROG(TAR, [tar])
|
||||
AC_PATH_PROG(UNZIP, [unzip])
|
||||
AC_PATH_PROG(XAR, [xar], [])
|
||||
AC_PATH_PROG(XCODEBUILD, [xcodebuild], [])
|
||||
AC_PATH_PROG(XCRUN, [xcrun], [])
|
||||
AC_PATH_PROG(XZ, [xz], [])
|
||||
AC_PATH_PROG(ZIP, [zip])
|
||||
|
||||
AC_CHECK_PROG(HAVE_LAUNCHD, [launchd], [yes], [])
|
||||
|
||||
# Define some precious variables allowing user to override PATH for some programs
|
||||
AC_ARG_VAR(BSDMAKE, [path to bsdmake/pmake command])
|
||||
AC_ARG_VAR(BZIP2, [path to bzip2 command])
|
||||
AC_ARG_VAR(CVS, [path to cvs command])
|
||||
AC_ARG_VAR(GNUMAKE, [path to gnumake command])
|
||||
AC_ARG_VAR(GNUTAR, [path to gnutar command])
|
||||
AC_ARG_VAR(LZMA, [path to lzma command])
|
||||
AC_ARG_VAR(MAKE, [path to make command])
|
||||
AC_ARG_VAR(MTREE, [path to mtree command])
|
||||
AC_ARG_VAR(OPEN, [path to open command])
|
||||
AC_ARG_VAR(OPENSSL, [path to openssl command])
|
||||
AC_ARG_VAR(RSYNC, [path to rsync command])
|
||||
AC_ARG_VAR(SED, [path to sed command])
|
||||
AC_ARG_VAR(SVN, [path to svn command])
|
||||
AC_ARG_VAR(SWIG, [path to swig command])
|
||||
AC_ARG_VAR(TAR, [path to tar command])
|
||||
AC_ARG_VAR(XAR, [path to xar command])
|
||||
AC_ARG_VAR(XZ, [path to xz command])
|
||||
|
||||
if test "x$MTREE" = "x"; then
|
||||
AC_MSG_ERROR([mtree not found])
|
||||
fi
|
||||
|
||||
MP_SED_EXTENDED_REGEXP
|
||||
MP_TAR_FAST_READ
|
||||
MP_TAR_NO_SAME_OWNER
|
||||
MP_PATCH_GNU_VERSION
|
||||
|
||||
# Quiche eaters options.
|
||||
if test x$GCC = xyes; then
|
||||
CFLAGS_QUICHEEATERS='-Wextra -Wall'
|
||||
CFLAGS_PEDANTIC='-pedantic'
|
||||
fi
|
||||
AC_SUBST(CFLAGS_QUICHEEATERS)
|
||||
AC_SUBST(CFLAGS_PEDANTIC)
|
||||
MP_WERROR
|
||||
|
||||
MP_COMPILER_ATTRIBUTE_UNUSED
|
||||
MP_COMPILER_ATTRIBUTE_LF_PRIVATE
|
||||
|
||||
# Foundation checks
|
||||
ACX_PTHREAD
|
||||
MP_OBJC_RUNTIME
|
||||
MP_OBJC_FOUNDATION
|
||||
|
||||
MP_PROG_DAEMONDO
|
||||
|
||||
AC_SUBST(EXTRA_PROGS)
|
||||
|
||||
# set default ports-directory
|
||||
PORTS_DIR_DEFAULT=`pwd | sed -e "s/base/ports/"`
|
||||
|
||||
# Check for paths
|
||||
AC_PREFIX_DEFAULT(/opt/local)
|
||||
AC_ARG_WITH(
|
||||
unsupported-prefix,
|
||||
AS_HELP_STRING([--with-unsupported-prefix],
|
||||
[Acknowledge that you accept the consequences of using an unsupported prefix.]),
|
||||
[with_unsupported_prefix=$withval],
|
||||
[with_unsupported_prefix=no])
|
||||
if test x$prefix = x/usr/local -o x$prefix = x/usr && test x$with_unsupported_prefix != xyes; then
|
||||
AC_MSG_ERROR([Installing MacPorts into $prefix is not supported. If \
|
||||
you understand this and wish to do so anyway, pass --with-unsupported-prefix \
|
||||
to configure.])
|
||||
fi
|
||||
MP_PATH_PORTSDIR([$PORTS_DIR_DEFAULT])
|
||||
MP_PATH_MPCONFIGDIR
|
||||
|
||||
# Check whether to install without root privileges
|
||||
MP_CHECK_NOROOTPRIVILEGES
|
||||
|
||||
# Check for install ownership
|
||||
MP_CHECK_INSTALLUSER
|
||||
MP_CHECK_INSTALLGROUP
|
||||
MP_CHECK_RUNUSER
|
||||
MP_DIRECTORY_MODE
|
||||
MP_SHARED_DIRECTORY
|
||||
|
||||
# Check for default directories
|
||||
MP_PATH_APPLICATIONS
|
||||
MP_PATH_FRAMEWORKS
|
||||
|
||||
# Check for universal options
|
||||
MP_UNIVERSAL_OPTIONS
|
||||
|
||||
# Check for standard header files.
|
||||
AC_HEADER_STDC
|
||||
AC_HEADER_DIRENT
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_CHECK_HEADERS([limits.h paths.h sys/file.h crt_externs.h fcntl.h sys/fcntl.h sys/cdefs.h err.h sys/socket.h \
|
||||
sys/sysctl.h readline/readline.h readline/history.h pwd.h sys/paths.h utime.h])
|
||||
|
||||
INCLUDES="-I.. -I. $INCLUDES"
|
||||
|
||||
# Checks for library functions.
|
||||
AC_CHECK_FUNCS([bzero memset fgetln lockf flock setmode strcasecmp strncasecmp strlcpy copyfile clearenv sysctlbyname])
|
||||
MP_CHECK_READLINK_IS_P1003_1A
|
||||
|
||||
# Check for md5 implementation
|
||||
AC_CHECK_HEADER([CommonCrypto/CommonDigest.h], [AC_DEFINE([HAVE_COMMONCRYPTO_COMMONDIGEST_H], [1], [Define if CommonCrypto is available.])], [MP_LIB_MD5])
|
||||
|
||||
# Check for readline
|
||||
AC_ARG_ENABLE(readline, AS_HELP_STRING([--enable-readline],[Enable addition of readline support, if readline present.]),
|
||||
[
|
||||
AC_CHECK_LIB([readline], [readline], [
|
||||
READLINE_LIBS=-lreadline
|
||||
AC_DEFINE([HAVE_LIBREADLINE], [1], [Define to 1 if you have the 'readline' library (-lreadline).])
|
||||
])
|
||||
AC_CHECK_DECLS([rl_username_completion_function,rl_filename_completion_function,rl_completion_matches,username_completion_function,filename_completion_function,completion_matches], [], [],
|
||||
[
|
||||
#include <stdio.h>
|
||||
#if HAVE_READLINE_READLINE_H
|
||||
# include <readline/readline.h>
|
||||
#endif
|
||||
])
|
||||
])
|
||||
AC_SUBST(READLINE_LIBS)
|
||||
|
||||
# Lowest non-system-reserved uid and gid (Apple claims <500)
|
||||
AC_DEFINE([MIN_USABLE_UID], [500], [Lowest non-system-reserved UID.])
|
||||
AC_DEFINE([MIN_USABLE_GID], [500], [Lowest non-system-reserved GID.])
|
||||
|
||||
# Load tclConfig.sh
|
||||
SC_PATH_TCLCONFIG
|
||||
SC_LOAD_TCLCONFIG
|
||||
|
||||
# Check for Tcl public headers
|
||||
dnl XXX hardwire CYGPATH (CYGPATH must be set for SC_PUBLIC_TCL_HEADERS)
|
||||
CYGPATH=echo
|
||||
SC_PUBLIC_TCL_HEADERS
|
||||
|
||||
# Check for tclsh binary
|
||||
MP_PROG_TCLSH
|
||||
|
||||
# Check for Tcl package path
|
||||
MP_TCL_PACKAGE_DIR
|
||||
|
||||
# Check if thread is enabled.
|
||||
MP_TCL_THREAD_SUPPORT
|
||||
|
||||
## libcurl
|
||||
MP_LIBCURL_FLAGS
|
||||
|
||||
## sqlite3
|
||||
MP_SQLITE3_FLAGS
|
||||
|
||||
MP_CHECK_SQLITE_VERSION(3003011)
|
||||
if test "x${mp_sqlite_version_ge_3003011}" = "xno"; then
|
||||
AC_DEFINE([sqlite3_prepare_v2], [sqlite3_prepare], [define sqlite3_prepare to sqlite_prepare_v2 if the latter is not available])
|
||||
fi
|
||||
|
||||
# Determine if we need to install some bundled packages
|
||||
OUR_INCLUDED_PACKAGES=
|
||||
|
||||
## Thread package.
|
||||
AC_ARG_WITH(
|
||||
included-tclthread,
|
||||
AS_HELP_STRING([--with-included-tclthread],
|
||||
[install included Thread package.]),
|
||||
[with_included_tclthread=$withval],
|
||||
[with_included_tclthread="unspecified"])
|
||||
|
||||
# Check if thread package is already installed.
|
||||
if test "x$with_included_tclthread" = "xunspecified" ; then
|
||||
MP_TCL_PACKAGE(
|
||||
[Thread],
|
||||
[AC_MSG_RESULT([yes]); with_included_tclthread=no],
|
||||
[AC_MSG_RESULT([no]); with_included_tclthread=yes])
|
||||
fi
|
||||
|
||||
# If thread package isn't installed, configure and install thread package.
|
||||
if test "$with_included_tclthread" = "yes"; then
|
||||
OUR_INCLUDED_PACKAGES="$OUR_INCLUDED_PACKAGES thread2.6"
|
||||
AC_CONFIG_SUBDIRS([src/thread2.6])
|
||||
# Extract thread package
|
||||
(cd src/; gzip -d < thread2.6.tar.gz | tar xf -)
|
||||
# Patch thread package (so thread2.6 is the vanilla distribution directory)
|
||||
patch -p0 < src/thread2.6.diff
|
||||
fi
|
||||
|
||||
AH_TEMPLATE([TRACE_SDK], [SDK for SDK redirect in tracelib])
|
||||
AC_ARG_WITH(
|
||||
trace-sdk,
|
||||
AS_HELP_STRING([--with-trace-sdk=SDK],
|
||||
[SDK for redirection in trace lib (for example MacOSX10.4u.sdk)]),
|
||||
[test -d ${DEVELOPER_DIR}/SDKs/$withval && AC_DEFINE_UNQUOTED([TRACE_SDK], "${withval}")], [])
|
||||
|
||||
# Allows building of shared libraries
|
||||
SC_ENABLE_SHARED
|
||||
|
||||
# Pull compiler / linker values from tclConfig.sh
|
||||
LDFLAGS_DEBUG=${TCL_LDFLAGS_DEBUG}
|
||||
LDFLAGS_OPTIMIZE=${TCL_LDFLAGS_OPTIMIZE}
|
||||
SHLIB_LD=${TCL_SHLIB_LD}
|
||||
STLIB_LD=${TCL_STLIB_LD}
|
||||
SHLIB_CFLAGS=${TCL_SHLIB_CFLAGS}
|
||||
SHLIB_SUFFIX=${TCL_SHLIB_SUFFIX}
|
||||
|
||||
AC_SUBST(INCLUDES)
|
||||
AC_SUBST(PATHCONF)
|
||||
AC_SUBST(STLIB_LD)
|
||||
AC_SUBST(SHLIB_LD)
|
||||
AC_SUBST(SHLIB_CFLAGS)
|
||||
AC_SUBST(SHLIB_LDFLAGS)
|
||||
AC_SUBST(SHLIB_SUFFIX)
|
||||
AC_SUBST(TCL_DEFS)
|
||||
AC_SUBST(TCL_STUB_LIB_SPEC)
|
||||
AC_SUBST(TCL_CC)
|
||||
AC_SUBST(OUR_INCLUDED_PACKAGES)
|
||||
|
||||
# misc variables that need to be expanded for substitution into tcl
|
||||
|
||||
oldprefix=$prefix
|
||||
if test "x$prefix" = "xNONE" ; then
|
||||
prefix=$ac_default_prefix
|
||||
fi
|
||||
|
||||
# Check if there's an existing DP/MP install too old to upgrade
|
||||
MP_CHECK_OLDLAYOUT
|
||||
|
||||
eval "prefix_expanded=$prefix"
|
||||
AC_SUBST(prefix_expanded)
|
||||
# do this twice, since there is a nested variable of
|
||||
# ${prefix} inside of ${sysconfdir}
|
||||
eval "MPCONFIGDIR_EXPANDED=$MPCONFIGDIR"
|
||||
eval "MPCONFIGDIR_EXPANDED=$MPCONFIGDIR_EXPANDED"
|
||||
AC_SUBST(MPCONFIGDIR_EXPANDED)
|
||||
eval "localstatedir_expanded=$localstatedir"
|
||||
AC_SUBST(localstatedir_expanded)
|
||||
eval "macports_tcl_dir=${datadir}/macports/Tcl"
|
||||
eval "macports_tcl_dir=$macports_tcl_dir"
|
||||
AC_SUBST(macports_tcl_dir)
|
||||
|
||||
prefix=$oldprefix
|
||||
|
||||
dnl man page settings (compressed, links, etc)
|
||||
dnl
|
||||
dnl SC_CONFIG_MANPAGES
|
||||
|
||||
# Output
|
||||
AC_CONFIG_FILES([
|
||||
Doxyfile
|
||||
Makefile
|
||||
Mk/macports.autoconf.mk
|
||||
doc/base.mtree
|
||||
doc/prefix.mtree
|
||||
doc/macosx.mtree
|
||||
doc/macports.conf
|
||||
doc/pubkeys.conf
|
||||
portmgr/freebsd/Makefile
|
||||
src/Makefile
|
||||
src/machista1.0/Makefile
|
||||
src/macports1.0/macports_autoconf.tcl
|
||||
src/port1.0/port_autoconf.tcl
|
||||
src/registry2.0/registry_autoconf.tcl
|
||||
src/programs/Makefile
|
||||
src/macports1.0/macports_fastload.tcl
|
||||
setupenv.bash
|
||||
])
|
||||
|
||||
AC_CONFIG_FILES([src/pkg_mkindex.sh], [chmod +x src/pkg_mkindex.sh])
|
||||
|
||||
AC_OUTPUT
|
||||
@@ -0,0 +1,56 @@
|
||||
MacPorts Internals:
|
||||
|
||||
The MacPorts system is composed of three TCL libraries:
|
||||
macports - public API
|
||||
port - portfile parsing and execution
|
||||
pextlib - necessary C extensions to TCL
|
||||
|
||||
These three TCL libraries are grouped as TCL "packages". They allow
|
||||
for complex versioning and have a provide/require model of use, making
|
||||
them well suited for maintaining a backwards compatable ports system.
|
||||
|
||||
The "macports" TCL Library provides a public API into the MacPorts
|
||||
system. Any external application wishing to manipulate a port can
|
||||
load the "macports" TCL library. 'port', the included command line port
|
||||
utility, uses only the exported "macports" API.
|
||||
|
||||
The "macports" API provides very simple primitives for dealing with
|
||||
ports (ie, mportexec/mportopen/mportinit). Also, the API has very little
|
||||
knowledge of the contents of a portfile; instead, it relies entirely upon
|
||||
the "port" TCL library. By keeping the high level API simple and generic,
|
||||
a revision of the underlying ports system will not necessarily require
|
||||
a revision of the high level "macports" API.
|
||||
|
||||
TCL packages allow for complex versioning with a strong requires/provides
|
||||
model; this means that a revision of the API at any level will not break
|
||||
backwards compatibility.
|
||||
|
||||
When parsing a port, the "macports" library loads the Portfile into a
|
||||
sub-interpreter. The "port" library and all port-specific code is run
|
||||
entirely within this sub-interpreter, and thus can never pollute the TCL
|
||||
space of other ports, the "macports" library, or the calling application.
|
||||
|
||||
The "macports" library is also responsible for loading user specified
|
||||
options into the sub-interpreter to be evaluated by the "ports" library. In
|
||||
that case it sets the variable name in the sub-interpreter and adds the
|
||||
option to the sub-interpreter's global array user_options(). User options
|
||||
are passed as part of the call to mportopen.
|
||||
|
||||
The "port" TCL package provides all the primitives required for a mac
|
||||
portfile to be parsed, queried, and its actions executed. It also provides
|
||||
a single procedure call that the "macports" TCL package uses to kick off
|
||||
execution: "eval_targets".
|
||||
|
||||
The port TCL package is loaded by every Portfile with the following line
|
||||
at the start of the Portfile:
|
||||
PortSystem <version required>
|
||||
The version should be set to the version of the port API required to build
|
||||
your port. Currently the only version supplied is 1.0.
|
||||
|
||||
Because a port is not actually parsed, but in fact executed in the TCL
|
||||
interpreter, every port option must be a TCL procedure. The ports library
|
||||
supplies all these procedures, all of which are generated at run-time using
|
||||
the "options" procedure in portutil.tcl.
|
||||
|
||||
The "pextlib" TCL library provides a variety of otherwise unavailable TCL
|
||||
procedures, such as an interface to flock(2) and mkstemp(3).
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user