{% set version = "8.6.12" %}
{% set maj_min = ".".join(version.split(".")[:2]) %}
package:
name: tk
version: {{ version }}
source:
- url: https://altushost-swe.dl.sourceforge.net/project/tcl/Tcl/{{ version }}/tcl{{ version }}-src.tar.gz
folder: tcl{{ version }}
sha256: 26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6
- url: https://altushost-swe.dl.sourceforge.net/project/tcl/Tcl/{{ version }}/tk{{ version }}-src.tar.gz
folder: tk{{ version }}
sha256: 12395c1f3fcb6bed2938689f797ea3cdf41ed5cb6c4766eec8ac949560310630
build:
number: 0
detect_binary_files_with_prefix: true
run_exports:
# pin to major.minor because library names have that info in them
- {{ pin_subpackage('tk', max_pin='x.x') }}
missing_dso_whitelist: # [linux and not ppc64le]
- $RPATH/lib* # [linux and not ppc64le]
requirements:
build:
- {{ compiler('c') }}
- {{ cdt('xorg-x11-proto-devel') }} # [linux]
- {{ cdt('libx11-devel') }} # [linux]
- {{ cdt('libxcb') }} # [linux]
- {{ cdt('libxau') }} # [linux]
- make # [linux]
- patch # [not win]
- m2-patch # [win]
host:
- zlib # [unix]
test:
files:
- hello.tcl
commands:
# Check for binaries.
{% for ver_suffix in ["", maj_min] %}
- test -f "${PREFIX}/bin/tclsh{{ ver_suffix }}" # [unix]
- test -f "${PREFIX}/bin/wish{{ ver_suffix }}" # [unix]
- if not exist %LIBRARY_PREFIX%\\bin\\wish{{ ver_suffix.replace(".", "") }}.exe exit 1 # [win]
- if not exist %LIBRARY_PREFIX%\\bin\\tclsh{{ ver_suffix.replace(".", "") }}.exe exit 1 # [win]
{% endfor %}
# Check for includes.
{% set tcl_tk_includes = [
"tcl",
"tclDecls",
"tclPlatDecls",
"tclPlatDecls",
"tclTomMathDecls",
"tclTomMath",
"tk",
"tkDecls",
"tkPlatDecls"
] %}
{% for each_tcl_tk_include in tcl_tk_includes %}
- test -f "${PREFIX}/include/{{ each_tcl_tk_include }}.h" # [unix]
- if not exist %LIBRARY_PREFIX%\\include\\{{ each_tcl_tk_include }}.h exit 1 # [win]
{% endfor %}
# Check for libraries.
# Library naming note: t means "full thread support" in Windows
# https://sourceforge.net/p/tcl/mailman/tcl-bugs/thread/From_noreply@sourceforge.net_Mon_Jul_23_11:46:16_2012/
{% set tcl_tk_libs = [
"tcl",
"tk"
] %}
{% for each_tcl_tk_lib in tcl_tk_libs %}
- test -f "${PREFIX}/lib/lib{{ each_tcl_tk_lib }}{{ maj_min }}.dylib" # [osx]
- test -f "${PREFIX}/lib/lib{{ each_tcl_tk_lib }}{{ maj_min }}.so" # [linux]
- test -f "${PREFIX}/lib/lib{{ each_tcl_tk_lib }}stub{{ maj_min }}.a" # [unix]
- if not exist %LIBRARY_PREFIX%\\lib\\{{ each_tcl_tk_lib }}{{ maj_min.replace(".", "") }}t.lib exit 1 # [win]
- if not exist %LIBRARY_PREFIX%\\bin\\{{ each_tcl_tk_lib }}{{ maj_min.replace(".", "") }}t.dll exit 1 # [win]
- if not exist %LIBRARY_PREFIX%\\lib\\{{ each_tcl_tk_lib }}stub{{ maj_min.replace(".", "") }}.lib exit 1 # [win]
{% endfor %}
# Check commands work and run a simple program.
- tclsh hello.tcl
- tclsh{{ maj_min }} hello.tcl # [unix]
- tclsh{{ maj_min.replace(".", "") }} hello.tcl # [win]
- wish hello.tcl
- wish{{ maj_min }} hello.tcl # [unix]
- wish{{ maj_min.replace(".", "") }}t hello.tcl # [win]
about:
home: https://www.tcl.tk/
license: TCL
license_family: BSD
license_file: tcl{{ version }}/license.terms
summary: A dynamic programming language with GUI support. Bundles Tcl and Tk.
dev_url: https://core.tcl-lang.org/tk/home
doc_url: https://www.tcl.tk/man/tcl8.6/index.html
extra:
recipe-maintainers:
- jakirkham
- jjhelmus
- msarahan
- pelson
- ocefpaf
- mingwandroid