package/libedit: switch to alternate URL for proper packaging
Upstream libedit does not have a proper homepage, and does not provide any sort of packaging whatsoever. So far, we used Debian's wayback machine to get a tarball of a rather oldish libedit. As Thomas pointed out, someone has been maintaining a proper autotools based, up-to-date package for a while. While Debian is stuck to 2.11 (5 years old now), we bump to 3.1 as a bonus. Remove our libedit.pc, it's now bundled with the package. Reported-by: Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
2b0b5859b7
commit
dc2a13a2aa
|
@ -1,15 +1,14 @@
|
||||||
config BR2_PACKAGE_LIBEDIT
|
config BR2_PACKAGE_LIBEDIT
|
||||||
bool "libedit"
|
bool "libedit"
|
||||||
depends on ( BR2_arm || BR2_armeb || BR2_m68k || BR2_i386 || BR2_x86_64 ) # libbsd
|
|
||||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libbsd
|
|
||||||
select BR2_PACKAGE_LIBBSD
|
|
||||||
select BR2_PACKAGE_NCURSES
|
select BR2_PACKAGE_NCURSES
|
||||||
help
|
help
|
||||||
The editline library (from BSD) provides generic line editing
|
The editline library (from BSD) provides generic line editing
|
||||||
and history functions. It slightly resembles GNU readline.
|
and history functions. It slightly resembles GNU readline.
|
||||||
|
|
||||||
|
The official homepage is at:
|
||||||
http://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/src/lib/libedit/
|
http://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/src/lib/libedit/
|
||||||
|
|
||||||
comment "libedit requires a toolchain with thread support"
|
Jess Thrysoee maintains an autotoolified packaged, which we use
|
||||||
depends on ( BR2_arm || BR2_armeb || BR2_m68k || BR2_i386 || BR2_x86_64 ) # libbsd
|
in Buildroot as it makes it much simpler than using the upstream
|
||||||
depends on !BR2_TOOLCHAIN_HAS_THREADS # libbsd
|
sources which require pmake:
|
||||||
|
http://www.thrysoee.dk/editline/
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
configure: on Linux, the BSD functions require linking against libbsd
|
||||||
|
|
||||||
|
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||||
|
|
||||||
|
diff -durN libedit-20130712-3.1.orig/configure.ac libedit-20130712-3.1/configure.ac
|
||||||
|
--- libedit-20130712-3.1.orig/configure.ac 2013-07-12 20:39:22.000000000 +0200
|
||||||
|
+++ libedit-20130712-3.1/configure.ac 2013-07-28 23:35:35.012676469 +0200
|
||||||
|
@@ -108,6 +108,10 @@
|
||||||
|
#AC_FUNC_REALLOC
|
||||||
|
AC_TYPE_SIGNAL
|
||||||
|
AC_FUNC_STAT
|
||||||
|
+
|
||||||
|
+# Search for libbsd for *vis functions
|
||||||
|
+AC_CHECK_LIB([bsd], [vis])
|
||||||
|
+
|
||||||
|
AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat fgetln vis strvis strunvis __secure_getenv secure_getenv])
|
||||||
|
|
||||||
|
# strlcpy
|
|
@ -4,72 +4,26 @@
|
||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Note: libedit does not have a regular homepage, and it seems
|
LIBEDIT_VERSION = 20130712-3.1
|
||||||
# there is no place where to download a tarball from. That's
|
LIBEDIT_SITE = http://www.thrysoee.dk/editline/
|
||||||
# why we use the Debian way-back machine.
|
|
||||||
LIBEDIT_VERSION_MAJOR = 2
|
|
||||||
LIBEDIT_VERSION_MINOR = 11
|
|
||||||
LIBEDIT_VERSION_EXTRA = -20080614
|
|
||||||
LIBEDIT_VERSION = $(LIBEDIT_VERSION_MAJOR).$(LIBEDIT_VERSION_MINOR)
|
|
||||||
LIBEDIT_SOURCE = libedit_$(LIBEDIT_VERSION)$(LIBEDIT_VERSION_EXTRA).orig.tar.bz2
|
|
||||||
LIBEDIT_SITE = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/libe/libedit
|
|
||||||
LIBEDIT_SUBDIR = libedit
|
|
||||||
LIBEDIT_PATCH = libedit_2.11-20080614-5.debian.tar.bz2
|
|
||||||
LIBEDIT_INSTALL_STAGING = YES
|
LIBEDIT_INSTALL_STAGING = YES
|
||||||
LIBEDIT_DEPENDENCIES = host-pmake libbsd ncurses
|
LIBEDIT_DEPENDENCIES = ncurses
|
||||||
|
|
||||||
define LIBEDIT_POST_PATCH_PERMISSIONS
|
# We're patching configure.ac
|
||||||
chmod +x $(@D)/libedit/makelist
|
LIBEDIT_AUTORECONF = YES
|
||||||
endef
|
|
||||||
|
|
||||||
LIBEDIT_POST_PATCH_HOOKS += LIBEDIT_POST_PATCH_PERMISSIONS
|
# Note: libbsd required for *vis functions, but works only with a toolchain
|
||||||
|
# with __progname; otherwise, some features are disabled, as if libbsd was
|
||||||
|
# missing entirely.
|
||||||
|
ifeq ($(BR2_PACKAGE_LIBBSD),y)
|
||||||
|
LIBEDIT_DEPENDENCIES += libbsd
|
||||||
|
endif
|
||||||
|
|
||||||
define LIBEDIT_FIX_VIS_H_INCLUDE
|
# Wide-char support is not autodetected by configure, we have to help a bit.
|
||||||
$(SED) 's,^#include <vis\.h>$$,#include <bsd/vis\.h>,;' \
|
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_WCHAR),y)
|
||||||
$(@D)/libedit/filecomplete.c \
|
LIBEDIT_CONF_OPT += --enable-widec
|
||||||
$(@D)/libedit/history.c \
|
else
|
||||||
$(@D)/libedit/readline.c
|
LIBEDIT_CONF_OPT += --disable-widec
|
||||||
endef
|
endif
|
||||||
LIBEDIT_POST_PATCH_HOOKS += LIBEDIT_FIX_VIS_H_INCLUDE
|
|
||||||
|
|
||||||
LIBEDIT_PMAKE_OPTS = MKPROFILE=no MKCATPAGES=no MLINKS= MANPAGES= NOGCCERROR=1 \
|
$(eval $(autotools-package))
|
||||||
SHLIB_SHFLAGS="-Wl,-soname,libedit.so.${LIBEDIT_VERSION_MAJOR}" \
|
|
||||||
|
|
||||||
define LIBEDIT_BUILD_CMDS
|
|
||||||
cd $(@D)/$(LIBEDIT_SUBDIR); \
|
|
||||||
$(TARGET_CONFIGURE_OPTS) LDADD="-lbsd -lcurses" pmake $(LIBEDIT_PMAKE_OPTS)
|
|
||||||
endef
|
|
||||||
|
|
||||||
LIBEDIT_MAN_LINKS = el_init el_end el_reset el_gets el_getc el_push el_parse \
|
|
||||||
el_set el_get el_source el_resize el_line el_insertstr \
|
|
||||||
el_deletestr history_init history_end history
|
|
||||||
|
|
||||||
# $1: DESTDIR to install into
|
|
||||||
# Can't use pmake to install, it wants to be root. sigh... :-(
|
|
||||||
# We need to create the .so links, otherwise we can't link; and waiting for
|
|
||||||
# ldconfig is too late as it's done just before building the images.
|
|
||||||
define LIBEDIT_INSTALL_CMDS
|
|
||||||
$(INSTALL) -D -m 0644 package/libedit/libedit.pc $(1)/usr/lib/pkgconfig/libedit.pc
|
|
||||||
$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a
|
|
||||||
$(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a
|
|
||||||
$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11
|
|
||||||
$(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h
|
|
||||||
ln -sf libedit.so.$(LIBEDIT_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT_VERSION_MAJOR)
|
|
||||||
ln -sf libedit.so.$(LIBEDIT_VERSION_MAJOR) $(1)/usr/lib/libedit.so
|
|
||||||
$(INSTALL) -D -m 0644 $(@D)/libedit/readline/readline.h $(1)/usr/include/editline/readline.h
|
|
||||||
$(INSTALL) -v -D -m 0644 $(@D)/libedit/editline.3 $(1)/usr/share/man/man3/editline.3el
|
|
||||||
$(INSTALL) -v -D -m 0644 $(@D)/libedit/editrc.5 $(1)/usr/share/man/man5/editrc.5el
|
|
||||||
for lnk in $(LIBEDIT_MAN_LINKS); do \
|
|
||||||
ln -sfv editline.3el $(1)/usr/share/man/man3/$${lnk}.3el; \
|
|
||||||
done
|
|
||||||
endef
|
|
||||||
|
|
||||||
define LIBEDIT_INSTALL_STAGING_CMDS
|
|
||||||
$(call LIBEDIT_INSTALL_CMDS,$(STAGING_DIR))
|
|
||||||
endef
|
|
||||||
|
|
||||||
define LIBEDIT_INSTALL_TARGET_CMDS
|
|
||||||
$(call LIBEDIT_INSTALL_CMDS,$(TARGET_DIR))
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(generic-package))
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
prefix=/usr
|
|
||||||
exec_prefix=${prefix}
|
|
||||||
libdir=${exec_prefix}/lib
|
|
||||||
includedir=${prefix}/include
|
|
||||||
|
|
||||||
Name: libedit
|
|
||||||
Description: Not just a replacement library for libreadline and libhistory.
|
|
||||||
Version: 2.11
|
|
||||||
Requires: libbsd ncurses
|
|
||||||
Requires.private:
|
|
||||||
Libs: -L${libdir} -ledit
|
|
||||||
Libs.private:
|
|
||||||
Cflags: -I${includedir}
|
|
Loading…
Reference in New Issue