mirror of
https://github.com/xlmnxp/blue-recorder.git
synced 2024-11-23 17:13:11 +03:00
add packaging folder
This commit is contained in:
parent
8aaa949c6c
commit
541ac93562
112
packaging/appimage/blue-recorder-appimage.sh
Executable file
112
packaging/appimage/blue-recorder-appimage.sh
Executable file
@ -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 <<EOF
|
||||
app: BlueRecorder
|
||||
|
||||
ingredients:
|
||||
dist: bionic
|
||||
packages:
|
||||
- ffmpeg
|
||||
- libappindicator3-1
|
||||
- x11-utils
|
||||
- pulseaudio
|
||||
|
||||
script:
|
||||
- mkdir -p BlueRecorder.AppDir/usr/bin
|
||||
- git clone https://github.com/xlmnxp/blue-recorder.git
|
||||
- cd blue-recorder
|
||||
- cargo build --release
|
||||
- cd ..
|
||||
- cp -r "blue-recorder/po/" "BlueRecorder.AppDir/usr/bin/po/"
|
||||
- cp -r "blue-recorder/interfaces/" "BlueRecorder.AppDir/usr/bin/interfaces/"
|
||||
- cp -r "blue-recorder/data/" "BlueRecorder.AppDir/usr/bin/data/"
|
||||
- cp "blue-recorder/target/release/blue-recorder" "BlueRecorder.AppDir/usr/bin/blue-recorder"
|
||||
- cd BlueRecorder.AppDir
|
||||
- ln -s "usr/bin/data/blue-recorder.svg" "blue-recorder.svg"
|
||||
|
||||
|
||||
sources:
|
||||
- deb http://ly.archive.ubuntu.com/ubuntu/ bionic main universe
|
||||
|
||||
script:
|
||||
- cat > blue-recorder.desktop <<EOF
|
||||
- [Desktop Entry]
|
||||
- Type=Application
|
||||
- Name=Blue Recorder
|
||||
- Icon=blue-recorder
|
||||
- Exec=blue-recorder
|
||||
- Categories=AudioVideo;GTK;
|
||||
- Comment=A simple desktop recorder for Linux systems. Built using GTK+ 3 and ffmpeg.
|
||||
- EOF
|
||||
EOF
|
||||
|
||||
#Building AppImage using pkg2appimage.
|
||||
"$PWD/pkg2appimage-$pkg2appimageVersion-x86_64.AppImage" BlueRecorder.yml
|
||||
rm -rf "$PWD/out"
|
||||
|
||||
#Installing libjack to AppDir.
|
||||
if [[ -f $debpkg ]]
|
||||
then
|
||||
echo "$debpkg was found"
|
||||
else
|
||||
wget "http://mirrors.kernel.org/ubuntu/pool/main/j/jackd2/$debpkg"
|
||||
dpkg-deb -x "$debpkg" "$PWD"
|
||||
fi
|
||||
mkdir -p "BlueRecorder/BlueRecorder.AppDir/usr/lib/x86_64-linux-gnu/"
|
||||
cp "usr/lib/x86_64-linux-gnu/libjack.so.0" "BlueRecorder/BlueRecorder.AppDir/usr/lib/x86_64-linux-gnu/libjack.so.0"
|
||||
cp "usr/lib/x86_64-linux-gnu/libjack.so.0.1.0" "BlueRecorder/BlueRecorder.AppDirusr/lib/x86_64-linux-gnu/libjack.so.0.1.0"
|
||||
cp "usr/lib/x86_64-linux-gnu/libjacknet.so.0" "BlueRecorder/BlueRecorder.AppDir/usr/lib/x86_64-linux-gnu/libjacknet.so.0"
|
||||
cp "usr/lib/x86_64-linux-gnu/libjacknet.so.0.1.0" "BlueRecorder/BlueRecorder.AppDir/usr/lib/x86_64-linux-gnu/libjacknet.so.0.1.0"
|
||||
cp "usr/lib/x86_64-linux-gnu/libjackserver.so.0" "BlueRecorder/BlueRecorder.AppDir/usr/lib/x86_64-linux-gnu/libjackserver.so.0"
|
||||
cp "usr/lib/x86_64-linux-gnu/libjackserver.so.0.1.0" "BlueRecorder/BlueRecorder.AppDir/usr/lib/x86_64-linux-gnu/libjackserver.so.0.1.0"
|
||||
|
||||
#Installing libnsl to AppDir.
|
||||
if [[ -f $debpkg2 ]]
|
||||
then
|
||||
echo "$debpkg2 found"
|
||||
else
|
||||
wget "http://security.ubuntu.com/ubuntu/pool/main/g/glibc/$debpkg2"
|
||||
dpkg-deb -x "$debpkg2" "$PWD"
|
||||
fi
|
||||
mkdir -p "BlueRecorder/BlueRecorder.AppDir/lib/x86_64-linux-gnu/"
|
||||
cp "lib/x86_64-linux-gnu/libnsl.so.1" "BlueRecorder/BlueRecorder.AppDir/lib/x86_64-linux-gnu/libnsl.so.1"
|
||||
cp "lib/x86_64-linux-gnu/libnsl-$libnslversion.so" "BlueRecorder/BlueRecorder.AppDir/lib/x86_64-linux-gnu/libnsl-$libnslversion.so"
|
||||
|
||||
#Building AppImage using appimagetool.
|
||||
"$PWD/appimagetool-x86_64.AppImage" "BlueRecorder/BlueRecorder.AppDir"
|
||||
rm -rf "$PWD/BlueRecorder/blue-recorder"
|
||||
|
||||
|
6
packaging/debian/changelog
Executable file
6
packaging/debian/changelog
Executable file
@ -0,0 +1,6 @@
|
||||
blue-recorder (1.3.2) stable; urgency=low
|
||||
|
||||
* initial release
|
||||
|
||||
-- root <root@8bff27fff88c> Thu, 29 Apr 2021 17:14:46 +0000
|
||||
|
1
packaging/debian/compat
Executable file
1
packaging/debian/compat
Executable file
@ -0,0 +1 @@
|
||||
9
|
13
packaging/debian/control
Executable file
13
packaging/debian/control
Executable file
@ -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.
|
30
packaging/debian/copyright
Executable file
30
packaging/debian/copyright
Executable file
@ -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 <http://www.gnu.org/licenses/>. */
|
||||
|
||||
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'.
|
24
packaging/debian/rules
Executable file
24
packaging/debian/rules
Executable file
@ -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"
|
||||
|
1
packaging/debian/source/format
Executable file
1
packaging/debian/source/format
Executable file
@ -0,0 +1 @@
|
||||
3.0 (quilt)
|
3
packaging/debian/watch
Executable file
3
packaging/debian/watch
Executable file
@ -0,0 +1,3 @@
|
||||
version=4
|
||||
opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/<project>-$1\.tar\.gz/ \
|
||||
https://github.com/xlmnxp/blue-recorder/tags .*/v?(\d\S+)\.tar\.gz
|
41
packaging/pkg/PKGBUILD
Executable file
41
packaging/pkg/PKGBUILD
Executable file
@ -0,0 +1,41 @@
|
||||
# Maintainer: Salem Yaslem <s@sy.sa>
|
||||
|
||||
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/"
|
||||
}
|
61
packaging/rpm/blue-recorder.spec
Executable file
61
packaging/rpm/blue-recorder.spec
Executable file
@ -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 <<EOF
|
||||
#!/bin/bash
|
||||
exec /opt/blue-recorder/blue-recorder
|
||||
EOF
|
||||
desktop-file-edit --set-icon=blue-recorder data/blue-recorder.desktop
|
||||
install -p -D -m755 blue-recorder %{buildroot}%{_bindir}/blue-recorder
|
||||
install -p -D -m644 data/blue-recorder.desktop %{buildroot}%{_datadir}/applications/blue-recorder.desktop
|
||||
install -p -D -m644 data/blue-recorder.svg %{buildroot}%{_datadir}/pixmaps/blue-recorder.svg
|
||||
install -p -D -m644 interfaces/main.ui %{buildroot}/opt/blue-recorder/interfaces/main.ui
|
||||
cp -r data %{buildroot}/opt/blue-recorder/data
|
||||
cp -r po %{buildroot}/opt/blue-recorder/po
|
||||
install -p -D -m755 target/release/blue-recorder %{buildroot}/opt/blue-recorder/blue-recorder
|
||||
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/blue-recorder.desktop
|
||||
|
||||
%files
|
||||
%{_bindir}/blue-recorder
|
||||
%{_datadir}/applications/blue-recorder.desktop
|
||||
%{_datadir}/pixmaps/blue-recorder.svg
|
||||
%dir /opt/blue-recorder/
|
||||
/opt/blue-recorder/interfaces/main.ui
|
||||
/opt/blue-recorder/data
|
||||
/opt/blue-recorder/po
|
||||
/opt/blue-recorder/blue-recorder
|
Loading…
Reference in New Issue
Block a user