Bug#1052098: gnome-shell-extension-gamemode: needs update for GNOME Shell 46

2024-10-09 Thread Sébastien Noel

Control: tags -1 +patch

On Sat, 13 Jul 2024 05:40:25 -0400 Jeremy Bícha 
 wrote:

Control: severity -1 serious

I have now uploaded GNOME Shell 46 to Unstable so GNOME Shell
extensions incompatible with that extension are now uninstallable. If
a compatible version of the extension is not uploaded to Unstable
before the the rest of the GNOME Shell 46 transition is ready for
migration to Testing, this extension will be removed from Testing.


Here is a MR on salsa that add support for current Gnome-Shell v47:
https://salsa.debian.org/gnome-team/shell-extensions/gnome-shell-extension-gamemode/-/merge_requests/3

br,
Sébastien



Bug#1072413: freerdp2: FTBFS with ffmpeg 7.0

2024-07-30 Thread Sébastien Noel
Dear Maintainer,

Please find in attachment a patch that you can drop in the
debian/patches/ directory to fix the build with ffmpeg 7

Best regards,
Sébastien
Description: fix build with ffmpeg 7
Forwarded: Committed upstream in freerdp3
cherry picked from d0c5b1ae4289c7f3cde3fbc031cb4a3160df05ff
--- a/libfreerdp/codec/dsp_ffmpeg.c
+++ b/libfreerdp/codec/dsp_ffmpeg.c
@@ -225,18 +225,15 @@
 static BOOL ffmpeg_open_context(FREERDP_DSP_CONTEXT* context)
 {
 	int ret;
-	int layout;
-	const AUDIO_FORMAT* format;
 
 	if (!context || context->isOpen)
 		return FALSE;
 
-	format = &context->format;
+	const AUDIO_FORMAT* format = &context->format;
 
 	if (!format)
 		return FALSE;
 
-	layout = av_get_default_channel_layout(format->nChannels);
 	context->id = ffmpeg_get_avcodec(format);
 
 	if (ffmpeg_codec_is_filtered(context->id, context->encoder))
@@ -270,8 +267,7 @@
 			break;
 	}
 
-	context->context->channels = format->nChannels;
-	context->context->channel_layout = layout;
+	av_channel_layout_default(&context->context->ch_layout, format->nChannels);
 	context->context->sample_rate = format->nSamplesPerSec;
 	context->context->block_align = format->nBlockAlign;
 	context->context->bit_rate = format->nAvgBytesPerSec * 8;
@@ -314,8 +310,7 @@
 	if (!context->rcontext)
 		goto fail;
 
-	context->frame->channel_layout = layout;
-	context->frame->channels = format->nChannels;
+	av_channel_layout_default(&context->frame->ch_layout, format->nChannels);
 	context->frame->sample_rate = format->nSamplesPerSec;
 	context->frame->format = AV_SAMPLE_FMT_S16;
 
@@ -330,13 +325,11 @@
 		context->resampled->sample_rate = format->nSamplesPerSec;
 	}
 
-	context->resampled->channel_layout = layout;
-	context->resampled->channels = format->nChannels;
+	av_channel_layout_default(&context->resampled->ch_layout, format->nChannels);
 
 	if (context->context->frame_size > 0)
 	{
-		context->buffered->channel_layout = context->resampled->channel_layout;
-		context->buffered->channels = context->resampled->channels;
+		av_channel_layout_copy(&context->buffered->ch_layout, &context->resampled->ch_layout);
 		context->buffered->format = context->resampled->format;
 		context->buffered->nb_samples = context->context->frame_size;
 
@@ -421,7 +414,7 @@
 	if (in->format == AV_SAMPLE_FMT_FLTP)
 	{
 		uint8_t** pp = in->extended_data;
-		for (int y = 0; y < in->channels; y++)
+		for (int y = 0; y < in->ch_layout.nb_channels; y++)
 		{
 			float* data = pp[y];
 			for (int x = 0; x < in->nb_samples; x++)
@@ -477,14 +470,13 @@
   size_t size)
 {
 	int ret, bpp;
-	frame->channels = inputFormat->nChannels;
+	av_channel_layout_default(&frame->ch_layout, inputFormat->nChannels);
 	frame->sample_rate = inputFormat->nSamplesPerSec;
 	frame->format = ffmpeg_sample_format(inputFormat);
-	frame->channel_layout = av_get_default_channel_layout(frame->channels);
 	bpp = av_get_bytes_per_sample(frame->format);
 	frame->nb_samples = size / inputFormat->nChannels / bpp;
 
-	if ((ret = avcodec_fill_audio_frame(frame, frame->channels, frame->format, data, size, 1)) < 0)
+	if ((ret = avcodec_fill_audio_frame(frame, inputFormat->nChannels, frame->format, data, size, 1)) < 0)
 	{
 		const char* err = av_err2str(ret);
 		WLog_ERR(TAG, "Error during audio frame fill %s [%d]", err, ret);
@@ -566,7 +558,7 @@
 		}
 
 		{
-			const size_t data_size = resampled->channels * resampled->nb_samples * 2;
+			const size_t data_size = resampled->ch_layout.nb_channels * resampled->nb_samples * 2;
 			Stream_EnsureRemainingCapacity(out, data_size);
 			Stream_Write(out, resampled->data[0], data_size);
 		}
@@ -664,7 +656,7 @@
 			rc =
 			av_samples_copy(context->buffered->extended_data, context->resampled->extended_data,
 			(int)context->bufferedSamples, copied, inSamples,
-			context->context->channels, context->context->sample_fmt);
+			context->context->ch_layout.nb_channels, context->context->sample_fmt);
 			rest -= inSamples;
 			copied += inSamples;
 			context->bufferedSamples += (UINT32)inSamples;


Bug#1064753: dolphin-emu: FTBFS: Spirv.cpp

2024-07-30 Thread Sébastien Noel
Hi,

The problems lies in the package glslang-dev that dropped a lot of
files between versions 13.1.1-3_and 14.0.0-1

We may need to re-vendor glslang in src:dolphin-emu :-/

br,
Sébastien



Bug#1060698: [Pkg-auth-maintainers] Bug#1060698: yubioath-desktop: Doesn't see yubikeys anymore.

2024-01-14 Thread Sébastien Noel

Hi Florian,

Le 2024-01-14 13:51, Florian Schlichting a écrit :

Hi Sébastien,

thank you for the patch. I'm not opposed to applying it. In my
superficial testing, it seems to work well. I'm not a user of
yubioath-desktop, though, and while I can help with an occasional
upload, I don't want to feel responsible for it.

Are you able to keep an eye on yubioath-desktop in Debian and, if
necessary, respond to upcoming issues?


for what it's worth, i have been running yubioath with this patch
for ~11 months, so I would feel confident to ship it in Debian
and take responsibility for it


Do you want to submit your patch upstream, so that we can see what they
think, and other distributions can find your work?


Upstream doesn't seems interested; all they do on github is to tag 
issue/mr

about the old codebase with the 'legacy' label & close the issue.

my patches are available here:
https://github.com/twolife/yubioath-desktop-legacy/


Florian


br,
Sébastien



Bug#1060698: [Pkg-auth-maintainers] Bug#1060698: yubioath-desktop: Doesn't see yubikeys anymore.

2024-01-13 Thread Sébastien Noel
On Sat, 13 Jan 2024 11:26:50 +0100 Florian Schlichting
 wrote:
>
> [...]
> While it might be possible to patch py/yubikey.py to work with the
> interface changes in current python3-ykman, I doubt this is a
> sensible thing to do if upstream has decided to abandon
> the QT version.

in case you are interested, you can find the patch in attachement

br,
Sébastien
From 5660af2838fef22b53e9c7c47381755e96dcdc52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Noel?= 
Date: Sat, 25 Feb 2023 17:59:48 +0100
Subject: [PATCH] Compatibility for ykman 5

---
 py/yubikey.py | 93 ++-
 1 file changed, 84 insertions(+), 9 deletions(-)

diff --git a/py/yubikey.py b/py/yubikey.py
index 592f215..bfec19b 100644
--- a/py/yubikey.py
+++ b/py/yubikey.py
@@ -20,9 +20,7 @@
 
 from fido2.ctap import CtapError
 from fido2.ctap2 import Ctap2, ClientPin, FPBioEnrollment, CredentialManagement, CaptureError
-from ykman.device import scan_devices, list_all_devices, connect_to_device, get_name, read_info
 from ykman.pcsc import list_readers, list_devices as list_ccid
-from ykman.otp import PrepareUploadFailed, generate_static_pw, prepare_upload_key, time_challenge, format_oath_code
 from ykman.settings import AppData
 from ykman.oath import is_hidden, is_steam, calculate_steam
 from ykman.scancodes import KEYBOARD_LAYOUT, encode
@@ -44,6 +42,18 @@
 
 import pyotherside
 
+from ykman import __version__ as ykman_v
+
+if int(ykman_v.split(".")[0] ) > 4:
+from yubikit.support import get_name, read_info
+from ykman.device import list_all_devices, scan_devices
+from ykman.otp import (
+_PrepareUploadFailed as PrepareUploadFailed
+, _prepare_upload_key as prepare_upload_key, generate_static_pw, time_challenge, format_oath_code)
+else:
+from ykman.device import scan_devices, list_all_devices, get_name, read_info
+from ykman.otp import PrepareUploadFailed, generate_static_pw, prepare_upload_key, time_challenge, format_oath_code
+
 
 logger = logging.getLogger(__name__)
 
@@ -193,7 +203,22 @@ def _open_device(self, connection_types=[SmartCardConnection, FidoConnection, Ot
 return dev.open_connection(connection_types[0])
 else:
 raise ValueError('no_device_custom_reader')
-return connect_to_device(self._current_serial, connection_types=connection_types)[0]
+
+if int(ykman_v.split(".")[0] ) > 4:
+devs = list_all_devices(connection_types)
+if len(devs) == 0:
+raise Exception("No YubiKey connected")
+elif len(devs) != 1:
+raise Exception("More than one YubiKey connected")
+dev, info2 = devs[0]
+
+for conn_type in connection_types:
+try:
+return dev.open_connection(conn_type)
+except Exception:
+logger.debug(f"Failed connecting to the YubiKey over {conn_type}", exc_info=True)
+else:
+return connect_to_device(self._current_serial, connection_types=connection_types)[0]
 
 def _open_oath(self):
 if self._reader_filter:
@@ -203,7 +228,16 @@ def _open_oath(self):
 else:
 raise ValueError('no_device_custom_reader')
 
-return connect_to_device(self._current_serial, [SmartCardConnection])[0]
+if int(ykman_v.split(".")[0] ) > 4:
+devs = list_all_devices([SmartCardConnection])
+if len(devs) == 0:
+raise Exception("No YubiKey connected")
+elif len(devs) != 1:
+raise Exception("More than one YubiKey connected")
+dev, info2 = devs[0]
+return dev.open_connection(SmartCardConnection)
+else:
+return connect_to_device(self._current_serial, [SmartCardConnection])[0]
 
 def is_win_non_admin(self):
 return success({'winNonAdmin': self._win_non_admin})
@@ -284,7 +318,39 @@ def _get_version(dev):
 supported_interfaces = interfaces_from_capabilities(
 info.supported_capabilities.get(TRANSPORT.USB))
 
-return {
+if int(ykman_v.split(".")[0] ) > 4:
+  return {
+'name': get_name(info, dev.pid.yubikey_type),
+'version': _get_version(info),
+'serial': info.serial or '',
+'usbAppEnabled': [
+a.name for a in CAPABILITY
+if a in info.config.enabled_capabilities.get(TRANSPORT.USB)],
+'usbAppSupported': [
+a.name for a in CAPABILITY
+if a in info.supported_capabilities.get(TRANSPORT.USB)],
+'nfcAppEnabled': [
+a.name for a in CAPABILITY
+if a in info.config.enabled_capabilities.get(TRANSPORT.NFC, [])],
+'nfcAppSupported': [
+a.name for a in CAPABILITY
+if a in info.supported_capabilities.get(TRANSPORT.NFC, [])],
+'usbIn

Bug#1050497: incompatible with the current gnome-shell version

2023-08-25 Thread Sébastien Noel

Package: gnome-shell-extension-dashtodock
Version: 87-1
Severity: serious

Dear maintainer,

The last version you uploaded to sid (87) is incompatible
with the gnome-shell version available in unstable (44)
This render your package completely unusable.

The last dashtodock version compatible with g-s 44 is v84

Regards,
Sébastien



Bug#1041076: dolphin-emu FTBFS with imgui 1.89.6

2023-07-28 Thread Sébastien Noel
Upstream is dealing with this here :
https://github.com/dolphin-emu/dolphin/pull/12065

Please find a minimal patch in attachement.


On Fri, 14 Jul 2023 20:09:01 +0300 Adrian Bunk  wrote:
> Source: dolphin-emu
> Version: 5.0-19368+dfsg-2
> Severity: serious
> Tags: ftbfs
> 
>
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/dolphin-emu.html
> 
> ...
> In file included from /build/1st/dolphin-emu-5.0-
19368+dfsg/Externals/implot/implot/implot_internal.h:39,
>  from /build/1st/dolphin-emu-5.0-
19368+dfsg/Externals/implot/implot/implot_items.cpp:26:
> /usr/include/imgui/imgui_internal.h:101:2: error: #error Please
'#define IMGUI_DEFINE_MATH_OPERATORS' _BEFORE_ including imgui.h!
>   101 | #error Please '#define IMGUI_DEFINE_MATH_OPERATORS' _BEFORE_
including imgui.h!
>   |  ^
> In file included from /build/1st/dolphin-emu-5.0-
19368+dfsg/Externals/implot/implot/implot_internal.h:39,
>  from /build/1st/dolphin-emu-5.0-
19368+dfsg/Externals/implot/implot/implot.cpp:126:
> /usr/include/imgui/imgui_internal.h:101:2: error: #error Please
'#define IMGUI_DEFINE_MATH_OPERATORS' _BEFORE_ including imgui.h!
>   101 | #error Please '#define IMGUI_DEFINE_MATH_OPERATORS' _BEFORE_
including imgui.h!
>   |  ^
> ...
> 
> 

--- a/Externals/implot/implot/implot.cpp
+++ b/Externals/implot/implot/implot.cpp
@@ -122,6 +122,7 @@
 
 */
 
+#define IMGUI_DEFINE_MATH_OPERATORS
 #include "implot.h"
 #include "implot_internal.h"
 
--- a/Externals/implot/implot/implot_internal.h
+++ b/Externals/implot/implot/implot_internal.h
@@ -31,10 +31,6 @@
 
 #pragma once
 
-#ifndef IMGUI_DEFINE_MATH_OPERATORS
-#define IMGUI_DEFINE_MATH_OPERATORS
-#endif
-
 #include 
 #include "imgui_internal.h"
 
--- a/Externals/implot/implot/implot_items.cpp
+++ b/Externals/implot/implot/implot_items.cpp
@@ -22,6 +22,7 @@
 
 // ImPlot v0.14
 
+#define IMGUI_DEFINE_MATH_OPERATORS
 #include "implot.h"
 #include "implot_internal.h"
 
--- a/Source/Core/VideoCommon/OnScreenUI.cpp
+++ b/Source/Core/VideoCommon/OnScreenUI.cpp
@@ -356,35 +356,37 @@
 }
 void OnScreenUI::SetKeyMap(const DolphinKeyMap& key_map)
 {
-  // Right now this is a 1:1 mapping. But might not be true later
   static constexpr DolphinKeyMap dolphin_to_imgui_map = {
   ImGuiKey_Tab,   ImGuiKey_LeftArrow, ImGuiKey_RightArrow, ImGuiKey_UpArrow,
   ImGuiKey_DownArrow, ImGuiKey_PageUp,ImGuiKey_PageDown,   ImGuiKey_Home,
   ImGuiKey_End,   ImGuiKey_Insert,ImGuiKey_Delete, ImGuiKey_Backspace,
-  ImGuiKey_Space, ImGuiKey_Enter, ImGuiKey_Escape, ImGuiKey_KeyPadEnter,
+  ImGuiKey_Space, ImGuiKey_Enter, ImGuiKey_Escape, ImGuiKey_KeypadEnter,
   ImGuiKey_A, ImGuiKey_C, ImGuiKey_V,  ImGuiKey_X,
   ImGuiKey_Y, ImGuiKey_Z,
   };
-  static_assert(dolphin_to_imgui_map.size() == ImGuiKey_COUNT);  // Fail if ImGui adds keys
 
   auto lock = GetImGuiLock();
 
   if (!ImGui::GetCurrentContext())
 return;
 
+  m_dolphin_to_imgui_map.clear();
   for (int dolphin_key = 0; dolphin_key <= static_cast(DolphinKey::Z); dolphin_key++)
   {
-int imgui_key = dolphin_to_imgui_map[DolphinKey(dolphin_key)];
+const int imgui_key = dolphin_to_imgui_map[DolphinKey(dolphin_key)];
 if (imgui_key >= 0)
-  ImGui::GetIO().KeyMap[imgui_key] = (key_map[DolphinKey(dolphin_key)] & 0x1FF);
+{
+  const int mapped_key = key_map[DolphinKey(dolphin_key)];
+  m_dolphin_to_imgui_map[mapped_key & 0x1FF] = imgui_key;
+}
   }
 }
 
 void OnScreenUI::SetKey(u32 key, bool is_down, const char* chars)
 {
   auto lock = GetImGuiLock();
-  if (key < std::size(ImGui::GetIO().KeysDown))
-ImGui::GetIO().KeysDown[key] = is_down;
+  if (auto iter = m_dolphin_to_imgui_map.find(key); iter != m_dolphin_to_imgui_map.end())
+ImGui::GetIO().AddKeyEvent((ImGuiKey)iter->second, is_down);
 
   if (chars)
 ImGui::GetIO().AddInputCharactersUTF8(chars);
--- a/Source/Core/VideoCommon/OnScreenUI.h
+++ b/Source/Core/VideoCommon/OnScreenUI.h
@@ -3,6 +3,7 @@
 
 #pragma once
 
+#include 
 #include 
 #include 
 #include 
@@ -65,6 +66,7 @@
   std::unique_ptr m_imgui_vertex_format;
   std::vector> m_imgui_textures;
   std::unique_ptr m_imgui_pipeline;
+  std::map m_dolphin_to_imgui_map;
   std::mutex m_imgui_mutex;
   u64 m_imgui_last_frame_time = 0;
 


Bug#693659: vmix floating-point mode does not use proper API on Linux

2012-11-24 Thread Sébastien NOEL
Hi,

On Sat, 24 Nov 2012 04:36:43 -0500
Michael Gilbert  wrote:

> Hi, I've prepared an nmu based on the patch.  See attached.  Let me
> know if you want to upload it, or I'll do so in a couple days.

I will not have time to properly test that patch right now.
If you use it & it doesn't break anything for you, feel free to upload
your NMU.

> Best wishes,
> Mike

Best regards,

Sébastien


signature.asc
Description: PGP signature