这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/gnustep-make/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="The GNUstep makefile package"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="2.9.3"
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/gnustep/tools-make/archive/refs/tags/make-${TERMUX_PKG_VERSION//./_}.tar.gz
TERMUX_PKG_SHA256=aad12caecb0398b099f3b8b0282cecc3f01a9f371200641b2e1e535ae6ee2543
TERMUX_PKG_AUTO_UPDATE=true
Expand Down
26 changes: 26 additions & 0 deletions packages/gnustep-make/do-not-edit-path.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
This prevents GNUstep.sh from editing $PATH
to insert $TERMUX_PREFIX/bin to $PATH,
which is important because:
- having $TERMUX_PREFIX/bin in $PATH severely breaks cross-compilations
- on-device builds already have $TERMUX_PREFIX/bin in $PATH at all times, so editing it is not necessary for on-device builds

Also, similarly prevent GNUstep.sh from inserting $TERMUX_PREFIX/lib to $LD_LIBRARY_PATH, for similar reasons

--- a/GNUstep.sh.in
+++ b/GNUstep.sh.in
@@ -332,6 +332,7 @@ done
#
old_IFS="$IFS"
IFS=:
+GNUSTEP_TOOLS_PATHLIST=
for dir in $GNUSTEP_TOOLS_PATHLIST; do

# Prepare the path_fragment
@@ -365,6 +365,7 @@ GNUSTEP_LIBRARIES_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTE

old_IFS="$IFS"
IFS=:
+GNUSTEP_LIBRARIES_PATHLIST=
for dir in $GNUSTEP_LIBRARIES_PATHLIST; do

# prepare the path_fragment for libraries and this dir
57 changes: 3 additions & 54 deletions packages/libgnustep-base/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="A library of general-purpose, non-graphical Objective C
TERMUX_PKG_LICENSE="GPL-2.0, LGPL-2.1"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.31.1"
TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL=https://github.com/gnustep/libs-base/releases/download/base-${TERMUX_PKG_VERSION//./_}/gnustep-base-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_REVISION=3
TERMUX_PKG_SRCURL="https://github.com/gnustep/libs-base/releases/download/base-${TERMUX_PKG_VERSION//./_}/gnustep-base-${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=e7546f1c978a7c75b676953a360194a61e921cb45a4804497b4f346a460545cd
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_UPDATE_VERSION_REGEXP='(?<=-).+'
Expand Down Expand Up @@ -40,57 +40,6 @@ ac_cv_func_setpgrp_void=yes
"

termux_step_pre_configure() {
local bin="$TERMUX_PKG_BUILDDIR/bin"
mkdir -p "$bin"
local sh="$(command -v sh)"
for cmd in CC CPP CXX; do
local wrapper="$bin/$(basename $(eval echo \${$cmd}))"
cat > "$wrapper" <<-EOF
#!${sh}
unset LD_PRELOAD
unset LD_LIBRARY_PATH
exec $(command -v $(eval echo \${$cmd})) "\$@"
EOF
chmod 0700 "$wrapper"
done
export PATH="$bin":$PATH

rm -f cross.config
rm cross.config
touch cross.config

# In configure step, $TERMUX_PREFIX will be appended to PATH, and
# it will break the build process. Rename these tools and recover
# later if not on device.
# See https://github.com/gnustep/libs-base/blob/5ea68724ff6b49d935101246de38ffd955d57f50/configure.ac#L1016
if [ "$TERMUX_ON_DEVICE_BUILD" = false ]; then
local _tool
for _tool in awk bash cat chmod dirname expr grep mkdir mv rm sed sort tr; do
if [ -e $TERMUX_PREFIX/bin/$_tool ]; then
mv $TERMUX_PREFIX/bin/{$_tool,$_tool.gnustepbase}
fi
done
fi
}

termux_step_post_make_install() {
if [ "$TERMUX_ON_DEVICE_BUILD" = false ]; then
local _tool
for _tool in awk bash cat chmod dirname expr grep mkdir mv rm sed sort tr; do
if [ -e $TERMUX_PREFIX/bin/"$_tool.gnustepbase" ]; then
mv $TERMUX_PREFIX/bin/{$_tool.gnustepbase,$_tool}
fi
done
fi
}

termux_step_post_massage() {
if [ "$TERMUX_ON_DEVICE_BUILD" == true ]; then
return
fi

cd "$TERMUX_PKG_MASSAGEDIR"/$TERMUX_PREFIX/bin || exit 1
local _tool
for _tool in awk bash cat chmod dirname expr grep mkdir mv rm sed sort tr; do
rm -f $_tool
done
}
10 changes: 0 additions & 10 deletions packages/libgnustep-base/configure.patch

This file was deleted.

23 changes: 10 additions & 13 deletions packages/libobjc2/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,11 @@ TERMUX_PKG_HOMEPAGE=https://www.gnustep.org/
TERMUX_PKG_DESCRIPTION="The GNUstep Objective-C runtime"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=2.1
TERMUX_PKG_REVISION=3
_ROBIN_MAP_COMMIT=757de829927489bee55ab02147484850c687b620
TERMUX_PKG_SRCURL=(https://github.com/gnustep/libobjc2/archive/v${TERMUX_PKG_VERSION}.tar.gz
https://github.com/Tessil/robin-map/archive/${_ROBIN_MAP_COMMIT:0:7}.tar.gz)
TERMUX_PKG_SHA256=(78fc3711db14bf863040ae98f7bdca08f41623ebeaf7efaea7dd49a38b5f054c
0abd2a272947d1d403ce7467e75aae5bdcfe839f4fc8d513ba5bfe170d5f2057)
TERMUX_PKG_VERSION="2.3"
TERMUX_PKG_SRCURL="https://github.com/gnustep/libobjc2/archive/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=5ead2276b42a534ac40437ce53b2231320b985539dc325453d93874be8d92869
TERMUX_PKG_DEPENDS="libc++"
TERMUX_PKG_BUILD_DEPENDS="robin-map"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
-DENABLE_OBJCXX=OFF
Expand All @@ -20,11 +17,11 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
# https://github.com/gnustep/libobjc2/issues/199
TERMUX_PKG_CONFLICTS="libblocksruntime"

termux_step_post_get_source() {
mv robin-map-${_ROBIN_MAP_COMMIT}/* third_party/robin-map/
}

termux_step_pre_configure() {
sed -i -e 's|@CMAKE_CXX_COMPILER@|'$CXX'|g' \
"$TERMUX_PKG_SRCDIR"/CMakeLists.txt
local target="$CCTERMUX_HOST_PLATFORM"
if [[ "$TERMUX_ARCH" == "arm" ]]; then
target="armv7a-linux-androideabi$TERMUX_PKG_API_LEVEL"
fi
export OBJCFLAGS="$CFLAGS --target=$target"
export OBJCXXFLAGS="$CXXFLAGS --target=$target"
}
27 changes: 0 additions & 27 deletions packages/libobjc2/libobjc2-2.1-eh_trampoline.patch

This file was deleted.