Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/client_theming.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIstván Váradi <ivaradi@varadiistvan.hu>2017-03-21 23:09:47 +0300
committerIstván Váradi <ivaradi@varadiistvan.hu>2017-03-21 23:09:47 +0300
commitcd376949dfb3c0528488b2dcb8423d9e259779e9 (patch)
tree57c35ce42c8dbac69ae937b6a3d33c512b474e49
parenta2883e63ee77ac04d5b670100697a1fe1cf149aa (diff)
parentd65eb9e8cc91cca34dd13bf1e4ec695c390be550 (diff)
Merge branch 'master' into ivaradi-patch-2.3.0
-rw-r--r--.travis.yml46
-rw-r--r--README.md50
-rw-r--r--issue_template.md3
-rw-r--r--linux/.gitignore5
-rwxr-xr-x[-rw-r--r--]linux/appimage-build.sh (renamed from linux/build.sh)18
-rw-r--r--linux/snap/snapcraft.yaml72
-rwxr-xr-xlinux/travis-build.sh87
-rw-r--r--osx/build.sh4
-rwxr-xr-xwin/build.sh1
9 files changed, 268 insertions, 18 deletions
diff --git a/.travis.yml b/.travis.yml
index 6985d50..84067a0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,47 @@
os: linux
-sudo: true
dist: trusty
-language: cpp
+sudo: required
+language: generic
+
+services:
+- docker
+
+env:
+ global:
+ - DOCKER_IMAGE=ubuntu:xenial
+ - SNAP_PRIME_ON_PULL_REQUEST=true
+ - SNAP_DEPLOY_CHANNEL=edge
+ - SNAPCRAFT_CONFIG_KEY=''
+ - SNAPCRAFT_CONFIG_IV=''
+
+ matrix:
+ - BUILD_TYPE=appimage
+ - BUILD_TYPE=snap
+ - BUILD_TYPE=snap ARCH=i386
+
+before_install:
+ - linux/travis-build.sh before_install
+
+install:
+ - linux/travis-build.sh install
+
+before_script:
+ - linux/travis-build.sh before_script
script:
- - bash -ex linux/build.sh
+ - linux/travis-build.sh script
+
+after_success:
+ - linux/travis-build.sh after_success
+
+deploy:
+ - provider: script
+ skip_cleanup: true
+ script: linux/travis-build.sh snap_store_deploy
+ on:
+ condition: $BUILD_TYPE = snap && -n "$SNAPCRAFT_CONFIG_KEY" && -n "$SNAPCRAFT_CONFIG_IV"
+
+branches:
+ except:
+ - # Do not build tags that we create when we upload to GitHub Releases
+ - /^(?i:continuous)$/
diff --git a/README.md b/README.md
index 9ad1423..2439c66 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,16 @@
-# nextcloud desktop client [![Build Status](https://travis-ci.org/nextcloud/client_theming.svg?branch=master)](https://travis-ci.org/nextcloud/client_theming)
-:computer: theme and build instructions for the nextcloud desktop client
+# Nextcloud desktop client
+[![Build Status](https://travis-ci.org/nextcloud/client_theming.svg?branch=master)](https://travis-ci.org/nextcloud/client_theming)
-Based on https://github.com/owncloud/client/blob/master/doc/building.rst
+**Theme and build instructions for the [Nextcloud](https://nextcloud.com) desktop client.**
+
+Based on https://github.com/owncloud/client/blob/master/doc/building.rst
+
+## Installing on Ubuntu
+```bash
+sudo add-apt-repository ppa:nextcloud-devs/client
+sudo apt-get update
+sudo apt-get install nextcloud-client
+```
## Getting repository ready
@@ -15,11 +24,42 @@ git submodule update --init --recursive
Run:
```bash
+# If building on Ubuntu
+sudo apt-get install libsqlite3-dev qt5-default libqt5webkit5-dev qt5keychain-dev libssl-dev
+
+# All distributions
+mkdir build-linux
+cd build-linux
+cmake -D OEM_THEME_DIR=$(realpath ../nextcloudtheme) ../client
+make
+sudo make install
+```
+
+### Building on Debian
+
+Install required packages.
+
+ sudo apt-get install git libsqlite3-dev qt5-default libqt5webkit5-dev qt5keychain-dev libssl1.0-dev cmake build-essential libowncloudsync0
+
+If you are using Debian 9 install libssl1.0-dev
+
+ sudo apt-get install libssl1.0-dev
+
+If you are using Debian 8 install libssl-dev
+
+ sudo apt-get install libssl-dev
+
+Then:
+
+```bash
+git clone https://github.com/nextcloud/client_theming.git
+cd client_theming
+git submodule update --init --recursive
mkdir build-linux
cd build-linux
-cmake -D OEM_THEME_DIR=`pwd`/../nextcloudtheme ../client
+cmake -D OEM_THEME_DIR=$(realpath ../nextcloudtheme) -DCMAKE_INSTALL_PREFIX=/usr ../client
make
-make install
+sudo make install
```
## Building on OSX
diff --git a/issue_template.md b/issue_template.md
index 61bea8a..a2f172b 100644
--- a/issue_template.md
+++ b/issue_template.md
@@ -1,5 +1,6 @@
<!--
Thanks for reporting issues back to Nextcloud!
-Please report all not theming related issues at the moment to https://github.com/owncloud/client
+Please report all *not* theming related issues at the moment to https://github.com/owncloud/client
-->
+
diff --git a/linux/.gitignore b/linux/.gitignore
new file mode 100644
index 0000000..a1fd60d
--- /dev/null
+++ b/linux/.gitignore
@@ -0,0 +1,5 @@
+stage
+snap
+prime
+parts
+*.snap
diff --git a/linux/build.sh b/linux/appimage-build.sh
index fb231d9..21c2dc9 100644..100755
--- a/linux/build.sh
+++ b/linux/appimage-build.sh
@@ -16,7 +16,7 @@ mkdir build-linux
cd build-linux
cmake -D CMAKE_INSTALL_PREFIX=/app -D OEM_THEME_DIR=`pwd`/../nextcloudtheme ../client
make
-find .
+find .
sudo make install
find /app
@@ -63,9 +63,8 @@ cp /app/share/icons/hicolor/256x256/apps/Nextcloud.png nextcloud.png
########################################################################
# FIXME: How to find out which subset of plugins is really needed?
-mkdir -p ./usr/lib/qt5/plugins/
-PLUGINS=/usr/lib/x86_64-linux-gnu/qt5/plugins/
-cp -r $PLUGINS/{bearer,generic,imageformats,platforminputcontexts,platforms,platformthemes} ./usr/lib/qt5/plugins/
+mkdir -p ./usr/lib/qt4/plugins/
+cp -r /usr/lib/x86_64-linux-gnu/qt4/plugins/* ./usr/lib/qt4/plugins/
copy_deps
@@ -116,11 +115,16 @@ VERSION=git$GIT_REV-glibc$GLIBC_NEEDED
cd .. # Go out of AppImage
mkdir -p ../out/
-generate_appimage
+generate_type2_appimage
########################################################################
# Upload the AppDir
########################################################################
-transfer ../out/*
-echo "AppImage has been uploaded to the URL above; use something like GitHub Releases for permanent storage"
+if [ -n "$GITHUB_TOKEN" ]; then
+ wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
+ bash upload.sh ../out/*
+else
+ transfer ../out/*
+ echo "AppImage has been uploaded to the URL above; use something like GitHub Releases for permanent storage"
+fi
diff --git a/linux/snap/snapcraft.yaml b/linux/snap/snapcraft.yaml
new file mode 100644
index 0000000..3ddef3d
--- /dev/null
+++ b/linux/snap/snapcraft.yaml
@@ -0,0 +1,72 @@
+name: nextcloud-client
+version: 2.2.4+git
+icon: ../nextcloudtheme/theme/colored/Nextcloud-icon.svg
+summary: Nextcloud Desktop Client
+description: |
+ The Nextcloud Desktop Client is a tool to synchronize files from Nextcloud
+ Server with your computer.
+
+grade: stable
+confinement: strict
+
+parts:
+ client:
+ plugin: cmake
+ source: ../
+ source-subdir: client
+ build-packages:
+ - g++
+ - libqt5webkit5-dev
+ - libsqlite3-dev
+ - libssl-dev
+ - pkg-config
+ - qt5keychain-dev
+ - qttools5-dev-tools
+ configflags:
+ - -DCMAKE_BUILD_TYPE=Release
+ - -DOEM_THEME_DIR=$SNAPCRAFT_PART_INSTALL/../src/nextcloudtheme
+
+ # XXX: This is an hack to have a kind of bind-mount with absolute prefix.
+ - -DCMAKE_INSTALL_PREFIX=/snap/$SNAPCRAFT_PROJECT_NAME/current/usr
+ - -DCMAKE_INSTALL_LIBDIR=/snap/$SNAPCRAFT_PROJECT_NAME/current/usr/lib
+ - -DSYSCONF_INSTALL_DIR=/snap/$SNAPCRAFT_PROJECT_NAME/current/etc
+ organize:
+ snap/nextcloud-client/current: .
+
+ after:
+ - desktop-qt5
+
+ xdg-open:
+ source: https://github.com/ubuntu-core/snapd-xdg-open.git
+ source-depth: 1
+ plugin: dump
+ organize:
+ data/xdg-open: bin/xdg-open
+ prime:
+ - bin
+
+apps:
+ nextcloud-client:
+ aliases:
+ - nextcloud
+ command: |
+ env LD_LIBRARY_PATH=$SNAP/usr/lib/nextcloud:$LD_LIBRARY_PATH
+ desktop-launch nextcloud
+ desktop: usr/share/applications/nextcloud.desktop
+ plugs:
+ - unity7
+ - home
+ - network
+ - network-bind
+ - network-manager
+
+ cmd:
+ aliases:
+ - nextcloudcmd
+ command: |
+ env LD_LIBRARY_PATH=$SNAP/usr/lib/nextcloud:$LD_LIBRARY_PATH
+ desktop-launch nextcloudcmd
+ plugs:
+ - unity7
+ - home
+ - network
diff --git a/linux/travis-build.sh b/linux/travis-build.sh
new file mode 100755
index 0000000..22eb7ea
--- /dev/null
+++ b/linux/travis-build.sh
@@ -0,0 +1,87 @@
+#!/bin/bash
+# Copyright (C) 2017 Marco Trevisan
+
+set -xe
+
+TRAVIS_BUILD_STEP="$1"
+DOCKER_BUILDER_NAME='builder'
+THIS_PATH=$(dirname $0)
+
+if [ -z "$TRAVIS_BUILD_STEP" ]; then
+ echo "No travis build step defined"
+ exit 0
+fi
+
+function docker_exec() {
+ docker exec -i $DOCKER_BUILDER_NAME $*
+}
+
+if [ "$BUILD_TYPE" == "appimage" ]; then
+ if [ "$TRAVIS_BUILD_STEP" == "script" ]; then
+ $THIS_PATH/appimage-build.sh
+ fi
+elif [ "$BUILD_TYPE" == "snap" ]; then
+ if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
+ if [ "$SNAP_PRIME_ON_PULL_REQUEST" != "true" ]; then
+ echo '$SNAP_PRIME_ON_PULL_REQUEST is not set to true, thus we skip this now'
+ exit 0
+ fi
+ fi
+
+ if [ "$TRAVIS_BUILD_STEP" == "before_install" ]; then
+ if [ -n "$ARCH" ]; then DOCKER_IMAGE="$ARCH/$DOCKER_IMAGE"; fi
+ docker run --name $DOCKER_BUILDER_NAME -e LANG=C.UTF-8 -e TERM \
+ -v $PWD:$PWD -w $PWD/$THIS_PATH -td $DOCKER_IMAGE
+ elif [ "$TRAVIS_BUILD_STEP" == "install" ]; then
+ docker_exec apt-get update -q
+ docker_exec apt-get install -y snapcraft
+ elif [ "$TRAVIS_BUILD_STEP" == "before_script" ]; then
+ last_tag=$(git describe --tags --abbrev=0 | sed "s/^v\([0-9]\)/\1/")
+ snap_version=$last_tag
+
+ if [ -z "$TRAVIS_TAG" ]; then
+ rev_commit=$(git rev-parse --short HEAD)
+ snap_version=$last_tag+git${rev_commit}
+ fi
+
+ sed "s,^\(version:\)\([ ]*[0-9.a-z_-+]*\),\1 $snap_version," \
+ -i $THIS_PATH/snap/snapcraft.yaml
+ echo "Snap version is $snap_version"
+ elif [ "$TRAVIS_BUILD_STEP" == "script" ]; then
+ snapcraft_action=''
+ if [ -z "$TRAVIS_TAG" ] || [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
+ snapcraft_action='prime'
+ fi
+
+ docker_exec snapcraft $snapcraft_action
+ elif [ "$TRAVIS_BUILD_STEP" == "after_success" ]; then
+ if [ -n "$GITHUB_TOKEN" ]; then
+ exec $0 snap_github_release
+ else
+ exec $0 snap_transfer_deploy
+ fi
+ elif [ "$TRAVIS_BUILD_STEP" == "snap_store_deploy" ]; then
+ set +x
+ openssl aes-256-cbc -K $SNAPCRAFT_CONFIG_KEY \
+ -iv $SNAPCRAFT_CONFIG_IV \
+ -in $THIS_PATH/snap/.snapcraft/travis_snapcraft.cfg \
+ -out $THIS_PATH/snap/.snapcraft/snapcraft.cfg -d
+ set -x
+
+ ls $THIS_PATH/*.snap &> /dev/null || docker_exec snapcraft
+ docker_exec snapcraft push *.snap --release edge
+ elif [ "$TRAVIS_BUILD_STEP" == "snap_github_release" ]; then
+ ls $THIS_PATH/*.snap &> /dev/null || docker_exec snapcraft
+ snap=$(ls $THIS_PATH/*.snap -1 | head -n1)
+ wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
+ chmod +x upload.sh
+ exec ./upload.sh "$snap"
+ elif [ "$TRAVIS_BUILD_STEP" == "snap_transfer_deploy" ]; then
+ ls $THIS_PATH/*.snap &> /dev/null || docker_exec snapcraft
+ snap=$(ls $THIS_PATH/*.snap -1 | head -n1)
+ curl --progress-bar --upload-file "$snap" "https://transfer.sh/$(basename $snap)"
+ fi
+else
+ echo 'No $BUILD_TYPE defined'
+ exit 1
+fi
diff --git a/osx/build.sh b/osx/build.sh
index d8ec47b..e433a6c 100644
--- a/osx/build.sh
+++ b/osx/build.sh
@@ -12,7 +12,7 @@ sudo rm -rf install
cd ~
git clone --recursive https://github.com/owncloud/client.git
cd client
-git checkout v2.3.0-beta1
+git checkout v2.3.0
git submodule update --recursive
# Build qtkeychain
@@ -26,7 +26,7 @@ cp client_theming/osx/dsa_pub.pem client/admin/osx/sparkle/
rm -rf build-mac
mkdir build-mac
cd build-mac
-cmake -DCMAKE_OSX_SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.8 -DCMAKE_INSTALL_PREFIX=/Users/builder/install -DCMAKE_PREFIX_PATH=/Users/builder/Qt/5.6/clang_64 -D SPARKLE_INCLUDE_DIR=/Users/builder/Library/Frameworks/Sparkle.framework/ -D SPARKLE_LIBRARY=/Users/builder/Library/Frameworks/Sparkle.framework/ -D OEM_THEME_DIR=/Users/builder/client_theming/nextcloudtheme -DWITH_CRASHREPORTER=ON -DNO_SHIBBOLETH=1 -DMIRALL_VERSION_BUILD=1 ../client
+cmake -DCMAKE_OSX_SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.8 -DCMAKE_INSTALL_PREFIX=/Users/builder/install -DCMAKE_PREFIX_PATH=/Users/builder/Qt/5.6/clang_64 -D SPARKLE_INCLUDE_DIR=/Users/builder/Library/Frameworks/Sparkle.framework/ -D SPARKLE_LIBRARY=/Users/builder/Library/Frameworks/Sparkle.framework/ -D OEM_THEME_DIR=/Users/builder/client_theming/nextcloudtheme -DWITH_CRASHREPORTER=ON -DNO_SHIBBOLETH=1 -DMIRALL_VERSION_BUILD=4 -DMIRALL_VERSION_SUFFIX=rc1 ../client
make
sudo make install
sudo ~/client_theming/client/admin/osx/sign_app.sh ~/install/nextcloud.app 59FA8948AEBAE3F2222AE9BC020D6DA31DF821A7
diff --git a/win/build.sh b/win/build.sh
index 6aadf15..cf67dad 100755
--- a/win/build.sh
+++ b/win/build.sh
@@ -10,6 +10,7 @@ su - user << EOF
cmake -DCMAKE_TOOLCHAIN_FILE=../client/admin/win/Toolchain-mingw32-openSUSE.cmake\
-DWITH_CRASHREPORTER=ON \
-DOEM_THEME_DIR=/home/user/nextcloudtheme \
+ -DMIRALL_VERSION_SUFFIX=rc1 \
../client
make -j4
make package