Merge pull request #693 from fewtarius/dev

Core updates.
This commit is contained in:
fewtarius 2022-11-02 17:21:36 -04:00 committed by GitHub
commit 257cf69da7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
121 changed files with 37600 additions and 8668 deletions

View file

@ -100,7 +100,7 @@ jobs:
* Decompress the image.
* Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too.
Download: [[Win600/Atari VCS/Generic x86_64](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)] [[RG353V/RG353P](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351P](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.img.gz)]
Download: [[Win600/Atari VCS/Generic x86_64](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)] [[RG353P/RG353M/RG353V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351P/RG351M](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.img.gz)]
> RG353V users, enable "DEVICE IS RG353V" in the system settings menu after flashing.
@ -111,7 +111,7 @@ jobs:
* Copy the update to your device over the network to your device's update share.
* Reboot the device, and the update will begin automatically.
Download: [[Win600/x86_64](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[RG353V/RG353P](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351P](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.tar)]
Download: [[Win600/x86_64](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[RG353P/RG353M/RG353V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351P](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.tar)]
## Documentation
* [Home](https://github.com/JustEnoughLinuxOS/distribution/wiki)

View file

@ -97,7 +97,7 @@ jobs:
* Decompress the image.
* Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too.
Download: [[Win600/Atari VCS/Generic x86_64](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)] [[RG353V/RG353P](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351P](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.img.gz)]
Download: [[Win600/Atari VCS/Generic x86_64](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)] [[RG353P/RG353M/RG353V](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351P/RG351M](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.img.gz)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.img.gz)]
> RG353V users, enable "DEVICE IS RG353V" in the system settings menu after flashing.
@ -110,7 +110,7 @@ jobs:
* Copy the update to your device over the network to your device's update share.
* Reboot the device, and the update will begin automatically.
Download: [[Win600/x86_64](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[RG353V/RG353P](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351P](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.tar)]
Download: [[Win600/x86_64](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[RG353P/RG353M/RG353P](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351P/RG353M](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.tar)]
## Documentation
* [Home](https://github.com/JustEnoughLinuxOS/distribution/wiki)

View file

@ -9,7 +9,7 @@ Just Enough Linux Operating System (JELOS) is a community developed Linux distri
* Supports FAT32, ExFAT, and EXT4 file systems on removable storage (slot/device #2).
* 2.4GHz and 5GHz 802.11 A/B/G/N/AC WIFI support.
* Online update capability for easy access to stable or development builds.
* Support for the Anbernic WIN600, RG552, RG503, RG353P, RG353V, RG351P/M, RG351MP, RG351V, and Atari VCS.
* Support for the Anbernic WIN600, RG552, RG503, RG353P, RG353M, RG353V, RG351P, RG351M, RG351MP, RG351V, and Atari VCS.
* Developed by a small, friendly community.
## Licenses

View file

@ -719,6 +719,15 @@ do_autoreconf() {
export LIBTOOLIZE=$TOOLCHAIN/bin/libtoolize
fi
# >autoconf-2.69 will call gtkdocize when used in macros
# when called with --install parameter.
# use "true" unless gtkdocsize is in the toolchain.
if [ -e "$TOOLCHAIN/bin/gtkdocize" ]; then
export GTKDOCIZE=$TOOLCHAIN/bin/gtkdocize
else
export GTKDOCIZE=true
fi
if [ -e "$TOOLCHAIN/bin/intltoolize" ]; then
export INTLTOOLIZE=$TOOLCHAIN/bin/intltoolize
fi

View file

@ -61,18 +61,12 @@ XORG_PATH_DRIVERS=/usr/lib/xorg/modules/drivers
. config/optimize
# use ARM toolchain on 64/32 split builds
# use different toolchain for 64/32 split builds
if [ -z "$KERNEL_TOOLCHAIN" -a "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then
if [ "${MACHINE_HARDWARE_NAME}" = "x86_64" ]; then
KERNEL_TOOLCHAIN="aarch64-none-linux-gnu"
elif [ "${MACHINE_HARDWARE_NAME}" = "aarch64" ]; then
KERNEL_TOOLCHAIN="aarch64-none-elf"
else
die "No known toolchain available for ${MACHINE_HARDWARE_NAME}."
fi
KERNEL_TOOLCHAIN="aarch64"
fi
if [ -n "$KERNEL_TOOLCHAIN" ]; then
TARGET_KERNEL_PREFIX=$TOOLCHAIN/lib/gcc-arm-$KERNEL_TOOLCHAIN/bin/$KERNEL_TOOLCHAIN-
TARGET_KERNEL_PREFIX=$KERNEL_TOOLCHAIN-none-elf-
else
TARGET_KERNEL_PREFIX=$TARGET_PREFIX
fi
@ -106,3 +100,6 @@ unset CONFIG_SITE
# Ignore custom python installs...
unset PYTHONHOME PYTHONPATH PYTHONSTARTUP
export PYTHONNOUSERSITE=yes #disable PEP 370
# Fix #4737
unset PYTHONDONTWRITEBYTECODE

View file

@ -1,12 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="android-headers"
PKG_VERSION="25"
PKG_SHA256="1e0ecdf56c33aaa523109254e2c475878d8cfc5795ebd4bb5ecbaf80926f4fe9"
PKG_LICENSE="Apache"
PKG_SITE="https://android.googlesource.com/"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Android Platform Headers from AOSP releases."
PKG_TOOLCHAIN="manual"

View file

@ -4,8 +4,8 @@
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="attr"
PKG_VERSION="2.4.48"
PKG_SHA256="5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7"
PKG_VERSION="2.5.1"
PKG_SHA256="bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8"
PKG_LICENSE="GPL"
PKG_SITE="https://savannah.nongnu.org/projects/attr"
PKG_URL="http://download.savannah.nongnu.org/releases/attr/${PKG_NAME}-${PKG_VERSION}.tar.gz"

View file

@ -3,8 +3,8 @@
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="autoconf-archive"
PKG_VERSION="2019.01.06"
PKG_SHA256="17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f"
PKG_VERSION="2022.09.03"
PKG_SHA256="e07454f00d8cae7907bed42d0747798927809947684d94c37207a4d63a32f423"
PKG_LICENSE="GPL"
PKG_SITE="https://www.gnu.org/software/autoconf-archive/"
PKG_URL="http://ftpmirror.gnu.org/autoconf-archive/${PKG_NAME}-${PKG_VERSION}.tar.xz"

View file

@ -2,8 +2,8 @@
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
PKG_NAME="autoconf"
PKG_VERSION="2.69"
PKG_SHA256="64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684"
PKG_VERSION="2.71"
PKG_SHA256="f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4"
PKG_LICENSE="GPL"
PKG_SITE="http://sources.redhat.com/autoconf/"
PKG_URL="http://ftpmirror.gnu.org/autoconf/${PKG_NAME}-${PKG_VERSION}.tar.xz"

View file

@ -1,59 +0,0 @@
From 8e269b13bc042bc2504d5860e0d453b4aac32909 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 24 Jun 2018 13:45:26 +0200
Subject: [PATCH] backport AC_INIT: add --runstatedir option to configure
Backport of a197431414088a417b407b9b20583b2e8f7363bd.
Changes to NEWS and doc/autoconf.tex have been dropped.
---
lib/autoconf/general.m4 | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index adfae1db..1437c0ca 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
@@ -586,6 +586,7 @@ AC_SUBST([datadir], ['${datarootdir}'])dnl
AC_SUBST([sysconfdir], ['${prefix}/etc'])dnl
AC_SUBST([sharedstatedir], ['${prefix}/com'])dnl
AC_SUBST([localstatedir], ['${prefix}/var'])dnl
+AC_SUBST([runstatedir], ['${localstatedir}/run'])dnl
AC_SUBST([includedir], ['${prefix}/include'])dnl
AC_SUBST([oldincludedir], ['/usr/include'])dnl
AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
@@ -812,6 +813,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -921,7 +931,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1058,6 +1068,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--
2.11.0

View file

@ -1,60 +0,0 @@
The check for solaris 'print' causes significant problems on a linux machine
with dash as /bin/sh since it triggers the execution of "print" which on some
linux systems is a perl script which is part of mailcap. Worse, this perl
script calls "which file" and if successful ignores the path file was found
in and just runs "file" without a path. Each exection causes PATH to be searched.
Simply assuming the shell's printf function works cuts out all the fork overhead
and when parallel tasks are running, this overhead appears to be significant.
RP
2015/11/28
Upstream-Status: Inappropriate
Index: autoconf-2.69/lib/m4sugar/m4sh.m4
===================================================================
--- autoconf-2.69.orig/lib/m4sugar/m4sh.m4
+++ autoconf-2.69/lib/m4sugar/m4sh.m4
@@ -1045,40 +1045,8 @@ m4_defun([_AS_ECHO_PREPARE],
[[as_nl='
'
export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$][1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$][1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$][1;
- case $arg in @%:@(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
+as_echo='printf %s\n'
+as_echo_n='printf %s'
]])# _AS_ECHO_PREPARE

View file

@ -43,39 +43,30 @@ Index: autoconf-2.63/bin/autoreconf.in
# Even if the user specified a configure.ac, trim to get the
# directory, and look for configure.ac again. Because (i) the code
# is simpler, and (ii) we are still able to diagnose simultaneous
@@ -255,6 +266,11 @@
{
my ($aclocal, $flags) = @_;
+ @ex = grep (/^aclocal$/, @exclude);
+ if ($#ex != -1) {
+ return;
+ }
+
# aclocal 1.8+ does all this for free. It can be recognized by its
# --force support.
if ($aclocal_supports_force)
@@ -368,7 +384,10 @@
}
else
{
- xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
- xsystem_hint ("autopoint is needed because this package uses Gettext",
- $autopoint);
+ @ex = grep (/^autopoint$/, @exclude);
+ if ($#ex == -1) {
+ xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
+ xsystem_hint ("autopoint is needed because this package uses Gettext",
+ $autopoint);
+ }
}
@@ -532,16 +551,17 @@
@@ -532,16 +551,19 @@
{
$libtoolize .= " --ltdl";
}
- xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
- xsystem_hint ("libtoolize is needed because this package uses Libtool",
- $libtoolize);
- $rerun_aclocal = 1;
+ @ex = grep (/^libtoolize$/, @exclude);
+ if ($#ex == -1) {
+ xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
+ xsystem_hint ("libtoolize is needed because this package uses Libtool",
+ $libtoolize);
+ $rerun_aclocal = 1;
+ }
}
@ -84,11 +75,24 @@ Index: autoconf-2.63/bin/autoreconf.in
verb "$configure_ac: not running libtoolize: --install not given";
}
-
-
# ------------------- #
# Rerunning aclocal. #
# ------------------- #
# --------------------- #
# Running intltoolize. #
# --------------------- #
@@ -748,8 +748,11 @@
}
elsif ($install)
{
- xsystem_hint ("gtkdocize is needed because this package uses Gtkdoc",
- $gtkdocize);
+ @ex = grep (/^autopoint$/, @exclude);
+ if ($#ex == -1) {
+ xsystem_hint ("gtkdocize is needed because this package uses Gtkdoc",
+ $gtkdocize);
+ }
}
else
{
@@ -572,7 +592,10 @@
# latter runs the former, and (ii) autoconf is stricter than
# autoheader. So all in all, autoconf should give better error
@ -115,8 +119,8 @@ Index: autoconf-2.63/bin/autoreconf.in
@@ -610,7 +636,10 @@
# We should always run automake, and let it decide whether it shall
# update the file or not. In fact, the effect of `$force' is already
# included in `$automake' via `--no-force'.
# update the file or not. In fact, the effect of '$force' is already
# included in '$automake' via '--no-force'.
- xsystem ($automake);
+ @ex = grep (/^automake$/, @exclude);
+ if ($#ex == -1) {
@ -124,7 +128,7 @@ Index: autoconf-2.63/bin/autoreconf.in
+ }
}
# ---------------------------------------------------- #
@@ -634,7 +663,10 @@
}
else

View file

@ -0,0 +1,10 @@
--- a/Makefile.in 2021-02-28 12:25:11.000000000 +0000
+++ b/Makefile.in 2021-02-28 12:25:11.000000000 +0000
@@ -780,7 +780,6 @@
man/autoconf.1 \
man/autoheader.1 \
man/autom4te.1 \
- man/autoreconf.1 \
man/autoscan.1 \
man/autoupdate.1 \
man/ifnames.1

View file

@ -9,6 +9,7 @@ PKG_SITE="http://sources.redhat.com/automake/"
PKG_URL="http://ftpmirror.gnu.org/automake/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host autoconf:host"
PKG_LONGDESC="A GNU tool for automatically creating Makefiles."
PKG_BUILD_FLAGS="-parallel"
PKG_CONFIGURE_OPTS_HOST="--target=${TARGET_NAME} --disable-silent-rules"

View file

@ -0,0 +1,54 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="binutils-aarch64"
PKG_VERSION="$(get_pkg_version binutils)"
PKG_LICENSE="GPL"
PKG_URL=""
PKG_DEPENDS_HOST="toolchain:host"
PKG_LONGDESC="A GNU collection of binary utilities for 64-bit ARM."
PKG_DEPENDS_UNPACK+=" binutils"
PKG_PATCH_DIRS+=" $(get_pkg_directory binutils)/patches"
PKG_CONFIGURE_OPTS_HOST="--target=aarch64-none-elf \
--with-sysroot=${SYSROOT_PREFIX} \
--with-lib-path=${SYSROOT_PREFIX}/lib:${SYSROOT_PREFIX}/usr/lib \
--without-ppl \
--enable-static \
--without-cloog \
--disable-werror \
--disable-multilib \
--disable-libada \
--disable-libssp \
--enable-version-specific-runtime-libs \
--enable-plugins \
--enable-gold \
--enable-ld=default \
--enable-lto \
--disable-nls"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/binutils/binutils-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}
pre_configure_host() {
unset CPPFLAGS
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
}
make_host() {
make configure-host
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true
}
makeinstall_host() {
cp -v ../include/libiberty.h ${SYSROOT_PREFIX}/usr/include
make -C bfd install # fix parallel build with libctf requiring bfd
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true install
}

View file

@ -0,0 +1,54 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="binutils-arm-none-eabi"
PKG_VERSION="$(get_pkg_version binutils)"
PKG_LICENSE="GPL"
PKG_URL=""
PKG_DEPENDS_HOST="toolchain:host"
PKG_LONGDESC="A GNU collection of binary utilities for ARM Cortex-R/M processors."
PKG_DEPENDS_UNPACK+=" binutils"
PKG_PATCH_DIRS+=" $(get_pkg_directory binutils)/patches"
PKG_CONFIGURE_OPTS_HOST="--target=arm-none-eabi \
--with-sysroot=${SYSROOT_PREFIX} \
--with-lib-path=${SYSROOT_PREFIX}/lib:${SYSROOT_PREFIX}/usr/lib \
--without-ppl \
--enable-static \
--without-cloog \
--disable-werror \
--disable-multilib \
--disable-libada \
--disable-libssp \
--enable-version-specific-runtime-libs \
--enable-plugins \
--enable-gold \
--enable-ld=default \
--enable-lto \
--disable-nls"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/binutils/binutils-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}
pre_configure_host() {
unset CPPFLAGS
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
}
make_host() {
make configure-host
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true
}
makeinstall_host() {
cp -v ../include/libiberty.h ${SYSROOT_PREFIX}/usr/include
make -C bfd install # fix parallel build with libctf requiring bfd
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true install
}

View file

@ -0,0 +1,54 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="binutils-bpf"
PKG_VERSION="$(get_pkg_version binutils)"
PKG_LICENSE="GPL"
PKG_URL=""
PKG_DEPENDS_HOST="toolchain:host"
PKG_LONGDESC="A GNU collection of binary utilities for 64-bit ARM."
PKG_DEPENDS_UNPACK+=" binutils"
PKG_PATCH_DIRS+=" $(get_pkg_directory binutils)/patches"
PKG_CONFIGURE_OPTS_HOST="--target=bpf \
--with-sysroot=${SYSROOT_PREFIX} \
--with-lib-path=${SYSROOT_PREFIX}/lib:${SYSROOT_PREFIX}/usr/lib \
--without-ppl \
--enable-static \
--without-cloog \
--disable-werror \
--disable-multilib \
--disable-libada \
--disable-libssp \
--enable-version-specific-runtime-libs \
--enable-plugins \
--enable-gold \
--enable-ld=default \
--enable-lto \
--disable-nls"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/binutils/binutils-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}
pre_configure_host() {
unset CPPFLAGS
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
}
make_host() {
make configure-host
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true
}
makeinstall_host() {
cp -v ../include/libiberty.h ${SYSROOT_PREFIX}/usr/include
make -C bfd install # fix parallel build with libctf requiring bfd
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true install
}

View file

@ -0,0 +1,54 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="binutils-or1k"
PKG_VERSION="$(get_pkg_version binutils)"
PKG_LICENSE="GPL"
PKG_URL=""
PKG_DEPENDS_HOST="toolchain:host"
PKG_LONGDESC="A GNU collection of binary utilities for OpenRISC 1000."
PKG_DEPENDS_UNPACK+=" binutils"
PKG_PATCH_DIRS+=" $(get_pkg_directory binutils)/patches"
PKG_CONFIGURE_OPTS_HOST="--target=or1k-none-elf \
--with-sysroot=${SYSROOT_PREFIX} \
--with-lib-path=${SYSROOT_PREFIX}/lib:${SYSROOT_PREFIX}/usr/lib \
--without-ppl \
--enable-static \
--without-cloog \
--disable-werror \
--disable-multilib \
--disable-libada \
--disable-libssp \
--enable-version-specific-runtime-libs \
--enable-plugins \
--enable-gold \
--enable-ld=default \
--enable-lto \
--disable-nls"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/binutils/binutils-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}
pre_configure_host() {
unset CPPFLAGS
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
}
make_host() {
make configure-host
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true
}
makeinstall_host() {
cp -v ../include/libiberty.h ${SYSROOT_PREFIX}/usr/include
make -C bfd install # fix parallel build with libctf requiring bfd
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true install
}

View file

@ -3,10 +3,11 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="binutils"
PKG_VERSION="2.38"
PKG_VERSION="2.39"
PKG_SHA256="645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/binutils/"
PKG_URL="http://ftp.gnu.org/gnu/binutils/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_SITE="https://www.gnu.org/software/binutils/"
PKG_URL="https://ftp.gnu.org/gnu/binutils/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host bison:host flex:host linux:host"
PKG_DEPENDS_TARGET="toolchain zlib binutils:host"
PKG_LONGDESC="A GNU collection of binary utilities."
@ -15,6 +16,7 @@ PKG_CONFIGURE_OPTS_HOST="--target=${TARGET_NAME} \
--with-sysroot=${SYSROOT_PREFIX} \
--with-lib-path=${SYSROOT_PREFIX}/lib:${SYSROOT_PREFIX}/usr/lib \
--without-ppl \
--enable-static \
--without-cloog \
--disable-werror \
--disable-multilib \
@ -33,8 +35,8 @@ PKG_CONFIGURE_OPTS_TARGET="--target=${TARGET_NAME} \
--with-system-zlib \
--without-ppl \
--without-cloog \
--disable-static \
--enable-shared \
--enable-static \
--disable-shared \
--disable-werror \
--disable-multilib \
--disable-libada \
@ -54,12 +56,15 @@ pre_configure_host() {
make_host() {
make configure-host
make
# override the makeinfo binary with true - this does not build the documentation
make MAKEINFO=true
}
makeinstall_host() {
cp -v ../include/libiberty.h ${SYSROOT_PREFIX}/usr/include
make install
make -C bfd install # fix parallel build with libctf requiring bfd
# override the makeinfo binary with true - this does not build the documentation
make HELP2MAN=true MAKEINFO=true install
}
make_target() {

View file

@ -10,9 +10,9 @@ From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 15 Jan 2016 06:31:09 +0000
Subject: [PATCH 09/13] warn for uses of system directories when cross linking
--- a/ld/ldfile.c 2015-11-13 09:27:42.000000000 +0100
+++ b/ld/ldfile.c 2016-11-15 19:09:31.658371254 +0100
@@ -102,6 +102,17 @@ ldfile_add_library_path (const char *nam
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -103,6 +103,17 @@ ldfile_add_library_path (const char *nam
if (!cmdline && config.only_cmd_line_lib_dirs)
return;

View file

@ -0,0 +1,11 @@
--- a/bfd/Makefile.in 2022-08-05 09:53:59.000000000 +0000
+++ b/bfd/Makefile.in 2022-08-07 11:22:25.397501975 +0000
@@ -264,7 +264,7 @@
am__v_texidevnull_0 = > /dev/null
am__v_texidevnull_1 =
am__dirstamp = $(am__leading_dot)dirstamp
-INFO_DEPS = doc/bfd.info
+INFO_DEPS =
am__TEXINFO_TEX_DIR = $(srcdir)
DVIS = doc/bfd.dvi
PDFS = doc/bfd.pdf

View file

@ -3,8 +3,7 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="boost"
PKG_VERSION="1.78.0"
PKG_SHA256="8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc"
PKG_VERSION="1.80.0"
PKG_LICENSE="OSS"
PKG_SITE="http://www.boost.org/"
PKG_URL="https://boostorg.jfrog.io/artifactory/main/release/${PKG_VERSION}/source/${PKG_NAME}_${PKG_VERSION//./_}.tar.bz2"
@ -21,7 +20,7 @@ make_host() {
makeinstall_host() {
mkdir -p ${TOOLCHAIN}/bin
cp bjam ${TOOLCHAIN}/bin
cp b2 ${TOOLCHAIN}/bin
}
pre_configure_target() {
@ -31,7 +30,7 @@ pre_configure_target() {
configure_target() {
sh bootstrap.sh --prefix=/usr \
--with-bjam=${TOOLCHAIN}/bin/bjam \
--with-bjam=${TOOLCHAIN}/bin/b2 \
--with-python=${TOOLCHAIN}/bin/python \
--with-python-root=${SYSROOT_PREFIX}/usr
@ -42,6 +41,7 @@ configure_target() {
}
makeinstall_target() {
ln -sf ${TOOLCHAIN}/bin/b2 ${TOOLCHAIN}/bin/bjam
${TOOLCHAIN}/bin/bjam -d2 --ignore-site-config \
--layout=system \
--prefix=${SYSROOT_PREFIX}/usr \

View file

@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="cmake"
PKG_VERSION="3.23.2"
PKG_SHA256="f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa"
PKG_VERSION="3.24.2"
PKG_SHA256="0d9020f06f3ddf17fb537dc228e1a56c927ee506b486f55fe2dc19f69bf0c8db"
PKG_LICENSE="BSD"
PKG_SITE="https://cmake.org/"
PKG_URL="https://cmake.org/files/v$(get_pkg_version_maj_min)/cmake-${PKG_VERSION}.tar.gz"

View file

@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="configtools"
PKG_VERSION="c8ddc8472f8efcadafc1ef53ca1d863415fddd5f" # 2020-12-22
PKG_SHA256="6389d62e4e55554c764c2c0deb5b42767f34d7f274728c28355fedbaa337165b"
PKG_VERSION="20403c5701973a4cbd7e0b4bbeb627fcd424a0f1" # 2022-08-01
PKG_SHA256="d89be2c5a06d45e4a8731404cd6eb52ddde393480a56754a68b44f36753e38d7"
PKG_LICENSE="GPL"
PKG_SITE="http://git.savannah.gnu.org/cgit/config.git"
PKG_URL="http://git.savannah.gnu.org/cgit/config.git/snapshot/config-${PKG_VERSION}.tar.gz"

View file

@ -1,24 +1,15 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="crossguid"
PKG_VERSION="8f399e8bd4252be9952f3dfa8199924cc8487ca4"
PKG_SHA256="022c9f02cc36e865cd8fd0111a597ff2bd91988deeb348dbe2aba64aed1abd99"
PKG_VERSION="ca1bf4b810e2d188d04cb6286f957008ee1b7681" # 2019-05-30
PKG_SHA256="6be27e0b3a4907f0cd3cfadec255ee1b925569e1bd06e67a4d2f4267299b69c4"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/graeme-hill/crossguid"
PKG_URL="https://github.com/graeme-hill/crossguid/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain util-linux"
PKG_LONGDESC="minimal, cross platform, C++ GUID library"
PKG_TOOLCHAIN="manual"
make_target() {
${CXX} -c guid.cpp -o guid.o ${CXXFLAGS} -std=c++11 -DGUID_LIBUUID
${AR} rvs libcrossguid.a guid.o
}
makeinstall_target() {
mkdir -p ${SYSROOT_PREFIX}/usr/lib/
cp libcrossguid.a ${SYSROOT_PREFIX}/usr/lib/
mkdir -p ${SYSROOT_PREFIX}/usr/include/
cp guid.h ${SYSROOT_PREFIX}/usr/include
}
PKG_CMAKE_OPTS_TARGET="-DCROSSGUID_TESTS=OFF \
-Wno-dev"

View file

@ -1,10 +1,11 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
# Copyright (C) 2022-present Team CoreELEC (https://coreelec.org)
PKG_NAME="dbus-glib"
PKG_VERSION="0.110"
PKG_SHA256="7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825"
PKG_VERSION="0.112"
PKG_SHA256="7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a"
PKG_LICENSE="GPL"
PKG_SITE="https://freedesktop.org/wiki/Software/dbus"
PKG_URL="https://dbus.freedesktop.org/releases/dbus-glib/${PKG_NAME}-${PKG_VERSION}.tar.gz"

View file

@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="elfutils"
PKG_VERSION="0.186"
PKG_SHA256="7f6fb9149b1673d38d9178a0d3e0fb8a1ec4f53a9f4c2ff89469609879641177"
PKG_VERSION="0.187"
PKG_SHA256="e70b0dfbe610f90c4d1fe0d71af142a4e25c3c4ef9ebab8d2d72b65159d454c8"
PKG_LICENSE="GPL"
PKG_SITE="https://sourceware.org/elfutils/"
PKG_URL="https://sourceware.org/elfutils/ftp/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"

View file

@ -3,8 +3,8 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="fakeroot"
PKG_VERSION="1.25.3"
PKG_SHA256="8e903683357f7f5bcc31b879fd743391ad47691d4be33d24a76be3b6c21e956c"
PKG_VERSION="1.29"
PKG_SHA256="8fbbafb780c9173e3ace4a04afbc1d900f337f3216883939f5c7db3431be7c20"
PKG_LICENSE="GPL3"
PKG_SITE="https://tracker.debian.org/pkg/fakeroot"
PKG_URL="http://ftp.debian.org/debian/pool/main/f/fakeroot/${PKG_NAME}_${PKG_VERSION}.orig.tar.gz"

View file

@ -1,56 +0,0 @@
From f6ca3217ec2fad93d078fa0121aa8f88d7d12ccb Mon Sep 17 00:00:00 2001
From: lualiliu <lualiliu@outlook.com>
Date: Wed, 7 Sep 2022 10:57:49 +0800
Subject: [PATCH] Add a patch about fakeroot(_STAT_VER undeclared)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
solve it:
libfakeroot.c:99:40: error: _STAT_VER undeclared (first use in this
function)
---
...fine-_STAT_VER-if-not-already-define.patch | 34 +++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 packages/devel/fakeroot/patches/0001-libfakeroot.c-define-_STAT_VER-if-not-already-define.patch
diff --git a/packages/devel/fakeroot/patches/0001-libfakeroot.c-define-_STAT_VER-if-not-already-define.patch b/packages/devel/fakeroot/patches/0001-libfakeroot.c-define-_STAT_VER-if-not-already-define.patch
new file mode 100644
index 00000000..613d0c95
--- /dev/null
+++ b/packages/devel/fakeroot/patches/0001-libfakeroot.c-define-_STAT_VER-if-not-already-define.patch
@@ -0,0 +1,34 @@
+From ca68c7336dea4a07cf5b77c1fdc9e9aee4984ca5 Mon Sep 17 00:00:00 2001
+From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
+Date: Thu, 11 Feb 2021 20:59:25 -0800
+Subject: [PATCH 1/3] libfakeroot.c: define _STAT_VER if not already defined
+
+Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
+---
+ libfakeroot.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/libfakeroot.c b/libfakeroot.c
+index 3e80e38..14cdbc4 100644
+--- a/libfakeroot.c
++++ b/libfakeroot.c
+@@ -90,6 +90,16 @@
+ #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b)
+ #endif
+
++#ifndef _STAT_VER
++ #if defined (__aarch64__)
++ #define _STAT_VER 0
++ #elif defined (__x86_64__)
++ #define _STAT_VER 1
++ #else
++ #define _STAT_VER 3
++ #endif
++#endif
++
+ /*
+ These INT_* (which stands for internal) macros should always be used when
+ the fakeroot library owns the storage of the stat variable.
+--
+2.30.1
+

View file

@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="flatbuffers"
PKG_VERSION="1.12.0"
PKG_SHA256="62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45"
PKG_VERSION="2.0.8"
PKG_SHA256="f97965a727d26386afaefff950badef2db3ab6af9afe23ed6d94bfb65f95f37e"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/google/flatbuffers"
PKG_URL="https://github.com/google/flatbuffers/archive/v${PKG_VERSION}.tar.gz"
@ -23,7 +23,7 @@ PKG_CMAKE_OPTS_HOST="-DFLATBUFFERS_CODE_COVERAGE=OFF \
PKG_CMAKE_OPTS_TARGET="-DFLATBUFFERS_CODE_COVERAGE=OFF \
-DFLATBUFFERS_BUILD_TESTS=OFF \
-DFLATBUFFERS_INSTALL=ON \
-DFLATBUFFERS_BUILD_FLATLIB=OFF \
-DFLATBUFFERS_BUILD_FLATLIB=ON \
-DFLATBUFFERS_BUILD_FLATC=OFF \
-DFLATBUFFERS_BUILD_FLATHASH=OFF \
-DFLATBUFFERS_BUILD_GRPCTEST=OFF \

View file

@ -3,14 +3,13 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="fribidi"
PKG_VERSION="1.0.10"
PKG_SHA256="7f1c687c7831499bcacae5e8675945a39bacbad16ecaa945e9454a32df653c01"
PKG_VERSION="1.0.12"
PKG_SHA256="0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495"
PKG_LICENSE="LGPL"
PKG_SITE="http://fribidi.freedesktop.org/"
PKG_URL="https://github.com/fribidi/fribidi/releases/download/v${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A bidirectional algorithm library."
PKG_TOOLCHAIN="meson"
PKG_BUILD_FLAGS="+pic"
PKG_MESON_OPTS_TARGET="-Ddeprecated=false \

View file

@ -3,11 +3,11 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gettext"
PKG_VERSION="0.21"
PKG_SHA256="d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192"
PKG_VERSION="0.21.1"
PKG_SHA256="50dbc8f39797950aa2c98e939947c527e5ac9ebd2c1b99dd7b06ba33a6767ae6"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/s/gettext/"
PKG_URL="http://ftp.gnu.org/pub/gnu/gettext/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_SITE="https://www.gnu.org/s/gettext/"
PKG_URL="https://ftp.gnu.org/pub/gnu/gettext/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A program internationalization library and tools."

View file

@ -3,14 +3,14 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="glib"
PKG_VERSION="2.71.0"
PKG_VERSION="2.74.0"
PKG_SHA256="3652c7f072d7b031a6b5edd623f77ebc5dcd2ae698598abcc89ff39ca75add30"
PKG_LICENSE="LGPL"
PKG_SITE="https://www.gtk.org/"
PKG_URL="https://download.gnome.org/sources/glib/$(get_pkg_version_maj_min)/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="libffi:host pcre:host Python3:host meson:host ninja:host"
PKG_DEPENDS_TARGET="toolchain pcre zlib libffi Python3:host util-linux"
PKG_DEPENDS_HOST="libffi:host pcre2:host Python3:host meson:host ninja:host"
PKG_DEPENDS_TARGET="toolchain pcre2 zlib libffi Python3:host util-linux"
PKG_LONGDESC="A library which includes support routines for C such as lists, trees, hashes, memory allocation."
PKG_TOOLCHAIN="meson"
PKG_MESON_OPTS_HOST="-Ddefault_library=shared \
-Dinstalled_tests=false \

View file

@ -3,19 +3,22 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="glibc"
PKG_VERSION="2.35"
PKG_SHA256="5123732f6b67ccd319305efd399971d58592122bcc2a6518a1bd2510dd0cf52e"
PKG_VERSION="2.36"
PKG_SHA256="1c959fea240906226062cb4b1e7ebce71a9f0e3c0836c09e7e3423d434fcfe75"
PKG_LICENSE="GPL"
PKG_SITE="https://www.gnu.org/software/libc/"
PKG_URL="https://ftp.gnu.org/pub/gnu/glibc/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="ccache:host autotools:host linux:host gcc:bootstrap pigz:host Python3:host"
PKG_DEPENDS_INIT="glibc"
PKG_LONGDESC="The Glibc package contains the main C library."
PKG_BUILD_FLAGS="-gold"
PKG_BUILD_FLAGS="+bfd -gold"
case "${DEVICE}" in
RG351P|RG351V|RG351MP|RG503|RG353P)
OPT_ENABLE_KERNEL="--enable-kernel=4.4.0"
RG353P|RG503|RG351P|RG351V|RG351MP)
OPT_ENABLE_KERNEL=4.4.0
;;
*)
OPT_ENABLE_KERNEL=5.15.0
;;
esac
@ -33,7 +36,7 @@ PKG_CONFIGURE_OPTS_TARGET="BASH_SHELL=/bin/sh \
--with-__thread \
--with-binutils=${BUILD}/toolchain/bin \
--with-headers=${SYSROOT_PREFIX}/usr/include \
${OPT_ENABLE_KERNEL} \
--enable-kernel=${OPT_ENABLE_KERNEL} \
--without-cvs \
--without-gd \
--disable-build-nscd \
@ -95,6 +98,16 @@ EOF
# binaries to install into target
GLIBC_INCLUDE_BIN="getent ldd locale localedef"
# glibc does not need / nor build successfully with _FILE_OFFSET_BITS or _TIME_BITS set
case ${ARCH} in
arm|aarch64)
export CFLAGS=$(echo ${CFLAGS} | sed -e "s|-D_FILE_OFFSET_BITS=64||g")
export CFLAGS=$(echo ${CFLAGS} | sed -e "s|-D_TIME_BITS=64||g")
export CXXFLAGS=$(echo ${CXXFLAGS} | sed -e "s|-D_FILE_OFFSET_BITS=64||g")
export CXXFLAGS=$(echo ${CXXFLAGS} | sed -e "s|-D_TIME_BITS=64||g")
;;
esac
}
post_makeinstall_target() {
@ -105,9 +118,7 @@ post_makeinstall_target() {
safe_remove ${INSTALL}/usr/lib/audit
safe_remove ${INSTALL}/usr/lib/glibc
safe_remove ${INSTALL}/usr/lib/libc_pic
safe_remove ${INSTALL}/usr/lib/*.o
safe_remove ${INSTALL}/usr/lib/*.map
safe_remove ${INSTALL}/var
# add UTF-8 charmap

View file

@ -0,0 +1,27 @@
From 85892fbc0d6f64f564f0d4c9514a7183ad8eb985 Mon Sep 17 00:00:00 2001
From: alex <knaerzche@gmail.com>
Date: Sun, 17 Jul 2022 12:16:20 +0200
Subject: [PATCH] HACK: Don't check GLIBC_ABI_DT_RELR support for ChromeOS
libwidevinecdm.so
---
elf/dl-version.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/elf/dl-version.c b/elf/dl-version.c
index cda0889209..058394f148 100644
--- a/elf/dl-version.c
+++ b/elf/dl-version.c
@@ -373,7 +373,8 @@ _dl_check_map_versions (struct link_map *map, int verbose, int trace_mode)
if (d->d_tag == DT_NEEDED)
{
const char *name = strtab + d->d_un.d_val;
- if (strncmp (name, "libc.so.", 8) == 0)
+ if (strncmp (name, "libc.so.", 8) == 0 &&
+ strstr (map->l_name, "libwidevinecdm.so") == NULL)
{
_dl_exception_create
(&exception, DSO_FILENAME (map->l_name),
--
2.37.1

View file

@ -1,327 +0,0 @@
From 6676e967dba405ca31d57b63e096becd13d4a200 Mon Sep 17 00:00:00 2001
From: Rahul Chaudhry <rahulchaudhry@chromium.org>
Date: Thu, 15 Mar 2018 14:30:17 -0700
Subject: [PATCH 4/8] sys-libs/glibc: add support for SHT_RELR sections.
This patch adds experimental support for SHT_RELR sections, proposed
here: https://groups.google.com/forum/#!topic/generic-abi/bX460iggiKg
SHT_RELR sections are supported for arm, aarch64, and x86_64 targets.
To enable them, pass '--experimental-use-relr' flag to gold.
Definitions for the new ELF section type and dynamic array tags, as well
as the encoding used in the new section are all under discussion and are
subject to change. We plan to send the patch upstream after the gABI has
been updated to include the new definitions.
[Adrian: forward-ported to glibc 2.32]
---
elf/do-rel.h | 41 ++++++++++++++++++++++++++++++++++--
elf/dynamic-link.h | 15 +++++++++++++
elf/elf.h | 15 +++++++++++--
elf/get-dynamic-info.h | 7 ++++++
sysdeps/aarch64/dl-machine.h | 10 +++++++++
sysdeps/arm/dl-machine.h | 10 +++++++++
sysdeps/i386/dl-machine.h | 10 +++++++++
sysdeps/x86_64/dl-machine.h | 10 +++++++++
8 files changed, 114 insertions(+), 4 deletions(-)
--- a/elf/do-rel.h
+++ b/elf/do-rel.h
@@ -28,6 +28,12 @@
# define elf_machine_rel_relative elf_machine_rela_relative
#endif
+#ifdef DO_RELR
+# define elf_dynamic_do_Rel elf_dynamic_do_Relr
+# define Rel Relr
+# define elf_machine_rel_relative elf_machine_relr_relative
+#endif
+
#ifndef DO_ELF_MACHINE_REL_RELATIVE
# define DO_ELF_MACHINE_REL_RELATIVE(map, l_addr, relative) \
elf_machine_rel_relative (l_addr, relative, \
@@ -48,12 +54,12 @@ elf_dynamic_do_Rel (struct link_map *map
const ElfW(Rel) *r = (const void *) reladdr;
const ElfW(Rel) *end = (const void *) (reladdr + relsize);
ElfW(Addr) l_addr = map->l_addr;
-# if defined ELF_MACHINE_IRELATIVE && !defined RTLD_BOOTSTRAP
+# if defined ELF_MACHINE_IRELATIVE && !defined RTLD_BOOTSTRAP && !defined DO_RELR
const ElfW(Rel) *r2 = NULL;
const ElfW(Rel) *end2 = NULL;
# endif
-#if (!defined DO_RELA || !defined ELF_MACHINE_PLT_REL) && !defined RTLD_BOOTSTRAP
+#if (!defined DO_RELA || !defined ELF_MACHINE_PLT_REL) && !defined RTLD_BOOTSTRAP && !defined DO_RELR
/* We never bind lazily during ld.so bootstrap. Unfortunately gcc is
not clever enough to see through all the function calls to realize
that. */
@@ -82,8 +88,10 @@ elf_dynamic_do_Rel (struct link_map *map
else
#endif
{
+# if !defined DO_RELR
const ElfW(Sym) *const symtab =
(const void *) D_PTR (map, l_info[DT_SYMTAB]);
+# endif
const ElfW(Rel) *relative = r;
r += nrelative;
@@ -110,9 +118,36 @@ elf_dynamic_do_Rel (struct link_map *map
if (l_addr != 0 || ! map->l_info[VALIDX(DT_GNU_PRELINKED)])
# endif
#endif
+
+#ifdef DO_RELR
+ {
+ ElfW(Addr) base = 0;
+ for (; relative < end; ++relative)
+ {
+ ElfW(Relr) entry = *relative;
+ if ((entry&1) == 0)
+ {
+ elf_machine_relr_relative (l_addr, scope, (void *) (l_addr + entry));
+ base = entry + sizeof(ElfW(Addr));
+ continue;
+ }
+ ElfW(Addr) offset = base;
+ while (entry != 0)
+ {
+ entry >>= 1;
+ if ((entry&1) != 0)
+ elf_machine_relr_relative (l_addr, scope, (void *) (l_addr + offset));
+ offset += sizeof(ElfW(Addr));
+ }
+ base += (8*sizeof(ElfW(Addr)) - 1) * sizeof(ElfW(Addr));
+ }
+ }
+#else
for (; relative < r; ++relative)
DO_ELF_MACHINE_REL_RELATIVE (map, l_addr, relative);
+#endif
+#if !defined DO_RELR
#ifdef RTLD_BOOTSTRAP
/* The dynamic linker always uses versioning. */
assert (map->l_info[VERSYMIDX (DT_VERSYM)] != NULL);
@@ -211,6 +246,7 @@ elf_dynamic_do_Rel (struct link_map *map
# endif
}
#endif
+#endif
}
}
@@ -220,3 +256,4 @@ elf_dynamic_do_Rel (struct link_map *map
#undef elf_machine_rel_relative
#undef DO_ELF_MACHINE_REL_RELATIVE
#undef DO_RELA
+#undef DO_RELR
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -50,6 +50,11 @@ static inline void __attribute__((always_i
elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
void *const reloc_addr);
# endif
+# if ! ELF_MACHINE_NO_RELR
+static inline void __attribute__((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr, struct r_scope_elem *scope[],
+ void *const reloc_addr);
+# endif
# if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL
static inline void __attribute__((always_inline))
elf_machine_lazy_rel (struct link_map *map, struct r_scope_elem *scope[],
@@ -146,6 +151,15 @@ elf_machine_lazy_rel (struct link_map *m
# define ELF_DYNAMIC_DO_RELA(map, scope, lazy, skip_ifunc) /* Nothing to do. */
# endif
+# if ! ELF_MACHINE_NO_RELR
+# define DO_RELR
+# include "do-rel.h"
+# define ELF_DYNAMIC_DO_RELR(map, scope, lazy, skip_ifunc) \
+ _ELF_DYNAMIC_DO_RELOC (RELR, Relr, map, scope, lazy, skip_ifunc, 1)
+# else
+# define ELF_DYNAMIC_DO_RELR(map, scope, lazy, skip_ifunc) /* Nothing to do. */
+# endif
+
/* This can't just be an inline function because GCC is too dumb
to inline functions containing inlines themselves. */
# define ELF_DYNAMIC_RELOCATE(map, scope, lazy, consider_profile, skip_ifunc) \
@@ -154,6 +168,7 @@ elf_machine_lazy_rel (struct link_map *m
(consider_profile)); \
ELF_DYNAMIC_DO_REL ((map), (scope), edr_lazy, skip_ifunc); \
ELF_DYNAMIC_DO_RELA ((map), (scope), edr_lazy, skip_ifunc); \
+ ELF_DYNAMIC_DO_RELR ((map), (scope), edr_lazy, skip_ifunc); \
} while (0)
#endif
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -443,7 +443,8 @@ typedef struct
#define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */
#define SHT_GROUP 17 /* Section group */
#define SHT_SYMTAB_SHNDX 18 /* Extended section indices */
-#define SHT_NUM 19 /* Number of defined types. */
+#define SHT_RELR 19 /* Relative relocation, only offsets */
+#define SHT_NUM 20 /* Number of defined types. */
#define SHT_LOOS 0x60000000 /* Start OS-specific. */
#define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes. */
#define SHT_GNU_HASH 0x6ffffff6 /* GNU-style hash table. */
@@ -662,6 +663,12 @@ typedef struct
Elf64_Sxword r_addend; /* Addend */
} Elf64_Rela;
+/* Relocation table entry for relative (in section of type SHT_RELR). */
+
+typedef Elf32_Word Elf32_Relr; /* offset/bitmap for relative relocations */
+
+typedef Elf64_Xword Elf64_Relr; /* offset/bitmap for relative relocations */
+
/* How to extract and insert information held in the r_info field. */
#define ELF32_R_SYM(val) ((val) >> 8)
@@ -887,7 +894,10 @@ typedef struct
#define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/
#define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */
#define DT_SYMTAB_SHNDX 34 /* Address of SYMTAB_SHNDX section */
-#define DT_NUM 35 /* Number used */
+#define DT_RELRSZ 35
+#define DT_RELR 36
+#define DT_RELRENT 37
+#define DT_NUM 38 /* Number used */
#define DT_LOOS 0x6000000d /* Start of OS-specific */
#define DT_HIOS 0x6ffff000 /* End of OS-specific */
#define DT_LOPROC 0x70000000 /* Start of processor-specific */
@@ -939,6 +949,7 @@ typedef struct
GNU extension. */
#define DT_VERSYM 0x6ffffff0
+#define DT_RELRCOUNT 0x6ffffff8
#define DT_RELACOUNT 0x6ffffff9
#define DT_RELCOUNT 0x6ffffffa
--- a/elf/get-dynamic-info.h
+++ b/elf/get-dynamic-info.h
@@ -89,6 +89,9 @@ elf_get_dynamic_info (struct link_map *l
# if ! ELF_MACHINE_NO_REL
ADJUST_DYN_INFO (DT_REL);
# endif
+# if ! ELF_MACHINE_NO_RELR
+ ADJUST_DYN_INFO (DT_RELR);
+#endif
ADJUST_DYN_INFO (DT_JMPREL);
ADJUST_DYN_INFO (VERSYMIDX (DT_VERSYM));
ADJUST_DYN_INFO (ADDRIDX (DT_GNU_HASH));
@@ -113,6 +116,10 @@ elf_get_dynamic_info (struct link_map *l
if (info[DT_REL] != NULL)
assert (info[DT_RELENT]->d_un.d_val == sizeof (ElfW(Rel)));
#endif
+#if ! ELF_MACHINE_NO_RELR
+ if (info[DT_RELR] != NULL)
+ assert (info[DT_RELRENT]->d_un.d_val == sizeof (ElfW(Relr)));
+# endif
if (bootstrap || static_pie_bootstrap)
{
assert (info[DT_RUNPATH] == NULL);
--- a/sysdeps/aarch64/dl-machine.h
+++ b/sysdeps/aarch64/dl-machine.h
@@ -384,6 +385,15 @@ elf_machine_rela_relative (ElfW(Addr) l_
}
static inline void
+__attribute__ ((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr, struct r_scope_elem *scope[],
+ void *const reloc_addr_arg)
+{
+ ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+ *reloc_addr += l_addr;
+}
+
+static inline void
__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map, struct r_scope_elem *scope[],
ElfW(Addr) l_addr,
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -637,6 +638,15 @@ elf_machine_rel_relative (Elf32_Addr l_a
*reloc_addr += l_addr;
}
+static inline void
+__attribute ((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr, struct r_scope_elem *scope[],
+ void *const reloc_addr_arg)
+{
+ ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+ *reloc_addr += l_addr;
+}
+
# ifndef RTLD_BOOTSTRAP
static inline void
__attribute__ ((always_inline))
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -626,6 +626,15 @@ elf_machine_rel_relative (Elf32_Addr l_a
*reloc_addr += l_addr;
}
+static inline void
+__attribute ((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr, struct r_scope_elem *scope[],
+ void *const reloc_addr_arg)
+{
+ ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+ *reloc_addr += l_addr;
+}
+
# ifndef RTLD_BOOTSTRAP
static inline void
__attribute__ ((always_inline))
--- a/sysdeps/x86_64/dl-machine.h
+++ b/sysdeps/x86_64/dl-machine.h
@@ -545,6 +546,15 @@ elf_machine_rela_relative (ElfW(Addr) l_
}
static inline void
+__attribute ((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr, struct r_scope_elem *scope[],
+ void *const reloc_addr_arg)
+{
+ ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+ *reloc_addr += l_addr;
+}
+
+static inline void
__attribute ((always_inline))
elf_machine_lazy_rel (struct link_map *map, struct r_scope_elem *scope[],
ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
--- a/sysdeps/arm/dl-machine-rel.h 2022-02-03 05:27:54.000000000 +0000
+++ b/sysdeps/arm/dl-machine-rel.h 2022-04-11 10:16:03.103743770 +0000
@@ -23,6 +23,7 @@
Prelinked libraries may use Elf32_Rela though. */
#define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
#define ELF_MACHINE_NO_REL 0
+#define ELF_MACHINE_NO_RELR 0
/* ARM never uses Elf32_Rela relocations for the dynamic linker.
Prelinked libraries may use Elf32_Rela though. */
--- a/sysdeps/generic/dl-machine-rel.h 2022-02-03 05:27:54.000000000 +0000
+++ b/sysdeps/generic/dl-machine-rel.h 2022-04-11 10:28:40.996539086 +0000
@@ -23,6 +23,7 @@
#define ELF_MACHINE_NO_REL 1
/* Defined if the architecture supports Elf{32,64}_Rela relocations. */
#define ELF_MACHINE_NO_RELA 0
+#define ELF_MACHINE_NO_RELR 0
/* Used to calculate the index of link_map l_reloc_result. */
#define PLTREL ElfW(Rela)
--- a/sysdeps/i386/dl-machine-rel.h 2022-02-03 05:27:54.000000000 +0000
+++ b/sysdeps/i386/dl-machine-rel.h 2022-04-11 10:16:17.677066810 +0000
@@ -23,6 +23,7 @@
Prelinked libraries may use Elf32_Rela though. */
#define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
#define ELF_MACHINE_NO_REL 0
+#define ELF_MACHINE_NO_RELR 0
/* The i386 never uses Elf32_Rela relocations for the dynamic linker.
Prelinked libraries may use Elf32_Rela though. */

View file

@ -1,31 +0,0 @@
From patchwork Thu Feb 3 20:07:40 2022
Subject: [COMMITTED] linux: Fix missing __convert_scm_timestamps (BZ #28860)
Date: Thu, 3 Feb 2022 17:07:40 -0300
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Commit 948ce73b31 made recvmsg/recvmmsg to always call
__convert_scm_timestamps for 64 bit time_t symbol, so adjust it to
always build it for __TIMESIZE != 64.
It fixes build for architecture with 32 bit time_t support when
configured with minimum kernel of 5.1.
---
sysdeps/unix/sysv/linux/convert_scm_timestamps.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
index 82171bf325..dfc8c2beff 100644
--- a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
+++ b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
@@ -16,9 +16,9 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <kernel-features.h>
+#include <bits/timesize.h>
-#ifndef __ASSUME_TIME64_SYSCALLS
+#if __TIMESIZE != 64
# include <stdint.h>
# include <string.h>
# include <sys/socket.h>

View file

@ -9,85 +9,90 @@ Date: Tue Oct 1 12:09:07 2013 +0300
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -730,6 +730,38 @@ gaih_inet (const char *name, const struc
if (res_ctx == NULL)
no_more = 1;
if (res_ctx == NULL)
no_more = 1;
+ /* AI_ADDRCONFIG determines whether or not we should suppress any
+ * hostname lookups. If the local host has only IPv4 interfaces,
+ * then suppress lookups for IPv6 addresses, and vice versa; if
+ * the local host has only IPv6 interfaces, suppress any lookups
+ * for IPv4 addresses..
+ *
+ * Link-local IPv6 addresses and loopback addresses of either
+ * family are ignored when determining whether or not the host has
+ * an interface of the given address family, cf. __check_pf().
+ *
+ * This logic is only applied for AF_UNSPEC. If the caller
+ * explicitly requested an address family, give him what he asked
+ * for.
+ *
+ * If we didn't find any interfaces of either address family,
+ * we ignore AI_ADDRCONFIG and return all available resutlts. */
+ int suppress_af = 0;
+ if (req->ai_family == AF_UNSPEC)
+ {
+ struct in6addrinfo *in6ai = NULL;
+ size_t in6ailen = 0;
+ bool seen_ipv4 = false;
+ bool seen_ipv6 = false;
+ __check_pf (&seen_ipv4, &seen_ipv6, &in6ai, &in6ailen);
+ __free_in6ai (in6ai);
+ /* AI_ADDRCONFIG determines whether or not we should suppress any
+ * hostname lookups. If the local host has only IPv4 interfaces,
+ * then suppress lookups for IPv6 addresses, and vice versa; if
+ * the local host has only IPv6 interfaces, suppress any lookups
+ * for IPv4 addresses..
+ *
+ * Link-local IPv6 addresses and loopback addresses of either
+ * family are ignored when determining whether or not the host has
+ * an interface of the given address family, cf. __check_pf().
+ *
+ * This logic is only applied for AF_UNSPEC. If the caller
+ * explicitly requested an address family, give him what he asked
+ * for.
+ *
+ * If we didn't find any interfaces of either address family,
+ * we ignore AI_ADDRCONFIG and return all available resutlts. */
+ int suppress_af = 0;
+ if (req->ai_family == AF_UNSPEC)
+ {
+ struct in6addrinfo *in6ai = NULL;
+ size_t in6ailen = 0;
+ bool seen_ipv4 = false;
+ bool seen_ipv6 = false;
+ __check_pf (&seen_ipv4, &seen_ipv6, &in6ai, &in6ailen);
+ __free_in6ai (in6ai);
+
+ if(seen_ipv4 && !seen_ipv6)
+ suppress_af = AF_INET6;
+ else if(seen_ipv6 && !seen_ipv4)
+ suppress_af = AF_INET;
+ }
+ if(seen_ipv4 && !seen_ipv6)
+ suppress_af = AF_INET6;
+ else if(seen_ipv6 && !seen_ipv4)
+ suppress_af = AF_INET;
+ }
+
while (!no_more)
{
no_data = 0;
while (!no_more)
{
no_data = 0;
@@ -737,7 +769,7 @@ gaih_inet (const char *name, const struc
/* gethostbyname4_r sends out parallel A and AAAA queries and
is thus only suitable for PF_UNSPEC. */
- if (req->ai_family == PF_UNSPEC)
+ if (req->ai_family == PF_UNSPEC && !suppress_af)
fct4 = __nss_lookup_function (nip, "gethostbyname4_r");
/* gethostbyname4_r sends out parallel A and AAAA queries and
is thus only suitable for PF_UNSPEC. */
- if (req->ai_family == PF_UNSPEC)
+ if (req->ai_family == PF_UNSPEC && !suppress_af)
fct4 = __nss_lookup_function (nip, "gethostbyname4_r");
if (fct4 != NULL)
@@ -826,20 +858,22 @@ gaih_inet (const char *name, const struc
if (fct4 != NULL)
@@ -826,25 +858,27 @@ gaih_inet (const char *name, const struc
if (fct != NULL)
if (fct != NULL)
{
- if (req->ai_family == AF_INET6
- || req->ai_family == AF_UNSPEC)
+ if ((req->ai_family == AF_INET6
+ || req->ai_family == AF_UNSPEC)
+ && suppress_af != AF_INET6)
{
if ((result = gethosts (fct, AF_INET6, name, req, tmpbuf,
res, &status, &no_data)) != 0)
{
- if (req->ai_family == AF_INET6
- || req->ai_family == AF_UNSPEC)
+ if ((req->ai_family == AF_INET6
+ || req->ai_family == AF_UNSPEC)
+ && suppress_af != AF_INET6)
{
gethosts (AF_INET6);
no_inet6_data = no_data;
inet6_status = status;
}
- if (req->ai_family == AF_INET
- || req->ai_family == AF_UNSPEC
- || (req->ai_family == AF_INET6
- && (req->ai_flags & AI_V4MAPPED)
- /* Avoid generating the mapped addresses if we
- know we are not going to need them. */
- && ((req->ai_flags & AI_ALL) || !got_ipv6)))
+ if ((req->ai_family == AF_INET
+ || req->ai_family == AF_UNSPEC
+ || (req->ai_family == AF_INET6
+ && (req->ai_flags & AI_V4MAPPED)
+ /* Avoid generating the mapped addresses if we
+ know we are not going to need them. */
+ && ((req->ai_flags & AI_ALL) || !got_ipv6)))
+ && suppress_af != AF_INET)
{
gethosts (AF_INET);
__resolv_context_put (res_ctx);
goto out;
}
no_inet6_data = no_data;
inet6_status = status;
}
- if (req->ai_family == AF_INET
- || req->ai_family == AF_UNSPEC
- || (req->ai_family == AF_INET6
- && (req->ai_flags & AI_V4MAPPED)
- /* Avoid generating the mapped addresses if we
- know we are not going to need them. */
- && ((req->ai_flags & AI_ALL) || !res->got_ipv6)))
+ if ((req->ai_family == AF_INET
+ || req->ai_family == AF_UNSPEC
+ || (req->ai_family == AF_INET6
+ && (req->ai_flags & AI_V4MAPPED)
+ /* Avoid generating the mapped addresses if we
+ know we are not going to need them. */
+ && ((req->ai_flags & AI_ALL) || !res->got_ipv6)))
+ && suppress_af != AF_INET)
{
if ((result = gethosts (fct, AF_INET, name, req, tmpbuf,
res, &status, &no_data)) != 0)
--- a/sysdeps/unix/sysv/linux/check_pf.c
+++ b/sysdeps/unix/sysv/linux/check_pf.c
@@ -224,7 +224,8 @@ make_request (int fd, pid_t pid)

View file

@ -5,10 +5,11 @@
PKG_NAME="gobject-introspection"
PKG_VERSION="1.74.0"
PKG_SHA256="79ed5d764d288f046b027ff064be174d7904904565de150a94841740a2a0455d"
PKG_ARCH="any"
PKG_LICENSE="LGPL"
PKG_SITE="http://www.gtk.org/"
PKG_URL="https://gitlab.gnome.org/GNOME/${PKG_NAME}/-/archive/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_URL="https://github.com/GNOME/$PKG_NAME/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain libffi glib Python3 qemu:host gobject-introspection:host"
PKG_DEPENDS_HOST="libffi:host glib:host"
PKG_SECTION="devel"
@ -17,9 +18,7 @@ PKG_LONGDESC="GLib is a library which includes support routines for C such as li
PKG_TOOLCHAIN="meson"
pre_configure_host() {
PKG_MESON_OPTS_HOST=" \
-Ddoctool=disabled \
-Dbuild_introspection_data=false"
PKG_MESON_OPTS_HOST="-Ddoctool=disabled"
# prevent g-ir-scanner from writing cache data to $HOME
export GI_SCANNER_DISABLE_CACHE="1"
@ -41,12 +40,18 @@ pre_configure_target() {
CFLAGS="${TARGET_CFLAGS}"
LDFLAGS="${TARGET_LDFLAGS}"
PKG_MESON_OPTS_TARGET=" \
case ${ARCH} in
arm|aarch64)
PKG_MESON_OPTS_TARGET+=" \
-Dgi_cross_use_prebuilt_gi=true \
-Dgi_cross_binary_wrapper=${TOOLCHAIN}/bin/g-ir-scanner-binary-wrapper \
-Dgi_cross_ldd_wrapper=${TOOLCHAIN}/bin/g-ir-scanner-ldd-wrapper"
;;
esac
PKG_MESON_OPTS_TARGET+=" \
-Ddoctool=disabled \
-Dpython=${TOOLCHAIN}/bin/${PKG_PYTHON_VERSION} \
-Dgi_cross_use_prebuilt_gi=true \
-Dgi_cross_binary_wrapper=${TOOLCHAIN}/bin/g-ir-scanner-binary-wrapper \
-Dgi_cross_ldd_wrapper=${TOOLCHAIN}/bin/g-ir-scanner-ldd-wrapper \
-Dbuild_introspection_data=true"
# prevent g-ir-scanner from writing cache data to $HOME
@ -74,10 +79,6 @@ EOF
chmod +x ${TOOLCHAIN}/bin/g-ir-scanner-*-wrapper
}
post_makeinstall_host() {
python_fix_abi "${TOOLCHAIN}/lib/gobject-introspection"
}
post_makeinstall_target() {
rm -rf ${INSTALL}/usr/bin
rm -rf ${INSTALL}/usr/lib/gobject-introspection

View file

@ -0,0 +1,14 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2021-present Team CoreELEC (https://coreelec.org)
PKG_NAME="gperftools"
PKG_VERSION="2.9.1"
PKG_SHA256="484a88279d2fa5753d7e9dea5f86954b64975f20e796a6ffaf2f3426a674a06a"
PKG_LICENSE="BSD"
PKG_SITE="https://github.com/gperftools/gperftools"
PKG_URL="https://github.com/gperftools/gperftools/archive/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Google Performance Tools"
PKG_TOOLCHAIN="autotools"
PKG_CONFIGURE_OPTS_TARGET="--enable-minimal --disable-debugalloc --disable-static"

View file

@ -0,0 +1,13 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2010-2011 Roman Weber (roman@openelec.tv)
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="json-c"
PKG_VERSION="0.16"
PKG_SHA256="c169436bd63a30fce4f9560befccb6bad3d375c8c7e9905ceb4e1f28f2cb24f7"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/json-c/json-c"
PKG_URL="https://github.com/json-c/json-c/archive/json-c-${PKG_VERSION%-*}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Implements a reference counting object model that allows you to easily construct JSON objects in C."

View file

@ -1,11 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present Fewtarius
PKG_NAME="libao"
PKG_VERSION="cafce902"
PKG_LICENSE="GPL"
PKG_SITE="https://gitlab.xiph.org/xiph/libao"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Audio output portability library."
PKG_TOOLCHAIN="autotools"

View file

@ -0,0 +1,24 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libbpf"
PKG_VERSION="0.8.1"
PKG_SHA256="7bda8187efc619d1eb20a1ba5ab949dd68d40dd44945310c91ac0f915fa4a42b"
PKG_LICENSE="LGPL-2.1"
PKG_SITE="https://github.com/libbpf/libbpf"
PKG_URL="https://github.com/libbpf/libbpf/archive/refs/tags/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain elfutils"
PKG_LONGDESC="libbpf supports building BPF CO-RE-enabled applications"
PKG_TOOLCHAIN="make"
make_target() {
make BUILD_STATIC_ONLY=1 \
PREFIX=${SYSROOT_PREFIX}/usr \
-C src
}
makeinstall_target() {
make BUILD_STATIC_ONLY=1 \
PREFIX=${SYSROOT_PREFIX}/usr \
-C src install
}

View file

@ -0,0 +1,43 @@
diff --git a/src/Makefile b/src/Makefile
index 81ea6b8..7ab5f13 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -67,15 +67,12 @@ INSTALL = install
DESTDIR ?=
-ifeq ($(filter-out %64 %64be %64eb %64le %64el s390x, $(shell uname -m)),)
- LIBSUBDIR := lib64
-else
- LIBSUBDIR := lib
-endif
+LIBSUBDIR := lib
# By default let the pc file itself use ${prefix} in includedir/libdir so that
# the prefix can be overridden at runtime (eg: --define-prefix)
ifndef LIBDIR
+ PREFIX_PC := /usr
LIBDIR_PC := $$\{prefix\}/$(LIBSUBDIR)
else
LIBDIR_PC := $(LIBDIR)
@@ -106,7 +103,7 @@ $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION): $(SHARED_OBJS)
$^ $(ALL_LDFLAGS) -o $@
$(OBJDIR)/libbpf.pc: force
- $(Q)sed -e "s|@PREFIX@|$(PREFIX)|" \
+ $(Q)sed -e "s|@PREFIX@|$(PREFIX_PC)|" \
-e "s|@LIBDIR@|$(LIBDIR_PC)|" \
-e "s|@VERSION@|$(LIBBPF_VERSION)|" \
< libbpf.pc.template > $@
diff --git a/src/libbpf.pc.template b/src/libbpf.pc.template
index b45ed53..fe6ddde 100644
--- a/src/libbpf.pc.template
+++ b/src/libbpf.pc.template
@@ -7,6 +7,6 @@ includedir=${prefix}/include
Name: libbpf
Description: BPF library
Version: @VERSION@
-Libs: -L${libdir} -lbpf
+Libs: -L${libdir} -lbpf -lz
Requires.private: libelf zlib
Cflags: -I${includedir}

View file

@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libcec"
PKG_VERSION="4.0.7"
PKG_SHA256="bcd92c376993a5721d346edcc09eb17289451f9156b1d1d113c9663c2046315a"
PKG_VERSION="6.0.2"
PKG_SHA256="090696d7a4fb772d7acebbb06f91ab92e025531c7c91824046b9e4e71ecb3377"
PKG_LICENSE="GPL"
PKG_SITE="http://libcec.pulse-eight.com/"
PKG_URL="https://github.com/Pulse-Eight/libcec/archive/libcec-${PKG_VERSION}.tar.gz"
@ -16,10 +16,19 @@ PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=1 \
-DCMAKE_INSTALL_LIBDIR_NOARCH:STRING=lib \
-DSKIP_PYTHON_WRAPPER=1 \
-DHAVE_IMX_API=0 \
-DHAVE_AOCEC_API=0 -DHAVE_AMLOGIC_API=0 \
-DHAVE_GIT_BIN=0 \
-DHAVE_RPI_LIB=0"
if [ "${KODIPLAYER_DRIVER}" = "libamcodec" ]; then
if [ "${TARGET_KERNEL_ARCH}" = "arm64" ]; then
PKG_CMAKE_OPTS_TARGET="${PKG_CMAKE_OPTS_TARGET} -DHAVE_AOCEC_API=1"
else
PKG_CMAKE_OPTS_TARGET="${PKG_CMAKE_OPTS_TARGET} -DHAVE_AMLOGIC_API=1"
fi
else
PKG_CMAKE_OPTS_TARGET="${PKG_CMAKE_OPTS_TARGET} -DHAVE_AOCEC_API=0 -DHAVE_AMLOGIC_API=0"
fi
# libX11 and xrandr to read the sink's EDID, used to determine the PC's HDMI physical address
if [ "${DISPLAYSERVER}" = "x11" ]; then
PKG_DEPENDS_TARGET+=" libX11 libXrandr"
@ -35,7 +44,11 @@ post_makeinstall_target() {
# Remove the Python3 demo - useless for us
rm -f ${INSTALL}/usr/bin/pyCecClient
PYTHON_DIR=${INSTALL}/usr/lib/${PKG_PYTHON_VERSION}
# Remove the sysmlink and redirect to /var/lib so that we can change libcec versions at run time
rm -f ${INSTALL}/usr/lib/libcec.so.6
ln -sf /var/lib/libcec.so.6 ${INSTALL}/usr/lib/libcec.so.6
PYTHON_DIR=${INSTALL}/usr/lib/${PKG_PYTHON_VERSION}
if [ -d ${PYTHON_DIR}/dist-packages ]; then
mv ${PYTHON_DIR}/dist-packages ${PYTHON_DIR}/site-packages
fi

View file

@ -0,0 +1,27 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2018-present Team CoreELEC (https://coreelec.org)
PKG_NAME="libevent"
PKG_VERSION="2.1.11-stable"
PKG_SHA256="a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d"
PKG_LICENSE="BSD"
PKG_SITE="https://libevent.org"
PKG_URL="https://github.com/libevent/libevent/releases/download/release-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain openssl"
PKG_LONGDESC="The libevent API provides a mechanism to execute a callback function when a specific event occurs."
PKG_TOOLCHAIN="configure"
PKG_CONFIGURE_OPTS_TARGET="--disable-static \
--disable-libevent-regress \
--disable-samples \
--enable-openssl"
post_unpack() {
# https://github.com/libevent/libevent/issues/863
# Uninstall.cmake.in is missing from 2.1.11 release
touch $PKG_BUILD/cmake/Uninstall.cmake.in
}
post_makeinstall_target() {
rm -f $INSTALL/usr/bin/event_rpcgen.py
}

View file

@ -14,6 +14,7 @@ PKG_LONGDESC="Foreign Function Interface Library."
PKG_TOOLCHAIN="autotools"
PKG_CONFIGURE_OPTS_TARGET="--disable-debug \
--enable-static --disable-shared \
--with-pic \
--enable-structs \
--enable-raw-api \

View file

@ -2,13 +2,17 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libfmt"
PKG_VERSION="5.3.0" # newer version break easyrpg!
PKG_SHA256="defa24a9af4c622a7134076602070b45721a43c51598c8456ec6f2c4dbb51c89"
PKG_VERSION="9.1.0"
PKG_SHA256="5dea48d1fcddc3ec571ce2058e13910a0d4a6bab4cc09a809d8b1dd1c88ae6f2"
PKG_LICENSE="BSD"
PKG_SITE="https://github.com/fmtlib/fmt"
PKG_URL="https://github.com/fmtlib/fmt/archive/$PKG_VERSION.tar.gz"
PKG_URL="https://github.com/fmtlib/fmt/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="fmt is an open-source formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams."
PKG_BUILD_FLAGS="+pic"
PKG_CMAKE_OPTS_TARGET="-DFMT_DOC=OFF -DFMT_INSTALL=ON -DFMT_TEST=OFF -DFMT_USE_CPP11=ON"
PKG_CMAKE_OPTS_TARGET="-DCMAKE_CXX_STANDARD=14 \
-DCMAKE_CXX_EXTENSIONS:BOOL=OFF \
-DFMT_DOC=OFF \
-DFMT_INSTALL=ON \
-DFMT_TEST=OFF \
-DBUILD_SHARED_LIBS=ON"

View file

@ -0,0 +1,25 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libirman"
PKG_VERSION="0.5.2"
PKG_SHA256="43e58d7cd22b3a4c4dc8dcf8542a269ebcb4d8f6ceea0577b9fc882898f09a47"
PKG_LICENSE="GPL"
PKG_SITE="https://sourceforge.net/projects/libirman"
PKG_URL="http://downloads.sourceforge.net/project/libirman/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain systemd lirc"
PKG_NEED_UNPACK="$(get_pkg_directory lirc)"
PKG_LONGDESC="libirman library for lircd"
PKG_TOOLCHAIN="autotools"
PKG_BUILD_FLAGS="+pic -parallel"
PKG_CONFIGURE_OPTS_TARGET="--disable-swtest"
post_configure_target() {
libtool_remove_rpath libtool
}
post_makeinstall_target() {
rm -rf ${INSTALL}/usr/bin
}

View file

@ -0,0 +1,35 @@
diff -Naur a/config.h.in b/config.h.in
--- a/config.h.in 2016-05-18 18:19:56.000000000 +0200
+++ b/config.h.in 2016-12-26 22:49:43.514203152 +0100
@@ -21,6 +21,9 @@
/* Define to 1 if you have the `mkfifo' function. */
#undef HAVE_MKFIFO
+/* defined if poll.h is available */
+#undef HAVE_POLL_H
+
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
@@ -48,6 +51,9 @@
/* Define to 1 if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
+/* defined if sys/poll.h is available */
+#undef HAVE_SYS_POLL_H
+
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
diff -Naur a/configure.ac b/configure.ac
--- a/configure.ac 2016-05-18 18:19:41.000000000 +0200
+++ b/configure.ac 2016-12-26 22:48:40.190031280 +0100
@@ -20,7 +20,7 @@
dnl Checks for header files.
AC_HEADER_STDC
-AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h termios.h memory.hi sys/file.h)
+AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h termios.h memory.hi sys/file.h poll.h sys/poll.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_PID_T

View file

@ -18,6 +18,10 @@ pre_configure_target() {
export CONFIG_SHELL="/bin/bash"
}
post_configure_target() {
libtool_remove_rpath libtool
}
post_makeinstall_target() {
rm -rf ${INSTALL}/usr/bin
}

View file

@ -1,14 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2020-present Fewtarius
# Sodium License: https://libsodium.gitbook.io/doc/#license
PKG_NAME="libsodium"
PKG_VERSION="d1580db1b34b7c73abb960e5f464a87ce8b7ed7d"
PKG_SHA256="75902b344f2a2279698266dc53fb48dfa394d2f507ae81c8f935264bbed49588"
PKG_LICENSE="ISC"
PKG_SITE="https://github.com/jedisct1/libsodium"
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
PKG_GIT_CLONE_BRANCH="stable"
PKG_DEPENDS_HOST="toolchain"
PKG_LONGDESC="A modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more."
PKG_TOOLCHAIN="autotools"

View file

@ -0,0 +1,170 @@
From e249c43741779ae7dd6834f6840384257d4c3dd8 Mon Sep 17 00:00:00 2001
From: Mike Crowe <mac@mcrowe.com>
Date: Fri, 6 Nov 2020 15:22:37 +0000
Subject: [PATCH] [SV 45763] Fix large command line on POSIX systems
When presented with a very long command line (as is common when linking
a large number of files with absolute paths in a deep subdirectory),
make fails to execute the command as it doesn't split the command line
to fit within the limits.
This is based on a fix for Debian bug 688601[1] by Adam Conrad applied
by Manoj Srivastava originally applied for Debian make-dfsg 4.0-5 in
2014 but dropped in 2018 (it seems under the incorrect assumption that
it had been accepted upstream.)
I've tweaked Adam's original patch so that it compiles successfully with
-Werror on top of current master. This required:
* moving the eval_line declaration to the top of the block, so I moved
the macros too
* using a const variable when iterating over the shell
* adding a cast to avoid a signed/unsigned mismatch.
As suggested in the Savannah bug report[2], I've added a test case that
fails without the rest of the patch. I'm not sure what the consequences
of running the test on non-POSIX targets would be and whether it needs
marking as an expected failure.
* src/job.c (construct_command_argv_internal): support running commands
longer than MAX_ARG_STRLEN
* tests/scripts/features/long_command_line: add test for such a command
* configure.ac: check for now-required sys/user.h and linux/binfmts.h
headers
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688601
[2] https://savannah.gnu.org/bugs/?45763#comment2
---
src/job.c | 52 +++++++++++++++++++++++-
tests/scripts/features/long_command_line | 30 ++++++++++++++
2 files changed, 81 insertions(+), 1 deletions(-)
create mode 100644 tests/scripts/features/long_command_line
diff --git a/src/job.c b/src/job.c
index 3bcec38..734c591 100644
--- a/src/job.c
+++ b/src/job.c
@@ -26,6 +26,12 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include "variable.h"
#include "os.h"
+#include <sys/user.h>
+#include <linux/binfmts.h>
+#ifndef PAGE_SIZE
+# define PAGE_SIZE (sysconf(_SC_PAGESIZE))
+#endif
+
/* Default shell to use. */
#ifdef WINDOWS32
# ifdef HAVE_STRINGS_H
@@ -3228,6 +3236,15 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
size_t sflags_len = shellflags ? strlen (shellflags) : 0;
#ifdef WINDOWS32
char *command_ptr = NULL; /* used for batch_mode_shell mode */
+#endif
+ char *args_ptr;
+#ifdef MAX_ARG_STRLEN
+ static char eval_line[] = "eval\\ \\\"set\\ x\\;\\ shift\\;\\ ";
+#define ARG_NUMBER_DIGITS 5
+#define EVAL_LEN (sizeof(eval_line)-1 + shell_len + 4 \
+ + (7 + ARG_NUMBER_DIGITS) * 2 * line_len / (MAX_ARG_STRLEN - 2))
+#else
+#define EVAL_LEN 0
#endif
# ifdef __EMX__ /* is this necessary? */
@@ -3395,7 +3412,7 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
}
new_line = xmalloc ((shell_len*2) + 1 + sflags_len + 1
- + (line_len*2) + 1);
+ + (line_len*2) + 1 + EVAL_LEN);
ap = new_line;
/* Copy SHELL, escaping any characters special to the shell. If
we don't escape them, construct_command_argv_internal will
@@ -3415,6 +3432,31 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
#ifdef WINDOWS32
command_ptr = ap;
#endif
+
+#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
+ if (unixy_shell && line_len > MAX_ARG_STRLEN)
+ {
+ const char *q;
+ unsigned j;
+ memcpy (ap, eval_line, sizeof (eval_line) - 1);
+ ap += sizeof (eval_line) - 1;
+ for (j = 1; j <= 2 * line_len / (MAX_ARG_STRLEN - 2); j++)
+ ap += sprintf (ap, "\\$\\{%u\\}", j);
+ *ap++ = '\\';
+ *ap++ = '"';
+ *ap++ = ' ';
+ /* Copy only the first word of SHELL to $0. */
+ for (q = shell; *q != '\0'; ++q)
+ {
+ if (isspace ((unsigned char)*q))
+ break;
+ *ap++ = *q;
+ }
+ *ap++ = ' ';
+ }
+#endif
+ args_ptr = ap;
+
for (p = line; *p != '\0'; ++p)
{
if (restp != NULL && *p == '\n')
@@ -3462,6 +3504,14 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
}
#endif
*ap++ = *p;
+#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
+ if (unixy_shell && line_len > MAX_ARG_STRLEN
+ && (ap - args_ptr > (long)(MAX_ARG_STRLEN - 2)))
+ {
+ *ap++ = ' ';
+ args_ptr = ap;
+ }
+#endif
}
if (ap == new_line + shell_len + sflags_len + 2)
{
diff --git a/tests/scripts/features/long_command_line b/tests/scripts/features/long_command_line
new file mode 100644
index 0000000..3899ac8
--- /dev/null
+++ b/tests/scripts/features/long_command_line
@@ -0,0 +1,30 @@
+# -*-perl-*-
+$description = "Test long command line.";
+
+$details = "";
+
+# Variable names containing UTF8 characters
+run_make_test(q!
+# 49 characters
+ARGS:=one two three four five six seven eight niner ten
+# 49*4+3 = 199 characters
+ARGS:=$(ARGS) $(ARGS) $(ARGS) $(ARGS)
+# 199*4+3 = 799 characters
+ARGS:=$(ARGS) $(ARGS) $(ARGS) $(ARGS)
+# 799*4+3 = 3199 characters
+ARGS:=$(ARGS) $(ARGS) $(ARGS) $(ARGS)
+# 3199*4+3 = 12799 characters
+ARGS:=$(ARGS) $(ARGS) $(ARGS) $(ARGS)
+# 12799*4+3 = 51199 characters
+ARGS:=$(ARGS) $(ARGS) $(ARGS) $(ARGS)
+# 51199*4+3 = 204799 characters
+ARGS:=$(ARGS) $(ARGS) $(ARGS) $(ARGS)
+# 24799*2+1 = 409599 characters
+#ARGS:=$(ARGS) $(ARGS)
+
+test:
+ @: $(ARGS)
+!,
+ '', "");
+
+1;
--
2.20.1

View file

@ -0,0 +1,27 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="mimalloc"
PKG_VERSION="2.0.6"
PKG_SHA256="9f05c94cc2b017ed13698834ac2a3567b6339a8bde27640df5a1581d49d05ce5"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/microsoft/mimalloc"
PKG_URL="https://github.com/microsoft/mimalloc/archive/refs/tags/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="cmake:host ninja:host"
PKG_LONGDESC="mimalloc (pronounced "me-malloc") is a general purpose allocator with excellent performance characteristics"
PKG_CMAKE_OPTS_HOST="-DMI_SECURE=OFF \
-DMI_DEBUG_FULL=OFF \
-DMI_OVERRIDE=ON \
-DMI_XMALLOC=OFF \
-DMI_SHOW_ERRORS=OFF \
-DMI_USE_CXX=OFF \
-DMI_SEE_ASM=OFF \
-DMI_LOCAL_DYNAMIC_TLS=OFF \
-DMI_BUILD_SHARED=ON \
-DMI_BUILD_STATIC=OFF \
-DMI_BUILD_OBJECT=OFF \
-DMI_BUILD_TESTS=OFF \
-DMI_DEBUG_TSAN=OFF \
-DMI_DEBUG_UBSAN=OFF \
-DMI_SKIP_COLLECT_ON_EXIT=OFF"

View file

@ -0,0 +1,23 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="mold"
PKG_VERSION="1.6.0"
PKG_SHA256="59cd3ea1a2a5fb50d0d97faddd8bff4c7e71054a576c00a87b17f56ecbd88729"
PKG_LICENSE="AGPL-3.0-or-later"
PKG_SITE="https://github.com/rui314/mold"
PKG_URL="https://github.com/rui314/mold/archive/refs/tags/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="cmake:host zlib:host zstd:host openssl:host tbb:host mimalloc:host"
PKG_LONGDESC="mold is a faster drop-in replacement for existing Unix linkers"
PKG_CMAKE_OPTS_HOST="-DCMAKE_INSTALL_LIBDIR="${TOOLCHAIN}/${TARGET_NAME}/lib"
-DCMAKE_INSTALL_BINDIR="${TARGET_NAME}/bin" \
-DCMAKE_INSTALL_LIBEXECDIR="${TARGET_NAME}" \
-DMOLD_LTO=ON \
-DMOLD_MOSTLY_STATIC=ON \
-DMOLD_USE_SYSTEM_MIMALLOC=ON \
-DMOLD_USE_SYSTEM_TBB=ON"
post_makeinstall_host() {
ln -sf ${TOOLCHAIN}/${TARGET_NAME}/bin/mold ${TARGET_PREFIX}ld.mold
}

View file

@ -0,0 +1,24 @@
From f7f2ef6182d058f7c58401d9278aa3136cb996f5 Mon Sep 17 00:00:00 2001
From: SupervisedThinking <supervisedthinking@gmail.com>
Date: Thu, 29 Sep 2022 11:49:57 +0200
Subject: [PATCH] CMakeLists: allow custom mold binary install path
- https://cmake.org/cmake/help/latest/command/install.html
- ${CMAKE_INSTALL_BINDIR} defaults to bin if not set
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7136cf2b..4542f915 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -287,7 +287,7 @@ if(BUILD_TESTING)
endif()
if(NOT CMAKE_SKIP_INSTALL_RULES)
- install(TARGETS mold RUNTIME DESTINATION bin)
+ install(TARGETS mold RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES docs/mold.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/)
install(CODE "

View file

@ -0,0 +1,164 @@
From 610042a8e927106cb2d852fba2a90faa0d0e050f Mon Sep 17 00:00:00 2001
From: Rui Ueyama <ruiu@bluewhale.systems>
Date: Fri, 21 Oct 2022 07:08:09 +0800
Subject: [PATCH] [ELF] Set .ARM.exidx's sh_link to .text
GNU binutil's strip command doesn't like an .ARM.exidx section with
sh_link set to 0. arm-linux-gnueabihf-strip actually crashes on my
machine when the command is run on such a file.
https://github.com/rui314/mold/issues/801
---
elf/arch-arm32.cc | 56 +++++++++++++++++++++++++++++--------------
elf/mold.h | 2 +-
elf/output-chunks.cc | 4 ++--
elf/passes.cc | 2 +-
test/elf/exception.sh | 8 +++++++
5 files changed, 50 insertions(+), 22 deletions(-)
diff --git a/elf/arch-arm32.cc b/elf/arch-arm32.cc
index 46e45d43d..bea510763 100644
--- a/elf/arch-arm32.cc
+++ b/elf/arch-arm32.cc
@@ -552,14 +552,6 @@ void RangeExtensionThunk<E>::copy_buf(Context<E> &ctx) {
}
}
-template <typename E>
-static OutputSection<E> *find_exidx_section(Context<E> &ctx) {
- for (std::unique_ptr<OutputSection<E>> &osec : ctx.output_sections)
- if (osec->shdr.sh_type == SHT_ARM_EXIDX)
- return osec.get();
- return nullptr;
-}
-
// ARM executables use an .ARM.exidx section to look up an exception
// handling record for the current instruction pointer. The table needs
// to be sorted by their addresses.
@@ -569,13 +561,7 @@ static OutputSection<E> *find_exidx_section(Context<E> &ctx) {
// likely that it's due to some historical reason.
//
// This function sorts .ARM.exidx records.
-void sort_arm_exidx(Context<E> &ctx) {
- Timer t(ctx, "sort_arm_exidx");
-
- OutputSection<E> *osec = find_exidx_section(ctx);
- if (!osec)
- return;
-
+static void sort_exidx(Context<E> &ctx, OutputSection<E> &osec) {
// .ARM.exidx records consists of a signed 31-bit relative address
// and a 32-bit value. The relative address indicates the start
// address of a function that the record covers. The value is one of
@@ -595,11 +581,11 @@ void sort_arm_exidx(Context<E> &ctx) {
ul32 val;
};
- if (osec->shdr.sh_size % sizeof(Entry))
+ if (osec.shdr.sh_size % sizeof(Entry))
Fatal(ctx) << "invalid .ARM.exidx section size";
- Entry *ent = (Entry *)(ctx.buf + osec->shdr.sh_offset);
- i64 num_entries = osec->shdr.sh_size / sizeof(Entry);
+ Entry *ent = (Entry *)(ctx.buf + osec.shdr.sh_offset);
+ i64 num_entries = osec.shdr.sh_size / sizeof(Entry);
// Entry's addresses are relative to themselves. In order to sort
// records by addresses, we first translate them so that the addresses
@@ -628,4 +614,38 @@ void sort_arm_exidx(Context<E> &ctx) {
});
}
+void fixup_arm_exidx_section(Context<E> &ctx) {
+ Timer t(ctx, "fixup_arm_exidx_section");
+
+ auto find_exidx = [&]() -> OutputSection<E> * {
+ for (std::unique_ptr<OutputSection<E>> &osec : ctx.output_sections)
+ if (osec->shdr.sh_type == SHT_ARM_EXIDX)
+ return osec.get();
+ return nullptr;
+ };
+
+ OutputSection<E> *exidx = find_exidx();
+ if (!exidx)
+ return;
+
+ // Sort .ARM.exidx contents
+ sort_exidx(ctx, *exidx);
+
+ // .ARM.exidx's sh_link should be set to the .text section index.
+ // Runtime doesn't care about it, but the binutils's strip command does.
+ if (ctx.shdr) {
+ auto find_text = [&]() -> OutputSection<E> * {
+ for (std::unique_ptr<OutputSection<E>> &osec : ctx.output_sections)
+ if (osec->name == ".text")
+ return osec.get();
+ return nullptr;
+ };
+
+ if (OutputSection<E> *text = find_exidx()) {
+ exidx->shdr.sh_link = text->shndx;
+ ctx.shdr->copy_buf(ctx);
+ }
+ }
+}
+
} // namespace mold::elf
diff --git a/elf/mold.h b/elf/mold.h
index 11938270e..c8bac2b4e 100644
--- a/elf/mold.h
+++ b/elf/mold.h
@@ -1434,7 +1434,7 @@ template <typename E> void write_dependency_file(Context<E> &);
// arch-arm32.cc
//
-void sort_arm_exidx(Context<ARM32> &ctx);
+void fixup_arm_exidx_section(Context<ARM32> &ctx);
//
// arch-riscv64.cc
diff --git a/elf/output-chunks.cc b/elf/output-chunks.cc
index 54562feb2..0d1d0dcfd 100644
--- a/elf/output-chunks.cc
+++ b/elf/output-chunks.cc
@@ -847,9 +847,9 @@ get_output_name(Context<E> &ctx, std::string_view name, u64 flags) {
if ((name == ".rodata" || name.starts_with(".rodata.")) && (flags & SHF_MERGE))
return (flags & SHF_STRINGS) ? ".rodata.str" : ".rodata.cst";
- if (name == ".ARM.exidx" || name.starts_with(".ARM.exidx."))
+ if (name.starts_with(".ARM.exidx"))
return ".ARM.exidx";
- if (name == ".ARM.extab" || name.starts_with(".ARM.extab."))
+ if (name.starts_with(".ARM.extab"))
return ".ARM.extab";
if (ctx.arg.z_keep_text_section_prefix) {
diff --git a/elf/passes.cc b/elf/passes.cc
index 713a06a84..4bffc3dbd 100644
--- a/elf/passes.cc
+++ b/elf/passes.cc
@@ -1102,7 +1102,7 @@ void copy_chunks(Context<E> &ctx) {
report_undef_errors(ctx);
if constexpr (std::is_same_v<E, ARM32>)
- sort_arm_exidx(ctx);
+ fixup_arm_exidx_section(ctx);
}
template <typename E>
diff --git a/test/elf/exception.sh b/test/elf/exception.sh
index 6832966f0..c584c99fa 100755
--- a/test/elf/exception.sh
+++ b/test/elf/exception.sh
@@ -65,3 +65,11 @@ if [ $MACHINE = x86_64 -o $MACHINE = aarch64 ]; then
$CXX -B. -o $t/exe10 $t/e.o -no-pie
$QEMU $t/exe10
fi
+
+$CXX -B. -o $t/exe11 $t/b.o -pie
+$STRIP $t/exe11
+$QEMU $t/exe11
+
+$CXX -B. -o $t/exe12 $t/c.o -no-pie
+$STRIP $t/exe12
+$QEMU $t/exe12

View file

@ -10,10 +10,11 @@ PKG_URL="https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${PKG_VER
PKG_DEPENDS_HOST="toolchain:host"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A set of functions that implement regular expression pattern matching using the same syntax."
PKG_BUILD_FLAGS="+pic +pic:host"
PKG_BUILD_FLAGS="+pic"
PKG_CMAKE_OPTS_HOST="-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON \
-DPCRE2_STATIC_PIC=ON \
-DPCRE2_BUILD_PCRE2_8=ON \
-DPCRE2_BUILD_PCRE2_16=ON \
-DPCRE2_BUILD_PCRE2_32=ON \

View file

@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="popt"
PKG_VERSION="1.18"
PKG_SHA256="5159bc03a20b28ce363aa96765f37df99ea4d8850b1ece17d1e6ad5c24fdc5d1"
PKG_VERSION="1.19"
PKG_SHA256="c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/rpm-software-management/popt"
PKG_URL="http://ftp.rpm.org/popt/releases/popt-1.x/${PKG_NAME}-${PKG_VERSION}.tar.gz"

View file

@ -3,12 +3,12 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="slang"
PKG_VERSION="2.3.2"
PKG_SHA256="fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a"
PKG_VERSION="2.3.3"
PKG_SHA256="f9145054ae131973c61208ea82486d5dd10e3c5cdad23b7c4a0617743c8f5a18"
PKG_LICENSE="GPL"
PKG_SITE="http://www.jedsoft.org/slang/"
PKG_URL="https://www.jedsoft.org/releases/slang/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain"
PKG_DEPENDS_TARGET="toolchain pcre"
PKG_LONGDESC="A library designed to allow a developer to create robust multi-platform software."
PKG_BUILD_FLAGS="-parallel"
@ -17,6 +17,7 @@ PKG_CONFIGURE_OPTS_TARGET="--without-onig"
pre_configure_target() {
# slang fails to build in subdirs
cd ${PKG_BUILD}
sed -i 's|RPATH=".*"|RPATH=""|' configure
rm -rf .${TARGET_NAME}
}

View file

@ -2,13 +2,17 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="spdlog"
PKG_VERSION="1.9.2"
PKG_SHA256="6fff9215f5cb81760be4cc16d033526d1080427d236e86d70bb02994f85e3d38"
PKG_VERSION="1.10.0"
PKG_SHA256="697f91700237dbae2326b90469be32b876b2b44888302afbc7aceb68bcfe8224"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/gabime/spdlog"
PKG_URL="https://github.com/gabime/spdlog/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain libfmt"
PKG_LONGDESC="Very fast, header only, C++ logging library."
PKG_TOOLCHAIN="cmake"
PKG_CMAKE_OPTS_TARGET="-DCMAKE_CXX_STANDARD=14 -DCMAKE_CXX_EXTENSIONS:BOOL=OFF -DSPDLOG_FMT_EXTERNAL=ON -DSPDLOG_BUILD_EXAMPLE=OFF -DSPDLOG_BUILD_TESTS=OFF"
PKG_CMAKE_OPTS_TARGET="-DCMAKE_CXX_STANDARD=14 \
-DCMAKE_CXX_EXTENSIONS:BOOL=OFF \
-DSPDLOG_BUILD_SHARED=ON \
-DSPDLOG_FMT_EXTERNAL=ON \
-DSPDLOG_BUILD_EXAMPLE=OFF \
-DSPDLOG_BUILD_TESTS=OFF"

View file

@ -0,0 +1,27 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="tbb"
PKG_VERSION="2021.7.0"
PKG_SHA256="2cae2a80cda7d45dc7c072e4295c675fff5ad8316691f26f40539f7e7e54c0cc"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/oneapi-src/oneTBB"
PKG_URL="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="cmake:host ninja:host"
PKG_LONGDESC="oneTBB is a flexible C++ library that simplifies the work of adding parallelism to complex applications"
PKG_CMAKE_OPTS_HOST="-DTBB_TEST=OFF \
-DTBB_EXAMPLES=OFF \
-DTBB_STRICT=OFF \
-DTBB4PY_BUILD=OFF \
-DTBB_BUILD=ON \
-DTBBMALLOC_BUILD=ON \
-DTBBMALLOC_PROXY_BUILD=ON \
-DTBB_CPF=OFF \
-DTBB_FIND_PACKAGE=OFF \
-DTBB_DISABLE_HWLOC_AUTOMATIC_SEARCH=OFF \
-DTBB_ENABLE_IPO=ON"
pre_configure_host() {
export CXXFLAGS+=" -D__TBB_DYNAMIC_LOAD_ENABLED=0"
}

View file

@ -0,0 +1,168 @@
From 3a8bc6478654afcbd219f45e7ea01353c2d57eb6 Mon Sep 17 00:00:00 2001
From: Rui Ueyama <ruiu@cs.stanford.edu>
Date: Sat, 7 May 2022 19:55:24 +0800
Subject: [PATCH] Retry if pthread_create fails with EAGAIN
On many Unix-like systems, pthread_create can fail spuriously even if
the running machine has enough resources to spawn a new thread.
Therefore, if EAGAIN is returned from pthread_create, we actually have
to try again.
I observed this issue when running the mold linker
(https://github.com/rui314/mold) under a heavy load. mold uses OneTBB
for parallelization.
As another data point, Go has the same logic to retry on EAGAIN:
https://go-review.googlesource.com/c/go/+/33894/
nanosleep is defined in POSIX 2001, so I believe that all Unix-like
systems support it.
Signed-off-by: Rui Ueyama <ruiu@cs.stanford.edu>
---
src/tbb/rml_thread_monitor.h | 30 +++++++++++++++-
test/CMakeLists.txt | 3 ++
test/tbb/test_pthread_create.cpp | 59 ++++++++++++++++++++++++++++++++
3 files changed, 91 insertions(+), 1 deletion(-)
create mode 100644 test/tbb/test_pthread_create.cpp
diff --git a/src/tbb/rml_thread_monitor.h b/src/tbb/rml_thread_monitor.h
index 13b556380..dc046ba00 100644
src/tbb/rml_thread_monitor.h | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/src/tbb/rml_thread_monitor.h b/src/tbb/rml_thread_monitor.h
index 13b556380..5b844b232 100644
--- a/src/tbb/rml_thread_monitor.h
+++ b/src/tbb/rml_thread_monitor.h
@@ -31,6 +31,7 @@
#include <pthread.h>
#include <cstring>
#include <cstdlib>
+#include <time.h>
#else
#error Unsupported platform
#endif
@@ -183,6 +184,32 @@ inline void thread_monitor::check( int error_code, const char* routine ) {
}
}
+// pthread_create(2) can spuriously fail on Linux. This is a function
+// to wrap pthread_create(2) to retry if it fails with EAGAIN.
+inline void do_pthread_create(pthread_t *handle, pthread_attr_t *s, void* (*thread_routine)(void*), void* arg) {
+#ifdef __linux__
+ int tries = 0;
+ const int max_num_tries = 20;
+
+ for (;;) {
+ int error_code = pthread_create(handle, s, thread_routine, arg);
+ if (!error_code)
+ break;
+ if (error_code != EAGAIN || tries++ > max_num_tries) {
+ handle_perror(error_code, "pthread_create has failed");
+ break;
+ }
+
+ // Retry after tries * 1 millisecond.
+ struct timespec ts = {0, tries * 1000 * 1000};
+ nanosleep(&ts, NULL);
+ }
+#else
+ if (int error_code = pthread_create(handle, s, thread_routine, arg))
+ handle_perror(error_code, "pthread_create has failed");
+#endif
+}
+
inline thread_monitor::handle_type thread_monitor::launch( void* (*thread_routine)(void*), void* arg, std::size_t stack_size ) {
// FIXME - consider more graceful recovery than just exiting if a thread cannot be launched.
// Note that there are some tricky situations to deal with, such that the thread is already
@@ -191,8 +218,9 @@ inline thread_monitor::handle_type thread_monitor::launch( void* (*thread_routin
check(pthread_attr_init( &s ), "pthread_attr_init has failed");
if( stack_size>0 )
check(pthread_attr_setstacksize( &s, stack_size ), "pthread_attr_setstack_size has failed" );
+
pthread_t handle;
- check( pthread_create( &handle, &s, thread_routine, arg ), "pthread_create has failed" );
+ do_pthread_create(&handle, &s, thread_routine, arg);
check( pthread_attr_destroy( &s ), "pthread_attr_destroy has failed" );
return handle;
}
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index f15679e83..92802b015 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -373,6 +373,9 @@ if (TARGET TBB::tbb)
if (APPLE OR ANDROID_PLATFORM)
target_link_libraries(test_dynamic_link PRIVATE -rdynamic) # for the test_dynamic_link
endif()
+ if (UNIX AND NOT APPLE)
+ tbb_add_test(SUBDIR tbb NAME test_pthread_create DEPENDENCIES TBB::tbb)
+ endif()
tbb_add_test(SUBDIR tbb NAME test_collaborative_call_once DEPENDENCIES TBB::tbb)
tbb_add_test(SUBDIR tbb NAME test_concurrent_lru_cache DEPENDENCIES TBB::tbb)
tbb_add_test(SUBDIR tbb NAME test_concurrent_unordered_map DEPENDENCIES TBB::tbb)
diff --git a/test/tbb/test_pthread_create.cpp b/test/tbb/test_pthread_create.cpp
new file mode 100644
index 000000000..4cb1f4ea5
--- /dev/null
+++ b/test/tbb/test_pthread_create.cpp
@@ -0,0 +1,59 @@
+/*
+ Copyright (c) 2005-2022 Intel Corporation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+#include "common/test.h"
+#include "common/utils.h"
+
+#include <atomic>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <tbb/global_control.h>
+#include <tbb/parallel_for.h>
+#include <thread>
+#include <unistd.h>
+
+//! Test that thread pool creation won't be affected with a spurious failure of pthread_create().
+//! \brief \ref error_guessing
+TEST_CASE("pthread_create is not affected by fork") {
+ std::atomic_bool done;
+
+ std::thread thr([&]() {
+ while (!done) {
+ pid_t pid = fork();
+ CHECK(pid != -1);
+
+ if (pid == 0) {
+ // child
+ _exit(0);
+ } else {
+ int wstatus;
+ do {
+ pid_t pid2 = waitpid(pid, &wstatus, 0);
+ CHECK(pid2 != -1);
+ } while (!WIFEXITED(wstatus) && !WIFSIGNALED(wstatus));
+ }
+ }
+ });
+
+ for (int i = 0; i < 50; i++) {
+ tbb::task_scheduler_handle handle{tbb::attach{}};
+ tbb::parallel_for(0, 10000, [](int) {});
+ tbb::finalize(handle);
+ }
+
+ done = true;
+ thr.join();
+}

View file

@ -6,7 +6,7 @@ PKG_VERSION="2e73b87328577506f0cce1b7af9045b21e74f52b"
PKG_SITE="https://github.com/libretro/RetroArch"
PKG_URL="${PKG_SITE}.git"
PKG_LICENSE="GPLv3"
PKG_DEPENDS_TARGET="toolchain SDL2 alsa-lib openssl freetype zlib retroarch-assets core-info ffmpeg libass joyutils empty nss-mdns openal-soft libogg libvorbisidec libvorbis libvpx libpng libdrm pulseaudio miniupnpc flac"
PKG_DEPENDS_TARGET="toolchain SDL2 alsa-lib libass openssl freetype zlib retroarch-assets core-info ffmpeg libass joyutils empty nss-mdns openal-soft libogg libvorbisidec libvorbis libvpx libpng libdrm pulseaudio miniupnpc flac"
PKG_LONGDESC="Reference frontend for the libretro API."
GET_HANDLER_SUPPORT="git"

View file

@ -10,7 +10,7 @@ GET_HANDLER_SUPPORT="git"
PKG_BUILD_FLAGS="+speed"
PKG_PATCH_DIRS+="${DEVICE}"
case ${ARCH} in
case ${TARGET_ARCH} in
aarch64|arm)
PKG_VERSION="c7618d2ecbf77b1e8188fa8af4fa1cfb34833a72"
PKG_GIT_CLONE_BRANCH="pi4-1-9-0"
@ -53,11 +53,11 @@ pre_configure_target() {
PKG_CMAKE_OPTS_TARGET="${PKG_BUILD}/yabause "
if [ ! "${OPENGL}" = "no" ]; then
PKG_CMAKE_OPTS_TARGET+=" -DUSE_EGL=ON"
PKG_CMAKE_OPTS_TARGET+=" -DUSE_EGL=ON -DUSE_OPENGL=ON"
fi
if [ "${OPENGLES_SUPPORT}" = yes ]; then
PKG_CMAKE_OPTS_TARGET+=" -DUSE_EGL=ON"
PKG_CMAKE_OPTS_TARGET+=" -DUSE_EGL=ON -DUSE_OPENGL=OFF"
fi
#if [ "${VULKAN_SUPPORT}" = "yes" ]

View file

@ -12,9 +12,9 @@ diff -rupN dosbox-pure.orig/Makefile dosbox-pure/Makefile
+CFLAGS := -DNDEBUG -O3 -fno-ident
+LDFLAGS += -O3 -fno-ident
+
+CPUFLAGS := -mtune=cortex-a35 -mcpu=cortex-a35 -march=armv8-a+crc+fp+simd
+CPUFLAGS := -mtune=cortex-a35 -march=armv8-a+crc+fp+simd
+
+CFLAGS += $(CPUFLAGS) -fpic -fomit-frame-pointer -fno-non-call-exceptions -Wno-psabi -Wno-format
+CFLAGS += $(CPUFLAGS) -fpic -fomit-frame-pointer -fno-non-call-exceptions -Wno-psabi -Wno-format -fexceptions
+LDFLAGS += $(CPUFLAGS) -lpthread -Wl,--gc-sections -shared
+CXX = $(CC)
+endif

View file

@ -12,9 +12,9 @@ diff -rupN dosbox-pure.orig/Makefile dosbox-pure/Makefile
+CFLAGS := -DNDEBUG -O3 -fno-ident
+LDFLAGS += -O3 -fno-ident
+
+CPUFLAGS := -mtune=cortex-a55 -mcpu=cortex-a55 -march=armv8-a+crc+fp+simd
+CPUFLAGS := -mtune=cortex-a55 -march=armv8-a+crc+fp+simd
+
+CFLAGS += $(CPUFLAGS) -fpic -fomit-frame-pointer -fno-non-call-exceptions -Wno-psabi -Wno-format
+CFLAGS += $(CPUFLAGS) -fpic -fomit-frame-pointer -fno-non-call-exceptions -Wno-psabi -Wno-format -fexceptions
+LDFLAGS += $(CPUFLAGS) -lpthread -Wl,--gc-sections -shared
+CXX = $(CC)
+endif

View file

@ -12,9 +12,9 @@ diff -rupN dosbox-pure.orig/Makefile dosbox-pure/Makefile
+CFLAGS := -DNDEBUG -O3 -fno-ident
+LDFLAGS += -O3 -fno-ident
+
+CPUFLAGS := -mtune=cortex-a72.cortex-a53 -mcpu=cortex-a72.cortex-a53 -march=armv8-a+crc+fp+simd
+CPUFLAGS := -mtune=cortex-a72.cortex-a53 -march=armv8-a+crc+fp+simd
+
+CFLAGS += $(CPUFLAGS) -fpic -fomit-frame-pointer -fno-non-call-exceptions -Wno-psabi -Wno-format
+CFLAGS += $(CPUFLAGS) -fpic -fomit-frame-pointer -fno-non-call-exceptions -Wno-psabi -Wno-format -fexceptions
+LDFLAGS += $(CPUFLAGS) -lpthread -Wl,--gc-sections -shared
+CXX = $(CC)
+endif

View file

@ -2,8 +2,8 @@
# Copyright (C) 2019 Trond Haugland (trondah@gmail.com)
PKG_NAME="mame"
PKG_VERSION="0d935696dce53a13eaf0705f4a108ee348f3c613"
PKG_SHA256="b23fa34a8fc09d55efe64992ce5af9389a20e1ef7139ee6c004b26581c7728f5"
PKG_VERSION="b8cd169fab8dec3e61f81c9f2df529ac2afe729e"
PKG_SHA256="f65301ad01293998e031326a7555a20c67ed3335f84c8a69a64d8598a95d4352"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/mame"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="pcsx2"
PKG_VERSION="ad76509"
PKG_VERSION="ad7650949e6c8c87cd2c5e278af88e3722a321bc"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_DEPENDS_TARGET="toolchain alsa-lib freetype zlib libpng libaio libsamplerate libfmt libpcap soundtouch yamlcpp wxwidgets"

View file

@ -77,6 +77,7 @@ case ${PROJECT} in
esac
pre_configure_target(){
export LDFLAGS="${LDFLAGS} -ludev"
PKG_CMAKE_OPTS_TARGET="-DSDL_STATIC=OFF \
-DLIBC=ON \
-DGCC_ATOMICS=ON \

View file

@ -8,7 +8,7 @@ if [ "$(cat /storage/.config/boot.hint 2>/dev/null)" = "UPDATE" ] || [ ! -e "/st
then
if [ -e "/usr/share/post-update" ]
then
/usr/share/post-update
/usr/share/post-update >/var/log/upgrade.log 2>&1
fi
rm /storage/.config/boot.hint
touch /storage/.configured

View file

@ -4,13 +4,17 @@
. /etc/profile
LOG="/var/log/boot.log"
### This script contains items that we only want to execute after a JELOS upgrade,
### or after a fresh installation.
echo "Rebuild library cache..." >>${LOG}
### Rebuild the library cache
rm -f /storage/.cache/ld.so.cache
ldconfig -X
echo "Sync configuration files..." >>${LOG}
### Sync configurations
if [ -d "/storage/.config/system/configs" ]
then
@ -21,15 +25,19 @@ rsync -a --delete ${EXCLUDE} /usr/config/system/ /storage/.config/system/
rsync -a --ignore-existing /usr/config/game /storage/.config/
rsync -a /usr/config/modules /storage/.config/
echo "Update logo..." >>${LOG}
if [ ! -L "/storage/.config/emulationstation/resources/logo.png" ]
then
rm -f /storage/.config/emulationstation/resources/logo.png ||:
ln -sf /usr/config/splash/splash.png /storage/.config/emulationstation/resources/logo.png
fi
echo "Sync modules..." >>${LOG}
rsync -a /usr/config/modules/* /storage/.config/modules/
cp -f /usr/config/retroarch/retroarch-core-options.cfg /storage/.config/retroarch/retroarch-core-options.cfg
echo "Sync theme..." >>${LOG}
cd /usr/share/themes
for theme in *
do
@ -42,16 +50,19 @@ done
cd -
### Apply developer ssh keys if they exist
echo "Apply dev keys if available..." >>${LOG}
if [ -e /usr/config/ssh/authorized_keys ]
then
cp /usr/config/ssh/authorized_keys /storage/.ssh
fi
### Sync rsync configs
echo "Update rsync configuration files..." >>${LOG}
rsync --ignore-existing /usr/config/rsync-rules.conf /storage/.config/
rsync --ignore-existing /usr/config/rsync.conf /storage/.config/
### Replace es_systems and es_features with links to manage them
echo "Sync ES configuration files..." >>${LOG}
for es_cfg in es_features.cfg es_systems.cfg
do
if [ -e "/storage/.config/emulationstation/${es_cfg}" ]
@ -62,9 +73,11 @@ do
done
# Default modules need to be updated to use the new stop/start ui function.
echo "Sync modules (tools)..." >>${LOG}
rsync -av /usr/config/modules/* /storage/.config/modules/
# Swap es_input back to a writeable file so external controller configuration works properly.
echo "Make sure es_input isn't a link..." >>${LOG}
if [ -L "/storage/.config/emulationstation/es_input.cfg" ]
then
rm -f /storage/.config/emulationstation/es_input.cfg
@ -74,26 +87,36 @@ fi
# Disable integer scaling by default on Win600
if [[ "${HW_DEVICE}" =~ handheld ]]
then
echo "No integer scaling (Win600 only)..." >>${LOG}
sed -i "s#.integerscale=1#.integerscale=0#g" /storage/.config/system/configs/system.cfg
fi
# We don't want to use gl on the 552, switch it to glcore.
if [[ "${HW_DEVICE}" =~ RG552 ]]
then
echo "Switch to glcore (RG552 only)..." >>${LOG}
sed -i 's#video_driver = "gl"#video_driver = "glcore"#g' /storage/.config/retroarch/retroarch.cfg
fi
# If smb.conf doesn't exist in ~/.config, add it.
if [ ! -e "/storage/.config/smb.conf" ]
then
echo "Make sure smb.conf is in .config..." >>${LOG}
cp -f /usr/config/smb.conf /storage/.config
fi
# Reset the retroarch hotkeys
rm -f /storage/.retroarch_controller
# Set automatic hotkey management by default.
set_setting system.autohotkeys 1
AUTOHOTKEYS=$(get_setting system.autohotkeys)
if [ -z "${AUTOHOTKEYS}" ]
then
echo "Set up hotkey management..." >>${LOG}
set_setting system.autohotkeys 1
fi
# Set the default weston startup to ES
set_setting weston.startup "/usr/bin/start_es.sh"
WESTONSTARTUP=$(get_setting weston.startup)
if [ -z "${WESTONSTARTUP}" ]
then
echo "Make sure weston is our default." >>${LOG}
set_setting weston.startup "/usr/bin/start_es.sh"
fi

View file

@ -12,7 +12,7 @@ then
else
systemctl stop ${UI_SERVICE}
clear >/dev/console 2>&1
$* >/dev/console 2>&1 || "$*"
$* >/dev/console 2>/dev/null || "$*" 2>/dev/null
clear >/dev/console 2>&1
fi
if [ ! "${UI_SERVICE}" = "weston.service" ]

View file

@ -1,5 +1,5 @@
PKG_NAME="RTL8188FU"
PKG_VERSION="dfe0a50"
PKG_VERSION="751882b3d8925b72ed796f40e38c0232ccc24785"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/kelebek333/rtl8188fu"
PKG_URL="${PKG_SITE}.git"

View file

@ -4,8 +4,8 @@
PKG_NAME="linux"
PKG_LICENSE="GPL"
PKG_VERSION="5.19.16"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_VERSION="6.0.6"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_SITE="http://www.kernel.org"
PKG_DEPENDS_HOST="ccache:host rsync:host openssl:host"
PKG_DEPENDS_TARGET="toolchain linux:host kmod:host cpio:host xz:host keyutils ncurses openssl:host ${KERNEL_EXTRA_DEPENDS_TARGET}"
@ -19,8 +19,8 @@ PKG_PATCH_DIRS+="${LINUX} ${DEVICE} default"
PKG_KERNEL_CFG_FILE=$(kernel_config_path) || die
if [ -n "${KERNEL_TOOLCHAIN}" ]; then
PKG_DEPENDS_HOST="${PKG_DEPENDS_HOST} gcc-arm-${KERNEL_TOOLCHAIN}:host"
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} gcc-arm-${KERNEL_TOOLCHAIN}:host"
PKG_DEPENDS_HOST="${PKG_DEPENDS_HOST} gcc-${KERNEL_TOOLCHAIN}:host"
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} gcc-${KERNEL_TOOLCHAIN}:host"
HEADERS_ARCH=${TARGET_ARCH}
fi

View file

@ -1,47 +0,0 @@
From 1fa1da0a951b32aada6f924b71a4417f101b2ed0 Mon Sep 17 00:00:00 2001
From: Maya Matuszczyk <maccraft123mc@gmail.com>
Date: Thu, 25 Aug 2022 20:58:34 +0200
Subject: [PATCH] drm: panel-orientation-quirks: Add quirk for Aya Neo Air
Yet another x86 gaming handheld.
This one has many SKUs with quite a few of DMI strings,
so let's just use a catchall, just as with Aya Neo Next.
Signed-off-by: Maya Matuszczyk <maccraft123mc@gmail.com>
---
drivers/gpu/drm/drm_panel_orientation_quirks.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c
index fc1728d46ac2..842d974a95c3 100644
--- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
+++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
@@ -103,6 +103,12 @@ static const struct drm_dmi_panel_orientation_data lcd800x1280_rightside_up = {
.orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
};
+static const struct drm_dmi_panel_orientation_data lcd1080x1920_leftside_up = {
+ .width = 1080,
+ .height = 1920,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
+};
+
static const struct drm_dmi_panel_orientation_data lcd1200x1920_rightside_up = {
.width = 1200,
.height = 1920,
@@ -152,6 +158,12 @@ static const struct dmi_system_id orientation_data[] = {
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "AYA NEO 2021"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* AYA NEO AIR */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYANEO"),
+ DMI_MATCH(DMI_BOARD_NAME, "AIR"),
+ },
+ .driver_data = (void *)&lcd1080x1920_leftside_up,
}, { /* AYA NEO NEXT */
.matches = {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
--
2.37.2

View file

@ -1,32 +0,0 @@
diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c
index 4e853acfd1e8..14b162167436 100644
--- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
+++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
@@ -121,6 +121,12 @@ static const struct drm_dmi_panel_orientation_data lcd1600x2560_leftside_up = {
.orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
};
+static const struct drm_dmi_panel_orientation_data win600 = {
+ .width = 720,
+ .height = 1280,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
static const struct dmi_system_id orientation_data[] = {
{ /* Acer One 10 (S1003) */
.matches = {
@@ -311,7 +317,13 @@ static const struct dmi_system_id orientation_data[] = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "VIOS"),
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "LTH17"),
},
- .driver_data = (void *)&lcd800x1280_rightside_up,
+ .driver_data = (void *)&lcd720x1280_rightside_up,
+ }, { /* Anbernic Win600 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Anbernic"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Win600"),
+ },
+ .driver_data = (void *)&win600,
},
{}
};

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,32 +0,0 @@
110
- Update to 3.1.5
109
- Fix x86_64 url
108
- Update to 3.1.3
107
- Update to 2.2.6
106
- Update to 2.2.4
105
- Update to 2.2.3
104
- Update to 2.2.0
103
- Update to 2.1.6
102
- Update to 2.1.4
101
- Update to 2.1.3
100
- Initial release

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

View file

@ -1,54 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
case "$ARCH" in
"aarch64")
PKG_NC_ARCH="arm64"
PKG_SHA256="05875790fbfc487cefb04fc6ff6d9a3ade147f1ae554e859dca60ea6a3c232aa"
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/65291ed8-e931-4605-9d5a-265928a835d0/1a15d18655c8b260170117e9bd1a1cb7/dotnet-runtime-3.1.5-linux-arm64.tar.gz"
;;
"arm")
PKG_NC_ARCH="arm"
PKG_SHA256="5728786f517410f25c59799f443d0336129d6b1680fd40cb5b40202407949008"
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/15132a5c-f0f4-4373-8b8b-b7e70834d899/cad479dda52359ad43956471274ec932/dotnet-runtime-3.1.5-linux-arm.tar.gz"
;;
"x86_64")
PKG_NC_ARCH="x64"
PKG_SHA256="ae0a4e9a1e875b46d3201cdad2779572de1c12c0aae36688ae3c3978db319ff5"
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/d00eaeea-6d7b-4e73-9d96-c0234ed3b665/0d25d9d1aeaebdeef01d15370d5cd22b/dotnet-runtime-3.1.5-linux-x64.tar.gz"
;;
esac
PKG_NAME="dotnet-runtime"
PKG_VERSION="3.1.5"
PKG_REV="110"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://dotnet.github.io/"
PKG_DEPENDS_TARGET="toolchain curl curl3 krb5 lttng-ust"
PKG_SECTION="tools"
PKG_SHORTDESC=".NET Core Runtime"
PKG_LONGDESC=".NET Core Runtime ($PKG_VERSION) runs applications built with .NET Core, a cross-platform .NET implementation."
PKG_TOOLCHAIN="manual"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME=".Net Core Runtime"
PKG_ADDON_TYPE="xbmc.python.script"
PKG_MAINTAINER="Anton Voyl (awiouy)"
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -r $PKG_BUILD/* \
$ADDON_BUILD/$PKG_ADDON_ID/bin
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/libs
cp -L $(get_build_dir curl3)/.install_pkg/usr/lib/libcurl.so.? \
$(get_build_dir krb5)/.install_pkg/usr/lib/libcom_err.so.? \
$(get_build_dir krb5)/.install_pkg/usr/lib/libgssapi_krb5.so.? \
$(get_build_dir krb5)/.install_pkg/usr/lib/libk5crypto.so.? \
$(get_build_dir krb5)/.install_pkg/usr/lib/libkrb5.so.? \
$(get_build_dir krb5)/.install_pkg/usr/lib/libkrb5support.so.? \
$(get_build_dir lttng-ust)/.install_pkg/usr/lib/liblttng-ust.so.? \
$(get_build_dir lttng-ust)/.install_pkg/usr/lib/liblttng-ust-tracepoint.so.? \
$ADDON_BUILD/$PKG_ADDON_ID/libs
}

View file

@ -1,10 +0,0 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon tools.dotnet-runtime
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT="1" \
LD_LIBRARY_PATH="$ADDON_DIR/libs:$LD_LIBRARY_PATH" \
dotnet "$@"

View file

@ -0,0 +1,77 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gcc-aarch64"
PKG_VERSION="$(get_pkg_version gcc)"
PKG_LICENSE="GPL-2.0-or-later"
PKG_URL=""
PKG_DEPENDS_HOST="toolchain:host ccache:host autoconf:host binutils-aarch64:host gmp:host mpfr:host mpc:host zstd:host"
PKG_LONGDESC="This package contains the GNU Compiler Collection for 64-bit ARM."
PKG_DEPENDS_UNPACK+=" gcc"
PKG_PATCH_DIRS+=" $(get_pkg_directory gcc)/patches"
if [ "${MOLD_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_HOST+=" mold:host"
fi
PKG_CONFIGURE_OPTS_HOST="--target=aarch64-none-elf \
--with-sysroot=${SYSROOT_PREFIX} \
--with-gmp=${TOOLCHAIN} \
--with-mpfr=${TOOLCHAIN} \
--with-mpc=${TOOLCHAIN} \
--with-zstd=${TOOLCHAIN} \
--with-gnu-as \
--with-gnu-ld \
--with-newlib \
--without-ppl \
--without-headers \
--without-cloog \
--enable-__cxa_atexit \
--enable-checking=release \
--enable-gold \
--enable-languages=c \
--enable-ld=default \
--enable-lto \
--enable-plugin \
--enable-static \
--disable-decimal-float \
--disable-gcov \
--disable-libada \
--disable-libatomic \
--disable-libgomp \
--disable-libitm \
--disable-libmpx \
--disable-libmudflap \
--disable-libquadmath \
--disable-libquadmath-support \
--disable-libsanitizer \
--disable-libssp \
--disable-multilib \
--disable-nls \
--disable-shared \
--disable-threads"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/gcc/gcc-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}
post_makeinstall_host() {
PKG_GCC_PREFIX="${TOOLCHAIN}/bin/aarch64-none-elf-"
GCC_VERSION=$(${PKG_GCC_PREFIX}gcc -dumpversion)
DATE="0501$(echo ${GCC_VERSION} | sed 's/\./0/g')"
CROSS_CC=${PKG_GCC_PREFIX}gcc-${GCC_VERSION}
rm -f ${PKG_GCC_PREFIX}gcc
cat > ${PKG_GCC_PREFIX}gcc <<EOF
#!/bin/sh
${TOOLCHAIN}/bin/ccache ${CROSS_CC} "\$@"
EOF
chmod +x ${PKG_GCC_PREFIX}gcc
# To avoid cache trashing
touch -c -t ${DATE} ${CROSS_CC}
}

View file

@ -1,35 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gcc-arm-aarch64-none-elf"
PKG_VERSION="10.3-2021.07"
PKG_LICENSE="GPL"
PKG_SITE="https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a"
PKG_URL="https://developer.arm.com/-/media/Files/downloads/gnu-a/${PKG_VERSION}/binrel/gcc-arm-${PKG_VERSION}-aarch64-aarch64-none-elf.tar.xz"
PKG_DEPENDS_HOST="ccache:host"
PKG_LONGDESC="ARM Aarch64 GNU Linux Binary Toolchain"
PKG_TOOLCHAIN="manual"
makeinstall_host() {
mkdir -p ${TOOLCHAIN}/lib/gcc-arm-aarch64-none-elf/
cp -a * ${TOOLCHAIN}/lib/gcc-arm-aarch64-none-elf
# wrap gcc and g++ with ccache like in gcc package.mk
PKG_GCC_PREFIX="${TOOLCHAIN}/lib/gcc-arm-aarch64-none-elf/bin/aarch64-none-elf-"
cp "${PKG_GCC_PREFIX}gcc" "${PKG_GCC_PREFIX}gcc.real"
cat > "${PKG_GCC_PREFIX}gcc" << EOF
#!/bin/sh
${TOOLCHAIN}/bin/ccache ${PKG_GCC_PREFIX}gcc.real "\$@"
EOF
chmod +x "${PKG_GCC_PREFIX}gcc"
cp "${PKG_GCC_PREFIX}g++" "${PKG_GCC_PREFIX}g++.real"
cat > "${PKG_GCC_PREFIX}g++" << EOF
#!/bin/sh
${TOOLCHAIN}/bin/ccache ${PKG_GCC_PREFIX}g++.real "\$@"
EOF
chmod +x "${PKG_GCC_PREFIX}g++"
}

View file

@ -1,35 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gcc-arm-aarch64-none-linux-gnu"
PKG_VERSION="10.3-2021.07"
PKG_LICENSE="GPL"
PKG_SITE="https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a"
PKG_URL="https://developer.arm.com/-/media/Files/downloads/gnu-a/${PKG_VERSION}/binrel/gcc-arm-${PKG_VERSION}-x86_64-aarch64-none-linux-gnu.tar.xz"
PKG_DEPENDS_HOST="ccache:host"
PKG_LONGDESC="ARM Aarch64 GNU Linux Binary Toolchain"
PKG_TOOLCHAIN="manual"
makeinstall_host() {
mkdir -p ${TOOLCHAIN}/lib/gcc-arm-aarch64-none-linux-gnu/
cp -a * ${TOOLCHAIN}/lib/gcc-arm-aarch64-none-linux-gnu
# wrap gcc and g++ with ccache like in gcc package.mk
PKG_GCC_PREFIX="${TOOLCHAIN}/lib/gcc-arm-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-"
cp "${PKG_GCC_PREFIX}gcc" "${PKG_GCC_PREFIX}gcc.real"
cat > "${PKG_GCC_PREFIX}gcc" << EOF
#!/bin/sh
${TOOLCHAIN}/bin/ccache ${PKG_GCC_PREFIX}gcc.real "\$@"
EOF
chmod +x "${PKG_GCC_PREFIX}gcc"
cp "${PKG_GCC_PREFIX}g++" "${PKG_GCC_PREFIX}g++.real"
cat > "${PKG_GCC_PREFIX}g++" << EOF
#!/bin/sh
${TOOLCHAIN}/bin/ccache ${PKG_GCC_PREFIX}g++.real "\$@"
EOF
chmod +x "${PKG_GCC_PREFIX}g++"
}

View file

@ -0,0 +1,76 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gcc-arm-none-eabi"
PKG_VERSION="$(get_pkg_version gcc)"
PKG_LICENSE="GPL-2.0-or-later"
PKG_URL=""
PKG_DEPENDS_HOST="toolchain:host ccache:host autoconf:host binutils-arm-none-eabi:host gmp:host mpfr:host mpc:host zstd:host"
PKG_LONGDESC="This package contains the GNU Compiler Collection for ARM Cortex-R/M processors."
PKG_DEPENDS_UNPACK+=" gcc"
PKG_PATCH_DIRS+=" $(get_pkg_directory gcc)/patches"
if [ "${MOLD_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_HOST+=" mold:host"
fi
PKG_CONFIGURE_OPTS_HOST="--target=arm-none-eabi \
--with-sysroot=${SYSROOT_PREFIX} \
--with-gmp=${TOOLCHAIN} \
--with-mpfr=${TOOLCHAIN} \
--with-mpc=${TOOLCHAIN} \
--with-zstd=${TOOLCHAIN} \
--with-gnu-as \
--with-gnu-ld \
--with-newlib \
--without-ppl \
--without-headers \
--without-cloog \
--enable-__cxa_atexit \
--enable-checking=release \
--enable-languages=c \
--enable-ld=default \
--enable-lto \
--enable-plugin \
--enable-static \
--disable-decimal-float \
--disable-gcov \
--disable-libada \
--disable-libatomic \
--disable-libgomp \
--disable-libitm \
--disable-libmpx \
--disable-libmudflap \
--disable-libquadmath \
--disable-libquadmath-support \
--disable-libsanitizer \
--disable-libssp \
--disable-multilib \
--disable-nls \
--disable-shared \
--disable-threads"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/gcc/gcc-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}
post_makeinstall_host() {
PKG_GCC_PREFIX="${TOOLCHAIN}/bin/arm-none-eabi-"
GCC_VERSION=$(${PKG_GCC_PREFIX}gcc -dumpversion)
DATE="0501$(echo ${GCC_VERSION} | sed 's/\./0/g')"
CROSS_CC=${PKG_GCC_PREFIX}gcc-${GCC_VERSION}
rm -f ${PKG_GCC_PREFIX}gcc
cat > ${PKG_GCC_PREFIX}gcc <<EOF
#!/bin/sh
${TOOLCHAIN}/bin/ccache ${CROSS_CC} "\$@"
EOF
chmod +x ${PKG_GCC_PREFIX}gcc
# To avoid cache trashing
touch -c -t ${DATE} ${CROSS_CC}
}

View file

@ -0,0 +1,58 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gcc-bpf"
PKG_VERSION="$(get_pkg_version gcc)"
PKG_LICENSE="GPL-2.0-or-later"
PKG_URL=""
PKG_DEPENDS_HOST="toolchain:host ccache:host autoconf:host binutils-bpf:host gmp:host mpfr:host mpc:host zstd:host"
PKG_LONGDESC="This package contains the GNU Compiler Collection for 64-bit ARM."
PKG_DEPENDS_UNPACK+=" gcc"
PKG_PATCH_DIRS+=" $(get_pkg_directory gcc)/patches"
if [ "${MOLD_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_HOST+=" mold:host"
fi
PKG_CONFIGURE_OPTS_HOST="--target=bpf \
--with-sysroot=${SYSROOT_PREFIX} \
--with-gmp=${TOOLCHAIN} \
--with-mpfr=${TOOLCHAIN} \
--with-mpc=${TOOLCHAIN} \
--with-zstd=${TOOLCHAIN} \
--with-gnu-as \
--with-gnu-ld \
--with-newlib \
--without-ppl \
--without-headers \
--without-cloog \
--enable-__cxa_atexit \
--enable-checking=release \
--enable-gold \
--enable-languages=c \
--enable-ld=default \
--enable-lto \
--enable-plugin \
--enable-static \
--disable-decimal-float \
--disable-gcov \
--disable-libada \
--disable-libatomic \
--disable-libgomp \
--disable-libitm \
--disable-libmpx \
--disable-libmudflap \
--disable-libquadmath \
--disable-libquadmath-support \
--disable-libsanitizer \
--disable-libssp \
--disable-multilib \
--disable-nls \
--disable-shared \
--disable-threads"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/gcc/gcc-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}

View file

@ -0,0 +1,77 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gcc-or1k"
PKG_VERSION="$(get_pkg_version gcc)"
PKG_LICENSE="GPL-2.0-or-later"
PKG_URL=""
PKG_DEPENDS_HOST="toolchain:host ccache:host autoconf:host binutils-or1k:host gmp:host mpfr:host mpc:host zstd:host"
PKG_LONGDESC="This package contains the GNU Compiler Collection for OpenRISC 1000."
PKG_DEPENDS_UNPACK+=" gcc"
PKG_PATCH_DIRS+=" $(get_pkg_directory gcc)/patches"
if [ "${MOLD_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_HOST+=" mold:host"
fi
PKG_CONFIGURE_OPTS_HOST="--target=or1k-none-elf \
--with-sysroot=${SYSROOT_PREFIX} \
--with-gmp=${TOOLCHAIN} \
--with-mpfr=${TOOLCHAIN} \
--with-mpc=${TOOLCHAIN} \
--with-zstd=${TOOLCHAIN} \
--with-gnu-as \
--with-gnu-ld \
--with-newlib \
--without-ppl \
--without-headers \
--without-cloog \
--enable-__cxa_atexit \
--enable-checking=release \
--enable-gold \
--enable-languages=c \
--enable-ld=default \
--enable-lto \
--enable-plugin \
--enable-static \
--disable-decimal-float \
--disable-gcov \
--disable-libada \
--disable-libatomic \
--disable-libgomp \
--disable-libitm \
--disable-libmpx \
--disable-libmudflap \
--disable-libquadmath \
--disable-libquadmath-support \
--disable-libsanitizer \
--disable-libssp \
--disable-multilib \
--disable-nls \
--disable-shared \
--disable-threads"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/gcc/gcc-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}
post_makeinstall_host() {
PKG_GCC_PREFIX="${TOOLCHAIN}/bin/or1k-none-elf-"
GCC_VERSION=$(${PKG_GCC_PREFIX}gcc -dumpversion)
DATE="0501$(echo ${GCC_VERSION} | sed 's/\./0/g')"
CROSS_CC=${PKG_GCC_PREFIX}gcc-${GCC_VERSION}
rm -f ${PKG_GCC_PREFIX}gcc
cat > ${PKG_GCC_PREFIX}gcc <<EOF
#!/bin/sh
${TOOLCHAIN}/bin/ccache ${CROSS_CC} "\$@"
EOF
chmod +x ${PKG_GCC_PREFIX}gcc
# To avoid cache trashing
touch -c -t ${DATE} ${CROSS_CC}
}

View file

@ -3,15 +3,30 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gcc"
PKG_VERSION="10.3.0"
PKG_SITE="http://gcc.gnu.org/"
PKG_URL="http://ftpmirror.gnu.org/gcc/${PKG_NAME}-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_VERSION="12.2.0"
PKG_SHA256="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff"
PKG_LICENSE="GPL-2.0-or-later"
PKG_SITE="https://gcc.gnu.org/"
PKG_URL="https://ftpmirror.gnu.org/gcc/${PKG_NAME}-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_BOOTSTRAP="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host zstd:host"
PKG_DEPENDS_TARGET="toolchain"
PKG_DEPENDS_HOST="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host zstd:host glibc"
PKG_DEPENDS_INIT="toolchain"
PKG_LONGDESC="This package contains the GNU Compiler Collection."
if [ "${MOLD_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_HOST+=" mold:host"
fi
case ${TARGET_ARCH} in
arm|riscv64)
OPTS_LIBATOMIC="--enable-libatomic"
;;
*)
OPTS_LIBATOMIC="--disable-libatomic"
;;
esac
GCC_COMMON_CONFIGURE_OPTS="--target=${TARGET_NAME} \
--with-sysroot=${SYSROOT_PREFIX} \
--with-gmp=${TOOLCHAIN} \
@ -37,8 +52,8 @@ GCC_COMMON_CONFIGURE_OPTS="--target=${TARGET_NAME} \
--enable-libgomp \
--disable-libmpx \
--disable-libssp \
--disable-static \
--enable-shared \
--disable-static \
--enable-shared \
--enable-__cxa_atexit"
PKG_CONFIGURE_OPTS_BOOTSTRAP="${GCC_COMMON_CONFIGURE_OPTS} \
@ -57,7 +72,7 @@ PKG_CONFIGURE_OPTS_BOOTSTRAP="${GCC_COMMON_CONFIGURE_OPTS} \
PKG_CONFIGURE_OPTS_HOST="${GCC_COMMON_CONFIGURE_OPTS} \
--enable-languages=c,c++ \
--enable-libatomic \
${OPTS_LIBATOMIC} \
--enable-decimal-float \
--enable-tls \
--enable-shared \
@ -71,6 +86,28 @@ PKG_CONFIGURE_OPTS_HOST="${GCC_COMMON_CONFIGURE_OPTS} \
PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_HOST}"
post_makeinstall_bootstrap() {
GCC_VERSION=$(${TOOLCHAIN}/bin/${TARGET_NAME}-gcc -dumpversion)
DATE="0401$(echo ${GCC_VERSION} | sed 's/\./0/g')"
CROSS_CC=${TARGET_PREFIX}gcc-${GCC_VERSION}
rm -f ${TARGET_PREFIX}gcc
cat > ${TARGET_PREFIX}gcc <<EOF
#!/bin/sh
${TOOLCHAIN}/bin/ccache ${CROSS_CC} "\$@"
EOF
chmod +x ${TARGET_PREFIX}gcc
# To avoid cache trashing
touch -c -t ${DATE} ${CROSS_CC}
# install lto plugin for binutils
mkdir -p ${TOOLCHAIN}/lib/bfd-plugins
ln -sf ../gcc/${TARGET_NAME}/${GCC_VERSION}/liblto_plugin.so ${TOOLCHAIN}/lib/bfd-plugins
}
pre_configure_host() {
unset CPP
}
@ -133,10 +170,11 @@ make_target() {
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libgcc/*.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libstdc++-v3/src/.libs/*.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libgomp/.libs/*.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libatomic/.libs/libatomic.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libgcc/libgcc_s.so* ${INSTALL}/usr/lib
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libstdc++-v3/src/.libs/libstdc++.so* ${INSTALL}/usr/lib
if [ "${OPTS_LIBATOMIC}" = "--enable-libatomic" ]; then
cp -P ${PKG_BUILD}/.${HOST_NAME}/${TARGET_NAME}/libatomic/.libs/libatomic.so* ${INSTALL}/usr/lib
fi
}
configure_init() {

View file

@ -1,7 +1,7 @@
Index: gcc-4.4+svnr145550/gcc/incpath.c
Index: gcc-4.4+svnr145550/gcc/incpath.cc
===================================================================
--- gcc-4.4+svnr145550.orig/gcc/incpath.c 2009-04-04 13:48:31.000000000 -0700
+++ gcc-4.4+svnr145550/gcc/incpath.c 2009-04-04 14:49:29.000000000 -0700
--- gcc-4.4+svnr145550.orig/gcc/incpath.cc 2009-04-04 13:48:31.000000000 -0700
+++ gcc-4.4+svnr145550/gcc/incpath.cc 2009-04-04 14:49:29.000000000 -0700
@@ -417,6 +417,26 @@
p->construct = 0;
p->user_supplied_p = user_supplied_p;

View file

@ -1,2 +0,0 @@
100
- Initial release

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View file

@ -1,42 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com)
PKG_NAME="jre.zulu"
PKG_VERSION="1.0"
PKG_REV="100"
PKG_LICENSE="GPL2"
PKG_DEPENDS_TARGET="jdk-${TARGET_ARCH}-zulu jre-libbluray libXext chrome-libXtst chrome-libXi chrome-libXrender jre-libXinerama"
PKG_SECTION="tools"
PKG_SHORTDESC="Java Runtime Environment 8 for Blu-ray Disc Java menus from Azul Systems."
PKG_LONGDESC="$PKG_SHORTDESC"
PKG_TOOLCHAIN="manual"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="JRE for BD-J menus"
PKG_ADDON_TYPE="xbmc.python.script"
# find $1.so.[0-9]* in $2 and copy it to dest
_pkg_copy_lib() {
find "$2" -regextype sed -regex ".*/$1\.so\.[0-9]*" \
-exec cp {} "$ADDON_BUILD/$PKG_ADDON_ID/lib" \;
}
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
cp -a $(get_build_dir jdk-${TARGET_ARCH}-zulu)/jre \
$(get_build_dir jre-libbluray)/.$TARGET_NAME/.libs/*.jar \
${PKG_DIR}/profile.d \
$ADDON_BUILD/$PKG_ADDON_ID
# copy required libraries for JRE
_pkg_copy_lib libXtst $(get_build_dir chrome-libXtst)/.$TARGET_NAME/src/.libs
_pkg_copy_lib libXi $(get_build_dir chrome-libXi)/.$TARGET_NAME/src/.libs
_pkg_copy_lib libXrender $(get_build_dir chrome-libXrender)/.$TARGET_NAME/src/.libs
_pkg_copy_lib libXinerama $(get_build_dir jre-libXinerama)/.$TARGET_NAME/src/.libs
if [ "$TARGET_ARCH" = "arm" ]; then
_pkg_copy_lib libX11 $(get_build_dir libX11)/.$TARGET_NAME/src/.libs
_pkg_copy_lib libXext $(get_build_dir libXext)/.$TARGET_NAME/src/.libs
fi
}

View file

@ -1,8 +0,0 @@
# point to folder with jre
export JAVA_HOME="/storage/.kodi/addons/tools.jre.zulu"
# libbluray-*.jar in this folder (need / at the end)
export LIBBLURAY_CP="/storage/.kodi/addons/tools.jre.zulu/"
# or set file directly
# export LIBBLURAY_CP="/storage/.kodi/addons/tools.jre.zulu/libbluray-j2se-1.0.2.jar"

View file

@ -1,2 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)

View file

@ -3,8 +3,7 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="llvm"
PKG_VERSION="14.0.5"
PKG_SHA256="c9d27903ba3883c476a83cd515e36e1e07b0585db55692835de11385d9e3c8fa"
PKG_VERSION="15.0.3"
PKG_LICENSE="Apache-2.0"
PKG_SITE="http://llvm.org/"
PKG_URL="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PKG_VERSION}/llvm-project-${PKG_VERSION}.src.tar.xz"
@ -14,6 +13,7 @@ PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure."
PKG_TOOLCHAIN="cmake"
PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_BUILD_TOOLS=OFF \
-DLLVM_BUILD_UTILS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \

View file

@ -1,14 +1,14 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
# Copyright (C) 2022-present Fewtarius
PKG_NAME="lua"
PKG_VERSION="5.4.4"
PKG_NAME="lua52"
PKG_VERSION="5.2.4"
PKG_SHA256="b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b"
PKG_LICENSE="MIT"
PKG_SITE="https://www.lua.org"
PKG_URL="http://www.lua.org/ftp/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_URL="http://www.lua.org/ftp/lua-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A powerful, efficient, lightweight, embeddable scripting language."
PKG_LONGDESC="Lua is a powerful, efficient, lightweight, embeddable scripting language."
make_target() {
make CC=${CC} AR="${AR} rcu" posix
@ -22,8 +22,8 @@ makeinstall_target() {
cp src/liblua.a ${SYSROOT_PREFIX}/usr/lib/liblua$(get_pkg_version_maj_min).a
mkdir -p ${SYSROOT_PREFIX}/usr/lib/pkgconfig
cp ${PKG_DIR}/config/lua.pc ${SYSROOT_PREFIX}/usr/lib/pkgconfig
cp ${PKG_DIR}/config/lua52.pc ${SYSROOT_PREFIX}/usr/lib/pkgconfig
sed -e "s/@@VERSION@@/${PKG_VERSION}/g" \
-e "s/@@VERSION_MM@@/$(get_pkg_version_maj_min)/g" \
-i ${SYSROOT_PREFIX}/usr/lib/pkgconfig/lua.pc
-i ${SYSROOT_PREFIX}/usr/lib/pkgconfig/lua52.pc
}

Some files were not shown because too many files have changed in this diff Show more