Browse Source

new package firefox, obsolete python2

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Waldemar Brodkorb 1 year ago
parent
commit
f31b77d5b5
34 changed files with 885 additions and 693 deletions
  1. 1 1
      adk/tools/depmaker.c
  2. 3 3
      package/automake/Makefile
  3. 0 11
      package/automake/patches/patch-Makefile_in
  4. 7 2
      package/bzip2/Makefile
  5. 54 0
      package/firefox/Makefile
  6. 1 1
      package/glib/Makefile
  7. 1 2
      package/harfbuzz/Makefile
  8. 0 20
      package/libtool/patches/patch-m4_libtool_m4
  9. 5 5
      package/libxcb/Makefile
  10. 7 27
      package/libxml2/Makefile
  11. 0 14
      package/libxml2/patches/patch-Makefile_am
  12. 0 96
      package/libxml2/patches/patch-configure_ac
  13. 0 12
      package/libxml2/patches/patch-python_Makefile_am
  14. 6 6
      package/libxslt/Makefile
  15. 12 0
      package/libxslt/patches/patch-configure_ac
  16. 494 0
      package/libxslt/patches/patch-ltmain_sh
  17. 208 0
      package/libxslt/patches/patch-m4_libtool_m4
  18. 2 2
      package/mesa/Makefile
  19. 6 5
      package/ncurses/Makefile
  20. 9 9
      package/nodejs/Makefile
  21. 0 11
      package/nodejs/patches/patch-deps_v8_src_base_debug_stack_trace_posix_cc
  22. 0 11
      package/nodejs/patches/patch-deps_v8_src_log-utils_h
  23. 0 150
      package/python2/Makefile
  24. 0 10
      package/python2/files/patch-Lib_distutils_sysconfig_py
  25. 0 21
      package/python2/files/python-config.patch
  26. 0 79
      package/python2/patches/0001-2.7-bpo-33127-Compatibility-patch-for-LibreSSL-2.7.0.patch
  27. 0 40
      package/python2/patches/patch-Makefile_pre_in
  28. 0 22
      package/python2/patches/patch-configure_ac
  29. 0 115
      package/python2/patches/patch-setup_py
  30. 4 6
      package/python3/Makefile
  31. 3 0
      package/sqlite/Makefile
  32. 8 12
      package/xcb-proto/Makefile
  33. 13 0
      package/xcb-proto/patches/patch-xcb-proto_pc_in
  34. 41 0
      scripts/prereq.sh

+ 1 - 1
adk/tools/depmaker.c

@@ -133,7 +133,6 @@ static char *parse_line(char *package, char *pkgvar, char *string, int checksym,
 			}
 			strncat(depvar, dep, strlen(dep)-5);
 			if ((strncmp(depvar, "bc", 2) == 0) ||
-				(strncmp(depvar, "bzip2", 5) == 0) ||
 				(strncmp(depvar, "file", 4) == 0) ||
 				(strncmp(depvar, "gawk", 4) == 0) ||
 				(strncmp(depvar, "grep", 4) == 0) ||
@@ -339,6 +338,7 @@ int main() {
 						}
 					}
 				} else if (strncmp(buf, "HOST_BUILDDEP", 13) == 0) {
+					//printf("DEBUG: HOST_BUILDDEP found for %s\n", pkgdirp->d_name);
 					asprintf(&string, "%s-host", pkgdirp->d_name);
 					// check retval; string for NULL
 					tmp = parse_line(string, NULL, buf, 2, 0, 0, &hprefix);

+ 3 - 3
package/automake/Makefile

@@ -4,10 +4,10 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		automake
-PKG_VERSION:=		1.15.1
-PKG_EXTRAVER:=		1.15
+PKG_VERSION:=		1.16.3
+PKG_EXTRAVER:=		1.16
 PKG_RELEASE:=		1
-PKG_HASH:=		af6ba39142220687c500f79b4aa2f181d9b24e4f8d8ec497cea4ba26c64bedaf
+PKG_HASH:=		ff2bf7656c4d1c6fdda3b8bebb21f09153a736bcba169aaf65eab25fa113bf3a
 PKG_DESCR:=		tool for automatically generating makefiles
 PKG_SECTION:=		dev/tools
 PKG_BUILDDEP:=		m4-host autoconf-host autoconf

+ 0 - 11
package/automake/patches/patch-Makefile_in

@@ -1,11 +0,0 @@
---- automake-1.15.1.orig/Makefile.in	2017-06-18 19:35:04.000000000 +0200
-+++ automake-1.15.1/Makefile.in	2020-10-31 08:38:23.322590385 +0100
-@@ -710,7 +710,7 @@ update_mans = \
-   $(AM_V_GEN): \
-     && $(MKDIR_P) doc \
-     && $(extend_PATH) \
--    && $(PERL) $(srcdir)/doc/help2man --output=$@
-+    && $(PERL) $(srcdir)/doc/help2man --no-discard-stderr --output=$@
- 
- amhello_sources = \
-   doc/amhello/configure.ac \

+ 7 - 2
package/bzip2/Makefile

@@ -31,7 +31,7 @@ $(eval $(call PKG_template,BZIP2,bzip2,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPEN
 $(eval $(call PKG_template,LIBBZ2,libbz2,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_LIBBZ2},${PKGSC_LIBBZ2},${PKG_OPTS}))
 
 HOST_STYLE:=		manual
-HOST_MAKE_FILE:=	Makefile
+HOST_MAKE_FILE:=	Makefile-libbz2_so
 
 ifneq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
 MAKE_FILE:=		Makefile-libbz2_so
@@ -50,8 +50,13 @@ host-build:
 		PREFIX=${HOST_WRKINST}/usr ${HOST_ALL_TARGET})
 
 bzip2-hostinstall:
+	${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/include
+	$(CP) ${WRKBUILD}/bzlib.h ${STAGING_HOST_DIR}/usr/include
+	${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/lib
+	$(CP) ${WRKBUILD}/libbz2.so* ${STAGING_HOST_DIR}/usr/lib
+	(cd ${STAGING_HOST_DIR}/usr/lib; ln -sf libbz2.so.1.0.8 libbz2.so)
 	${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin
-	$(INSTALL_BIN) ${WRKBUILD}/bzip2 ${STAGING_HOST_DIR}/usr/bin/bzip2
+	$(INSTALL_BIN) ${WRKBUILD}/bzip2-shared ${STAGING_HOST_DIR}/usr/bin/bzip2
 
 do-install:
 	${INSTALL_DIR} $(STAGING_TARGET_DIR)/usr/include

+ 54 - 0
package/firefox/Makefile

@@ -0,0 +1,54 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:=		firefox
+PKG_VERSION:=		108.0.1
+PKG_RELEASE:=		1
+PKG_HASH:=		9821ac130dad01383e03276bf6cc92d41329d351da1fa7fa238168f8890611ea
+PKG_DESCR:=		www browser
+PKG_SECTION:=		app/browser
+PKG_DEPENDS:=		pango libfreetype fontconfig libxcomposite libxcursor
+PKG_DEPENDS+=		libgtk3 dbus-glib alsa-lib libatk harfbuzz
+PKG_BUILDDEP:=		python3-host nodejs-host pango freetype fontconfig libXcomposite
+PKG_BUILDDEP+=		libXcursor libgtk3 dbus-glib alsa-lib atk harfbuzz
+PKG_SITES:=		https://ftp.mozilla.org/pub/firefox/releases/$(PKG_VERSION)/source/
+
+PKG_ARCH_DEPENDS:=	aarch64
+
+DISTFILES:=             $(PKG_NAME)-$(PKG_VERSION).source.tar.xz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,FIREFOX,firefox,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+WRKBUILD=		$(WRKDIR)/$(PKG_NAME)-obj
+
+ifeq ($(ADK_TARGET_ARCH),aarch64)
+TARGET_NAME:=		aarch64-linux-gnu
+endif
+
+CONFIG_STYLE:=		minimal
+CONFIGURE_ENV+=		CROSS_COMPILE=1 \
+			BINDGEN_CFLAGS="--sysroot /usr/$(TARGET_NAME)" \
+			AS="$(GNU_TARGET_NAME)-gcc"
+CONFIGURE_ARGS+=	--prefix=/usr \
+			--target=$(TARGET_NAME) \
+			--with-toolchain-prefix=$(GNU_TARGET_NAME)- \
+			--enable-application=browser \
+			--enable-official-branding \
+			--disable-audio-backends \
+			--without-wasm-sandboxed-libraries \
+			--disable-profiling \
+			--with-clang-path=/usr/bin/clang-13
+
+firefox-install:
+	$(INSTALL_DIR) $(IDIR_FIREFOX)/usr/bin
+	$(INSTALL_DIR) $(IDIR_FIREFOX)/usr/lib/firefox
+	$(CP) $(WRKINST)/usr/bin/firefox \
+		$(IDIR_FIREFOX)/usr/bin
+	$(CP) $(WRKINST)/usr/lib/firefox/* \
+		$(IDIR_FIREFOX)/usr/lib/firefox
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk

+ 1 - 1
package/glib/Makefile

@@ -12,7 +12,7 @@ PKG_DESCR:=		low-level core library that forms the basis of gtk+
 PKG_SECTION:=		libs/misc
 PKG_DEPENDS:=		libpcre zlib libffi
 PKG_BUILDDEP:=		glib-host util-linux libffi zlib dbus pcre
-HOST_BUILDDEP:=		pkgconf-host libiconv-host libffi-host python2-host gettext-host util-linux-host
+HOST_BUILDDEP:=		pkgconf-host libiconv-host libffi-host python3-host gettext-host util-linux-host
 HOST_BUILDDEP+=		pcre-host meson-host
 PKG_NEEDS:=		threads intl iconv
 PKG_URL:=		http://www.gtk.org/

+ 1 - 2
package/harfbuzz/Makefile

@@ -31,8 +31,7 @@ CONFIG_STYLE:=		meson
 BUILD_STYLE:=		meson
 INSTALL_STYLE:=		meson
 
-MESON_FLAGS+=		-Dfreetype=disabled \
-			-Dtests=disabled
+MESON_FLAGS+=		-Dtests=disabled
 
 host-postinstall:
 	$(CP) $(WRKBUILD)/meson-private/harfbuzz.pc \

+ 0 - 20
package/libtool/patches/patch-m4_libtool_m4

@@ -1,20 +0,0 @@
---- libtool-2.4.6.orig/m4/libtool.m4	2015-01-20 17:15:19.000000000 +0100
-+++ libtool-2.4.6/m4/libtool.m4	2015-06-04 11:48:09.000000000 +0200
-@@ -4950,7 +4950,7 @@ m4_if([$1], [CXX], [
-   _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-   _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-   _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
--  _LT_TAGVAR(hardcode_automatic, $1)=no
-+  _LT_TAGVAR(hardcode_automatic, $1)=yes
-   _LT_TAGVAR(hardcode_direct, $1)=no
-   _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-@@ -6308,7 +6308,7 @@ _LT_TAGVAR(hardcode_libdir_flag_spec, $1
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_TAGVAR(hardcode_minus_L, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
--_LT_TAGVAR(hardcode_automatic, $1)=no
-+_LT_TAGVAR(hardcode_automatic, $1)=yes
- _LT_TAGVAR(inherit_rpath, $1)=no
- _LT_TAGVAR(module_cmds, $1)=
- _LT_TAGVAR(module_expsym_cmds, $1)=

+ 5 - 5
package/libxcb/Makefile

@@ -4,12 +4,12 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		libxcb
-PKG_VERSION:=		1.12
+PKG_VERSION:=		1.14
 PKG_RELEASE:=		1
-PKG_HASH:=		092f147149d8a6410647a848378aaae749304d5b73e028ccb8306aa8a9e26f06
+PKG_HASH:=		2c7fcddd1da34d9b238c9caeda20d3bd7486456fc50b3cc6567185dbd5b0ad02
 PKG_DESCR:=		interface to the x window system protocol
 PKG_SECTION:=		x11/libs
-PKG_BUILDDEP+=		python2 libpthread-stubs libxslt libXau xcb-proto
+PKG_BUILDDEP:=		python3 libpthread-stubs libxslt libXau xcb-proto
 HOST_BUILDDEP:=		libXau-host libpthread-stubs-host xcb-proto-host
 PKG_SITES:=		http://xcb.freedesktop.org/dist/
 PKG_OPTS:=		dev
@@ -22,10 +22,10 @@ include $(ADK_TOPDIR)/mk/package.mk
 $(eval $(call HOST_template,LIBXCB,libxcb,${PKG_VERSION}-${PKG_RELEASE}))
 $(eval $(call PKG_template,LIBXCB,libxcb,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
-include $(ADK_TOPDIR)/mk/python.mk
+include $(ADK_TOPDIR)/mk/python3.mk
 
 HOST_STYLE:=		auto
-CONFIGURE_ENV+=		PYTHON=$(PYTHON)
+CONFIGURE_ENV+=		PYTHONPATH=$(PYTHON) PYTHON=python3
 
 libxcb-install:
 	${INSTALL_DIR} ${IDIR_LIBXCB}/usr/lib

+ 7 - 27
package/libxml2/Makefile

@@ -4,48 +4,33 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		libxml2
-PKG_VERSION:=		2.9.4
+PKG_VERSION:=		2.10.3
 PKG_RELEASE:=		1
-PKG_HASH:=		ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c
+PKG_HASH:=		5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c
 PKG_DESCR:=		xml parser and toolkit
 PKG_SECTION:=		libs/data
 PKG_DEPENDS:=		zlib
-PKG_BUILDDEP:=		libxml2-host python2 zlib
-HOST_BUILDDEP:=		python2-host
+PKG_BUILDDEP:=		libxml2-host python3 zlib
+HOST_BUILDDEP:=		python3-host
 PKG_URL:=		http://www.xmlsoft.org/
-PKG_SITES:=		http://xmlsoft.org/sources/
+PKG_SITES:=		https://download.gnome.org/sources/libxml2/2.10/
 PKG_OPTS:=		dev
 
-DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.gz
-
-PKG_SUBPKGS:=		LIBXML2 LIBXML2_PYTHON
-PKGSD_LIBXML2_PYTHON:=	xml python bindings
-PKGSC_LIBXML2_PYTHON:=	libs/misc
-PKGSB_LIBXML2_PYTHON:=	python2
-PKGSS_LIBXML2_PYTHON:=	python2
-
 include $(ADK_TOPDIR)/mk/host.mk
 include $(ADK_TOPDIR)/mk/package.mk
 
 $(eval $(call HOST_template,LIBXML2,libxml2,$(PKG_VERSION)-$(PKG_RELEASE)))
 $(eval $(call PKG_template,LIBXML2,libxml2,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
-$(eval $(call PKG_template,LIBXML2_PYTHON,libxml2-python,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKGSD_LIBXML2_PYTHON),$(PKGSC_LIBXML2_PYTHON)))
-
-include $(ADK_TOPDIR)/mk/python.mk
 
-TARGET_CPPFLAGS+=	-I$(STAGING_TARGET_DIR)/usr/include/python$(PYTHON_VERSION)
-HOST_CPPFLAGS+=		-I$(STAGING_HOST_DIR)/usr/include/python$(PYTHON_VERSION)
 HOST_STYLE:=		auto
-HOST_CONFIGURE_ARGS+=	--with-python \
+HOST_CONFIGURE_ARGS+=	--without-python \
 			--with-threads \
 			--without-iconv \
 			--without-lzma \
 			--without-zlib
 
-AUTOTOOL_STYLE:=	autoreconf
 CONFIGURE_ARGS+=	--without-c14n \
 			--without-debug \
-			--without-docbook \
 			--with-catalog \
 			--with-html \
 			--without-ftp \
@@ -69,17 +54,12 @@ CONFIGURE_ARGS+=	--without-c14n \
 			--with-xinclude \
 			--with-xpath \
 			--with-xptr \
-			--with-python \
+			--without-python \
 			--with-zlib='$(STAGING_TARGET_DIR)/usr'
 
 libxml2-install:
 	$(INSTALL_DIR) $(IDIR_LIBXML2)/usr/lib
 	$(CP) $(WRKINST)/usr/lib/libxml2.so* $(IDIR_LIBXML2)/usr/lib
 
-libxml2-python-install:
-	$(INSTALL_DIR) $(IDIR_LIBXML2_PYTHON)/usr/lib/python/site-packages
-	$(CP) $(WRKINST)/usr/lib/python/site-packages/*.{so,py} \
-		$(IDIR_LIBXML2_PYTHON)/usr/lib/python/site-packages
-	
 include $(ADK_TOPDIR)/mk/host-bottom.mk
 include $(ADK_TOPDIR)/mk/pkg-bottom.mk

+ 0 - 14
package/libxml2/patches/patch-Makefile_am

@@ -1,14 +0,0 @@
---- libxml2-2.9.2.orig/Makefile.am	2014-10-13 05:02:53.000000000 -0500
-+++ libxml2-2.9.2/Makefile.am	2015-02-11 12:51:49.858163855 -0600
-@@ -2,9 +2,9 @@
- 
- ACLOCAL_AMFLAGS = -I m4
- 
--SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR)
-+SUBDIRS = include . xstc $(PYTHON_SUBDIR)
- 
--DIST_SUBDIRS = include . doc example python xstc
-+DIST_SUBDIRS = include . python xstc
- 
- AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
- 

+ 0 - 96
package/libxml2/patches/patch-configure_ac

@@ -1,96 +0,0 @@
---- libxml2-2.9.2.orig/configure.ac	2014-10-15 23:06:15.000000000 -0500
-+++ libxml2-2.9.2/configure.ac	2015-02-11 12:53:35.494162888 -0600
-@@ -837,62 +837,13 @@ if test "$with_python" != "no" ; then
-                     echo Found python in environment PYTHON=$PYTHON
-                     with_python=`$PYTHON -c "import sys; print(sys.exec_prefix)"`
-                 else
--                    AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
--		fi
--	    fi
--	fi
--    fi
--    if test "$PYTHON" != ""
--    then
--        PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
--	PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"`
--# does not work as it produce a /usr/lib/python path instead of/usr/lib64/python
--#
--#	PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
--	echo Found Python version $PYTHON_VERSION
--    fi
--    if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = ""
--    then
--	if test -r $with_python/include/python$PYTHON_VERSION/Python.h
--	then
--	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
--	else
--	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
--	    then
--	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
--	    else
--		if test -r /usr/include/python$PYTHON_VERSION/Python.h
--		then
--		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
--		else
--	            if test -r $with_python/include/Python.h
--	            then
--	                PYTHON_INCLUDES=$with_python/include
--	            else
--		        echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
--		    fi
-+                    AC_PATH_PROG(PYTHON, python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
- 		fi
- 	    fi
- 	fi
-     fi
--    if test "$with_python_install_dir" != ""
--    then
--	PYTHON_SITE_PACKAGES="$with_python_install_dir"
--    fi
--    if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = ""
--    then
--	if test -d $libdir/python$PYTHON_VERSION/site-packages
--	then
--	    PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
--	else
--	    if test -d $with_python/lib/site-packages
--	    then
--		PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
--	    else
--		PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
--	    fi
--	fi
--    fi
-+    PYTHON_INCLUDES=`python$PYTHON_VERSION-config --includes`
-+    PYTHON_SITE_PACKAGES=${prefix}/lib/python$PYTHON_VERSION/site-packages
-     pythondir='$(PYTHON_SITE_PACKAGES)'
-     PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
- else
-@@ -1065,26 +1016,7 @@ else
- 	   THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
-        ;;
-        *linux*)
--           if test "${GCC}" = "yes" ; then
--	       GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
--	       GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'`
--	       GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[[0-9]]*\.++' | sed 's+\..*++'`
--	       if test "${THREAD_LIBS}" = "-lpthread" ; then
--	           if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null
--		   then
--		       THREAD_LIBS=""
--		       BASE_THREAD_LIBS="-lpthread"
--		   else
--		   if expr ${GCC_MAJOR} \> 3 > /dev/null
--		   then
--		       THREAD_LIBS=""
--		       BASE_THREAD_LIBS="-lpthread"
--		   else
--		       echo old GCC disabling weak symbols for pthread
--		   fi
--		   fi
--	       fi
--	   fi
-+	   THREAD_LIBS="-lpthread"
-        ;;
-     esac
-     if test "$WITH_THREADS" = "1" ; then

+ 0 - 12
package/libxml2/patches/patch-python_Makefile_am

@@ -1,12 +0,0 @@
---- libxml2-2.9.2.orig/python/Makefile.am	2014-10-03 04:00:53.000000000 -0500
-+++ libxml2-2.9.2/python/Makefile.am	2015-02-11 12:53:07.150163147 -0600
-@@ -18,8 +18,7 @@ EXTRA_DIST = 			\
- if WITH_PYTHON
- AM_CPPFLAGS = \
- 	-I$(top_builddir)/include \
--	-I$(top_srcdir)/include	\
--	-I$(PYTHON_INCLUDES)
-+	-I$(top_srcdir)/include
- 
- python_LTLIBRARIES = libxml2mod.la
- 

+ 6 - 6
package/libxslt/Makefile

@@ -4,9 +4,9 @@
 include ${ADK_TOPDIR}/rules.mk
 
 PKG_NAME:=		libxslt
-PKG_VERSION:=		1.1.29
+PKG_VERSION:=		1.1.37
 PKG_RELEASE:=		1
-PKG_HASH:=		b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce
+PKG_HASH:=		3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4
 PKG_DESCR:=		xslt library
 PKG_SECTION:=		libs/data
 PKG_DEPENDS:=		libxml2
@@ -14,11 +14,9 @@ PKG_BUILDDEP:=		libxslt-host libxml2
 HOST_BUILDDEP:=		libxml2-host
 PKG_NEEDS:=		c++
 PKG_URL:=		http://xmlsoft.org/XSLT
-PKG_SITES:=		http://xmlsoft.org/sources/
+PKG_SITES:=		https://download.gnome.org/sources/libxslt/1.1/
 PKG_OPTS:=		dev
 
-DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.gz
-
 PKG_SUBPKGS:=		LIBXSLT XSLTPROC
 PKGSD_XSLTPROC:=	xslt processor utility
 PKGSC_XSLTPROC:=	sys/misc
@@ -30,12 +28,14 @@ $(eval $(call HOST_template,LIBXSLT,libxslt,${PKG_VERSION}-${PKG_RELEASE}))
 $(eval $(call PKG_template,LIBXSLT,libxslt,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 $(eval $(call PKG_template,XSLTPROC,xsltproc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_XSLTPROC},${PKGSC_XSLTPROC}))
 
+AUTOTOOL_STYLE:=	autoreconf
+HOST_LDFLAGS+=		-lxml2
 HOST_CONFIGURE_ARGS+=	--without-python \
 			--without-crypto \
 			--with-libxml-prefix="${STAGING_HOST_DIR}/usr" \
 			--with-libxml-include-prefix="${STAGING_HOST_DIR}/usr/include/libxml2" \
 			--with-libxml-libs-prefix="${STAGING_HOST_DIR}/usr/lib"
-AUTOTOOL_STYLE:=	autoreconf
+TARGET_LDFLAGS+=	-lxml2
 CONFIGURE_ARGS+=	--with-libxml-prefix="${STAGING_TARGET_DIR}/usr" \
 			--with-libxml-include-prefix="${STAGING_TARGET_DIR}/usr/include/libxml2" \
 			--with-libxml-libs-prefix="${STAGING_TARGET_DIR}/usr/lib" \

+ 12 - 0
package/libxslt/patches/patch-configure_ac

@@ -0,0 +1,12 @@
+--- libxslt-1.1.37.orig/configure.ac	2022-08-29 16:29:34.000000000 +0200
++++ libxslt-1.1.37/configure.ac	2023-01-04 18:08:40.032975406 +0100
+@@ -401,9 +401,6 @@ if test "x$LIBXML_CONFIG_PREFIX" = "x" &
+         PKG_CHECK_MODULES([LIBXML], [libxml-2.0 >= $LIBXML_REQUIRED_VERSION], [
+             WITH_MODULES="`$PKG_CONFIG --variable=modules libxml-2.0`"
+         ], [ ])
+-    else
+-        PKG_CHECK_MODULES_STATIC([LIBXML], [libxml-2.0 >= $LIBXML_REQUIRED_VERSION],
+-        [ ], [ ])
+     fi
+ fi
+ 

+ 494 - 0
package/libxslt/patches/patch-ltmain_sh

@@ -0,0 +1,494 @@
+--- libxslt-1.1.37.orig/ltmain.sh	2022-08-17 15:33:08.000000000 +0200
++++ libxslt-1.1.37/ltmain.sh	2023-01-04 18:05:32.281243849 +0100
+@@ -31,7 +31,7 @@
+ 
+ PROGRAM=libtool
+ PACKAGE=libtool
+-VERSION="2.4.6 Debian-2.4.6-14"
++VERSION=2.4.6
+ package_revision=2.4.6
+ 
+ 
+@@ -387,7 +387,7 @@ EXIT_SKIP=77	  # $? = 77 is used to indi
+ # putting '$debug_cmd' at the start of all your functions, you can get
+ # bash to show function call trace with:
+ #
+-#    debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
++#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+ debug_cmd=${debug_cmd-":"}
+ exit_cmd=:
+ 
+@@ -1370,7 +1370,7 @@ func_lt_ver ()
+ #! /bin/sh
+ 
+ # Set a version string for this script.
+-scriptversion=2015-10-07.11; # UTC
++scriptversion=2014-01-07.03; # UTC
+ 
+ # A portable, pluggable option parser for Bourne shell.
+ # Written by Gary V. Vaughan, 2010
+@@ -1530,8 +1530,6 @@ func_run_hooks ()
+ {
+     $debug_cmd
+ 
+-    _G_rc_run_hooks=false
+-
+     case " $hookable_fns " in
+       *" $1 "*) ;;
+       *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+@@ -1540,16 +1538,16 @@ func_run_hooks ()
+     eval _G_hook_fns=\$$1_hooks; shift
+ 
+     for _G_hook in $_G_hook_fns; do
+-      if eval $_G_hook '"$@"'; then
+-        # store returned options list back into positional
+-        # parameters for next 'cmd' execution.
+-        eval _G_hook_result=\$${_G_hook}_result
+-        eval set dummy "$_G_hook_result"; shift
+-        _G_rc_run_hooks=:
+-      fi
++      eval $_G_hook '"$@"'
++
++      # store returned options list back into positional
++      # parameters for next 'cmd' execution.
++      eval _G_hook_result=\$${_G_hook}_result
++      eval set dummy "$_G_hook_result"; shift
+     done
+ 
+-    $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
++    func_quote_for_eval ${1+"$@"}
++    func_run_hooks_result=$func_quote_for_eval_result
+ }
+ 
+ 
+@@ -1559,16 +1557,10 @@ func_run_hooks ()
+ ## --------------- ##
+ 
+ # In order to add your own option parsing hooks, you must accept the
+-# full positional parameter list in your hook function, you may remove/edit
+-# any options that you action, and then pass back the remaining unprocessed
++# full positional parameter list in your hook function, remove any
++# options that you action, and then pass back the remaining unprocessed
+ # options in '<hooked_function_name>_result', escaped suitably for
+-# 'eval'.  In this case you also must return $EXIT_SUCCESS to let the
+-# hook's caller know that it should pay attention to
+-# '<hooked_function_name>_result'.  Returning $EXIT_FAILURE signalizes that
+-# arguments are left untouched by the hook and therefore caller will ignore the
+-# result variable.
+-#
+-# Like this:
++# 'eval'.  Like this:
+ #
+ #    my_options_prep ()
+ #    {
+@@ -1578,11 +1570,9 @@ func_run_hooks ()
+ #        usage_message=$usage_message'
+ #      -s, --silent       don'\''t print informational messages
+ #    '
+-#        # No change in '$@' (ignored completely by this hook).  There is
+-#        # no need to do the equivalent (but slower) action:
+-#        # func_quote_for_eval ${1+"$@"}
+-#        # my_options_prep_result=$func_quote_for_eval_result
+-#        false
++#
++#        func_quote_for_eval ${1+"$@"}
++#        my_options_prep_result=$func_quote_for_eval_result
+ #    }
+ #    func_add_hook func_options_prep my_options_prep
+ #
+@@ -1591,37 +1581,25 @@ func_run_hooks ()
+ #    {
+ #        $debug_cmd
+ #
+-#        args_changed=false
+-#
+ #        # Note that for efficiency, we parse as many options as we can
+ #        # recognise in a loop before passing the remainder back to the
+ #        # caller on the first unrecognised argument we encounter.
+ #        while test $# -gt 0; do
+ #          opt=$1; shift
+ #          case $opt in
+-#            --silent|-s) opt_silent=:
+-#                         args_changed=:
+-#                         ;;
++#            --silent|-s) opt_silent=: ;;
+ #            # Separate non-argument short options:
+ #            -s*)         func_split_short_opt "$_G_opt"
+ #                         set dummy "$func_split_short_opt_name" \
+ #                             "-$func_split_short_opt_arg" ${1+"$@"}
+ #                         shift
+-#                         args_changed=:
+ #                         ;;
+-#            *)           # Make sure the first unrecognised option "$_G_opt"
+-#                         # is added back to "$@", we could need that later
+-#                         # if $args_changed is true.
+-#                         set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
++#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
+ #          esac
+ #        done
+ #
+-#        if $args_changed; then
+-#          func_quote_for_eval ${1+"$@"}
+-#          my_silent_option_result=$func_quote_for_eval_result
+-#        fi
+-#
+-#        $args_changed
++#        func_quote_for_eval ${1+"$@"}
++#        my_silent_option_result=$func_quote_for_eval_result
+ #    }
+ #    func_add_hook func_parse_options my_silent_option
+ #
+@@ -1633,32 +1611,16 @@ func_run_hooks ()
+ #        $opt_silent && $opt_verbose && func_fatal_help "\
+ #    '--silent' and '--verbose' options are mutually exclusive."
+ #
+-#        false
++#        func_quote_for_eval ${1+"$@"}
++#        my_option_validation_result=$func_quote_for_eval_result
+ #    }
+ #    func_add_hook func_validate_options my_option_validation
+ #
+-# You'll also need to manually amend $usage_message to reflect the extra
++# You'll alse need to manually amend $usage_message to reflect the extra
+ # options you parse.  It's preferable to append if you can, so that
+ # multiple option parsing hooks can be added safely.
+ 
+ 
+-# func_options_finish [ARG]...
+-# ----------------------------
+-# Finishing the option parse loop (call 'func_options' hooks ATM).
+-func_options_finish ()
+-{
+-    $debug_cmd
+-
+-    _G_func_options_finish_exit=false
+-    if func_run_hooks func_options ${1+"$@"}; then
+-      func_options_finish_result=$func_run_hooks_result
+-      _G_func_options_finish_exit=:
+-    fi
+-
+-    $_G_func_options_finish_exit
+-}
+-
+-
+ # func_options [ARG]...
+ # ---------------------
+ # All the functions called inside func_options are hookable. See the
+@@ -1668,28 +1630,17 @@ func_options ()
+ {
+     $debug_cmd
+ 
+-    _G_rc_options=false
+-
+-    for my_func in options_prep parse_options validate_options options_finish
+-    do
+-      if eval func_$my_func '${1+"$@"}'; then
+-        eval _G_res_var='$'"func_${my_func}_result"
+-        eval set dummy "$_G_res_var" ; shift
+-        _G_rc_options=:
+-      fi
+-    done
++    func_options_prep ${1+"$@"}
++    eval func_parse_options \
++        ${func_options_prep_result+"$func_options_prep_result"}
++    eval func_validate_options \
++        ${func_parse_options_result+"$func_parse_options_result"}
+ 
+-    # Save modified positional parameters for caller.  As a top-level
+-    # options-parser function we always need to set the 'func_options_result'
+-    # variable (regardless the $_G_rc_options value).
+-    if $_G_rc_options; then
+-      func_options_result=$_G_res_var
+-    else
+-      func_quote_for_eval ${1+"$@"}
+-      func_options_result=$func_quote_for_eval_result
+-    fi
++    eval func_run_hooks func_options \
++        ${func_validate_options_result+"$func_validate_options_result"}
+ 
+-    $_G_rc_options
++    # save modified positional parameters for caller
++    func_options_result=$func_run_hooks_result
+ }
+ 
+ 
+@@ -1698,9 +1649,9 @@ func_options ()
+ # All initialisations required before starting the option parse loop.
+ # Note that when calling hook functions, we pass through the list of
+ # positional parameters.  If a hook function modifies that list, and
+-# needs to propagate that back to rest of this script, then the complete
++# needs to propogate that back to rest of this script, then the complete
+ # modified list must be put in 'func_run_hooks_result' before
+-# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
++# returning.
+ func_hookable func_options_prep
+ func_options_prep ()
+ {
+@@ -1710,14 +1661,10 @@ func_options_prep ()
+     opt_verbose=false
+     opt_warning_types=
+ 
+-    _G_rc_options_prep=false
+-    if func_run_hooks func_options_prep ${1+"$@"}; then
+-      _G_rc_options_prep=:
+-      # save modified positional parameters for caller
+-      func_options_prep_result=$func_run_hooks_result
+-    fi
++    func_run_hooks func_options_prep ${1+"$@"}
+ 
+-    $_G_rc_options_prep
++    # save modified positional parameters for caller
++    func_options_prep_result=$func_run_hooks_result
+ }
+ 
+ 
+@@ -1731,20 +1678,18 @@ func_parse_options ()
+ 
+     func_parse_options_result=
+ 
+-    _G_rc_parse_options=false
+     # this just eases exit handling
+     while test $# -gt 0; do
+       # Defer to hook functions for initial option parsing, so they
+       # get priority in the event of reusing an option name.
+-      if func_run_hooks func_parse_options ${1+"$@"}; then
+-        eval set dummy "$func_run_hooks_result"; shift
+-        _G_rc_parse_options=:
+-      fi
++      func_run_hooks func_parse_options ${1+"$@"}
++
++      # Adjust func_parse_options positional parameters to match
++      eval set dummy "$func_run_hooks_result"; shift
+ 
+       # Break out of the loop if we already parsed every option.
+       test $# -gt 0 || break
+ 
+-      _G_match_parse_options=:
+       _G_opt=$1
+       shift
+       case $_G_opt in
+@@ -1759,10 +1704,7 @@ func_parse_options ()
+ 		      ;;
+ 
+         --warnings|--warning|-W)
+-                      if test $# = 0 && func_missing_arg $_G_opt; then
+-                        _G_rc_parse_options=:
+-                        break
+-                      fi
++                      test $# = 0 && func_missing_arg $_G_opt && break
+                       case " $warning_categories $1" in
+                         *" $1 "*)
+                           # trailing space prevents matching last $1 above
+@@ -1815,25 +1757,15 @@ func_parse_options ()
+                       shift
+                       ;;
+ 
+-        --)           _G_rc_parse_options=: ; break ;;
++        --)           break ;;
+         -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
+-        *)            set dummy "$_G_opt" ${1+"$@"}; shift
+-                      _G_match_parse_options=false
+-                      break
+-                      ;;
++        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+       esac
+-
+-      $_G_match_parse_options && _G_rc_parse_options=:
+     done
+ 
+-
+-    if $_G_rc_parse_options; then
+-      # save modified positional parameters for caller
+-      func_quote_for_eval ${1+"$@"}
+-      func_parse_options_result=$func_quote_for_eval_result
+-    fi
+-
+-    $_G_rc_parse_options
++    # save modified positional parameters for caller
++    func_quote_for_eval ${1+"$@"}
++    func_parse_options_result=$func_quote_for_eval_result
+ }
+ 
+ 
+@@ -1846,21 +1778,16 @@ func_validate_options ()
+ {
+     $debug_cmd
+ 
+-    _G_rc_validate_options=false
+-
+     # Display all warnings if -W was not given.
+     test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+ 
+-    if func_run_hooks func_validate_options ${1+"$@"}; then
+-      # save modified positional parameters for caller
+-      func_validate_options_result=$func_run_hooks_result
+-      _G_rc_validate_options=:
+-    fi
++    func_run_hooks func_validate_options ${1+"$@"}
+ 
+     # Bail if the options were screwed!
+     $exit_cmd $EXIT_FAILURE
+ 
+-    $_G_rc_validate_options
++    # save modified positional parameters for caller
++    func_validate_options_result=$func_run_hooks_result
+ }
+ 
+ 
+@@ -2141,12 +2068,12 @@ include the following information:
+        compiler:       $LTCC
+        compiler flags: $LTCFLAGS
+        linker:         $LD (gnu? $with_gnu_ld)
+-       version:        $progname $scriptversion Debian-2.4.6-14
++       version:        $progname (GNU libtool) 2.4.6
+        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+ 
+ Report bugs to <bug-libtool@gnu.org>.
+-GNU libtool home page: <http://www.gnu.org/s/libtool/>.
++GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+ General help using GNU software: <http://www.gnu.org/gethelp/>."
+     exit 0
+ }
+@@ -2343,8 +2270,6 @@ libtool_options_prep ()
+     nonopt=
+     preserve_args=
+ 
+-    _G_rc_lt_options_prep=:
+-
+     # Shorthand for --mode=foo, only valid as the first argument
+     case $1 in
+     clean|clea|cle|cl)
+@@ -2368,18 +2293,11 @@ libtool_options_prep ()
+     uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+       shift; set dummy --mode uninstall ${1+"$@"}; shift
+       ;;
+-    *)
+-      _G_rc_lt_options_prep=false
+-      ;;
+     esac
+ 
+-    if $_G_rc_lt_options_prep; then
+-      # Pass back the list of options.
+-      func_quote_for_eval ${1+"$@"}
+-      libtool_options_prep_result=$func_quote_for_eval_result
+-    fi
+-
+-    $_G_rc_lt_options_prep
++    # Pass back the list of options.
++    func_quote_for_eval ${1+"$@"}
++    libtool_options_prep_result=$func_quote_for_eval_result
+ }
+ func_add_hook func_options_prep libtool_options_prep
+ 
+@@ -2391,12 +2309,9 @@ libtool_parse_options ()
+ {
+     $debug_cmd
+ 
+-    _G_rc_lt_parse_options=false
+-
+     # Perform our own loop to consume as many options as possible in
+     # each iteration.
+     while test $# -gt 0; do
+-      _G_match_lt_parse_options=:
+       _G_opt=$1
+       shift
+       case $_G_opt in
+@@ -2471,22 +2386,15 @@ libtool_parse_options ()
+                         func_append preserve_args " $_G_opt"
+                         ;;
+ 
+-        # An option not handled by this hook function:
+-        *)              set dummy "$_G_opt" ${1+"$@"} ; shift
+-                        _G_match_lt_parse_options=false
+-                        break
+-                        ;;
++	# An option not handled by this hook function:
++        *)		set dummy "$_G_opt" ${1+"$@"};	shift; break  ;;
+       esac
+-      $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
+     done
+ 
+-    if $_G_rc_lt_parse_options; then
+-      # save modified positional parameters for caller
+-      func_quote_for_eval ${1+"$@"}
+-      libtool_parse_options_result=$func_quote_for_eval_result
+-    fi
+ 
+-    $_G_rc_lt_parse_options
++    # save modified positional parameters for caller
++    func_quote_for_eval ${1+"$@"}
++    libtool_parse_options_result=$func_quote_for_eval_result
+ }
+ func_add_hook func_parse_options libtool_parse_options
+ 
+@@ -7364,16 +7272,10 @@ func_mode_link ()
+       # -tp=*                Portland pgcc target processor selection
+       # --sysroot=*          for sysroot support
+       # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+-      # -specs=*             GCC specs files
+       # -stdlib=*            select c++ std lib with clang
+-      # -fsanitize=*         Clang/GCC memory and address sanitizer
+-      # -fuse-ld=*           Linker select flags for GCC
+-      # -static-*            direct GCC to link specific libraries statically
+-      # -fcilkplus           Cilk Plus language extension features for C/C++
+       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+-      -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
++      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+         func_quote_for_eval "$arg"
+ 	arg=$func_quote_for_eval_result
+         func_append compile_command " $arg"
+@@ -7666,10 +7568,7 @@ func_mode_link ()
+ 	case $pass in
+ 	dlopen) libs=$dlfiles ;;
+ 	dlpreopen) libs=$dlprefiles ;;
+-	link)
+-	  libs="$deplibs %DEPLIBS%"
+-	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+-	  ;;
++	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ 	esac
+       fi
+       if test lib,dlpreopen = "$linkmode,$pass"; then
+@@ -7988,19 +7887,19 @@ func_mode_link ()
+ 	    # It is a libtool convenience library, so add in its objects.
+ 	    func_append convenience " $ladir/$objdir/$old_library"
+ 	    func_append old_convenience " $ladir/$objdir/$old_library"
+-	    tmp_libs=
+-	    for deplib in $dependency_libs; do
+-	      deplibs="$deplib $deplibs"
+-	      if $opt_preserve_dup_deps; then
+-		case "$tmp_libs " in
+-		*" $deplib "*) func_append specialdeplibs " $deplib" ;;
+-		esac
+-	      fi
+-	      func_append tmp_libs " $deplib"
+-	    done
+ 	  elif test prog != "$linkmode" && test lib != "$linkmode"; then
+ 	    func_fatal_error "'$lib' is not a convenience library"
+ 	  fi
++	  tmp_libs=
++	  for deplib in $dependency_libs; do
++	    deplibs="$deplib $deplibs"
++	    if $opt_preserve_dup_deps; then
++	      case "$tmp_libs " in
++	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
++	      esac
++	    fi
++	    func_append tmp_libs " $deplib"
++	  done
+ 	  continue
+ 	fi # $pass = conv
+ 
+@@ -8924,9 +8823,6 @@ func_mode_link ()
+ 	    revision=$number_minor
+ 	    lt_irix_increment=no
+ 	    ;;
+-	  *)
+-	    func_fatal_configuration "$modename: unknown library version type '$version_type'"
+-	    ;;
+ 	  esac
+ 	  ;;
+ 	no)

+ 208 - 0
package/libxslt/patches/patch-m4_libtool_m4

@@ -0,0 +1,208 @@
+--- libxslt-1.1.37.orig/m4/libtool.m4	2022-08-17 15:33:08.000000000 +0200
++++ libxslt-1.1.37/m4/libtool.m4	2023-01-04 18:05:32.317244540 +0100
+@@ -728,6 +728,7 @@ _LT_CONFIG_SAVE_COMMANDS([
+     cat <<_LT_EOF >> "$cfgfile"
+ #! $SHELL
+ # Generated automatically by $as_me ($PACKAGE) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ 
+ # Provide generalized library-building support services.
+@@ -1041,8 +1042,8 @@ int forced_loaded() { return 2;}
+ _LT_EOF
+       echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+       $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+-      echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+-      $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
++      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
++      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+       echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+       $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+       cat > conftest.c << _LT_EOF
+@@ -1492,7 +1493,7 @@ need_locks=$enable_libtool_lock
+ m4_defun([_LT_PROG_AR],
+ [AC_CHECK_TOOLS(AR, [ar], false)
+ : ${AR=ar}
+-: ${AR_FLAGS=cr}
++: ${AR_FLAGS=cru}
+ _LT_DECL([], [AR], [1], [The archiver])
+ _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+ 
+@@ -2886,18 +2887,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
+   dynamic_linker='GNU/Linux ld.so'
+   ;;
+ 
+-netbsdelf*-gnu)
+-  version_type=linux
+-  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'
+-  shlibpath_var=LD_LIBRARY_PATH
+-  shlibpath_overrides_runpath=no
+-  hardcode_into_libs=yes
+-  dynamic_linker='NetBSD ld.elf_so'
+-  ;;
+-
+ netbsd*)
+   version_type=sunos
+   need_lib_prefix=no
+@@ -3557,7 +3546,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
+   lt_cv_deplibs_check_method=pass_all
+   ;;
+ 
+-netbsd* | netbsdelf*-gnu)
++netbsd*)
+   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+   else
+@@ -4063,8 +4052,7 @@ _LT_EOF
+   if AC_TRY_EVAL(ac_compile); then
+     # Now try to grab the symbols.
+     nlist=conftest.nm
+-    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+-    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
++    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+       # Try sorting and uniquifying the output.
+       if sort "$nlist" | uniq > "$nlist"T; then
+ 	mv -f "$nlist"T "$nlist"
+@@ -4436,7 +4424,7 @@ m4_if([$1], [CXX], [
+ 	    ;;
+ 	esac
+ 	;;
+-      netbsd* | netbsdelf*-gnu)
++      netbsd*)
+ 	;;
+       *qnx* | *nto*)
+         # QNX uses GNU C++, but need to define -shared option too, otherwise
+@@ -4704,12 +4692,6 @@ m4_if([$1], [CXX], [
+ 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ 	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+         ;;
+-      # flang / f18. f95 an alias for gfortran or flang on Debian
+-      flang* | f18* | f95*)
+-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+-        ;;
+       # icc used to be incompatible with GCC.
+       # ICC 10 doesn't accept -KPIC any more.
+       icc* | ifort*)
+@@ -4954,9 +4936,6 @@ m4_if([$1], [CXX], [
+       ;;
+     esac
+     ;;
+-  linux* | k*bsd*-gnu | gnu*)
+-    _LT_TAGVAR(link_all_deplibs, $1)=no
+-    ;;
+   *)
+     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+     ;;
+@@ -4971,7 +4950,7 @@ m4_if([$1], [CXX], [
+   _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+   _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+   _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+-  _LT_TAGVAR(hardcode_automatic, $1)=no
++  _LT_TAGVAR(hardcode_automatic, $1)=yes
+   _LT_TAGVAR(hardcode_direct, $1)=no
+   _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+@@ -5019,9 +4998,6 @@ dnl Note also adjust exclude_expsyms for
+   openbsd* | bitrig*)
+     with_gnu_ld=no
+     ;;
+-  linux* | k*bsd*-gnu | gnu*)
+-    _LT_TAGVAR(link_all_deplibs, $1)=no
+-    ;;
+   esac
+ 
+   _LT_TAGVAR(ld_shlibs, $1)=yes
+@@ -5276,7 +5252,7 @@ _LT_EOF
+       fi
+       ;;
+ 
+-    netbsd* | netbsdelf*-gnu)
++    netbsd*)
+       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ 	wlarc=
+@@ -5797,7 +5773,6 @@ _LT_EOF
+ 	if test yes = "$lt_cv_irix_exported_symbol"; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+ 	fi
+-	_LT_TAGVAR(link_all_deplibs, $1)=no
+       else
+ 	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ 	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+@@ -5819,7 +5794,7 @@ _LT_EOF
+       esac
+       ;;
+ 
+-    netbsd* | netbsdelf*-gnu)
++    netbsd*)
+       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+       else
+@@ -6333,7 +6308,7 @@ _LT_TAGVAR(hardcode_libdir_flag_spec, $1
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+-_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+@@ -6445,7 +6420,7 @@ if test yes != "$_lt_caught_CXX_error";
+       # Commands to make compiler produce verbose output that lists
+       # what "hidden" libraries, object files and flags are used when
+       # linking a shared library.
+-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
++      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ 
+     else
+       GXX=no
+@@ -6820,7 +6795,7 @@ if test yes != "$_lt_caught_CXX_error";
+             # explicitly linking system object files so we need to strip them
+             # from the output so that they don't get included in the library
+             # dependencies.
+-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
++            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+             ;;
+           *)
+             if test yes = "$GXX"; then
+@@ -6885,7 +6860,7 @@ if test yes != "$_lt_caught_CXX_error";
+ 	    # explicitly linking system object files so we need to strip them
+ 	    # from the output so that they don't get included in the library
+ 	    # dependencies.
+-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
++	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ 	    ;;
+           *)
+ 	    if test yes = "$GXX"; then
+@@ -7224,7 +7199,7 @@ if test yes != "$_lt_caught_CXX_error";
+ 	      # Commands to make compiler produce verbose output that lists
+ 	      # what "hidden" libraries, object files and flags are used when
+ 	      # linking a shared library.
+-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
++	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ 
+ 	    else
+ 	      # FIXME: insert proper C++ library support
+@@ -7308,7 +7283,7 @@ if test yes != "$_lt_caught_CXX_error";
+ 	        # Commands to make compiler produce verbose output that lists
+ 	        # what "hidden" libraries, object files and flags are used when
+ 	        # linking a shared library.
+-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
++	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ 	      else
+ 	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
+ 	        # platform.
+@@ -7319,7 +7294,7 @@ if test yes != "$_lt_caught_CXX_error";
+ 	        # Commands to make compiler produce verbose output that lists
+ 	        # what "hidden" libraries, object files and flags are used when
+ 	        # linking a shared library.
+-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
++	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ 	      fi
+ 
+ 	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'

+ 2 - 2
package/mesa/Makefile

@@ -10,8 +10,8 @@ PKG_HASH:=		c15df758a8795f53e57f2a228eb4593c22b16dffd9b38f83901f76cd9533140b
 PKG_DESCR:=		3d graphics library
 PKG_SECTION:=		libs/video
 PKG_DEPENDS:=		libxdamage libxfixes libdrm libxxf86vm libexpat
-PKG_DEPENDS+=		libxml2 libxml2-python
-PKG_BUILDDEP:=		python2 libxml2 libXdamage libXfixes libXrandr
+PKG_DEPENDS+=		libxml2
+PKG_BUILDDEP:=		python3 libxml2 libXdamage libXfixes libXrandr
 PKG_BUILDDEP+=		libXxf86vm libdrm dri2proto glproto expat libXext
 PKG_BUILDDEP+=		eudev dri3proto presentproto xcb-proto libxcb
 PKG_BUILDDEP+=		libxshmfence python-mako-host

+ 6 - 5
package/ncurses/Makefile

@@ -4,9 +4,9 @@
 include ${ADK_TOPDIR}/rules.mk
 
 PKG_NAME:=		ncurses
-PKG_VERSION:=		6.1
+PKG_VERSION:=		6.4
 PKG_RELEASE:=		1
-PKG_HASH:=		aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17
+PKG_HASH:=		6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159
 PKG_DESCR:=		terminal handling library
 PKG_SECTION:=		libs/misc
 PKG_BUILDDEP:=		ncurses-host
@@ -66,9 +66,10 @@ ALL_TARGET:=		libs
 INSTALL_TARGET:=	install.libs install.data
 
 # use sth which does not exist
-HOST_ALL_TARGET:=	progs
-HOST_INSTALL_TARGET:=	install.includes install.progs
-HOST_CONFIGURE_ARGS+=	--without-shared \
+#HOST_ALL_TARGET:=	progs
+#HOST_INSTALL_TARGET:=	install.includes install.progs
+HOST_CFLAGS+=		-fPIC
+HOST_CONFIGURE_ARGS+=	--with-shared \
 			--with-build-cc="${HOST_CC}" \
 			--with-progs \
 			--with-ticlib \

+ 9 - 9
package/nodejs/Makefile

@@ -4,19 +4,17 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		nodejs
-PKG_VERSION:=		12.16.2
+PKG_VERSION:=		18.12.1
 PKG_RELEASE:=		1
-PKG_HASH:=		48b21340eff95bfc6e7297e4a027f5db74d6d64257c476972a1b2f2fdccc9582
+PKG_HASH:=		ba8174dda00d5b90943f37c6a180a1d37c861d91e04a4cb38dc1c0c74981c186
 PKG_DESCR:=		asynchronous event driven framework
 PKG_SECTION:=		net/http
 PKG_DEPENDS:=		zlib
-PKG_BUILDDEP:=		python2-host nodejs-host zlib
+PKG_BUILDDEP:=		python3-host nodejs-host zlib
 PKG_NEEDS:=		threads c++
 PKG_URL:=		https://nodejs.org/
 PKG_SITES:=		https://nodejs.org/dist/v$(PKG_VERSION)/
 
-PKG_SYSTEM_DEPENDS:=	!mikrotik-rb532
-
 DISTFILES:=             node-v$(PKG_VERSION).tar.gz
 WRKDIST=		$(WRKDIR)/node-v$(PKG_VERSION)
 
@@ -26,13 +24,15 @@ include $(ADK_TOPDIR)/mk/package.mk
 $(eval $(call HOST_template,NODEJS,nodejs,$(PKG_VERSION)-$(PKG_RELEASE)))
 $(eval $(call PKG_template,NODEJS,nodejs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
 
+HOST_CFLAGS:=
+HOST_CXXFLAGS:=
 HOST_STYLE:=		manual
 CONFIG_STYLE:=		manual
 
 host-configure:
 		(cd $(WRKSRC); \
-                PYTHON=$(STAGING_HOST_DIR)/usr/bin/python2 \
-                $(STAGING_HOST_DIR)/usr/bin/python2 ./configure \
+                PYTHON=$(STAGING_HOST_DIR)/usr/bin/python3 \
+                $(STAGING_HOST_DIR)/usr/bin/python3 ./configure \
 			--prefix=/usr \
 			--without-snapshot \
 			--without-dtrace \
@@ -52,8 +52,8 @@ nodejs-hostinstall:
 
 do-configure:
 		(cd $(WRKSRC); \
-                PYTHON=$(STAGING_HOST_DIR)/usr/bin/python2 \
-                $(STAGING_HOST_DIR)/usr/bin/python2 ./configure \
+                PYTHON=$(STAGING_HOST_DIR)/usr/bin/python3 \
+                $(STAGING_HOST_DIR)/usr/bin/python3 ./configure \
 			--prefix=/usr \
 			--cross-compiling \
                 	--without-snapshot \

+ 0 - 11
package/nodejs/patches/patch-deps_v8_src_base_debug_stack_trace_posix_cc

@@ -1,11 +0,0 @@
---- node-v8.0.0.orig/deps/v8/src/base/debug/stack_trace_posix.cc	2017-05-30 19:31:35.000000000 +0200
-+++ node-v8.0.0/deps/v8/src/base/debug/stack_trace_posix.cc	2017-06-01 13:30:13.141625623 +0200
-@@ -25,7 +25,7 @@
- #include <string>
- #include <vector>
- 
--#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS
-+#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_OS_SOLARIS
- #define HAVE_EXECINFO_H 1
- #endif
- 

+ 0 - 11
package/nodejs/patches/patch-deps_v8_src_log-utils_h

@@ -1,11 +0,0 @@
---- node-v8.0.0.orig/deps/v8/src/log-utils.h	2017-05-30 19:31:39.000000000 +0200
-+++ node-v8.0.0/deps/v8/src/log-utils.h	2017-06-01 13:28:54.580576740 +0200
-@@ -9,6 +9,8 @@
- 
- #include <cstdarg>
- 
-+#include <cstdarg>
-+
- #include "src/allocation.h"
- #include "src/base/compiler-specific.h"
- #include "src/base/platform/mutex.h"

+ 0 - 150
package/python2/Makefile

@@ -1,150 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${ADK_TOPDIR}/rules.mk
-
-PKG_NAME:=		python2
-PKG_VERSION:=		2.7.14
-PKG_RELEASE:=		1
-PKG_HASH:=		304c9b202ea6fbd0a4a8e0ad3733715fbd4749f2204a9173a58ec53c32ea73e8
-PKG_DESCR:=		python2 script interpreter
-PKG_SECTION:=		dev/lang
-PKG_DEPENDS:=		libffi
-PKG_BUILDDEP:=		libffi python2-host 
-HOST_BUILDDEP:=		libffi-host libressl-host
-PKG_NEEDS:=		threads
-PKG_URL:=		http://www.python.org/
-PKG_SITES:=		http://www.python.org/ftp/python/${PKG_VERSION}/
-PKG_OPTS:=		dev
-
-DISTFILES:=		Python-${PKG_VERSION}.tgz
-WRKDIST=		${WRKDIR}/Python-${PKG_VERSION}
-
-PKG_FLAVOURS_PYTHON2:=	MOD_ZLIB MOD_BZ2 MOD_EXPAT MOD_SQLITE MOD_GDBM
-PKG_FLAVOURS_PYTHON2+=	MOD_NCURSES MOD_SSL MOD_READLINE
-			
-PKGFD_MOD_ZLIB:=	zlib support
-PKGFB_MOD_ZLIB:=	zlib
-PKGFS_MOD_ZLIB:=	zlib
-PKGFD_MOD_BZ2:=		bzip2 support
-PKGFB_MOD_BZ2:=		bzip2
-PKGFS_MOD_BZ2:=		libbz2
-PKGFD_MOD_EXPAT:=	xml support
-PKGFB_MOD_EXPAT:=	expat
-PKGFS_MOD_EXPAT:=	libexpat
-PKGFD_MOD_SQLITE:=	sqlite support
-PKGFB_MOD_SQLITE:=	sqlite
-PKGFS_MOD_SQLITE:=	libsqlite
-PKGFD_MOD_GDBM:=	gdbm support
-PKGFB_MOD_GDBM:=	gdbm
-PKGFS_MOD_GDBM:=	libgdbm
-PKGFD_MOD_NCURSES:=	ncurses support
-PKGFB_MOD_NCURSES:=	ncurses
-PKGFS_MOD_NCURSES:=	libncurses
-PKGFD_MOD_READLINE:=	readline support
-PKGFB_MOD_READLINE:=	readline
-PKGFS_MOD_READLINE:=	libreadline
-PKGFD_MOD_SSL:=		ssl support
-PKGFB_MOD_SSL:=		libressl
-PKGFS_MOD_SSL:=		libressl
-
-include ${ADK_TOPDIR}/mk/host.mk
-include ${ADK_TOPDIR}/mk/package.mk
-
-$(eval $(call HOST_template,PYTHON2,python2,${PKG_VERSION}-${PKG_RELEASE}))
-$(eval $(call PKG_template,PYTHON2,python2,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-
-define PKG_mod_template
-
-INSTALL_MODS_$${ADK_PACKAGE_${1}}+=    ${2}-install
-
-${2}-install:
-	${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python2.7/lib-dynload
-	for m in ${2}; do \
-		${INSTALL_DATA} $(WRKINST)/usr/lib/python2.7/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python2.7/lib-dynload ;\
-	done
-endef
-
-$(eval $(call PKG_template,PYTHON2_MOD_ZLIB,python2-mod-zlib,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_ZLIB},${PKGFD_MOD_ZLIB},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_BZ2,python2-mod-bz2,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_BZ2},${PKGFD_MOD_BZ2},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_EXPAT,python2-mod-expat,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_EXPAT},${PKGFD_MOD_EXPAT},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_SQLITE,python2-mod-sqlite,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SQLITE},${PKGFD_MOD_SQLITE},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_GDBM,python2-mod-gdbm,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_GDBM},${PKGFD_MOD_GDBM},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_NCURSES,python2-mod-ncurses,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_NCURSES},${PKGFD_MOD_NCURSES},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_SSL,python2-mod-ssl,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SSL},${PKGFD_MOD_SSL},${PKG_SECTION}))
-$(eval $(call PKG_template,PYTHON2_MOD_READLINE,python2-mod-readline,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_READLINE},${PKGFD_MOD_READLINE},${PKG_SECTION}))
-
-$(eval $(call PKG_mod_template,PYTHON2_MOD_ZLIB,zlib))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_BZ2,bz2))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_EXPAT,pyexpat))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_SQLITE,_sqlite))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_GDBM,gdbm))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_NCURSES,_curses))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_SSL,_ssl))
-$(eval $(call PKG_mod_template,PYTHON2_MOD_READLINE,readline))
-
-ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
-CONFIGURE_ARGS+=	--disable-shared
-endif
-
-HOST_CFLAGS+=		-fPIC
-
-AUTOTOOL_STYLE:=	autoreconf
-CONFIGURE_ENV+=         ac_cv_have_long_long_format=yes \
-			ac_cv_file__dev_ptmx=yes \
-			ac_cv_file__dev_ptc=no
-CONFIGURE_ARGS+=	--with-threads \
-			--disable-toolbox-glue \
-			--disable-ipv6 \
-			--with-system-ffi \
-			--without-cxx-main
-
-HOST_CONFIGURE_ENV+=	MACOSX_DEPLOYMENT_TARGET=10.9
-HOST_CONFIGURE_ARGS+=	--with-threads \
-			--with-system-ffi \
-			--disable-ipv6 \
-			--disable-toolbox-glue \
-			--without-cxx-main
-
-hostpre-configure:
-	$(CP) $(ADK_TOPDIR)/package/python2/files/patch-Lib_distutils_sysconfig_py $(WRKBUILD)
-	$(SED) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
-	$(SED) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
-	(cd $(WRKBUILD) && ${PATCHP0} < patch-Lib_distutils_sysconfig_py)	
-	$(SED) "s#@EXENAME@#$(STAGING_HOST_DIR)/usr/bin/python#" \
-		$(WRKBUILD)/Misc/python-config.in
-
-hostpost-install:
-	$(CP) $(ADK_TOPDIR)/package/python2/files/python-config.patch $(WRKBUILD)/
-	$(SED) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD)/python-config.patch
-	$(SED) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD)/python-config.patch
-	(cd $(STAGING_HOST_DIR)/usr/bin && \
-		${PATCHP0} < $(WRKBUILD)/python-config.patch)
-
-pre-configure:
-	$(CP) $(ADK_TOPDIR)/package/python2/files/patch-Lib_distutils_sysconfig_py $(WRKBUILD)
-	$(SED) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
-	$(SED) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD)/patch-Lib_distutils_sysconfig_py
-	(cd $(WRKBUILD) && ${PATCHP0} <$(WRKBUILD)/patch-Lib_distutils_sysconfig_py)	
-	$(SED) "s#@EXENAME@#$(STAGING_HOST_DIR)/usr/bin/python#" \
-		$(WRKBUILD)/Misc/python-config.in
-
-ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY),y)
-python2-install:
-else
-python2-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
-endif
-	${INSTALL_DIR} ${IDIR_PYTHON2}/usr/bin ${IDIR_PYTHON2}/usr/lib
-	${INSTALL_DIR} ${IDIR_PYTHON2}/usr/include/python2.7
-	${INSTALL_BIN} ${WRKINST}/usr/bin/python ${IDIR_PYTHON2}/usr/bin
-	${INSTALL_DIR} ${IDIR_PYTHON2}/usr/lib/python2.7
-	${CP} ${WRKINST}/usr/lib/libpython*.* ${IDIR_PYTHON2}/usr/lib
-	${CP} ${WRKINST}/usr/lib/python2.7/* ${IDIR_PYTHON2}/usr/lib/python2.7
-	${CP} ${WRKINST}/usr/include/python2.7/pyconfig.h \
-		${IDIR_PYTHON2}/usr/include/python2.7
-	@-for i in zlib bz2 _curses _ssl gdbm _sqlite pyexpat readline; do \
-		rm ${IDIR_PYTHON2}/usr/lib/python2.7/lib-dynload/$${i}*so 2>/dev/null; \
-	done
-
-include ${ADK_TOPDIR}/mk/host-bottom.mk
-include ${ADK_TOPDIR}/mk/pkg-bottom.mk

+ 0 - 10
package/python2/files/patch-Lib_distutils_sysconfig_py

@@ -1,10 +0,0 @@
---- Lib.orig/distutils/sysconfig.py	2013-05-12 05:32:42.000000000 +0200
-+++ Lib/distutils/sysconfig.py	2013-11-03 18:03:53.000000000 +0100
-@@ -76,6 +76,7 @@ def get_python_inc(plat_specific=0, pref
-     """
-     if prefix is None:
-         prefix = plat_specific and EXEC_PREFIX or PREFIX
-+        prefix = re.sub('@@STAGING_HOST_DIR@@', '@@STAGING_TARGET_DIR@@', prefix)
- 
-     if os.name == "posix":
-         if python_build:

+ 0 - 21
package/python2/files/python-config.patch

@@ -1,21 +0,0 @@
---- python2.7-config.orig	2013-12-11 12:40:37.244519764 +0100
-+++ python2.7-config	2013-12-11 12:41:43.279093075 +0100
-@@ -3,6 +3,7 @@
- import sys
- import os
- import getopt
-+import re
- from distutils import sysconfig
- 
- valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
-@@ -37,8 +38,8 @@
-         print sysconfig.EXEC_PREFIX
- 
-     elif opt in ('--includes', '--cflags'):
--        flags = ['-I' + sysconfig.get_python_inc(),
--                 '-I' + sysconfig.get_python_inc(plat_specific=True)]
-+        flags = ['-I' + re.sub('@@STAGING_TARGET_DIR@@', '@@STAGING_HOST_DIR@@', sysconfig.get_python_inc()),
-+                 '-I' + re.sub('@@STAGING_TARGET_DIR@@', '@@STAGING_HOST_DIR@@', sysconfig.get_python_inc(plat_specific=True))]
-         if opt == '--cflags':
-             flags.extend(getvar('CFLAGS').split())
-         print ' '.join(flags)

+ 0 - 79
package/python2/patches/0001-2.7-bpo-33127-Compatibility-patch-for-LibreSSL-2.7.0.patch

@@ -1,79 +0,0 @@
-From edd541897b9c28ee0d0f0131746aa5f19665a104 Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Sat, 24 Mar 2018 19:34:15 +0100
-Subject: [PATCH] [2.7] bpo-33127: Compatibility patch for LibreSSL 2.7.0
- (GH-6210) (GH-6215)
-
-LibreSSL 2.7 introduced OpenSSL 1.1.0 API. The ssl module now detects
-LibreSSL 2.7 and only provides API shims for OpenSSL < 1.1.0 and
-LibreSSL < 2.7.
-
-Documentation updates and fixes for failing tests will be provided in
-another patch set.
-
-Signed-off-by: Christian Heimes <christian@python.org>.
-(cherry picked from commit 4ca0739c9d97ac7cd45499e0d31be68dc659d0e1)
-
-Co-authored-by: Christian Heimes <christian@python.org>
----
- .../2018-03-24-15-08-24.bpo-33127.olJmHv.rst       |  1 +
- Modules/_ssl.c                                     | 24 ++++++++++++++--------
- Tools/ssl/multissltests.py                         |  3 ++-
- 3 files changed, 19 insertions(+), 9 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst
-
-diff --git a/Modules/_ssl.c b/Modules/_ssl.c
-index da8b20f54f..d0ce913d3d 100644
---- a/Modules/_ssl.c
-+++ b/Modules/_ssl.c
-@@ -102,6 +102,12 @@ struct py_ssl_library_code {
- 
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
- #  define OPENSSL_VERSION_1_1 1
-+#  define PY_OPENSSL_1_1_API 1
-+#endif
-+
-+/* LibreSSL 2.7.0 provides necessary OpenSSL 1.1.0 APIs */
-+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL
-+#  define PY_OPENSSL_1_1_API 1
- #endif
- 
- /* Openssl comes with TLSv1.1 and TLSv1.2 between 1.0.0h and 1.0.1
-@@ -149,16 +155,18 @@ struct py_ssl_library_code {
- #define INVALID_SOCKET (-1)
- #endif
- 
--#ifdef OPENSSL_VERSION_1_1
--/* OpenSSL 1.1.0+ */
--#ifndef OPENSSL_NO_SSL2
--#define OPENSSL_NO_SSL2
--#endif
--#else /* OpenSSL < 1.1.0 */
--#if defined(WITH_THREAD)
-+/* OpenSSL 1.0.2 and LibreSSL needs extra code for locking */
-+#if !defined(OPENSSL_VERSION_1_1) && defined(WITH_THREAD)
- #define HAVE_OPENSSL_CRYPTO_LOCK
- #endif
- 
-+#if defined(OPENSSL_VERSION_1_1) && !defined(OPENSSL_NO_SSL2)
-+#define OPENSSL_NO_SSL2
-+#endif
-+
-+#ifndef PY_OPENSSL_1_1_API
-+/* OpenSSL 1.1 API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7.0 */
-+
- #define TLS_method SSLv23_method
- 
- static int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne)
-@@ -201,7 +209,7 @@ static X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *store)
- {
-     return store->param;
- }
--#endif /* OpenSSL < 1.1.0 or LibreSSL */
-+#endif /* OpenSSL < 1.1.0 or LibreSSL < 2.7.0 */
- 
- 
- enum py_ssl_error {
--- 
-2.16.1
-

+ 0 - 40
package/python2/patches/patch-Makefile_pre_in

@@ -1,40 +0,0 @@
---- Python-2.7.13.orig/Makefile.pre.in	2016-12-17 21:05:06.000000000 +0100
-+++ Python-2.7.13/Makefile.pre.in	2017-03-16 19:38:14.000000000 +0100
-@@ -545,7 +545,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.tx
- 	esac; \
- 	$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
- 		_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
--		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-+		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
- 
- # Build static library
- # avoid long command lines, same as LIBRARY_OBJS
-@@ -1120,28 +1120,6 @@ libinstall:	build_all $(srcdir)/Lib/$(PL
- 		$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- 			$(DESTDIR)$(LIBDEST)/distutils/tests ; \
- 	fi
--	PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
--		-d $(LIBDEST) -f \
--		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
--		$(DESTDIR)$(LIBDEST)
--	PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
--		-d $(LIBDEST) -f \
--		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
--		$(DESTDIR)$(LIBDEST)
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
--		-d $(LIBDEST)/site-packages -f \
--		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
--		-d $(LIBDEST)/site-packages -f \
--		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
- 
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):

+ 0 - 22
package/python2/patches/patch-configure_ac

@@ -1,22 +0,0 @@
---- Python-2.7.13.orig/configure.ac	2016-12-17 21:05:07.000000000 +0100
-+++ Python-2.7.13/configure.ac	2017-03-16 19:29:41.000000000 +0100
-@@ -22,7 +22,7 @@ rm -f pybuilddir.txt
- if test "$cross_compiling" = yes; then
-     AC_MSG_CHECKING([for python interpreter for cross build])
-     if test -z "$PYTHON_FOR_BUILD"; then
--        for interp in python$PACKAGE_VERSION python2 python; do
-+        for interp in python; do
- 	    which $interp >/dev/null 2>&1 || continue
- 	    if $interp -c 'import sys;sys.exit(not (sys.version_info@<:@:2@:>@ >= (2,7) and sys.version_info@<:@0@:>@ < 3))'; then
- 	        break
-@@ -1079,9 +1079,7 @@ then
- 	    if test "$Py_DEBUG" = 'true' ; then
- 		# Optimization messes up debuggers, so turn it off for
- 		# debug builds.
--		OPT="-g -O0 -Wall $STRICT_PROTO"
--	    else
--		OPT="-g $WRAP -O3 -Wall $STRICT_PROTO"
-+		OPT="$STRICT_PROTO"
- 	    fi
- 	    ;;
- 	*)

+ 0 - 115
package/python2/patches/patch-setup_py

@@ -1,115 +0,0 @@
---- Python-2.7.13.orig/setup.py	2016-12-17 21:05:07.000000000 +0100
-+++ Python-2.7.13/setup.py	2017-03-16 19:45:12.000000000 +0100
-@@ -74,7 +74,7 @@ def find_file(filename, std_dirs, paths)
-     'paths' is a list of additional locations to check; if the file is
-         found in one of them, the resulting list will contain the directory.
-     """
--    if host_platform == 'darwin':
-+    if host_platform == 'darwin' and not cross_compiling:
-         # Honor the MacOSX SDK setting when one was specified.
-         # An SDK is a directory with the same structure as a real
-         # system, but with only header files and libraries.
-@@ -84,7 +84,7 @@ def find_file(filename, std_dirs, paths)
-     for dir in std_dirs:
-         f = os.path.join(dir, filename)
- 
--        if host_platform == 'darwin' and is_macosx_sdk_path(dir):
-+        if host_platform == 'darwin' and is_macosx_sdk_path(dir) and not cross_compiling:
-             f = os.path.join(sysroot, dir[1:], filename)
- 
-         if os.path.exists(f): return []
-@@ -93,7 +93,7 @@ def find_file(filename, std_dirs, paths)
-     for dir in paths:
-         f = os.path.join(dir, filename)
- 
--        if host_platform == 'darwin' and is_macosx_sdk_path(dir):
-+        if host_platform == 'darwin' and is_macosx_sdk_path(dir) and not cross_compiling:
-             f = os.path.join(sysroot, dir[1:], filename)
- 
-         if os.path.exists(f):
-@@ -107,7 +107,7 @@ def find_library_file(compiler, libname,
-     if result is None:
-         return None
- 
--    if host_platform == 'darwin':
-+    if host_platform == 'darwin' and not cross_compiling:
-         sysroot = macosx_sdk_root()
- 
-     # Check whether the found file is in one of the standard directories
-@@ -116,7 +116,7 @@ def find_library_file(compiler, libname,
-         # Ensure path doesn't end with path separator
-         p = p.rstrip(os.sep)
- 
--        if host_platform == 'darwin' and is_macosx_sdk_path(p):
-+        if host_platform == 'darwin' and is_macosx_sdk_path(p) and not cross_compiling:
-             # Note that, as of Xcode 7, Apple SDKs may contain textual stub
-             # libraries with .tbd extensions rather than the normal .dylib
-             # shared libraries installed in /.  The Apple compiler tool
-@@ -145,7 +145,7 @@ def find_library_file(compiler, libname,
-         # Ensure path doesn't end with path separator
-         p = p.rstrip(os.sep)
- 
--        if host_platform == 'darwin' and is_macosx_sdk_path(p):
-+        if host_platform == 'darwin' and is_macosx_sdk_path(p) and not cross_compiling:
-             if os.path.join(sysroot, p[1:]) == dirname:
-                 return [ p ]
- 
-@@ -178,6 +178,7 @@ class PyBuildExt(build_ext):
- 
-     def build_extensions(self):
- 
-+        self.compiler.library_dirs = []
-         # Detect which modules should be compiled
-         missing = self.detect_modules()
- 
-@@ -299,6 +300,7 @@ class PyBuildExt(build_ext):
- 
-     def build_extension(self, ext):
- 
-+
-         if ext.name == '_ctypes':
-             if not self.configure_ctypes(ext):
-                 return
-@@ -460,7 +462,8 @@ class PyBuildExt(build_ext):
-             add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-         if cross_compiling:
-             self.add_gcc_paths()
--        self.add_multiarch_paths()
-+        if not cross_compiling:
-+            self.add_multiarch_paths()
- 
-         # Add paths specified in the environment variables LDFLAGS and
-         # CPPFLAGS for header and library files.
-@@ -497,7 +500,8 @@ class PyBuildExt(build_ext):
-                         add_dir_to_list(dir_list, directory)
- 
-         if os.path.normpath(sys.prefix) != '/usr' \
--                and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
-+                and not sysconfig.get_config_var('PYTHONFRAMEWORK') \
-+                and not cross_compiling:
-             # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
-             # (PYTHONFRAMEWORK is set) to avoid # linking problems when
-             # building a framework with different architectures than
-@@ -515,8 +519,13 @@ class PyBuildExt(build_ext):
-         # lib_dirs and inc_dirs are used to search for files;
-         # if a file is found in one of those directories, it can
-         # be assumed that no additional -I,-L directives are needed.
-+        if cross_compiling:
-+            add_dir_to_list(self.compiler.library_dirs,
-+                            sysconfig.get_config_var('srcdir'))
-+
-         inc_dirs = self.compiler.include_dirs[:]
-         lib_dirs = self.compiler.library_dirs[:]
-+
-         if not cross_compiling:
-             for d in (
-                 '/usr/include',
-@@ -550,7 +559,7 @@ class PyBuildExt(build_ext):
-         if host_platform == 'hp-ux11':
-             lib_dirs += ['/usr/lib/hpux64', '/usr/lib/hpux32']
- 
--        if host_platform == 'darwin':
-+        if host_platform == 'darwin' and not cross_compiling:
-             # This should work on any unixy platform ;-)
-             # If the user has bothered specifying additional -I and -L flags
-             # in OPT and LDFLAGS we might as well use them here.

+ 4 - 6
package/python3/Makefile

@@ -11,7 +11,7 @@ PKG_DESCR:=		python3 scripting language
 PKG_SECTION:=		dev/lang
 PKG_DEPENDS:=		libffi zlib
 PKG_BUILDDEP:=		python3-host libffi zlib
-HOST_BUILDDEP:=		libffi-host libressl-host zlib-host
+HOST_BUILDDEP:=		libffi-host libressl-host zlib-host bzip2-host ncurses-host sqlite-host
 PKG_NEEDS:=		threads
 PKG_URL:=		http://www.python.org/
 PKG_SITES:=		http://legacy.python.org/ftp/python/${PKG_VERSION}/
@@ -89,8 +89,7 @@ $(eval $(call PKG_mod_template,PYTHON3_MOD_SSL,_ssl))
 
 MAKE_ENV+=		HOSTPGEN=$(STAGING_HOST_DIR)/usr/bin/pgen3
 FAKE_FLAGS+=		ENSUREPIP=no
-CONFIGURE_ARGS:=	--with-threads \
-			--with-system-ffi \
+CONFIGURE_ARGS:=	--with-system-ffi \
 			--with-system-expat \
 			--disable-ipv6 \
 			--without-cxx-main
@@ -99,8 +98,7 @@ CONFIGURE_ENV+=		ac_cv_have_long_long_format=yes \
 			ac_cv_file__dev_ptmx=yes \
 			ac_cv_file__dev_ptc=no
 
-HOST_CONFIGURE_ARGS+=	--without-cxx-main \
-			--with-threads
+HOST_CONFIGURE_ARGS+=	--without-cxx-main
 
 python3-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
 	${INSTALL_DIR} ${IDIR_PYTHON3}/usr/bin ${IDIR_PYTHON3}/usr/lib
@@ -112,7 +110,7 @@ python3-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
 	${CP} ${WRKINST}/usr/include/python3.9/pyconfig.h \
 		 ${IDIR_PYTHON3}/usr/include/python3.9
 	@-for i in zlib _bz2 _curses _ssl _gdbm _sqlite pyexpat readline; do \
-		rm ${IDIR_PYTHON3}/usr/lib/python3.8/lib-dynload/$${i}*so; \
+		rm ${IDIR_PYTHON3}/usr/lib/python3.9/lib-dynload/$${i}*so; \
 	done
 
 include ${ADK_TOPDIR}/mk/host-bottom.mk

+ 3 - 0
package/sqlite/Makefile

@@ -24,8 +24,10 @@ PKG_SUBPKGS:=		SQLITE_CLI LIBSQLITE
 PKGSD_LIBSQLITE:=	emeddable sql library
 PKGSC_LIBSQLITE:=	libs/db
 
+include ${ADK_TOPDIR}/mk/host.mk
 include ${ADK_TOPDIR}/mk/package.mk
 
+$(eval $(call HOST_template,SQLITE,sqlite,${PKG_VERSION}-${PKG_RELEASE}))
 $(eval $(call PKG_template,LIBSQLITE,libsqlite,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_LIBSQLITE},${PKGSD_LIBSQLITE},${PKGSC_LIBSQLITE},${PKG_OPTS}))
 $(eval $(call PKG_template,SQLITE_CLI,sqlite-cli,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
@@ -57,4 +59,5 @@ sqlite-cli-install:
 	${INSTALL_DIR} ${IDIR_SQLITE_CLI}/usr/bin
 	${INSTALL_BIN} ${WRKINST}/usr/bin/sqlite3 ${IDIR_SQLITE_CLI}/usr/bin
 
+include ${ADK_TOPDIR}/mk/host-bottom.mk
 include ${ADK_TOPDIR}/mk/pkg-bottom.mk

+ 8 - 12
package/xcb-proto/Makefile

@@ -4,28 +4,24 @@
 include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		xcb-proto
-PKG_VERSION:=		1.12
-PKG_RELEASE:=		2
-PKG_HASH:=		cfa49e65dd390233d560ce4476575e4b76e505a0e0bacdfb5ba6f8d0af53fd59
+PKG_VERSION:=		1.14.1
+PKG_RELEASE:=		1
+PKG_HASH:=		85cd21e9d9fbc341d0dbf11eace98d55d7db89fda724b0e598855fcddf0944fd
 PKG_DESCR:=		xml-xcb protocol descriptions
 PKG_SECTION:=		dev/header
-HOST_BUILDDEP:=		python2-host
+HOST_BUILDDEP:=		python3-host
 PKG_SITES:=		http://xcb.freedesktop.org/dist/
 PKG_OPTS:=		dev devonly
 
 DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.gz
 
-PKG_SUBPKGS:=		XCB_PROTO XCB_PYTHON
-PKGSC_XCB_PYTHON:=	x11/misc
-
 include $(ADK_TOPDIR)/mk/host.mk
 include $(ADK_TOPDIR)/mk/package.mk
 
 $(eval $(call HOST_template,XCB_PROTO,xcb-proto,$(PKG_VERSION)-${PKG_RELEASE}))
 $(eval $(call PKG_template,XCB_PROTO,xcb-proto,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-$(eval $(call PKG_template,XCB_PYTHON,xcb-python,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKGSC_XCB_PYTHON}))
 
-include $(ADK_TOPDIR)/mk/python.mk
+include $(ADK_TOPDIR)/mk/python3.mk
 
 HOST_STYLE:=		auto
 CONFIGURE_ENV+=		PYTHON=$(PYTHON)
@@ -38,13 +34,13 @@ post-build:
 	${INSTALL_DIR} ${STAGING_TARGET_DIR}/usr/share/xcb
 	${CP} ${WRKBUILD}/src/*.xml ${STAGING_TARGET_DIR}/usr/share/xcb
 
-xcb-python-install:
+xcb-proto-install:
 	$(INSTALL_DIR) ${STAGING_TARGET_DIR}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
 	${CP} ${WRKINST}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen/*.py \
 		${STAGING_TARGET_DIR}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
-	${INSTALL_DIR} ${IDIR_XCB_PYTHON}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
+	${INSTALL_DIR} ${IDIR_XCB_PROTO}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
 	${CP} ${WRKINST}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen/*.py \
-		${IDIR_XCB_PYTHON}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
+		${IDIR_XCB_PROTO}/usr/lib/python${PYTHON_VERSION}/site-packages/xcbgen
 
 include ${ADK_TOPDIR}/mk/host-bottom.mk
 include ${ADK_TOPDIR}/mk/pkg-bottom.mk

+ 13 - 0
package/xcb-proto/patches/patch-xcb-proto_pc_in

@@ -0,0 +1,13 @@
+--- xcb-proto-1.14.orig/xcb-proto.pc.in	2020-02-22 21:16:54.000000000 +0100
++++ xcb-proto-1.14/xcb-proto.pc.in	2023-01-04 18:28:01.354784124 +0100
+@@ -3,8 +3,8 @@ exec_prefix=@exec_prefix@
+ datarootdir=@datarootdir@
+ datadir=@datadir@
+ libdir=@libdir@
+-xcbincludedir=${pc_sysrootdir}@xcbincludedir@
+-pythondir=${pc_sysrootdir}@pythondir@
++xcbincludedir=@xcbincludedir@
++pythondir=@pythondir@
+ 
+ Name: XCB Proto
+ Description: X protocol descriptions for XCB

+ 41 - 0
scripts/prereq.sh

@@ -802,6 +802,19 @@ if [ ! -f $topdir/.config ]; then
 else
   # scan host-tool prerequisites of certain packages before building.
   . $topdir/.config
+
+  if [ -n "$ADK_PACKAGE_FIREFOX" ]; then
+    NEED_RUST="$NEED_RUST firefox"
+  fi
+  if [ -n "$ADK_PACKAGE_FIREFOX" ]; then
+    NEED_CARGO="$NEED_CARGO firefox"
+  fi
+  if [ -n "$ADK_PACKAGE_FIREFOX" ]; then
+    NEED_CLANG="$NEED_CLANG firefox"
+  fi
+  if [ -n "$ADK_PACKAGE_FIREFOX" ]; then
+    NEED_CBINDGEN="$NEED_CBINDGEN firefox"
+  fi
   if [ -n "$ADK_PACKAGE_KODI" ]; then
     NEED_JAVA="$NEED_JAVA kodi"
   fi
@@ -898,6 +911,34 @@ else
     fi
   fi
 
+  if [ -n "$NEED_RUST" ]; then
+    if ! which rustc >/dev/null 2>&1; then
+      printf "You need rustc to build $NEED_RUST \n"
+      out=1
+    fi
+  fi
+
+  if [ -n "$NEED_CARGO" ]; then
+    if ! which cargo >/dev/null 2>&1; then
+      printf "You need cargo to build $NEED_CARGO \n"
+      out=1
+    fi
+  fi
+
+  if [ -n "$NEED_CLANG" ]; then
+    if ! which clang-13 >/dev/null 2>&1; then
+      printf "You need clang-13 to build $NEED_CLANG \n"
+      out=1
+    fi
+  fi
+
+  if [ -n "$NEED_CBINDGEN" ]; then
+    if ! which cbindgen >/dev/null 2>&1; then
+      printf "You need cbindgen to build $NEED_CBINDGEN \n"
+      out=1
+    fi
+  fi
+
   if [ -n "$NEED_STATIC_LIBSTDCXX" ]; then
 cat >test.c <<-'EOF'
 	#include <stdio.h>