Fix cosmic apps deps, add rpath-link to RUSTFLAGS

This commit is contained in:
Wildan M 2026-02-02 13:20:34 +07:00
parent 9004c052db
commit 34a2896d26
No known key found for this signature in database
GPG Key ID: 01AC53185C679C79
7 changed files with 20 additions and 27 deletions

View File

@ -4,8 +4,15 @@ branch = "master"
[build]
template = "custom"
dependencies = [
"gettext",
"libxkbcommon",
]
script = """
DYNAMIC_INIT
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
cookbook_cargo --no-default-features
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/30_cosmic-edit"
#TODO: install with just?

View File

@ -10,17 +10,9 @@ dependencies = [
]
script = """
DYNAMIC_INIT
export GETTEXT_DIR="${COOKBOOK_SYSROOT}"
# Hack to link libiconv, which gettext-sys does not link
"${COOKBOOK_CARGO}" rustc \
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
--release \
--bin cosmic-files \
--no-default-features \
--features desktop \
-- \
-L "${COOKBOOK_SYSROOT}/lib" \
-C link-arg="-liconv"
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
cookbook_cargo --no-default-features
mkdir -pv "${COOKBOOK_STAGE}/usr/bin/"
cp -v "target/${TARGET}/release/cosmic-files" "${COOKBOOK_STAGE}/usr/bin/"
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps/"

View File

@ -6,21 +6,13 @@ branch = "master"
template = "custom"
dependencies = [
"gettext",
"libiconv",
"libxkbcommon",
]
script = """
DYNAMIC_INIT
export GETTEXT_DIR="${COOKBOOK_SYSROOT}"
# Hack to link libiconv, which gettext-sys does not link
"${COOKBOOK_CARGO}" rustc \
--manifest-path "${COOKBOOK_SOURCE}/cosmic-settings/Cargo.toml" \
--release \
--bin cosmic-settings \
--no-default-features \
-- \
-L "${COOKBOOK_SYSROOT}/lib" \
-C link-arg="-liconv"
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
(COOKBOOK_SOURCE+="/cosmic-settings" cookbook_cargo --no-default-features)
mkdir -pv "${COOKBOOK_STAGE}/usr/bin/"
cp -v "target/${TARGET}/release/cosmic-settings" "${COOKBOOK_STAGE}/usr/bin/"
#TODO: install with just?

View File

@ -6,14 +6,13 @@ branch = "master"
template = "custom"
dependencies = [
"gettext",
"libxkbcommon",
"openssl1",
]
script = """
DYNAMIC_INIT
export GETTEXT_DIR="${COOKBOOK_SYSROOT}"
export GETTEXT_STATIC=1
cookbook_cargo --no-default-features --features desktop,pkgar
#TODO: install with just?
APPID="com.system76.CosmicStore"
mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/"

View File

@ -4,9 +4,14 @@ branch = "master"
[build]
template = "custom"
dependencies = [
"gettext",
]
script = """
DYNAMIC_INIT
export GETTEXT_DIR=${COOKBOOK_SYSROOT}/usr
cookbook_cargo --no-default-features
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/10_cosmic-term"
#TODO: install with just?

View File

@ -34,8 +34,6 @@ export PKG_CONFIG_PATH_x86_64_unknown_redox="${COOKBOOK_SYSROOT}/lib/pkgconfig"
export PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_redox="${COOKBOOK_SYSROOT}/lib/pkgconfig"
# rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/
export RUSTFLAGS="$RUSTFLAGS -L native=${COOKBOOK_SYSROOT}/lib -C link-arg=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib"
#TODO: mozjs-sys and mozangle uses clang, it won't know our prefix C libraries, so here's the workaround
PREFIX_INCLUDE="$COOKBOOK_HOST_SYSROOT/$TARGET/include"
export CLANGFLAGS="-I $PREFIX_INCLUDE/c++/13.2.0 -I $PREFIX_INCLUDE/c++/13.2.0/$TARGET -I $PREFIX_INCLUDE/c++/13.2.0/backward -I $PREFIX_INCLUDE"

View File

@ -41,7 +41,7 @@ function DYNAMIC_INIT {
# TODO: check paths for spaces
export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/lib"
export RUSTFLAGS="-C target-feature=-crt-static"
export RUSTFLAGS="-C target-feature=-crt-static -L native=${COOKBOOK_SYSROOT}/lib -C link-arg=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib"
export COOKBOOK_DYNAMIC=1
}