From 3aee72e78d0cded0af9b3ab0362169ad58004ad6 Mon Sep 17 00:00:00 2001 From: "T. von Dein" Date: Wed, 26 Nov 2025 20:51:45 +0100 Subject: [PATCH] move to codeberg (#2) --- .goreleaser.yaml | 65 ++++++++++++++++++++++++++++++++++++++++ .woodpecker/build.yaml | 31 +++++++++++++++++++ .woodpecker/release.yaml | 15 ++++++++++ Makefile.dist | 18 +++++++++++ README.md | 13 ++++---- config.go | 22 +++++--------- game.go | 6 ++-- go.mod | 2 +- main.go | 2 +- 9 files changed, 149 insertions(+), 25 deletions(-) create mode 100644 .goreleaser.yaml create mode 100644 .woodpecker/build.yaml create mode 100644 .woodpecker/release.yaml create mode 100644 Makefile.dist diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..f33df43 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,65 @@ +# vim: set ts=2 sw=2 tw=0 fo=cnqoj + +version: 2 + +before: + hooks: + - go mod tidy + +gitea_urls: + api: https://codeberg.org/api/v1 + download: https://codeberg.org + +builds: + - env: + - CGO_ENABLED=0 + goos: + - linux + - freebsd + +archives: + - formats: [tar.gz] + # this name template makes the OS and Arch compatible with the results of `uname`. + name_template: >- + {{ .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else if eq .Arch "386" }}i386 + {{- else }}{{ .Arch }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end }}_{{ .Tag }} + # use zip for windows archives + format_overrides: + - goos: windows + formats: [zip] + - goos: linux + formats: [tar.gz,binary] + files: + - src: "*.md" + strip_parent: true + - src: Makefile.dist + dst: Makefile + wrap_in_directory: true + +changelog: + sort: asc + filters: + exclude: + - "^docs:" + - "^test:" + groups: + - title: Improved + regexp: '^.*?(feat|add|new)(\([[:word:]]+\))??!?:.+$' + order: 0 + - title: Fixed + regexp: '^.*?(bug|fix)(\([[:word:]]+\))??!?:.+$' + order: 1 + - title: Changed + order: 999 + +release: + header: "# Release Notes" + footer: >- + + --- + + Full Changelog: [{{ .PreviousTag }}...{{ .Tag }}](https://codeberg.org/scip/kageviewer/compare/{{ .PreviousTag }}...{{ .Tag }}) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml new file mode 100644 index 0000000..b09e907 --- /dev/null +++ b/.woodpecker/build.yaml @@ -0,0 +1,31 @@ +matrix: + platform: + - linux/amd64 + goversion: + - 1.24 + +labels: + platform: ${platform} + +steps: + build: + when: + event: [push] + image: golang:${goversion} + commands: + - apt-get update + - apt-get install -y libasound2-dev libgl1-mesa-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev + - go get + - go build + + linter: + when: + event: [push] + image: golang:${goversion} + commands: + - apt-get update + - apt-get install -y libasound2-dev libgl1-mesa-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev + - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.5.0 + - golangci-lint --version + - golangci-lint run ./... + depends_on: [build] diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml new file mode 100644 index 0000000..916c008 --- /dev/null +++ b/.woodpecker/release.yaml @@ -0,0 +1,15 @@ +# build release + +labels: + platform: linux/amd64 + +steps: + goreleaser: + image: goreleaser/goreleaser + when: + event: [tag] + environment: + GITEA_TOKEN: + from_secret: DEPLOY_TOKEN + commands: + - goreleaser release --clean --verbose diff --git a/Makefile.dist b/Makefile.dist new file mode 100644 index 0000000..55d2f38 --- /dev/null +++ b/Makefile.dist @@ -0,0 +1,18 @@ +# -*-make-*- + +.PHONY: install all + +tool = rpn +PREFIX = /usr/local +UID = root +GID = 0 + +all: + @echo "Type 'sudo make install' to install the tool." + @echo "To change prefix, type 'sudo make install PREFIX=/opt'" + +install: + install -d -o $(UID) -g $(GID) $(PREFIX)/bin + install -d -o $(UID) -g $(GID) $(PREFIX)/share/doc + install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/ + install -o $(UID) -g $(GID) -m 444 *.md $(PREFIX)/share/doc/ diff --git a/README.md b/README.md index 00de504..be9ba7d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ # kageviewer - Viewer for shaders written in Kage, similar to glslviewer -![Logo](https://github.com/TLINDEN/kageviewer/blob/main/.github/assets/logo.png) +![Logo](https://codeberg.org/scip/kageviewer/raw/branch/main/.github/assets/logo.png) -[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://github.com/tlinden/kageviewer/blob/master/LICENSE) -[![Go Report Card](https://goreportcard.com/badge/github.com/tlinden/kageviewer)](https://goreportcard.com/report/github.com/tlinden/kageviewer) +[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://codeberg.org/scip/kageviewer/raw/branch/main/LICENSE) +[![Go Report Card](https://goreportcard.com/badge/codeberg.org/scip/kageviewer)](https://goreportcard.com/report/codeberg.org/scip/kageviewer) +[![status-badge](https://ci.codeberg.org/api/badges/15617/status.svg)](https://ci.codeberg.org/repos/15617) This little tool can be used to test shaders written in [Kage](https://ebitengine.org/en/documents/shader.html), a shader meta @@ -15,7 +16,7 @@ will be printed to STDOUT. The same applies for images. ## Screenshot -![Screenshot](https://github.com/TLINDEN/kageviewer/blob/main/.github/assets/screenshot.png) +![Screenshot](https://codeberg.org/scip/kageviewer/raw/branch/main/.github/assets/screenshot.png) ## Installation @@ -25,7 +26,7 @@ pre built binaries are provided. ### Installation with go ```shell -go install github.com/tlinden/kageviewer@latest +go install codeberg.org/scip/kageviewer@latest ``` ### Installation from source @@ -128,7 +129,7 @@ Possible parameters equal the long command line options. # Report bugs -[Please open an issue](https://github.com/TLINDEN/kageviewer/issues). Thanks! +[Please open an issue](https://codeberg.org/scip/kageviewer/issues). Thanks! # License diff --git a/config.go b/config.go index f3f2391..427c98f 100644 --- a/config.go +++ b/config.go @@ -18,6 +18,7 @@ along with this program. If not, see . package main import ( + "errors" "fmt" "os" "path/filepath" @@ -52,8 +53,7 @@ Options: --map-slider Map Slider uniform to --map-mouse Map Mouse uniform to -d --debug Show debugging output --v --version Show program version -` +-v --version Show program version` ) type Config struct { @@ -81,7 +81,7 @@ func InitConfig() (*Config, error) { // setup custom usage flagset := flag.NewFlagSet("config", flag.ContinueOnError) flagset.Usage = func() { - fmt.Println(Usage) + _, _ = fmt.Println(Usage) os.Exit(0) } @@ -165,13 +165,13 @@ func SanitiyCheck(conf *Config) error { geo := strings.Split(conf.Geo, "x") if len(geo) != 2 { - return fmt.Errorf(geoerr) + return errors.New(geoerr) } w, errw := strconv.Atoi(geo[0]) h, errh := strconv.Atoi(geo[1]) if errw != nil || errh != nil { - return fmt.Errorf(geoerr) + return errors.New(geoerr) } conf.Width = w @@ -181,13 +181,13 @@ func SanitiyCheck(conf *Config) error { pos := strings.Split(conf.Posision, "x") if len(geo) != 2 { - return fmt.Errorf(poserr) + return errors.New(poserr) } x, errx := strconv.Atoi(pos[0]) y, erry := strconv.Atoi(pos[1]) if errx != nil || erry != nil { - return fmt.Errorf(poserr) + return errors.New(poserr) } conf.X = x @@ -195,11 +195,3 @@ func SanitiyCheck(conf *Config) error { return nil } - -func fileExists(filename string) bool { - info, err := os.Stat(filename) - if os.IsNotExist(err) { - return false - } - return !info.IsDir() -} diff --git a/game.go b/game.go index a8023d8..bd48608 100644 --- a/game.go +++ b/game.go @@ -46,7 +46,9 @@ func LoadImage(name string) (*ebiten.Image, error) { if err != nil { return nil, err } - defer fd.Close() + defer func() { + _ = fd.Close() + }() img, _, err := image.Decode(fd) if err != nil { @@ -89,7 +91,7 @@ func (game *Game) Init() error { game.Shader = shader // user can customize TPS - ebiten.SetMaxTPS(game.Conf.TPS) + ebiten.SetTPS(game.Conf.TPS) // setup shader bounds, by default we use window size game.ShaderBounds = image.Rect(0, 0, game.Conf.Width, game.Conf.Height) diff --git a/go.mod b/go.mod index ffa4560..755e160 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/tlinden/kageviewer +module codeberg.org/scip/kageviewer go 1.22 diff --git a/main.go b/main.go index 5cfe6ec..a86b4cb 100644 --- a/main.go +++ b/main.go @@ -64,7 +64,7 @@ func main() { ebiten.SetWindowSize(game.Conf.Width, game.Conf.Height) ebiten.SetWindowTitle("Kage shader viewer") - ebiten.SetWindowResizable(true) + ebiten.SetWindowResizingMode(ebiten.WindowResizingModeEnabled) if err := ebiten.RunGame(game); err != nil { log.Fatal(err)