Replace vendor tarballs with extracted source

Extract the vendor tarballs in order to avoid significant increases of
the repository size on updates. Rename the configure functionality from
MP_CONFIG_TARBALL to MP_CONFIG_SUBDIR.

Update vendor source versions: Tcl 8.5.19, tcllib 1.18
This commit is contained in:
Rainer Müller
2017-01-04 21:27:00 +01:00
committed by Joshua Root
parent 9373a4b0e6
commit 055fe85275
7324 changed files with 2145414 additions and 516 deletions
+11 -1
View File
@@ -32,8 +32,18 @@ tests/test.tcl
tests/test/library.tcl
tests/test/trace/test.tcl
vendor/*/
vendor/vendor-destroot/
vendor/tclsh
vendor/**/*.o
vendor/**/*.a
vendor/**/*.dylib
vendor/**/config.log
vendor/**/config.status
vendor/tcl8.*/unix/Tcl-Info.plist
vendor/tcl8.*/unix/Tclsh-Info.plist
vendor/tcl8.*/unix/tcl.pc
vendor/tcl8.*/unix/tclConfig.sh
vendor/tcl8.*/unix/tclsh
!*.in
Vendored
+11 -45
View File
@@ -104,55 +104,21 @@ AC_DEFUN([MP_TOOL_PATH], [dnl
[])dnl
])
dnl Configure a project contained in a .tar.gz, .tgz or .tar.bz2 tarball,
dnl extracting it previously, if necessary. Different from AC_CONFIG_SUBDIRS
dnl (on which this macro is based), you can pass parameters to the
dnl sub-configure script.
dnl Configure a project contained in a subdirectory. Different from
dnl AC_CONFIG_SUBDIRS (on which this macro is based), you can pass parameters
dnl to the sub-configure script.
dnl
dnl Parameters:
dnl - The relative path to the tarball
dnl - The relative path to the directory that will be extracted from the
dnl tarball and contains the configure script to be run (can be a sub directory of the extracted directory)
dnl - The relative path to the directory that contains the configure script
dnl to be run
dnl - Parameters to pass to the configure script
dnl
dnl MP_CONFIG_TARBALL([path-to-tarball], [dir-extracted-from-tarball-with-configure], [configure-parameters])
AC_DEFUN([MP_CONFIG_TARBALL], [
dnl Warning: Don't use $GZIP and $BZIP2 here, both tools interpret these
dnl env variables as additional parameters.
AC_PATH_PROG(GZIP_BIN, [gzip], [])
AC_PATH_PROG(BZIP2_BIN, [bzip2], [])
dnl MP_CONFIG_SUBDIR([path-to-directory], [configure-parameters])
AC_DEFUN([MP_CONFIG_SUBDIR], [
mp_tarball="$1"
ac_dir=$2
ac_dir="$1"
mp_popdir=$(pwd)
if ! test -d "$ac_dir"; then
mp_tarball_vendordir="$(dirname "$mp_tarball")"
AS_MKDIR_P(["$mp_tarball_vendordir"])
AC_MSG_NOTICE([=== extracting $mp_tarball])
mp_tarball_extract_cmd=
case "$mp_tarball" in
*.tar.gz | *.tgz)
if test "x$GZIP_BIN" = "x"; then
AC_MSG_ERROR([gzip not found])
fi
mp_tarball_extract_cmd="$GZIP_BIN"
;;
*.tar.bz2 | *.tbz2)
if test "x$BZIP2_BIN" = "x"; then
AC_MSG_ERROR([bzip2 not found])
fi
mp_tarball_extract_cmd="$BZIP2_BIN"
;;
*)
AC_MSG_ERROR([Don't know how to extract tarball $mp_tarball])
;;
esac
(cd "$mp_tarball_vendordir"; umask 0022; "$mp_tarball_extract_cmd" -d < "$ac_abs_confdir/$mp_tarball" | tar xf - || AC_MSG_ERROR([failed to extract $mp_tarball]))
fi
if ! test -d "$ac_dir"; then
AC_MSG_ERROR([tarball $mp_tarball did not extract to $ac_dir])
fi
AS_MKDIR_P(["$ac_dir"])
_AC_SRCDIRS(["$ac_dir"])
@@ -163,10 +129,10 @@ AC_DEFUN([MP_CONFIG_TARBALL], [
if test -f "$ac_srcdir/configure"; then
mp_sub_configure_args=
mp_sub_configure_keys=
# Compile a list of keys that have been given to the MP_CONFIG_TARBALL
# Compile a list of keys that have been given to the MP_CONFIG_SUBDIR
# macro; we want to skip copying those parameters from the original
# configure invocation.
for mp_arg in $3; do
for mp_arg in $2; do
case $mp_arg in
--*=* | -*=*)
_MP_EXTRACT_KEY([mp_arg_key], ["$mp_arg"])
@@ -178,7 +144,7 @@ AC_DEFUN([MP_CONFIG_TARBALL], [
# Walk the list of arguments given to the original configure script;
# filter out a few common ones we likely would not want to pass along,
# add --disable-option-checking and filter those already given as
# argument to MP_CONFIG_TARBALL.
# argument to MP_CONFIG_SUBDIR.
# Most of this code is adapted from _AC_OUTPUT_SUBDIRS in
# $prefix/share/autoconf/autoconf/status.m4.
mp_prev=
Vendored
+16 -456
View File
File diff suppressed because it is too large Load Diff
+8 -12
View File
@@ -335,12 +335,8 @@ prefix=$oldprefix
exec_prefix=$oldexec_prefix
## Tcl package
tcl_version=8.5.18
tcl_thread_version=2.7.3
tclx_version=8.4.1
tcllib_version=1.17
MP_CONFIG_TARBALL([vendor/tcl${tcl_version}-src.tar.gz], [vendor/tcl${tcl_version}/unix], [--prefix=${macports_libexec_dir} --enable-threads])
VENDOR_TCL_SUBDIR=tcl${tcl_version}/unix
MP_CONFIG_SUBDIR([vendor/tcl/unix], [--prefix=${macports_libexec_dir} --enable-threads])
VENDOR_TCL_SUBDIR=tcl/unix
VENDOR_TCL_INSTALL="install-binaries install-libraries"
AC_SUBST(VENDOR_TCL_SUBDIR)
AC_SUBST(VENDOR_TCL_INSTALL)
@@ -352,16 +348,16 @@ AC_SUBST(VENDOR_DESTROOT)
## Tcl Thread package
# Tcl supports Threads internally, but to use threads from Tcl code we need
# this package
MP_CONFIG_TARBALL([vendor/thread${tcl_thread_version}.tar.gz], [vendor/thread${tcl_thread_version}], [--prefix=${macports_libexec_dir}])
VENDOR_TCLTHREAD_SUBDIR=thread${tcl_thread_version}
MP_CONFIG_SUBDIR([vendor/thread], [--prefix=${macports_libexec_dir}])
VENDOR_TCLTHREAD_SUBDIR=thread
VENDOR_TCLTHREAD_INSTALL="install-binaries install-libraries"
AC_SUBST(VENDOR_TCLTHREAD_SUBDIR)
AC_SUBST(VENDOR_TCLTHREAD_INSTALL)
## TclX package
# TclX is required for signal handling
MP_CONFIG_TARBALL([vendor/tclx${tclx_version}.tar.bz2], [vendor/tclx8.4], [--prefix=${macports_libexec_dir}])
VENDOR_TCLX_SUBDIR=tclx8.4
MP_CONFIG_SUBDIR([vendor/tclx], [--prefix=${macports_libexec_dir}])
VENDOR_TCLX_SUBDIR=tclx
VENDOR_TCLX_INSTALL="install-binaries install-libraries"
AC_SUBST(VENDOR_TCLX_SUBDIR)
AC_SUBST(VENDOR_TCLX_INSTALL)
@@ -370,8 +366,8 @@ AC_SUBST(VENDOR_TCLX_INSTALL)
# Note that Tcllib needs a Tcl interpreter during installation; it will *not*
# be the one we configure above, because that one isn't built yet. That's not
# a problem, though -- it's only used during installation.
MP_CONFIG_TARBALL([vendor/tcllib-${tcllib_version}.tar.gz], [vendor/tcllib-${tcllib_version}], [--prefix=${macports_libexec_dir}])
VENDOR_TCLLIB_SUBDIR=tcllib-${tcllib_version}
MP_CONFIG_SUBDIR([vendor/tcllib], [--prefix=${macports_libexec_dir}])
VENDOR_TCLLIB_SUBDIR=tcllib
VENDOR_TCLLIB_INSTALL="install-libraries"
AC_SUBST(VENDOR_TCLLIB_SUBDIR)
AC_SUBST(VENDOR_TCLLIB_INSTALL)
Generated Vendored
+1 -2
View File
@@ -85,7 +85,6 @@ test:
clean: clean-tcl clean-tcllib clean-tclx clean-tclthread
rm -rf ${DESTROOT}
distclean:
distclean: distclean-tcl distclean-tcllib distclean-tclx distclean-tclthread
rm -f Makefile
rm -rf $(TCL_SUBDIR:/unix=) $(TCLTHREAD_SUBDIR) $(TCLX_SUBDIR) $(TCLLIB_SUBDIR)
rm -rf vendor-destroot
Vendored Symlink
+1
View File
@@ -0,0 +1 @@
tcl8.5.19
BIN
View File
Binary file not shown.
+3473
View File
File diff suppressed because it is too large Load Diff
+2634
View File
File diff suppressed because it is too large Load Diff
+2539
View File
File diff suppressed because it is too large Load Diff
+3629
View File
File diff suppressed because it is too large Load Diff
+4741
View File
File diff suppressed because it is too large Load Diff
+3349
View File
File diff suppressed because it is too large Load Diff
+4619
View File
File diff suppressed because it is too large Load Diff
+3822
View File
File diff suppressed because it is too large Load Diff
+5921
View File
File diff suppressed because it is too large Load Diff
+1529
View File
File diff suppressed because it is too large Load Diff
+185
View File
@@ -0,0 +1,185 @@
README: Tcl
This is the Tcl 8.5.19 source distribution.
http://sourceforge.net/projects/tcl/files/Tcl/
You can get any source release of Tcl from the URL above.
Contents
--------
1. Introduction
2. Documentation
3. Compiling and installing Tcl
4. Development tools
5. Tcl newsgroup
6. The Tcler's Wiki
7. Mailing lists
8. Support and Training
9. Tracking Development
10. Thank You
1. Introduction
---------------
Tcl provides a powerful platform for creating integration applications that
tie together diverse applications, protocols, devices, and frameworks.
When paired with the Tk toolkit, Tcl provides the fastest and most powerful
way to create GUI applications that run on PCs, Unix, and Mac OS X.
Tcl can also be used for a variety of web-related tasks and for creating
powerful command languages for applications.
Tcl is maintained, enhanced, and distributed freely by the Tcl community.
Source code development and tracking of bug reports and feature requests
takes place at:
http://core.tcl.tk/
Tcl/Tk release and mailing list services are hosted by SourceForge:
http://sourceforge.net/projects/tcl/
with the Tcl Developer Xchange hosted at:
http://www.tcl.tk/
Tcl is a freely available open source package. You can do virtually
anything you like with it, such as modifying it, redistributing it,
and selling it either in whole or in part. See the file
"license.terms" for complete information.
2. Documentation
----------------
Extensive documentation is available at our website.
The home page for this release, including new features, is
http://www.tcl.tk/software/tcltk/8.5.html
Detailed release notes can be found at the file distributions page
by clicking on the relevant version.
http://sourceforge.net/projects/tcl/files/Tcl/
Information about Tcl itself can be found at
http://www.tcl.tk/about/
There have been many Tcl books on the market. Many are mentioned in the Wiki:
http://wiki.tcl.tk/_/ref?N=25206
To view the complete set of reference manual entries for Tcl 8.5 online,
visit the URL:
http://www.tcl.tk/man/tcl8.5/
2a. Unix Documentation
----------------------
The "doc" subdirectory in this release contains a complete set of
reference manual entries for Tcl. Files with extension ".1" are for
programs (for example, tclsh.1); files with extension ".3" are for C
library procedures; and files with extension ".n" describe Tcl
commands. The file "doc/Tcl.n" gives a quick summary of the Tcl
language syntax. To print any of the man pages on Unix, cd to the
"doc" directory and invoke your favorite variant of troff using the
normal -man macros, for example
ditroff -man Tcl.n
to print Tcl.n. If Tcl has been installed correctly and your "man" program
supports it, you should be able to access the Tcl manual entries using the
normal "man" mechanisms, such as
man Tcl
2b. Windows Documentation
-------------------------
The "doc" subdirectory in this release contains a complete set of Windows
help files for Tcl. Once you install this Tcl release, a shortcut to the
Windows help Tcl documentation will appear in the "Start" menu:
Start | Programs | Tcl | Tcl Help
3. Compiling and installing Tcl
-------------------------------
There are brief notes in the unix/README, win/README, and macosx/README about
compiling on these different platforms. There is additional information
about building Tcl from sources at
http://www.tcl.tk/doc/howto/compile.html
4. Development tools
---------------------------
ActiveState produces a high quality set of commercial quality development
tools that is available to accelerate your Tcl application development.
Tcl Dev Kit builds on the earlier TclPro toolset and provides a debugger,
static code checker, single-file wrapping utility, bytecode compiler and
more. More information can be found at
http://www.ActiveState.com/Tcl
5. Tcl newsgroup
----------------
There is a USENET news group, "comp.lang.tcl", intended for the exchange of
information about Tcl, Tk, and related applications. The newsgroup is a
great place to ask general information questions. For bug reports, please
see the "Support and bug fixes" section below.
6. Tcl'ers Wiki
---------------
A Wiki-based open community site covering all aspects of Tcl/Tk is at:
http://wiki.tcl.tk/
It is dedicated to the Tcl programming language and its extensions. A
wealth of useful information can be found there. It contains code
snippets, references to papers, books, and FAQs, as well as pointers to
development tools, extensions, and applications. You can also recommend
additional URLs by editing the wiki yourself.
7. Mailing lists
----------------
Several mailing lists are hosted at SourceForge to discuss development or
use issues (like Macintosh and Windows topics). For more information and
to subscribe, visit:
http://sourceforge.net/projects/tcl/
and go to the Mailing Lists page.
8. Support and Training
------------------------
We are very interested in receiving bug reports, patches, and suggestions
for improvements. We prefer that you send this information to us as
tickets entered into our tracker at:
http://core.tcl.tk/tcl/reportlist
We will log and follow-up on each bug, although we cannot promise a
specific turn-around time. Enhancements may take longer and may not happen
at all unless there is widespread support for them (we're trying to
slow the rate at which Tcl/Tk turns into a kitchen sink). It's very
difficult to make incompatible changes to Tcl/Tk at this point, due to
the size of the installed base.
The Tcl community is too large for us to provide much individual support
for users. If you need help we suggest that you post questions to
comp.lang.tcl. We read the newsgroup and will attempt to answer esoteric
questions for which no one else is likely to know the answer. In addition,
see the following Web site for links to other organizations that offer
Tcl/Tk training:
http://wiki.tcl.tk/training
9. Tracking Development
-----------------------
Tcl is developed in public. To keep an eye on how Tcl is changing, see
http://core.tcl.tk/
10. Thank You
-------------
We'd like to express our thanks to the Tcl community for all the
helpful suggestions, bug reports, and patches we have received.
Tcl/Tk has improved vastly and will continue to do so with your help.
+7980
View File
File diff suppressed because it is too large Load Diff
+6
View File
@@ -0,0 +1,6 @@
This directory contains various header and code files that are
used make Tcl compatible with various releases of UNIX and UNIX-like
systems. Typically, files from this directory are used to compile
Tcl when a system doesn't contain the corresponding files or when
they are known to be incorrect. When the whole world becomes POSIX-
compliant this directory should be unnecessary.

Some files were not shown because too many files have changed in this diff Show More