diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2023-04-15 08:49:55 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2023-04-15 09:08:26 +0300 |
commit | 4c2c9c48f34c261d5d4a72ccfaba68753268e20b (patch) | |
tree | b25465fd6d32ae6b0a83c64585b41d6dae6737fb /recipes-support/sciteco/sciteco-curses.inc | |
parent | 693d3ea3583562974adabe9748fcbbe3b86dcf43 (diff) | |
download | meta-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.inc | 55 |
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" |