diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/fetcher.nim | 0 | ||||
| -rw-r--r-- | src/core/locker.nim | 0 | ||||
| -rw-r--r-- | src/core/manager.nim | 0 | ||||
| -rw-r--r-- | src/core/parser.nim | 0 | ||||
| -rw-r--r-- | src/old.core/locker.nim | 110 | ||||
| -rw-r--r-- | src/old.core/manager.nim | 98 | ||||
| -rw-r--r-- | src/old.core/parser.nim | 1 | ||||
| -rw-r--r-- | src/tesserae/labwc/build.nim | 25 | ||||
| -rw-r--r-- | src/tesserae/labwc/config.nim | 12 |
9 files changed, 0 insertions, 246 deletions
diff --git a/src/core/fetcher.nim b/src/core/fetcher.nim deleted file mode 100644 index e69de29..0000000 --- a/src/core/fetcher.nim +++ /dev/null diff --git a/src/core/locker.nim b/src/core/locker.nim deleted file mode 100644 index e69de29..0000000 --- a/src/core/locker.nim +++ /dev/null diff --git a/src/core/manager.nim b/src/core/manager.nim deleted file mode 100644 index e69de29..0000000 --- a/src/core/manager.nim +++ /dev/null diff --git a/src/core/parser.nim b/src/core/parser.nim deleted file mode 100644 index e69de29..0000000 --- a/src/core/parser.nim +++ /dev/null diff --git a/src/old.core/locker.nim b/src/old.core/locker.nim deleted file mode 100644 index 9b86d82..0000000 --- a/src/old.core/locker.nim +++ /dev/null @@ -1,110 +0,0 @@ -import std / [ - os, - json, - strformat -] - -import ./manager - -proc lockPath*(): string = - let - homeDir: string = getHomeDir() - lockDir: string = homeDir / ".local" / "tesserae" - ensureDir(lockDir) - result = lockDir / "tesserae.lock" - -proc loadLock*(): JsonNode = - let lockFile: string = lockPath() - result = %*{} - if fileExists(lockFile): - try: - result = parseFile(lockFile) - except JsonParsingError: - echo "JsonParsingError. Treating the lockfile as non existant" - result = %*{} - -proc writeLock*(jsonObject: JsonNode) = - let lockFile: string = lockPath() - writeFile(lockFile, jsonObject.pretty()) - -proc updateLock*( - packageName: string, - sourceURL: string, - sourceDir: string, - chosenTag: string, - configPath: string -) = - ## Updates the lockfile - var lock: JsonNode = loadLock() - let jsonObject: JsonNode = %*{ - "source": { "url": sourceURL }, - "tag": chosenTag, - "sha256": computeSHA256(sourceDir, chosenTag), - "config": readConfigFile(configPath) - # I should probably add a sha256 thingy - } - lock[packageName] = jsonObject - writeLock(lock) - echo "Updated {packageName}".fmt - -proc needRebuildLock*( - packageName: string, - sourceURL: string, - sourceDir: string, - chosenTag: string, - configPath: string -): bool = - ## Checks whether the following have changed:\n - ## - source (repo url) - ## - sha256 - ## - tag (new release, manually updated, etc) - ## - config file of package - result = false - let lockFile = loadLock() - - if not lockFile.hasKey(packageName): - echo "{packageName} added to queue".fmt - return true - - else: - let package = lockFile[packageName] - if not package.hasKey("source"): - echo "Could not find source for package {packageName}".fmt - echo "{packageName} added to queue".fmt - return true - if package["source"].hasKey("url"): - let packageSource: string = package["source"]["url"].getStr - if packageSource != sourceURL: - echo "Source URL for package {packageName} has changed".fmt - echo "{packageName} added to queue".fmt - return true - - - if not package.hasKey("sha256"): - echo "sha256 not found for package {packageName}".fmt - echo "{packageName} added to queue".fmt - return true - if package["sha256"].getStr != computeSHA256(sourceDir, chosenTag): - echo "sha256 mismatch for package {packageName}".fmt - echo "{packageName} added to queue".fmt - return true - - - if not package.hasKey("tag"): - echo "Could not find release tag for package {packageName}".fmt - echo "{packageName} added to queue".fmt - return true - if package["tag"].getStr != chosenTag: - echo "Release tag has changed from {package["tag"]} -> {chosenTag}".fmt - echo "{packageName} added to queue".fmt - return true - - - if not package.hasKey("config"): - echo "Configuration file not found for package {packageName}".fmt - echo "{packageName} added to queue" - return true - if package["config"].getStr != readConfigFile(configPath): - echo "Configuration file changed for package {packageName}".fmt - echo "{packageName} added to queue".fmt - return true diff --git a/src/old.core/manager.nim b/src/old.core/manager.nim deleted file mode 100644 index a739f3d..0000000 --- a/src/old.core/manager.nim +++ /dev/null @@ -1,98 +0,0 @@ -import std / [ - os, - osproc, - hashes, - strformat -] - -proc runCommand*( - command: string, - workingDir: string = "" -): (string, int) = - echo "-> {command} (workingDir: {workingDir})".fmt - let (output, code) = execCmdEx( - command=command, - workingDir=workingDir - ) - result = (output, code) - -proc ensureDir*(path: string) = - if not dirExists(path): - createDir(path) - -proc readConfigFile*(configPath: string): string = - if fileExists(configPath): - result = readFile(configPath) - else: - result = "" - -proc cloneSource*( - repoURL: string, - destinationDir: string -) = - if dirExists(destinationDir): - echo "Repository already exists at {destinationDir}".fmt - echo "Pulling..." - let (output, code) = runCommand( - command="git pull", - workingDir=destinationDir - ) - echo output - else: - echo "Cloning from {repoURL}...".fmt - let (output, code) = runCommand( - command="git clone {repoURL} {destinationDir}".fmt - ) - echo output - -proc fetchTags*( - destinationDir: string -) = - let (output, code) = runCommand( - command="git fetch --tags --force", - workingDir=destinationDir - ) - echo output - - -proc resolveTag*( - destinationDir: string, - pinnedTag: string = "" -): string = - ## if pinnedTag is defined, we use that; - ## otherwise we fall back to newest tag - if pinnedTag.len > 0: - result = pinnedTag - let (output, code) = runCommand( - command="git rev-parse --verify {pinnedTag}".fmt, - workingDir=destinationDir - ) - echo output - if code != 0: - # if it fails, we try to fetch the tag - # just in case - fetchTags(destinationDir) - let (newOutput, newCode) = runCommand( - "git rev-parse --verify {pinnedTag}".fmt, - workingDir=destinationdir - ) - echo newOutput - if newCode != 0: - quit("Pinned tag {pinnedTag} not found in repo at {destDir}.") - else: - let (output, code) = runCommand( - command="git describe --tags --abbrev=0", - workingDir=destinationDir - ) - result = output - if code != 0: - quit("There seem to be no releases available from this software") - -proc computeSHA256*( - sourceDir: string, - chosenTag: string -): string = - let - tag = if chosenTag.len > 0: tag else: "HEAD" - command = "git archive --format=tar {tag} | sha256sum".fmt - diff --git a/src/old.core/parser.nim b/src/old.core/parser.nim deleted file mode 100644 index 8b13789..0000000 --- a/src/old.core/parser.nim +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/tesserae/labwc/build.nim b/src/tesserae/labwc/build.nim deleted file mode 100644 index 6315d31..0000000 --- a/src/tesserae/labwc/build.nim +++ /dev/null @@ -1,25 +0,0 @@ -import os, osproc -import std / [ strformat, hashes ] - -import ../../core/manager -import ../../core/locker -import ../../core/parser - -const - homeDir = getHomeDir() - sourceURL = "https://github.com/labwc/labwc.git" - buildDir = homeDir / ".cache/tessera/builds/labwc" - sourceDir = homeDir / ".local/tesserae/source" - installDir = homeDir / ".local/share/bin/labwc" - -proc main() = - echo "Building Labwc..." - echo sourceURL - echo buildDir - echo sourceDir - echo installDir - echo "Labwc built." - -if isMainModule: - main() - diff --git a/src/tesserae/labwc/config.nim b/src/tesserae/labwc/config.nim deleted file mode 100644 index 1005ec4..0000000 --- a/src/tesserae/labwc/config.nim +++ /dev/null @@ -1,12 +0,0 @@ -const - envVars = [ - ("CC", "musl-gcc"), - ("CFLAGS", "-O2 -static"), - ] - - buildSteps = [ - "meson setup builddir --buildtype=release --default-library=static", - "ninja -C builddir", - "ninja -C builddir install" - ] - |
