From 491ca4a413b33edd394d1482d0dec41766791ca0 Mon Sep 17 00:00:00 2001 From: gitlab_ly Date: Wed, 9 Jun 2021 14:40:40 +0200 Subject: [PATCH] add packaging folder --- packaging/appimage/blue-recorder-appimage.sh | 112 +++++++++++++++++++ packaging/debian/changelog | 6 + packaging/debian/compat | 1 + packaging/debian/control | 13 +++ packaging/debian/copyright | 30 +++++ packaging/debian/rules | 24 ++++ packaging/debian/source/format | 1 + packaging/debian/watch | 3 + packaging/pkg/PKGBUILD | 41 +++++++ packaging/rpm/blue-recorder.spec | 61 ++++++++++ 10 files changed, 292 insertions(+) create mode 100755 packaging/appimage/blue-recorder-appimage.sh create mode 100755 packaging/debian/changelog create mode 100755 packaging/debian/compat create mode 100755 packaging/debian/control create mode 100755 packaging/debian/copyright create mode 100755 packaging/debian/rules create mode 100755 packaging/debian/source/format create mode 100755 packaging/debian/watch create mode 100755 packaging/pkg/PKGBUILD create mode 100755 packaging/rpm/blue-recorder.spec diff --git a/packaging/appimage/blue-recorder-appimage.sh b/packaging/appimage/blue-recorder-appimage.sh new file mode 100755 index 0000000..dd4b16e --- /dev/null +++ b/packaging/appimage/blue-recorder-appimage.sh @@ -0,0 +1,112 @@ +#!/bin/bash + +#dist=bionic change line 40+62. +pkg2appimageVersion="1806" +#AppImageKitVersion="12" +libnslversion="2.27" +debpkg="libjack-jackd2-0_1.9.12~dfsg-2_amd64.deb" +debpkg2="libc6_2.27-3ubuntu1.2_amd64.deb" + +#Download building tools. +if [[ -f /usr/bin/wget ]] +then + if [[ -f pkg2appimage-1806-x86_64.AppImage ]] + then + echo "pkg2appimage-$pkg2appimageVersion-x86_64.AppImage found" + else + wget "https://github.com/AppImage/pkg2appimage/releases/download/continuous/pkg2appimage-$pkg2appimageVersion-x86_64.AppImage" + fi +else + echo "please install wget" && exit +fi + +if [[ -f appimagetool-x86_64.AppImage ]] +then + echo "appimagetool-x86_64.AppImage found" +else + #wget "https://github.com/AppImage/AppImageKit/releases/download/$AppImageKitVersion/appimagetool-x86_64.AppImage" + wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" +fi + +#Make exec. +chmod +x "pkg2appimage-$pkg2appimageVersion-x86_64.AppImage" +chmod +x appimagetool-x86_64.AppImage + +#Create BlueRecorder.yml file. +cat > BlueRecorder.yml < blue-recorder.desktop < Thu, 29 Apr 2021 17:14:46 +0000 + diff --git a/packaging/debian/compat b/packaging/debian/compat new file mode 100755 index 0000000..ec63514 --- /dev/null +++ b/packaging/debian/compat @@ -0,0 +1 @@ +9 diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100755 index 0000000..5507f90 --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,13 @@ +Source: blue-recorder +Section: video +Priority: optional +Maintainer: Salem Yaslem +Standards-Version: 3.9.6 +Build-Depends: debhelper (>= 9.20120311), cargo, clang, libappindicator3-dev, gettext, build-essential +Homepage: https://github.com/xlmnxp/blue-recorder + +Package: blue-recorder +Architecture: amd64 +Depends: ffmpeg, libappindicator3-1, pulseaudio, x11-utils +Replaces: blue-recorder +Description: A simple desktop recorder for Linux systems. Built using Rust, GTK+ 3 and ffmpeg. It supports recording audio and video on almost all Linux interfaces with support for Wayland display server on GNOME session. diff --git a/packaging/debian/copyright b/packaging/debian/copyright new file mode 100755 index 0000000..e29f3e4 --- /dev/null +++ b/packaging/debian/copyright @@ -0,0 +1,30 @@ +# Salem Yaslem, 2021 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . */ + +On Debian systems, the complete text of the GNU General Public License +can be found in `/usr/share/common-licenses/GPL'. + +Manual Copyright (C) 1992, 1993, 1996, 2002, 2005-2014 Free Software +Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, +and with no Back-Cover Texts. A copy of the license is included +in the section entitled "GNU Free Documentation License". + +On Debian systems, the complete text of the GNU Free Documentation +License can be found in `/usr/share/common-licenses/GFDL'. diff --git a/packaging/debian/rules b/packaging/debian/rules new file mode 100755 index 0000000..19ac2b4 --- /dev/null +++ b/packaging/debian/rules @@ -0,0 +1,24 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_auto_clean: + cargo clean + + +override_dh_auto_build: + cargo build --release + + +override_dh_auto_install: + desktop-file-edit --set-icon=blue-recorder "data/blue-recorder.desktop" + install -Dm0644 "data/blue-recorder.desktop" "debian/blue-recorder/usr/share/applications/blue-recorder.desktop" + install -Dm04755 "target/release/blue-recorder" "debian/blue-recorder/opt/blue-recorder/blue-recorder" + cp -r "data" "debian/blue-recorder/opt/blue-recorder/data/" + cp -r "po" "debian/blue-recorder/opt/blue-recorder/po/" + mkdir -p "debian/blue-recorder/usr/bin/" + ln -s "/opt/blue-recorder/blue-recorder" + mv blue-recorder "debian/blue-recorder/usr/bin" + install -Dm0644 "interfaces/main.ui" "debian/blue-recorder/opt/blue-recorder/interfaces/main.ui" + install -Dm0644 "data/blue-recorder.svg" "debian/blue-recorder/usr/share/pixmaps/blue-recorder.svg" + diff --git a/packaging/debian/source/format b/packaging/debian/source/format new file mode 100755 index 0000000..163aaf8 --- /dev/null +++ b/packaging/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/packaging/debian/watch b/packaging/debian/watch new file mode 100755 index 0000000..1abf6ca --- /dev/null +++ b/packaging/debian/watch @@ -0,0 +1,3 @@ +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/-$1\.tar\.gz/ \ + https://github.com/xlmnxp/blue-recorder/tags .*/v?(\d\S+)\.tar\.gz diff --git a/packaging/pkg/PKGBUILD b/packaging/pkg/PKGBUILD new file mode 100755 index 0000000..b25cdc5 --- /dev/null +++ b/packaging/pkg/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Salem Yaslem + +pkgname="blue-recorder" +pkgver=0.1.0.36.g4ad1619 +pkgrel=1 +pkgdesc="A simple desktop recorder for Linux systems. Built using Rust, GTK+ 3 and ffmpeg. It supports recording audio and video on almost all Linux interfaces with support for Wayland display server on GNOME session." +arch=("x86_64") +url="https://github.com/xlmnxp/blue-recorder" +license=("GPL3") +depends=("ffmpeg" "libappindicator-gtk3" "gtk3" "glib2" "xorg-xwininfo" "pulseaudio") +optdepends=() +makedepends=("rust" "cargo" "git" "libappindicator-gtk3" "clang" "gettext") +provides=("blue-recorder") +conflicts=("blue-recorder") +source=("$pkgname::git+https://github.com/xlmnxp/blue-recorder.git") +sha256sums=("SKIP") + +prepare() { + cd $pkgname + sed -i 's+Icon=${SNAP}/meta/gui/blue-recorder.png+Icon=blue-recorder+g' data/blue-recorder.desktop +} + +build() + { + cd $pkgname + cargo build --release --locked --all-features --target-dir=target + } + +package() { + cd "$pkgname" + + desktop-file-install -m 644 --dir "$pkgdir/usr/share/applications/" "$srcdir/$pkgname/data/blue-recorder.desktop" + + install -Dm755 "target/release/blue-recorder" "$pkgdir/opt/blue-recorder/blue-recorder" + mkdir -p "$pkgdir/usr/bin/" + ln -s "/opt/blue-recorder/blue-recorder" "$pkgdir/usr/bin/blue-recorder" + install -Dm644 "interfaces/main.ui" "$pkgdir/opt/blue-recorder/interfaces/main.ui" + cp -r "data" "$pkgdir/opt/blue-recorder/data/" + install -Dm644 "data/blue-recorder.png" "$pkgdir/usr/share/pixmaps/blue-recorder.png" + cp -r "po" "$pkgdir/opt/blue-recorder/po/" +} diff --git a/packaging/rpm/blue-recorder.spec b/packaging/rpm/blue-recorder.spec new file mode 100755 index 0000000..a3175f8 --- /dev/null +++ b/packaging/rpm/blue-recorder.spec @@ -0,0 +1,61 @@ +Name: blue-recorder +Version: 1.3.2 +Release: 1%{?dist} +Summary: A simple desktop recorder for Linux systems. +License: GPL-3.0-or-later +URL: https://github.com/xlmnxp/blue-recorder +VCS: https://github.com/xlmnxp/blue-recorder.git +Source: blue-recorder-%{version}.tar + + +Requires: ffmpeg +Requires: libappindicator-gtk3 +Requires: gtk3 +Requires: glib2 +Requires: xwininfo +Requires: pipewire-pulseaudio + +BuildRequires: rust +BuildRequires: cargo +BuildRequires: clang +BuildRequires: gettext +BuildRequires: libappindicator-gtk3-devel + + +%description +A simple desktop recorder for Linux systems. Built using Rust, GTK+ 3 and ffmpeg. It supports recording audio and video on almost all Linux interfaces with support for Wayland display server on GNOME session. + +%global debug_package %{nil} +%prep +%setup -q -n blue-recorder-%{version} + +%build +cargo build --release + +%install +cat > blue-recorder <