closes #5413
This commit is contained in:
Jacob Heider 2024-03-07 20:18:11 -05:00 committed by Jacob Heider
parent 8a7e8e8d98
commit 05f9d82a8e

View file

@ -1,24 +1,28 @@
distributable: distributable:
url: https://downloads.sourceforge.net/project/tcl/Tcl/{{version}}/tcl{{version}}-src.tar.gz url: https://downloads.sourceforge.net/project/tcl/Tcl/{{version}}/tcl{{version}}-src.tar.gz
strip-components: 1 strip-components: 1
versions: versions:
url: https://www.tcl-lang.org/software/tcltk/download.html url: https://www.tcl-lang.org/software/tcltk/download.html
match: /tcl\d+\.\d+\.\d+-src\.tar\.gz/ match: /tcl\d+\.\d+\.\d+-src\.tar\.gz/
strip: strip:
- /^tcl/ - /^tcl/
- /-src\.tar\.gz/ - /-src\.tar\.gz/
dependencies: dependencies:
openssl.org: '*' openssl.org: ^1.1
zlib.net: '*' zlib.net: ^1.3
freetype.org: '*' freetype.org: ^2
freedesktop.org/pkg-config: '*' freedesktop.org/pkg-config: ^0.29
x.org/x11: '*' x.org/x11: ^1
x.org/exts: '*' x.org/exts: ^1
build: build:
dependencies: dependencies:
gnu.org/patch: '*' gnu.org/patch: '*'
linux: linux:
curl.se: '*' curl.se: '*'
tukaani.org/xz: '*' # for tar -xJ
script: script:
- run: | - run: |
./configure $ARGS ./configure $ARGS
@ -26,25 +30,35 @@ build:
make --jobs {{hw.concurrency}} install make --jobs {{hw.concurrency}} install
make --jobs {{hw.concurrency}} install-private-headers make --jobs {{hw.concurrency}} install-private-headers
working-directory: unix working-directory: unix
- run: ln -s tclsh{{version.marketing}} tclsh - run: ln -s tclsh{{version.marketing}} tclsh
working-directory: "{{prefix}}/bin" working-directory: '{{prefix}}/bin'
# fixed in 8.6.14
- run: | - run: |
curl -L "$res_tk" | tar -xz --strip-components=1
curl -L "$patch_1" | patch -p0 curl -L "$patch_1" | patch -p0
curl -L "$patch_2" | patch -p0 curl -L "$patch_2" | patch -p0
working-directory: tk
if: <8.6.14
- run: |
curl -L "$res_tk" | tar -xz --strip-components=1
cd unix cd unix
./configure $ARGS --without-x --with-tcl={{prefix}}/lib ./configure $ARGS --without-x --with-tcl={{prefix}}/lib
make --jobs {{hw.concurrency}} make --jobs {{hw.concurrency}}
make --jobs {{hw.concurrency}} install make --jobs {{hw.concurrency}} install
make --jobs {{hw.concurrency}} install-private-headers make --jobs {{hw.concurrency}} install-private-headers
working-directory: tk working-directory: tk
- run: ln -s wish{{version.marketing}} wish - run: ln -s wish{{version.marketing}} wish
working-directory: "{{prefix}}/bin" working-directory: '{{prefix}}/bin'
- run: | - run: |
curl -L "$res_critcl" | tar -xz --strip-components=1 curl -L "$res_critcl" | tar -xz --strip-components=1
sed -i.bak "s|package require Tcl 8.6|package require Tcl 8|g" build.tcl && rm *.bak sed -i.bak "s|package require Tcl 8.6|package require Tcl 8|g" build.tcl && rm *.bak
tclsh build.tcl install tclsh build.tcl install
working-directory: critcl working-directory: critcl
- run: | - run: |
curl -L "$res_tcllib" | tar -xJ --strip-components=1 curl -L "$res_tcllib" | tar -xJ --strip-components=1
./configure --prefix={{prefix}} --mandir={{prefix}}/share/man ./configure --prefix={{prefix}} --mandir={{prefix}}/share/man
@ -52,11 +66,13 @@ build:
make --jobs {{hw.concurrency}} critcl make --jobs {{hw.concurrency}} critcl
cp -r modules/tcllibc {{prefix}}/lib/ cp -r modules/tcllibc {{prefix}}/lib/
working-directory: tcllib working-directory: tcllib
- run: | - run: |
curl -L "$res_tcltls" | tar -xz --strip-components=1 curl -L "$res_tcltls" | tar -xz --strip-components=1
./configure $TLS_ARGS ./configure $TLS_ARGS
make --jobs {{hw.concurrency}} install make --jobs {{hw.concurrency}} install
working-directory: tcltls working-directory: tcltls
- run: | - run: |
curl -L "$res_itk4" | tar -xz --strip-components=1 curl -L "$res_itk4" | tar -xz --strip-components=1
itcl_dir=$(ls -d {{prefix}}/lib/itcl* | tail -n 1) itcl_dir=$(ls -d {{prefix}}/lib/itcl* | tail -n 1)
@ -64,6 +80,7 @@ build:
make --jobs {{hw.concurrency}} make --jobs {{hw.concurrency}}
make --jobs {{hw.concurrency}} install make --jobs {{hw.concurrency}} install
working-directory: itk4 working-directory: itk4
- rm {{prefix}}/bin/sqlite3_analyzer - rm {{prefix}}/bin/sqlite3_analyzer
env: env:
res_critcl: https://github.com/andreas-kupries/critcl/archive/refs/tags/3.2.tar.gz res_critcl: https://github.com/andreas-kupries/critcl/archive/refs/tags/3.2.tar.gz
@ -78,8 +95,8 @@ build:
- --includedir={{prefix}}/include/tcl-tk - --includedir={{prefix}}/include/tcl-tk
- --mandir={{prefix}}/share/man - --mandir={{prefix}}/share/man
- --enable-threads - --enable-threads
TCL_PACKAGE_PATH: "{{prefix}}/lib" TCL_PACKAGE_PATH: '{{prefix}}/lib'
PATH: "{{prefix}}/bin:$PATH" PATH: '{{prefix}}/bin:$PATH'
TLS_ARGS: TLS_ARGS:
- --with-ssl=openssl - --with-ssl=openssl
- --with-openssl-dir={{deps.openssl.org.prefix}} - --with-openssl-dir={{deps.openssl.org.prefix}}
@ -109,7 +126,7 @@ provides:
- bin/page - bin/page
- bin/pt - bin/pt
- bin/tcldocstrip - bin/tcldocstrip
test: test:
script: - tclsh test.tcl
- tclsh test.tcl - tclsh version.tcl | grep {{version}}
- tclsh version.tcl | grep {{version}}