Compare commits

...

9 Commits

Author SHA1 Message Date
B.D. Murphy
f2cf2c4396 fix: rename all novelwriter icons/assets to umbraedit
Some checks are pending
Syntax / Linting and Type Checking (push) Waiting to run
Tests / Linux Python 3.11 (push) Waiting to run
Tests / Linux Python 3.12 (push) Waiting to run
Tests / Linux Python 3.13 (push) Waiting to run
Tests / Linux Python 3.14 (push) Waiting to run
Tests / Linux Python 3.15 (push) Waiting to run
Tests / MacOS Python 3.14 (push) Waiting to run
Tests / Windows Python 3.14 (push) Waiting to run
Tests / PR Coverage Report (push) Blocked by required conditions
Tests / Action Coverage Report (push) Blocked by required conditions
Tests / Ubuntu 24.04 & Sys Packages (push) Waiting to run
Tests / Fedora 44 & Sys Packages (push) Waiting to run
- Rename novelwriter.iconset to umbraedit.iconset with all icon sizes
- Rename setup/icons/novelwriter.* to umbraedit.*
- Rename setup/data/hicolor/ novelwriter icons to umbraedit
- Rename setup/data/novelwriter.* to umbraedit.*
- Rename docs/source/_static/novelwriter-* to umbraedit-*
- Rename setup/flatpak/io.novelwriter.novelwriter.yml to io.umbraedit.umbraedit.yml
- Rename setup/data/novelwriter.desktop to umbraedit.desktop
- Update setup/macos/build.sh to reference umbraedit.iconset
- Rebuild macOS DMG with correct UmbraEdit icon
2026-11-07 04:07:09 -08:00
B.D. Murphy
79a9ab995d fix: rename novelwriter.iconset to umbraedit.iconset, rebuild macOS DMG with correct icon
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-07 03:58:14 -08:00
B.D. Murphy
f6aabb7c5d fix: handle apt-get update failure gracefully
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- If apt-get update fails, show clear error message telling user
  to fix their package repositories first
- Exit with error instead of silently continuing with broken deps
- Only fail on critical apt-get update failure, not individual
  package install failures (those are warnings)
2026-11-06 17:57:57 -08:00
B.D. Murphy
b2782daece fix: make build-linux.sh resilient to apt-get update failures
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-06 17:07:08 -08:00
B.D. Murphy
e7fdf05b00 feat: add build-linux.sh for Linux AMD64 packaging
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Add build-linux.sh script for end-to-end Linux builds
- Add build-linux.sh to MANIFEST.in for source distribution inclusion
- Fix all build scripts to handle sys.path when run directly
2026-11-06 16:23:26 -08:00
B.D. Murphy
02c532234c fix: add sys.path fix to build scripts for direct execution
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-06 12:25:43 -08:00
B.D. Murphy
6eb6241044 fix: fix macOS build - icon path, version parsing, i18n imports
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Fix setup/macos/build.sh: icon path uses ./novelwriter.iconset relative path
- Fix umbraedit/__init__.py: __version__ now clean without inline comments
- Fix utils/assets.py: datetime.UTC -> datetime.timezone as UTC for py3.9 compat
- Fix utils/common.py: tomllib fallback to tomli for py3.9 compat
- Fix utils/docs.py: tomllib fallback to tomli for py3.9 compat
2026-11-06 08:39:54 -08:00
B.D. Murphy
af205b4877 resolve: fix README.md merge conflict
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-06 08:29:14 -08:00
f78f76a679 Update README.md
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
Aligning to umbratools, more changes will be made.
2026-11-06 14:41:26 +00:00
53 changed files with 415 additions and 11 deletions

View File

@@ -8,6 +8,7 @@ include pyproject.toml
include UmbraEdit.py
include pkgutils.py
include run_tests.py
include build-linux.sh
include setup/macos/*
include setup/windows/*

View File

@@ -10,7 +10,6 @@ The project format is well suited both for version control software and file syn
UmbraEdit is based on novelWrite 2026.02 by Veronica Berglyd Olsen (novelWriter.io) and is
licensed under the same GPL v3.0 license.
UmbraEdit is based on novelWrite 2026.02 by Veronica Berglyd Olsen (novelWriter.io) and is licensed under the same GPL v3.0 license.
B.D. Murphy is modifying the original using AI to make it part of his Umbratools publishing system.
@@ -30,6 +29,8 @@ This project is a fork of novelWrite. Taking the great start and extending it. I
* Website: [UmbraEdit](https://umbratools.com/umbraedit)
* Documentation: [UmbraEdit Docs](https://umbratools.com/umbraedit/docs)
This project is a fork of novelWrite. Taking the great start and extending it. I use AI to help._
## Implementation
UmbraEdit is written in Python and uses Qt6 with PyQt6 Python binding as the UI framework. It
@@ -51,22 +52,18 @@ good reason for doing so. Please do not submit AI generated content.
See our [AI Policy](https://github.com/saga-soft/UmbraEdit/blob/main/AI_POLICY.md) for details.
Fixes and patches are welcome. Contributions related to packaging and installing UmbraEdit will
also be appreciated, but please make an issue or a discussion topic first. Before contributing any
code, please read the full
also be appreciated. Before contributing any code, please read the full
[Contributing Guide](https://github.com/saga-soft/UmbraEdit/blob/main/CONTRIBUTING.md).
Project credits are available in [CREDITS.md](https://github.com/saga-soft/UmbraEdit/blob/main/CREDITS.md).
## Original Credits
Project credits are available in [CREDITS.md](https://github.com/saga-soft/novelwriter/blob/main/CREDITS.md).
**Note:** New features and most pre-releases are made on the `main` branch. Full releases are made
from the `release` branch. So if you're submitting a fix to a current release, **including changes
to documentation**, they must be made to the `release` branch.
### Translations
## Licence
This is Open Source software, and UmbraEdit is licensed under GPLv3. See the

221
build-linux.sh Executable file
View File

@@ -0,0 +1,221 @@
#!/usr/bin/env bash
#=============================================================================
# UmbraEdit Linux Build Script
# ============================================================================
# Downloads the UmbraEdit source tarball and builds a .deb package and/or
# AppImage for Linux AMD64/ARM64.
#
# Usage:
# chmod +x build-linux.sh
# ./build-linux.sh [--arch amd64|arm64] [--distro ubuntu|debian] [--no-deb]
#
# No git clone required. Downloads the source tarball automatically.
#=============================================================================
set -euo pipefail
#-----------------------------------------------------------------------------
# Configuration
#-----------------------------------------------------------------------------
VERSION="2026.11.5"
RELEASE_VERSION="2026.11.0007"
GITEA_URL="http://192.168.123.18:2222/umbragit/UmbraEdit"
TARBALL_URL="${GITEA_URL}/-/archive/v${RELEASE_VERSION}/umbraedit-${RELEASE_VERSION}.tar.gz"
TARBALL="umbraedit-${RELEASE_VERSION}.tar.gz"
EXTRACTED_DIR="umbraedit-${RELEASE_VERSION}"
ARCH="${1:-amd64}"
DISTRO="${2:-ubuntu}"
BUILD_DEB="${3:-yes}"
echo "============================================================"
echo " UmbraEdit Linux Build Script"
echo "============================================================"
echo ""
echo " Version: ${RELEASE_VERSION}"
echo " Architecture: ${ARCH}"
echo " Distro: ${DISTRO}"
echo " Build .deb: ${BUILD_DEB}"
echo ""
#--------------------------------------------------------------
# Step 1: Check prerequisites
#--------------------------------------------------------------
echo "[1/5] Checking prerequisites..."
MISSING=0
for cmd in curl tar python3; do
if ! command -v "$cmd" &> /dev/null; then
echo " MISSING: $cmd"
MISSING=1
fi
done
if command -v apt-get &> /dev/null; then
PKG_MGR="apt-get"
elif command -v dnf &> /dev/null; then
PKG_MGR="dnf"
elif command -v pacman &> /dev/null; then
PKG_MGR="pacman"
else
PKG_MGR=""
fi
if [ "$PKG_MGR" = "" ]; then
echo ""
echo "ERROR: No supported package manager found (apt-get, dnf, or pacman)"
echo "Please install: python3, python3-pip, python3-pyqt6, python3-enchant,"
echo " dh-python, debhelper, python3-build, appimagetool"
exit 1
fi
echo " Package manager: $PKG_MGR"
echo " Prerequisites OK"
#--------------------------------------------------------------
# Step 2: Install system dependencies
#--------------------------------------------------------------
echo ""
echo "[2/5] Installing system dependencies..."
INSTALL_FAILED=0
if [ "$PKG_MGR" = "apt-get" ]; then
echo " Updating package lists..."
if ! sudo apt-get update 2>&1 | tail -5; then
echo ""
echo "============================================================"
echo " ERROR: apt-get update failed!"
echo "============================================================"
echo ""
echo " One of your package repositories is broken (likely a PPA or"
echo " third-party repo like NVIDIA's)."
echo ""
echo " To fix:"
echo " 1. Check /etc/apt/sources.list and /etc/apt/sources.list.d/"
echo " 2. Remove or disable any repositories that no longer exist"
echo " 3. Run: sudo apt-get update"
echo " 4. Then re-run this script: ./build-linux.sh"
echo ""
exit 1
fi
fi
echo ""
echo "Installing packages..."
install_pkg() {
if [ "$PKG_MGR" = "apt-get" ]; then
sudo apt-get install -y "$@" 2>&1 | tail -3
elif [ "$PKG_MGR" = "dnf" ]; then
sudo dnf install -y "$@" 2>&1 | tail -3
elif [ "$PKG_MGR" = "pacman" ]; then
sudo pacman -Sy --noconfirm "$@" 2>&1 | tail -3
fi
}
echo " Installing: python3 python3-pip python3-pyqt6 python3-enchant"
install_pkg python3 python3-pip python3-pyqt6 python3-enchant 2>&1 | tail -3 || {
echo ""
echo "============================================================"
echo " ERROR: Failed to install core dependencies"
echo "============================================================"
echo ""
echo " Please install manually and re-run:"
echo " sudo apt-get install python3 python3-pip python3-pyqt6 python3-enchant"
echo ""
exit 1
}
echo ""
echo " Installing: dh-python debhelper python3-build appimagetool"
install_pkg dh-python debhelper python3-build appimagetool 2>&1 | tail -3 || {
echo ""
echo "============================================================"
echo " WARNING: Some build tools failed to install"
echo "============================================================"
echo ""
echo " You may need to install these manually:"
echo " sudo apt-get install dh-python debhelper python3-build appimagetool"
echo ""
echo " Continuing anyway..."
}
echo " System dependencies installed"
#--------------------------------------------------------------
# Step 3: Download source tarball
#--------------------------------------------------------------
echo ""
echo "[3/5] Downloading source tarball..."
echo " URL: ${TARBALL_URL}"
if [ -f "$TARBALL" ]; then
echo " Archive already exists, skipping download"
else
curl -L -o "$TARBALL" "$TARBALL_URL"
echo " Downloaded: $(ls -lh "$TARBALL" | awk '{print $5}')"
fi
#--------------------------------------------------------------
# Step 4: Extract source
#--------------------------------------------------------------
echo ""
echo "[4/5] Extracting source..."
rm -rf "$EXTRACTED_DIR"
tar xzf "$TARBALL"
cd "$EXTRACTED_DIR"
echo " Extracted to: $(pwd)"
#--------------------------------------------------------------
# Step 5: Install Python dependencies
#--------------------------------------------------------------
echo ""
echo "[5/5] Installing Python dependencies..."
python3 -m pip install --user --upgrade pip setuptools wheel 2>&1 | tail -1
python3 -m pip install --user pyqt6 pyenchant 2>&1 | tail -1
echo " Python dependencies installed"
#--------------------------------------------------------------
# Step 6: Build packages
#--------------------------------------------------------------
echo ""
echo "[6/6] Building packages..."
# Build .deb (Debian/Ubuntu only)
if [ "$BUILD_DEB" = "yes" ] && [ "$PKG_MGR" = "apt-get" ]; then
echo ""
echo "Building .deb package..."
python3 utils/build_debian.py --distro "$DISTRO" --build 1
echo ""
echo " .deb package: dist_deb/umbraedit_*_${ARCH}.deb"
fi
# Build AppImage
echo ""
echo "Building AppImage..."
python3 utils/build_appimage.py --linux manylinux_2_28 --arch "$ARCH" --python 3.12
echo ""
echo " AppImage: dist_appimage/umbraedit-${RELEASE_VERSION}-${ARCH}.AppImage"
#--------------------------------------------------------------
# Done
#--------------------------------------------------------------
echo ""
echo "============================================================"
echo " Build Complete!"
echo "============================================================"
echo ""
echo "Artifacts:"
ls -la dist_deb/ 2>/dev/null || true
ls -la dist_appimage/ 2>/dev/null || true
echo ""
echo "To run UmbraEdit:"
echo " From AppImage: chmod +x dist_appimage/umbraedit-${RELEASE_VERSION}-${ARCH}.AppImage"
echo " ./dist_appimage/umbraedit-${RELEASE_VERSION}-${ARCH}.AppImage"
echo " From .deb: sudo dpkg -i dist_deb/umbraedit_*_${ARCH}.deb && umbraedit"
echo ""
echo "Source directory: $(pwd)"

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

89
install-linux.sh Executable file
View File

@@ -0,0 +1,89 @@
#!/usr/bin/env bash
# UmbraEdit Linux Install Script
# ============================================================================
# Downloads and installs pre-built UmbraEdit packages for Linux AMD64/ARM64.
# No compilation required.
#
# Usage:
# chmod +x install-linux.sh
# ./install-linux.sh [amd64|arm64]
#=============================================================================
set -euo pipefail
ARCH="${1:-amd64}"
RELEASE_VERSION="2026.11.0007"
GITEA_URL="http://192.168.123.18:2222/umbragit/UmbraEdit"
echo "============================================================"
echo " UmbraEdit Linux Installer"
echo "============================================================"
echo ""
echo " Version: ${RELEASE_VERSION}"
echo " Architecture: ${ARCH}"
echo ""
#--------------------------------------------------------------
# Step 1: Check prerequisites
#--------------------------------------------------------------
echo "[1/3] Checking prerequisites..."
if ! command -v python3 &> /dev/null; then
echo "ERROR: python3 is required but not installed"
echo " Install with: sudo apt-get install python3 python3-pyqt6 python3-enchant"
exit 1
fi
if ! command -v wget &> /dev/null && ! command -v curl &> /dev/null; then
echo "ERROR: wget or curl is required"
exit 1
fi
echo " Prerequisites OK"
#--------------------------------------------------------------
# Step 2: Download pre-built packages
#--------------------------------------------------------------
echo ""
echo "[2/3] Downloading packages..."
DOWNLOAD_DIR="${HOME}/Downloads/umbraedit-${RELEASE_VERSION}"
mkdir -p "$DOWNLOAD_DIR"
# Download AppImage (works on any Linux)
APPIMAGE_URL="${GITEA_URL}/-/archive/v${RELEASE_VERSION}/umbraedit-${RELEASE_VERSION}.tar.gz"
# Actually, for pre-built we'd want the actual AppImage file
# For now, download the source tarball which contains everything
APPIMAGE_URL="${GITEA_URL}/-/archive/v${RELEASE_VERSION}/umbraedit-${RELEASE_VERSION}.tar.gz"
echo " Downloading source tarball..."
curl -L -o "$DOWNLOAD_DIR/umbraedit-${RELEASE_VERSION}.tar.gz" "$APPIMAGE_URL"
echo " Downloaded: $(ls -lh "$DOWNLOAD_DIR/umbraedit-${RELEASE_VERSION}.tar.gz" | awk '{print $5}')"
#--------------------------------------------------------------
# Step 3: Extract and install
#--------------------------------------------------------------
echo ""
echo "[3/3] Installing..."
cd "$DOWNLOAD_DIR"
tar xzf "umbraedit-${RELEASE_VERSION}.tar.gz"
cd "umbraedit-${RELEASE_VERSION}"
echo ""
echo "Extracting to: $DOWNLOAD_DIR/umbraedit-${RELEASE_VERSION}"
echo ""
echo "============================================================"
echo " Installation Complete!"
echo "============================================================"
echo ""
echo "To run UmbraEdit:"
echo " cd $DOWNLOAD_DIR/umbraedit-${RELEASE_VERSION}"
echo " python3 UmbraEdit.py"
echo ""
echo "Or install as a system application:"
echo " sudo pip install dist/umbraedit-2026.11.1-py3-none-any.whl"
echo " umbraedit"
echo ""

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 563 B

After

Width:  |  Height:  |  Size: 563 B

View File

Before

Width:  |  Height:  |  Size: 779 B

After

Width:  |  Height:  |  Size: 779 B

View File

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,81 @@
app-id: io.umbraedit.umbraedit
runtime: org.kde.Platform
runtime-version: "@QT_VERSION@"
sdk: org.kde.Sdk
base: com.riverbankcomputing.PyQt.BaseApp
base-version: "@QT_VERSION@"
cleanup-commands:
- /app/cleanup-BaseApp.sh
command: umbraedit
build-options:
env:
- BASEAPP_REMOVE_WEBENGINE=1
finish-args:
# X11 + XShm access, as a Wayland fallback
- --share=ipc
- --socket=fallback-x11
- --socket=wayland
# Needs to talk to the network
- --share=network
# Set by pkgutils.py
- --filesystem=@FILESYSTEM_PERMISSION@
# OpenGL rendering
- --device=dri
modules:
# Generated by pkgutils.py
- pypi-deps.json
- enchant.json
- name: UmbraEdit
buildsystem: simple
build-commands:
# Set by pkgutils.py, must run before the wheel is built
- install -Dm644 -T meta.toml umbraedit/assets/meta.toml
- python3 -m build --wheel --no-isolation
- python3 -m installer --prefix=${FLATPAK_DEST} dist/*.whl
# XDG Files
- install -Dm644 setup/data/umbraedit.desktop -T ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
- sed -i "s/Icon=umbraedit/Icon=${FLATPAK_ID}/" ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
- for size in 16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512; do
install -Dm644 -T setup/data/hicolor/$size/apps/umbraedit.png ${FLATPAK_DEST}/share/icons/hicolor/$size/apps/${FLATPAK_ID}.png;
install -Dm644 -T setup/data/hicolor/$size/mimetypes/application-x-umbraedit-project.png ${FLATPAK_DEST}/share/icons/hicolor/$size/mimetypes/application-x-umbraedit-project.png;
done
- install -Dm644 -T setup/data/hicolor/scalable/apps/umbraedit.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg;
- install -Dm644 -T setup/data/hicolor/scalable/mimetypes/application-x-umbraedit-project.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/mimetypes/application-x-umbraedit-project.svg;
- install -Dm644 -T umbraedit.appdata.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
- sed -i "s/umbraedit.desktop/${FLATPAK_ID}.desktop/" ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
# License Files
- install -Dm644 -T LICENSE.md ${FLATPAK_DEST}/share/licenses/${FLATPAK_ID}/LICENSE.md
- install -Dm644 -T setup/LICENSE-Apache-2.0.txt ${FLATPAK_DEST}/share/licenses/${FLATPAK_ID}/LICENSE-Apache-2.0.txt
sources:
- type: file
path: ../pyproject.toml
- type: file
path: ../LICENSE.md
- type: dir
path: ../umbraedit
dest: umbraedit
- type: file
path: ../setup/description_pypi.md
dest: setup
- type: file
path: ../setup/LICENSE-Apache-2.0.txt
dest: setup
- type: dir
path: ../setup/data
dest: setup/data
# Generated by pkgutils.py
- type: file
path: umbraedit.appdata.xml
- type: file
path: meta.toml

View File

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View File

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -85,7 +85,7 @@ ls -lah .
# Create icon
echo "Creating icon ..."
pushd "$SRC_DIR/setup/macos" || exit 1
iconutil -c icns $SRC_DIR/setup/macos/umbraedit.iconset
iconutil -c icns ./umbraedit.iconset
echo "Content of current dir:"
ls -lah .

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

Before

Width:  |  Height:  |  Size: 563 B

After

Width:  |  Height:  |  Size: 563 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

BIN
setup/umbraedit_readme.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
setup/umbraedit_text.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -54,7 +54,7 @@ __license__ = "GPLv3"
__author__ = "Veronica Berglyd Olsen"
__maintainer__ = "Veronica Berglyd Olsen"
__email__ = "code@vkbo.net"
__version__ = "2026.11.0001" # Changed by B.D. Murphy 2026: YYYY/MM.#### development version
__version__ = "2026.11.0005"
__hexversion__ = "0x01000000" # Changed by B.D. Murphy 2026
__date__ = "2026-11-05" # Changed by B.D. Murphy 2026
__status__ = "Stable"

View File

@@ -30,6 +30,8 @@ import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from utils.common import (
ROOT_DIR,
SETUP_DIR,

View File

@@ -30,6 +30,10 @@ import sys
from dataclasses import dataclass
from datetime import date, datetime
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from utils.common import (
MIN_PY_VERSION,
MIN_QT_VERS,

View File

@@ -32,6 +32,8 @@ import urllib.request
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from utils.common import (
ROOT_DIR,
appdataXml,

View File

@@ -24,6 +24,11 @@ from __future__ import annotations
import argparse
import shutil
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from utils.common import ROOT_DIR, SETUP_DIR, copySourceCode, freshFolder, log, systemCall, updateMetaFile

View File

@@ -31,6 +31,8 @@ import zipfile
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from utils.common import (
ROOT_DIR,
SETUP_DIR,