commit
257cf69da7
121 changed files with 37600 additions and 8668 deletions
4
.github/workflows/build-dev.yaml
vendored
4
.github/workflows/build-dev.yaml
vendored
|
@ -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)
|
||||
|
|
4
.github/workflows/build-main.yaml
vendored
4
.github/workflows/build-main.yaml
vendored
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
15
config/path
15
config/path
|
@ -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
|
||||
|
|
|
@ -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"
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
10
packages/devel/autoconf/patches/man-exclude.patch
Normal file
10
packages/devel/autoconf/patches/man-exclude.patch
Normal 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
|
|
@ -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"
|
||||
|
||||
|
|
54
packages/devel/binutils-aarch64/package.mk
Normal file
54
packages/devel/binutils-aarch64/package.mk
Normal 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
|
||||
}
|
54
packages/devel/binutils-arm-none-eabi/package.mk
Normal file
54
packages/devel/binutils-arm-none-eabi/package.mk
Normal 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
|
||||
}
|
54
packages/devel/binutils-bpf/package.mk
Normal file
54
packages/devel/binutils-bpf/package.mk
Normal 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
|
||||
}
|
54
packages/devel/binutils-or1k/package.mk
Normal file
54
packages/devel/binutils-or1k/package.mk
Normal 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
|
||||
}
|
|
@ -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() {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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 \
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
+
|
|
@ -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 \
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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. */
|
|
@ -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>
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
14
packages/devel/gperftools/package.mk
Normal file
14
packages/devel/gperftools/package.mk
Normal 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"
|
13
packages/devel/json-c/package.mk
Normal file
13
packages/devel/json-c/package.mk
Normal 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."
|
|
@ -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"
|
24
packages/devel/libbpf/package.mk
Normal file
24
packages/devel/libbpf/package.mk
Normal 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
|
||||
}
|
|
@ -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}
|
|
@ -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
|
||||
|
|
27
packages/devel/libevent/package.mk
Normal file
27
packages/devel/libevent/package.mk
Normal 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
|
||||
}
|
|
@ -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 \
|
||||
|
|
|
@ -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"
|
||||
|
|
25
packages/devel/libirman/package.mk
Normal file
25
packages/devel/libirman/package.mk
Normal 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
|
||||
}
|
|
@ -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
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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"
|
|
@ -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
|
||||
|
27
packages/devel/mimalloc/package.mk
Normal file
27
packages/devel/mimalloc/package.mk
Normal 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"
|
23
packages/devel/mold/package.mk
Normal file
23
packages/devel/mold/package.mk
Normal 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
|
||||
}
|
|
@ -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 "
|
164
packages/devel/mold/patches/mold-999.01-fix-strip-on-armv7.patch
Normal file
164
packages/devel/mold/patches/mold-999.01-fix-strip-on-armv7.patch
Normal 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
|
|
@ -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 \
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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}
|
||||
}
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
27
packages/devel/tbb/package.mk
Normal file
27
packages/devel/tbb/package.mk
Normal 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"
|
||||
}
|
|
@ -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();
|
||||
+}
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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" ]
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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" ]
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
8997
packages/kernel/linux/patches/X86_64/patch-6.0.5-rt14.patch
Normal file
8997
packages/kernel/linux/patches/X86_64/patch-6.0.5-rt14.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -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 |
|
@ -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
|
||||
}
|
|
@ -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 "$@"
|
77
packages/lang/gcc-aarch64/package.mk
Normal file
77
packages/lang/gcc-aarch64/package.mk
Normal 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}
|
||||
}
|
|
@ -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++"
|
||||
}
|
|
@ -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++"
|
||||
}
|
76
packages/lang/gcc-arm-none-eabi/package.mk
Normal file
76
packages/lang/gcc-arm-none-eabi/package.mk
Normal 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}
|
||||
}
|
58
packages/lang/gcc-bpf/package.mk
Normal file
58
packages/lang/gcc-bpf/package.mk
Normal 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}
|
||||
}
|
77
packages/lang/gcc-or1k/package.mk
Normal file
77
packages/lang/gcc-or1k/package.mk
Normal 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}
|
||||
}
|
|
@ -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() {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
100
|
||||
- Initial release
|
Binary file not shown.
Before Width: | Height: | Size: 18 KiB |
|
@ -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
|
||||
}
|
|
@ -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"
|
|
@ -1,2 +0,0 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
|
@ -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 \
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue