OmaPhoto 1.0.0: the Linux port of Compositor
A layered image editor for Linux and Omarchy, ported from Compositor (github.com/robbietilton/Compositor), whose Swift source is its specification. It reads and writes Compositor's .comp projects. Packages for Ubuntu, Fedora and Arch come from the release workflow; scripts/install/ holds one install script per distribution family, and flake.nix serves NixOS. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
commit
c864304695
564 files changed
+100804
No files matched your search
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
# Installs OmaPhoto's latest package on Arch and Omarchy.
|
||||
set -euo pipefail
|
||||
base=https://github.com/ZacharyZhang-NY/OmaPhoto/releases/latest/download
|
||||
package=omaphoto-x86_64.pkg.tar.zst
|
||||
. /etc/os-release
|
||||
case " ${ID:-} ${ID_LIKE:-} " in
|
||||
*" arch "*) ;;
|
||||
*)
|
||||
echo "This script is for Arch and Omarchy; this system is ${PRETTY_NAME:-unknown}." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
if [ "$(uname -m)" != x86_64 ]; then
|
||||
echo "OmaPhoto's packages are built for x86_64 alone." >&2
|
||||
exit 1
|
||||
fi
|
||||
work=$(mktemp -d)
|
||||
trap 'rm -rf "$work"' EXIT
|
||||
curl -fL --proto '=https' -o "$work/$package" "$base/$package"
|
||||
curl -fsSL --proto '=https' -o "$work/SHA256SUMS" "$base/SHA256SUMS"
|
||||
# The package must match the checksum published beside it.
|
||||
(cd "$work" && grep " $package\$" SHA256SUMS | sha256sum -c -)
|
||||
# pacman asks which ONNX Runtime build provides onnxruntime.
|
||||
sudo pacman -U "$work/$package"
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# Installs OmaPhoto's latest RPM on Fedora.
|
||||
set -euo pipefail
|
||||
base=https://github.com/ZacharyZhang-NY/OmaPhoto/releases/latest/download
|
||||
package=omaphoto.x86_64.rpm
|
||||
. /etc/os-release
|
||||
case " ${ID:-} ${ID_LIKE:-} " in
|
||||
*" fedora "*) ;;
|
||||
*)
|
||||
echo "This script is for Fedora; this system is ${PRETTY_NAME:-unknown}." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
if [ "$(uname -m)" != x86_64 ]; then
|
||||
echo "OmaPhoto's packages are built for x86_64 alone." >&2
|
||||
exit 1
|
||||
fi
|
||||
work=$(mktemp -d)
|
||||
trap 'rm -rf "$work"' EXIT
|
||||
curl -fL --proto '=https' -o "$work/$package" "$base/$package"
|
||||
curl -fsSL --proto '=https' -o "$work/SHA256SUMS" "$base/SHA256SUMS"
|
||||
# The package must match the checksum published beside it.
|
||||
(cd "$work" && grep " $package\$" SHA256SUMS | sha256sum -c -)
|
||||
sudo dnf install -y "$work/$package"
|
||||
# Fedora's own libheif decodes no HEVC; RPM Fusion's does.
|
||||
if ! rpm -q libheif-freeworld >/dev/null 2>&1; then
|
||||
echo "HEIC import needs RPM Fusion's libheif-freeworld: https://rpmfusion.org/Configuration, then sudo dnf install libheif-freeworld"
|
||||
fi
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# Installs OmaPhoto on NixOS from its flake.
|
||||
set -euo pipefail
|
||||
if ! command -v nix >/dev/null; then
|
||||
echo "This script needs Nix; NixOS carries it." >&2
|
||||
exit 1
|
||||
fi
|
||||
if [ "$(uname -m)" != x86_64 ]; then
|
||||
echo "OmaPhoto's flake builds for x86_64 alone." >&2
|
||||
exit 1
|
||||
fi
|
||||
nix --extra-experimental-features "nix-command flakes" profile install github:ZacharyZhang-NY/OmaPhoto
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
# Installs OmaPhoto's latest DEB on Ubuntu and its derivatives.
|
||||
set -euo pipefail
|
||||
base=https://github.com/ZacharyZhang-NY/OmaPhoto/releases/latest/download
|
||||
package=omaphoto_amd64.deb
|
||||
. /etc/os-release
|
||||
case " ${ID:-} ${ID_LIKE:-} " in
|
||||
*" ubuntu "*) ;;
|
||||
*)
|
||||
echo "This script is for Ubuntu and its derivatives; this system is ${PRETTY_NAME:-unknown}." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
if [ "$(uname -m)" != x86_64 ]; then
|
||||
echo "OmaPhoto's packages are built for x86_64 alone." >&2
|
||||
exit 1
|
||||
fi
|
||||
work=$(mktemp -d)
|
||||
trap 'rm -rf "$work"' EXIT
|
||||
curl -fL --proto '=https' -o "$work/$package" "$base/$package"
|
||||
curl -fsSL --proto '=https' -o "$work/SHA256SUMS" "$base/SHA256SUMS"
|
||||
# The package must match the checksum published beside it.
|
||||
(cd "$work" && grep " $package\$" SHA256SUMS | sha256sum -c -)
|
||||
# apt reads the file as its own user.
|
||||
chmod a+rx "$work"
|
||||
sudo apt-get install -y "$work/$package"
|
||||
Reference in new issue
Block a user