mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-31 21:48:09 -06:00
Rename PrintCraft to PdfCraft (#174)
The app, crates, binaries, bundle id, packaging, icons, screenshots and docs are now PdfCraft / pdfcraft (repo storytold/pdfcraft). On first launch the desktop app moves the PrintCraft settings and crash-recovery folders to the new name, and both apps read settings saved under the old storage key, so upgrades keep recent files, preferences and unsaved work. The signing test fixtures keep their PrintCraft subject names (they are binary). Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
1c78ff479c
commit
d3db99818f
+5
-5
@@ -1,14 +1,14 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=PrintCraft
|
||||
Name=PdfCraft
|
||||
GenericName=PDF Editor
|
||||
Comment=Read, organize, combine, split and secure PDFs
|
||||
Exec=printcraft %F
|
||||
TryExec=printcraft
|
||||
Icon=ai.storyteller.printcraft
|
||||
Exec=pdfcraft %F
|
||||
TryExec=pdfcraft
|
||||
Icon=ai.storyteller.pdfcraft
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
StartupWMClass=printcraft
|
||||
StartupWMClass=pdfcraft
|
||||
Categories=Office;Viewer;Graphics;
|
||||
Keywords=pdf;viewer;editor;annotate;sign;forms;merge;split;
|
||||
MimeType=application/pdf;
|
||||
+10
-10
@@ -2,26 +2,26 @@
|
||||
<!-- AppStream metadata (software centres, Flathub). Template: package.sh and the Flatpak
|
||||
manifest substitute @VERSION@ and @DATE@ from Cargo.toml and the build date. -->
|
||||
<component type="desktop-application">
|
||||
<id>ai.storyteller.printcraft</id>
|
||||
<id>ai.storyteller.pdfcraft</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>MIT OR Apache-2.0</project_license>
|
||||
<name>PrintCraft</name>
|
||||
<name>PdfCraft</name>
|
||||
<summary>Read, organize, combine, split and secure PDFs</summary>
|
||||
<developer id="ai.storyteller">
|
||||
<name>Learning Machines LLC</name>
|
||||
</developer>
|
||||
<description>
|
||||
<p>
|
||||
PrintCraft is an open-source PDF workbench. Read, comment on, fill in and sign PDFs;
|
||||
PdfCraft is an open-source PDF workbench. Read, comment on, fill in and sign PDFs;
|
||||
organize, combine and split pages; edit, redact, protect and export documents.
|
||||
</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">ai.storyteller.printcraft.desktop</launchable>
|
||||
<icon type="stock">ai.storyteller.printcraft</icon>
|
||||
<launchable type="desktop-id">ai.storyteller.pdfcraft.desktop</launchable>
|
||||
<icon type="stock">ai.storyteller.pdfcraft</icon>
|
||||
<!-- Only url types known to appstream 0.15 (Ubuntu 22.04, where CI validates): no vcs-browser. -->
|
||||
<url type="homepage">https://getartcraft.com/apps/printcraft</url>
|
||||
<url type="bugtracker">https://github.com/storytold/printcraft/issues</url>
|
||||
<url type="help">https://github.com/storytold/printcraft</url>
|
||||
<url type="homepage">https://getartcraft.com/apps/pdfcraft</url>
|
||||
<url type="bugtracker">https://github.com/storytold/pdfcraft/issues</url>
|
||||
<url type="help">https://github.com/storytold/pdfcraft</url>
|
||||
<url type="contact">https://discord.gg/artcraft</url>
|
||||
<categories>
|
||||
<category>Office</category>
|
||||
@@ -36,7 +36,7 @@
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>A PDF open with its threaded comments</caption>
|
||||
<image>https://raw.githubusercontent.com/storytold/printcraft/main/docs/images/printcraft-viewer.png</image>
|
||||
<image>https://raw.githubusercontent.com/storytold/pdfcraft/main/docs/images/pdfcraft-viewer.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<branding>
|
||||
@@ -52,7 +52,7 @@
|
||||
<control>tablet</control>
|
||||
</supports>
|
||||
<provides>
|
||||
<binary>printcraft</binary>
|
||||
<binary>pdfcraft</binary>
|
||||
<mediatype>application/pdf</mediatype>
|
||||
</provides>
|
||||
<content_rating type="oars-1.1"/>
|
||||
+12
-12
@@ -1,20 +1,20 @@
|
||||
# Flatpak manifest for PrintCraft, ready for a Flathub submission.
|
||||
# Flatpak manifest for PdfCraft, ready for a Flathub submission.
|
||||
#
|
||||
# Flatpak builds run offline, so the crate sources must be vendored first. From the repo root:
|
||||
#
|
||||
# curl -fsSLO https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/cargo/flatpak-cargo-generator.py
|
||||
# python3 flatpak-cargo-generator.py Cargo.lock -o packaging/linux/flatpak/cargo-sources.json
|
||||
# flatpak-builder --user --install --force-clean build-flatpak packaging/linux/flatpak/ai.storyteller.printcraft.yml
|
||||
# flatpak run ai.storyteller.printcraft
|
||||
# flatpak-builder --user --install --force-clean build-flatpak packaging/linux/flatpak/ai.storyteller.pdfcraft.yml
|
||||
# flatpak run ai.storyteller.pdfcraft
|
||||
#
|
||||
# For Flathub, replace the `dir` source with a `git` source pinned to a release tag and commit.
|
||||
id: ai.storyteller.printcraft
|
||||
id: ai.storyteller.pdfcraft
|
||||
runtime: org.freedesktop.Platform
|
||||
runtime-version: '25.08'
|
||||
sdk: org.freedesktop.Sdk
|
||||
sdk-extensions:
|
||||
- org.freedesktop.Sdk.Extension.rust-stable
|
||||
command: printcraft
|
||||
command: pdfcraft
|
||||
finish-args:
|
||||
- --share=ipc
|
||||
- --socket=wayland
|
||||
@@ -27,23 +27,23 @@ finish-args:
|
||||
build-options:
|
||||
append-path: /usr/lib/sdk/rust-stable/bin
|
||||
modules:
|
||||
- name: printcraft
|
||||
- name: pdfcraft
|
||||
buildsystem: simple
|
||||
build-options:
|
||||
env:
|
||||
CARGO_HOME: /run/build/printcraft/cargo
|
||||
CARGO_HOME: /run/build/pdfcraft/cargo
|
||||
CARGO_NET_OFFLINE: 'true'
|
||||
build-commands:
|
||||
- cargo --offline build --release --locked -p printcraft
|
||||
- install -Dm755 target/release/printcraft /app/bin/printcraft
|
||||
- install -Dm644 packaging/linux/ai.storyteller.printcraft.desktop /app/share/applications/ai.storyteller.printcraft.desktop
|
||||
- install -Dm644 packaging/linux/ai.storyteller.printcraft.mime.xml /app/share/mime/packages/ai.storyteller.printcraft.xml
|
||||
- cargo --offline build --release --locked -p pdfcraft
|
||||
- install -Dm755 target/release/pdfcraft /app/bin/pdfcraft
|
||||
- install -Dm644 packaging/linux/ai.storyteller.pdfcraft.desktop /app/share/applications/ai.storyteller.pdfcraft.desktop
|
||||
- install -Dm644 packaging/linux/ai.storyteller.pdfcraft.mime.xml /app/share/mime/packages/ai.storyteller.pdfcraft.xml
|
||||
- mkdir -p /app/share/icons && cp -R assets/app-icon/hicolor /app/share/icons/
|
||||
- >-
|
||||
version=$(awk '/^\[/{p=($0=="[workspace.package]");next} p&&$1=="version"{gsub(/[" ]/,"",$3);print $3;exit}' Cargo.toml);
|
||||
install -d /app/share/metainfo;
|
||||
sed -e "s/@VERSION@/$version/" -e "s/@DATE@/$(date -u +%Y-%m-%d)/"
|
||||
packaging/linux/ai.storyteller.printcraft.metainfo.xml.in > /app/share/metainfo/ai.storyteller.printcraft.metainfo.xml
|
||||
packaging/linux/ai.storyteller.pdfcraft.metainfo.xml.in > /app/share/metainfo/ai.storyteller.pdfcraft.metainfo.xml
|
||||
sources:
|
||||
- type: dir
|
||||
path: ../../..
|
||||
@@ -3,7 +3,7 @@
|
||||
# exports VERSION and NFPM_ARCH.
|
||||
#
|
||||
# nfpm package -f packaging/linux/nfpm.yaml -p deb -t dist/release/
|
||||
name: printcraft
|
||||
name: pdfcraft
|
||||
arch: ${NFPM_ARCH}
|
||||
platform: linux
|
||||
version: ${VERSION}
|
||||
@@ -12,14 +12,14 @@ version_schema: semver
|
||||
release: 1
|
||||
section: graphics
|
||||
priority: optional
|
||||
maintainer: ${PRINTCRAFT_MAINTAINER}
|
||||
maintainer: ${PDFCRAFT_MAINTAINER}
|
||||
vendor: Learning Machines LLC
|
||||
homepage: https://getartcraft.com/apps/printcraft
|
||||
homepage: https://getartcraft.com/apps/pdfcraft
|
||||
license: MIT OR Apache-2.0
|
||||
description: |-
|
||||
Open-source, native PDF workbench: read, comment, fill and sign forms,
|
||||
organize, combine, split, edit, redact, protect and export PDFs.
|
||||
Includes printcraft-cli, a headless command runner and opt-in MCP server.
|
||||
Includes pdfcraft-cli, a headless command runner and opt-in MCP server.
|
||||
|
||||
# The binaries link only glibc and libgcc_s directly. Windowing (X11/Wayland, xkbcommon) and the
|
||||
# GPU (Vulkan, EGL/GL) are loaded at runtime, so they are dependencies/recommendations here
|
||||
@@ -54,11 +54,11 @@ overrides:
|
||||
- xdg-desktop-portal
|
||||
|
||||
contents:
|
||||
- src: ${STAGE}/usr/bin/printcraft
|
||||
dst: /usr/bin/printcraft
|
||||
- src: ${STAGE}/usr/bin/pdfcraft
|
||||
dst: /usr/bin/pdfcraft
|
||||
file_info: { mode: 0755 }
|
||||
- src: ${STAGE}/usr/bin/printcraft-cli
|
||||
dst: /usr/bin/printcraft-cli
|
||||
- src: ${STAGE}/usr/bin/pdfcraft-cli
|
||||
dst: /usr/bin/pdfcraft-cli
|
||||
file_info: { mode: 0755 }
|
||||
- src: ${STAGE}/usr/share/
|
||||
dst: /usr/share/
|
||||
|
||||
+19
-19
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
# Build and package PrintCraft for Linux (<arch> is x86_64 or aarch64):
|
||||
# Build and package PdfCraft for Linux (<arch> is x86_64 or aarch64):
|
||||
#
|
||||
# $DIST/printcraft-<version>-linux-<arch>.AppImage any distro with glibc >= the build host's
|
||||
# $DIST/printcraft-<version>-linux-<arch>.deb Debian, Ubuntu, Mint, Pop!_OS, ...
|
||||
# $DIST/printcraft-<version>-linux-<arch>.rpm Fedora, openSUSE, RHEL, ...
|
||||
# $DIST/printcraft-<version>-linux-<arch>.tar.gz plain FHS-style tree (bin/, share/)
|
||||
# $DIST/pdfcraft-<version>-linux-<arch>.AppImage any distro with glibc >= the build host's
|
||||
# $DIST/pdfcraft-<version>-linux-<arch>.deb Debian, Ubuntu, Mint, Pop!_OS, ...
|
||||
# $DIST/pdfcraft-<version>-linux-<arch>.rpm Fedora, openSUSE, RHEL, ...
|
||||
# $DIST/pdfcraft-<version>-linux-<arch>.tar.gz plain FHS-style tree (bin/, share/)
|
||||
#
|
||||
# Usage: packaging/linux/package.sh [--skip-build] [--formats "appimage deb rpm tar"]
|
||||
#
|
||||
@@ -15,7 +15,7 @@ set -euo pipefail
|
||||
# shellcheck source=../env.sh
|
||||
. "$(dirname "${BASH_SOURCE[0]}")/../env.sh"
|
||||
HERE="$ROOT/packaging/linux"
|
||||
APP_ID=ai.storyteller.printcraft
|
||||
APP_ID=ai.storyteller.pdfcraft
|
||||
|
||||
SKIP_BUILD=0
|
||||
FORMATS="appimage deb rpm tar"
|
||||
@@ -34,13 +34,13 @@ case "$ARCH" in
|
||||
aarch64 | arm64) ARCH=aarch64; DEB_ARCH=arm64 ;;
|
||||
*) echo "unsupported architecture $ARCH" >&2; exit 2 ;;
|
||||
esac
|
||||
export PRINTCRAFT_MAINTAINER="${PRINTCRAFT_MAINTAINER:-PrintCraft maintainers <printcraft@storyteller.ai>}"
|
||||
BASENAME="printcraft-$VERSION-linux-$ARCH"
|
||||
export PDFCRAFT_MAINTAINER="${PDFCRAFT_MAINTAINER:-PdfCraft maintainers <pdfcraft@storyteller.ai>}"
|
||||
BASENAME="pdfcraft-$VERSION-linux-$ARCH"
|
||||
|
||||
echo "==> PrintCraft $VERSION for Linux $ARCH ($FORMATS)"
|
||||
echo "==> PdfCraft $VERSION for Linux $ARCH ($FORMATS)"
|
||||
|
||||
if [ "$SKIP_BUILD" = 0 ]; then
|
||||
(cd "$ROOT" && cargo build --release --locked -p printcraft -p printcraft-cli)
|
||||
(cd "$ROOT" && cargo build --release --locked -p pdfcraft -p pdfcraft-cli)
|
||||
fi
|
||||
BIN="$CARGO_TARGET_DIR/release"
|
||||
WORK="$CARGO_TARGET_DIR/linux-package"
|
||||
@@ -48,18 +48,18 @@ STAGE="$WORK/root"
|
||||
rm -rf "$WORK"
|
||||
|
||||
# ---- stage an FHS tree (shared by every format) -------------------------------------------------
|
||||
install -Dm755 "$BIN/printcraft" "$STAGE/usr/bin/printcraft"
|
||||
install -Dm755 "$BIN/printcraft-cli" "$STAGE/usr/bin/printcraft-cli"
|
||||
strip "$STAGE/usr/bin/printcraft" "$STAGE/usr/bin/printcraft-cli" 2>/dev/null || true
|
||||
install -Dm755 "$BIN/pdfcraft" "$STAGE/usr/bin/pdfcraft"
|
||||
install -Dm755 "$BIN/pdfcraft-cli" "$STAGE/usr/bin/pdfcraft-cli"
|
||||
strip "$STAGE/usr/bin/pdfcraft" "$STAGE/usr/bin/pdfcraft-cli" 2>/dev/null || true
|
||||
install -Dm644 "$HERE/$APP_ID.desktop" "$STAGE/usr/share/applications/$APP_ID.desktop"
|
||||
install -Dm644 "$HERE/$APP_ID.mime.xml" "$STAGE/usr/share/mime/packages/$APP_ID.xml"
|
||||
mkdir -p "$STAGE/usr/share/metainfo"
|
||||
sed -e "s/@VERSION@/$VERSION/g" -e "s/@DATE@/$PRINTCRAFT_BUILD_DATE/g" \
|
||||
sed -e "s/@VERSION@/$VERSION/g" -e "s/@DATE@/$PDFCRAFT_BUILD_DATE/g" \
|
||||
"$HERE/$APP_ID.metainfo.xml.in" >"$STAGE/usr/share/metainfo/$APP_ID.metainfo.xml"
|
||||
mkdir -p "$STAGE/usr/share/icons"
|
||||
cp -R "$ROOT/assets/app-icon/hicolor" "$STAGE/usr/share/icons/"
|
||||
mkdir -p "$STAGE/usr/share/doc/printcraft"
|
||||
copy_docs "$STAGE/usr/share/doc/printcraft"
|
||||
mkdir -p "$STAGE/usr/share/doc/pdfcraft"
|
||||
copy_docs "$STAGE/usr/share/doc/pdfcraft"
|
||||
|
||||
if command -v desktop-file-validate >/dev/null; then
|
||||
desktop-file-validate "$STAGE/usr/share/applications/$APP_ID.desktop"
|
||||
@@ -92,10 +92,10 @@ fi
|
||||
|
||||
# ---- AppImage -----------------------------------------------------------------------------------
|
||||
if has appimage; then
|
||||
APPDIR="$WORK/PrintCraft.AppDir"
|
||||
APPDIR="$WORK/PdfCraft.AppDir"
|
||||
cp -R "$STAGE" "$APPDIR"
|
||||
mv "$APPDIR/usr/share/doc" "$WORK/doc-unused"
|
||||
ln -s usr/bin/printcraft "$APPDIR/AppRun"
|
||||
ln -s usr/bin/pdfcraft "$APPDIR/AppRun"
|
||||
cp "$HERE/$APP_ID.desktop" "$APPDIR/$APP_ID.desktop"
|
||||
cp "$ROOT/assets/app-icon/hicolor/256x256/apps/$APP_ID.png" "$APPDIR/$APP_ID.png"
|
||||
ln -s "$APP_ID.png" "$APPDIR/.DirIcon"
|
||||
@@ -115,6 +115,6 @@ if has appimage; then
|
||||
echo "wrote $OUT"
|
||||
fi
|
||||
|
||||
"$STAGE/usr/bin/printcraft-cli" --version
|
||||
"$STAGE/usr/bin/pdfcraft-cli" --version
|
||||
echo "==> done"
|
||||
ls -lh "$DIST"
|
||||
|
||||
Reference in New Issue
Block a user