diff options
author | Pierre GRANDIN <pgrandin@users.noreply.github.com> | 2016-11-30 14:36:03 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-30 14:36:03 -0800 |
commit | f99c104c93b7fc41672695368271c157135e5415 (patch) | |
tree | a8b2c2acdce9e7ef8de3e8df9754a6d9fcb9720f | |
parent | 04f6fbdfe031fc19a22fbf0e5794d3e68f291f9d (diff) | |
parent | 58985225ba09cd8fb77a7f51ec225536c6070e1c (diff) | |
download | navit-f99c104c93b7fc41672695368271c157135e5415.tar.gz |
Merge pull request #122 from navit-gps/CI_trusty
Upgrade our CircleCI image to Trusty
-rwxr-xr-x | Toolchain/arm-eabi.cmake | 2 | ||||
-rw-r--r-- | ci/build.sh | 7 | ||||
-rw-r--r-- | ci/build_android.sh | 9 | ||||
-rw-r--r-- | ci/build_android_x86.sh | 11 | ||||
-rw-r--r-- | ci/build_linux.sh | 21 | ||||
-rw-r--r-- | ci/build_tomtom_minimal.sh | 20 | ||||
-rw-r--r-- | ci/build_tomtom_plugin.sh | 8 | ||||
-rw-r--r-- | ci/build_win32.sh | 8 | ||||
-rw-r--r-- | circle.yml | 37 | ||||
-rw-r--r-- | navit/android/src/org/navitproject/navit/Navit.java | 3 | ||||
-rw-r--r-- | navit/android/src/org/navitproject/navit/NavitGraphics.java | 2 |
11 files changed, 75 insertions, 53 deletions
diff --git a/Toolchain/arm-eabi.cmake b/Toolchain/arm-eabi.cmake index 9f5473b4b..7c8190667 100755 --- a/Toolchain/arm-eabi.cmake +++ b/Toolchain/arm-eabi.cmake @@ -1,7 +1,7 @@ set(CMAKE_SYSTEM_NAME GNU) set(ANDROID TRUE) -set(ANDROID_API_VERSION 8 CACHE STRING "Andriod API Version") +set(ANDROID_API_VERSION 9 CACHE STRING "Andriod API Version") set(ANDROID_NDK_API_VERSION ${ANDROID_API_VERSION} CACHE STRING "Andriod NDK API Version") set(ANDROID_ARCH "armeabi" CACHE STRING "Android architecture") diff --git a/ci/build.sh b/ci/build.sh new file mode 100644 index 000000000..7f8f46279 --- /dev/null +++ b/ci/build.sh @@ -0,0 +1,7 @@ +echo "$# build script (s) to run" + +for i in $(seq 1 $#); do + eval s=\$$i + echo "Starting build script #$i : $s" + bash -e $s +done diff --git a/ci/build_android.sh b/ci/build_android.sh index a063bf2fa..a0a4659c8 100644 --- a/ci/build_android.sh +++ b/ci/build_android.sh @@ -4,12 +4,15 @@ grn='\e[0;32m' yel='\e[1;33m' off='\e[0m' +wget -nv -c http://dl.google.com/android/repository/android-ndk-r13-linux-x86_64.zip +unzip -q -d ~ android-ndk-r13-linux-x86_64.zip + # setup var's to perform environment setup and cmake export START_PATH=~/ export SOURCE_PATH=$START_PATH"/"${CIRCLE_PROJECT_REPONAME}"/" export CMAKE_FILE=$SOURCE_PATH"/Toolchain/arm-eabi.cmake" -export ANDROID_NDK="/usr/local/android-ndk/" +export ANDROID_NDK=~/android-ndk-r13 export ANDROID_NDK_BIN=$ANDROID_NDK"/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin" export ANDROID_SDK="/usr/local/android-sdk-linux/" @@ -39,14 +42,14 @@ else echo fi -mkdir -p $BUILD_PATH +[ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH cd $BUILD_PATH export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_TOOLS:$ANDROID_SDK_PLATFORM_TOOLS:$PATH android list targets mkdir $CIRCLE_ARTIFACTS/android/ cp ~/navit/navit/android/CMakeLists.txt $CIRCLE_ARTIFACTS/android/ -cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DCACHE_SIZE='(20*1024*1024)' -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=21 -DANDROID_NDK_API_VERSION=19 $SOURCE_PATH +cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DCACHE_SIZE='(20*1024*1024)' -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=23 -DANDROID_NDK_API_VERSION=19 $SOURCE_PATH make || exit 1 if [[ "${CIRCLE_BRANCH}" == "master" ]]; then make apkg-release && mv navit/android/bin/Navit-release-unsigned.apk $CIRCLE_ARTIFACTS/navit-$CIRCLE_SHA1-release-unsigned.apk || exit 1 diff --git a/ci/build_android_x86.sh b/ci/build_android_x86.sh index 6755ad347..022b7f5af 100644 --- a/ci/build_android_x86.sh +++ b/ci/build_android_x86.sh @@ -1,17 +1,22 @@ export START_PATH=~/ export SOURCE_PATH=$START_PATH"/"${CIRCLE_PROJECT_REPONAME}"/" export CMAKE_FILE=$SOURCE_PATH"/Toolchain/i686-android.cmake" -export ANDROID_NDK="/usr/local/android-ndk/" +export ANDROID_NDK=~/android-ndk-r13 export ANDROID_NDK_BIN=$ANDROID_NDK"/toolchains/x86-4.9/prebuilt/linux-x86_64/bin" export ANDROID_SDK="/usr/local/android-sdk-linux/" export ANDROID_SDK_PLATFORM_TOOLS=$ANDROID_SDK"/platform-tools" export PATH=$ANDROID_NDK_BIN:$ANDROID_SDK_PLATFORM_TOOLS:$PATH +export BUILD_PATH=$START_PATH"/android-x86" -mkdir android-x86 && cd android-x86 +wget -nv -c http://dl.google.com/android/repository/android-ndk-r13-linux-x86_64.zip +unzip -q -d ~ android-ndk-r13-linux-x86_64.zip + +[ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH +cd $BUILD_PATH android list targets -cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=21 -DANDROID_NDK_API_VERSION=19 -DDISABLE_CXX=1 -DDISABLE_QT=1 ../ || exit -1 +cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_FILE -DAVOID_FLOAT=1 -DSAMPLE_MAP=n -DBUILD_MAPTOOL=n -DANDROID_API_VERSION=23 -DANDROID_NDK_API_VERSION=19 -DDISABLE_CXX=1 -DDISABLE_QT=1 $SOURCE_PATH || exit -1 make || exit -1 if [[ "${CIRCLE_BRANCH}" == "master" ]]; then diff --git a/ci/build_linux.sh b/ci/build_linux.sh index 23716b5f5..3a28eb037 100644 --- a/ci/build_linux.sh +++ b/ci/build_linux.sh @@ -1,9 +1,15 @@ +sudo apt-get install cmake libpng12-dev librsvg2-bin libfreetype6-dev libdbus-glib-1-dev g++ libgtk2.0-dev + +cmake_opts="-Dgraphics/qt_qpainter:BOOL=FALSE -Dgui/qml:BOOL=FALSE -DSVG2PNG:BOOL=FALSE -DSAMPLE_MAP=n -Dgraphics/gtk_drawing_area:BOOL=TRUE" + if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trunk" ]]; then + # If we are building the official trunk code, push an update to coverity + wget -nv -c -O ~/assets/cov-analysis-linux64-7.6.0.tar.gz http://sd-55475.dedibox.fr/cov-analysis-linux64-7.6.0.tar.gz tar xfz ~/assets/cov-analysis-linux64-7.6.0.tar.gz export PATH=~/navit/cov-analysis-linux64-7.6.0/bin:$PATH mkdir bin && cd bin - cov-build --dir cov-int cmake ../ -Dgraphics/qt_qpainter:BOOL=FALSE -Dgui/qml:BOOL=FALSE -DSVG2PNG:BOOL=FALSE -DSAMPLE_MAP=n + cov-build --dir cov-int cmake ../ ${cmake_opts} cov-build --dir cov-int make || exit -1 tar czvf navit.tgz cov-int @@ -13,9 +19,18 @@ if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trun --form version="${CIRCLE_BRANCH}-$CIRCLE_SHA1" \ --form description="${CIRCLE_BRANCH}-$CIRCLE_SHA1" \ https://scan.coverity.com/builds?project=$CIRCLE_PROJECT_USERNAME + + # Then update the translation template on launchpad + sed -i '/INTEGER/d' bin/po/navit.pot + cp bin/po/navit.pot $CIRCLE_ARTIFACTS/ + curl "https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload" -H "$lp_cookie" -H "Referer: https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload" -F file=@bin/po/navit.pot | grep title + else mkdir bin && cd bin - cmake ../ -Dgraphics/qt_qpainter:BOOL=FALSE -Dgui/qml:BOOL=FALSE -DSVG2PNG:BOOL=FALSE -DSAMPLE_MAP=n -Dgraphics/gtk_drawing_area:BOOL=TRUE|| exit -1 + cmake ../ ${cmake_opts} || exit -1 make || exit -1 fi -# cp -r navit/xpm $CIRCLE_ARTIFACTS + +if [[ "$CIRCLE_ARTIFACTS" != "" ]]; then + cp -r navit/xpm $CIRCLE_ARTIFACTS +fi diff --git a/ci/build_tomtom_minimal.sh b/ci/build_tomtom_minimal.sh index cb0bf7472..6a8582be1 100644 --- a/ci/build_tomtom_minimal.sh +++ b/ci/build_tomtom_minimal.sh @@ -37,12 +37,12 @@ mkdir -p ~/tomtom_assets if ! [ -e "~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz" ] then - wget -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets + wget -nv -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets fi -if ! test -f "~/tomtom_assets/libpng-1.6.25.tar.gz" +if ! test -f "~/tomtom_assets/libpng-1.6.26.tar.gz" then - wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.26.tar.gz -P ~/tomtom_assets + wget -nv -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.26.tar.gz -P ~/tomtom_assets fi # toolchain @@ -53,7 +53,7 @@ tar xzf ~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz # zlib cd /tmp -wget -c http://zlib.net/zlib-1.2.8.tar.gz +wget -nv -c http://zlib.net/zlib-1.2.8.tar.gz tar xzf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure --prefix=$PREFIX @@ -62,7 +62,7 @@ make install # libxml cd /tmp/ -wget -c http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz +wget -nv -c http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz tar xzf libxml2-2.7.8.tar.gz cd libxml2-2.7.8/ ./configure --prefix=$PREFIX --host=$ARCH --without-python @@ -79,7 +79,7 @@ make install cd /tmp -wget -c http://download.savannah.gnu.org/releases/freetype/freetype-2.5.0.tar.gz +wget -nv -c http://download.savannah.gnu.org/releases/freetype/freetype-2.5.0.tar.gz tar xzf freetype-2.5.0.tar.gz cd freetype-2.5.0 ./configure --prefix=$PREFIX --host=$ARCH @@ -90,7 +90,7 @@ freetype-config --cflags # glib cd /tmp -wget -c http://ftp.gnome.org/pub/gnome/sources/glib/2.25/glib-2.25.17.tar.gz +wget -nv -c http://ftp.gnome.org/pub/gnome/sources/glib/2.25/glib-2.25.17.tar.gz tar xzf glib-2.25.17.tar.gz cd glib-2.25.17 cat > tomtom.cache << EOF @@ -125,10 +125,10 @@ make install cd /tmp -wget -c http://www.libsdl.org/release/SDL-1.2.15.tar.gz +wget -nv -c http://www.libsdl.org/release/SDL-1.2.15.tar.gz tar xzf SDL-1.2.15.tar.gz cd SDL-1.2.15 -wget -c http://tracks.yaina.de/source/sdl-fbcon-notty.patch +wget -nv -c http://tracks.yaina.de/source/sdl-fbcon-notty.patch patch -p0 -i sdl-fbcon-notty.patch ./configure --prefix=$PREFIX --host=$ARCH \ --disable-esd --disable-cdrom --disable-joystick --disable-video-x11 \ @@ -143,7 +143,7 @@ export PATH=$PREFIX/bin:$PATH # sdl image cd /tmp -wget -c http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz +wget -nv -c http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz tar xzf SDL_image-1.2.12.tar.gz cd SDL_image-1.2.12 ./configure --prefix=$PREFIX --host=$ARCH diff --git a/ci/build_tomtom_plugin.sh b/ci/build_tomtom_plugin.sh index 93dcce3dd..3080b39c1 100644 --- a/ci/build_tomtom_plugin.sh +++ b/ci/build_tomtom_plugin.sh @@ -39,9 +39,9 @@ if ! [ -e "~/tomtom_assets/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar. wget -c http://www.tomtom.com/gpl/toolchain_redhat_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz -P ~/tomtom_assets fi -if ! test -f "~/tomtom_assets/libpng-1.6.25.tar.gz" +if ! test -f "~/tomtom_assets/libpng-1.6.26.tar.gz" then - wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.25.tar.gz -P ~/tomtom_assets + wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.26.tar.gz -P ~/tomtom_assets fi # toolchain @@ -195,8 +195,8 @@ make install # libpng cd /tmp/ -tar xzf ~/tomtom_assets/libpng-1.6.25.tar.gz -cd libpng-1.6.25/ +tar xzf ~/tomtom_assets/libpng-1.6.26.tar.gz +cd libpng-1.6.26/ ./configure --prefix=$PREFIX --host=$ARCH make -j$JOBS make install diff --git a/ci/build_win32.sh b/ci/build_win32.sh new file mode 100644 index 000000000..de5156843 --- /dev/null +++ b/ci/build_win32.sh @@ -0,0 +1,8 @@ +sudo apt-get install mingw32 mingw32-binutils mingw32-runtime default-jdk nsis + +mkdir win32 +pushd win32 +cmake -Dbinding/python:BOOL=FALSE -DSAMPLE_MAP=n -DCMAKE_TOOLCHAIN_FILE=../Toolchain/mingw32.cmake ../ && make && make package +popd + +cp win32/*.exe $CIRCLE_ARTIFACTS/ diff --git a/circle.yml b/circle.yml index ff3df2850..04470f87e 100644 --- a/circle.yml +++ b/circle.yml @@ -10,43 +10,26 @@ dependencies: pre: - "[ -d ~/assets ] || mkdir ~/assets" - "[ -d ~/android ] || mkdir ~/android" - - wget -c -O ~/assets/cov-analysis-linux64-7.6.0.tar.gz http://sd-55475.dedibox.fr/cov-analysis-linux64-7.6.0.tar.gz - sudo apt-get update - - sudo apt-get install cmake - - sudo apt-get install libpng12-dev - - sudo apt-get install librsvg2-bin - - sudo apt-get install libfreetype6-dev - - sudo apt-get install libdbus-glib-1-dev - - sudo apt-get install g++ - bash ci/update_version.sh prepare - - bash ci/build_linux.sh - - sed -i '/INTEGER/d' bin/po/navit.pot - - cp bin/po/navit.pot $CIRCLE_ARTIFACTS/ - - "[ $CIRCLE_PROJECT_USERNAME != navit-gps ] || curl \"https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload\" -H \"$lp_cookie\" -H \"Referer: https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload\" -F file=@bin/po/navit.pot | grep title" # Android build - sudo apt-get install gettext - sudo apt-get install libsaxonb-java # for aapt - sudo apt-get install lib32stdc++6 - sudo apt-get install lib32z1 - - bash ci/build_android.sh - - bash ci/build_android_x86.sh -# Tomtom minimal build - - bash ci/build_tomtom_minimal.sh -# Windows build - - sudo apt-get install mingw32 mingw32-binutils mingw32-runtime - - sudo apt-get install default-jdk nsis -# for sys/select.h -# - sudo apt-get install -y libc6-dev - - mkdir win32 - - cmake -Dbinding/python:BOOL=FALSE -DSAMPLE_MAP=n -DCMAKE_TOOLCHAIN_FILE=../Toolchain/mingw32.cmake ../ && make && make package: - pwd: win32/ - - cp win32/*.exe $CIRCLE_ARTIFACTS/ # For python testing with junit reporting - - sudo pip install junit-xml -# - - ls -la $CIRCLE_ARTIFACTS + - sudo apt-get install python-gobject libdbus-glib-1-dev python-dev + - pip install junit-xml dbus-python + - ln -s /usr/lib/python2.7/dist-packages/gobject /opt/circleci/python/2.7.11/lib/python2.7/site-packages/ + - ln -s /usr/lib/python2.7/dist-packages/glib /opt/circleci/python/2.7.11/lib/python2.7/site-packages/ test: + + override: + - bash ci/build.sh: + parallel: true + files: + - ci/build_*.sh post: - sed -i -e 's@name="Local GPS" profilename="car" enabled="yes" active="1"@name="Local GPS" profilename="car" enabled="no" active="0"@' navit.xml: pwd: bin/navit/ diff --git a/navit/android/src/org/navitproject/navit/Navit.java b/navit/android/src/org/navitproject/navit/Navit.java index a0c61bd72..c8578df07 100644 --- a/navit/android/src/org/navitproject/navit/Navit.java +++ b/navit/android/src/org/navitproject/navit/Navit.java @@ -301,7 +301,8 @@ public class Navit extends Activity NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // Grab a handle to the NotificationManager
Notification NavitNotification = new Notification(R.drawable.ic_notify, getString(R.string.notification_ticker), System.currentTimeMillis()); // Create a new notification, with the text string to show when the notification first appears
PendingIntent appIntent = PendingIntent.getActivity(getApplicationContext(), 0, getIntent(), 0);
- NavitNotification.setLatestEventInfo(getApplicationContext(), "Navit", getString(R.string.notification_event_default), appIntent); // Set the text in the notification
+// FIXME : needs a fix for sdk 23
+// NavitNotification.setLatestEventInfo(getApplicationContext(), "Navit", getString(R.string.notification_event_default), appIntent); // Set the text in the notification
NavitNotification.flags|=Notification.FLAG_ONGOING_EVENT; // Ensure that the notification appears in Ongoing
nm.notify(R.string.app_name, NavitNotification); // Set the notification
diff --git a/navit/android/src/org/navitproject/navit/NavitGraphics.java b/navit/android/src/org/navitproject/navit/NavitGraphics.java index 031331f68..a41ab52be 100644 --- a/navit/android/src/org/navitproject/navit/NavitGraphics.java +++ b/navit/android/src/org/navitproject/navit/NavitGraphics.java @@ -369,7 +369,7 @@ public class NavitGraphics { float x = a.x - b.x; float y = a.y - b.y; - return FloatMath.sqrt(x * x + y * y); + return (float)Math.sqrt(x * x + y * y); } private PointF getFloatValue(Object instance, Object argument) |