Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5cf16588c1 | ||
|
|
fd90f9edaf | ||
|
|
da744d51c6 | ||
|
|
d8334b1cfd | ||
|
|
b652cd88e8 | ||
|
|
89dafc010e | ||
|
|
89a8f0b49b |
No files matched your search
@@ -37,3 +37,7 @@ frontend/wailsjs/
|
|||||||
|
|
||||||
# Screenshot tool
|
# Screenshot tool
|
||||||
tools/screenshots/node_modules/
|
tools/screenshots/node_modules/
|
||||||
|
|
||||||
|
# makepkg (packaging/arch)
|
||||||
|
packaging/arch/*
|
||||||
|
!packaging/arch/PKGBUILD
|
||||||
@@ -49,6 +49,7 @@ app.go App struct bound to JS: file I/O, dialogs, pagination, a
|
|||||||
desktop_linux.go cgo: desktop light/dark preference for GTK dialogs, window button layout, compositing
|
desktop_linux.go cgo: desktop light/dark preference for GTK dialogs, window button layout, compositing
|
||||||
desktop/ app icon (plotzilla.svg, source of truth; plotzilla.png = 256 px render embedded as
|
desktop/ app icon (plotzilla.svg, source of truth; plotzilla.png = 256 px render embedded as
|
||||||
the X11 window icon), plotzilla.desktop, MIME types for .fountain/.fdx
|
the X11 window icon), plotzilla.desktop, MIME types for .fountain/.fdx
|
||||||
|
packaging/arch/PKGBUILD Arch package: builds tag $pkgver, installs with `make install`
|
||||||
internal/screenplay the model: Document{TitlePage, Elements, Settings}, Element{Type, Runs, SceneNumber,
|
internal/screenplay the model: Document{TitlePage, Elements, Settings}, Element{Type, Runs, SceneNumber,
|
||||||
Dual, Level, Locked}, Run{Text, b/i/u, Note, Rev}, revision set names
|
Dual, Level, Locked}, Run{Text, b/i/u, Note, Rev}, revision set names
|
||||||
internal/fountain Fountain parser (parse.go) and writer (write.go), incl. Plotzilla's boneyard data
|
internal/fountain Fountain parser (parse.go) and writer (write.go), incl. Plotzilla's boneyard data
|
||||||
@@ -366,6 +367,10 @@ change `style.css` too** (and vice versa).
|
|||||||
- A literal BOM or other invisible character in Go source breaks `go vet`; write `""`.
|
- A literal BOM or other invisible character in Go source breaks `go vet`; write `""`.
|
||||||
- `npm` blocks install scripts (esbuild postinstall); the build still works with the bundled
|
- `npm` blocks install scripts (esbuild postinstall); the build still works with the bundled
|
||||||
binary.
|
binary.
|
||||||
|
- `packaging/arch/PKGBUILD` builds the git tag `$pkgver` (tags have no `v`: `1.1`): on a
|
||||||
|
release, bump `pkgver` with `VERSION` and push the tag. It installs through
|
||||||
|
`make install DESTDIR=… PREFIX=/usr`, so a new installed file goes in the Makefile, not in
|
||||||
|
the PKGBUILD.
|
||||||
- Vite empties `dist/` on each build; placeholders belong in `frontend/public/`.
|
- Vite empties `dist/` on each build; placeholders belong in `frontend/public/`.
|
||||||
- The icon exists three times: `desktop/plotzilla.svg`, its PNG render (`rsvg-convert -w 256
|
- The icon exists three times: `desktop/plotzilla.svg`, its PNG render (`rsvg-convert -w 256
|
||||||
-h 256 desktop/plotzilla.svg -o desktop/plotzilla.png`) and a simplified copy for small sizes,
|
-h 256 desktop/plotzilla.svg -o desktop/plotzilla.png`) and a simplified copy for small sizes,
|
||||||
|
|||||||
@@ -5,6 +5,16 @@ All notable changes to Plotzilla are documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The current
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The current
|
||||||
version is in the `VERSION` file.
|
version is in the `VERSION` file.
|
||||||
|
|
||||||
|
## [1.2]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Arch Linux PKGBUILD (`packaging/arch`).
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Align VERSION on tag
|
||||||
|
|
||||||
## [1.1]
|
## [1.1]
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ MIME types for `.fountain` and `.fdx` files, so file managers offer to open them
|
|||||||
Plotzilla. `make install PREFIX=~/.local` installs for your user only (`~/.local/bin` must be in
|
Plotzilla. `make install PREFIX=~/.local` installs for your user only (`~/.local/bin` must be in
|
||||||
your `PATH`); `make uninstall` with the same `PREFIX` removes everything.
|
your `PATH`); `make uninstall` with the same `PREFIX` removes everything.
|
||||||
|
|
||||||
|
On Arch Linux, build a package instead, from the tag matching `pkgver`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd packaging/arch && makepkg -si
|
||||||
|
```
|
||||||
|
|
||||||
Install the Courier Prime font (`ttf-courier-prime` on the AUR) so the text on screen matches
|
Install the Courier Prime font (`ttf-courier-prime` on the AUR) so the text on screen matches
|
||||||
the PDF exactly. Without it, Plotzilla uses Courier New, Nimbus Mono or Liberation Mono.
|
the PDF exactly. Without it, Plotzilla uses Courier New, Nimbus Mono or Liberation Mono.
|
||||||
|
|
||||||
@@ -473,6 +479,7 @@ binary embeds `frontend/dist`, so the frontend has to be built first.
|
|||||||
main.go, app.go Wails application and the methods the frontend calls
|
main.go, app.go Wails application and the methods the frontend calls
|
||||||
desktop_linux.go desktop integration: light/dark preference, window button layout
|
desktop_linux.go desktop integration: light/dark preference, window button layout
|
||||||
desktop/ icon, desktop entry and MIME types installed by `make install`
|
desktop/ icon, desktop entry and MIME types installed by `make install`
|
||||||
|
packaging/arch PKGBUILD for an Arch Linux package
|
||||||
internal/screenplay document model
|
internal/screenplay document model
|
||||||
internal/fountain Fountain reader and writer
|
internal/fountain Fountain reader and writer
|
||||||
internal/fdx Final Draft reader and writer
|
internal/fdx Final Draft reader and writer
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
# Maintainer: Sandro Cazzaniga <sandro@cazzaniga.fr>
|
||||||
|
|
||||||
|
pkgname=plotzilla
|
||||||
|
pkgver=1.2
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc='Screenwriting app for Linux: scripts in the Hollywood standard format, Fountain, FDX and PDF'
|
||||||
|
arch=('x86_64' 'aarch64')
|
||||||
|
url='https://git.kharec.info/Kharec/plotzilla'
|
||||||
|
license=('GPL-3.0-only')
|
||||||
|
depends=('gtk3' 'webkit2gtk-4.1' 'libsoup3' 'gdk-pixbuf2' 'glib2' 'glibc' 'hicolor-icon-theme')
|
||||||
|
makedepends=('git' 'go' 'nodejs' 'npm')
|
||||||
|
optdepends=('ttf-courier-prime: the font of the printed page, on screen too'
|
||||||
|
'hunspell-en_us: English spell checking'
|
||||||
|
'hunspell-fr: French spell checking')
|
||||||
|
source=("$pkgname::git+$url.git#tag=$pkgver")
|
||||||
|
sha256sums=('SKIP')
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "$pkgname"
|
||||||
|
export GOPATH="$srcdir/gopath"
|
||||||
|
go mod download -modcacherw
|
||||||
|
# Downloads belong in prepare(); the build then runs offline.
|
||||||
|
npm ci --prefix frontend --no-audit --no-fund
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$pkgname"
|
||||||
|
export GOPATH="$srcdir/gopath"
|
||||||
|
export CGO_CPPFLAGS="$CPPFLAGS"
|
||||||
|
export CGO_CFLAGS="$CFLAGS"
|
||||||
|
export CGO_CXXFLAGS="$CXXFLAGS"
|
||||||
|
export CGO_LDFLAGS="$LDFLAGS"
|
||||||
|
export GOFLAGS='-buildmode=pie -trimpath -mod=readonly -modcacherw'
|
||||||
|
|
||||||
|
npm run build --prefix frontend
|
||||||
|
# The binary embeds frontend/dist; webkit2_41 selects WebKitGTK 4.1.
|
||||||
|
go build -tags desktop,production,webkit2_41 \
|
||||||
|
-ldflags "-linkmode=external -compressdwarf=false" \
|
||||||
|
-o build/bin/plotzilla .
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
cd "$pkgname"
|
||||||
|
export GOPATH="$srcdir/gopath"
|
||||||
|
go test ./internal/...
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$pkgname"
|
||||||
|
# DESTDIR skips the cache updates: pacman's hooks refresh the MIME,
|
||||||
|
# desktop and icon caches.
|
||||||
|
make install DESTDIR="$pkgdir" PREFIX=/usr
|
||||||
|
install -Dm644 README.md CHANGELOG.md -t "$pkgdir/usr/share/doc/$pkgname"
|
||||||
|
}
|
||||||
Reference in new issue
Block a user