Patch Detail
Show a patch.
GET /api/1.1/patches/26055/?format=api
{ "id": 26055, "url": "https://patchwork.libcamera.org/api/1.1/patches/26055/?format=api", "web_url": "https://patchwork.libcamera.org/patch/26055/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260130111133.1576210-1-barnabas.pocze@ideasonboard.com>", "date": "2026-01-30T11:11:33", "name": "[v1] meson: Add options to control drm, sdl2, jpeg dependencies of `cam`", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "a41499ccd696625a932c848d1da5dccf3f713327", "submitter": { "id": 216, "url": "https://patchwork.libcamera.org/api/1.1/people/216/?format=api", "name": "Barnabás Pőcze", "email": "barnabas.pocze@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/26055/mbox/", "series": [ { "id": 5761, "url": "https://patchwork.libcamera.org/api/1.1/series/5761/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5761", "date": "2026-01-30T11:11:33", "name": "[v1] meson: Add options to control drm, sdl2, jpeg dependencies of `cam`", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5761/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/26055/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/26055/checks/", "tags": {}, "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id E8081C3226\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 30 Jan 2026 11:11:39 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0C27A61FC6;\n\tFri, 30 Jan 2026 12:11:39 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 28FCD61F84\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 30 Jan 2026 12:11:37 +0100 (CET)", "from pb-laptop.local (185.221.142.123.nat.pool.zt.hu\n\t[185.221.142.123])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 57B2173B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 30 Jan 2026 12:10:58 +0100 (CET)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"jN3RLc+9\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1769771458;\n\tbh=03R53uyysAS3PePBOFVGKZZFuRlZ5QQL+cV3fvUw/AI=;\n\th=From:To:Subject:Date:From;\n\tb=jN3RLc+9e4q8NWJucbk0AtkO+CjaRd3XSY7Znp3VSTZi1JSOIRw+tzKncpjaOu0MJ\n\tuKngbLmdM/kKO0FBdPw9bFk288QHLwrM1GtDcy1fYveRbKlrQaBpUwjFofrbnPzZp6\n\tsWIBz3Eh896PLmB0Y2XK0w7TKYmn1ZVgzGrYiEag=", "From": "=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Subject": "[PATCH v1] meson: Add options to control drm, sdl2,\n\tjpeg dependencies of `cam`", "Date": "Fri, 30 Jan 2026 12:11:33 +0100", "Message-ID": "<20260130111133.1576210-1-barnabas.pocze@ideasonboard.com>", "X-Mailer": "git-send-email 2.52.0", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Previously it was not possible to control these dependencies, they were\nalways used if found. Furthermore, libjpeg was unnecessarily added as a\ndependency even if sdl2 was not found. Fix that by introducing three\noptions to control the dependencies.\n\nSigned-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n---\n meson_options.txt | 15 +++++++++++++++\n src/apps/cam/meson.build | 36 ++++++++++++++++++++++--------------\n 2 files changed, 37 insertions(+), 14 deletions(-)", "diff": "diff --git a/meson_options.txt b/meson_options.txt\nindex 8121cf5d2..58cf52ad1 100644\n--- a/meson_options.txt\n+++ b/meson_options.txt\n@@ -16,6 +16,21 @@ option('cam',\n value : 'auto',\n description : 'Compile the cam test application')\n \n+option('cam-output-kms',\n+ type : 'feature',\n+ value : 'auto',\n+ description : 'Enable KMS output in the cam application')\n+\n+option('cam-output-sdl2',\n+ type : 'feature',\n+ value : 'auto',\n+ description : 'Enable SDL2 output in the cam application')\n+\n+option('cam-output-sdl2-jpeg',\n+ type : 'feature',\n+ value : 'auto',\n+ description : 'Enable JPEG support in the SDL2 output in the cam application')\n+\n option('documentation',\n type : 'feature',\n value : 'auto',\ndiff --git a/src/apps/cam/meson.build b/src/apps/cam/meson.build\nindex cd7f120f9..c73c0f5d9 100644\n--- a/src/apps/cam/meson.build\n+++ b/src/apps/cam/meson.build\n@@ -17,9 +17,18 @@ cam_sources = files([\n \n cam_cpp_args = [apps_cpp_args]\n \n-libdrm = dependency('libdrm', required : false)\n-libjpeg = dependency('libjpeg', required : false)\n-libsdl2 = dependency('SDL2', required : false)\n+cam_deps = [\n+ libatomic,\n+ libcamera_public,\n+ libevent,\n+ libthreads,\n+ libyaml,\n+ libtiff,\n+]\n+\n+libdrm = dependency('libdrm', required : get_option('cam-output-kms'))\n+libsdl2 = dependency('SDL2', required : get_option('cam-output-sdl2'))\n+libjpeg = dependency('libjpeg', required : get_option('cam-output-sdl2-jpeg'))\n \n if libdrm.found()\n cam_cpp_args += [ '-DHAVE_KMS' ]\n@@ -27,6 +36,9 @@ if libdrm.found()\n 'drm.cpp',\n 'kms_sink.cpp'\n ])\n+ cam_deps += [\n+ libdrm,\n+ ]\n endif\n \n if libsdl2.found()\n@@ -37,28 +49,24 @@ if libsdl2.found()\n 'sdl_texture_1plane.cpp',\n 'sdl_texture_yuv.cpp',\n ])\n+ cam_deps += [\n+ libsdl2,\n+ ]\n \n if libjpeg.found()\n cam_cpp_args += ['-DHAVE_LIBJPEG']\n cam_sources += files([\n 'sdl_texture_mjpg.cpp'\n ])\n+ cam_deps += [\n+ libjpeg,\n+ ]\n endif\n endif\n \n cam = executable('cam', cam_sources,\n link_with : apps_lib,\n- dependencies : [\n- libatomic,\n- libcamera_public,\n- libdrm,\n- libevent,\n- libjpeg,\n- libsdl2,\n- libtiff,\n- libthreads,\n- libyaml,\n- ],\n+ dependencies : cam_deps,\n cpp_args : cam_cpp_args,\n install : true,\n install_tag : 'bin')\n", "prefixes": [ "v1" ] }