mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 06:00:20 +00:00
24a798a5c3
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
93 lines
3.7 KiB
Bash
Executable file
93 lines
3.7 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# if you run the build.sh script to build Subsurface you'll never need
|
|
# this, but if you build your binaries differently for some reason and
|
|
# you want to build Subsurface-mobile, running this from within the
|
|
# checked out source directory (not your build directory) should do the
|
|
# trick - you can also run this to update to the latest upstream when
|
|
# you don't want to rerun the whole build.sh script.
|
|
|
|
SRC=$(cd .. ; pwd)
|
|
|
|
if [ ! -d "$SRC/subsurface" ] || [ ! -d "mobile-widgets" ] || [ ! -d "core" ] ; then
|
|
echo "please start this script from the Subsurface source directory (which needs to be named \"subsurface\")."
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$1" = "-nopull" ] ; then
|
|
NOPULL=1
|
|
fi
|
|
|
|
# now bring in the latest Kirigami mobile components plus a couple of icons that we need
|
|
# first, get the latest from upstream
|
|
# yes, this is a bit overkill as we clone a lot of stuff for just a few files, but this way
|
|
# we stop having to manually merge our code with upstream all the time
|
|
# as we get closer to shipping a production version we'll likely check out specific tags
|
|
# or SHAs from upstream
|
|
cd $SRC
|
|
if [ ! -d kirigami ] ; then
|
|
git clone -b master https://github.com/KDE/kirigami.git
|
|
fi
|
|
if [ "$NOPULL" = "" ] ; then
|
|
pushd kirigami
|
|
git checkout master
|
|
git pull origin master
|
|
# if we want to pin a specific Kirigami version, we can do this here
|
|
git checkout 70c025ef6f6dc63c85180867f70f5e00ba5a8dba
|
|
popd
|
|
fi
|
|
if [ ! -d breeze-icons ] ; then
|
|
git clone https://github.com/kde/breeze-icons
|
|
fi
|
|
if [ "$NOPULL" = "" ] ; then
|
|
pushd breeze-icons
|
|
git pull
|
|
popd
|
|
fi
|
|
|
|
# now copy the components and a couple of icons into plae
|
|
MC=$SRC/subsurface/mobile-widgets/qml/kirigami
|
|
PMMC=kirigami
|
|
BREEZE=breeze-icons
|
|
|
|
rm -rf $MC
|
|
mkdir -p $MC/icons
|
|
cp -R $PMMC/* $MC/
|
|
|
|
cp $BREEZE/icons/actions/22/map-globe.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/dialog-cancel.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/distribute-horizontal-x.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/document-edit.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/document-save.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/go-next.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/go-previous.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/go-up.svg $MC/icons
|
|
cp $BREEZE/icons/actions/16/view-readermode.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/application-menu.svg $MC/icons
|
|
cp $BREEZE/icons/actions/22/gps.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/trash-empty.svg $MC/icons
|
|
cp $BREEZE/icons/actions/24/list-add.svg $MC/icons
|
|
cp $BREEZE/icons/actions/22/handle-left.svg $MC/icons
|
|
cp $BREEZE/icons/actions/22/handle-right.svg $MC/icons
|
|
cp $BREEZE/icons/actions/22/overflow-menu.svg $MC/icons
|
|
|
|
# kirigami now needs the breeze-icons internally as well
|
|
pushd $MC
|
|
ln -s $SRC/$BREEZE .
|
|
|
|
# do not show the action buttons when the keyboard is open
|
|
sed -i -e "s/visible: root.action/visible: root.action \&\& \!Qt.inputMethod.visible/g" src/controls/private/ActionButton.qml
|
|
sed -i -e "s/visible: root.leftAction/visible: root.leftAction \&\& \!Qt.inputMethod.visible/g" src/controls/private/ActionButton.qml
|
|
sed -i -e "s/visible: root.rightAction/visible: root.rightAction \&\& \!Qt.inputMethod.visible/g" src/controls/private/ActionButton.qml
|
|
|
|
# another hack. Do not include the Kirigami resources (on static build). It causes
|
|
# double defined symbols in our setting. I would like a nicer fix for this
|
|
# issue, but failed to find one. For example, not adding the resource in
|
|
# our build causes the qrc file not to be generated. Manual generation
|
|
# of the resource file (using rcc) introduces the double symbols again.
|
|
# so it seems some Kirigami weirdness (but their staticcmake example compiles
|
|
# correctly).
|
|
sed -i -e "s/#include <qrc_kirigami.cpp>/\/\/#include <qrc_kirigami.cpp>/" src/kirigamiplugin.cpp
|
|
popd
|
|
|
|
echo org.kde.plasma.kirigami synced from upstream
|