summaryrefslogtreecommitdiff
path: root/dev-libs/libtecla
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-libs/libtecla
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-libs/libtecla')
-rw-r--r--dev-libs/libtecla/Manifest1
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-install.patch17
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch13
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch50
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-configure-clang16.patch12
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch37
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch9
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch26
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch25
-rw-r--r--dev-libs/libtecla/libtecla-1.6.3-r1.ebuild55
-rw-r--r--dev-libs/libtecla/metadata.xml19
11 files changed, 264 insertions, 0 deletions
diff --git a/dev-libs/libtecla/Manifest b/dev-libs/libtecla/Manifest
new file mode 100644
index 000000000000..829dcef6241d
--- /dev/null
+++ b/dev-libs/libtecla/Manifest
@@ -0,0 +1 @@
+DIST libtecla-1.6.3.tar.gz 531499 BLAKE2B 6cc585ce104a60138c8b1950f455be845f3db014f1b56585a6ff8c05101e187a3f9deb7546a24e28d8797a49c426606ff50ccb49065ec2dfe4999537c66579ba SHA512 e92da3e52f1e06f731378ea8d4529865526b7816f92c3cd41a24ee8b629453564ec1995cf528928dd0673826cdd88f57e057ec0641f9c00fc9ebb255c725df6b
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-install.patch b/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
new file mode 100644
index 000000000000..769b98c6abb5
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
@@ -0,0 +1,17 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -15,10 +15,10 @@
+
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+-LIBDIR=@libdir@
+-INCDIR=@includedir@
+-MANDIR=@mandir@
+-BINDIR=@bindir@
++LIBDIR=$(DESTDIR)/@libdir@
++INCDIR=$(DESTDIR)/@includedir@
++MANDIR=$(DESTDIR)/@mandir@
++BINDIR=$(DESTDIR)/@bindir@
+
+ # Which C compiler do you want to use?
+
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch b/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
new file mode 100644
index 000000000000..7c6461bb5060
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
@@ -0,0 +1,13 @@
+# prevent build system from stripping files (bug #239877).
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -260,7 +260,7 @@
+ install_bin: $(BINDIR) $(PROGRAMS) $(PROGRAMS_R)
+ progs="$(PROGRAMS) $(PROGRAMS_R)"; \
+ for prog in $$progs; do \
+- $(srcdir)/install-sh -c -m 755 -s $$prog $(BINDIR)/; \
++ $(srcdir)/install-sh -c -m 755 $$prog $(BINDIR)/; \
+ done
+
+ install: install_lib install_inc install_man install_bin
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch b/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
new file mode 100644
index 000000000000..467cde20c2de
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
@@ -0,0 +1,50 @@
+ Makefile.in | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -217,7 +217,7 @@ install_inc: $(INCDIR)
+
+ install_man: $(MANDIR) libr_man func_man prog_man misc_man file_man
+
+-libr_man:
++libr_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/libr/*.in; do \
+ page=`basename "$$template" .in`; \
+@@ -225,7 +225,7 @@ libr_man:
+ done ; \
+ fi
+
+-func_man:
++func_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/func/*.in; do \
+ page=`basename "$$template" .in`; \
+@@ -233,7 +233,7 @@ func_man:
+ done ; \
+ fi
+
+-prog_man:
++prog_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/prog/*.in; do \
+ page=`basename "$$template" .in`; \
+@@ -241,7 +241,7 @@ prog_man:
+ done ; \
+ fi
+
+-misc_man:
++misc_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/misc/*.in; do \
+ page=`basename "$$template" .in`; \
+@@ -249,7 +249,7 @@ misc_man:
+ done ; \
+ fi
+
+-file_man:
++file_man: $(MANDIR)
+ if test "@MAKE_MAN_PAGES@"_ = "yes"_; then \
+ for template in man/file/*.in; do \
+ page=`basename "$$template" .in`; \
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-configure-clang16.patch b/dev-libs/libtecla/files/libtecla-1.6.3-configure-clang16.patch
new file mode 100644
index 000000000000..9a8a67df6f96
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-configure-clang16.patch
@@ -0,0 +1,12 @@
+--- a/configure.in
++++ b/configure.in
+@@ -94,6 +94,9 @@ dnl statement.
+
+ AC_CANONICAL_SYSTEM
+
++dnl Needed for ptsname and friends.
++AC_USE_SYSTEM_EXTENSIONS
++
+ dnl In early versions of Solaris, some libraries are in /usr/ccs/lib,
+ dnl where gcc doesn't look. The tests below for the curses library
+ dnl would thus fail without this directory being added to the search
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch b/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch
new file mode 100644
index 000000000000..67dcb3e71daa
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch
@@ -0,0 +1,37 @@
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -54,19 +54,19 @@
+ demos: $(DEMO_PROGS)
+
+ demo$(SUFFIX): $(OBJDIR)/demo.o $(TARGETS)
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+ $(OBJDIR)/demo.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ demo2$(SUFFIX): $(OBJDIR)/demo2.o $(TARGETS)
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+ $(OBJDIR)/demo2.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ demo3$(SUFFIX): $(OBJDIR)/demo3.o $(TARGETS)
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+ $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ enhance$(SUFFIX): $(OBJDIR)/enhance.o $(TARGETS)
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+ $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ #-----------------------------------------------------------------------
+--- a/configure.in
++++ b/configure.in
+@@ -490,7 +490,7 @@
+ VERSION_OPT=''
+ fi
+
+- LINK_SHARED="$LD"' -o $$@ -soname libtecla$$(SUFFIX).so.'${MAJOR_VER}' -shared '$VERSION_OPT' $$(LIB_OBJECTS) $$(LIBS) -lc'
++ LINK_SHARED="$LD"' $$(LFLAGS) -o $$@ -soname libtecla$$(SUFFIX).so.'${MAJOR_VER}' -shared '$VERSION_OPT' $$(LIB_OBJECTS) $$(LIBS) -lc'
+ SHARED_CFLAGS="-fpic"
+
+ dnl Reenable the inclusion of symbols which get undefined when POSIX_C_SOURCE
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch b/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch
new file mode 100644
index 000000000000..41e7b628b359
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch
@@ -0,0 +1,9 @@
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -165,5 +165,5 @@
+ # Include file dependencies.
+ #-----------------------------------------------------------------------
+
+-$(OBJDIR)/keytab.h: $(srcdir)/keytab.h $(srcdir)/libtecla.h
++$(OBJDIR)/keytab.h: $(srcdir)/keytab.h $(srcdir)/libtecla.h $(OBJDIR)
+ cp $(srcdir)/keytab.h $@
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch b/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch
new file mode 100644
index 000000000000..01552220e24a
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch
@@ -0,0 +1,26 @@
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -54,19 +54,19 @@
+ demos: $(DEMO_PROGS)
+
+ demo$(SUFFIX): $(OBJDIR)/demo.o $(TARGETS)
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+ $(OBJDIR)/demo.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ demo2$(SUFFIX): $(OBJDIR)/demo2.o $(TARGETS)
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+ $(OBJDIR)/demo2.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ demo3$(SUFFIX): $(OBJDIR)/demo3.o $(TARGETS)
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+ $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ enhance$(SUFFIX): $(OBJDIR)/enhance.o $(TARGETS)
+- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
++ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
+ $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
+
+ #-----------------------------------------------------------------------
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch b/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch
new file mode 100644
index 000000000000..0d7c14b6c172
--- /dev/null
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch
@@ -0,0 +1,25 @@
+--- a/configure.in
++++ b/configure.in
+@@ -426,6 +426,9 @@
+ AC_ARG_WITH(file-system, AC_HELP_STRING([--with-file-system], [Does the target have a filesystem (default=yes)]),
+ AC_DEFINE(WITHOUT_FILE_SYSTEM), )
+
++dnl Some users may be not interested in static libs
++AC_ARG_ENABLE([static-libs], AC_HELP_STRING([--enable-static-libs], [Enable static libs if shared libs will be also build (default=yes)]))
++
+ dnl The following bourne shell case statement is where system
+ dnl dependencies can be added. In particular, if your system supports
+ dnl shared library creation, the following switch is the place to
+@@ -571,7 +574,11 @@
+ dnl libraries to the list of libraries to be built.
+
+ if test "$LINK_SHARED"_ != "_"; then
+- TARGET_LIBS="static shared"
++ if test "$enable_static_libs"_ != "_"; then
++ TARGET_LIBS="static shared"
++ else
++ TARGET_LIBS="shared"
++ fi
+ else
+ TARGET_LIBS="static"
+ LINK_SHARED="@:"
diff --git a/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild b/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild
new file mode 100644
index 000000000000..482a77d91dad
--- /dev/null
+++ b/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Tecla command-line editing library"
+HOMEPAGE="https://www.astro.caltech.edu/~mcs/tecla/"
+SRC_URI="https://www.astro.caltech.edu/~mcs/tecla/${P}.tar.gz"
+S="${WORKDIR}/libtecla"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~riscv x86"
+
+DEPEND="sys-libs/ncurses:="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.1-install.patch
+ "${FILESDIR}"/${PN}-1.6.1-no-strip.patch
+ "${FILESDIR}"/${PN}-1.6.3-ldflags.patch
+ "${FILESDIR}"/${PN}-1.6.3-prll-build.patch
+ "${FILESDIR}"/${PN}-1.6.1-prll-install.patch
+ "${FILESDIR}"/${PN}-1.6.3-static-libs.patch
+ "${FILESDIR}"/${PN}-1.6.3-secure-runpath.patch
+ "${FILESDIR}"/${PN}-1.6.3-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # ld: <artificial>:(.text.startup+0x6c): undefined reference to `libtecla_version'
+ #
+ # For some mysterious reason this is running $LD directly to link the
+ # shared library rather than use the compiler as the linker driver. As a
+ # result -flto is effectively a no-op *at link time* and the shared library
+ # contains... nothing. Because it didn't process the bytecode. Of course,
+ # nothing can then link to it.
+ #
+ # https://bugs.gentoo.org/772014
+ filter-lto
+ default
+}
+
+src_compile() {
+ emake \
+ OPT="" \
+ LDFLAGS="${LDFLAGS}" \
+ LFLAGS="$(raw-ldflags)"
+}
diff --git a/dev-libs/libtecla/metadata.xml b/dev-libs/libtecla/metadata.xml
new file mode 100644
index 000000000000..3895f98d7533
--- /dev/null
+++ b/dev-libs/libtecla/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The tecla library provides UNIX and LINUX programs with interactive
+ command line editing facilities, similar to those of the UNIX tcsh
+ shell. In addition to simple command-line editing, it supports
+ recall of previously entered command lines, TAB completion of file
+ names or other tokens, and in-line wild-card expansion of
+ filenames. The internal functions which perform file-name completion
+ and wild-card expansion are also available externally for optional
+ use by programs.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>