mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-11-05 04:06:38 +08:00
Compare commits
22 Commits
7b22c51f5c
...
5756d9d75b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5756d9d75b | ||
|
|
5313cbba62 | ||
|
|
559496cb6d | ||
|
|
4006aee0bf | ||
|
|
da760947f1 | ||
|
|
28f5c3d7cb | ||
|
|
4639c04454 | ||
|
|
3650a613f3 | ||
|
|
d2abc86a7c | ||
|
|
c33cf12401 | ||
|
|
f236d86e60 | ||
|
|
e684b923d1 | ||
|
|
31b4282059 | ||
|
|
721493ad46 | ||
|
|
c57bba090a | ||
|
|
9bf257dbab | ||
|
|
b7352eecfd | ||
|
|
d15b5f9220 | ||
|
|
aa6f01bfb2 | ||
|
|
7992e91522 | ||
|
|
934b84b60b | ||
|
|
858a19e150 |
@ -141,6 +141,10 @@ You can see all open issues on [this](https://gitlab.redox-os.org/groups/redox-o
|
||||
|
||||
Please follow [our process](https://doc.redox-os.org/book/creating-proper-pull-requests.html) for creating proper pull requests.
|
||||
|
||||
### Pull Requests Pipelines
|
||||
|
||||
The GitLab CI pipelines is runnable only by maintainer review, otherwise it will be seen as "stuck". Please don't hesitate to ask in Matrix for triggering CI pipelines after being reviewed.
|
||||
|
||||
## Important Places to Contribute
|
||||
|
||||
Before starting to contribute, we recommend reading the [General FAQ](https://www.redox-os.org/faq/) and the [Redox Book](https://doc.redox-os.org/book/).
|
||||
|
||||
@ -176,6 +176,7 @@ mesa = {}
|
||||
mesa-glu = {}
|
||||
mesa-demos = {}
|
||||
mesa-demos-x11 = {}
|
||||
meson = {}
|
||||
mgba = {}
|
||||
miniserve = {}
|
||||
mpc = {}
|
||||
|
||||
@ -104,14 +104,13 @@
|
||||
#TODO: This isn't tested yet, use at your own risk
|
||||
native = (pkgs.mkShell.override { stdenv = pkgs.gcc14Stdenv; }) rec {
|
||||
nativeBuildInputs =
|
||||
let
|
||||
autoreconf269 = pkgs.writeShellScriptBin "autoreconf2.69" "${pkgs.autoconf269}/bin/autoreconf";
|
||||
in
|
||||
with pkgs;
|
||||
[
|
||||
(pkgs.writeShellScriptBin "${pkgs.stdenv.hostPlatform.system}-gnu-strip" ''
|
||||
${pkgs.bintools-unwrapped}/bin/strip $@
|
||||
'')
|
||||
ant
|
||||
autoconf
|
||||
autoreconf269 # gnu-binutils
|
||||
autoconf269
|
||||
automake
|
||||
bison
|
||||
cmake
|
||||
|
||||
@ -1,76 +0,0 @@
|
||||
From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001
|
||||
From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
|
||||
Date: Sun, 16 Jul 2023 18:18:02 +0300
|
||||
Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
|
||||
instructions within inline assembly
|
||||
|
||||
Fixes assembling with binutil as >= 2.41
|
||||
|
||||
Signed-off-by: James Almer <jamrial@gmail.com>
|
||||
---
|
||||
libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++---
|
||||
1 file changed, 23 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h
|
||||
index 6298f5ed19..ca7e2dffc1 100644
|
||||
--- a/libavcodec/x86/mathops.h
|
||||
+++ b/libavcodec/x86/mathops.h
|
||||
@@ -35,12 +35,20 @@
|
||||
static av_always_inline av_const int MULL(int a, int b, unsigned shift)
|
||||
{
|
||||
int rt, dummy;
|
||||
+ if (__builtin_constant_p(shift))
|
||||
__asm__ (
|
||||
"imull %3 \n\t"
|
||||
"shrdl %4, %%edx, %%eax \n\t"
|
||||
:"=a"(rt), "=d"(dummy)
|
||||
- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
|
||||
+ :"a"(a), "rm"(b), "i"(shift & 0x1F)
|
||||
);
|
||||
+ else
|
||||
+ __asm__ (
|
||||
+ "imull %3 \n\t"
|
||||
+ "shrdl %4, %%edx, %%eax \n\t"
|
||||
+ :"=a"(rt), "=d"(dummy)
|
||||
+ :"a"(a), "rm"(b), "c"((uint8_t)shift)
|
||||
+ );
|
||||
return rt;
|
||||
}
|
||||
|
||||
@@ -113,19 +121,31 @@ __asm__ volatile(\
|
||||
// avoid +32 for shift optimization (gcc should do that ...)
|
||||
#define NEG_SSR32 NEG_SSR32
|
||||
static inline int32_t NEG_SSR32( int32_t a, int8_t s){
|
||||
+ if (__builtin_constant_p(s))
|
||||
__asm__ ("sarl %1, %0\n\t"
|
||||
: "+r" (a)
|
||||
- : "ic" ((uint8_t)(-s))
|
||||
+ : "i" (-s & 0x1F)
|
||||
);
|
||||
+ else
|
||||
+ __asm__ ("sarl %1, %0\n\t"
|
||||
+ : "+r" (a)
|
||||
+ : "c" ((uint8_t)(-s))
|
||||
+ );
|
||||
return a;
|
||||
}
|
||||
|
||||
#define NEG_USR32 NEG_USR32
|
||||
static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
|
||||
+ if (__builtin_constant_p(s))
|
||||
__asm__ ("shrl %1, %0\n\t"
|
||||
: "+r" (a)
|
||||
- : "ic" ((uint8_t)(-s))
|
||||
+ : "i" (-s & 0x1F)
|
||||
);
|
||||
+ else
|
||||
+ __asm__ ("shrl %1, %0\n\t"
|
||||
+ : "+r" (a)
|
||||
+ : "c" ((uint8_t)(-s))
|
||||
+ );
|
||||
return a;
|
||||
}
|
||||
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
diff -rupN source-original/configure source/configure
|
||||
--- source-original/configure 2018-03-04 11:13:59.000000000 +0100
|
||||
+++ source/configure 2018-03-04 11:18:10.026033282 +0100
|
||||
@@ -5141,6 +5141,8 @@ case $target_os in
|
||||
diff -ruwN source/configure source-new/configure
|
||||
--- source/configure 2026-05-05 14:22:01.000000000 +0000
|
||||
+++ source-new/configure 2026-11-02 05:18:51.788806151 +0000
|
||||
@@ -5814,6 +5814,8 @@
|
||||
;;
|
||||
minix)
|
||||
;;
|
||||
@ -10,15 +10,3 @@ diff -rupN source-original/configure source/configure
|
||||
none)
|
||||
;;
|
||||
*)
|
||||
diff -rupN source-original/fftools/ffmpeg.c source/fftools/ffmpeg.c
|
||||
--- source-original/fftools/ffmpeg.c 2018-03-04 11:13:59.000000000 +0100
|
||||
+++ source/fftools/ffmpeg.c 2018-03-04 11:45:38.326394016 +0100
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
#if HAVE_TERMIOS_H
|
||||
#include <fcntl.h>
|
||||
-#include <sys/ioctl.h>
|
||||
+//#include <sys/ioctl.h>
|
||||
#include <sys/time.h>
|
||||
#include <termios.h>
|
||||
#elif HAVE_KBHIT
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
[source]
|
||||
tar = "https://ffmpeg.org/releases/ffmpeg-6.0.tar.xz"
|
||||
blake3 = "4879074c357102f85932673044c57c144b0c188ae58edec2a115965536ee340f"
|
||||
tar = "https://ffmpeg.org/releases/ffmpeg-6.1.5.tar.xz"
|
||||
blake3 = "da8e6743d96f27d5b5425339218f9a954d9440cb27ba449b449d686b411292e9"
|
||||
patches = [
|
||||
"ffmpeg.patch",
|
||||
"binutils-2.41.patch",
|
||||
]
|
||||
|
||||
[build]
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[source]
|
||||
tar = "https://github.com/nghttp2/nghttp2/releases/download/v1.64.0/nghttp2-1.64.0.tar.xz"
|
||||
blake3 = "1bbc08de4816769d800c42f501a00c1ba3f5efa1b76e1f65d2e5bdf3aa30354d"
|
||||
tar = "https://github.com/nghttp2/nghttp2/releases/download/v1.69.0/nghttp2-1.69.0.tar.xz"
|
||||
blake3 = "dd7432762ac454aaa14ff3b29d40d5b8f641ec3c33e4e24c5ed70e971ac6987b"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
@ -14,4 +14,4 @@ COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--enable-lib-only
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
"""
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[source]
|
||||
tar = "https://github.com/openssl/openssl/releases/download/openssl-3.5.3/openssl-3.5.3.tar.gz"
|
||||
blake3 = "e1622a4587c71c278355bf38ff5a619918bd51e3cd37214d53dd5345b187fc10"
|
||||
tar = "https://github.com/openssl/openssl/releases/download/openssl-3.5.9/openssl-3.5.9.tar.gz"
|
||||
blake3 = "be2f7530fe5cd02a06e67d8916e6574f1c53b8071393aae2364b4ed817cf0354"
|
||||
patches = [ "redox.patch" ]
|
||||
|
||||
[build]
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
diff -ruwN source/apps/lib/apps.c source-new/apps/lib/apps.c
|
||||
--- source/apps/lib/apps.c 2025-09-16 19:05:33.000000000 +0700
|
||||
+++ source-new/apps/lib/apps.c 2026-05-05 05:08:40.007422945 +0700
|
||||
@@ -2839,7 +2839,7 @@
|
||||
--- source/apps/lib/apps.c 2026-09-29 14:05:00.000000000 +0000
|
||||
+++ source-new/apps/lib/apps.c 2026-11-02 13:12:01.017080874 +0000
|
||||
@@ -2863,7 +2863,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
-#elif defined(_SC_CLK_TCK) /* by means of unistd.h */
|
||||
+#elif defined(_SC_CLK_TCK) && !defined(__RELIBC__) /* by means of unistd.h */
|
||||
# include <sys/times.h>
|
||||
-#elif defined(_SC_CLK_TCK) /* by means of unistd.h */
|
||||
+#elif defined(_SC_CLK_TCK) && !defined(__RELIBC__) /* by means of unistd.h */
|
||||
#include <sys/times.h>
|
||||
|
||||
double app_tminterval(int stop, int usertime)
|
||||
diff -ruwN source/Configurations/10-main.conf source-new/Configurations/10-main.conf
|
||||
--- source/Configurations/10-main.conf 2025-09-16 19:05:33.000000000 +0700
|
||||
+++ source-new/Configurations/10-main.conf 2026-05-05 05:08:44.812616321 +0700
|
||||
@@ -208,6 +208,40 @@
|
||||
--- source/Configurations/10-main.conf 2026-09-29 14:05:00.000000000 +0000
|
||||
+++ source-new/Configurations/10-main.conf 2026-11-02 13:09:11.387128346 +0000
|
||||
@@ -209,6 +209,40 @@
|
||||
shared_extension => ".so",
|
||||
},
|
||||
|
||||
@ -54,7 +54,7 @@ diff -ruwN source/Configurations/10-main.conf source-new/Configurations/10-main.
|
||||
#### Solaris configurations
|
||||
"solaris-common" => {
|
||||
inherit_from => [ "BASE_unix" ],
|
||||
@@ -693,7 +727,6 @@
|
||||
@@ -694,7 +728,6 @@
|
||||
shared_target => "linux-shared",
|
||||
shared_cflag => "-fPIC",
|
||||
shared_ldflag => sub { $disabled{pinshared} ? () : "-Wl,-znodelete" },
|
||||
@ -62,7 +62,7 @@ diff -ruwN source/Configurations/10-main.conf source-new/Configurations/10-main.
|
||||
},
|
||||
"linux-latomic" => {
|
||||
inherit_from => [ "linux-generic32" ],
|
||||
@@ -890,7 +923,6 @@
|
||||
@@ -891,7 +924,6 @@
|
||||
bn_ops => "SIXTY_FOUR_BIT_LONG",
|
||||
asm_arch => 'x86_64',
|
||||
perlasm_scheme => "elf",
|
||||
@ -71,14 +71,14 @@ diff -ruwN source/Configurations/10-main.conf source-new/Configurations/10-main.
|
||||
"linux-x86_64-clang" => {
|
||||
inherit_from => [ "linux-x86_64" ],
|
||||
diff -ruwN source/include/crypto/rand.h source-new/include/crypto/rand.h
|
||||
--- source/include/crypto/rand.h 2025-09-16 19:05:33.000000000 +0700
|
||||
+++ source-new/include/crypto/rand.h 2026-05-05 05:08:40.007980910 +0700
|
||||
@@ -41,7 +41,7 @@
|
||||
--- source/include/crypto/rand.h 2026-09-29 14:05:00.000000000 +0000
|
||||
+++ source-new/include/crypto/rand.h 2026-11-02 13:10:37.658190042 +0000
|
||||
@@ -40,7 +40,7 @@
|
||||
* default, we will try to read at least one of these files
|
||||
*/
|
||||
# define DEVRANDOM "/dev/urandom", "/dev/random", "/dev/hwrng", "/dev/srandom"
|
||||
-# if defined(__linux) && !defined(__ANDROID__)
|
||||
+# if defined(__linux) && !defined(__RELIBC__) && !defined(__ANDROID__) /* needs sys/shm.h */
|
||||
# ifndef DEVRANDOM_WAIT
|
||||
# define DEVRANDOM_WAIT "/dev/random"
|
||||
# endif
|
||||
#define DEVRANDOM "/dev/urandom", "/dev/random", "/dev/hwrng", "/dev/srandom"
|
||||
-#if defined(__linux) && !defined(__ANDROID__)
|
||||
+#if defined(__linux) && !defined(__ANDROID__) && !defined(__RELIBC__) /* needs sys/shm.h */
|
||||
#ifndef DEVRANDOM_WAIT
|
||||
#define DEVRANDOM_WAIT "/dev/random"
|
||||
#endif
|
||||
|
||||
@ -1,22 +1,37 @@
|
||||
# zlib-rs is compatible with zlib
|
||||
[source]
|
||||
tar = "https://www.zlib.net/fossils/zlib-1.3.tar.gz"
|
||||
blake3 = "ec1abc6f672a7a6ee6f49ba544cc9529f73121b478310473be44fee22a140ebf"
|
||||
tar = "https://github.com/trifectatechfoundation/zlib-rs/archive/refs/tags/v0.6.8.tar.gz"
|
||||
blake3 = "933487029f0a79a923545d60e3828da151194fcbff521acccecfb128ca738ee9"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
compiler = "no-lto"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS=(--prefix="/usr" --shared --static)
|
||||
# TODO: fPIC is the default on linux but not on redox and
|
||||
# required by libz-sys as zlib statically linked there
|
||||
export CFLAGS="$CFLAGS -fPIC"
|
||||
# See https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar.
|
||||
env CHOST="${TARGET}" "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}"
|
||||
"${COOKBOOK_MAKE}" -j "$(nproc)"
|
||||
"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}"
|
||||
solib="${COOKBOOK_STAGE}/usr/lib/libz.so.1.3"
|
||||
if [ -e "${solib}" ]
|
||||
then
|
||||
patchelf --set-soname 'libz.so.1.3' "${solib}"
|
||||
# the dynamic and static lib must exist
|
||||
COOKBOOK_SOURCE+="/libz-rs-sys-cdylib"
|
||||
COOKBOOK_CARGO_FLAGS+=(
|
||||
--no-default-features --features "c-allocator,std,gz,gzprintf"
|
||||
)
|
||||
|
||||
# NOTE: relocation-model=pic is the default on linux and redox,
|
||||
# it is required by libz-sys as zlib statically linked there
|
||||
"${COOKBOOK_CARGO}" build \
|
||||
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
|
||||
${build_flags} -j "${COOKBOOK_MAKE_JOBS}" \
|
||||
"${COOKBOOK_CARGO_FLAGS[@]}"
|
||||
|
||||
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig" "${COOKBOOK_STAGE}/usr/include"
|
||||
cp "./target/$TARGET/$build_type/libz_rs.a" "${COOKBOOK_STAGE}/usr/lib/libz.a"
|
||||
cp "${COOKBOOK_SOURCE}/include"/*.h "${COOKBOOK_STAGE}/usr/include/"
|
||||
cp "${COOKBOOK_RECIPE}/zlib.pc" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/"
|
||||
|
||||
DYNAMIC_INIT
|
||||
if [ "${COOKBOOK_DYNAMIC}" = "1" ]; then
|
||||
"${COOKBOOK_CARGO}" build \
|
||||
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
|
||||
${build_flags} -j "${COOKBOOK_MAKE_JOBS}" \
|
||||
"${COOKBOOK_CARGO_FLAGS[@]}"
|
||||
cp "./target/$TARGET/$build_type/libz_rs.so" "${COOKBOOK_STAGE}/usr/lib/libz.so"
|
||||
fi
|
||||
"""
|
||||
|
||||
|
||||
13
recipes/libs/zlib/zlib.pc
Normal file
13
recipes/libs/zlib/zlib.pc
Normal file
@ -0,0 +1,13 @@
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
sharedlibdir=${libdir}
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: zlib
|
||||
Description: zlib compression library
|
||||
Version: 1.3
|
||||
|
||||
Requires:
|
||||
Libs: -L${libdir} -L${sharedlibdir} -lz
|
||||
Cflags: -I${includedir}
|
||||
@ -1,29 +0,0 @@
|
||||
diff --git a/lib/asyn-thrdd.c b/lib/asyn-thrdd.c
|
||||
index 90f055c2..4db5ab02 100644
|
||||
--- a/lib/asyn-thrdd.c
|
||||
+++ b/lib/asyn-thrdd.c
|
||||
@@ -481,7 +481,11 @@ static void async_thrdd_report_item(struct Curl_easy *data,
|
||||
struct dynbuf tmp;
|
||||
const char *sep = "";
|
||||
const struct Curl_addrinfo *ai = item->res;
|
||||
+#ifdef USE_IPV6
|
||||
int ai_family = (item->dns_queries & CURL_DNSQ_AAAA) ? AF_INET6 : AF_INET;
|
||||
+#else
|
||||
+ int ai_family = AF_INET;
|
||||
+#endif
|
||||
CURLcode result;
|
||||
|
||||
if(!CURL_TRC_DNS_is_verbose(data))
|
||||
@@ -789,10 +793,12 @@ const struct Curl_addrinfo *Curl_async_get_ai(struct Curl_easy *data,
|
||||
if(thrdd->res_A)
|
||||
return async_thrdd_get_ai(thrdd->res_A->res, ai_family, index);
|
||||
break;
|
||||
+#ifdef USE_IPV6
|
||||
case AF_INET6:
|
||||
if(thrdd->res_AAAA)
|
||||
return async_thrdd_get_ai(thrdd->res_AAAA->res, ai_family, index);
|
||||
break;
|
||||
+#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
[source]
|
||||
git = "https://github.com/curl/curl.git"
|
||||
rev = "curl-8_20_0"
|
||||
patches = ["ipv6.patch", "redox.patch"]
|
||||
rev = "curl-8_23_0"
|
||||
patches = ["redox.patch"]
|
||||
shallow_clone = true
|
||||
|
||||
[build]
|
||||
@ -16,12 +16,10 @@ cmakeflags = [
|
||||
"-DCURL_DISABLE_FTP=On",
|
||||
"-DCURL_DISABLE_TFTP=On",
|
||||
"-DENABLE_IPV6=Off",
|
||||
"-DCURL_DISABLE_NTLM=On",
|
||||
"-DENABLE_THREADED_RESOLVER=On",
|
||||
"-DCURL_CA_PATH=/etc/ssl/certs",
|
||||
"-DUSE_NGHTTP2=On",
|
||||
"-DCURL_USE_OPENSSL=On",
|
||||
"-DUSE_ZLIB=On",
|
||||
"-DCURL_USE_LIBPSL=Off",
|
||||
]
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
diff --git a/curl-config.in b/curl-config.in
|
||||
index a1c8185875..326ea2b9d3 100644
|
||||
index a1c81858..326ea2b9 100644
|
||||
--- a/curl-config.in
|
||||
+++ b/curl-config.in
|
||||
@@ -167,7 +167,7 @@ while test "$#" -gt 0; do
|
||||
@ -12,7 +12,7 @@ index a1c8185875..326ea2b9d3 100644
|
||||
echo 'curl was built with static libraries disabled' >&2
|
||||
exit 1
|
||||
diff --git a/include/curl/curl.h b/include/curl/curl.h
|
||||
index 6961a6c4c1..66221b85e3 100644
|
||||
index ccc9a09a..2aa0e69c 100644
|
||||
--- a/include/curl/curl.h
|
||||
+++ b/include/curl/curl.h
|
||||
@@ -88,7 +88,7 @@
|
||||
@ -24,7 +24,7 @@ index 6961a6c4c1..66221b85e3 100644
|
||||
defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \
|
||||
defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \
|
||||
(defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \
|
||||
@@ -975,11 +975,11 @@ typedef enum {
|
||||
@@ -987,11 +987,11 @@ typedef enum {
|
||||
/* Backwards compatibility with older names */
|
||||
/* These are scheduled to disappear by 2009 */
|
||||
|
||||
@ -42,10 +42,10 @@ index 6961a6c4c1..66221b85e3 100644
|
||||
#endif /* !CURL_NO_OLDIES */
|
||||
|
||||
diff --git a/libcurl.pc.in b/libcurl.pc.in
|
||||
index c0ba5244a8..7898dae358 100644
|
||||
index 8f7e35dd..78650251 100644
|
||||
--- a/libcurl.pc.in
|
||||
+++ b/libcurl.pc.in
|
||||
@@ -36,6 +36,6 @@ Version: @CURLVERSION@
|
||||
@@ -40,7 +40,7 @@ Source: https://curl.se/download/curl-@CURLVERSION@.tar.gz
|
||||
Requires: @LIBCURL_PC_REQUIRES@
|
||||
Requires.private: @LIBCURL_PC_REQUIRES_PRIVATE@
|
||||
Libs: -L${libdir} -lcurl @LIBCURL_PC_LIBS@
|
||||
@ -53,3 +53,4 @@ index c0ba5244a8..7898dae358 100644
|
||||
+Libs.private: @LIBCURL_PC_LIBS_PRIVATE@
|
||||
Cflags: -I${includedir} @LIBCURL_PC_CFLAGS@
|
||||
Cflags.private: @LIBCURL_PC_CFLAGS_PRIVATE@
|
||||
Link.ABI: c
|
||||
|
||||
@ -1,5 +1,18 @@
|
||||
#TODO create a standalone script: https://github.com/mesonbuild/meson#creating-a-standalone-script
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
tar = "https://github.com/mesonbuild/meson/releases/download/1.3.0/meson-1.3.0.tar.gz"
|
||||
git = "https://github.com/mesonbuild/meson"
|
||||
rev = "1.12.1"
|
||||
shallow_clone = true
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
template = "python"
|
||||
dev-dependencies = [
|
||||
"host:python312",
|
||||
"python312",
|
||||
"python3-setuptools",
|
||||
]
|
||||
|
||||
[package]
|
||||
dependencies = [
|
||||
"python312",
|
||||
]
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# TODO: Not tested
|
||||
[source]
|
||||
tar = "https://www.python.org/ftp/python/3.15.0/Python-3.15.0a8.tar.xz"
|
||||
blake3 = "b1e24434fc15b352b07222e44e6ff12ce14bbbe8535928a13123ee6a49fa6541"
|
||||
tar = "https://www.python.org/ftp/python/3.15.2/Python-3.15.2.tar.xz"
|
||||
blake3 = "be2eb5c42e774473b40d02c6c74839dec00b779ec24c593cb324b4f8c460acf4"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
@ -54,7 +54,7 @@ fi
|
||||
cookbook_configure
|
||||
|
||||
# A same file to save 73MB
|
||||
(cd "${COOKBOOK_STAGE}/usr/lib/python3.15/config-3.15" && \
|
||||
(cd "${COOKBOOK_STAGE}/usr/lib/python3.15/config-3.15-${ARCH}-${OS}" && \
|
||||
rm -f libpython3.15.a && ln -s ../../libpython3.15.a)
|
||||
"""
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
diff -ruwN source/configure source-new/configure
|
||||
--- source/configure 2026-04-07 18:24:03.000000000 +0700
|
||||
+++ source-new/configure 2026-05-07 12:19:48.765197728 +0700
|
||||
@@ -4163,6 +4163,9 @@
|
||||
--- source/configure 2026-10-25 16:57:51.000000000 +0000
|
||||
+++ source-new/configure 2026-11-02 05:14:13.172455982 +0000
|
||||
@@ -4178,6 +4178,9 @@
|
||||
*-*-wasi*)
|
||||
ac_sys_system=WASI
|
||||
;;
|
||||
@ -11,7 +11,7 @@ diff -ruwN source/configure source-new/configure
|
||||
*)
|
||||
# for now, limit cross builds to known configurations
|
||||
MACHDEP="unknown"
|
||||
@@ -4189,6 +4192,7 @@
|
||||
@@ -4204,6 +4207,7 @@
|
||||
freebsd*) MACHDEP="freebsd";;
|
||||
linux-android*) MACHDEP="android";;
|
||||
linux*) MACHDEP="linux";;
|
||||
@ -19,7 +19,7 @@ diff -ruwN source/configure source-new/configure
|
||||
cygwin*) MACHDEP="cygwin";;
|
||||
darwin*) MACHDEP="darwin";;
|
||||
'') MACHDEP="unknown";;
|
||||
@@ -4615,7 +4619,7 @@
|
||||
@@ -4630,7 +4634,7 @@
|
||||
|
||||
if test "$cross_compiling" = yes; then
|
||||
case "$host" in
|
||||
@ -28,7 +28,7 @@ diff -ruwN source/configure source-new/configure
|
||||
case "$host_cpu" in
|
||||
arm*)
|
||||
_host_ident=arm
|
||||
@@ -7771,7 +7775,7 @@
|
||||
@@ -7813,7 +7817,7 @@
|
||||
PY3LIBRARY=libpython3.so
|
||||
fi
|
||||
;;
|
||||
@ -37,7 +37,7 @@ diff -ruwN source/configure source-new/configure
|
||||
LDLIBRARY='libpython$(LDVERSION).so'
|
||||
BLDLIBRARY='-L. -lpython$(LDVERSION)'
|
||||
RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
|
||||
@@ -13777,7 +13781,7 @@
|
||||
@@ -14234,7 +14238,7 @@
|
||||
Emscripten*|WASI*)
|
||||
LDSHARED='$(CC) -shared'
|
||||
LDCXXSHARED='$(CXX) -shared';;
|
||||
@ -46,7 +46,7 @@ diff -ruwN source/configure source-new/configure
|
||||
LDSHARED='$(CC) -shared'
|
||||
LDCXXSHARED='$(CXX) -shared';;
|
||||
FreeBSD*)
|
||||
@@ -13862,7 +13866,7 @@
|
||||
@@ -14319,7 +14323,7 @@
|
||||
then CCSHARED="-fPIC";
|
||||
else CCSHARED="+z";
|
||||
fi;;
|
||||
@ -55,7 +55,7 @@ diff -ruwN source/configure source-new/configure
|
||||
Emscripten*|WASI*)
|
||||
if test "x$enable_wasm_dynamic_linking" = xyes
|
||||
then :
|
||||
@@ -13900,7 +13904,7 @@
|
||||
@@ -14357,7 +14361,7 @@
|
||||
LINKFORSHARED="-Wl,-E -Wl,+s";;
|
||||
# LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
|
||||
Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";;
|
||||
@ -65,8 +65,8 @@ diff -ruwN source/configure source-new/configure
|
||||
Darwin/*|iOS/*)
|
||||
LINKFORSHARED="$extra_undefs -framework CoreFoundation"
|
||||
diff -ruwN source/Include/internal/pycore_time.h source-new/Include/internal/pycore_time.h
|
||||
--- source/Include/internal/pycore_time.h 2026-04-07 18:24:03.000000000 +0700
|
||||
+++ source-new/Include/internal/pycore_time.h 2026-05-07 12:55:06.797297037 +0700
|
||||
--- source/Include/internal/pycore_time.h 2026-10-25 16:57:51.000000000 +0000
|
||||
+++ source-new/Include/internal/pycore_time.h 2026-11-02 05:14:13.172455982 +0000
|
||||
@@ -49,6 +49,10 @@
|
||||
|
||||
#ifndef Py_INTERNAL_TIME_H
|
||||
@ -79,9 +79,9 @@ diff -ruwN source/Include/internal/pycore_time.h source-new/Include/internal/pyc
|
||||
extern "C" {
|
||||
#endif
|
||||
diff -ruwN source/Include/pyport.h source-new/Include/pyport.h
|
||||
--- source/Include/pyport.h 2026-04-07 18:24:03.000000000 +0700
|
||||
+++ source-new/Include/pyport.h 2026-05-07 12:16:56.305047939 +0700
|
||||
@@ -541,7 +541,7 @@
|
||||
--- source/Include/pyport.h 2026-10-25 16:57:51.000000000 +0000
|
||||
+++ source-new/Include/pyport.h 2026-11-02 05:14:13.173456040 +0000
|
||||
@@ -502,7 +502,7 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@ -91,9 +91,9 @@ diff -ruwN source/Include/pyport.h source-new/Include/pyport.h
|
||||
// See _Py_GetLocaleEncoding(), PyUnicode_DecodeLocale()
|
||||
// and PyUnicode_EncodeLocale().
|
||||
diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c
|
||||
--- source/Modules/posixmodule.c 2026-04-07 18:24:03.000000000 +0700
|
||||
+++ source-new/Modules/posixmodule.c 2026-05-07 12:57:16.208883903 +0700
|
||||
@@ -11253,7 +11253,7 @@
|
||||
--- source/Modules/posixmodule.c 2026-10-25 16:57:51.000000000 +0000
|
||||
+++ source-new/Modules/posixmodule.c 2026-11-02 05:14:13.174456099 +0000
|
||||
@@ -11340,7 +11340,7 @@
|
||||
struct tms process;
|
||||
clock_t elapsed;
|
||||
errno = 0;
|
||||
@ -103,8 +103,8 @@ diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c
|
||||
return posix_error();
|
||||
}
|
||||
diff -ruwN source/Modules/resource.c source-new/Modules/resource.c
|
||||
--- source/Modules/resource.c 2026-04-07 18:24:03.000000000 +0700
|
||||
+++ source-new/Modules/resource.c 2026-05-07 12:16:56.305184305 +0700
|
||||
--- source/Modules/resource.c 2026-10-25 16:57:51.000000000 +0000
|
||||
+++ source-new/Modules/resource.c 2026-11-02 05:14:13.174456099 +0000
|
||||
@@ -245,7 +245,7 @@
|
||||
{
|
||||
struct rlimit rl;
|
||||
|
||||
44
recipes/wip/libs/media/ffmpeg9/recipe.toml
Normal file
44
recipes/wip/libs/media/ffmpeg9/recipe.toml
Normal file
@ -0,0 +1,44 @@
|
||||
# TODO: need j1 relibc function
|
||||
[source]
|
||||
tar = "https://ffmpeg.org/releases/ffmpeg-9.0.2.tar.xz"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"liborbital",
|
||||
"mesa",
|
||||
"sdl2",
|
||||
"zlib",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"libstdcxx"
|
||||
]
|
||||
compiler = "gcc-no-lto"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
export LDFLAGS="$LDFLAGS -lSDL2 -lorbital -lOSMesa"
|
||||
ARCH="${TARGET%%-*}"
|
||||
COOKBOOK_CONFIGURE_FLAGS=(
|
||||
--enable-cross-compile
|
||||
--target-os=redox
|
||||
--arch="${ARCH}"
|
||||
--cross_prefix="${TARGET}-"
|
||||
--prefix=/usr
|
||||
--disable-doc
|
||||
--enable-shared
|
||||
--disable-static
|
||||
--disable-network
|
||||
--enable-sdl2
|
||||
--enable-zlib
|
||||
--enable-pic
|
||||
--enable-encoder=png
|
||||
--enable-decoder=png
|
||||
)
|
||||
cookbook_configure
|
||||
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
|
||||
cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/ffplay"
|
||||
"""
|
||||
13
recipes/wip/libs/media/ffmpeg9/redox.patch
Normal file
13
recipes/wip/libs/media/ffmpeg9/redox.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -ruwN source/configure source-new/configure
|
||||
--- source/configure 2026-08-03 22:14:47.000000000 +0000
|
||||
+++ source-new/configure 2026-11-02 10:38:23.591367435 +0000
|
||||
@@ -6377,6 +6377,9 @@
|
||||
;;
|
||||
minix)
|
||||
;;
|
||||
+ redox)
|
||||
+ enable section_data_rel_ro
|
||||
+ ;;
|
||||
none)
|
||||
;;
|
||||
*)
|
||||
@ -170,11 +170,10 @@ pub fn init_config() {
|
||||
config.cook_opt.git_treeless = Some(extract_env("COOKBOOK_GIT_TREELESS", false));
|
||||
}
|
||||
if config.cook_opt.verbose.is_none() {
|
||||
let default = config.cook_opt.logs.unwrap();
|
||||
config.cook_opt.verbose = Some(extract_env("COOKBOOK_VERBOSE", default));
|
||||
config.cook_opt.verbose = Some(extract_env("COOKBOOK_VERBOSE", true));
|
||||
}
|
||||
if config.cook_opt.verbose_cmd.is_none() {
|
||||
config.cook_opt.verbose_cmd = Some(extract_env("COOKBOOK_VERBOSE_CMD", true));
|
||||
config.cook_opt.verbose_cmd = Some(extract_env("COOKBOOK_VERBOSE_CMD", false));
|
||||
}
|
||||
if config.cook_opt.nonstop.is_none() {
|
||||
config.cook_opt.nonstop = Some(extract_env("COOKBOOK_NONSTOP", false));
|
||||
@ -314,7 +313,7 @@ mod tests {
|
||||
compressed: false,
|
||||
git_treeless: false,
|
||||
verbose: true,
|
||||
verbose_cmd: true,
|
||||
verbose_cmd: false,
|
||||
clean_build: false,
|
||||
clean_target: false,
|
||||
write_filetree: false
|
||||
|
||||
@ -276,9 +276,21 @@ pub fn build(
|
||||
};
|
||||
let have_toolchain = !name.is_host() && !dep_host_pkgars.is_empty();
|
||||
let (sysroot_cached, toolchain_cached) = (
|
||||
build_deps_dir(logger, &sysroot_dir, deps_sysroot)?,
|
||||
build_deps_dir(
|
||||
logger,
|
||||
&sysroot_dir,
|
||||
deps_sysroot,
|
||||
false,
|
||||
cook_config.clean_target,
|
||||
)?,
|
||||
if have_toolchain {
|
||||
build_deps_dir(logger, &toolchain_dir, &dep_host_pkgars)?
|
||||
build_deps_dir(
|
||||
logger,
|
||||
&toolchain_dir,
|
||||
&dep_host_pkgars,
|
||||
false,
|
||||
cook_config.clean_target,
|
||||
)?
|
||||
} else {
|
||||
true
|
||||
},
|
||||
@ -301,14 +313,12 @@ pub fn build(
|
||||
remove_stage_dir(stage_dir)?;
|
||||
}
|
||||
if cook_config.clean_target {
|
||||
// no matter what, these two caches are invalid
|
||||
// both caches are invalid without init tag
|
||||
if sysroot_cached {
|
||||
fs::remove_all(&sysroot_dir)?;
|
||||
build_deps_dir(logger, &sysroot_dir, deps_sysroot)?;
|
||||
build_deps_dir(logger, &sysroot_dir, deps_sysroot, true, true)?;
|
||||
}
|
||||
if toolchain_cached && have_toolchain {
|
||||
fs::remove_all(&toolchain_dir)?;
|
||||
build_deps_dir(logger, &toolchain_dir, &dep_host_pkgars)?;
|
||||
build_deps_dir(logger, &toolchain_dir, &dep_host_pkgars, true, true)?;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -485,8 +495,15 @@ pub fn build(
|
||||
}
|
||||
};
|
||||
command.env("COOKBOOK_MAKE_JOBS", cli_jobs.to_string());
|
||||
if cook_config.verbose {
|
||||
command.env("COOKBOOK_VERBOSE", "true");
|
||||
} else {
|
||||
command.env_remove("COOKBOOK_VERBOSE");
|
||||
}
|
||||
if cook_config.verbose_cmd {
|
||||
command.env("COOKBOOK_VERBOSE", "1");
|
||||
command.env("COOKBOOK_VERBOSE_CMD", "true");
|
||||
} else {
|
||||
command.env_remove("COOKBOOK_VERBOSE_CMD");
|
||||
}
|
||||
if cook_config.offline && allow_cargo_offline {
|
||||
command.env("COOKBOOK_OFFLINE", "1");
|
||||
@ -627,6 +644,8 @@ fn build_deps_dir(
|
||||
logger: &PtyOut,
|
||||
deps_dir: &PathBuf,
|
||||
dep_pkgars: &BTreeSet<(PackageName, PathBuf)>,
|
||||
check_init_tag: bool,
|
||||
write_init_tag: bool,
|
||||
) -> Result<bool> {
|
||||
let pkey_path = "build/id_ed25519.pub.toml";
|
||||
let pkey_file = match PublicKeyFile::open(pkey_path) {
|
||||
@ -675,7 +694,12 @@ fn build_deps_dir(
|
||||
}
|
||||
}
|
||||
}
|
||||
if cached {
|
||||
if cached
|
||||
&& (!check_init_tag || {
|
||||
let init_tag_file = deps_dir.join(".tags-init");
|
||||
std::fs::exists(&init_tag_file).unwrap_or(false)
|
||||
})
|
||||
{
|
||||
return Ok(true);
|
||||
}
|
||||
fs::remove_all(deps_dir)?;
|
||||
@ -705,6 +729,13 @@ fn build_deps_dir(
|
||||
std::fs::write(&tag_file, hash.as_bytes()).map_err(wrap_io_err!("Writing tag"))?;
|
||||
}
|
||||
|
||||
if write_init_tag {
|
||||
let init_tag_file = deps_dir_tmp.join(".tags-init");
|
||||
// this file is used to prevent removing deps dir when clean_target
|
||||
// is enabled, then clean_deps_dir will remove the tag after build.
|
||||
std::fs::write(init_tag_file, "").map_err(wrap_io_err!("Writing init tag"))?;
|
||||
}
|
||||
|
||||
// Move sysroot.tmp to sysroot atomically
|
||||
fs::rename(&deps_dir_tmp, deps_dir)?;
|
||||
|
||||
|
||||
@ -64,6 +64,9 @@ pub fn package(
|
||||
}
|
||||
|
||||
if !package_file.is_file() {
|
||||
if cook_config.compressed && cook_config.verbose {
|
||||
log_to_pty!(logger, "DEBUG: compressing '{}'", package_file.display());
|
||||
}
|
||||
pkgar::create_with_flags(
|
||||
secret_path,
|
||||
package_file.to_str().unwrap(),
|
||||
|
||||
@ -83,6 +83,16 @@ function DYNAMIC_STATIC_INIT {
|
||||
function GNU_CONFIG_GET {
|
||||
wget -O "$1" "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false"
|
||||
}
|
||||
|
||||
# Bash error hook
|
||||
error_hook() {
|
||||
local ec=$?;
|
||||
echo "Cookbook error : failed at line $1 with code $ec" >&2;
|
||||
echo "Error command : $BASH_COMMAND" >&2;
|
||||
[ -z "${COOKBOOK_VERBOSE_CMD}" ] && echo "Add 'export COOKBOOK_VERBOSE_CMD=1' in .config to see more" >&2;
|
||||
exit "$ec";
|
||||
}
|
||||
trap 'error_hook $LINENO' ERR
|
||||
"#;
|
||||
|
||||
pub(crate) static BUILD_PRESCRIPT: &str = r#"
|
||||
@ -215,6 +225,17 @@ COOKBOOK_CONFIGURE_FLAGS=(
|
||||
--enable-static
|
||||
)
|
||||
COOKBOOK_MAKE_FLAGS=()
|
||||
if [ -n "${COOKBOOK_VERBOSE_CMD}" ]; then
|
||||
COOKBOOK_MAKE_FLAGS+=(V=1)
|
||||
else
|
||||
COOKBOOK_MAKE_FLAGS+=(V=0)
|
||||
fi
|
||||
|
||||
COOKBOOK_NINJA_FLAGS=()
|
||||
if [ -n "${COOKBOOK_VERBOSE_CMD}" ]; then
|
||||
COOKBOOK_NINJA_FLAGS+=(--verbose)
|
||||
fi
|
||||
|
||||
COOKBOOK_MAKE="make"
|
||||
|
||||
function cookbook_configure {
|
||||
@ -320,7 +341,7 @@ function cookbook_cmake {
|
||||
"${COOKBOOK_CMAKE_FLAGS[@]}" \
|
||||
"$@"
|
||||
|
||||
"${COOKBOOK_NINJA}" -j"${COOKBOOK_MAKE_JOBS}"
|
||||
"${COOKBOOK_NINJA}" "${COOKBOOK_NINJA_FLAGS[@]}" -j"${COOKBOOK_MAKE_JOBS}"
|
||||
DESTDIR="${COOKBOOK_STAGE}" "${COOKBOOK_NINJA}" install -j"${COOKBOOK_MAKE_JOBS}"
|
||||
}
|
||||
|
||||
@ -381,7 +402,7 @@ function cookbook_meson {
|
||||
--cross-file cross_file.txt \
|
||||
"${COOKBOOK_MESON_FLAGS[@]}" \
|
||||
"$@"
|
||||
"${COOKBOOK_NINJA}" -j"${COOKBOOK_MAKE_JOBS}"
|
||||
"${COOKBOOK_NINJA}" "${COOKBOOK_NINJA_FLAGS[@]}" -j"${COOKBOOK_MAKE_JOBS}"
|
||||
DESTDIR="${COOKBOOK_STAGE}" "${COOKBOOK_NINJA}" install -j"${COOKBOOK_MAKE_JOBS}"
|
||||
}
|
||||
COOKBOOK_PYTHON="${COOKBOOK_TOOLCHAIN}/bin/python3"
|
||||
@ -416,16 +437,38 @@ function cookbook_python {
|
||||
|
||||
pub(crate) static BUILD_POSTSCRIPT: &str = r#"
|
||||
STRIP="${GNU_TARGET}-strip"
|
||||
STRIP_ARGS=""
|
||||
if [ -n "${COOKBOOK_VERBOSE_CMD}" ]; then
|
||||
STRIP_ARGS="-v"
|
||||
fi
|
||||
|
||||
if [[ "$REDOXER_USE_CLANG" = "1" || "$REDOXER_USE_CLANG" = "true" ]]; then
|
||||
STRIP="llvm-strip"
|
||||
STRIP_ARGS="--verbose"
|
||||
# clang 21 does not support verbose flag, only 23 or above
|
||||
# [ -n "${COOKBOOK_VERBOSE_CMD}" ] && STRIP_ARGS="--verbose"
|
||||
elif [[ "$REDOXER_USE_LTO" = "1" || "$REDOXER_USE_LTO" = "true" ]]; then
|
||||
GCC_BIN=$(command -v "${GNU_TARGET}-gcc")
|
||||
GCC_VER=$("${GNU_TARGET}-gcc" -dumpfullversion)
|
||||
PLUGIN_PATH=$(realpath "$(dirname "$GCC_BIN")/../libexec/gcc/${GNU_TARGET}/${GCC_VER}/liblto_plugin.so")
|
||||
[ -f "$PLUGIN_PATH" ] && STRIP_ARGS="--plugin=${PLUGIN_PATH} -v" || echo "DEBUG: $PLUGIN_PATH not found"
|
||||
# binutils 2.41 does not support strip plugins, only 2.44 or above
|
||||
# [ -f "$PLUGIN_PATH" ] && STRIP_ARGS="--plugin=${PLUGIN_PATH} -v" || echo "DEBUG: $PLUGIN_PATH not found"
|
||||
fi
|
||||
|
||||
strip_directory() {
|
||||
local target_dir="$1"
|
||||
local strip_cmd="${STRIP}"
|
||||
local strip_flags="${STRIP_ARGS:-}"
|
||||
|
||||
find "$target_dir" -type f -print0 | while IFS= read -r -d '' file; do
|
||||
# check magic bytes for elf and ar before stripping
|
||||
local magic_bytes="$(od -An -t x1 -N 4 "$file" | tr -d ' \n')"
|
||||
if [[ "$magic_bytes" = "7f454c46" || "$magic_bytes" = "213c6172" ]]; then
|
||||
"${STRIP}" ${STRIP_ARGS} "$file"
|
||||
fi
|
||||
done
|
||||
}
|
||||
if [ -z "${COOKBOOK_NOSTRIP}" ]; then
|
||||
[ -z "${COOKBOOK_VERBOSE}" ] || echo "DEBUG: stripping binaries and libraries"
|
||||
fi
|
||||
|
||||
# Strip binaries
|
||||
@ -433,10 +476,12 @@ for dir in "${COOKBOOK_STAGE}/bin" "${COOKBOOK_STAGE}/usr/bin" "${COOKBOOK_STAGE
|
||||
do
|
||||
if [ -d "${dir}" ] && [ -z "${COOKBOOK_NOSTRIP}" ]
|
||||
then
|
||||
find "${dir}" -type f -exec "${STRIP}" ${STRIP_ARGS} {} ';'
|
||||
strip_directory "${dir}"
|
||||
fi
|
||||
done
|
||||
|
||||
# do not strip symbols for libraries
|
||||
STRIP_ARGS+=" --strip-debug"
|
||||
# Remove libtool files and strip debugging information
|
||||
for dir in "${COOKBOOK_STAGE}/lib" "${COOKBOOK_STAGE}/usr/lib"
|
||||
do
|
||||
@ -445,7 +490,7 @@ do
|
||||
find "${dir}" -type f -name '*.la' -exec rm -fv {} ';'
|
||||
if [ -z "${COOKBOOK_NOSTRIP}" ]
|
||||
then
|
||||
find "${dir}" -type f -exec "${STRIP}" ${STRIP_ARGS} --strip-debug {} ';'
|
||||
strip_directory "${dir}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
Loading…
Reference in New Issue
Block a user