Mobilizon-Reshare-condividi.../guix.scm

77 lines
2.8 KiB
Scheme

(define-module (guix)
#:use-module (guix git-download)
#:use-module (guix build-system python)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages databases) ;; for python-tortoise-orm
#:use-module (gnu packages markup) ;; for python-markdownify
#:use-module (gnu packages python)
#:use-module (gnu packages python-web) ;; for python-uvicorn
#:use-module (gnu packages python-xyz) ;; for dynaconf
#:use-module (mobilizon-reshare package)
#:use-module (mobilizon-reshare dependencies)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 popen))
(define %source-dir (getcwd))
(define mobilizon-reshare-git-origin
(local-file %source-dir
#:recursive? #t
#:select? (git-predicate %source-dir)))
(define-public mobilizon-reshare.git
(let ((source-version (with-input-from-file
(string-append %source-dir
"/mobilizon_reshare/VERSION")
read-line))
(revision "0")
(commit (read-line
(open-input-pipe "git show HEAD | head -1 | cut -d ' ' -f 2"))))
(package (inherit mobilizon-reshare)
(name "mobilizon-reshare.git")
(version (git-version source-version revision commit))
(source mobilizon-reshare-git-origin)
(arguments
(substitute-keyword-arguments (package-arguments mobilizon-reshare)
((#:phases phases)
#~(modify-phases #$phases
(delete 'patch-pyproject.toml)))))
(native-inputs
(modify-inputs (package-native-inputs mobilizon-reshare)
(prepend python-httpx python-fastapi)))
(propagated-inputs
(modify-inputs (package-propagated-inputs mobilizon-reshare)
(prepend python-asyncpg python-uvicorn)
(replace "dynaconf"
dynaconf-3.1.11)
(replace "python-markdownify"
python-markdownify)
(replace "python-tortoise-orm"
python-tortoise-orm))))))
(define-public mobilizon-reshare-scheduler
(package (inherit mobilizon-reshare.git)
(name "mobilizon-reshare-scheduler")
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'check)
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin")))
(mkdir-p bin)
(install-file "scripts/scheduler.py" bin)))))))
(propagated-inputs (list mobilizon-reshare.git
python-apscheduler))
(synopsis "Mobilizon Reshare's scheduler")
(description "This script is intended to start a scheduler
running @code{mobilizon-reshare}.")))
mobilizon-reshare.git