forked from olav-st/screencloud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
125 lines (118 loc) · 6.21 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
language: cpp
matrix:
include:
- os: linux
dist: trusty
sudo: required
compiler: gcc
services:
- docker
env: CMAKE_BUILD_TYPE=Release QT_PPA=beineri/opt-qt562-trusty QT_VER=56
- os: osx
osx_image: xcode9.4
env: CMAKE_BUILD_TYPE=Release
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ;fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository -y ppa:$QT_PPA ;fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq ;fi
install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew install qt quazip;
export PATH="$(brew --prefix qt)/bin:$PATH";
fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo apt-get install -y git cmake python2.7-dev python3-dev python3-crypto libquazip-dev zlib1g-dev libpythonqt-dev libx11-dev mesa-common-dev libqt4-dev qtmobility-dev;
sudo apt-get install -y qt${QT_VER}-meta-minimal qt${QT_VER}declarative qt${QT_VER}imageformats qt${QT_VER}multimedia qt${QT_VER}tools qt${QT_VER}svg qt${QT_VER}x11extras qt${QT_VER}xmlpatterns;
fi
before_script:
- mkdir build-qt5 build-qt4
script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
cd build-qt4;
cmake .. -DQT_USE_QT5=OFF -DPYTHON_USE_PYTHON3=OFF;
make;
cd ..;
sudo apt-get purge -y libpythonqt-dev libpythonqt2.1 libquazip-dev libquazip0;
source /opt/qt${QT_VER}/bin/qt${QT_VER}-env.sh;
fi
- cd build-qt5
- git clone https://github.com/Orochimarufan/PythonQt
- cd PythonQt/build
- git checkout 18d4c24
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
sudo cp -r /usr/include/python2.7 ./pythonincludes;
sudo chmod 777 ./pythonincludes;
curl https://trac.macports.org/raw-attachment/ticket/44288/patch-Include-pyport.h.diff | patch ./pythonincludes/pyport.h;
cmake .. -DCMAKE_PREFIX_PATH="$(brew --prefix qt)" -DPYTHON_INCLUDE_DIR=./pythonincludes -DPythonQt_Python3=OFF -DPYTHONQT_WITH_WEBKIT=OFF -DBUILD_SHARED_LIBS=ON;
else
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DPythonQt_Python3=ON -DPYTHONQT_WITH_WEBKIT=OFF -DBUILD_SHARED_LIBS=ON;
fi
- sudo make install
- cd ../..
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cmake .. -DCMAKE_PREFIX_PATH="$(brew --prefix qt)" -DPYTHON_USE_PYTHON3=OFF -DPYTHON_INCLUDE_DIR=./PythonQt/build/pythonincludes -DPYTHONQT_LIBRARY=/usr/local/lib/libQt5Python27.dylib -DPYTHONQT_INCLUDE_DIR=/usr/local/include/Qt5Python27/PythonQt -DPYTHONQT_QTALL_LIBRARY=/usr/local/lib/libQt5Python27_QtAll.dylib -DPYTHONQT_QTALL_INCLUDE_DIR=/usr/local/include/Qt5Python27/PythonQt;
else
git clone https://github.com/stachenov/quazip;
cd quazip;
qmake PREFIX=/usr;
sudo make install;
cd ..;
sudo ln -s /usr/lib/libQt5Python34_QtAll.so /usr/lib/libQtPython_QtAll.so;
sudo ln -s /usr/lib/libQt5Python34.so /usr/lib/libQtPython.so;
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DPYTHONQT_INCLUDE_DIR=/usr/include/Qt5Python34/PythonQt/ -DPYTHONQT_QTALL_INCLUDE_DIR=/usr/include/Qt5Python34/PythonQt;
fi
- make
after_success:
- export VERSION=$TRAVIS_TAG
- if [ -z "$VERSION" ]; then
export VERSION=$(git rev-parse --short HEAD);
fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
sudo make install;
sudo macdeployqt screencloud.app -verbose=3;
sudo chown -R $(id -nu) screencloud.app;
mkdir -p dmgdir/ScreenCloud.app;
cp -r screencloud.app/* dmgdir/ScreenCloud.app/;
ln -s /Applications dmgdir/Applications;
hdiutil create -volname ScreenCloud-$VERSION -srcfolder dmgdir -ov -format UDZO ScreenCloud-$VERSION.dmg;
export DEPLOYPATH=$(pwd);
else
mkdir appdir;
make install DESTDIR=appdir;
sudo mkdir -p appdir/usr/lib/python3.4;
sudo cp -r /usr/lib/python3.4/* appdir/usr/lib/python3.4/;
sudo mkdir -p appdir/usr/lib/python3/dist-packages/Crypto;
sudo cp -r /usr/lib/python3/dist-packages/Crypto/* appdir/usr/lib/python3/dist-packages/Crypto/;
sudo chown -R $(id -nu) appdir;
wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage";
chmod a+x linuxdeployqt-continuous-x86_64.AppImage;
wget -c -nv "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage";
chmod a+x appimagetool-x86_64.AppImage;
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH;
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs;
unlink appdir/AppRun;
cp ../res/screencloud.sh appdir/AppRun;
rm -r appdir/usr/plugins/bearer;
rm -r appdir/usr/plugins/mediaservice;
rm -r appdir/usr/plugins/platforminputcontexts;
rm -r appdir/usr/plugins/printsupport;
rm -r appdir/usr/plugins/sqldrivers;
rm -r appdir/usr/plugins/xcbglintegrations;
./appimagetool-x86_64.AppImage appdir;
mkdir .snapcraft;
mkdir snap;
cp ../deploy/linux/snapcraft.yaml snap/snapcraft.yaml;
openssl aes-256-cbc -K $encrypted_a38449865927_key -iv $encrypted_a38449865927_iv -in ../.snapcraft/travis_snapcraft.cfg -out .snapcraft/snapcraft.cfg -d;
docker run -v $(pwd):$(pwd) -t snapcore/snapcraft sh -c "apt update -qq && cd $(pwd) && snapcraft";
export DEPLOYPATH=$(pwd);
fi
deploy:
provider: releases
api_key:
secure: xY0hOHsO6oztTs/fyKAl4FrA+6ylke3QXsAHzntIEHOt7sgVGQW/4QzJQYPwmAQAkVOssjZWdaJrFXQMFw+lYUpwZGSycPB+fDnosKYlxXFHG4rIliyG+az6ODzA0YeugFwlYAcHXx1qzBJ8gh3tHhB16ur7OQ62VdunCpG7NDtaINGMojzL4DmSfyiyOMPM4p6EcD+qaKd6dxBePXkmZ5J+YOvgfLcd1mJ94V7+WnQ66KltIaFZPewaansw/p6KAUxPXcTMyMepjcjQFQyucs4rN+9EmAaA5d0rzaucbTra1nJbJel0qWC+hcH8WF86ez8nTPFY1MGjRPZmfFGesvwUkzc3IH2w5j82BmP5x7IP+TZQ4qddM/eeWIX4WeTUKoVHHt/+iZNe6kZ7Qv8ZEzQS8/G0WHz0AyoWCKSztMFBs2XZvLPjEjhCr1HKH8ueX2zXFVRf9mpp23kjGyLzacTzSC+6xjrcp27s/fY+NH3kXw67c2tB815BqtYvWMoEZVNF1+7v0nbBOs6SaDAErLqRKOP4GKgEG+J3GvokuVmQpSzwk+v4EX4ixJm3pI6C+yFaDRc7CEtkXRFIPxesMeP2w8thIuWWNaNzRAKlxR4Dx9h4bLunsx5HDfwA9h0CszcOU2ewvrR60QExZ7fjTrIoqC/UWwjoCqFv+TlyGLU=
file_glob: true
file: $DEPLOYPATH/*.{dmg,snap,AppImage}
skip_cleanup: true
on:
repo: olav-st/screencloud
tags: true