Cleaned up T/P names.

This commit is contained in:
Hans Raaf 2015-02-19 16:31:07 +01:00
commit 85157f5076
8 changed files with 40 additions and 40 deletions

View file

@ -1,5 +1,5 @@
#! stdtmpl(subsChar='?') | standard #! stdtmpl(subsChar='?') | standard
#proc generateBuildBatchScript(c: TConfigData, winIndex, cpuIndex: int): string = #proc generateBuildBatchScript(c: ConfigData, winIndex, cpuIndex: int): string =
# result = "@echo off\nREM Generated by niminst\n" # result = "@echo off\nREM Generated by niminst\n"
SET CC=gcc SET CC=gcc
SET LINKER=gcc SET LINKER=gcc

View file

@ -1,5 +1,5 @@
#! stdtmpl(subsChar='?') | standard #! stdtmpl(subsChar='?') | standard
#proc generateBuildShellScript(c: TConfigData): string = #proc generateBuildShellScript(c: ConfigData): string =
# result = "#! /bin/sh\n# Generated from niminst\n" & # result = "#! /bin/sh\n# Generated from niminst\n" &
# "# Template is in tools/buildsh.tmpl\n" & # "# Template is in tools/buildsh.tmpl\n" &
# "# To regenerate run ``niminst csource`` or ``koch csource``\n" # "# To regenerate run ``niminst csource`` or ``koch csource``\n"

View file

@ -84,7 +84,7 @@ proc createCopyright(pkgName, mtnName, mtnEmail, version: string,
addN("Files: " & f) addN("Files: " & f)
addN("License: " & license) addN("License: " & license)
proc formatDateTime(t: TTimeInfo, timezone: string): string = proc formatDateTime(t: TimeInfo, timezone: string): string =
var day = ($t.weekday)[0..2] & ", " var day = ($t.weekday)[0..2] & ", "
return "$1$2 $3 $4 $5:$6:$7 $8" % [day, intToStr(t.monthday, 2), return "$1$2 $3 $4 $5:$6:$7 $8" % [day, intToStr(t.monthday, 2),

View file

@ -1,5 +1,5 @@
#! stdtmpl(subsChar='?') | standard #! stdtmpl(subsChar='?') | standard
#proc generateDeinstallScript(c: TConfigData): string = #proc generateDeinstallScript(c: ConfigData): string =
# result = "#! /bin/sh\n# Generated by niminst\n" # result = "#! /bin/sh\n# Generated by niminst\n"
# var proj = c.name.toLower # var proj = c.name.toLower

View file

@ -1,5 +1,5 @@
#! stdtmpl | standard #! stdtmpl | standard
#proc generateInnoSetup(c: TConfigData): string = #proc generateInnoSetup(c: ConfigData): string =
# result = "" # result = ""
; Default Template for NimInst ; Default Template for NimInst
[Setup] [Setup]
@ -19,7 +19,7 @@ ChangesEnvironment=yes
Name: english; MessagesFile: compiler:Default.isl Name: english; MessagesFile: compiler:Default.isl
[Files] [Files]
#for i in low(TFileCategory)..fcWindows: #for i in low(FileCategory)..fcWindows:
# for f in items(c.cat[i]): # for f in items(c.cat[i]):
Source: ${expandFilename(f).toWin}; DestDir: {app}\${splitFile(f).dir.toWin}; Flags: ignoreversion Source: ${expandFilename(f).toWin}; DestDir: {app}\${splitFile(f).dir.toWin}; Flags: ignoreversion
# end for # end for

View file

@ -1,5 +1,5 @@
#! stdtmpl(subsChar = '?') | standard #! stdtmpl(subsChar = '?') | standard
#proc generateInstallScript(c: TConfigData): string = #proc generateInstallScript(c: ConfigData): string =
# result = "#! /bin/sh\n# Generated by niminst\n" # result = "#! /bin/sh\n# Generated by niminst\n"
# var proj = c.name.toLower # var proj = c.name.toLower

View file

@ -26,8 +26,8 @@ const
deinstallShFile = "deinstall.sh" deinstallShFile = "deinstall.sh"
type type
TAppType = enum appConsole, appGUI AppType = enum appConsole, appGUI
TAction = enum Action = enum
actionNone, # action not yet known actionNone, # action not yet known
actionCSource # action: create C sources actionCSource # action: create C sources
actionInno, # action: create Inno Setup installer actionInno, # action: create Inno Setup installer
@ -36,7 +36,7 @@ type
actionZip, # action: create zip file actionZip, # action: create zip file
actionDeb # action: prepare deb package actionDeb # action: prepare deb package
TFileCategory = enum FileCategory = enum
fcWinBin, # binaries for Windows fcWinBin, # binaries for Windows
fcConfig, # configuration files fcConfig, # configuration files
fcData, # data files fcData, # data files
@ -48,9 +48,9 @@ type
fcUnixBin, # binaries for Unix fcUnixBin, # binaries for Unix
fcDocStart # links to documentation for Windows installer fcDocStart # links to documentation for Windows installer
TConfigData = object of TObject ConfigData = object of RootObj
actions: set[TAction] actions: set[Action]
cat: array[TFileCategory, seq[string]] cat: array[FileCategory, seq[string]]
binPaths, authors, oses, cpus, downloads: seq[string] binPaths, authors, oses, cpus, downloads: seq[string]
cfiles: array[1..maxOS, array[1..maxCPU, seq[string]]] cfiles: array[1..maxOS, array[1..maxCPU, seq[string]]]
platforms: array[1..maxOS, array[1..maxCPU, bool]] platforms: array[1..maxOS, array[1..maxCPU, bool]]
@ -59,8 +59,8 @@ type
libpath: string libpath: string
innoSetupFlag, installScript, uninstallScript: bool innoSetupFlag, installScript, uninstallScript: bool
explicitPlatforms: bool explicitPlatforms: bool
vars: PStringTable vars: StringTableRef
app: TAppType app: AppType
nimArgs: string nimArgs: string
debOpts: TDebOptions debOpts: TDebOptions
@ -69,9 +69,9 @@ const
"$configdir", "$datadir", "$docdir", "$libdir" "$configdir", "$datadir", "$docdir", "$libdir"
] ]
proc initConfigData(c: var TConfigData) = proc iniConfigData(c: var ConfigData) =
c.actions = {} c.actions = {}
for i in low(TFileCategory)..high(TFileCategory): c.cat[i] = @[] for i in low(FileCategory)..high(FileCategory): c.cat[i] = @[]
c.binPaths = @[] c.binPaths = @[]
c.authors = @[] c.authors = @[]
c.oses = @[] c.oses = @[]
@ -100,7 +100,7 @@ proc initConfigData(c: var TConfigData) =
c.debOpts.shortDesc = "" c.debOpts.shortDesc = ""
c.debOpts.licenses = @[] c.debOpts.licenses = @[]
proc firstBinPath(c: TConfigData): string = proc firstBinPath(c: ConfigData): string =
if c.binPaths.len > 0: result = c.binPaths[0] if c.binPaths.len > 0: result = c.binPaths[0]
else: result = "" else: result = ""
@ -151,7 +151,7 @@ Compile_options:
will be passed to the Nim compiler will be passed to the Nim compiler
""" """
proc parseCmdLine(c: var TConfigData) = proc parseCmdLine(c: var ConfigData) =
var p = initOptParser() var p = initOptParser()
while true: while true:
next(p) next(p)
@ -209,19 +209,19 @@ proc addFiles(s: var seq[string], patterns: seq[string]) =
inc(i) inc(i)
if i == 0: echo("[Warning] No file found that matches: " & p) if i == 0: echo("[Warning] No file found that matches: " & p)
proc pathFlags(p: var TCfgParser, k, v: string, proc pathFlags(p: var CfgParser, k, v: string,
t: var tuple[path, flags: string]) = t: var tuple[path, flags: string]) =
case normalize(k) case normalize(k)
of "path": t.path = v of "path": t.path = v
of "flags": t.flags = v of "flags": t.flags = v
else: quit(errorStr(p, "unknown variable: " & k)) else: quit(errorStr(p, "unknown variable: " & k))
proc filesOnly(p: var TCfgParser, k, v: string, dest: var seq[string]) = proc filesOnly(p: var CfgParser, k, v: string, dest: var seq[string]) =
case normalize(k) case normalize(k)
of "files": addFiles(dest, split(v, {';'})) of "files": addFiles(dest, split(v, {';'}))
else: quit(errorStr(p, "unknown variable: " & k)) else: quit(errorStr(p, "unknown variable: " & k))
proc yesno(p: var TCfgParser, v: string): bool = proc yesno(p: var CfgParser, v: string): bool =
case normalize(v) case normalize(v)
of "yes", "y", "on", "true": of "yes", "y", "on", "true":
result = true result = true
@ -235,7 +235,7 @@ proc incl(s: var seq[string], x: string): int =
s.add(x) s.add(x)
result = s.len-1 result = s.len-1
proc platforms(c: var TConfigData, v: string) = proc platforms(c: var ConfigData, v: string) =
for line in splitLines(v): for line in splitLines(v):
let p = line.find(": ") let p = line.find(": ")
if p <= 1: continue if p <= 1: continue
@ -246,9 +246,9 @@ proc platforms(c: var TConfigData, v: string) =
let cpuIdx = c.cpus.incl(cpu) let cpuIdx = c.cpus.incl(cpu)
c.platforms[c.oses.len][cpuIdx+1] = true c.platforms[c.oses.len][cpuIdx+1] = true
proc parseIniFile(c: var TConfigData) = proc parseIniFile(c: var ConfigData) =
var var
p: TCfgParser p: CfgParser
section = "" section = ""
hasCpuOs = false hasCpuOs = false
var input = newFileStream(c.infile, fmRead) var input = newFileStream(c.infile, fmRead)
@ -365,8 +365,8 @@ proc parseIniFile(c: var TConfigData) =
# ------------------------- generate source based installation --------------- # ------------------------- generate source based installation ---------------
proc readCFiles(c: var TConfigData, osA, cpuA: int) = proc readCFiles(c: var ConfigData, osA, cpuA: int) =
var p: TCfgParser var p: CfgParser
var f = splitFile(c.infile).dir / "mapping.txt" var f = splitFile(c.infile).dir / "mapping.txt"
c.cfiles[osA][cpuA] = @[] c.cfiles[osA][cpuA] = @[]
var input = newFileStream(f, fmRead) var input = newFileStream(f, fmRead)
@ -402,11 +402,11 @@ proc readCFiles(c: var TConfigData, osA, cpuA: int) =
proc buildDir(os, cpu: int): string = proc buildDir(os, cpu: int): string =
return "c_code" / ($os & "_" & $cpu) return "c_code" / ($os & "_" & $cpu)
proc getOutputDir(c: var TConfigData): string = proc getOutputDir(c: var ConfigData): string =
if c.outdir.len > 0: c.outdir else: "build" if c.outdir.len > 0: c.outdir else: "build"
proc writeFile(filename, content, newline: string) = proc writeFile(filename, content, newline: string) =
var f: TFile var f: File
if open(f, filename, fmWrite): if open(f, filename, fmWrite):
for x in splitLines(content): for x in splitLines(content):
write(f, x) write(f, x)
@ -415,7 +415,7 @@ proc writeFile(filename, content, newline: string) =
else: else:
quit("Cannot open for writing: " & filename) quit("Cannot open for writing: " & filename)
proc removeDuplicateFiles(c: var TConfigData) = proc removeDuplicateFiles(c: var ConfigData) =
for osA in countdown(c.oses.len, 1): for osA in countdown(c.oses.len, 1):
for cpuA in countdown(c.cpus.len, 1): for cpuA in countdown(c.cpus.len, 1):
if c.cfiles[osA][cpuA].isNil: c.cfiles[osA][cpuA] = @[] if c.cfiles[osA][cpuA].isNil: c.cfiles[osA][cpuA] = @[]
@ -433,13 +433,13 @@ proc removeDuplicateFiles(c: var TConfigData) =
removeFile(dup) removeFile(dup)
c.cfiles[osA][cpuA][i] = orig c.cfiles[osA][cpuA][i] = orig
proc writeInstallScripts(c: var TConfigData) = proc writeInstallScripts(c: var ConfigData) =
if c.installScript: if c.installScript:
writeFile(installShFile, generateInstallScript(c), "\10") writeFile(installShFile, generateInstallScript(c), "\10")
if c.uninstallScript: if c.uninstallScript:
writeFile(deinstallShFile, generateDeinstallScript(c), "\10") writeFile(deinstallShFile, generateDeinstallScript(c), "\10")
proc srcdist(c: var TConfigData) = proc srcdist(c: var ConfigData) =
if not existsDir(getOutputDir(c) / "c_code"): if not existsDir(getOutputDir(c) / "c_code"):
createDir(getOutputDir(c) / "c_code") createDir(getOutputDir(c) / "c_code")
for x in walkFiles(c.libpath / "lib/*.h"): for x in walkFiles(c.libpath / "lib/*.h"):
@ -486,7 +486,7 @@ proc srcdist(c: var TConfigData) =
writeInstallScripts(c) writeInstallScripts(c)
# --------------------- generate inno setup ----------------------------------- # --------------------- generate inno setup -----------------------------------
proc setupDist(c: var TConfigData) = proc setupDist(c: var ConfigData) =
let scrpt = generateInnoSetup(c) let scrpt = generateInnoSetup(c)
let n = "build" / "install_$#_$#.iss" % [toLower(c.name), c.version] let n = "build" / "install_$#_$#.iss" % [toLower(c.name), c.version]
writeFile(n, scrpt, "\13\10") writeFile(n, scrpt, "\13\10")
@ -503,7 +503,7 @@ proc setupDist(c: var TConfigData) =
quit("External program failed") quit("External program failed")
# --------------------- generate NSIS setup ----------------------------------- # --------------------- generate NSIS setup -----------------------------------
proc setupDist2(c: var TConfigData) = proc setupDist2(c: var ConfigData) =
let scrpt = generateNsisSetup(c) let scrpt = generateNsisSetup(c)
let n = "build" / "install_$#_$#.nsi" % [toLower(c.name), c.version] let n = "build" / "install_$#_$#.nsi" % [toLower(c.name), c.version]
writeFile(n, scrpt, "\13\10") writeFile(n, scrpt, "\13\10")
@ -521,7 +521,7 @@ proc setupDist2(c: var TConfigData) =
# ------------------ generate ZIP file --------------------------------------- # ------------------ generate ZIP file ---------------------------------------
when haveZipLib: when haveZipLib:
proc zipDist(c: var TConfigData) = proc zipDist(c: var ConfigData) =
var proj = toLower(c.name) & "-" & c.version var proj = toLower(c.name) & "-" & c.version
var n = "$#.zip" % proj var n = "$#.zip" % proj
if c.outdir.len == 0: n = "build" / n if c.outdir.len == 0: n = "build" / n
@ -549,7 +549,7 @@ when haveZipLib:
# -- prepare build files for .deb creation # -- prepare build files for .deb creation
proc debDist(c: var TConfigData) = proc debDist(c: var ConfigData) =
if not existsFile(getOutputDir(c) / "build.sh"): quit("No build.sh found.") if not existsFile(getOutputDir(c) / "build.sh"): quit("No build.sh found.")
if not existsFile(getOutputDir(c) / "install.sh"): quit("No install.sh found.") if not existsFile(getOutputDir(c) / "install.sh"): quit("No install.sh found.")
@ -595,8 +595,8 @@ proc debDist(c: var TConfigData) =
# ------------------- main ---------------------------------------------------- # ------------------- main ----------------------------------------------------
var c: TConfigData var c: ConfigData
initConfigData(c) iniConfigData(c)
parseCmdLine(c) parseCmdLine(c)
parseIniFile(c) parseIniFile(c)
if actionInno in c.actions: if actionInno in c.actions:

View file

@ -1,5 +1,5 @@
#! stdtmpl(subsChar='?') | standard #! stdtmpl(subsChar='?') | standard
#proc generateNsisSetup(c: TConfigData): string = #proc generateNsisSetup(c: ConfigData): string =
# result = "; NSIS script generated by niminst\n" & # result = "; NSIS script generated by niminst\n" &
# "; To regenerate run ``niminst nsis`` or ``koch nsis``\n" # "; To regenerate run ``niminst nsis`` or ``koch nsis``\n"
@ -113,7 +113,7 @@
SetOverwrite ifnewer SetOverwrite ifnewer
; Write all the files to the output directory. ; Write all the files to the output directory.
#for i in low(TFileCategory)..fcWindows: #for i in low(FileCategory)..fcWindows:
# for f in items(c.cat[i]): # for f in items(c.cat[i]):
SetOutPath "$INSTDIR\?{splitFile(f).dir.toWin}" SetOutPath "$INSTDIR\?{splitFile(f).dir.toWin}"
File "?{expandFilename(f).toWin}" File "?{expandFilename(f).toWin}"