summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme/skribilo')
-rw-r--r--dev-scheme/skribilo/Manifest1
-rw-r--r--dev-scheme/skribilo/files/50skribilo-gentoo.el3
-rw-r--r--dev-scheme/skribilo/metadata.xml21
-rw-r--r--dev-scheme/skribilo/skribilo-0.9.5.ebuild78
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
+}