From ba91834731947dd822c73945d1f73c611fc38147 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Tue, 7 Apr 2026 08:37:56 +0200 Subject: [PATCH] ad qtwebsoceksts --- .../files/vice-3.10-mpg123-without-curl.patch | 169 +++++++++++++++ app-emulation/vice/vice-3.10.ebuild | 205 ++++++++++++++++++ .../rpi-imager/rpi-imager-2.0.7.ebuild | 18 ++ 3 files changed, 392 insertions(+) create mode 100644 app-emulation/vice/files/vice-3.10-mpg123-without-curl.patch create mode 100644 app-emulation/vice/vice-3.10.ebuild create mode 100644 dev-embedded/rpi-imager/rpi-imager-2.0.7.ebuild diff --git a/app-emulation/vice/files/vice-3.10-mpg123-without-curl.patch b/app-emulation/vice/files/vice-3.10-mpg123-without-curl.patch new file mode 100644 index 00000000..2173a05b --- /dev/null +++ b/app-emulation/vice/files/vice-3.10-mpg123-without-curl.patch @@ -0,0 +1,169 @@ +https://bugs.gentoo.org/970962 +https://sourceforge.net/p/vice-emu/code/45964/ +--- a/src/arch/gtk3/widgets/settings_userport.c ++++ b/src/arch/gtk3/widgets/settings_userport.c +@@ -442,81 +441,0 @@ +-#if defined(USE_MPG123) && defined (HAVE_GLOB_H) +-/* FunMP3 path selection widget */ +-#include "mainlock.h" +- +-/** \brief Callback for the directory-select dialog +- * +- * \param[in] dialog directory-select dialog +- * \param[in] filename filename (NULL if canceled) +- * \param[in] entry entry box for the filename +- */ +-static void funmp3dir_browse_callback(GtkDialog *dialog, gchar *filename, gpointer entry) +-{ +- if (filename != NULL) { +- vice_gtk3_resource_entry_set(GTK_WIDGET(entry), filename); +- g_free(filename); +- } +- gtk_widget_destroy(GTK_WIDGET(dialog)); +-} +- +-/** \brief Handler for the 'clicked' event of the FunMP3 directory browse button +- * +- * \param[in] button FunMP3 directory browse button (unused) +- * \param[in] entry FunMP3 directory text entry +- */ +-static void on_funmp3dir_browse_clicked(GtkWidget *button, gpointer entry) +-{ +- GtkWidget *dialog; +- +- mainlock_assert_is_not_vice_thread(); +- +- dialog = vice_gtk3_select_directory_dialog("Select FunMP3 directory", +- NULL, +- TRUE, +- NULL, +- funmp3dir_browse_callback, +- entry); +- gtk_widget_show_all(dialog); +-} +- +-/** \brief Create FunMP3 path selection entry widget +- * +- */ +-static GtkWidget *create_funmp3dir_entry_widget(void) +-{ +- GtkWidget *entry; +- entry = vice_gtk3_resource_entry_new("FunMP3Dir"); +- gtk_widget_set_tooltip_text(entry, +- "Select the host directory for MP3 files"); +- gtk_widget_set_hexpand(entry, TRUE); +- return entry; +-} +- +-/** \brief Create FunMP3 path selection widget +- * +- */ +-static GtkWidget *create_funmp3dir_widget(void) +-{ +- GtkWidget *grid; +- GtkWidget *entry; +- GtkWidget *label; +- GtkWidget *browse; +- +- grid = vice_gtk3_grid_new_spaced(8, 0); +- +- label = gtk_label_new("FunMP3 directory"); +- gtk_widget_set_halign(label, GTK_ALIGN_START); +- entry = create_funmp3dir_entry_widget(); +- browse = gtk_button_new_with_label("Browse ..."); +- g_signal_connect_unlocked(browse, +- "clicked", +- G_CALLBACK(on_funmp3dir_browse_clicked), +- (gpointer)entry); +- gtk_grid_attach(GTK_GRID(grid), label, 0, 1, 1, 1); +- gtk_grid_attach(GTK_GRID(grid), entry, 1, 1, 1, 1); +- gtk_grid_attach(GTK_GRID(grid), browse, 2, 1, 1, 1); +- +- gtk_widget_show_all(grid); +- return grid; +-} +- +-#endif /* MPG123 && HAVE_GLOB_H */ +@@ -684,0 +604,82 @@ ++ ++#if defined(USE_MPG123) && defined (HAVE_GLOB_H) ++/* FunMP3 path selection widget */ ++#include "mainlock.h" ++ ++/** \brief Callback for the directory-select dialog ++ * ++ * \param[in] dialog directory-select dialog ++ * \param[in] filename filename (NULL if canceled) ++ * \param[in] entry entry box for the filename ++ */ ++static void funmp3dir_browse_callback(GtkDialog *dialog, gchar *filename, gpointer entry) ++{ ++ if (filename != NULL) { ++ vice_gtk3_resource_entry_set(GTK_WIDGET(entry), filename); ++ g_free(filename); ++ } ++ gtk_widget_destroy(GTK_WIDGET(dialog)); ++} ++ ++/** \brief Handler for the 'clicked' event of the FunMP3 directory browse button ++ * ++ * \param[in] button FunMP3 directory browse button (unused) ++ * \param[in] entry FunMP3 directory text entry ++ */ ++static void on_funmp3dir_browse_clicked(GtkWidget *button, gpointer entry) ++{ ++ GtkWidget *dialog; ++ ++ mainlock_assert_is_not_vice_thread(); ++ ++ dialog = vice_gtk3_select_directory_dialog("Select FunMP3 directory", ++ NULL, ++ TRUE, ++ NULL, ++ funmp3dir_browse_callback, ++ entry); ++ gtk_widget_show_all(dialog); ++} ++ ++/** \brief Create FunMP3 path selection entry widget ++ * ++ */ ++static GtkWidget *create_funmp3dir_entry_widget(void) ++{ ++ GtkWidget *entry; ++ entry = vice_gtk3_resource_entry_new("FunMP3Dir"); ++ gtk_widget_set_tooltip_text(entry, ++ "Select the host directory for MP3 files"); ++ gtk_widget_set_hexpand(entry, TRUE); ++ return entry; ++} ++ ++/** \brief Create FunMP3 path selection widget ++ * ++ */ ++static GtkWidget *create_funmp3dir_widget(void) ++{ ++ GtkWidget *grid; ++ GtkWidget *entry; ++ GtkWidget *label; ++ GtkWidget *browse; ++ ++ grid = vice_gtk3_grid_new_spaced(8, 0); ++ ++ label = gtk_label_new("FunMP3 directory"); ++ gtk_widget_set_halign(label, GTK_ALIGN_START); ++ entry = create_funmp3dir_entry_widget(); ++ browse = gtk_button_new_with_label("Browse ..."); ++ g_signal_connect_unlocked(browse, ++ "clicked", ++ G_CALLBACK(on_funmp3dir_browse_clicked), ++ (gpointer)entry); ++ gtk_grid_attach(GTK_GRID(grid), label, 0, 1, 1, 1); ++ gtk_grid_attach(GTK_GRID(grid), entry, 1, 1, 1, 1); ++ gtk_grid_attach(GTK_GRID(grid), browse, 2, 1, 1, 1); ++ ++ gtk_widget_show_all(grid); ++ return grid; ++} ++ ++#endif /* MPG123 && HAVE_GLOB_H */ diff --git a/app-emulation/vice/vice-3.10.ebuild b/app-emulation/vice/vice-3.10.ebuild new file mode 100644 index 00000000..82b011c7 --- /dev/null +++ b/app-emulation/vice/vice-3.10.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools multibuild toolchain-funcs xdg + +DESCRIPTION="Versatile Commodore Emulator" +HOMEPAGE="https://vice-emu.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/vice-emu/releases/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 x86" +IUSE=" + alsa curl debug doc ethernet flac gif +gtk headless lame mpg123 ogg + openmp oss parport pci png portaudio pulseaudio sdl usb +" +REQUIRED_USE="|| ( gtk headless sdl )" + +RDEPEND=" + virtual/zlib:= + app-emulation/opencbm + virtual/libintl + alsa? ( media-libs/alsa-lib ) + curl? ( net-misc/curl ) + ethernet? ( + net-libs/libpcap + sys-libs/libcap + ) + flac? ( media-libs/flac:= ) + gif? ( media-libs/giflib:= ) + gtk? ( + >=app-accessibility/at-spi2-core-2.46:2 + dev-libs/glib:2 + dev-libs/libevdev + media-libs/fontconfig:1.0 + media-libs/glew:0=[-egl-only(-)] + media-libs/libglvnd[X] + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/pango + ) + lame? ( media-sound/lame ) + mpg123? ( media-sound/mpg123-base ) + ogg? ( + media-libs/libogg + media-libs/libvorbis + ) + parport? ( sys-libs/libieee1284 ) + pci? ( sys-apps/pciutils ) + png? ( media-libs/libpng:= ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( + media-libs/libsdl2[video] + media-libs/sdl2-image + ) + usb? ( dev-libs/libusb:1 ) +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + app-alternatives/awk + app-alternatives/lex + app-alternatives/yacc + app-arch/unzip + app-text/dos2unix + dev-embedded/xa + dev-lang/perl + sys-apps/texinfo + sys-devel/gettext + virtual/pkgconfig + doc? ( virtual/texi2dvi ) + gtk? ( x11-misc/xdg-utils ) +" + +PATCHES=( + "${FILESDIR}"/${P}-mpg123-without-curl.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + default + eautoreconf + + # strip the predefined C(XX)FLAGS + sed -Ei 's:(VICE_C(XX)?FLAGS=)"[^$]+":\1:' configure || die + + MULTIBUILD_VARIANTS=( + $(usev headless) + $(usev sdl) + $(usev gtk) # build last, prefer its binaries if any duplicates + ) + + # debug build currently broken without copy sources + multibuild_copy_sources +} + +src_configure() { + tc-export AR + + multibuild_foreach_variant run_in_build_dir multibuild_src_configure +} + +multibuild_src_configure() { + # append ".variant" to [xv]* binaries if building multiple variants + # except for gtk which always uses default names to match *.desktop + local xform + [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 && ${MULTIBUILD_VARIANT} != gtk ]] && + xform="/^[xv]/s/\$/.${MULTIBUILD_VARIANT}/" + + vice-multi_enable() { + if [[ ${MULTIBUILD_VARIANT} == ${1} ]]; then + echo --enable-${2} + else + echo --disable-${2} + fi + } + + local econfargs=( + "${xform+--program-transform-name=${xform}}" + $(vice-multi_enable gtk desktop-files) + $(vice-multi_enable gtk gtk3ui) + $(vice-multi_enable headless headlessui) + $(vice-multi_enable sdl sdl2ui) + $(usex debug $(vice-multi_enable gtk debug-gtk3ui) --disable-debug-gtk3ui) + $(use_enable debug) + $(use_enable doc pdf-docs) + $(use_enable ethernet) + $(use_enable openmp) + $(use_enable parport parsid) + $(usev !usb enable_usbsid=no) # not setup properly in configure.ac atm + $(use_with alsa) + $(use_with curl libcurl) + $(use_with flac) + $(use_with gif) + $(use_with lame) + $(use_with lame static-lame) # disables dlopen, uses shared still + $(use_with mpg123) + $(use_with ogg vorbis) + $(use_with oss) + $(use_with parport libieee1284) + $(use_with png) + $(use_with portaudio) + $(use_with pulseaudio pulse) + $(usex alsa --enable-midi $(use_enable oss midi)) + $(usev !pci ac_cv_header_pci_pci_h=no) + --disable-arch + --disable-sdl1ui + --enable-realdevice + ac_cv_lib_ungif_EGifPutLine=no # ensure use giflib, not ungif + ) + + econf "${econfargs[@]}" +} + +src_compile() { + # bug #924116 wrt SHELL + multibuild_foreach_variant run_in_build_dir emake SHELL="${BASH}" +} + +src_install() { + # make xdg-icon-resource use ED, theme directory needs to pre-exist + # TODO: check if still needed on bump, handling may change, + # (see https://sourceforge.net/p/vice-emu/bugs/2127/) + dodir /usr/share/icons/hicolor + local -x XDG_UTILS_INSTALL_MODE=system + local -x XDG_DATA_DIRS=${ED}/usr/share + + multibuild_foreach_variant run_in_build_dir default + + # x64 symlink does not respect --program-transform-name (bug #955032) + if (( ${#MULTIBUILD_VARIANTS[@]} > 1 )); then + use gtk || rm -- "${ED}"/usr/bin/x64 || die + use sdl && dosym x64sc.sdl /usr/bin/x64.sdl + use headless && dosym x64sc.headless /usr/bin/x64.headless + fi + + rm -f -- "${ED}"/usr/share/applications/*.cache || die + + vice-install_extras() { + docinto html + dodoc doc/html/*.{html,css} + dodoc -r doc/html/images + + insinto /usr/share/vim/vimfiles/ftdetect + doins doc/vim/ftdetect/*.vim + + insinto /usr/share/vim/vimfiles/syntax + doins doc/vim/syntax/*.vim + } + multibuild_for_best_variant run_in_build_dir vice-install_extras +} diff --git a/dev-embedded/rpi-imager/rpi-imager-2.0.7.ebuild b/dev-embedded/rpi-imager/rpi-imager-2.0.7.ebuild new file mode 100644 index 00000000..6fc35df6 --- /dev/null +++ b/dev-embedded/rpi-imager/rpi-imager-2.0.7.ebuild @@ -0,0 +1,18 @@ +EAPI=8 + +inherit cmake + +DESCRIPTION="Raspberry Pi Imaging Utility" +HOMEPAGE=https://www.raspberrypi.com/software/ +SRC_URI="https://github.com/raspberrypi/rpi-imager/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +LICENSE=Apache-2.0 +SLOT=0 +KEYWORDS="amd64 aarch64" +S=$WORKDIR/$P/src +RESTRICT=network-sandbox + +DEPEND=" + dev-qt/qtbase:6 + dev-qt/qtdeclarative:6 + dev-qt/qtsvg:6 + "