Show a patch.

GET /api/patches/23622/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 23622,
    "url": "https://patchwork.libcamera.org/api/patches/23622/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/23622/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/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": "<20250623071834.38955-1-barnabas.pocze@ideasonboard.com>",
    "date": "2025-06-23T07:18:34",
    "name": "[v1] meson: Use libyaml wrap file from wrapdb",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "819fda5107dc06f595e7464f17e7acb4cb2a16e8",
    "submitter": {
        "id": 216,
        "url": "https://patchwork.libcamera.org/api/people/216/?format=api",
        "name": "Barnabás Pőcze",
        "email": "barnabas.pocze@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/23622/mbox/",
    "series": [
        {
            "id": 5238,
            "url": "https://patchwork.libcamera.org/api/series/5238/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5238",
            "date": "2025-06-23T07:18:34",
            "name": "[v1] meson: Use libyaml wrap file from wrapdb",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/5238/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/23622/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/23622/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 F0A53BDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 23 Jun 2025 07:18:39 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4AD0F68DE3;\n\tMon, 23 Jun 2025 09:18:38 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 430EF61533\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 23 Jun 2025 09:18:37 +0200 (CEST)",
            "from pb-laptop.local (185.221.143.107.nat.pool.zt.hu\n\t[185.221.143.107])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id ADB8D107\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 23 Jun 2025 09:18:20 +0200 (CEST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"CZ+4mWBU\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1750663100;\n\tbh=XxVLszAf1TW+IHg5GBu9Az+zjC4wv5EC13TC7fDY7qQ=;\n\th=From:To:Subject:Date:From;\n\tb=CZ+4mWBU7fYlEqynzjJVGy5t3Pbrco2NrueZCvBBvDVs4iC5xax7T5ETs90EDZjc0\n\tODDxCtVxzVJ03Hst80Kp6bnWPD4MQhCs6cQov+p24pkEOwJ5zEzi2X4QRVlqpmUu7e\n\tM6mCzVYAZTQQ9gxfvVy0jIpk8WuZ+CK55AdgqSOE=",
        "From": "=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Subject": "[PATCH v1] meson: Use libyaml wrap file from wrapdb",
        "Date": "Mon, 23 Jun 2025 09:18:34 +0200",
        "Message-ID": "<20250623071834.38955-1-barnabas.pocze@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.50.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": "Use the libyaml wrap file from the meson wrapdb instead of\ncreating the wrap file manually and using the cmake module.\nThis provides better integration with meson, such as the\n`force_fallback_for` built-in option.\n\nThe `werror=false` needs to be set when the subproject is\nused because libyaml does not compile without warnings,\nand that would abort the build process otherwise.\n\nThis is also needed because the upstream CMakeLists.txt is\nout of date, failing with a sufficiently new cmake version:\n\n  CMake Error at CMakeLists.txt:2 (cmake_minimum_required):\n  Compatibility with CMake < 3.5 has been removed from CMake.\n\nThe above is nonetheless addressed by https://github.com/yaml/libyaml/pull/314,\nbut the project seems a bit inactive at the moment.\n\nThe wrap file was added using `meson wrap install libyaml`,\nand it can be updated using `meson wrap update libyaml`.\n\nSigned-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n---\n src/libcamera/meson.build | 15 +++------------\n subprojects/libyaml.wrap  | 16 ++++++++++------\n 2 files changed, 13 insertions(+), 18 deletions(-)",
    "diff": "diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\nindex 28a3b0f36..9f782e729 100644\n--- a/src/libcamera/meson.build\n+++ b/src/libcamera/meson.build\n@@ -84,7 +84,9 @@ if not cc.has_function('dlopen')\n     libdl = cc.find_library('dl')\n endif\n libudev = dependency('libudev', required : get_option('udev'))\n-libyaml = dependency('yaml-0.1', required : false)\n+libyaml = dependency('yaml-0.1', default_options : [\n+    'werror=false',\n+])\n \n # Use one of gnutls or libcrypto (provided by OpenSSL), trying gnutls first.\n libcrypto = dependency('gnutls', required : false)\n@@ -120,17 +122,6 @@ if libudev.found()\n     ])\n endif\n \n-# Fallback to a subproject if libyaml isn't found, as it's not packaged in AOSP.\n-if not libyaml.found()\n-    cmake = import('cmake')\n-\n-    libyaml_vars = cmake.subproject_options()\n-    libyaml_vars.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON'})\n-    libyaml_vars.append_compile_args('c', '-Wno-unused-value')\n-    libyaml_wrap = cmake.subproject('libyaml', options : libyaml_vars)\n-    libyaml = libyaml_wrap.dependency('yaml')\n-endif\n-\n control_sources = []\n \n controls_mode_files = {\ndiff --git a/subprojects/libyaml.wrap b/subprojects/libyaml.wrap\nindex 392416c61..85d9af44e 100644\n--- a/subprojects/libyaml.wrap\n+++ b/subprojects/libyaml.wrap\n@@ -1,7 +1,11 @@\n-# SPDX-License-Identifier: CC0-1.0\n+[wrap-file]\n+directory = yaml-0.2.5\n+source_url = https://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz\n+source_filename = yaml-0.2.5.tar.gz\n+source_hash = c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4\n+patch_filename = libyaml_0.2.5-1_patch.zip\n+patch_url = https://wrapdb.mesonbuild.com/v2/libyaml_0.2.5-1/get_patch\n+patch_hash = bf2e9b922be00b6b00c5fce29d9fb8dc83f0431c77239f3b73e8b254d3f3f5b5\n \n-[wrap-git]\n-directory = libyaml\n-url = https://github.com/yaml/libyaml\n-# tags/0.2.5\n-revision = 2c891fc7a770e8ba2fec34fc6b545c672beb37e6\n+[provide]\n+yaml-0.1 = yaml_dep\n",
    "prefixes": [
        "v1"
    ]
}