From 98bbb0767ace5ef4335c93dfc394dfcc8d429083 Mon Sep 17 00:00:00 2001 From: Lucio Andrés Illanes Albornoz (arab, vxp) Date: Apr 14 2018 18:51:26 +0000 Subject: vars/build.vars:native_packages_cmdline: adds ksh_openbsd v20180115 (via Redfoxmoon.) vars/build.vars:native_packages_deps: adds musl_compat & libbsd v0.8.7 (via Redfoxmoon.) patches/ksh_openbsd-20180115.local.patch: via Redfoxmoon. patches/libbsd-0.8.7.local.patch: via Redfoxmoon. --- diff --git a/patches/ksh_openbsd-20180115.local.patch b/patches/ksh_openbsd-20180115.local.patch new file mode 100644 index 0000000..6343064 --- /dev/null +++ b/patches/ksh_openbsd-20180115.local.patch @@ -0,0 +1,63 @@ +diff -ru ksh-openbsd-20180115.orig/history.c ksh-openbsd-20180115/history.c +--- ksh-openbsd-20180115.orig/history.c 2018-01-15 23:04:15.000000000 +0100 ++++ ksh-openbsd-20180115/history.c 2018-04-14 15:31:50.346308024 +0200 +@@ -28,6 +28,10 @@ + #include "vis.h" + #include "sh.h" + ++#ifndef F_EXLCK ++#define F_EXLCK 4 ++#endif ++ + #define timespeccmp(tsp, usp, cmp) \ + (((tsp)->tv_sec == (usp)->tv_sec) ? \ + ((tsp)->tv_nsec cmp (usp)->tv_nsec) : \ +diff -ru ksh-openbsd-20180115.orig/Makefile ksh-openbsd-20180115/Makefile +--- ksh-openbsd-20180115.orig/Makefile 2018-01-15 23:04:15.000000000 +0100 ++++ ksh-openbsd-20180115/Makefile 2018-04-14 16:03:43.040414391 +0200 +@@ -22,12 +22,12 @@ + CDIAGFLAGS+= -Wshadow + CDIAGFLAGS+= -Wdeclaration-after-statement + +-CFLAGS += $(CDIAGFLAGS) `getconf LFS_CFLAGS` -DEMACS -DVI ++CFLAGS += $(CDIAGFLAGS) `getconf LFS_CFLAGS` -D_GNU_SOURCE -DEMACS -DVI + LDADD += -lbsd + + $(PROG): $(OBJS) +- $(CC) -o $(PROG) $(CFLAGS) $(LDADD) \ +- $(OBJS) ++ $(CC) -o $(PROG) $(CFLAGS) \ ++ $(OBJS) $(LDADD) + + all: $(PROG) + +@@ -37,7 +37,7 @@ + + install: + install -m755 -d $(BINDIR) +- install -m755 --strip --no-target-directory ksh $(BINDIR)/pdksh ++ install -m755 --no-target-directory ksh $(BINDIR)/pdksh + install -m755 -d $(MANDIR)/man1 + install -m644 --no-target-directory ksh.1 $(MANDIR)/man1/pdksh.1 + install -m644 --no-target-directory sh.1 $(MANDIR)/man1/pdksh-sh.1 +diff -ru ksh-openbsd-20180115.orig/vis.c ksh-openbsd-20180115/vis.c +--- ksh-openbsd-20180115.orig/vis.c 2018-01-15 23:04:15.000000000 +0100 ++++ ksh-openbsd-20180115/vis.c 2018-04-14 15:38:41.605684906 +0200 +@@ -139,7 +139,7 @@ + *dst = '\0'; + return (dst); + } +-DEF_WEAK(vis); ++//DEF_WEAK(vis); + + /* + * strvis, strnvis, strvisx - visually encode characters from src into dst +@@ -165,7 +165,7 @@ + *dst = '\0'; + return (dst - start); + } +-DEF_WEAK(strvis); ++//DEF_WEAK(strvis); + + int + strnvis(char *dst, const char *src, size_t siz, int flag) diff --git a/patches/libbsd-0.8.7.local.patch b/patches/libbsd-0.8.7.local.patch new file mode 100644 index 0000000..a36f018 --- /dev/null +++ b/patches/libbsd-0.8.7.local.patch @@ -0,0 +1,509 @@ +diff -Nru libbsd-0.8.7.orig/include/bsd/err.h libbsd-0.8.7/include/bsd/err.h +--- libbsd-0.8.7.orig/include/bsd/err.h 2017-06-06 04:21:05.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/err.h 2018-04-14 13:38:44.795802502 +0200 +@@ -42,7 +42,10 @@ + + #include + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + void warnc(int code, const char *format, ...) + __printflike(2, 3); + void vwarnc(int code, const char *format, va_list ap) +@@ -51,6 +54,9 @@ + __printflike(3, 4); + void verrc(int status, int code, const char *format, va_list ap) + __printflike(3, 0); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif +diff -Nru libbsd-0.8.7.orig/include/bsd/libutil.h libbsd-0.8.7/include/bsd/libutil.h +--- libbsd-0.8.7.orig/include/bsd/libutil.h 2017-06-19 03:17:21.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/libutil.h 2018-04-14 13:38:44.795802502 +0200 +@@ -53,7 +53,10 @@ + ino_t pf_ino; + }; + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + int humanize_number(char *buf, size_t len, int64_t bytes, + const char *suffix, int scale, int flags); + int expand_number(const char *_buf, uint64_t *_num); +@@ -66,7 +69,10 @@ + int pidfile_remove(struct pidfh *pfh); + + char *fparseln(FILE *, size_t *, size_t *, const char[3], int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + /* humanize_number(3) */ + #define HN_DECIMAL 0x01 +diff -Nru libbsd-0.8.7.orig/include/bsd/md5.h libbsd-0.8.7/include/bsd/md5.h +--- libbsd-0.8.7.orig/include/bsd/md5.h 2017-06-19 03:17:21.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/md5.h 2018-04-14 13:38:44.795802502 +0200 +@@ -30,7 +30,10 @@ + #include + #include + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + void MD5Init(MD5_CTX *); + void MD5Update(MD5_CTX *, const uint8_t *, size_t) + __attribute__((__bounded__(__string__,2,3))); +@@ -49,6 +52,9 @@ + char *MD5Data(const uint8_t *, size_t, char *) + __attribute__((__bounded__(__string__,1,2))) + __attribute__((__bounded__(__minbytes__,3,MD5_DIGEST_STRING_LENGTH))); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif /* LIBBSD_MD5_H */ +diff -Nru libbsd-0.8.7.orig/include/bsd/nlist.h libbsd-0.8.7/include/bsd/nlist.h +--- libbsd-0.8.7.orig/include/bsd/nlist.h 2017-06-19 03:17:21.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/nlist.h 2018-04-14 13:38:44.795802502 +0200 +@@ -88,8 +88,14 @@ + + #define N_FORMAT "%08x" /* namelist value format; XXX */ + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + extern int nlist(const char *filename, struct nlist *list); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif +diff -Nru libbsd-0.8.7.orig/include/bsd/readpassphrase.h libbsd-0.8.7/include/bsd/readpassphrase.h +--- libbsd-0.8.7.orig/include/bsd/readpassphrase.h 2017-06-19 03:17:21.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/readpassphrase.h 2018-04-14 13:38:44.795802502 +0200 +@@ -34,8 +34,14 @@ + #include + #include + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + char * readpassphrase(const char *, char *, size_t, int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif /* !LIBBSD_READPASSPHRASE_H */ +diff -Nru libbsd-0.8.7.orig/include/bsd/stdio.h libbsd-0.8.7/include/bsd/stdio.h +--- libbsd-0.8.7.orig/include/bsd/stdio.h 2017-06-06 04:21:05.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/stdio.h 2018-04-14 13:38:44.795802502 +0200 +@@ -45,7 +45,10 @@ + #endif + #include + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + const char *fmtcheck(const char *, const char *); + + /* XXX: The function requires cooperation from the system libc to store the +@@ -73,7 +76,10 @@ + #define fwopen(cookie, fn) funopen(cookie, NULL, fn, NULL, NULL) + + int fpurge(FILE *fp); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif + #endif +diff -Nru libbsd-0.8.7.orig/include/bsd/stdlib.h libbsd-0.8.7/include/bsd/stdlib.h +--- libbsd-0.8.7.orig/include/bsd/stdlib.h 2017-08-05 13:20:00.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/stdlib.h 2018-04-14 13:58:02.519913671 +0200 +@@ -46,7 +46,10 @@ + #include + #include + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + uint32_t arc4random(void); + void arc4random_stir(void); + void arc4random_addrandom(unsigned char *dat, int datlen); +@@ -67,7 +70,7 @@ + const unsigned char *table, unsigned endbyte); + + void *reallocf(void *ptr, size_t size); +-#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 26) ++#if defined(_GNU_SOURCE) + void *reallocarray(void *ptr, size_t nmemb, size_t size); + #endif + +@@ -75,6 +78,9 @@ + const char **errstr); + + char *getbsize(int *headerlenp, long *blocksizep); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif +diff -Nru libbsd-0.8.7.orig/include/bsd/string.h libbsd-0.8.7/include/bsd/string.h +--- libbsd-0.8.7.orig/include/bsd/string.h 2017-08-05 13:20:54.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/string.h 2018-04-14 13:57:51.871985815 +0200 +@@ -36,15 +36,21 @@ + #include + #include + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + size_t strlcpy(char *dst, const char *src, size_t siz); + size_t strlcat(char *dst, const char *src, size_t siz); + char *strnstr(const char *str, const char *find, size_t str_len); + void strmode(mode_t mode, char *str); + +-#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 25) ++#if defined(_GNU_SOURCE) + void explicit_bzero(void *buf, size_t len); + #endif +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif +diff -Nru libbsd-0.8.7.orig/include/bsd/stringlist.h libbsd-0.8.7/include/bsd/stringlist.h +--- libbsd-0.8.7.orig/include/bsd/stringlist.h 2017-06-19 03:17:21.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/stringlist.h 2018-04-14 13:38:44.795802502 +0200 +@@ -43,12 +43,18 @@ + size_t sl_cur; + } StringList; + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + StringList *sl_init(void); + int sl_add(StringList *, char *); + void sl_free(StringList *, int); + char *sl_find(StringList *, const char *); + int sl_delete(StringList *, const char *, int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif /* LIBBSD_STRINGLIST_H */ +diff -Nru libbsd-0.8.7.orig/include/bsd/unistd.h libbsd-0.8.7/include/bsd/unistd.h +--- libbsd-0.8.7.orig/include/bsd/unistd.h 2017-06-06 04:22:22.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/unistd.h 2018-04-14 13:38:44.795802502 +0200 +@@ -45,7 +45,10 @@ + #define S_ISTXT S_ISVTX + #endif + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + extern int optreset; + + #ifdef LIBBSD_OVERLAY +@@ -68,6 +71,9 @@ + __printflike(1, 2); + + int getpeereid(int s, uid_t *euid, gid_t *egid); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif +diff -Nru libbsd-0.8.7.orig/include/bsd/vis.h libbsd-0.8.7/include/bsd/vis.h +--- libbsd-0.8.7.orig/include/bsd/vis.h 2017-06-19 03:17:21.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/vis.h 2018-04-14 13:38:44.799802474 +0200 +@@ -74,7 +74,10 @@ + + #include + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + char *vis(char *, int, int, int); + int strvis(char *, const char *, int); + int strvisx(char *, const char *, size_t, int); +@@ -83,6 +86,9 @@ + int strunvisx(char *, const char *, int); + ssize_t strnunvis(char *, const char *, size_t); + int unvis(char *, int, int *, int); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif /* !LIBBSD_VIS_H */ +diff -Nru libbsd-0.8.7.orig/include/bsd/wchar.h libbsd-0.8.7/include/bsd/wchar.h +--- libbsd-0.8.7.orig/include/bsd/wchar.h 2017-06-06 04:06:45.000000000 +0200 ++++ libbsd-0.8.7/include/bsd/wchar.h 2018-04-14 13:38:44.799802474 +0200 +@@ -43,12 +43,18 @@ + #include + #include + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + wchar_t *fgetwln(FILE *stream, size_t *len); + + size_t wcslcat(wchar_t *dst, const wchar_t *src, size_t size); + size_t wcslcpy(wchar_t *dst, const wchar_t *src, size_t size); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif + #endif +diff -Nru libbsd-0.8.7.orig/src/funopen.c libbsd-0.8.7/src/funopen.c +--- libbsd-0.8.7.orig/src/funopen.c 2017-06-06 04:21:05.000000000 +0200 ++++ libbsd-0.8.7/src/funopen.c 2018-04-14 14:00:26.386939154 +0200 +@@ -137,7 +137,7 @@ + + return fopencookie(cookiewrap, mode, funcswrap); + } +-#elif defined(__MUSL__) ++#elif defined(__MUSL__) || defined(__midipix__) /* remove this when we've updated to 1.16 */ + /* + * This is unimplementable on musl based systems, and upstream has stated + * they will not add the needed support to implement it. Just ignore this +diff -Nru libbsd-0.8.7.orig/src/getentropy.c libbsd-0.8.7/src/getentropy.c +--- libbsd-0.8.7.orig/src/getentropy.c 2017-06-06 04:21:24.000000000 +0200 ++++ libbsd-0.8.7/src/getentropy.c 2018-04-14 14:17:41.264344594 +0200 +@@ -40,6 +40,8 @@ + #include "getentropy_aix.c" + #elif defined(__hpux) + #include "getentropy_hpux.c" ++#elif defined(__midipix__) ++#include "getentropy_midipix.c" + #else + #error "No getentropy hooks defined for this platform." + #endif +diff -Nru libbsd-0.8.7.orig/src/getentropy_midipix.c libbsd-0.8.7/src/getentropy_midipix.c +--- libbsd-0.8.7.orig/src/getentropy_midipix.c 1970-01-01 01:00:00.000000000 +0100 ++++ libbsd-0.8.7/src/getentropy_midipix.c 2018-04-14 14:19:03.568979997 +0200 +@@ -0,0 +1,118 @@ ++/* Temporary copy-paste from getentropy_linux.c until we get a native getentropy() implementation */ ++ ++ ++#define _POSIX_C_SOURCE 199309L ++#define _GNU_SOURCE 1 ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++int getentropy(void *buf, size_t len); ++ ++static int gotdata(char *buf, size_t len); ++static int getentropy_urandom(void *buf, size_t len); ++ ++int ++getentropy(void *buf, size_t len) ++{ ++ int ret = -1; ++ ++ if (len > 256) { ++ errno = EIO; ++ return (-1); ++ } ++ ++ ret = getentropy_urandom(buf, len); ++ if (ret != -1) ++ return (ret); ++ ++ /* Oh well! */ ++ raise(SIGKILL); ++ return -1; ++} ++ ++static int ++gotdata(char *buf, size_t len) ++{ ++ char any_set = 0; ++ size_t i; ++ ++ for (i = 0; i < len; ++i) ++ any_set |= buf[i]; ++ if (any_set == 0) ++ return (-1); ++ return (0); ++} ++ ++static int ++getentropy_urandom(void *buf, size_t len) ++{ ++ struct stat st; ++ size_t i; ++ int fd, cnt, flags; ++ int save_errno = errno; ++ ++start: ++ ++ flags = O_RDONLY; ++#ifdef O_NOFOLLOW ++ flags |= O_NOFOLLOW; ++#endif ++#ifdef O_CLOEXEC ++ flags |= O_CLOEXEC; ++#endif ++ fd = open("/dev/urandom", flags, 0); ++ if (fd == -1) { ++ if (errno == EINTR) ++ goto start; ++ goto nodevrandom; ++ } ++#ifndef O_CLOEXEC ++ fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); ++#endif ++ ++ /* Lightly verify that the device node looks sane */ ++ if (fstat(fd, &st) == -1 || !S_ISCHR(st.st_mode)) { ++ close(fd); ++ goto nodevrandom; ++ } ++ for (i = 0; i < len; ) { ++ size_t wanted = len - i; ++ ssize_t ret = read(fd, (char *)buf + i, wanted); ++ ++ if (ret == -1) { ++ if (errno == EAGAIN || errno == EINTR) ++ continue; ++ close(fd); ++ goto nodevrandom; ++ } ++ i += ret; ++ } ++ close(fd); ++ if (gotdata(buf, len) == 0) { ++ errno = save_errno; ++ return (0); /* satisfied */ ++ } ++nodevrandom: ++ errno = EIO; ++ return (-1); ++} +diff -Nru libbsd-0.8.7.orig/src/getpeereid.c libbsd-0.8.7/src/getpeereid.c +--- libbsd-0.8.7.orig/src/getpeereid.c 2017-06-06 04:06:45.000000000 +0200 ++++ libbsd-0.8.7/src/getpeereid.c 2018-04-14 14:01:46.514396572 +0200 +@@ -40,7 +40,7 @@ + getpeereid(int s, uid_t *euid, gid_t *egid) + { + /* XXX: This should be autodetected at build time instead. */ +-#if defined(__linux__) ++#if defined(__linux__) || defined(__midipix__) + struct ucred cred; + #elif defined(__OpenBSD__) + struct sockpeercred cred; +diff -Nru libbsd-0.8.7.orig/src/hash/sha512.h libbsd-0.8.7/src/hash/sha512.h +--- libbsd-0.8.7.orig/src/hash/sha512.h 2017-06-06 04:21:05.000000000 +0200 ++++ libbsd-0.8.7/src/hash/sha512.h 2018-04-14 13:38:44.799802474 +0200 +@@ -39,7 +39,10 @@ + unsigned char buf[128]; + } SHA512_CTX; + +-__BEGIN_DECLS ++/* __BEGIN_DECLS */ ++#ifdef __cplusplus ++extern "C" { ++#endif + + void SHA512_Init(SHA512_CTX *); + void SHA512_Update(SHA512_CTX *, const void *, size_t); +@@ -48,6 +51,9 @@ + char *SHA512_File(const char *, char *); + char *SHA512_FileChunk(const char *, char *, off_t, off_t); + char *SHA512_Data(const void *, unsigned int, char *); +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif ++/* __END_DECLS */ + + #endif /* !_SHA512_H_ */ +diff -Nru libbsd-0.8.7.orig/src/setproctitle.c libbsd-0.8.7/src/setproctitle.c +--- libbsd-0.8.7.orig/src/setproctitle.c 2017-07-17 00:47:19.000000000 +0200 ++++ libbsd-0.8.7/src/setproctitle.c 2018-04-14 14:05:35.448846935 +0200 +@@ -280,6 +280,7 @@ + *++nul = '\0'; + } + } ++#ifndef __midipix__ + __asm__(".symver setproctitle_impl,setproctitle@@LIBBSD_0.5"); + + /* The original function introduced in 0.2 was a stub, it only got implemented +@@ -293,3 +294,4 @@ + __attribute__((alias("setproctitle_impl"))); + #endif + __asm__(".symver setproctitle_stub,setproctitle@LIBBSD_0.2"); ++#endif diff --git a/vars/build.vars b/vars/build.vars index a0f2865..96ec5f9 100644 --- a/vars/build.vars +++ b/vars/build.vars @@ -345,7 +345,7 @@ NATIVE_PACKAGES_DEPS_MAKEFLAGS_INSTALL="PREFIX= prefix="; NATIVE_PACKAGES_DEPS_PACKAGES=" expat libxml2 alsa_lib apr apr_util bzip2 libdmtx libressl curl libz lmdb libpng libjpeg_turbo tiff giflib libffi gdbm geoip pcre glib gzip libarchive -libatomic_ops libpipeline libevent libfetch libogg libvorbis libgpg_error libassuan libfirm +libatomic_ops musl_compat libbsd libpipeline libevent libfetch libogg libvorbis libgpg_error libassuan libfirm libgcrypt libksba libudns lua ncurses ncursestw ncursesw libnettle gnutls libreadline npth popt shared_mime_info sqlite3 w32api w32lib xz cmake qrencode util_linux"; NATIVE_PACKAGES_DEPS_PREFIX="${PREFIX_NATIVE}"; @@ -439,6 +439,11 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python"; : ${PKG_LIBARCHIVE_CONFIGURE_ARGS_EXTRA:=--without-xml2}; : ${PKG_LIBARCHIVE_LDFLAGS_CONFIGURE_EXTRA:=-L${PREFIX_NATIVE}/lib}; : ${PKG_LIBATOMIC_OPS_URLS_GIT:="libatomic_ops=https://github.com/ivmai/libatomic_ops@master"}; +: ${PKG_MUSL_COMPAT_URLS_GIT:=musl_compat=https://github.com/somasis/musl-compat.git@master}; +: ${PKG_MUSL_COMPAT_BUILD_DIR:=musl_compat}; +: ${PKG_LIBBSD_SHA256SUM:=f548f10e5af5a08b1e22889ce84315b1ebe41505b015c9596bad03fd13a12b31}; +: ${PKG_LIBBSD_VERSION:=0.8.7}; +: ${PKG_LIBBSD_URL:=https://libbsd.freedesktop.org/releases/libbsd-${PKG_LIBBSD_VERSION}.tar.xz}; : ${PKG_LIBPIPELINE_SHA256SUM:=da46d7b20163aadb9db2faae483f734e9096a7550c84b94029abeab62dd1b9ee}; : ${PKG_LIBPIPELINE_VERSION:=1.4.1}; : ${PKG_LIBPIPELINE_URL:=http://download.savannah.gnu.org/releases/libpipeline/libpipeline-${PKG_LIBPIPELINE_VERSION}.tar.gz}; @@ -742,7 +747,7 @@ DEV_PACKAGES_PYTHON="${PREFIX}/bin/python"; # Packages list native_packages_cmdline NATIVE_PACKAGES_CMDLINE_PACKAGES=" bash bc coreutils dash datamash dos2unix ed figlet file findutils gawk grep -mksh sbase sed tar tcsh the_silver_searcher toilet ubase which zsh"; +mksh ksh_openbsd sbase sed tar tcsh the_silver_searcher toilet ubase which zsh"; : ${PKG_BASH_SHA256SUM:=d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb}; : ${PKG_BASH_VERSION:=4.4}; : ${PKG_BASH_URL:=https://ftp.gnu.org/gnu/bash/bash-${PKG_BASH_VERSION}.tar.gz}; @@ -797,6 +802,13 @@ mksh sbase sed tar tcsh the_silver_searcher toilet ubase which zsh"; : ${PKG_MKSH_IN_TREE:=1}; : ${PKG_MKSH_INSTALL_FILES:="../mksh/mksh=bin/ /=share/doc/mksh/examples ../mksh/dot.mkshrc=share/doc/mksh/examples/ ../mksh/mksh.1=share/man/man1/"}; : ${PKG_MKSH_SUBDIR:=mksh}; +: ${PKG_KSH_OPENBSD_VERSION:=20180115}; +: ${PKG_KSH_OPENBSD_URL:=https://github.com/levaidaniel/ksh-openbsd/archive/${PKG_KSH_OPENBSD_VERSION}.tar.gz}; +: ${PKG_KSH_OPENBSD_CFLAGS_BUILD_EXTRA:="-D_GNU_SOURCE -DVI -I${PREFIX_NATIVE}/include"}; +: ${PKG_KSH_OPENBSD_MAKEFLAGS_INSTALL_EXTRA:="DESTDIR=${PREFIX_NATIVE} PREFIX="}; +: ${PKG_KSH_OPENBSD_ENV_VARS_EXTRA:="LDADD=-L${PREFIX_NATIVE}/lib"}; +: ${PKG_KSH_OPENBSD_SUBDIR:=ksh-openbsd-${PKG_KSH_OPENBSD_VERSION}}; +: ${PKG_KSH_OPENBSD_BUILD_DIR:=ksh-openbsd-${PKG_KSH_OPENBSD_VERSION}}; : ${PKG_SBASE_URLS_GIT:="sbase=http://git.suckless.org/sbase@master"}; : ${PKG_SBASE_IN_TREE:=1}; : ${PKG_SBASE_MAKE_INSTALL_VNAME:=PREFIX};