From 9cb8018be57b4a6c0b27673dbe6c0c08fd5ad695 Mon Sep 17 00:00:00 2001 From: madomado Date: Tue, 11 Jun 2024 22:59:43 +0800 Subject: [PATCH] chore(sync): frawhide -> f39 (#1348) --- anda/apps/anki-bin/anki-bin.spec | 2 +- anda/apps/anki-qt5/anki-qt5.spec | 2 +- anda/apps/anki/anki.spec | 2 +- anda/apps/armcord-bin/armcord-bin.spec | 1 + anda/apps/armcord/armcord.spec | 3 +- .../discord-canary-openasar.spec | 2 +- anda/apps/discord-canary/discord-canary.spec | 2 +- anda/apps/mpv/mpv-nightly.spec | 4 +- .../prismlauncher-nightly.spec | 4 +- anda/langs/go/albius/albius.spec | 38 ++++ anda/langs/go/albius/anda.hcl | 5 + anda/langs/go/albius/update.rhai | 1 + anda/langs/nim/nim-nightly/nim-nightly.spec | 4 +- .../vala-language-server-nightly.spec | 4 +- .../langs/vala/vala-nightly/vala-nightly.spec | 4 +- anda/langs/vala/vala-panel/vala-panel.spec | 2 +- anda/lib/openh264/anda.hcl | 5 + anda/lib/openh264/gst-p-bad-cleanup.sh | 201 +++++++++++++++++ anda/lib/openh264/hardcode-openh264-dep.patch | 14 ++ anda/lib/openh264/openh264.spec | 213 ++++++++++++++++++ anda/lib/openh264/pre.rhai | 14 ++ anda/lib/openh264/update.rhai | 6 + anda/lib/tdlib/tdlib-nightly.spec | 4 +- anda/system/limine/limine.spec | 4 +- anda/tools/electron/electron.spec | 2 +- anda/tools/sbctl/anda.hcl | 5 + anda/tools/sbctl/sbctl.spec | 85 +++++++ anda/tools/sbctl/update.rhai | 1 + anda/tools/yt-dlp/yt-dlp-nightly.spec | 6 +- 29 files changed, 616 insertions(+), 24 deletions(-) create mode 100644 anda/langs/go/albius/albius.spec create mode 100644 anda/langs/go/albius/anda.hcl create mode 100644 anda/langs/go/albius/update.rhai create mode 100644 anda/lib/openh264/anda.hcl create mode 100644 anda/lib/openh264/gst-p-bad-cleanup.sh create mode 100644 anda/lib/openh264/hardcode-openh264-dep.patch create mode 100644 anda/lib/openh264/openh264.spec create mode 100644 anda/lib/openh264/pre.rhai create mode 100644 anda/lib/openh264/update.rhai create mode 100644 anda/tools/sbctl/anda.hcl create mode 100644 anda/tools/sbctl/sbctl.spec create mode 100644 anda/tools/sbctl/update.rhai diff --git a/anda/apps/anki-bin/anki-bin.spec b/anda/apps/anki-bin/anki-bin.spec index 5a4212ad6d..677ef037ce 100644 --- a/anda/apps/anki-bin/anki-bin.spec +++ b/anda/apps/anki-bin/anki-bin.spec @@ -1,5 +1,5 @@ Name: anki-bin -Version: 24.06 +Version: 24.06.2 Release: 1%?dist Summary: Flashcard program for using space repetition learning (Installed with wheel) License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 diff --git a/anda/apps/anki-qt5/anki-qt5.spec b/anda/apps/anki-qt5/anki-qt5.spec index f6d10294fd..049a7b995e 100644 --- a/anda/apps/anki-qt5/anki-qt5.spec +++ b/anda/apps/anki-qt5/anki-qt5.spec @@ -1,5 +1,5 @@ Name: anki-qt5 -Version: 24.06 +Version: 24.06.2 Release: 1%?dist Summary: Flashcard program for using space repetition learning License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 diff --git a/anda/apps/anki/anki.spec b/anda/apps/anki/anki.spec index bb7addb01a..48ab98209d 100644 --- a/anda/apps/anki/anki.spec +++ b/anda/apps/anki/anki.spec @@ -1,5 +1,5 @@ Name: anki -Version: 24.06 +Version: 24.06.2 Release: 1%?dist Summary: Flashcard program for using space repetition learning License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 diff --git a/anda/apps/armcord-bin/armcord-bin.spec b/anda/apps/armcord-bin/armcord-bin.spec index 7a221da990..4c1cfa9459 100644 --- a/anda/apps/armcord-bin/armcord-bin.spec +++ b/anda/apps/armcord-bin/armcord-bin.spec @@ -26,6 +26,7 @@ Source2: https://raw.githubusercontent.com/ArmCord/ArmCord/v%version/README.md Requires: electron xdg-utils ExclusiveArch: x86_64 aarch64 armv7l Conflicts: armcord +BuildRequires: add-determinism %description ArmCord is a custom client designed to enhance your Discord experience diff --git a/anda/apps/armcord/armcord.spec b/anda/apps/armcord/armcord.spec index 68d6b62828..7779369ac8 100644 --- a/anda/apps/armcord/armcord.spec +++ b/anda/apps/armcord/armcord.spec @@ -9,7 +9,7 @@ URL: https://github.com/ArmCord/ArmCord Group: Applications/Internet Source1: launch.sh Requires: electron xdg-utils -BuildRequires: nodejs-npm git +BuildRequires: nodejs-npm git add-determinism Conflicts: armcord-bin BuildArch: noarch @@ -18,6 +18,7 @@ ArmCord is a custom client designed to enhance your Discord experience while keeping everything lightweight. %prep +rm -rf * git clone %url . git checkout v%version diff --git a/anda/apps/discord-canary-openasar/discord-canary-openasar.spec b/anda/apps/discord-canary-openasar/discord-canary-openasar.spec index 4ef5dfd08d..8114ae53c3 100644 --- a/anda/apps/discord-canary-openasar/discord-canary-openasar.spec +++ b/anda/apps/discord-canary-openasar/discord-canary-openasar.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-canary-openasar -Version: 0.0.403 +Version: 0.0.412 Release: 1%?dist Summary: A snappier Discord rewrite with features like further customization and theming License: MIT AND https://discord.com/terms diff --git a/anda/apps/discord-canary/discord-canary.spec b/anda/apps/discord-canary/discord-canary.spec index 7f0dc5dad8..fee33bf756 100644 --- a/anda/apps/discord-canary/discord-canary.spec +++ b/anda/apps/discord-canary/discord-canary.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-canary -Version: 0.0.403 +Version: 0.0.412 Release: 1%?dist Summary: Free Voice and Text Chat for Gamers URL: discord.com diff --git a/anda/apps/mpv/mpv-nightly.spec b/anda/apps/mpv/mpv-nightly.spec index 5e92fbdb33..ac6ef8c6bc 100644 --- a/anda/apps/mpv/mpv-nightly.spec +++ b/anda/apps/mpv/mpv-nightly.spec @@ -1,6 +1,6 @@ -%global commit 943a50b300a081bb223325295040846fe435a861 +%global commit 5158a3d779ed5b6bcd41b4a0573847abc08dcb66 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20240504 +%global commit_date 20240610 %global ver v0.38.0 Name: mpv-nightly diff --git a/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec b/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec index 02ff23b5c3..e98b7c1dcb 100644 --- a/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec +++ b/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec @@ -1,13 +1,13 @@ %global real_name prismlauncher %global nice_name PrismLauncher -%global commit bfac12604e9cd0884987ca89f34a455cf16c543c +%global commit 6b1c4981e7032a044a5d77649d0d264831672cd5 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f %global quazip_commit 6117161af08e366c37499895b00ef62f93adc345 %global tomlplusplus_commit 7eb2ffcc09f8e9890dc0b77ff8ab00fc53b1f2b8 -%global commit_date 20240501 +%global commit_date 20240611 %global snapshot_info %{commit_date}.%{shortcommit} %bcond_without qt6 diff --git a/anda/langs/go/albius/albius.spec b/anda/langs/go/albius/albius.spec new file mode 100644 index 0000000000..12350b0e7f --- /dev/null +++ b/anda/langs/go/albius/albius.spec @@ -0,0 +1,38 @@ +%define debug_package %nil +%global commit 688ca6ae29de89174794a48be61ecd0fb1111c96 +%global commit_date 20240430 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: albius +Version: %date.%shortcommit +Release: 1%?dist +Summary: A Linux installer backend with support for SquashFS and OCI installations +License: GPL-3.0 +URL: https://github.com/Vanilla-OS/Albius +Source0: %url/archive/%commit/albius-%commit.tar.gz +BuildRequires: go anda-srpm-macros btrfs-progs-devel pkgconfig(devmapper) pkgconfig(gpgme) lvm2 gcc + +%description +Albius is a Linux installer backend originally designed for Vanilla OS, +but capable of handling any Linux distribution that uses either Squashfs +or OCI images for distributing the base system. Albius is written entirely +in Go and uses a recipe system (see "recipes" subsection) for describing +operations, mountpoints and options. + +%prep +%autosetup -n Albius-%commit +go mod download + +%build +mkdir -p build/bin +go build -ldflags "-B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -s -w" -buildmode=pie -o build/bin/albius . + +%install +mkdir -p %{buildroot}%{_bindir}/ +install -pm755 build/bin/albius %{buildroot}%{_bindir}/ + +%files +%_bindir/albius + +%changelog +%autochangelog diff --git a/anda/langs/go/albius/anda.hcl b/anda/langs/go/albius/anda.hcl new file mode 100644 index 0000000000..c7692fe7ce --- /dev/null +++ b/anda/langs/go/albius/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "albius.spec" + } +} diff --git a/anda/langs/go/albius/update.rhai b/anda/langs/go/albius/update.rhai new file mode 100644 index 0000000000..87582dfdbd --- /dev/null +++ b/anda/langs/go/albius/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Vanilla-OS/Albius")); diff --git a/anda/langs/nim/nim-nightly/nim-nightly.spec b/anda/langs/nim/nim-nightly/nim-nightly.spec index 554a4dd7ab..865fa863d6 100644 --- a/anda/langs/nim/nim-nightly/nim-nightly.spec +++ b/anda/langs/nim/nim-nightly/nim-nightly.spec @@ -1,8 +1,8 @@ %global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10 -%global commit d09c3c0f58eb9f1f4cf07fa98a9686aa19778f16 +%global commit 8cbbe12ee4eaa9568d246638b1f712a5a57e20ab %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global ver 2.1.1 -%global commit_date 20240430 +%global commit_date 20240611 %global debug_package %nil Name: nim-nightly diff --git a/anda/langs/vala/vala-language-server-nightly/vala-language-server-nightly.spec b/anda/langs/vala/vala-language-server-nightly/vala-language-server-nightly.spec index 4dd93a8131..e2ad4311e8 100644 --- a/anda/langs/vala/vala-language-server-nightly/vala-language-server-nightly.spec +++ b/anda/langs/vala/vala-language-server-nightly/vala-language-server-nightly.spec @@ -1,9 +1,9 @@ %global real_name vala-language-server -%global commit a49292758922160244d1842cdcba0a5154d1cb27 +%global commit 31cb5116a4a138365feb709ebb7b8670db604991 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20240330 +%global commit_date 20240605 %global snapshot_info %{commit_date}.%{shortcommit} %global verrel 0.48.7 diff --git a/anda/langs/vala/vala-nightly/vala-nightly.spec b/anda/langs/vala/vala-nightly/vala-nightly.spec index 6f50236bd6..f2eb8c3193 100644 --- a/anda/langs/vala/vala-nightly/vala-nightly.spec +++ b/anda/langs/vala/vala-nightly/vala-nightly.spec @@ -3,11 +3,11 @@ %global priority 90 %global real_name vala -%global commit fa704b2c2385f35d12568ee31de33568d6d67749 +%global commit 781cba14b1402e8968f85aed84d73f6fc4ea48ba %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global repo https://gitlab.gnome.org/GNOME/%{real_name}.git -%global commit_date 20240426 +%global commit_date 20240605 %global snapshot_info %{commit_date}.%{shortcommit} Name: vala-nightly diff --git a/anda/langs/vala/vala-panel/vala-panel.spec b/anda/langs/vala/vala-panel/vala-panel.spec index 09dff956d0..7ebd3c8fee 100644 --- a/anda/langs/vala/vala-panel/vala-panel.spec +++ b/anda/langs/vala/vala-panel/vala-panel.spec @@ -1,5 +1,5 @@ Name: vala-panel -Version: 24.03 +Version: 24.05 %global forgeurl https://gitlab.com/vala-panel-project/vala-panel %forgemeta diff --git a/anda/lib/openh264/anda.hcl b/anda/lib/openh264/anda.hcl new file mode 100644 index 0000000000..e652be253d --- /dev/null +++ b/anda/lib/openh264/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "openh264.spec" + } +} diff --git a/anda/lib/openh264/gst-p-bad-cleanup.sh b/anda/lib/openh264/gst-p-bad-cleanup.sh new file mode 100644 index 0000000000..92211717e0 --- /dev/null +++ b/anda/lib/openh264/gst-p-bad-cleanup.sh @@ -0,0 +1,201 @@ +#!/bin/sh + +# Process a gst-plugins-bad tarball to remove +# unwanted GStreamer plugins. +# +# This script here is taken from Fedora gstreamer1-plugins-bad-free repo, with +# only change being openh264 addition. +# +# See https://bugzilla.redhat.com/show_bug.cgi?id=532470 +# for details +# +# Bastien Nocera - 2010 +# + +SOURCE="$1" +NEW_SOURCE=`echo $SOURCE | sed 's/bad-/bad-openh264-/'` +DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'` + +ALLOWED=" +aacparse +accurip +adpcmdec +adpcmenc +aiff +aiffparse +amrparse +asfmux +audiobuffersplit +audiofxbad +audiolatency +audiomixer +audiomixmatrix +audioparsers +audiovisualizers +autoconvert +bayer +camerabin +camerabin2 +cdxaparse +codecalpha +codectimestamper +coloreffects +colorspace +compositor +dataurisrc +dccp +debugutils +dtmf +dvbsubenc +faceoverlay +festival +fieldanalysis +freeverb +freeze +frei0r +gaudieffects +gdp +geometrictransform +h264parse +hdvparse +hls +id3tag +inter +interlace +invtelecine +ivfparse +ivtc +jpegformat +jp2kdecimator +legacyresample +librfb +liveadder +midi +mve +mpegdemux +mpeg4videoparse +mpegpsmux +mpegtsdemux +mpegtsmux +mpegvideoparse +mxf +netsim +nsf +nuvdemux +onvif +openh264 +patchdetect +pcapparse +pnm +proxy +qtmux +rawparse +removesilence +rist +rtmp2 +rtp +rtpmux +rtpvp8 +scaletempo +sdi +sdp +segmentclip +selector +smooth +speed +stereo +subenc +switchbin +timecode +transcode +tta +valve +videofilters +videoframe_audiolevel +videomaxrate +videomeasure +videoparsers +videosignal +vmnc +yadif +y4m +" + +NOT_ALLOWED=" +dvbsuboverlay +dvdspu +real +siren +" + +error() +{ + MESSAGE=$1 + echo $MESSAGE + exit 1 +} + +check_allowed() +{ + MODULE=$1 + for i in $ALLOWED ; do + if test x$MODULE = x$i ; then + return 0; + fi + done + # Ignore errors coming from ext/ directory + # they require external libraries so are ineffective anyway + return 1; +} + +check_not_allowed() +{ + MODULE=$1 + for i in $NOT_ALLOWED ; do + if test x$MODULE = x$i ; then + return 0; + fi + done + return 1; +} + +rm -rf $DIRECTORY +tar xJf $SOURCE || error "Cannot unpack $SOURCE" +pushd $DIRECTORY > /dev/null || error "Cannot open directory \"$DIRECTORY\"" + +unknown="" +for subdir in gst ext sys; do + for dir in $subdir/* ; do + # Don't touch non-directories + if ! [ -d $dir ] ; then + continue; + fi + MODULE=`basename $dir` + if ( check_not_allowed $MODULE ) ; then + echo "**** Removing $MODULE ****" + echo "Removing directory $dir" + rm -r $dir || error "Cannot remove $dir" + echo + elif test $subdir = ext || test $subdir = sys; then + # Ignore library or system non-blacklisted plugins + continue; + elif ! ( check_allowed $MODULE ) ; then + echo "Unknown module in $dir" + unknown="$unknown $dir" + fi + done +done + +echo + +if test "x$unknown" != "x"; then + echo -n "Aborting due to unkown modules: " + echo "$unknown" | sed "s/ /\n /g" + exit 1 +fi + +popd > /dev/null + +tar cJf $NEW_SOURCE $DIRECTORY +echo "$NEW_SOURCE is ready to use" + diff --git a/anda/lib/openh264/hardcode-openh264-dep.patch b/anda/lib/openh264/hardcode-openh264-dep.patch new file mode 100644 index 0000000000..fbedcd96e1 --- /dev/null +++ b/anda/lib/openh264/hardcode-openh264-dep.patch @@ -0,0 +1,14 @@ +diff -up gst-plugins-bad-1.18.2/ext/openh264/meson.build.orig gst-plugins-bad-1.18.2/ext/openh264/meson.build +--- gst-plugins-bad-1.18.2/ext/openh264/meson.build.orig 2020-12-06 14:24:13.000000000 +0100 ++++ gst-plugins-bad-1.18.2/ext/openh264/meson.build 2021-02-11 11:48:58.660450319 +0100 +@@ -4,9 +4,7 @@ openh264_sources = [ + 'gstopenh264plugin.c', + ] + +-openh264_dep = dependency('openh264', version : '>= 1.3.0', +- required : get_option('openh264'), +- fallback: ['openh264', 'openh264_dep']) ++openh264_dep = cc.find_library('openh264') + + if openh264_dep.found() + gstopenh264 = library('gstopenh264', diff --git a/anda/lib/openh264/openh264.spec b/anda/lib/openh264/openh264.spec new file mode 100644 index 0000000000..3d7f8a45c0 --- /dev/null +++ b/anda/lib/openh264/openh264.spec @@ -0,0 +1,213 @@ +# ref: https://src.fedoraproject.org/rpms/openh264 +%global commit1 e7d30b921df736a1121a0c8e0cf3ab1ce5b8a4b7 +%global shortcommit1 %(c=%{commit1}; echo ${c:0:7}) + +%global openh264_version 2.4.1 +%global gst_version 1.24.4 + +Name: openh264 +Version: %{openh264_version} +# Also bump the Release tag for gstreamer1-plugin-openh264 down below +Release: 1%{?dist} +Summary: H.264 codec library + +License: BSD +URL: https://www.openh264.org/ +Source0: https://github.com/cisco/openh264/archive/v%{openh264_version}/openh264-%{openh264_version}.tar.gz +Source1: https://github.com/mozilla/gmp-api/archive/%{commit1}/gmp-api-%{shortcommit1}.tar.gz +# The source is: +# http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%%{gst_version}.tar.xz +# modified with gst-p-bad-cleanup.sh from SOURCE3 +Source2: gst-plugins-bad-openh264-%{gst_version}.tar.xz +Source3: gst-p-bad-cleanup.sh + +# Don't use pkg-config for finding openh264 as we are building against an in-tree copy +Patch2: hardcode-openh264-dep.patch + +BuildRequires: gcc-c++ +BuildRequires: gstreamer1-devel >= %{gst_version} +BuildRequires: gstreamer1-plugins-base-devel >= %{gst_version} +BuildRequires: make +BuildRequires: meson +BuildRequires: nasm + +%description +OpenH264 is a codec library which supports H.264 encoding and decoding. It is +suitable for use in real time applications such as WebRTC. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{openh264_version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%package -n mozilla-openh264 +Summary: H.264 codec support for Mozilla browsers +Requires: %{name}%{?_isa} = %{openh264_version}-%{release} +Requires: mozilla-filesystem%{?_isa} + +%description -n mozilla-openh264 +The mozilla-openh264 package contains a H.264 codec plugin for Mozilla +browsers. + + +%package -n gstreamer1-plugin-openh264 +Version: %{gst_version} +Release: 2%{?dist} +Summary: GStreamer H.264 plugin + +%description -n gstreamer1-plugin-openh264 +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +This package contains the H.264 plugin. + + +%prep +%setup -q + +# Extract gmp-api archive +tar -xf %{S:1} +mv gmp-api-%{commit1} gmp-api + +# Extract gst-plugins-bad-free archive +tar -xf %{S:2} +pushd gst-plugins-bad-%{gst_version} +%patch2 -p1 +popd + + +%build +# Update the makefile with our build options +# Must be done in %%build in order to pick up correct LDFLAGS. +sed -i -e 's|^CFLAGS_OPT=.*$|CFLAGS_OPT=%{optflags}|' Makefile +sed -i -e 's|^PREFIX=.*$|PREFIX=%{_prefix}|' Makefile +sed -i -e 's|^LIBDIR_NAME=.*$|LIBDIR_NAME=%{_lib}|' Makefile +sed -i -e 's|^SHAREDLIB_DIR=.*$|SHAREDLIB_DIR=%{_libdir}|' Makefile +sed -i -e '/^CFLAGS_OPT=/i LDFLAGS=%{__global_ldflags}' Makefile + +# First build the openh264 libraries +make %{?_smp_mflags} + +# ... then build the mozilla plugin +make plugin %{?_smp_mflags} + +# ... and finally build the gstreamer plugin against the previously built +# openh264 libraries +pushd gst-plugins-bad-%{gst_version} +CFLAGS="%{build_cflags} -I`pwd`/../codec/api" \ +CXXFLAGS="%{build_cflags} -I`pwd`/../codec/api" \ +LDFLAGS="%{build_ldflags} -L`pwd`/.." \ +%meson \ + --auto-features=disabled \ + -D package-name="Fedora gstreamer1-plugin-openh264 package" \ + -D package-origin="http://www.openh264.org/" \ + -D openh264=enabled +%meson_build +popd + + +%install +%make_install + +# Install mozilla plugin +mkdir -p $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/gmp-gmpopenh264/system-installed +cp -a libgmpopenh264.so* gmpopenh264.info $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/gmp-gmpopenh264/system-installed/ + +mkdir -p $RPM_BUILD_ROOT%{_libdir}/firefox/defaults/pref +cat > $RPM_BUILD_ROOT%{_libdir}/firefox/defaults/pref/gmpopenh264.js << EOF +pref("media.gmp-gmpopenh264.autoupdate", false); +pref("media.gmp-gmpopenh264.version", "system-installed"); +EOF + +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d +cat > $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/gmpopenh264.sh << EOF +MOZ_GMP_PATH="${MOZ_GMP_PATH}${MOZ_GMP_PATH:+:}%{_libdir}/mozilla/plugins/gmp-gmpopenh264/system-installed" +export MOZ_GMP_PATH +EOF + +# Remove static libraries +rm $RPM_BUILD_ROOT%{_libdir}/*.a + +# Install the gstreamer plugin +pushd gst-plugins-bad-%{gst_version} +%meson_install + +# Register as an AppStream component to be visible in the software center +# +# NOTE: It would be *awesome* if this file was maintained by the upstream +# project, translated and installed into the right place during `make install`. +# +# See http://www.freedesktop.org/software/appstream/docs/ for more details. +# +mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata +cat > $RPM_BUILD_ROOT%{_datadir}/appdata/gstreamer-openh264.appdata.xml < + + + gstreamer-openh264 + CC0-1.0 + GStreamer Multimedia Codecs - H.264 + Multimedia playback for H.264 + +

+ This addon includes a codec for H.264 playback and encoding. +

+

+ These codecs can be used to encode and decode media files where the + format is not patent encumbered. +

+

+ A codec decodes audio and video for playback or editing and is also + used for transmission or storage. + Different codecs are used in video-conferencing, streaming media and + video editing applications. +

+
+ http://gstreamer.freedesktop.org/ + https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer + http://gstreamer.freedesktop.org/documentation/ + http://www.gnome.org/friends/ + +
+EOF + +# Remove unwanted gst-plugins-bad files +rm -rf $RPM_BUILD_ROOT%{_bindir}/gst-transcoder-1.0 +rm -rf $RPM_BUILD_ROOT%{_includedir}/gstreamer-1.0/ +rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gstreamer-*.pc +rm -rf $RPM_BUILD_ROOT%{_libdir}/libgst*.so* +rm -rf $RPM_BUILD_ROOT%{_datadir}/gstreamer-1.0/ +popd + + +%files +%license LICENSE +%doc README.md +%{_libdir}/libopenh264.so.7 +%{_libdir}/libopenh264.so.%{openh264_version} + +%files devel +%{_includedir}/wels/ +%{_libdir}/libopenh264.so +%{_libdir}/pkgconfig/openh264.pc + +%files -n mozilla-openh264 +%{_sysconfdir}/profile.d/gmpopenh264.sh +%dir %{_libdir}/firefox +%dir %{_libdir}/firefox/defaults +%dir %{_libdir}/firefox/defaults/pref +%{_libdir}/firefox/defaults/pref/gmpopenh264.js +%{_libdir}/mozilla/plugins/gmp-gmpopenh264/ + +%files -n gstreamer1-plugin-openh264 +%{_datadir}/appdata/*.appdata.xml +%{_libdir}/gstreamer-1.0/libgstopenh264.so + + +%changelog +%autochangelog diff --git a/anda/lib/openh264/pre.rhai b/anda/lib/openh264/pre.rhai new file mode 100644 index 0000000000..6cfc5a8b63 --- /dev/null +++ b/anda/lib/openh264/pre.rhai @@ -0,0 +1,14 @@ +let cwd = "anda/lib/openh264"; +let spec = open_file("anda/lib/openh264/openh264.spec").read_string(); +let gst = find("%global gst_version ([\\d.]+)", spec, 1); +print(`:: found gst version ${gst}`); +let out = sh(`wget https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${gst}.tar.xz`, cwd); +//print(":: wget stdout below"); +//print(out.sh_stdout()); +//print(":: wget stderr below"); +//print(out.sh_stderr()); +out = sh(`sh gst-p-bad-cleanup.sh gst-plugins-bad-${gst}.tar.xz`, cwd); +//print(":: script stdout below"); +//print(out.sh_stdout()); +//print(":: script stderr below"); +//print(out.sh_stderr()); diff --git a/anda/lib/openh264/update.rhai b/anda/lib/openh264/update.rhai new file mode 100644 index 0000000000..82c75d7110 --- /dev/null +++ b/anda/lib/openh264/update.rhai @@ -0,0 +1,6 @@ +rpm.global("commit1", gh_commit("mozilla/gmp-api")); +let h264 = gh("cisco/openh264"); +h264.crop(1); +rpm.global("openh264_version", h264); +let html = get("https://gstreamer.freedesktop.org/src/gst-plugins-bad/?C=N;O=D"); +rpm.global("gst_version", find("gst-plugins-bad-([\\d.]+).tar.xz", html, 1)); diff --git a/anda/lib/tdlib/tdlib-nightly.spec b/anda/lib/tdlib/tdlib-nightly.spec index ccb1e54fb6..8643712576 100644 --- a/anda/lib/tdlib/tdlib-nightly.spec +++ b/anda/lib/tdlib/tdlib-nightly.spec @@ -1,5 +1,5 @@ -%global commit 77b34797d89d23ccfab3f3e1eab532f0bc73ab38 -%global ver 1.8.28 +%global commit b102c3adef5428142671b51d1989ce00ce7a4525 +%global ver 1.8.30 %global commit_date 20240219 %global shortcommit %(c=%{commit}; echo ${c:0:7}) diff --git a/anda/system/limine/limine.spec b/anda/system/limine/limine.spec index 4926c7cf86..68111d9bb5 100644 --- a/anda/system/limine/limine.spec +++ b/anda/system/limine/limine.spec @@ -5,6 +5,7 @@ Summary: Modern, advanced, portable, multiprotocol bootloader License: BSD-2-Clause URL: https://limine-bootloader.org Source0: https://github.com/limine-bootloader/limine/releases/download/v%version/limine-%version.tar.gz +Source1: https://raw.githubusercontent.com/limine-bootloader/limine/v%version/README.md BuildRequires: nasm mtools llvm lld clang make %description @@ -13,6 +14,7 @@ the reference implementation for the Limine boot protocol. %prep %autosetup +cp %SOURCE1 . %build %configure --enable-all TOOLCHAIN_FOR_TARGET=llvm @@ -22,7 +24,7 @@ the reference implementation for the Limine boot protocol. %make_install %files -%doc README.md CONFIG.md PHILOSOPHY.md PROTOCOL.md COPYING +%doc README.md CONFIG.md PHILOSOPHY.md PROTOCOL.md COPYING USAGE.md %license COPYING %_bindir/limine %_includedir/limine.h diff --git a/anda/tools/electron/electron.spec b/anda/tools/electron/electron.spec index 5187a457cc..e8693985f6 100644 --- a/anda/tools/electron/electron.spec +++ b/anda/tools/electron/electron.spec @@ -12,7 +12,7 @@ %global __provides_exclude_from %{_libdir}/%{name}/.*\\.so Name: electron -Version: 30.0.1 +Version: 31.0.0 Release: 1%?dist Summary: Build cross platform desktop apps with web technologies License: MIT diff --git a/anda/tools/sbctl/anda.hcl b/anda/tools/sbctl/anda.hcl new file mode 100644 index 0000000000..85845deea1 --- /dev/null +++ b/anda/tools/sbctl/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "sbctl.spec" + } +} diff --git a/anda/tools/sbctl/sbctl.spec b/anda/tools/sbctl/sbctl.spec new file mode 100644 index 0000000000..ee226fd775 --- /dev/null +++ b/anda/tools/sbctl/sbctl.spec @@ -0,0 +1,85 @@ +Name: sbctl +Version: 0.14 +Release: 1%?dist +Summary: Secure Boot key manager + +License: MIT +URL: https://github.com/Foxboron/sbctl +Source0: https://github.com/Foxboron/sbctl/releases/download/%{version}/sbctl-%{version}.tar.gz + +ExclusiveArch: %{golang_arches} + +Requires: binutils +Requires: util-linux + +Recommends: systemd-udev + +BuildRequires: asciidoc +BuildRequires: git +BuildRequires: go-rpm-macros + +%description +sbctl intends to be a user-friendly secure boot key manager capable of setting +up secure boot, offer key management capabilities, and keep track of files that +needs to be signed in the boot chain. + + +%prep +%autosetup -p1 + +sed -i '/go build/d' Makefile + + +%build +export GOPATH=%{_builddir}/go +%global gomodulesmode GO111MODULE=on +%gobuild -o sbctl ./cmd/sbctl +%make_build + + +%install +%make_install PREFIX=%{_prefix} + + +%transfiletriggerin -P 1 -- /boot /efi /usr/lib /usr/libexec +if grep -q -m 1 -e '\.efi$' -e '/vmlinuz$'; then + exec - 0.13-1 +- Push to Terra + +* Tue Dec 26 2023 Andrew Gunnerson - 0.13-1 +- Update to version 0.13 + +* Sun Nov 12 2023 Andrew Gunnerson - 0.12-2 +- Switch to upstream 91-sbctl.install kernel-install script + +* Fri Oct 20 2023 Andrew Gunnerson - 0.12-1 +- Update to version 0.12 + +* Sat Mar 25 2023 Andrew Gunnerson - 0.11-1 +- Update to version 0.11 + +* Mon Dec 12 2022 Andrew Gunnerson - 0.10-1 +- Update to version 0.10 + +* Tue May 3 2022 Andrew Gunnerson - 0.9-1 +- Update to version 0.9 + +* Thu Jan 27 2022 Andrew Gunnerson - 0.8-1 +- Initial release diff --git a/anda/tools/sbctl/update.rhai b/anda/tools/sbctl/update.rhai new file mode 100644 index 0000000000..603627aa65 --- /dev/null +++ b/anda/tools/sbctl/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Foxboron/sbctl")); diff --git a/anda/tools/yt-dlp/yt-dlp-nightly.spec b/anda/tools/yt-dlp/yt-dlp-nightly.spec index 2092d1bc96..bcafeaa0cc 100644 --- a/anda/tools/yt-dlp/yt-dlp-nightly.spec +++ b/anda/tools/yt-dlp/yt-dlp-nightly.spec @@ -1,8 +1,8 @@ #bcond_without tests -%global commit ac817bc83efd939dca3e40c4b527d0ccfc77172b +%global commit db50f19d76c6870a5a13d0cab9287d684fd7449a %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20240429 -%global ver 2024.04.09 +%global commit_date 20240602 +%global ver 2024.05.27 Name: yt-dlp-nightly Version: %ver^%commit_date.%shortcommit