diff --git a/projects/tcl-lang.org/tk/v8/package.yml b/projects/tcl-lang.org/tk/v8/package.yml new file mode 100644 index 0000000000..6da702dea6 --- /dev/null +++ b/projects/tcl-lang.org/tk/v8/package.yml @@ -0,0 +1,63 @@ +# Tk 8.6 — legacy GUI toolkit. +# +# Companion to tcl-lang.org/v8. Tk 9.0 has a broken `minizip` target +# in its Makefile that fails build; 8.6.x stays buildable. Required +# by git-gui, python-tk@3.9, and other legacy Tcl GUIs. + +distributable: + url: https://downloads.sourceforge.net/project/tcl/Tcl/{{version}}/tk{{version}}-src.tar.gz + strip-components: 1 + +versions: + url: https://www.tcl-lang.org/software/tcltk/download.html + match: /tk8\.6\.\d+-src\.tar\.gz/ + strip: + - /^tk/ + - /-src\.tar\.gz/ + +platforms: + - linux/x86-64 + - linux/aarch64 + - darwin/x86-64 + - darwin/aarch64 + +dependencies: + tcl-lang.org/v8: '*' + freedesktop.org/pkg-config: '*' + linux: + x.org/x11: '*' + x.org/exts: '*' + freetype.org: '*' + +build: + working-directory: unix + darwin: + working-directory: macosx + + script: + - ./configure $ARGS + - make --jobs {{ hw.concurrency }} + - make install + - run: | + cd "{{prefix}}/bin" + [ ! -e wish ] && ln -sf "wish{{version.major}}.{{version.minor}}" wish || true + + env: + CPPFLAGS: -I{{deps.tcl-lang.org/v8.prefix}}/include + ARGS: + - --prefix={{prefix}} + - --exec-prefix={{prefix}} + - --with-tcl={{deps.tcl-lang.org/v8.prefix}}/lib + - --enable-shared + - --enable-threads + - --enable-64bit + darwin: + ARGS: + - --enable-aqua + +test: + - test -f "{{prefix}}/lib/libtk{{version.major}}.{{version.minor}}.dylib" -o -f "{{prefix}}/lib/libtk{{version.major}}.{{version.minor}}.so" + +provides: + - bin/wish + - bin/wish{{version.major}}.{{version.minor}} diff --git a/projects/tcl-lang.org/v8/package.yml b/projects/tcl-lang.org/v8/package.yml new file mode 100644 index 0000000000..413f50d670 --- /dev/null +++ b/projects/tcl-lang.org/v8/package.yml @@ -0,0 +1,54 @@ +# Tcl 8.6 — legacy line. +# +# The main tcl-lang.org recipe tracks 9.0.x which made backward- +# incompatible API changes. Many extensions and Tk-based GUIs (git-gui, +# python-tk, BWidget, expect-derived tools) still pin to 8.6. + +distributable: + url: https://downloads.sourceforge.net/project/tcl/Tcl/{{version}}/tcl{{version}}-src.tar.gz + strip-components: 1 + +versions: + url: https://www.tcl-lang.org/software/tcltk/download.html + match: /tcl8\.6\.\d+-src\.tar\.gz/ + strip: + - /^tcl/ + - /-src\.tar\.gz/ + +platforms: + - linux/x86-64 + - linux/aarch64 + - darwin/x86-64 + - darwin/aarch64 + +dependencies: + openssl.org: ^1.1 + zlib.net: ^1.3 + +build: + dependencies: + gnu.org/patch: '*' + info-zip.org/zip: '*' + + working-directory: unix + script: + - ./configure $ARGS + - make --jobs {{ hw.concurrency }} + - make install + - make install-private-headers + - run: | + cd "{{prefix}}/bin" + ln -sf "tclsh{{version.major}}.{{version.minor}}" tclsh + env: + ARGS: + - --prefix={{prefix}} + - --enable-shared + - --enable-threads + - --enable-64bit + +test: + - echo 'puts "ok"' | tclsh + +provides: + - bin/tclsh + - bin/tclsh{{version.major}}.{{version.minor}}