mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-04-06 07:47:53 +10:00
- Fix debian.yml: pin nfpm version, add permissions, improve test job with user creation, init test, and status check - Fix homebrew.yml: use PyPI JSON API (macOS-compatible, no grep -oP), wait for PyPI availability on release, use generated formula not template, add Linux (Linuxbrew) test job alongside macOS - Add release.yml orchestrator: pip → deb + brew + docker in order - Add workflow_call triggers to pip.yml and docker.yml - Fix build_brew.sh: replace grep -oP with Python-based PyPI API, add on_linux deps (pkg-config, openssl, libffi) - Fix setup.sh: use GitHub API to find correct .deb download URL (filename includes version number) - Fix postinstall.sh: create archivebox system user, pin version from package, check for systemd before daemon-reload - Fix preremove.sh: stop service before removal, check for systemd - Fix install.sh: fallback to latest if pinned version not on PyPI - Add on_linux deps to brew formula for Linuxbrew support - Tested: .deb builds, installs, creates user, runs archivebox init https://claude.ai/code/session_01Vx1EsNrNySgsc8Y67dGzCn
58 lines
1.6 KiB
Ruby
58 lines
1.6 KiB
Ruby
# This formula is auto-generated by bin/build_brew.sh using homebrew-pypi-poet.
|
|
# To update: run bin/build_brew.sh, or trigger the GitHub Actions homebrew workflow.
|
|
#
|
|
# Users install with:
|
|
# brew tap archivebox/archivebox
|
|
# brew install archivebox
|
|
|
|
class Archivebox < Formula
|
|
include Language::Python::Virtualenv
|
|
|
|
desc "Self-hosted internet archiving solution"
|
|
homepage "https://github.com/ArchiveBox/ArchiveBox"
|
|
url "https://files.pythonhosted.org/packages/source/a/archivebox/archivebox-0.9.3.tar.gz"
|
|
sha256 "" # auto-filled by bin/build_brew.sh
|
|
license "MIT"
|
|
head "https://github.com/ArchiveBox/ArchiveBox.git", branch: "dev"
|
|
|
|
depends_on "python@3.13"
|
|
depends_on "node"
|
|
depends_on "git"
|
|
depends_on "wget"
|
|
depends_on "curl"
|
|
depends_on "ripgrep"
|
|
depends_on "yt-dlp"
|
|
|
|
on_linux do
|
|
depends_on "pkg-config" => :build
|
|
depends_on "openssl@3"
|
|
depends_on "libffi"
|
|
end
|
|
|
|
# Python dependency resource blocks are auto-generated by bin/build_brew.sh
|
|
# using homebrew-pypi-poet. Run that script to populate this section.
|
|
# AUTOGENERATED_RESOURCES_START
|
|
# AUTOGENERATED_RESOURCES_END
|
|
|
|
def install
|
|
virtualenv_install_with_resources
|
|
end
|
|
|
|
def post_install
|
|
# Install runtime dependencies (plugins, JS extractors, etc.)
|
|
system bin/"archivebox", "install", "--binproviders", "pip,npm"
|
|
end
|
|
|
|
service do
|
|
run [opt_bin/"archivebox", "server", "--quick-init", "0.0.0.0:8000"]
|
|
keep_alive crashed: true
|
|
working_dir var/"archivebox"
|
|
log_path var/"log/archivebox.log"
|
|
error_log_path var/"log/archivebox.log"
|
|
end
|
|
|
|
test do
|
|
assert_match version.to_s, shell_output("#{bin}/archivebox version")
|
|
end
|
|
end
|