pantry/projects/tcl-lang.org/package.yml

133 lines
4.1 KiB
YAML
Raw Normal View History

distributable:
url: https://downloads.sourceforge.net/project/tcl/Tcl/{{version}}/tcl{{version}}-src.tar.gz
strip-components: 1
2024-03-08 04:18:11 +03:00
versions:
url: https://www.tcl-lang.org/software/tcltk/download.html
match: /tcl\d+\.\d+\.\d+-src\.tar\.gz/
strip:
- /^tcl/
- /-src\.tar\.gz/
2024-03-08 04:18:11 +03:00
dependencies:
2024-03-08 04:18:11 +03:00
openssl.org: ^1.1
zlib.net: ^1.3
freetype.org: ^2
freedesktop.org/pkg-config: ^0.29
x.org/x11: ^1
x.org/exts: ^1
build:
dependencies:
gnu.org/patch: '*'
linux:
curl.se: '*'
2024-03-08 04:18:11 +03:00
tukaani.org/xz: '*' # for tar -xJ
script:
- run: |
./configure $ARGS
make --jobs {{hw.concurrency}}
make --jobs {{hw.concurrency}} install
make --jobs {{hw.concurrency}} install-private-headers
working-directory: unix
2024-03-08 04:18:11 +03:00
- run: ln -s tclsh{{version.marketing}} tclsh
2024-03-08 04:18:11 +03:00
working-directory: '{{prefix}}/bin'
# fixed in 8.6.14
- run: |
curl -L "$patch_1" | patch -p0
curl -L "$patch_2" | patch -p0
2024-03-08 04:18:11 +03:00
working-directory: tk
if: <8.6.14
- run: |
curl -L "$res_tk" | tar -xz --strip-components=1
cd unix
./configure $ARGS --without-x --with-tcl={{prefix}}/lib
make --jobs {{hw.concurrency}}
make --jobs {{hw.concurrency}} install
make --jobs {{hw.concurrency}} install-private-headers
working-directory: tk
2024-03-08 04:18:11 +03:00
- run: ln -s wish{{version.marketing}} wish
2024-03-08 04:18:11 +03:00
working-directory: '{{prefix}}/bin'
- run: |
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
tclsh build.tcl install
working-directory: critcl
2024-03-08 04:18:11 +03:00
- run: |
curl -L "$res_tcllib" | tar -xJ --strip-components=1
./configure --prefix={{prefix}} --mandir={{prefix}}/share/man
make --jobs {{hw.concurrency}} install
make --jobs {{hw.concurrency}} critcl
cp -r modules/tcllibc {{prefix}}/lib/
working-directory: tcllib
2024-03-08 04:18:11 +03:00
- run: |
curl -L "$res_tcltls" | tar -xz --strip-components=1
./configure $TLS_ARGS
make --jobs {{hw.concurrency}} install
working-directory: tcltls
2024-03-08 04:18:11 +03:00
- run: |
curl -L "$res_itk4" | tar -xz --strip-components=1
itcl_dir=$(ls -d {{prefix}}/lib/itcl* | tail -n 1)
./configure $ITK4_ARGS --with-itcl=$itcl_dir
make --jobs {{hw.concurrency}}
make --jobs {{hw.concurrency}} install
working-directory: itk4
2024-03-08 04:18:11 +03:00
- rm {{prefix}}/bin/sqlite3_analyzer
env:
res_critcl: https://github.com/andreas-kupries/critcl/archive/refs/tags/3.2.tar.gz
res_tcllib: https://downloads.sourceforge.net/project/tcllib/tcllib/1.21/tcllib-1.21.tar.xz
res_tcltls: https://core.tcl-lang.org/tcltls/uv/tcltls-1.7.22.tar.gz
res_tk: https://downloads.sourceforge.net/project/tcl/Tcl/{{version}}/tk{{version}}-src.tar.gz
patch_1: https://raw.githubusercontent.com/macports/macports-ports/db4f8f774193/x11/tk/files/fix-themechanged-error.patch
patch_2: https://raw.githubusercontent.com/macports/macports-ports/6a93695d61d3/x11/tk/files/fix-kvo-crash.diff
res_itk4: https://downloads.sourceforge.net/project/incrtcl/%5Bincr%20Tcl_Tk%5D-4-source/itk%204.1.0/itk4.1.0.tar.gz
ARGS:
- --prefix={{prefix}}
- --includedir={{prefix}}/include/tcl-tk
- --mandir={{prefix}}/share/man
- --enable-threads
2024-03-08 04:18:11 +03:00
TCL_PACKAGE_PATH: '{{prefix}}/lib'
PATH: '{{prefix}}/bin:$PATH'
TLS_ARGS:
- --with-ssl=openssl
- --with-openssl-dir={{deps.openssl.org.prefix}}
- --prefix={{prefix}}
- --mandir={{prefix}}/share/man
ITK4_ARGS:
- --prefix={{prefix}}
- --exec-prefix={{prefix}}
- --with-tcl={{prefix}}/lib
- --with-tclinclude={{prefix}}/include/tcl-tk
- --with-tk={{prefix}}/lib
- --with-tkinclude={{prefix}}/include/tcl-tk
- --with-itcl={{prefix}}/lib/itcl*
x86-64:
ARGS:
- --enable-64bit
provides:
- bin/tclsh
- bin/wish
- bin/critcl
- bin/dtplite
- bin/mkdoc
- bin/nns
- bin/nnsd
- bin/nnslog
- bin/page
- bin/pt
- bin/tcldocstrip
2024-03-08 04:18:11 +03:00
test:
2024-03-08 04:18:11 +03:00
- tclsh test.tcl
- tclsh version.tcl | grep {{version}}