diff options
-rw-r--r-- | dev-scheme/skribilo/Manifest | 1 | ||||
-rw-r--r-- | dev-scheme/skribilo/files/50skribilo-gentoo.el | 3 | ||||
-rw-r--r-- | dev-scheme/skribilo/metadata.xml | 21 | ||||
-rw-r--r-- | dev-scheme/skribilo/skribilo-0.9.5.ebuild | 78 |
4 files changed, 103 insertions, 0 deletions
diff --git a/dev-scheme/skribilo/Manifest b/dev-scheme/skribilo/Manifest new file mode 100644 index 000000000000..05c302b07b86 --- /dev/null +++ b/dev-scheme/skribilo/Manifest @@ -0,0 +1 @@ +DIST skribilo-0.9.5.tar.gz 1520763 BLAKE2B c624174a29cb7eb7236b8de506ade00c58fdd895807bd3e052872b7d950be9106daef6015c34ff8b5e7888b43383cbfa5c29c62835d02121cac19062985c6032 SHA512 22dff4523039792bd3662f9f1302569bfb83d92b7106ae22b8926e264b00932ea50ab753bb83aed499d0aa651d0fe99fdfd28b83956ec3ad84b81078391fe014 diff --git a/dev-scheme/skribilo/files/50skribilo-gentoo.el b/dev-scheme/skribilo/files/50skribilo-gentoo.el new file mode 100644 index 000000000000..b6dc5061ebfd --- /dev/null +++ b/dev-scheme/skribilo/files/50skribilo-gentoo.el @@ -0,0 +1,3 @@ +(add-to-list 'load-path "@SITELISP@") +(autoload 'skribe-mode "skribe" + "Minor mode for editing Skribe sources." t) diff --git a/dev-scheme/skribilo/metadata.xml b/dev-scheme/skribilo/metadata.xml new file mode 100644 index 000000000000..24602493b44a --- /dev/null +++ b/dev-scheme/skribilo/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> + +<pkgmetadata> + <maintainer type="project"> + <email>scheme@gentoo.org</email> + <name>Gentoo Scheme Project</name> + </maintainer> + <longdescription> + Skribilo is a free document production tool that takes a structured + document representation as its input and renders that document in a variety + of output formats: HTML and Info for on-line browsing, and Lout and LaTeX + for high-quality hard copies. + The input document can use Skribilo's markup language to provide + information about the document's structure, which is similar to HTML or + LaTeX and does not require expertise. Alternatively, it can use a simpler, + "markup-less" format that borrows from Emacs' outline mode and from other + conventions used in emails, Usenet and text. + Lastly, Skribilo provides Guile Scheme APIs. + </longdescription> +</pkgmetadata> diff --git a/dev-scheme/skribilo/skribilo-0.9.5.ebuild b/dev-scheme/skribilo/skribilo-0.9.5.ebuild new file mode 100644 index 000000000000..fa72296a9295 --- /dev/null +++ b/dev-scheme/skribilo/skribilo-0.9.5.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit elisp-common + +DESCRIPTION="Document production tool written in Guile Scheme" +HOMEPAGE="https://www.nongnu.org/skribilo/" +SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="emacs" +RESTRICT="strip test" # tests fail, seem broken + +RDEPEND=" + app-text/ghostscript-gpl + media-gfx/imagemagick + + >=dev-scheme/guile-2.0.0:= + dev-scheme/guile-lib + dev-scheme/guile-reader +" +DEPEND="${RDEPEND}" +BDEPEND="emacs? ( >=app-editors/emacs-23.1:* )" + +# guile generates ELF files without use of C or machine code +# It's a portage's false positive. bug #677600 +QA_PREBUILT='*[.]go' + +SITEFILE="50${PN}-gentoo.el" + +src_prepare() { + default + + # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112 + find "${S}" -name "*.scm" -exec touch {} + || die +} + +src_configure() { + if ! use emacs ; then + export EMACS="no" + export EMACSLOADPATH="/dev/null" + fi + + econf +} + +src_compile() { + default + + use emacs && elisp-compile ./emacs/*.el +} + +src_install() { + default + + if use emacs ; then + elisp-install ${PN} ./emacs/*.el{,c} + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + else + local emacsd="${D}"/usr/share/emacs + if [[ -d "${emacsd}" ]] ; then + echo "Building without Emacs support but ${emacsd} found! Removing." + rm -r "${emacsd}" || die + fi + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |