tcl: New package

Uses a patch from Cygwin and is at the same
version. We won't be providing tk though as
that requires the X Windows System - unless
someone reverts the change that removed GDI
as a rendering back-end for Cygwin's tk.

This was added in support of expect which
was in turn added in support of dejagnu so
that libffi's testsuite can be run.
This commit is contained in:
Ray Donnelly
2015-06-30 18:16:02 +01:00
parent 00f0d1a73d
commit cfc2ecc108
3 changed files with 519 additions and 0 deletions

12
tcl/8.5.10-tea-m4.patch Normal file
View File

@@ -0,0 +1,12 @@
For backwards compatibility
--- origsrc/tcl8.5.10/tcl.m4 2011-10-24 20:47:16.878248200 -0500
+++ src/tcl8.5.10/tcl.m4 2011-10-24 20:50:38.013444700 -0500
@@ -3106,6 +3106,7 @@ AC_DEFUN([TEA_SETUP_COMPILER_CC], [
AC_PROG_CC
AC_PROG_CPP
+ AC_PROG_INSTALL
#--------------------------------------------------------------------
# Checks to see if the make program sets the $MAKE variable.

View File

@@ -0,0 +1,445 @@
--- origsrc/tcl8.5.18/generic/tcl.h 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/generic/tcl.h 2015-05-19 22:35:19.683022300 -0500
@@ -421,7 +421,7 @@ typedef unsigned TCL_WIDE_INT_TYPE Tcl_W
# else
typedef struct _stat32i64 Tcl_StatBuf;
# endif /* _MSC_VER < 1400 */
-#elif defined(__CYGWIN__)
+#elif 0 //defined(__CYGWIN__)
typedef struct {
dev_t st_dev;
unsigned short st_ino;
--- origsrc/tcl8.5.18/generic/tclCmdAH.c 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/generic/tclCmdAH.c 2015-05-19 22:35:42.817460000 -0500
@@ -995,7 +995,7 @@ Tcl_FileObjCmd(
* we always return 1.
*/
-#if defined(__WIN32__) || defined(__CYGWIN__)
+#if defined(__WIN32__) // || defined(__CYGWIN__)
value = 1;
#else
value = (geteuid() == buf.st_uid);
--- origsrc/tcl8.5.18/generic/tclDecls.h 2015-03-06 09:13:58.000000000 -0600
+++ src/tcl8.5.18/generic/tclDecls.h 2015-05-19 22:36:23.123078100 -0500
@@ -6594,7 +6594,7 @@ extern TclStubs *tclStubsPtr;
Tcl_UpVar2(interp, frameName, varName, NULL, localName, flags)
#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
-# if defined(__CYGWIN__) && defined(TCL_WIDE_INT_IS_LONG)
+# if 0 // defined(__CYGWIN__) && defined(TCL_WIDE_INT_IS_LONG)
/* On Cygwin64, long is 64-bit while on Win64 long is 32-bit. Therefore
* we have to make sure that all stub entries on Cygwin64 follow the
* Win64 signature. Cygwin64 stubbed extensions cannot use those stub
--- origsrc/tcl8.5.18/generic/tclEnv.c 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/generic/tclEnv.c 2015-05-19 22:36:42.854583700 -0500
@@ -44,7 +44,7 @@ static void ReplaceString(const char *o
MODULE_SCOPE void TclSetEnv(const char *name, const char *value);
MODULE_SCOPE void TclUnsetEnv(const char *name);
-#if defined(__CYGWIN__)
+#if 0 // defined(__CYGWIN__)
static void TclCygwinPutenv(char *string);
# define putenv TclCygwinPutenv
#endif
@@ -394,7 +394,7 @@ TclUnsetEnv(
* that no = should be included, and Windows requires it.
*/
-#if defined(__WIN32__) || defined(__CYGWIN__)
+#if defined(__WIN32__) // || defined(__CYGWIN__)
string = ckalloc((unsigned) length+2);
memcpy(string, name, (size_t) length);
string[length] = '=';
@@ -688,7 +688,7 @@ TclFinalizeEnvironment(void)
}
}
-#if defined(__CYGWIN__)
+#if 0 //defined(__CYGWIN__)
/*
* When using cygwin, when an environment variable changes, we need to synch
--- origsrc/tcl8.5.18/generic/tclFCmd.c 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/generic/tclFCmd.c 2015-05-19 22:36:52.305283800 -0500
@@ -526,7 +526,7 @@ CopyRenameOneFile(
* 16 bits and we get collisions. See bug #2015723.
*/
-#if !defined(WIN32) && !defined(__CYGWIN__)
+#if !defined(WIN32) // && !defined(__CYGWIN__)
if ((sourceStatBuf.st_ino != 0) && (targetStatBuf.st_ino != 0)) {
if ((sourceStatBuf.st_ino == targetStatBuf.st_ino) &&
(sourceStatBuf.st_dev == targetStatBuf.st_dev)) {
--- origsrc/tcl8.5.18/generic/tclIOSock.c 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/generic/tclIOSock.c 2015-05-19 22:39:09.757738100 -0500
@@ -82,7 +82,7 @@ TclSockGetPort(
*/
#undef TclSockMinimumBuffers
-#if !defined(_WIN32) && !defined(__CYGWIN__)
+#if !defined(_WIN32) // && !defined(__CYGWIN__)
# define SOCKET int
#endif
--- origsrc/tcl8.5.18/generic/tclIntPlatDecls.h 2015-03-06 09:13:58.000000000 -0600
+++ src/tcl8.5.18/generic/tclIntPlatDecls.h 2015-05-19 22:38:35.393374300 -0500
@@ -45,7 +45,7 @@ extern "C" {
* Exported function declarations:
*/
-#if !defined(__WIN32__) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
+#if !defined(__WIN32__) /* && !defined(__CYGWIN__) */ && !defined(MAC_OSX_TCL) /* UNIX */
#ifndef TclGetAndDetachPids_TCL_DECLARED
#define TclGetAndDetachPids_TCL_DECLARED
/* 0 */
@@ -145,7 +145,7 @@ EXTERN int TclUnixCopyFile(CONST char *
EXTERN int TclWinCPUID(unsigned int index, unsigned int *regs);
#endif
#endif /* UNIX */
-#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) /* || defined(__CYGWIN__) */
#ifndef TclWinConvertError_TCL_DECLARED
#define TclWinConvertError_TCL_DECLARED
/* 0 */
@@ -439,7 +439,7 @@ typedef struct TclIntPlatStubs {
int magic;
struct TclIntPlatStubHooks *hooks;
-#if !defined(__WIN32__) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
+#if !defined(__WIN32__) /* && !defined(__CYGWIN__) */ && !defined(MAC_OSX_TCL) /* UNIX */
void (*tclGetAndDetachPids) (Tcl_Interp *interp, Tcl_Channel chan); /* 0 */
int (*tclpCloseFile) (TclFile file); /* 1 */
Tcl_Channel (*tclpCreateCommandChannel) (TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr); /* 2 */
@@ -471,7 +471,7 @@ typedef struct TclIntPlatStubs {
VOID *reserved28;
int (*tclWinCPUID) (unsigned int index, unsigned int *regs); /* 29 */
#endif /* UNIX */
-#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) /* || defined(__CYGWIN__) */
void (*tclWinConvertError) (DWORD errCode); /* 0 */
void (*tclWinConvertWSAError) (DWORD errCode); /* 1 */
struct servent * (*tclWinGetServByName) (CONST char *nm, CONST char *proto); /* 2 */
@@ -549,7 +549,7 @@ extern TclIntPlatStubs *tclIntPlatStubsP
* Inline function declarations:
*/
-#if !defined(__WIN32__) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
+#if !defined(__WIN32__) /* && !defined(__CYGWIN__) */ && !defined(MAC_OSX_TCL) /* UNIX */
#ifndef TclGetAndDetachPids
#define TclGetAndDetachPids \
(tclIntPlatStubsPtr->tclGetAndDetachPids) /* 0 */
@@ -626,7 +626,7 @@ extern TclIntPlatStubs *tclIntPlatStubsP
(tclIntPlatStubsPtr->tclWinCPUID) /* 29 */
#endif
#endif /* UNIX */
-#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) /* || defined(__CYGWIN__) */
#ifndef TclWinConvertError
#define TclWinConvertError \
(tclIntPlatStubsPtr->tclWinConvertError) /* 0 */
--- origsrc/tcl8.5.18/generic/tclPlatDecls.h 2015-03-06 09:13:58.000000000 -0600
+++ src/tcl8.5.18/generic/tclPlatDecls.h 2015-05-19 22:40:00.691205800 -0500
@@ -25,7 +25,7 @@
* TCHAR is needed here for win32, so if it is not defined yet do it here.
* This way, we don't need to include <tchar.h> just for one define.
*/
-#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(_TCHAR_DEFINED)
+#if (defined(_WIN32) /* || defined(__CYGWIN__) */) && !defined(_TCHAR_DEFINED)
# if defined(_UNICODE)
typedef wchar_t TCHAR;
# else
@@ -44,7 +44,7 @@ extern "C" {
* Exported function declarations:
*/
-#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) /* || defined(__CYGWIN__) */
#ifndef Tcl_WinUtfToTChar_TCL_DECLARED
#define Tcl_WinUtfToTChar_TCL_DECLARED
/* 0 */
@@ -81,7 +81,7 @@ typedef struct TclPlatStubs {
int magic;
struct TclPlatStubHooks *hooks;
-#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) /* || defined(__CYGWIN__) */
TCHAR * (*tcl_WinUtfToTChar) (CONST char *str, int len, Tcl_DString *dsPtr); /* 0 */
char * (*tcl_WinTCharToUtf) (CONST TCHAR *str, int len, Tcl_DString *dsPtr); /* 1 */
#endif /* WIN */
@@ -103,7 +103,7 @@ extern TclPlatStubs *tclPlatStubsPtr;
* Inline function declarations:
*/
-#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) /* || defined(__CYGWIN__) */
#ifndef Tcl_WinUtfToTChar
#define Tcl_WinUtfToTChar \
(tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */
--- origsrc/tcl8.5.18/generic/tclStubInit.c 2015-03-06 09:13:58.000000000 -0600
+++ src/tcl8.5.18/generic/tclStubInit.c 2015-05-19 22:40:52.285257400 -0500
@@ -79,7 +79,7 @@ MODULE_SCOPE TclPlatStubs tclPlatStubs;
MODULE_SCOPE TclStubs tclStubs;
MODULE_SCOPE TclTomMathStubs tclTomMathStubs;
-#if defined(_WIN32) || defined(__CYGWIN__)
+#if defined(_WIN32) // || defined(__CYGWIN__)
#undef TclWinNToHS
unsigned short TclWinNToHS(unsigned short ns) {
return ntohs(ns);
@@ -91,7 +91,7 @@ unsigned short TclWinNToHS(unsigned shor
# define TclUnixCopyFile 0
# define TclpReaddir 0
# define TclpIsAtty 0
-#elif defined(__CYGWIN__)
+#elif 0 // defined(__CYGWIN__)
# define TclpIsAtty TclPlatIsAtty
# define TclWinSetInterfaces (void (*) (int)) doNothing
# define TclWinAddProcess (void (*) (void *, unsigned int)) doNothing
@@ -555,7 +555,7 @@ TclIntStubs tclIntStubs = {
TclIntPlatStubs tclIntPlatStubs = {
TCL_STUB_MAGIC,
NULL,
-#if !defined(__WIN32__) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
+#if !defined(__WIN32__) /* && !defined(__CYGWIN__) */ && !defined(MAC_OSX_TCL) /* UNIX */
TclGetAndDetachPids, /* 0 */
TclpCloseFile, /* 1 */
TclpCreateCommandChannel, /* 2 */
@@ -587,7 +587,7 @@ TclIntPlatStubs tclIntPlatStubs = {
NULL, /* 28 */
TclWinCPUID, /* 29 */
#endif /* UNIX */
-#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) /* || defined(__CYGWIN__) */
TclWinConvertError, /* 0 */
TclWinConvertWSAError, /* 1 */
TclWinGetServByName, /* 2 */
@@ -656,7 +656,7 @@ TclIntPlatStubs tclIntPlatStubs = {
TclPlatStubs tclPlatStubs = {
TCL_STUB_MAGIC,
NULL,
-#if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */
+#if defined(__WIN32__) /* || defined(__CYGWIN__) */
Tcl_WinUtfToTChar, /* 0 */
Tcl_WinTCharToUtf, /* 1 */
#endif /* WIN */
--- origsrc/tcl8.5.18/tools/genStubs.tcl 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/tools/genStubs.tcl 2015-05-19 22:41:29.396970000 -0500
@@ -286,9 +286,6 @@ proc genStubs::addPlatformGuard {plat if
switch $plat {
win {
append text "#if defined(__WIN32__)"
- if {$withCygwin} {
- append text " || defined(__CYGWIN__)"
- }
append text " /* WIN */\n${iftxt}"
if {$eltxt ne ""} {
append text "#else /* WIN */\n${eltxt}"
@@ -297,9 +294,6 @@ proc genStubs::addPlatformGuard {plat if
}
unix {
append text "#if !defined(__WIN32__)"
- if {$withCygwin} {
- append text " && !defined(__CYGWIN__)"
- }
append text " && !defined(MAC_OSX_TCL)\
/* UNIX */\n${iftxt}"
if {$eltxt ne ""} {
@@ -323,9 +317,6 @@ proc genStubs::addPlatformGuard {plat if
}
x11 {
append text "#if !(defined(__WIN32__)"
- if {$withCygwin} {
- append text " || defined(__CYGWIN__)"
- }
append text " || defined(MAC_OSX_TK))\
/* X11 */\n${iftxt}"
if {$eltxt ne ""} {
--- origsrc/tcl8.5.18/unix/Makefile.in 2015-03-06 09:13:58.000000000 -0600
+++ src/tcl8.5.18/unix/Makefile.in 2015-05-19 23:08:16.683069400 -0500
@@ -559,9 +559,6 @@ ${LIB_FILE}: ${STUB_LIB_FILE} ${OBJS}
@MAKE_LIB@
${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
- @if test "x${LIB_FILE}" = "xlibtcl${MAJOR_VERSION}.${MINOR_VERSION}.dll"; then \
- (cd ${TOP_DIR}/win; ${MAKE} libtclstub${MAJOR_VERSION}${MINOR_VERSION}.a); \
- fi
rm -f $@
@MAKE_STUB_LIB@
--- origsrc/tcl8.5.18/unix/tcl.m4 2015-03-06 09:13:58.000000000 -0600
+++ src/tcl8.5.18/unix/tcl.m4 2015-05-19 23:13:24.931211900 -0500
@@ -1236,7 +1236,20 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
CC_SEARCH_FLAGS=""
LD_SEARCH_FLAGS=""
;;
- CYGWIN_*|MINGW32*)
+ CYGWIN_*)
+ SHLIB_CFLAGS=""
+ SHLIB_LD='${CC} -shared'
+ SHLIB_SUFFIX=".dll"
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ CC_SEARCH_FLAGS=""
+ LD_SEARCH_FLAGS=""
+ TCL_NEEDS_EXP_FILE=1
+ TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.dll.a'
+ SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,--out-implib,\$[@].a"
+ do64bit_ok=yes
+ ;;
+ MINGW32*)
SHLIB_CFLAGS=""
SHLIB_LD='${CC} -shared'
SHLIB_SUFFIX=".dll"
--- origsrc/tcl8.5.18/unix/tclUnixFile.c 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/unix/tclUnixFile.c 2015-05-19 22:43:33.426719800 -0500
@@ -40,7 +40,7 @@ TclpFindExecutable(
* (native). */
{
Tcl_Encoding encoding;
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
int length;
char buf[PATH_MAX * 2];
char name[PATH_MAX * TCL_UTF_MAX + 1];
@@ -1187,7 +1187,7 @@ TclpUtime(
{
return utime(Tcl_FSGetNativePath(pathPtr), tval);
}
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
int TclOSstat(const char *name, void *cygstat) {
struct stat buf;
Tcl_StatBuf *statBuf = cygstat;
--- origsrc/tcl8.5.18/unix/tclUnixInit.c 2015-03-06 08:13:07.000000000 -0600
+++ src/tcl8.5.18/unix/tclUnixInit.c 2015-05-19 22:44:05.939848400 -0500
@@ -32,7 +32,7 @@
# endif
#endif
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
DLLIMPORT extern __stdcall unsigned char GetVersionExW(void *);
DLLIMPORT extern __stdcall void *LoadLibraryW(const void *);
DLLIMPORT extern __stdcall void FreeLibrary(void *);
@@ -812,7 +812,7 @@ void
TclpSetVariables(
Tcl_Interp *interp)
{
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
SYSTEM_INFO sysInfo;
static OSVERSIONINFOW osInfo;
static int osInfoInitialized = 0;
@@ -926,7 +926,7 @@ TclpSetVariables(
#endif
unameOK = 0;
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
unameOK = 1;
if (!osInfoInitialized) {
HANDLE handle = LoadLibraryW(L"NTDLL");
--- origsrc/tcl8.5.18/unix/tclUnixNotfy.c 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/unix/tclUnixNotfy.c 2015-05-19 22:45:26.766612100 -0500
@@ -99,7 +99,7 @@ typedef struct ThreadSpecificData {
* from these pointers. You must hold the
* notifierMutex lock before accessing these
* fields. */
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
void *event; /* Any other thread alerts a notifier
* that an event is ready to be processed
* by sending this event. */
@@ -227,7 +227,7 @@ static int FileHandlerEventProc(Tcl_Even
*----------------------------------------------------------------------
*/
-#if defined(TCL_THREADS) && defined(__CYGWIN__)
+#if 0 // defined(TCL_THREADS) && defined(__CYGWIN__)
typedef struct {
void *hwnd;
@@ -399,7 +399,7 @@ Tcl_FinalizeNotifier(
* Clean up any synchronization objects in the thread local storage.
*/
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
CloseHandle(tsdPtr->event);
#else /* __CYGWIN__ */
Tcl_ConditionFinalize(&(tsdPtr->waitCV));
@@ -436,7 +436,7 @@ Tcl_AlertNotifier(
ThreadSpecificData *tsdPtr = (ThreadSpecificData *) clientData;
Tcl_MutexLock(&notifierMutex);
tsdPtr->eventReady = 1;
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
PostMessageW(tsdPtr->hwnd, 1024, 0, 0);
#else
Tcl_ConditionNotify(&tsdPtr->waitCV);
@@ -740,7 +740,7 @@ FileHandlerEventProc(
return 1;
}
-#if defined(TCL_THREADS) && defined(__CYGWIN__)
+#if 0 //defined(TCL_THREADS) && defined(__CYGWIN__)
static DWORD __stdcall
NotifierProc(
@@ -793,7 +793,7 @@ Tcl_WaitForEvent(
Tcl_Time vTime;
#ifdef TCL_THREADS
int waitForFiles;
-# ifdef __CYGWIN__
+# if 0 //def __CYGWIN__
MSG msg;
# endif
#else
@@ -883,7 +883,7 @@ Tcl_WaitForEvent(
tsdPtr->pollState = 0;
}
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
if (!tsdPtr->hwnd) {
WNDCLASS class;
@@ -931,7 +931,7 @@ Tcl_WaitForEvent(
FD_ZERO(&(tsdPtr->readyMasks.exceptional));
if (!tsdPtr->eventReady) {
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
if (!PeekMessageW(&msg, NULL, 0, 0, 0)) {
DWORD timeout;
if (timePtr) {
@@ -949,7 +949,7 @@ Tcl_WaitForEvent(
}
tsdPtr->eventReady = 0;
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
while (PeekMessageW(&msg, NULL, 0, 0, 0)) {
/*
* Retrieve and dispatch the message.
@@ -1229,7 +1229,7 @@ NotifierThreadProc(
tsdPtr->onList = 0;
tsdPtr->pollState = 0;
}
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
PostMessageW(tsdPtr->hwnd, 1024, 0, 0);
#else /* __CYGWIN__ */
Tcl_ConditionNotify(&tsdPtr->waitCV);
--- origsrc/tcl8.5.18/unix/tclUnixPort.h 2015-02-12 09:13:16.000000000 -0600
+++ src/tcl8.5.18/unix/tclUnixPort.h 2015-05-19 22:45:54.241601000 -0500
@@ -75,7 +75,7 @@ typedef off_t Tcl_SeekOffset;
# define TclOSopen open
#endif
-#ifdef __CYGWIN__
+#if 0 //def __CYGWIN__
/* Make some symbols available without including <windows.h> */
# define DWORD unsigned int

62
tcl/PKGBUILD Normal file
View File

@@ -0,0 +1,62 @@
# $Id$
# Maintainer (MSYS2): Ray Donnelly <mingw.android@gmail.com>
# Maintainer (ArchLinux): Eric Bélanger <eric@archlinux.org>
pkgname=tcl
#pkgver=8.6.4
pkgver=8.5.18
pkgrel=1
pkgdesc="The Tcl scripting language"
arch=('i686' 'x86_64')
url="http://tcl.sourceforge.net/"
license=('custom')
depends=('zlib')
options=('staticlibs')
source=(http://downloads.sourceforge.net/sourceforge/tcl/tcl${pkgver}-src.tar.gz
8.5.18-cygwin-unix.patch)
sha1sums=('7d4f35bc080d27b2e148689037d312ea41e4d16b'
'119bfdb73c0c881ef5f18dc6711e1d567c942e05')
prepare() {
cd tcl${pkgver}
# we build the tcl sqlite interface in sqlite-tcl package
rm -rf pkgs/sqlite3*
patch -p2 -i ${srcdir}/8.5.18-cygwin-unix.patch
}
build() {
cd tcl${pkgver}/unix
[[ $CARCH == "x86_64" ]] && BIT="--enable-64bit"
./configure --prefix=/usr --mandir=/usr/share/man --enable-threads $BIT
make
}
# check() {
# cd tcl${pkgver}/unix
# make test
# }
package() {
cd tcl${pkgver}/unix
make INSTALL_ROOT="${pkgdir}" install install-private-headers
# ln -sf tclsh${pkgver%.*} "${pkgdir}/usr/bin/tclsh"
# ln -sf libtcl${pkgver%.*}.so "${pkgdir}/usr/lib/libtcl.so"
install -Dm644 ../license.terms "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# remove buildroot traces
sed -e "s#${srcdir}/tcl${pkgver}/unix#/usr/lib#" \
-e "s#${srcdir}/tcl${pkgver}#/usr/include#" \
-i "${pkgdir}/usr/lib/tclConfig.sh"
# tdbcver=tdbc1.0.3
# sed -e "s#${srcdir}/tcl${pkgver}/unix/pkgs/$tdbcver#/usr/lib/$tdbcver#" \
# -e "s#${srcdir}/tcl${pkgver}/pkgs/$tdbcver/generic#/usr/include#" \
# -e "s#${srcdir}/tcl${pkgver}/pkgs/$tdbcver/library#/usr/lib/tcl${pkgver%.*}#" \
# -e "s#${srcdir}/tcl${pkgver}/pkgs/$tdbcver#/usr/include#" \
# -i "${pkgdir}/usr/lib/$tdbcver/tdbcConfig.sh"
# itclver=itcl4.0.3
# sed -e "s#${srcdir}/tcl${pkgver}/unix/pkgs/$itclver#/usr/lib/$itclver#" \
# -e "s#${srcdir}/tcl${pkgver}/pkgs/$itclver/generic#/usr/include#" \
# -e "s#${srcdir}/tcl${pkgver}/pkgs/$itclver#/usr/include#" \
# -i "${pkgdir}/usr/lib/$itclver/itclConfig.sh"
}