commit 14484c1b75ee26dd9e302ea01703fbda718f71ae Author: EnumDev Date: Fri Sep 4 15:59:53 2026 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d96df7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Ignore BPM archives and signatures +*.bpm +*.bpm.sig diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..294c78b --- /dev/null +++ b/check-version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Gitlab repository +REPO="GNOME/brasero" + +# Replace slash with URL encoded representation +REPO=$(echo "$REPO" | sed 's|/|%2F|g') + +# Get tag name using Gitlab Rest API +TAG_NAME=$(curl -s -L https://gitlab.gnome.org/api/v4/projects/"$REPO"/repository/tags | jq -r '.[0].name') + +# Trim 'v' character in TAG_NAME variable +VERSION=$(echo "$TAG_NAME" | tr -d 'v') + +echo "$VERSION" diff --git a/info.yml b/info.yml new file mode 100644 index 0000000..dcfe788 --- /dev/null +++ b/info.yml @@ -0,0 +1,49 @@ +name: brasero +description: CD/DVD mastering tool +version: 3.12.3 +revision: 1 +url: https://wiki.gnome.org/Apps/Brasero +license: GPL-2.0-or-later +maintainers: + - enumdev@enumerated.dev +architecture: any +type: source +depends: + - cairo + - cdrtools + - dconf + - dvd-rw-tools + - gdk-pixbuf + - glib + - glibc + - gst-plugins-good + - gstreamer=1.29.1 + - gtk3 + - gvfs + - hicolor-icon-theme + - libcanberra + - libnotify + - libxml2 + - pango +optional_depends: + - cdrdao:Alternative backend to copy, burn and blank CDs + - dvdauthor:Create disc images suitable for video DVDs + - libburn:Alternative backend to burn, blank and format CDs, DVDs and BDs + - libdvdcss:Copy CSS encrypted video DVDs to a disc image + - libisofs:Alternative backend to create disc images from a file selection + - vcdimager:Create disc images suitable for SVCDs +make_depends: + - docbook-xsl-nons + - gobject-introspection + - gtk-doc + - intltool + - itstool + - libburn + - libisofs + - libsm + - yelp-tools +downloads: + - url: https://download.gnome.org/sources/brasero/${BPM_PKG_VERSION%.*}/brasero-${BPM_PKG_VERSION}.tar.xz + extract_to: ${BPM_SOURCE} + extract_strip_components: 1 + checksum: 87749eae33a141207d1b00be233b6d8045982ed3249ed4b98dae1f3a975fea15 diff --git a/recipe.sh b/recipe.sh new file mode 100644 index 0000000..5c1dc82 --- /dev/null +++ b/recipe.sh @@ -0,0 +1,43 @@ +# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +# The prepare function is executed in the root of the temp directory +# This function is used for putting downloaded files to the correct location or applying patches +prepare() { + cd "$BPM_SOURCE" + + # Patch from Fedora + patch -Np1 -i "$BPM_WORKDIR"/0001-Fix-gcc-14.x-build-failure.patch + + # Remove gnome-common dependency + sed -i '/^GNOME_/d' configure.ac + + autoreconf -fi +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-caches \ + --disable-search \ + --disable-schemas-compile \ + --enable-gtk-doc + + # Prevent overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + make DESTDIR="$BPM_OUTPUT" install + + # Install package license + install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/brasero/COPYING +} diff --git a/source-files/0001-Fix-gcc-14.x-build-failure.patch b/source-files/0001-Fix-gcc-14.x-build-failure.patch new file mode 100644 index 0000000..7a4b63d --- /dev/null +++ b/source-files/0001-Fix-gcc-14.x-build-failure.patch @@ -0,0 +1,76 @@ +From 5cdefa8c76ddb797bce8b67a3f5767678bd36a5a Mon Sep 17 00:00:00 2001 +From: sid +Date: Mon, 3 Jun 2024 18:51:08 +0100 +Subject: [PATCH] Fix gcc 14.x build failure (due to + -Wincompatible-pointer-types) + +The changes for 'brasero-drive-properties.c' are kept inline with +'brasero-burn-options.c' (public API) for the sake of consistency. + +Fixes: https://gitlab.gnome.org/GNOME/brasero/-/issues/370 +--- + libbrasero-burn/brasero-drive-properties.c | 10 +++------- + libbrasero-utils/brasero-metadata.c | 2 +- + libbrasero-utils/brasero-pk.c | 2 +- + 3 files changed, 5 insertions(+), 9 deletions(-) + +diff --git a/libbrasero-burn/brasero-drive-properties.c b/libbrasero-burn/brasero-drive-properties.c +index cfb2db147..22593cc16 100644 +--- a/libbrasero-burn/brasero-drive-properties.c ++++ b/libbrasero-burn/brasero-drive-properties.c +@@ -835,23 +835,19 @@ brasero_drive_properties_set_property (GObject *object, + GParamSpec *pspec) + { + BraseroDrivePropertiesPrivate *priv; +- BraseroBurnSession *session; + + priv = BRASERO_DRIVE_PROPERTIES_PRIVATE (object); + + switch (property_id) { + case PROP_SESSION: /* Readable and only writable at creation time */ +- /* NOTE: no need to unref a potential previous session since +- * it's only set at construct time */ +- session = g_value_get_object (value); +- priv->session = g_object_ref (session); ++ priv->session = g_object_ref (g_value_get_object (value)); + + brasero_drive_properties_update (BRASERO_DRIVE_PROPERTIES (object)); +- priv->valid_sig = g_signal_connect (session, ++ priv->valid_sig = g_signal_connect (priv->session, + "is-valid", + G_CALLBACK (brasero_drive_properties_is_valid_cb), + object); +- priv->output_sig = g_signal_connect (session, ++ priv->output_sig = g_signal_connect (priv->session, + "output-changed", + G_CALLBACK (brasero_drive_properties_output_changed_cb), + object); +diff --git a/libbrasero-utils/brasero-metadata.c b/libbrasero-utils/brasero-metadata.c +index 194336899..ddfce8e7b 100644 +--- a/libbrasero-utils/brasero-metadata.c ++++ b/libbrasero-utils/brasero-metadata.c +@@ -665,7 +665,7 @@ brasero_metadata_install_missing_plugins (BraseroMetadata *self) + + context = gst_install_plugins_context_new (); + gst_install_plugins_context_set_xid (context, brasero_metadata_get_xid (self)); +- status = gst_install_plugins_async ((gchar **) details->pdata, ++ status = gst_install_plugins_async ((const gchar* const*) details->pdata, + context, + brasero_metadata_install_plugins_result, + downloads); +diff --git a/libbrasero-utils/brasero-pk.c b/libbrasero-utils/brasero-pk.c +index aa71901f9..5f5ba21aa 100644 +--- a/libbrasero-utils/brasero-pk.c ++++ b/libbrasero-utils/brasero-pk.c +@@ -230,7 +230,7 @@ brasero_pk_install_gstreamer_plugin (BraseroPK *package, + + context = gst_install_plugins_context_new (); + gst_install_plugins_context_set_xid (context, xid); +- status = gst_install_plugins_async ((gchar **) gst_plugins->pdata, ++ status = gst_install_plugins_async ((const gchar* const*) gst_plugins->pdata, + context, + brasero_pk_install_gst_plugin_result, + package); +-- +GitLab +