summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-radio')
-rw-r--r--media-radio/xlog/files/xlog-2.0.24-musl.patch51
-rw-r--r--media-radio/xlog/xlog-2.0.24.ebuild3
2 files changed, 53 insertions, 1 deletions
diff --git a/media-radio/xlog/files/xlog-2.0.24-musl.patch b/media-radio/xlog/files/xlog-2.0.24-musl.patch
new file mode 100644
index 000000000000..a235f37e45dc
--- /dev/null
+++ b/media-radio/xlog/files/xlog-2.0.24-musl.patch
@@ -0,0 +1,51 @@
+Avoid assignment to read only stderr variable
+Bug #832236
+diff --git a/src/gui_tracedialog.c b/src/gui_tracedialog.c
+index a00020e..52b6c76 100644
+--- a/src/gui_tracedialog.c
++++ b/src/gui_tracedialog.c
+@@ -32,6 +32,7 @@
+ #include <unistd.h>
+ #include <glib/gstdio.h>
+ #include <hamlib/rig.h>
++#include <fcntl.h>
+
+ #include "gui_tracedialog.h"
+ #include "gui_warningdialog.h"
+@@ -43,7 +44,7 @@ typedef struct
+ {
+ time_t modified; /* Last Modified Time */
+ gchar *filename; /* File Name */
+- FILE *fd; /* File Descriptor */
++ gint filedesc; /* File Descriptor */
+ unsigned long filesize; /* File Size */
+ } fileinfo;
+
+@@ -62,14 +63,9 @@ stop_tracing (void)
+
+ stop_hamlib ();
+ g_source_remove (tracetimer);
+- fclose (finfo.fd);
++ close(finfo.filedesc);
+ dup2 (saved_fd, STDERR_FILENO);
+ close (saved_fd);
+-#ifndef __NetBSD__
+-#ifndef G_OS_WIN32
+- stderr = fdopen (STDERR_FILENO, "w");
+-#endif
+-#endif
+ hamlibresult = start_hamlib (preferences.rigid, preferences.device,
+ RIG_DEBUG_NONE, preferences.polltime);
+ }
+@@ -180,7 +176,10 @@ on_trace_hamlib_activate(GtkMenuItem * menuitem, gpointer user_data)
+ (GTK_BOX (vbox), tracelabel, FALSE, FALSE, 0);
+ g_free (tracestr);
+ stop_hamlib();
+- finfo.fd = freopen (finfo.filename, "w", stderr);
++ finfo.filedesc = open(finfo.filename, O_WRONLY|O_CREAT, 0644);
++ if (finfo.filedesc >= 0) {
++ dup2 (finfo.filedesc, STDERR_FILENO);
++ }
+ hamlibresult = start_hamlib (preferences.rigid, preferences.device,
+ RIG_DEBUG_TRACE, preferences.polltime);
+ tracetimer = g_timeout_add
diff --git a/media-radio/xlog/xlog-2.0.24.ebuild b/media-radio/xlog/xlog-2.0.24.ebuild
index 936fb932a6cb..ea01d2109129 100644
--- a/media-radio/xlog/xlog-2.0.24.ebuild
+++ b/media-radio/xlog/xlog-2.0.24.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -30,6 +30,7 @@ DOCS=( AUTHORS data/doc/THANKS NEWS README )
src_prepare() {
eapply_user
eapply -p0 "${FILESDIR}/${PN}-2.0.7-desktop.patch"
+ eapply "${FILESDIR}/${PN}-2.0.24-musl.patch"
# Drop -Werror
sed -i -e "s:-Werror::g" configure.ac || die