package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.4 KiB

package("tclsh")
set_kind("binary")
set_homepage("https://core.tcl-lang.org/tcl/")
set_description("The Tcl Core. (Mirror of core.tcl-lang.org) ")
add_urls("https://github.com/tcltk/tcl.git")
add_versions("2024.06.07", "6accaa2544857f45554541a83fb4ef4cefa263d0")
on_install("linux", "macosx", function (package)
local configs = {}
os.cd("unix")
import("package.tools.autoconf").install(package, configs)
os.cp(path.join(package:installdir("bin"), "tclsh9.0"), path.join(package:installdir("bin"), "tclsh"))
end)
on_install("windows", function (package)
os.cd("win")
-- TODO
io.replace("makefile.vc", "libtclzip: core dlls $(TCLSCRIPTZIP)", "libtclzip: core dlls", {plain = true})
import("package.tools.nmake").build(package, {"-f", "makefile.vc", "release"})
os.cp("Release_*/*.exe", package:installdir("bin"))
os.cp("Release_*/*.dll", package:installdir("bin"))
os.cp(path.join(package:installdir("bin"), "tclsh90.exe"), path.join(package:installdir("bin"), "tclsh.exe"))
end)
on_test(function (package)
local infile = os.tmpfile()
local outfile = os.tmpfile()
io.writefile(infile, "puts hello\n")
local outdata = os.iorunv("tclsh", {infile})
assert(outdata == "hello\n")
os.rm(infile)
os.rm(outfile)
end)