aboutsummaryrefslogtreecommitdiff
path: root/recipes-support/sciteco/sciteco-curses.inc
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2023-04-15 08:49:55 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2023-04-15 09:08:26 +0300
commit4c2c9c48f34c261d5d4a72ccfaba68753268e20b (patch)
treeb25465fd6d32ae6b0a83c64585b41d6dae6737fb /recipes-support/sciteco/sciteco-curses.inc
parent693d3ea3583562974adabe9748fcbbe3b86dcf43 (diff)
downloadmeta-rhaberkorn-4c2c9c48f34c261d5d4a72ccfaba68753268e20b.tar.gz
updated SciTECO recipe for current builds
* Renamed to sciteco-curses, analoguous to the Debian packages, since there might be a Gtk port in the future. * Lexilla support, malloc-replacement and LTO is now configurable via PACKAGECONFIG. Especially disabling Lexilla and enabling LTO can have a huge impact on binary size. * Woman pages are packaged into sciteco-curses-doc now, since they are not strictly required and it's important to save space. * Updated for Yocto kirkstone. Will probably work with other version as well, but hasn't been tested. * We can now do parallel builds. * Removed the v0.6.4 recipe. It's too old.
Diffstat (limited to 'recipes-support/sciteco/sciteco-curses.inc')
-rw-r--r--recipes-support/sciteco/sciteco-curses.inc55
1 files changed, 55 insertions, 0 deletions
diff --git a/recipes-support/sciteco/sciteco-curses.inc b/recipes-support/sciteco/sciteco-curses.inc
new file mode 100644
index 0000000..5bcc3cc
--- /dev/null
+++ b/recipes-support/sciteco/sciteco-curses.inc
@@ -0,0 +1,55 @@
+DESCRIPTION = "Advanced TECO dialect and interactive screen editor based on Scintilla"
+HOMEPAGE = "http://sciteco.sf.net/"
+SECTION = "console/utils"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+PR = "r0"
+
+SRC_URI = "gitsm://github.com/rhaberkorn/sciteco.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+# SciTECO does not support out-of-tree builds out of the box since
+# Scintilla doesn't.
+inherit autotools-brokensep pkgconfig
+
+# Since we are cross-compiling, bootstrapping cannot work.
+# Instead there must be a native sciteco available.
+# The native SciTECO is always built with bootstrapping and
+# the target SciTECO without.
+BBCLASSEXTEND = "native"
+EXTRA_OECONF:class-native = "--with-interface=ncurses --enable-bootstrap"
+EXTRA_OECONF:class-target = "--with-interface=ncurses --disable-bootstrap"
+
+DEPENDS:class-native = "pkgconfig-native ncurses-native glib-2.0-native groff-native"
+DEPENDS:class-target = "sciteco-curses-native ncurses glib-2.0 groff-native"
+RDEPENDS:${PN}:class-target = "ncurses-terminfo"
+
+PACKAGECONFIG ??= "lexilla malloc-replacement"
+
+PACKAGECONFIG[lexilla] = ",--without-lexilla"
+PACKAGECONFIG[malloc-replacement] = ",--disable-malloc-replacement"
+PACKAGECONFIG[teco-integer-32] = "--with-teco-integer=32"
+
+# LTO will also decrease binary size.
+# On the downside, LTO breaks debugging.
+# Once there is a site-config option, it should go into PACKAGECONFIG.
+PACKAGECONFIG[lto] = ""
+CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'lto', '-flto', '', d)}"
+CXXFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'lto', '-flto', '', d)}"
+LDFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'lto', '-flto', '', d)}"
+
+FILES:${PN} += "${datadir}/sciteco"
+
+# Woman pages also do not have to be installed by default
+FILES:${PN}-doc += " \
+ ${bindir}/tedoc.tes ${bindir}/grosciteco.tes \
+ ${datadir}/sciteco/lib/lexers/woman.tes ${datadir}/sciteco/lib/women \
+"
+
+# Factor out the icons into a separate package.
+# We usually don't need them.
+PACKAGES =+ "${PN}-icons"
+FILES:${PN}-icons = "${datadir}/sciteco/*.png"