1 # Created by: Martin Matuska <mm@FreeBSD.org>
6 CATEGORIES= x11-toolkits
7 MASTER_SITES= ${MASTER_SITE_TCLTK} \
8 SF/tcl/Tcl/${PORTVERSION}
9 MASTER_SITE_SUBDIR=tcl8_5
10 PKGNAMESUFFIX= ${PORTVERSION:R:S/.//}
11 DISTNAME= ${PORTNAME}${PORTVERSION}-src
13 MAINTAINER= tcltk@FreeBSD.org
14 COMMENT= Graphical toolkit for Tcl
17 LICENSE_NAME= Tcl/Tk License
18 LICENSE_FILE= ${WRKSRC}/../license.terms
19 LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
21 USES+= tcl:${SHORT_TK_VER}
22 USE_XORG= x11 xft xscrnsaver
24 WRKSRC= ${WRKDIR}/${DISTNAME:S/-src//}/unix
28 CONFIGURE_ARGS= --enable-shared \
31 --enable-man-suffix=.${MAN_SUFFIX} \
32 --with-tcl=${TCL_LIBDIR} \
33 --includedir=${PREFIX}/include/tk${TK_VER}
35 CONFIGURE_ENV= PORTSDIR=${PORTSDIR} TK_LIB_FILE=libtk${SHORT_TK_VER}.so.1 \
36 ac_cv_path_tclsh="${LOCALBASE}/bin/tclsh${TK_VER}"
37 MAN_SUFFIX= ${LATEST_LINK}
39 INSTALL_TARGET= install
41 MAKE_ENV= SHORT_TK_VER=${SHORT_TK_VER}
42 PLIST_SUB= TK_VER=${TK_VER} SHORT_TK_VER=${SHORT_TK_VER}
43 NOPRECIOUSMAKEVARS= yes # Otherwise 'make readmes' is broken
44 DATADIR= ${PREFIX}/share/${PORTNAME}${TK_VER}
45 SUB_FILES= pkgIndex.tcl
47 OPTIONS_DEFINE= TK85_MAN DEMOS THREADS
48 OPTIONS_DEFAULT=THREADS
49 TK85_MAN_DESC= Install tk 8.5 function manpages
50 DEMOS_DESC= Install demos
52 SUB_LIST+= TCLPATCHLEVEL="${PORTVERSION}"
54 .include <bsd.port.pre.mk>
56 DATADIR= ${PREFIX}/share/${PORTNAME}${TCL_VER}
58 .if ${PORT_OPTIONS:MTHREADS}
59 CONFIGURE_ARGS+= --enable-threads
61 CONFIGURE_ARGS+= --disable-threads
64 .if ${PORT_OPTIONS:MDEMOS}
65 INSTALL_TARGET+= install install-demos
68 PLIST_SUB+= DEMOS="@comment "
71 .if ${PORT_OPTIONS:MTK85_MAN}
72 INSTALL_TARGET+=install-doc
75 PLIST_SUB+= MAN="@comment "
78 TKBASE?= ${PORTSDIR}/${PKGCATEGORY}/${LATEST_LINK}
82 's|@TK_BUILD_LIB_SPEC@|@TK_LIB_SPEC@|; \
83 s|@TK_BUILD_STUB_LIB_SPEC@|@TK_STUB_LIB_SPEC@|; \
84 s|@TK_BUILD_STUB_LIB_PATH@|@TK_STUB_LIB_PATH@|; \
85 s|@TK_SRC_DIR@|${PREFIX}/include/tk${TK_VER}|' \
86 ${WRKSRC}/tkConfig.sh.in
87 @${REINPLACE_CMD} -e 's|X11/Intrinsic.h|X11/Xlib.h|g' ${WRKSRC}/configure
88 @${REINPLACE_CMD} -e 's|@TK_SHARED_BUILD@|#@TK_SHARED_BUILD@|g; s|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/Makefile.in
92 -e 's|${WRKDIRPREFIX}${.CURDIR}|$${WRKDIRPREFIX}${TKBASE}|' \
94 ${REINPLACE_CMD} -e 's|-Wl,--rpath -Wl,/usr/local/lib||g' ${WRKSRC}/Makefile
97 ${INSTALL_DATA} ${WRKDIR}/pkgIndex.tcl ${STAGEDIR}${PREFIX}/lib/tk${TK_VER}/
98 ${LN} -fs libtk${SHORT_TK_VER}.so.1.0 \
99 ${STAGEDIR}${PREFIX}/lib/libtk${SHORT_TK_VER}.so.1
101 regression-test: build
102 cd ${WRKSRC}; ${MAKE} test
103 ${ECHO_CMD} "package require Tk" | tclsh${TK_VER}
104 ${ECHO_CMD} "load libtk${SHORT_TK_VER}.so" | tclsh${TK_VER}
106 .include <bsd.port.post.mk>