4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
23 # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
24 # Copyright (c) 2020, Michal Nowak
25 # Copyright (c) 2023, Klaus Ziegler
28 include ..
/..
/..
/make-rules
/shared-macros.mk
31 COMPONENT_MJR_VERSION
= 8.6
32 COMPONENT_VERSION
= $(COMPONENT_MJR_VERSION
).15
33 COMPONENT_SUMMARY
= Tk
- TCL GUI Toolkit
34 COMPONENT_DESCRIPTION
= Tk is an open source
, cross-platform widget toolkit that provides a library of basic elements for building a graphical user interface
35 COMPONENT_PROJECT_URL
= https
://www.tcl-lang.org
/
36 COMPONENT_SRC
= $(COMPONENT_NAME
)$(COMPONENT_VERSION
)
37 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
)-src.
tar.gz
38 COMPONENT_ARCHIVE_HASH
= sha256
:550969f35379f952b3020f3ab7b9dd5bfd11c1ef7c9b7c6a75f5c49aca793fec
39 COMPONENT_ARCHIVE_URL
= https
://prdownloads.sourceforge.net
/tcl
/$(COMPONENT_ARCHIVE
)
40 COMPONENT_FMRI
= runtime
/tk-8
41 COMPONENT_CLASSIFICATION
= Development
/Other Languages
42 COMPONENT_LICENSE
= BSD-like
43 COMPONENT_LICENSE_FILE
= license.terms
45 include $(WS_MAKE_RULES
)/common.mk
47 PKG_MACROS
+= COMPONENT_MAJOR_VERSION
=$(COMPONENT_MJR_VERSION
)
49 COMPONENT_PREP_ACTION
= ( cd
$(@D
)/unix
; autoreconf
-f
)
51 COMPONENT_PRE_CONFIGURE_ACTION
= ( $(CLONEY
) $(SOURCE_DIR
) $(@D
) )
53 # This macro will help to look for the configure
54 # file at the pointed location
55 CONFIGURE_SCRIPT
= $(SOURCE_DIR
)/unix
/configure
59 CONFIGURE_OPTIONS
+= --enable-shared
60 CONFIGURE_OPTIONS
+= --enable-man-symlinks
61 CONFIGURE_OPTIONS
+= --enable-threads
62 CONFIGURE_OPTIONS
+= --with-tcl
="$(COMPONENT_DIR)/../tcl/build/$(MACH$(BITS))"
63 CONFIGURE_OPTIONS
+= --enable-64bit
64 ifeq ($(strip $(MACH
)),sparc
)
65 CONFIGURE_OPTIONS
+= --enable-64bit-vis
69 COMPONENT_POST_INSTALL_ACTION
+= \
70 find
$(PROTO_DIR
) -name libtk
$(COMPONENT_MAJOR_VERSION
).so
-exec chmod
0755 {} \
; ;
72 COMPONENT_POST_INSTALL_ACTION
+= \
73 sed
-f
$(COMPONENT_DIR
)/files
/tksed
$(PROTOUSRLIBDIR64
)/tkConfig.sh
> \
74 $(PROTOUSRLIBDIR64
)/tkConfig.sh.new \
75 $(MV
) $(PROTOUSRLIBDIR64
)/tkConfig.sh.new
$(PROTOUSRLIBDIR64
)/tkConfig.sh
; \
76 $(CHMOD
) 555 $(PROTOUSRLIBDIR64
)/tkConfig.sh
78 # Tests are run using an X virtual framebuffer.
79 # When we have the equivalent of REQUIRED_PACKAGES for test dependencies,
80 # then we will need to make sure that x11/server/xvfb is included in that list.
81 COMPONENT_TEST_ENV
= DISPLAY
=:1
82 COMPONENT_TEST_TARGETS
= test
84 COMPONENT_PRE_TEST_ACTION
= \
85 $(SHELL
) $(COMPONENT_DIR
)/start_Xvfb
$(COMPONENT_DIR
)
86 COMPONENT_POST_TEST_ACTION
= \
87 $(SHELL
) $(COMPONENT_DIR
)/stop_Xvfb
$(COMPONENT_DIR
)
89 # Test results differ between 32-bit and 64-bit and x86 and SPARC.
90 #COMPONENT_TEST_MASTER = \
91 # $(COMPONENT_TEST_RESULTS_DIR)/results-$(BITS)-$(MACH).master
93 COMPONENT_TEST_TRANSFORMS
= \
99 # special targets due to tcl internals dependencies
100 ..
/tcl
/build
/%/.built
:
101 (cd ..
/tcl
; $(GMAKE
) build
)
103 $(CONFIGURE_64
): ..
/tcl
/build
/$(MACH64
)/.built
105 # Required for test suite
106 REQUIRED_PACKAGES
+= x11
/server
/xvfb
108 # Auto-generated dependencies
109 REQUIRED_PACKAGES
+= runtime
/tcl-8
110 REQUIRED_PACKAGES
+= system
/library
111 REQUIRED_PACKAGES
+= system
/library
/fontconfig
112 REQUIRED_PACKAGES
+= system
/library
/math
113 REQUIRED_PACKAGES
+= x11
/library
/libx11
114 REQUIRED_PACKAGES
+= x11
/library
/libxext
115 REQUIRED_PACKAGES
+= x11
/library
/libxft