You've already forked open-video-downloader-appimage
first commit
This commit is contained in:
22
.SRCINFO
22
.SRCINFO
@@ -1,17 +1,19 @@
|
|||||||
pkgbase = open-video-downloader-appimage
|
pkgbase = open-video-downloader-appimage
|
||||||
pkgdesc = A cross-platform GUI for youtube-dl made in Electron and node.js
|
pkgdesc = A cross-platform GUI for youtube-dl made in Rust with Tauri and Vue + Typescript
|
||||||
pkgver = 2.4.10
|
pkgver = 3.2.0
|
||||||
pkgrel = 3
|
pkgrel = 1
|
||||||
url = https://github.com/StefanLobbenmeier/youtube-dl-gui
|
url = https://github.com/jely2002/youtube-dl-gui
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
license = AGPL3
|
license = AGPL3
|
||||||
depends = zlib
|
provides = open-video-downloader
|
||||||
depends = glibc
|
|
||||||
depends = python-mutagen
|
|
||||||
conflicts = open-video-downloader
|
conflicts = open-video-downloader
|
||||||
conflicts = youtube-dl-gui
|
|
||||||
options = !strip
|
options = !strip
|
||||||
source = open-video-downloader-2.4.10.AppImage::https://github.com/StefanLobbenmeier/youtube-dl-gui/releases/download/v2.4.10/Open-Video-Downloader-2.4.10.AppImage
|
options = !debug
|
||||||
sha256sums = e99cf7780eebbe74a1e45cbac822f965c7e7299193adce39b37240d75d8e2389
|
source = open-video-downloader-3.2.0.AppImage::https://github.com/jely2002/youtube-dl-gui/releases/download/app-v3.2.0/Open.Video.Downloader_3.2.0_amd64.AppImage
|
||||||
|
source = open-video-downloader.desktop
|
||||||
|
source = open-video-downloader.png
|
||||||
|
sha256sums = dffee4cfef50e8edb9be4136d5650b123e49b8a1ffd959ff3d2c42502fc391e3
|
||||||
|
sha256sums = 217d02211a51853d920e53558cd9cbd7a753ba9f2036ddaa0ec4e00a77351b6c
|
||||||
|
sha256sums = 188992cbe106d0dd6e7b9c219020118a1246c3657c828f86e463617c3d6214cb
|
||||||
|
|
||||||
pkgname = open-video-downloader-appimage
|
pkgname = open-video-downloader-appimage
|
||||||
|
|||||||
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# AppImages
|
||||||
|
*.AppImage
|
||||||
|
# built packages
|
||||||
|
*.pkg.tar.zst
|
||||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2026 Bryan Joshua Pedini
|
||||||
|
|
||||||
|
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.
|
||||||
56
PKGBUILD
56
PKGBUILD
@@ -1,27 +1,41 @@
|
|||||||
# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
|
# Maintainer: Bryan Joshua Pedini <bryan [at] pedini [dot] dev>
|
||||||
pkgname="open-video-downloader-appimage"
|
|
||||||
pkgver=2.4.10
|
_pkgname="open-video-downloader"
|
||||||
pkgrel=3
|
_srcname="youtube-dl-gui"
|
||||||
pkgdesc="A cross-platform GUI for youtube-dl made in Electron and node.js"
|
_srcmntr="jely2002"
|
||||||
arch=('x86_64')
|
|
||||||
url="https://github.com/StefanLobbenmeier/youtube-dl-gui"
|
pkgname="${_pkgname}-appimage"
|
||||||
license=('AGPL3')
|
pkgver="3.2.0"
|
||||||
conflicts=("${pkgname%-appimage}" "youtube-dl-gui")
|
pkgrel="1"
|
||||||
depends=('zlib' 'glibc' 'python-mutagen')
|
pkgdesc="A cross-platform GUI for youtube-dl made in Rust with Tauri and Vue + Typescript"
|
||||||
options=('!strip')
|
url="https://github.com/${_srcmntr}/${_srcname}"
|
||||||
_install_path="/opt/appimages"
|
arch=("x86_64")
|
||||||
source=("${pkgname%-appimage}-${pkgver}.AppImage::${url}/releases/download/v${pkgver}/Open-Video-Downloader-${pkgver}.AppImage")
|
license=("AGPL3")
|
||||||
sha256sums=('e99cf7780eebbe74a1e45cbac822f965c7e7299193adce39b37240d75d8e2389')
|
options=("!strip" "!debug")
|
||||||
|
_archive="${_pkgname}-${pkgver}.AppImage"
|
||||||
|
source=(
|
||||||
|
"${_archive}::https://github.com/${_srcmntr}/${_srcname}/releases/download/app-v${pkgver}/Open.Video.Downloader_${pkgver}_amd64.AppImage"
|
||||||
|
"${_pkgname}.desktop"
|
||||||
|
"${_pkgname}.png"
|
||||||
|
)
|
||||||
|
conflicts=("open-video-downloader")
|
||||||
|
provides=("open-video-downloader")
|
||||||
|
|
||||||
|
sha256sums=(
|
||||||
|
"dffee4cfef50e8edb9be4136d5650b123e49b8a1ffd959ff3d2c42502fc391e3"
|
||||||
|
"217d02211a51853d920e53558cd9cbd7a753ba9f2036ddaa0ec4e00a77351b6c"
|
||||||
|
"188992cbe106d0dd6e7b9c219020118a1246c3657c828f86e463617c3d6214cb"
|
||||||
|
)
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
chmod a+x "${srcdir}/${pkgname%-appimage}-${pkgver}.AppImage"
|
sed -i -e '/^X-AppImage-/d' "${srcdir}/${_pkgname}.desktop"
|
||||||
"${srcdir}/${pkgname%-appimage}-${pkgver}.AppImage" --appimage-extract > /dev/null
|
|
||||||
sed "s|AppRun|${_install_path}/${pkgname%-appimage}.AppImage|g;s|youtube-dl-gui|${pkgname%-appimage}|g;s|X-utility|Utility|g" \
|
|
||||||
-i "${srcdir}/squashfs-root/${pkgname%-appimage}.desktop"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
install -Dm755 "${srcdir}/${pkgname%-appimage}-${pkgver}.AppImage" "${pkgdir}/${_install_path}/${pkgname%-appimage}.AppImage"
|
install -Dm755 "${srcdir}/${_archive}" \
|
||||||
install -Dm644 "${srcdir}/squashfs-root/usr/share/icons/hicolor/0x0/apps/${pkgname%-appimage}.png" -t "${pkgdir}/usr/share/pixmaps"
|
"${pkgdir}/usr/bin/${_pkgname}"
|
||||||
install -Dm644 "${srcdir}/squashfs-root/${pkgname%-appimage}.desktop" -t "${pkgdir}/usr/share/applications"
|
install -Dm644 "$srcdir/${_pkgname}.desktop" \
|
||||||
|
"$pkgdir/usr/share/applications/${_pkgname}.desktop"
|
||||||
|
install -Dm644 "$srcdir/${_pkgname}.png" \
|
||||||
|
"$pkgdir/usr/share/icons/hicolor/256x256/apps/${_pkgname}.png"
|
||||||
}
|
}
|
||||||
2
README.md
Normal file
2
README.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# open-video-downloader-appimage
|
||||||
|
PKGBUILD script for Arch Linux for `open-video-downloader-appimage` package
|
||||||
13
open-video-downloader.desktop
Normal file
13
open-video-downloader.desktop
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Categories=
|
||||||
|
Comment=Download videos from all over the web.
|
||||||
|
Exec=open-video-downloader
|
||||||
|
StartupWMClass=open-video-downloader
|
||||||
|
Icon=open-video-downloader
|
||||||
|
Name=Open Video Downloader
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
|
||||||
|
X-AppImage-Name=Open_Video_Downloader
|
||||||
|
X-AppImage-Version=UNKNOWN
|
||||||
|
X-AppImage-Arch=x86_64
|
||||||
BIN
open-video-downloader.png
Normal file
BIN
open-video-downloader.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
101
push.sh
Executable file
101
push.sh
Executable file
@@ -0,0 +1,101 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
gui=true
|
||||||
|
desktop="Open Video Downloader.desktop"
|
||||||
|
icon="open-video-downloader.png"
|
||||||
|
|
||||||
|
# Get version
|
||||||
|
oldver=$(grep -E "^pkgver=" PKGBUILD | sed 's/pkgver="//;s/"//')
|
||||||
|
if [ $# -eq 1 ]; then
|
||||||
|
pkgver="${1}"
|
||||||
|
else
|
||||||
|
echo "Old version: ${oldver}"
|
||||||
|
read -p "New version: " pkgver
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check version
|
||||||
|
if [ "${pkgver}" = "${oldver}" ] && [ -z "${FORCE_REBUILD}" ]; then
|
||||||
|
echo >/dev/stderr "Error: same (old) version specified - update aborted"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get variables from PKGBUILD
|
||||||
|
url=$(sed -n '/^source=(/,/)/p' PKGBUILD | grep -oE 'https?://[^"]+')
|
||||||
|
pkgname=$(grep -E "^pkgname=" PKGBUILD | sed 's/pkgname="//;s/"//')
|
||||||
|
_pkgname=$(grep -E "^_pkgname=" PKGBUILD | sed 's/_pkgname="//;s/"//')
|
||||||
|
_srcname=$(grep -E "^_srcname=" PKGBUILD | sed 's/_srcname="//;s/"//')
|
||||||
|
_srcmntr=$(grep -E "^_srcmntr=" PKGBUILD | sed 's/_srcmntr="//;s/"//')
|
||||||
|
_archive=$(grep -E "^_archive=" PKGBUILD | sed 's/_archive="//;s/"//')
|
||||||
|
pkgrel=$(grep -E "^pkgrel=" PKGBUILD | sed 's/pkgrel="//;s/"//')
|
||||||
|
aur_url="ssh://aur@aur.archlinux.org/${pkgname}.git"
|
||||||
|
if [ "${gui}" = "true" ] && [ -n "${_pkgname}" ]; then
|
||||||
|
newdesktop="${_pkgname}.desktop"
|
||||||
|
newicon="${_pkgname}.png"
|
||||||
|
else
|
||||||
|
newdesktop="${package}.desktop"
|
||||||
|
newicon="${package}.png"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Perform variable substitution
|
||||||
|
url="${url//\$\{pkgname\}/$pkgname}"
|
||||||
|
url="${url//\$\{_pkgname\}/$_pkgname}"
|
||||||
|
url="${url//\$\{_srcname\}/$_srcname}"
|
||||||
|
url="${url//\$\{_srcmntr\}/$_srcmntr}"
|
||||||
|
url="${url//\$\{pkgver\}/$pkgver}"
|
||||||
|
_archive="${_archive//\$\{pkgname\}/$pkgname}"
|
||||||
|
_archive="${_archive//\$\{_pkgname\}/$_pkgname}"
|
||||||
|
_archive="${_archive//\$\{pkgver\}/$pkgver}"
|
||||||
|
aur_url="${aur_url//\$\{_pkgname\}/$_pkgname}"
|
||||||
|
|
||||||
|
# Download archive
|
||||||
|
wget -O ${_archive} "${url}"
|
||||||
|
# Extract icon / .desktop files if appimage
|
||||||
|
if printf '%s' "${_archive,,}" | grep -qi "appimage"; then
|
||||||
|
chmod +x "${_archive}"
|
||||||
|
"./${_archive}" --appimage-extract
|
||||||
|
cp "squashfs-root/${desktop}" "${newdesktop}"
|
||||||
|
cp "squashfs-root/${icon}" "${newicon}"
|
||||||
|
if [ -L "squashfs-root" ]; then
|
||||||
|
rm -rf $(readlink -f squashfs-root) squashfs-root
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# Calculate checksums
|
||||||
|
sha256bin=$(sha256sum ${_archive} | awk '{print $1}')
|
||||||
|
if [ "${gui}" = "true" ]; then
|
||||||
|
sha256dsk=$(sha256sum ${newdesktop} | awk '{print $1}')
|
||||||
|
sha256ico=$(sha256sum ${newicon} | awk '{print $1}')
|
||||||
|
fi
|
||||||
|
# Yoink the archive - unnecessary anymore
|
||||||
|
rm -f ${_archive}
|
||||||
|
|
||||||
|
# Update PKGBUILD with new values
|
||||||
|
sed -i -E "s/^pkgver=\"[^\"]+\"/pkgver=\"$pkgver\"/" PKGBUILD
|
||||||
|
if [ "${gui}" = "true" ]; then
|
||||||
|
sed -i '/^sha256sums=(/,/^)/c\
|
||||||
|
sha256sums=(\
|
||||||
|
"'"$sha256bin"'"\
|
||||||
|
"'"$sha256dsk"'"\
|
||||||
|
"'"$sha256ico"'"\
|
||||||
|
)' PKGBUILD
|
||||||
|
else
|
||||||
|
sed -i -E "s/^sha256sums=\(\"[^\"]+\"\)/sha256sums=(\"$sha256bin\")/" PKGBUILD
|
||||||
|
fi
|
||||||
|
# Update .SRCINFO
|
||||||
|
makepkg --printsrcinfo > .SRCINFO
|
||||||
|
|
||||||
|
# Create git message with correct variable
|
||||||
|
if [ -n "$_pkgname" ]; then
|
||||||
|
commit_msg="Updated ${pkgname//\$\{_pkgname\}/_pkgname} to ${pkgver}-${pkgrel}"
|
||||||
|
else
|
||||||
|
commit_msg="Updated ${pkgname} to ${pkgver}-${pkgrel}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${NO_GIT_PUSH}" ]; then
|
||||||
|
# In case of fire, git commit, git push, leave building
|
||||||
|
git add .
|
||||||
|
git commit -m "Updated ${pkgname} to ${pkgver}-${pkgrel}"
|
||||||
|
git remote add aur ${aur_url}
|
||||||
|
git push origin main
|
||||||
|
git push aur main:master
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user