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.
This commit is contained in:
Sergey Avseyev 2015-05-26 12:51:31 +03:00
commit ba2aa474a1
2 changed files with 50 additions and 0 deletions

View file

@ -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)