LibC: Remove our iconv.h header and add libiconv port
If I ever end up writing my own iconv, i will drop the port :D
This commit is contained in:
parent
fde4d4662e
commit
59fff26a5f
|
@ -0,0 +1,20 @@
|
|||
#!/bin/bash ../install.sh
|
||||
|
||||
NAME='libiconv'
|
||||
VERSION='1.18'
|
||||
DOWNLOAD_URL="https://ftp.gnu.org/pub/gnu/libiconv/libiconv-$VERSION.tar.gz#3b08f5f4f9b4eb82f151a7040bfd6fe6c6fb922efe4b1659c66ea933276965e8"
|
||||
CONFIG_SUB=('build-aux/config.sub' 'libcharset/build-aux/config.sub')
|
||||
CONFIGURE_OPTIONS=(
|
||||
'--disable-nls'
|
||||
'CFLAGS=-std=c11'
|
||||
)
|
||||
|
||||
pre_configure() {
|
||||
echo '#include_next <sys/types.h>' > srclib/sys_types.in.h
|
||||
}
|
||||
|
||||
post_install() {
|
||||
# remove libtool file
|
||||
rm -f $BANAN_SYSROOT/usr/lib/libcharset.la
|
||||
rm -f $BANAN_SYSROOT/usr/lib/libiconv.la
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
diff -ruN libiconv-1.18/configure libiconv-1.18-banan_os/configure
|
||||
--- libiconv-1.18/configure 2024-12-15 13:57:14.000000000 +0200
|
||||
+++ libiconv-1.18-banan_os/configure 2025-08-07 23:49:03.383717069 +0300
|
||||
@@ -8779,6 +8779,10 @@
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
+banan_os*)
|
||||
+ lt_cv_deplibs_check_method=pass_all
|
||||
+ ;;
|
||||
+
|
||||
beos*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
@@ -14510,6 +14514,16 @@
|
||||
esac
|
||||
;;
|
||||
|
||||
+banan_os*)
|
||||
+ version_type=linux # correct to gnu/linux during the next big refactor
|
||||
+ need_lib_prefix=no
|
||||
+ need_version=no
|
||||
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
|
||||
+ soname_spec='$libname$release$shared_ext$major'
|
||||
+ dynamic_linker="$host_os DynamicLoader.so"
|
||||
+ shlibpath_var=LD_LIBRARY_PATH
|
||||
+ ;;
|
||||
+
|
||||
beos*)
|
||||
library_names_spec='$libname$shared_ext'
|
||||
dynamic_linker="$host_os ld.so"
|
|
@ -0,0 +1,21 @@
|
|||
diff -ruN libiconv-1.18/srclib/getprogname.c libiconv-1.18-banan_os/srclib/getprogname.c
|
||||
--- libiconv-1.18/srclib/getprogname.c 2024-07-12 14:55:16.000000000 +0300
|
||||
+++ libiconv-1.18-banan_os/srclib/getprogname.c 2025-08-07 23:42:50.691745454 +0300
|
||||
@@ -50,7 +50,7 @@
|
||||
# include <sys/procfs.h>
|
||||
#endif
|
||||
|
||||
-#if defined __SCO_VERSION__ || defined __sysv5__
|
||||
+#if defined __SCO_VERSION__ || defined __sysv5__ || defined __banan_os__
|
||||
# include <fcntl.h>
|
||||
# include <string.h>
|
||||
#endif
|
||||
@@ -265,7 +265,7 @@
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
-# elif defined __SCO_VERSION__ || defined __sysv5__ /* SCO OpenServer6/UnixWare */
|
||||
+# elif defined __SCO_VERSION__ || defined __sysv5__ || defined __banan_os__ /* SCO OpenServer6/UnixWare */
|
||||
char buf[80];
|
||||
int fd;
|
||||
sprintf (buf, "/proc/%d/cmdline", getpid());
|
|
@ -1,21 +0,0 @@
|
|||
#ifndef _ICONV_H
|
||||
#define _ICONV_H 1
|
||||
|
||||
// https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/iconv.h.html
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define __need_size_t
|
||||
#include <sys/types.h>
|
||||
|
||||
typedef void* iconv_t;
|
||||
|
||||
size_t iconv(iconv_t cd, char** __restrict inbuf, size_t* __restrict inbytesleft, char** __restrict outbuf, size_t* __restrict outbytesleft);
|
||||
int iconv_close(iconv_t cd);
|
||||
iconv_t iconv_open(const char* tocode, const char* fromcode);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue