radare2/sys/ios-cydia.sh

124 lines
2.7 KiB
Bash
Raw Normal View History

2014-05-17 04:27:49 +02:00
#!/bin/sh
set -x
STOW=0
fromscratch=1 # 1
2016-08-18 03:55:17 +02:00
onlymakedeb=0
static=1
2016-08-18 03:55:17 +02:00
gcc -v 2> /dev/null
if [ $? = 0 ]; then
export HOST_CC=gcc
fi
2014-05-17 04:53:11 +02:00
if [ -z "${CPU}" ]; then
2016-08-18 03:55:17 +02:00
export CPU=arm64
#export CPU=armv7
2014-05-17 04:53:11 +02:00
fi
if [ -z "${PACKAGE}" ]; then
PACKAGE=radare2
fi
2014-05-17 04:53:11 +02:00
2015-06-16 23:47:36 -04:00
export BUILD=1
2014-05-17 04:27:49 +02:00
2016-09-28 17:16:47 +02:00
if [ ! -d sys/ios-include/mach/vm_behavior.h ]; then
2014-05-17 04:27:49 +02:00
(
cd sys && \
wget -c https://lolcathost.org/b/ios-include.tar.gz && \
2014-05-17 04:27:49 +02:00
tar xzvf ios-include.tar.gz
)
fi
. sys/ios-env.sh
if [ "${STOW}" = 1 ]; then
PREFIX=/private/var/radare2
else
PREFIX=/usr
fi
2014-05-17 04:27:49 +02:00
2016-01-14 23:26:50 +01:00
makeDeb() {
2016-04-25 18:45:10 +02:00
make -C binr ios-sdk-sign
2016-01-14 23:26:50 +01:00
rm -rf /tmp/r2ios
make install DESTDIR=/tmp/r2ios
rm -rf /tmp/r2ios/${PREFIX}/share/radare2/*/www/enyo/node_modules
2016-01-14 23:26:50 +01:00
( cd /tmp/r2ios && tar czvf ../r2ios-${CPU}.tar.gz ./* )
rm -rf sys/cydia/radare2/root
mkdir -p sys/cydia/radare2/root
sudo tar xpzvf /tmp/r2ios-${CPU}.tar.gz -C sys/cydia/radare2/root
rm -f sys/cydia/radare2/root/${PREFIX}/lib/*.{a,dylib,dSYM}
if [ "$static" = 1 ]; then
(
rm -f sys/cydia/radare2/root/${PREFIX}/bin/*
cp -f binr/blob/radare2 sys/cydia/radare2/root/${PREFIX}/bin
cd sys/cydia/radare2/root/${PREFIX}/bin
for a in r2 rabin2 rarun2 rasm2 ragg2 rahash2 rax2 rafind2 radiff2 ; do ln -fs radare2 $a ; done
)
echo "Signing radare2"
ldid2 -Sbinr/radare2/radare2_ios.xml sys/cydia/radare2/root/usr/bin/radare2
else
for a in sys/cydia/radare2/root/usr/bin/* sys/cydia/radare2/root/usr/lib/*.dylib ; do
echo "Signing $a"
ldid2 -Sbinr/radare2/radare2_ios.xml $a
done
fi
if [ "${STOW}" = 1 ]; then
(
cd sys/cydia/radare2/root/
mkdir -p usr/bin
# stow
echo "Stowing ${PREFIX} into /usr..."
for a in `cd ./${PREFIX}; ls` ; do
if [ -d "./${PREFIX}/$a" ]; then
mkdir -p "usr/$a"
for b in `cd ./${PREFIX}/$a; ls` ; do
echo ln -fs "${PREFIX}/$a/$b" usr/$a/$b
ln -fs "${PREFIX}/$a/$b" usr/$a/$b
done
fi
done
)
else
echo "No need to stow anything"
fi
( cd sys/cydia/radare2 ; sudo make clean ; sudo make PACKAGE=${PACKAGE} )
2016-01-14 23:26:50 +01:00
}
2014-05-17 04:27:49 +02:00
2016-07-26 15:17:07 +02:00
if [ "$1" = makedeb ]; then
onlymakedeb=1
fi
if [ $onlymakedeb = 1 ]; then
makeDeb
else
RV=0
if [ $fromscratch = 1 ]; then
make clean
cp -f plugins.ios.cfg plugins.cfg
if [ "$static" = 1 ]; then
./configure --prefix="${PREFIX}" --with-ostype=darwin --without-libuv \
--with-compiler=ios-sdk --target=arm-unknown-darwin --with-libr
else
./configure --prefix="${PREFIX}" --with-ostype=darwin --without-libuv \
--with-compiler=ios-sdk --target=arm-unknown-darwin
fi
RV=$?
fi
if [ $RV = 0 ]; then
time make -j4 || exit 1
if [ "$static" = 1 ]; then
ls -l libr/util/libr_util.a || exit 1
ls -l libr/flag/libr_flag.a || exit 1
rm -f libr/*/*.dylib
2019-08-22 20:22:11 +02:00
(
cd binr ; make clean ;
cd blob ; make USE_LTO=1
xcrun --sdk iphoneos strip radare2
)
fi
2016-01-14 23:26:50 +01:00
if [ $? = 0 ]; then
makeDeb
fi
2014-05-17 04:27:49 +02:00
fi
fi