From ba2aa474a1e96acb06190236fbc2896d2e170494 Mon Sep 17 00:00:00 2001 From: Sergey Avseyev Date: Tue, 26 May 2015 12:51:31 +0300 Subject: Implement support for XZ dist tarball Motivation ---------- Currenly tarballs for linux created manually. ZIP files are not suitable, because they do not preserve unix file permissions. Modification ------------ Implement 'koch xz' command to produce dist tarball in xz format. Also the same command implemented in niminst.nim. Result ------ Now it is easy to create source distribution for git stapshot and use it further in packaging scripts. --- koch.nim | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'koch.nim') diff --git a/koch.nim b/koch.nim index a951b422f..c6db6893c 100644 --- a/koch.nim +++ b/koch.nim @@ -47,6 +47,7 @@ Possible Commands: csource [options] builds the C sources for installation pdf builds the PDF documentation zip builds the installation ZIP package + xz builds the installation XZ package nsis [options] builds the NSIS Setup installer (for Windows) tests [options] run the testsuite update updates nim to the latest version from github @@ -112,6 +113,12 @@ proc targz(args: string) = exec("$# --var:version=$# --var:mingw=none --main:compiler/nim.nim targz compiler/installer.ini" % ["tools" / "niminst" / "niminst".exe, VersionAsString]) +proc xz(args: string) = + exec("$3 cc -r $2 --var:version=$1 --var:mingw=none --main:compiler/nim.nim scripts compiler/installer.ini" % + [VersionAsString, compileNimInst, findNim()]) + exec("$# --var:version=$# --var:mingw=none --main:compiler/nim.nim xz compiler/installer.ini" % + ["tools" / "niminst" / "niminst".exe, VersionAsString]) + proc buildTool(toolname, args: string) = exec("$# cc $# $#" % [findNim(), args, toolname]) copyFile(dest="bin"/ splitFile(toolname).name.exe, source=toolname.exe) @@ -368,6 +375,7 @@ of cmdArgument: of "csource", "csources": csource(op.cmdLineRest) of "zip": zip(op.cmdLineRest) of "targz": targz(op.cmdLineRest) + of "xz": xz(op.cmdLineRest) of "nsis": nsis(op.cmdLineRest) of "install": install(op.cmdLineRest) of "test", "tests": tests(op.cmdLineRest) -- cgit 1.4.1-2-gfad0