diff --git a/ring-kde/Gemfile b/ring-kde/Gemfile new file mode 100644 index 0000000..dce0c35 --- /dev/null +++ b/ring-kde/Gemfile @@ -0,0 +1,43 @@ +source 'https://rubygems.org' + +gem 'aptly-api', '>= 0.5.0' +gem 'concurrent-ruby' +gem 'deep_merge', '~> 1.0' +gem 'docker-api', '~> 1.24' # Container.refresh! only introduced in 1.23 +gem 'gir_ffi' +gem 'git' +gem 'gitlab', + git: 'https://github.com/NARKOZ/gitlab', + branch: 'master' +gem 'insensitive_hash' +gem 'jenkins_api_client' +gem 'jenkins_junit_builder' +gem 'logger-colors' +gem 'mercurial-ruby' +gem 'net-ping', '< 2.0.0' +gem 'net-sftp' +gem 'net-ssh-gateway' +gem 'nokogiri' +gem 'oauth', '~> 0.4' +gem 'octokit' +gem 'releaseme', + git: 'https://anongit.kde.org/releaseme.git', + branch: 'master' +gem 'rugged' +gem 'rspec' +# Temporarily from git waiting for a release newer than 4.1.0. Once a newer +# version is available this can move up and drop the git paramaters. +# Also undo workaround in deploy_in_container.rake! +gem 'net-ssh', '<= 4.1.0', + git: 'https://github.com/net-ssh/net-ssh', + branch: 'master' + +# Git URI management +gem 'git_clone_url', '~> 2.0' +gem 'uri-ssh_git', '~> 2.0' + +# Test logging as junit (also used at runtime for linting) +gem 'ci_reporter_test_unit', + git: 'https://github.com/apachelogger/ci_reporter_test_unit', + branch: 'test-unit-3' +gem 'test-unit', '~> 3.0' diff --git a/ring-kde/JenkinsFile b/ring-kde/JenkinsFile new file mode 100644 index 0000000..811258a --- /dev/null +++ b/ring-kde/JenkinsFile @@ -0,0 +1,73 @@ +#!groovy + +/* +The MIT License +Copyright (c) 2015-, CloudBees, Inc., and a number of other of contributors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +node('linux') { + def WORKSPACE = pwd() + currentBuild.result = "SUCCESS" + properties([buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '5')), \ + [$class: 'GithubProjectProperty', displayName: '', projectUrlStr: 'https://github.com/appimage-packages/ring-kde/'], pipelineTriggers([cron('H H(0-2) * * *'), [$class: 'GitHubPushTrigger'], pollSCM('H/15 * * * *')])]) + withEnv(['PROJECT_NAME=ring-kde', + 'DOCKER_IMAGE=sgclark/trusty-qt59', + 'KF5=true']) { + try { + + stage( 'Checkout' ) { + checkout scm + checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], \ + browser: [$class: 'GithubWeb', repoUrl: ''], doGenerateSubmoduleConfigurations: false, \ + extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'tooling']], submoduleCfg: [], \ + userRemoteConfigs: [[url: 'https://github.com/blue-systems/pangea-tooling']]] + checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, \ + extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'ring-kde']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://anongit.kde.org/ring-kde']]] + } + stage( 'Setup' ) { + sh 'echo $PATH' + sh 'eval "$(rbenv init -)" && rbenv local 2.3.1 && bundle install' + } + stage( 'Build' ) { + sh 'bundle exec ruby tooling/aci/contain.rb' + } + stage('Copy Artifacts') { + step([$class: 'S3BucketPublisher', consoleLogLevel: 'INFO', dontWaitForConcurrentBuildCompletion: false, entries: [[bucket: "ds9-apps/${JOB_NAME}", excludedFile: '', flatten: false, gzipFiles: false, keepForever: false, \ + managedArtifacts: false, noUploadOnFailure: true, selectedRegion: 'eu-central-1', showDirectlyInBrowser: true, \ + sourceFile: 'appimages/*.AppImage', storageClass: 'STANDARD', uploadFromSlave: true, useServerSideEncryption: false]], pluginFailureResultConstraint: 'UNSTABLE', profileName: 'ds9-apps', userMetadata: []]) + step([$class: 'S3BucketPublisher', consoleLogLevel: 'INFO', dontWaitForConcurrentBuildCompletion: false, entries: [[bucket: "ds9-apps/${JOB_NAME}", excludedFile: '', flatten: false, gzipFiles: false, keepForever: false, \ + managedArtifacts: false, noUploadOnFailure: true, selectedRegion: 'eu-central-1', showDirectlyInBrowser: true, \ + sourceFile: 'appimages/*.zsync', storageClass: 'STANDARD', uploadFromSlave: true, useServerSideEncryption: false]], pluginFailureResultConstraint: 'UNSTABLE', profileName: 'ds9-apps', userMetadata: []]) + } + stage('Tests') { + step([$class: 'LogParserPublisher', failBuildOnError: true, projectRulePath: 'tooling/aci/parser.rules', showGraphs: true, unstableOnWarning: true, useProjectRule: true]) + } + } + + + + + catch (err) { + + currentBuild.result = "FAILURE" + + echo "FAILURE" + throw err + } + } + } diff --git a/ring-kde/README.md b/ring-kde/README.md new file mode 100644 index 0000000..6a4744e --- /dev/null +++ b/ring-kde/README.md @@ -0,0 +1,13 @@ +# ring-kde +Master branch: +[![Build Status](http://aci.pangea.pub/job/ring-kde-full-master-appimage/badge/icon)](http://aci.pangea.pub/job/ring-kde-full-master-appimage/) + +AppImage for KDE ring-kde + +ring-kde is a geography learning tool, which allows you to learn about the political divisions of some countries (divisions, capitals of those divisions and their associated flags if there are some). + +https://edu.kde.org/ring-kde/ + +S3 Download: +master: +https://s3-eu-central-1.amazonaws.com/ds9-apps/index.html#!/ring-kde-full-master-appimage%2F diff --git a/ring-kde/Recipe.erb b/ring-kde/Recipe.erb new file mode 100644 index 0000000..5b4c5db --- /dev/null +++ b/ring-kde/Recipe.erb @@ -0,0 +1,153 @@ +#!/bin/bash +# +# Copyright (C) 2016 Scarlett Clark +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) version 3, or any +# later version accepted by the membership of KDE e.V. (or its +# successor approved by the membership of KDE e.V.), which shall +# act as a proxy defined in Section 6 of version 3 of the license. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see . + +cd / +# Get helper functions +wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh +. ./functions.sh +rm -f functions.sh + +cd /app.Dir +#Move binary/desktop/icon into AppDir +mv /app.Dir/usr/bin/<%= binary %> . +mv /app.Dir/usr/share/applications/cx.ring.ring-kde.desktop <%= binary %>.desktop +cp /app.Dir/usr/share/icons/hicolor/48x48/apps/*<%= name %>* . + +mkdir ./etc; cp /etc/mime.types $_ + +cp -rfv /usr/share/mime ./usr/share/ +update-mime-database ./usr/share/mime + +# Run appimage once with QT_DEBUG_PLUGINS=1 to add missing ( linuxdeployqt should install correctly) +mkdir -p ./plugins; cp -r /opt/usr/plugins/{bearer,generic} $_ +# Bring in kf5 plugins +mv /opt/usr/plugins/kf5/* ./plugins/ || true + +#move arch libs into same dir as rest +mv /opt/usr/lib/x86_64-linux-gnu/pkgconfig/* /opt/usr/lib/pkgconfig/ +rmdir /opt/usr/lib/x86_64-linux-gnu/pkgconfig +mv /opt/usr/lib/x86_64-linux-gnu/cmake/* /opt/usr/lib/cmake/ +rmdir /opt/usr/lib/x86_64-linux-gnu/cmake +mv /opt/usr/lib/x86_64-linux-gnu/* /opt/usr/lib/ + +mkdir ./lib +#Uncomment for sound +cp -rfv /opt/usr/lib/qt5/plugins/phonon4qt5_backend ./plugins/ +cp /opt/usr/bin/gst* ./usr/bin/ +rm -rfv /opt/usr/lib/gstreamer-1.0/include +cp /opt/usr/lib/gstreamer-1.0/* ./lib/ +cp /opt/usr/lib/pulseaudio/* ./lib/ +mv /opt/usr/libexec/gstreamer-1.0/* ./usr/bin || true + +rsync -aruxv --progress /opt/usr/resources/ ./usr/bin/ +rsync -aruxv --progress /opt/usr/translations/ ./usr/bin/ + + +mv /opt/usr/libexec/Qt* ./usr/bin/ || true + +unset LD_LIBRARY_PATH +~/./linuxdeployqt-1-x86_64.AppImage <%= name %> -verbose=3 -bundle-non-qt-libs -qmldir=/opt/usr/qml + +patch_usr +glibc_needed +delete_blacklisted +#Cleanup +# We don't bundle the developer stuff +rm -rf ./usr/include || true +rm -rf ./usr/lib/cmake || true +rm -rf ./lib/cmake || true +rm -rf ./usr/lib/pkgconfig || true +rm -rf ./usr/share/ECM/ || true +rm -rf ./usr/share/gettext || true +rm -rf ./usr/share/pkgconfig || true +rm -rf ./usr/mkspecs/ || true +rm -rf ./usr/gettext-* || true +rm -rf ./usr/autoconf-* || true +rm -rf ./usr/automake-* || true +rm -rf ./usr/libtool-* || true +rm -rf ./libexec || true +rm -rf ./usr/share/cmake-3.8 || true +rm -rf ./usr/share/man || true +rm -rf ./usr/share/doc/ECM || true +rm -rf ./usr/share/doc/libdbusmenu-qt5-doc || true +rm -rf ./usr/share/gtk-doc || true +rm -rf ./usr/share/wallpapers || true +rm -rf ./usr/share/aclocal || true +rm -rf ./usr/share/bash-completion || true +rm -rf ./usr/share/common-lisp || true +rm -rf ./usr/share/cups || true +rm -rf ./usr/share/doc/{cups,gettext,gnupg,libasprintf,pcre} || true +rm -rf ./usr/share/gir-1.0 || true +rm -rf ./usr/share/gnupg || true +rm -rf ./usr/share/gobject-introspection-1.0 || true +rm -rf ./usr/share/util-macros || true +find . -name '*.a' -exec rm {} \; +strip -g $(find . -type f -exec) || true +find . -type f -exec file {} \; | grep "not stripped" +#Add back libkrb5 +cp /usr/lib/x86_64-linux-gnu/libkrb5* ./lib/ +get_desktopintegration <%= name %> +cd /source/ +rm -rfv appimage-exec-wrapper || true +git clone git://anongit.kde.org/scratch/brauch/appimage-exec-wrapper +cd /source//appimage-exec-wrapper/ +make clean +make +cp -v exec.so /app.Dir//exec_wrapper.so +rm -rfv /app/src/appimage-exec-wrapper +cd /app.Dir/ +rm AppRun +#Create AppRun +cat > AppRun << EOF +#!/bin/bash +DIR="\`dirname \"\$0\"\`" +HERE="\`( cd \"\$DIR\" && pwd )\`" +export LD_PRELOAD=\$HERE/exec_wrapper.so +export QML2_IMPORT_PATH=\$HERE/qml +export QT_PLUGIN_PATH=\$HERE/plugins +export GRANTLEE_PLUGIN_PATH=\$HERE/plugins +export PATH=\$HERE/usr/bin/:\$HERE/usr/sbin/:\$HERE/usr/games/:\$HERE/bin/:\$HERE/sbin/:\$PATH +export LD_LIBRARY_PATH=\$HERE/usr/lib/:\$HERE/usr/lib/x86_64-linux-gnu/:\$HERE/usr/lib64/:\$HERE/lib/:\$HERE/lib/x86_64-linux-gnu/:\$HERE/lib64/:\$LD_LIBRARY_PATH +export XDG_DATA_DIRS=\$HERE/usr/share:\$HOME/.local/share:\$HERE/share:/usr/local/share/:/usr/share:\$XDG_DATA_DIRS +export XDG_DATA_HOME=\$HOME/.local/share +export XDG_CONFIG_DIRS=\$HERE/.config:\$HERE/etc/xdg:\$XDG_CONFIG_DIRS +export KDE_FORK_SLAVES=1 +export KF5_LIBEXEC_DIR=\$HERE/usr/bin +export GST_PLUGIN_PATH=\$HERE/lib +export GST_PLUGIN_SCANNER=\$HERE/bin +export QT_STYLE_OVERRIDE= +dring & +PID=$! +<%= binary %> $@ +kill $PID +EOF +chmod +x AppRun +mv <%= binary %> ./usr/bin/ +cp <%= binary %>.desktop ./usr/share/applications/ +cd ~ + + +#Appstream support for appimagetool +rm -rfv /source/* + + + +#Re set LD_LIBRARY_PATH +export LD_LIBRARY_PATH=/opt/usr/lib:/opt/usr/lib/x86_64-linux-gnu:/usr/lib:/usr/lib64:/lib diff --git a/ring-kde/data/metadata.yaml b/ring-kde/data/metadata.yaml new file mode 100644 index 0000000..1fc1f59 --- /dev/null +++ b/ring-kde/data/metadata.yaml @@ -0,0 +1,152 @@ +name: ring-kde +binary: ring-kde +packages: + - zsync + - libsamplerate0-dev + - libgsm1-dev + - libspeex-dev + - libtool + - libasound2-dev + - libopus-dev + - libspeexdsp-dev + - libexpat1-dev + - libpcre3-dev + - libyaml-cpp-dev + - libboost-dev + - libdbus-c++-dev + - libsndfile1-dev + - libsrtp-dev + - libjack-dev + - libupnp-dev + - libudev-dev + - yasm + - uuid-dev + - libgnutls-dev + - libjsoncpp-dev + - libva-dev + - libgtk-3-0 + - libgtk-3-dev + - libclutter-gtk-1.0-0 + - gnome-icon-theme-symbolic + - libebook-1.2-14 + - libnotify4 + - libical-dev +build_kf5: true +frameworks: + - extra-cmake-modules + - kcoreaddons + - ki18n + - kitemviews + - kconfig + - polkit-qt-1 + - kauth + - kcodecs + - karchive + - kdoctools + - kguiaddons + - kwidgetsaddons + - kconfigwidgets + - kiconthemes + - kcompletion + - kwindowsystem + - kcrash + - kdbusaddons + - kservice + - sonnet + - ktextwidgets + - kglobalaccel + - attica + - kxmlgui + - solid + - kbookmarks + - kjobwidgets + - phonon + - phonon-gstreamer + - knotifications + - gpgmepp + - kwallet + - kio + - knewstuff + - breeze-icons + - kinit + - knotifyconfig + - kitemmodels + - kparts + - kdesignerplugin + - kunitconversion + - kded + - kdelibs4support + - kemoticons + - kwayland +kde_deps: + - kcontacts + - akonadi + - kmime + - kcalcore + - akonadi-mime + - akonadi-contacts +type: git +url: https://gerrit-ring.savoirfairelinux.com/ring-daemon +buildsystem: custom +buildoptions: /bin/bash /in/scripts/ring.sh +dependencies: + - gmp: + build: + buildsystem: make + buildoptions: '--prefix=/opt/usr' + depname: gmp + source: + type: tar + url: ftp://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz + - asio: + build: + buildsystem: custom + buildoptions: 'cd asio && ./autogen.sh && ./configure --prefix=/opt/usr && make V=1 -j8 && make install' + depname: asio + source: + type: git + url: https://github.com/chriskohlhoff/asio + branch: master + - kashmir: + build: + buildsystem: custom + buildoptions: 'mv /source/kashmir-dependency/kashmir /opt/usr/include/kashmir' + depname: kashmir-dependency + source: + type: git + url: https://github.com/Corvusoft/kashmir-dependency + branch: master + - restbed: + build: + buildsystem: cmake + buildoptions: '-DCMAKE_INSTALL_PREFIX:PATH=/opt/usr -DBUILD_TESTS=NO -DBUILD_EXAMPLES=NO -DBUILD_SSL=NO -DBUILD_SHARED=ON' + depname: restbed + source: + type: git + url: https://github.com/Corvusoft/restbed + branch: master + - x264: + build: + buildsystem: custom + buildoptions: /bin/bash /in/scripts/x264.sh + depname: x264 + source: + type: none + url: '' + branch: '' + - x265: + build: + buildsystem: custom + buildoptions: /bin/bash /in/scripts/x265.sh + depname: x265 + source: + type: none + url: '' + - ffmpeg: + build: + buildsystem: custom + buildoptions: /bin/bash /in/scripts/ffmpeg.sh + depname: ffmepg + source: + type: none + url: '' diff --git a/ring-kde/deploy.rb b/ring-kde/deploy.rb new file mode 100755 index 0000000..de796cc --- /dev/null +++ b/ring-kde/deploy.rb @@ -0,0 +1,56 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# Copyright (C) 2016 Scarlett Clark +# Copyright (C) 2015-2016 Harald Sitter +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) version 3, or any +# later version accepted by the membership of KDE e.V. (or its +# successor approved by the membership of KDE e.V.), which shall +# act as a proxy defined in Section 6 of version 3 of the license. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License fo-r more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see . + +require_relative 'appimage-template/libs/builddocker.rb' +require 'fileutils' +require 'pty' + +if RUBY_VERSION =~ /1.9/ # assuming you're running Ruby ~1.9 + Encoding.default_external = Encoding::UTF_8 + Encoding.default_internal = Encoding::UTF_8 +end +setup_path = `pwd` +p setup_path +project = 'ring-kde' +builder = CI.new +unless Dir.exist?('app') + Dir.mkdir('app') +end +unless Dir.exist?('appimage') + Dir.mkdir('appimage') +end +builder.run = [CI::Build.new(project)] +builder.cmd = %w[bash -c /in/setup.sh] +builder.create_container(project) +# begin +# PTY.spawn( cmd ) do |stdout, stdin, pid| +# begin +# # Do stuff with the output here. Just printing to show it works +# stdout.each { |line| print line } +# rescue Errno::EIO +# puts "Errno:EIO error, but this probably just means " + +# "that the process has finished giving output" +# end +# end +# rescue PTY::ChildExited +# puts "The child process exited!" +# end diff --git a/ring-kde/old/Gemfile b/ring-kde/old/Gemfile new file mode 100644 index 0000000..5cf2eb0 --- /dev/null +++ b/ring-kde/old/Gemfile @@ -0,0 +1,8 @@ +source 'http://rubygems.org' +gem 'bundler' +gem 'docker-api', git: 'https://github.com/swipely/docker-api' +gem 'logger' +gem 'logger-colors' +gem 'fileutils' +gem 'rspec' +gem 'rugged', git: 'https://github.com/libgit2/rugged.git', submodules: true diff --git a/ring-kde/old/Gemfile.lock b/ring-kde/old/Gemfile.lock new file mode 100644 index 0000000..362e820 --- /dev/null +++ b/ring-kde/old/Gemfile.lock @@ -0,0 +1,54 @@ +GIT + remote: https://github.com/libgit2/rugged.git + revision: 86131e5dc29af251f1a82cb02a36122241c0fba3 + submodules: true + specs: + rugged (0.25.0b10) + +GIT + remote: https://github.com/swipely/docker-api + revision: 792d0293f3371eb1aa795fc4043322513b0889c2 + specs: + docker-api (1.32.1) + excon (>= 0.38.0) + json + +GEM + remote: http://rubygems.org/ + specs: + diff-lcs (1.2.5) + excon (0.54.0) + fileutils (0.7) + rmagick (>= 2.13.1) + json (2.0.2) + logger (1.2.8) + logger-colors (1.0.0) + rmagick (2.16.0) + rspec (3.5.0) + rspec-core (~> 3.5.0) + rspec-expectations (~> 3.5.0) + rspec-mocks (~> 3.5.0) + rspec-core (3.5.4) + rspec-support (~> 3.5.0) + rspec-expectations (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-mocks (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-support (3.5.0) + +PLATFORMS + ruby + +DEPENDENCIES + bundler + docker-api! + fileutils + logger + logger-colors + rspec + rugged! + +BUNDLED WITH + 1.13.2 diff --git a/ring-kde/old/JenkinsFile b/ring-kde/old/JenkinsFile new file mode 100644 index 0000000..1b2b8e1 --- /dev/null +++ b/ring-kde/old/JenkinsFile @@ -0,0 +1,71 @@ +#!groovy + +/* +The MIT License +Copyright (c) 2015-, CloudBees, Inc., and a number of other of contributors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +node('linux') { + + + currentBuild.result = "SUCCESS" + properties([buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '6', daysToKeepStr: '', numToKeepStr: '5')), disableConcurrentBuilds(), \ + [$class: 'GithubProjectProperty', displayName: '', projectUrlStr: 'https://github.com/appimage-packages/ring-kde-full/'], pipelineTriggers([[$class: 'GitHubPushTrigger'], pollSCM('H/5 * * * *')])]) + try { + + stage( 'Checkout' ) { + checkout scm + checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], \ + browser: [$class: 'GithubWeb', repoUrl: ''], doGenerateSubmoduleConfigurations: false, \ + extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'appimage-template']], submoduleCfg: [], \ + userRemoteConfigs: [[url: 'https://github.com/appimage-packages/appimage-template']]] + checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, \ + extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'ring-kde']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://gerrit-ring.savoirfairelinux.com/ring-daemon']]] + } + stage( 'Setup' ) { + sh 'bundle install' + def WORKSPACE=pwd() + } + stage( 'Build' ) { + sh 'bundle exec deploy.rb' + } + stage('Copy Artifacts') { + step([$class: 'S3BucketPublisher', consoleLogLevel: 'INFO', dontWaitForConcurrentBuildCompletion: false, entries: [[bucket: "ds9-apps/${JOB_NAME}", excludedFile: '', flatten: false, gzipFiles: false, keepForever: false, \ + managedArtifacts: false, noUploadOnFailure: true, selectedRegion: 'eu-central-1', showDirectlyInBrowser: true, \ + sourceFile: 'appimage/*.AppImage', storageClass: 'STANDARD', uploadFromSlave: true, useServerSideEncryption: false]], pluginFailureResultConstraint: 'UNSTABLE', profileName: 'ds9-apps', userMetadata: []]) + step([$class: 'S3BucketPublisher', consoleLogLevel: 'INFO', dontWaitForConcurrentBuildCompletion: false, entries: [[bucket: "ds9-apps/${JOB_NAME}", excludedFile: '', flatten: false, gzipFiles: false, keepForever: false, \ + managedArtifacts: false, noUploadOnFailure: true, selectedRegion: 'eu-central-1', showDirectlyInBrowser: true, \ + sourceFile: 'appimage/*.zsync', storageClass: 'STANDARD', uploadFromSlave: true, useServerSideEncryption: false]], pluginFailureResultConstraint: 'UNSTABLE', profileName: 'ds9-apps', userMetadata: []]) + } + stage('Tests') { + step([$class: 'LogParserPublisher', failBuildOnError: true, projectRulePath: 'appimage-template/parser.rules', showGraphs: true, unstableOnWarning: true, useProjectRule: true]) + } + } + + + + + catch (err) { + + currentBuild.result = "FAILURE" + + echo "FAILURE" + throw err + } + +} diff --git a/ring-kde/old/README.md b/ring-kde/old/README.md new file mode 100644 index 0000000..7a5b55d --- /dev/null +++ b/ring-kde/old/README.md @@ -0,0 +1,13 @@ +# ring-kde +Master branch: +[![Build Status](http://aci.pangea.pub/job/ring-kde-full-master-appimage/badge/icon)](http://aci.pangea.pub/job/ring-kde-full-master-appimage/) + +AppImage for Ring KDE + +ring-kde + +https://ring.cx/ + +S3 Download: +master: +https://s3-eu-central-1.amazonaws.com/ds9-apps/index.html#!/ring-kde-full-master-appimage%2F diff --git a/ring-kde/old/Recipe.erb b/ring-kde/old/Recipe.erb new file mode 100644 index 0000000..af2f470 --- /dev/null +++ b/ring-kde/old/Recipe.erb @@ -0,0 +1,168 @@ +#!/bin/bash +# +# Copyright (C) 2016 Scarlett Clark +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) version 3, or any +# later version accepted by the membership of KDE e.V. (or its +# successor approved by the membership of KDE e.V.), which shall +# act as a proxy defined in Section 6 of version 3 of the license. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see . + +cd / + +# Get helper functions +wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh +. ./functions.sh +rm -f functions.sh + +mkdir /<%= name %>.AppDir/ + +cd / +wget https://github.com/probonopd/linuxdeployqt/releases/download/1/linuxdeployqt-1-x86_64.AppImage +chmod a+x linuxdeployqt-1-x86_64.AppImage + +cd /<%= name %>.AppDir + +#Move binary/desktop/icon into AppDir +mv /opt/usr/bin/<%= binary %> . +cp /opt/usr/lib/ring/dring . +mv /opt/usr/share/ring-kde/cx.ring.ring-kde.desktop <%= binary %>.desktop +cp /opt/usr/share/icons/hicolor/48x48/apps/*<%= name %>* . + + +#All the plugins do not seem to be getting in. Manual copy. +mkdir -p ./plugins; cp -rfv /opt/usr/lib/qt5/plugins/phonon4qt5_backend $_ +mkdir -p ./usr/{share,bin,sbin,lib} +mkdir ./etc + +rsync -aruxv --progress /opt/usr/plugins/ ./plugins/ +rsync -aruxv --progress /opt/usr/share/ ./usr/share/ +rsync -aruxv --progress /opt/etc/ ./etc/ +rsync -aruxv --progress /opt/usr/qml/ ./qml/ +rsync -aruxv --progress /opt/usr/resources/ ./usr/bin/ +rsync -aruxv --progress /opt/usr/translations/ ./usr/bin/ +rsync -aruxv --progress /opt/usr/lib/ring/ ./usr/lib/ +cp /usr/lib/x86_64-linux-gnu/pulseaudio/*.so* ./usr/lib/ + +cp /opt/usr/bin/gst* ./usr/bin/ +cp /opt/usr/bin/k* ./usr/bin/ +cp /opt/usr/lib/ring/dring ./usr/bin/ +mkdir ./lib +rm -rfv /opt/usr/lib/gstreamer-1.0/include +cp -rfv /opt/usr/lib/gstreamer-1.0 ./lib/ +mv /opt/usr/library/* ./lib/ +cp /usr/lib/x86_64-linux-gnu/pulseaudio/*.so* ./lib/ +cp -rfv /usr/share/mime ./usr/share/ +cp /etc/mime.types ./etc/ +update-mime-database ./usr/share/mime + +mv /opt/usr/libexec/Qt* ./usr/bin/ || true +mv /opt/usr/lib/x86_64-linux-gnu/libexec/kf5/* ./usr/bin/ || true +mv /opt/usr/libexec/gstreamer-1.0/* ./usr/bin || true +cp -rfv /opt/usr/lib/x86_64-linux-gnu/* /opt/usr/lib/ +cp /usr/lib/x86_64-linux-gnu/libdbus-c++-1.so* ./usr/lib/ +cp /opt/usr/lib/libpcre.so* ./usr/lib/ +unset LD_LIBRARY_PATH +../linuxdeployqt-1-x86_64.AppImage <%= binary %> -verbose=3 -bundle-non-qt-libs -qmldir=/opt/usr/qml +../linuxdeployqt-1-x86_64.AppImage dring -verbose=3 -bundle-non-qt-libs -qmldir=/opt/usr/qml +patch_usr +glibc_needed +delete_blacklisted +#Cleanup +# We don't bundle the developer stuff +rm -rf ./usr/include || true +rm -rf ./usr/lib/cmake || true +rm -rf ./lib/cmake || true +rm -rf ./usr/lib/pkgconfig || true +rm -rf ./usr/share/ECM/ || true +rm -rf ./usr/share/gettext || true +rm -rf ./usr/share/pkgconfig || true +rm -rf ./usr/mkspecs/ || true +rm -rf ./usr/gettext-* || true +rm -rf ./usr/autoconf-* || true +rm -rf ./usr/automake-* || true +rm -rf ./usr/libtool-* || true +rm -rf ./libexec || true +rm -rf ./usr/share/cmake-3.8 || true +rm -rf ./usr/share/man || true +rm -rf ./usr/share/doc/ECM || true +rm -rf ./usr/share/doc/libdbusmenu-qt5-doc || true +rm -rf ./usr/share/gtk-doc || true +rm -rf ./usr/share/wallpapers || true +rm -rf ./usr/share/aclocal || true +rm -rf ./usr/share/bash-completion || true +rm -rf ./usr/share/common-lisp || true +rm -rf ./usr/share/cups || true +rm -rf ./usr/share/doc/{cups,gettext,gnupg,libasprintf,pcre} || true +rm -rf ./usr/share/gir-1.0 || true +rm -rf ./usr/share/gnupg || true +rm -rf ./usr/share/gobject-introspection-1.0 || true +rm -rf ./usr/share/util-macros || true +find . -name '*.a' -exec rm {} \; +strip -g $(find . -type f -exec) || true +find . -type f -exec file {} \; | grep "not stripped" +#rm -f ./lib/libEGL* +#Add back libkrb5 +cp /usr/lib/x86_64-linux-gnu/libkrb5* ./lib/ +get_desktopintegration <%= binary %> +cd /app/src +git clone git://anongit.kde.org/scratch/brauch/appimage-exec-wrapper +cd /app/src/appimage-exec-wrapper/ +make clean +make +cp -v exec.so /<%= name %>.AppDir/exec_wrapper.so +rm -rfv /app/src/appimage-exec-wrapper +cd /<%= name %>.AppDir +rm AppRun +#Create AppRun +cat > AppRun << EOF +#!/bin/bash +DIR="\`dirname \"\$0\"\`" +HERE="\`( cd \"\$DIR\" && pwd )\`" +export LD_PRELOAD=\$HERE/exec_wrapper.so +export QML2_IMPORT_PATH=\$HERE/qml +export QT_PLUGIN_PATH=\$HERE/plugins +export GRANTLEE_PLUGIN_PATH=\$HERE/plugins +export PATH=\$HERE/usr/bin/:\$HERE/usr/sbin/:\$HERE/usr/games/:\$HERE/bin/:\$HERE/sbin/:\$PATH +export LD_LIBRARY_PATH=\$HERE/usr/lib/:\$HERE/usr/lib/x86_64-linux-gnu/:\$HERE/usr/lib64/:\$HERE/lib/:\$HERE/lib/x86_64-linux-gnu/:\$HERE/lib64/:\$LD_LIBRARY_PATH +export XDG_DATA_DIRS=\$HERE/usr/share:\$HOME/.local/share:\$HERE/share:/usr/local/share/:/usr/share:\$XDG_DATA_DIRS +export XDG_DATA_HOME=\$HOME/.local/share +export XDG_CONFIG_DIRS=\$HERE/.config:\$HERE/etc/xdg:\$XDG_CONFIG_DIRS +export KDE_FORK_SLAVES=1 +export KF5_LIBEXEC_DIR=\$HERE/usr/bin +export GST_PLUGIN_PATH=\$HERE/lib +export GST_PLUGIN_SCANNER=\$HERE/bin +export QT_STYLE_OVERRIDE= +dring & +PID=$! +<%= binary %> $@ +kill $PID +EOF +chmod +x AppRun +mv <%= binary %> ./usr/bin/ +cp <%= binary %>.desktop ./usr/share/applications/ +cd / +wget "https://github.com/probonopd/AppImageKit/releases/download/knowngood/appimagetool-x86_64.AppImage" +chmod a+x appimagetool-x86_64.AppImage + +ARCH=$(arch) +DATE=$(date +"%Y%m%d") + +APPIMAGEFILENAME="<%= binary %>-git$DATE-$ARCH.AppImage" + +#Re set LD_LIBRARY_PATH +export LD_LIBRARY_PATH=/opt/usr/lib:/opt/usr/lib/x86_64-linux-gnu:/usr/lib:/usr/lib64 +gpg2 --import /root/.gnupg/appimage.key +./appimagetool-x86_64.AppImage -v -s -u "zsync|$APPIMAGEFILENAME" /<%= name %>.AppDir /appimage/$APPIMAGEFILENAME +./appimagetool-x86_64.AppImage -v -s -u "zsync|$APPIMAGEFILENAME" /<%= name %>.AppDir /appimage/<%= name %>-latest-$ARCH.AppImage +zsyncmake -u "https://s3-eu-central-1.amazonaws.com/ds9-apps/ark-appimage/master/$APPIMAGEFILENAME" -o /appimage/<%= name %>_latestversion.zsync /appimage/$APPIMAGEFILENAME diff --git a/ring-kde/old/data/metadata.yml b/ring-kde/old/data/metadata.yml new file mode 100644 index 0000000..3ff3e94 --- /dev/null +++ b/ring-kde/old/data/metadata.yml @@ -0,0 +1,149 @@ +name: ring-kde +binary: ring-kde +packages: + - libpulse-dev + - libsamplerate0-dev + - libgsm1-dev + - libspeex-dev + - libtool + - libdbus-1-dev + - libasound2-dev + - libopus-dev + - libspeexdsp-dev + - libexpat1-dev + - libpcre3-dev + - libyaml-cpp-dev + - libboost-dev + - libdbus-c++-dev + - libsndfile1-dev + - libsrtp-dev + - libjack-dev + - libupnp-dev + - libudev-dev + - yasm + - uuid-dev + - libgnutls-dev + - libjsoncpp-dev + - libva-dev + - libgtk-3-0 + - libgtk-3-dev + - libclutter-gtk-1.0-0 + - gnome-icon-theme-symbolic + - libebook-1.2-14 + - libnotify4 + - libical-dev +frameworks: + build_kf5: true + frameworks: + - extra-cmake-modules + - kcoreaddons + - ki18n + - kitemviews + - kconfig + - polkit-qt-1 + - kauth + - kcodecs + - karchive + - kdoctools + - kguiaddons + - kwidgetsaddons + - kconfigwidgets + - kiconthemes + - kcompletion + - kwindowsystem + - kcrash + - kdbusaddons + - kservice + - sonnet + - ktextwidgets + - kglobalaccel + - attica + - kxmlgui + - solid + - kbookmarks + - kjobwidgets + - phonon + - phonon-gstreamer + - knotifications + - gpgmepp + - kwallet + - kio + - knewstuff + - breeze-icons + - kinit + - knotifyconfig + - kcontacts + - kitemmodels + - kdesignerplugin + - akonadi + - kmime + - kparts + - kunitconversion + - kded + - kdelibs4support + - kemoticons + - kcalcore + - akonadi-mime + - akonadi-contacts +type: git +url: https://gerrit-ring.savoirfairelinux.com/ring-daemon +buildsystem: custom +buildoptions: /bin/bash /in/scripts/ring.sh +dependencies: + - cpan: + build: + buildsystem: custom + buildoptions: cpan URI::Escape + depname: cpan + source: + type: none + url: '' + - asio: + build: + buildsystem: custom + buildoptions: 'cd asio && ./autogen.sh && ./configure --prefix=/opt/usr && make V=1 -j8 && make install' + depname: asio + source: + type: git + url: https://github.com/chriskohlhoff/asio + branch: master + - kashmir: + build: + buildsystem: custom + buildoptions: 'mv /app/src/kashmir-dependency/kashmir /opt/usr/include/kashmir' + depname: kashmir-dependency + source: + type: git + url: https://github.com/Corvusoft/kashmir-dependency + branch: master + - restbed: + build: + buildsystem: cmake + buildoptions: '-DCMAKE_INSTALL_PREFIX:PATH=/opt/usr -DBUILD_TESTS=NO -DBUILD_EXAMPLES=NO -DBUILD_SSL=NO -DBUILD_SHARED=ON' + depname: restbed + source: + type: git + url: https://github.com/Corvusoft/restbed + branch: master + - x264: + build: + buildsystem: custom + buildoptions: /bin/bash /in/scripts/x264.sh + source: + type: none + url: '' + - x265: + build: + buildsystem: custom + buildoptions: /bin/bash /in/scripts/x265.sh + source: + type: none + url: '' + - ffmpeg: + build: + buildsystem: custom + buildoptions: /bin/bash /in/scripts/ffmpeg.sh + depname: ffmepg + source: + type: none + url: '' diff --git a/ring-kde/old/deploy.rb b/ring-kde/old/deploy.rb new file mode 100755 index 0000000..0aa08ed --- /dev/null +++ b/ring-kde/old/deploy.rb @@ -0,0 +1,43 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# Copyright (C) 2016 Scarlett Clark +# Copyright (C) 2015-2016 Harald Sitter +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) version 3, or any +# later version accepted by the membership of KDE e.V. (or its +# successor approved by the membership of KDE e.V.), which shall +# act as a proxy defined in Section 6 of version 3 of the license. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License fo-r more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see . + +require_relative 'appimage-template/libs/builddocker.rb' +require 'fileutils' +require 'pty' + +if RUBY_VERSION =~ /1.9/ # assuming you're running Ruby ~1.9 + Encoding.default_external = Encoding::UTF_8 + Encoding.default_internal = Encoding::UTF_8 +end +setup_path = `pwd` +p setup_path +project = 'ring' +builder = CI.new +unless Dir.exist?('app') + Dir.mkdir('app') +end +unless Dir.exist?('appimage') + Dir.mkdir('appimage') +end +builder.run = [CI::Build.new(project)] +builder.cmd = %w[bash -c /in/scripts/setup.sh] +builder.create_container(project) diff --git a/ring-kde/scripts/ffmpeg.sh b/ring-kde/scripts/ffmpeg.sh new file mode 100644 index 0000000..e238d6c --- /dev/null +++ b/ring-kde/scripts/ffmpeg.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e +set -x + +function error_exit +{ + echo "$1" 1>&2 + exit 1 +} + + +if wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2; then + tar xjvf ffmpeg-snapshot.tar.bz2 +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + +if cd ffmpeg; then + ./configure --prefix="/opt/usr" --extra-ldflags="-L/opt/usr//lib -lstdc++ -lm -lrt -ldl" --extra-cflags="-I/opt/usr/include" --pkg-config-flags="--static" --enable-shared --enable-avfilter \ + --enable-gpl --enable-avresample --enable-avutil --enable-libx265 --enable-libvpx --enable-libx264 --disable-doc && \ + make -j4 && make install +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi diff --git a/ring-kde/scripts/ring.sh b/ring-kde/scripts/ring.sh new file mode 100644 index 0000000..e3226ae --- /dev/null +++ b/ring-kde/scripts/ring.sh @@ -0,0 +1,67 @@ +#!/bin/bash +set -e +set -x +export LD_LIBRARY_PATH=/opt/usr/lib:/opt/usr/library:/opt/usr/lib/x86_64-linux-gnu:/usr/lib:/usr/lib64 +export PKG_CONFIG="pkg-config --static" +export CPATH=/opt/usr/include:/opt/usr/include/corvusoft:/opt/usr/include/boost/system:/opt/usr/include/boost:/usr/include +export LDFLAGS="-L/opt/usr/library -L/opt/usr/lib $(shell pkg-config --cflags argon2) $LDFLAGS" +export CFLAGS="$(shell pkg-config --libs argon2) $CFLAGS" +cd /source/ +rm -rfv ring-daemon +git clone https://github.com/savoirfairelinux/ring-daemon +cd ring-daemon/contrib + +rm -rfv build +mkdir build +cd build +if ../bootstrap --prefix=/opt/usr --disable-restbed --disable-boost --enable-argon2; then + +make + +# That's all ! +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + +cd ../../ +if ./autogen.sh; then +./configure --prefix=/opt/usr +make +make install + +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi +cd ../../ +LIBRINGLIENT=`pwd`/ring-lrc +RING=/source/ring-kde +git clone https://gerrit-ring.savoirfairelinux.com/ring-lrc +cd $LIBRINGLIENT +mkdir build +cd build +if cmake .. -DCMAKE_INSTALL_PREFIX=/opt/usr; then +make -j8 +make install +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + +# git clone https://gerrit-ring.savoirfairelinux.com/ring-client-gnome +# cd ring-client-gnome +# mkdir build +# cd build +# cmake .. -DCMAKE_INSTALL_PREFIX=/opt/usr +# make +# sudo make install +git clone git://anongit.kde.org/ring-kde +cd ring-kde +mkdir build +cd build +cmake .. -DCMAKE_INSTALL_PREFIX=/app.Dir/usr -DCMAKE_BUILD_TYPE=Release +make +make install +function error_exit +{ + echo "$1" 1>&2 + exit 1 +} diff --git a/ring-kde/scripts/setup.sh b/ring-kde/scripts/setup.sh new file mode 100755 index 0000000..594889f --- /dev/null +++ b/ring-kde/scripts/setup.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Copyright (C) 2016 Scarlett Clark +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) version 3, or any +# later version accepted by the membership of KDE e.V. (or its +# successor approved by the membership of KDE e.V.), which shall +# act as a proxy defined in Section 6 of version 3 of the license. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License fo-r more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see . +export PATH=/opt/usr/bin:/home/jenkins/.rbenv/bin:/home/jenkins/.rbenv/shims:$PATH +export WORKSPACE=`pwd` +echo $WORKSPACE +add-apt-repository -y ppa:ubuntu-toolchain-r/test && apt-get update && apt-get -y install gcc-4.9 g++-4.9 +update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 +add-apt-repository -y ppa:gnome3-team/gnome3-staging +apt-get update + +cd /in/ && rspec appimage-template/spec/recipe_rspec.rb --fail-fast diff --git a/ring-kde/scripts/x264.sh b/ring-kde/scripts/x264.sh new file mode 100644 index 0000000..07c3155 --- /dev/null +++ b/ring-kde/scripts/x264.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -e +set -x +export LD_LIBRARY_PATH=/opt/usr/lib:/opt/usr/library:/opt/usr/lib/x86_64-linux-gnu:/usr/lib:/usr/lib64 +export PKG_CONFIG="pkg-config --static" +export CPATH=/opt/usr/include:/opt/usr/include/corvusoft:/opt/usr/include/boost:/usr/include +export LDFLAGS="-L/opt/usr/library $LDFLAGS" + +function error_exit +{ + echo "$1" 1>&2 + exit 1 +} + +if wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2; then + mkdir x264 && tar xjvf last_x264.tar.bz2 -C x264 --strip-components 1 +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi +if cd x264; then + ./configure --enable-static --enable-shared --prefix=/opt/usr + make -j4 && make install +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi diff --git a/ring-kde/scripts/x265.sh b/ring-kde/scripts/x265.sh new file mode 100644 index 0000000..57650c7 --- /dev/null +++ b/ring-kde/scripts/x265.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e +set -x + +function error_exit +{ + echo "$1" 1>&2 + exit 1 +} + +if wget http://ftp.videolan.org/pub/videolan/x265/x265_2.3.tar.gz; then + tar xvf x265_2.3.tar.gz +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + +if cd x265_2.3/build/linux; then + cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/opt/usr" -DENABLE_PIC=ON -DENABLE_SHARED=OFF ../../source + make -j4 && make install +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi diff --git a/ring-kde/setup.sh b/ring-kde/setup.sh new file mode 100755 index 0000000..3c14433 --- /dev/null +++ b/ring-kde/setup.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# +# Copyright (C) 2016 Scarlett Clark +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) version 3, or any +# later version accepted by the membership of KDE e.V. (or its +# successor approved by the membership of KDE e.V.), which shall +# act as a proxy defined in Section 6 of version 3 of the license. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License fo-r more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see . +set -e +set -x +export PATH=/opt/usr/bin:/root/.rbenv/bin:/root/.rbenv/shims:$PATH +export CPATH=/opt/usr/include/gstreamer-1.0:/opt/usr/include:/opt/usr/include/python3.5:/usr/include +ln -s /usr/bin/clang++-3.8 /usr/bin/clang++ +ln -s /usr/bin/clang-3.8 /usr/bin/clang +rm /usr/bin/python && ln -s /opt/usr/bin/python3 /usr/bin/python +# move me to jenkisnfile +rm -rfv /app.Dir/* + +cd ~ + +rbenv local 2.3.1 +bundle install + +wget https://github.com/probonopd/linuxdeployqt/releases/download/1/linuxdeployqt-1-x86_64.AppImage +chmod a+x linuxdeployqt-1-x86_64.AppImage + +function error_exit +{ + echo "$1" 1>&2 + exit 1 +} + +if rspec /in/tooling/aci/spec/setup_project_rspec.rb --fail-fast; then + echo "Setup Complete" +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + +if rspec /in/tooling/aci/spec/dependencies_rspec.rb --fail-fast; then + echo "Dependencies Complete" +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + +if rspec /in/tooling/aci/spec/project_rspec.rb --fail-fast; then + echo "Project Complete" +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + +if rspec /in/tooling/aci/spec/recipe_rspec.rb --fail-fast; then + echo "Recipe Complete" +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + +if rspec /in/tooling/aci/spec/create_appimage_rspec.rb --fail-fast; then + echo "Appimage Complete" +else + error_exit "$LINENO: An error has occurred.. Aborting." +fi + + +rm -rfv /source/*