Show a patch.

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

{
    "id": 24704,
    "url": "https://patchwork.libcamera.org/api/patches/24704/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/24704/",
    "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": "<20251019140738.30325-1-laurent.pinchart@ideasonboard.com>",
    "date": "2025-10-19T14:07:38",
    "name": "subprojects: libyuv: Bump to version 1908",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "93e3c8d40fabc09d13c27fa4bf46c601cbc4d83c",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/24704/mbox/",
    "series": [
        {
            "id": 5511,
            "url": "https://patchwork.libcamera.org/api/series/5511/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5511",
            "date": "2025-10-19T14:07:38",
            "name": "subprojects: libyuv: Bump to version 1908",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/5511/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/24704/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/24704/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 AC5ADBE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 19 Oct 2025 14:07:49 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B4AFD606E8;\n\tSun, 19 Oct 2025 16:07:48 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1D6AE606AC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 19 Oct 2025 16:07:47 +0200 (CEST)",
            "from pendragon.ideasonboard.com (87-94-110-32.bb.dnainternet.fi\n\t[87.94.110.32])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 99208766\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 19 Oct 2025 16:06:04 +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=\"rYrf2xn3\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1760882764;\n\tbh=JhbswliOXOYyQCFRbqrdmrKs9MbhBsRZ2uW32j3IQVw=;\n\th=From:To:Subject:Date:From;\n\tb=rYrf2xn3L6sp5TWS20mx4vaPIO3ybt/xCQwpvVG1YpGBXVshWe+r7llC1t07hsIe/\n\tU85gze0kNyJfFYzBH/UETSHl/m396tkZE/jdn18kNfq1f0D7b2SHpIvrrL850Dbp8f\n\tRiqbWu7IFbAw2y/9jjRUdxicDnULqrF3wTor5JcE=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Subject": "[PATCH] subprojects: libyuv: Bump to version 1908",
        "Date": "Sun, 19 Oct 2025 17:07:38 +0300",
        "Message-ID": "<20251019140738.30325-1-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.51.0",
        "MIME-Version": "1.0",
        "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": "The libyuv wrap uses a libyuv commit between versions 1770 and 1772,\nmore than 5 years old. This specifies CMake 2.8 as the minimum required\nversion.\n\nThe most recent CMake has dropped compatibility with versions older than\n3.5 in CMake 4.0. CMake 3.5 was released in 2016, and all distributions\nwe care about ship more recent versions. With CMake 4.0 or newer,\nshipped for instance by Gentoo, compilation of the libyuv wrap fails.\n\nUpdate the wrap to version 1908, which is the oldest that requires CMake\n3.5 or newer. This introduces another issue: due to a bug in Meson (see\nhttps://github.com/mesonbuild/meson/issues/10764), PIC handling is\nbroken when a CMake project wraps a static library into another static\nlibrary that has no additional source file. Work around it by wrapping\nthe libyuv static library again, manually setting 'pic' to true.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/meson.build         | 16 +++++++++++++++-\n subprojects/libyuv.wrap |  2 +-\n 2 files changed, 16 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/src/meson.build b/src/meson.build\nindex 8eb8f05b362f..9b63c8e845d8 100644\n--- a/src/meson.build\n+++ b/src/meson.build\n@@ -55,7 +55,21 @@ if (pipelines.contains('virtual') or get_option('android').allowed()) and \\\n          '-Wno-unused-parameter')\n     libyuv_vars.append_link_args('-ljpeg')\n     libyuv = cmake.subproject('libyuv', options : libyuv_vars)\n-    libyuv_dep = libyuv.dependency('yuv')\n+\n+    # Meson fails to apply the -fPIC flag to static libraries produced by CMake\n+    # that wraps other static libraries without adding any source file, despite\n+    # setting CMAKE_POSITION_INDEPENDENT_CODE to ON. See\n+    # https://github.com/mesonbuild/meson/issues/10764.\n+    #\n+    # Work around the issue by wrapping the libyuv static library into another\n+    # static library with 'pic' set to true.\n+    libyuv_static = static_library('libyuv-static',\n+                                   dependencies : libyuv.dependency('yuv'),\n+                                   pic : true,\n+                                   install : false)\n+    libyuv_include = libyuv.include_directories('yuv')\n+    libyuv_dep = declare_dependency(link_with : libyuv_static,\n+                                    include_directories : libyuv_include)\n endif\n \n # libcamera must be built first as a dependency to the other components.\ndiff --git a/subprojects/libyuv.wrap b/subprojects/libyuv.wrap\nindex 3417e73f376c..70039b705925 100644\n--- a/subprojects/libyuv.wrap\n+++ b/subprojects/libyuv.wrap\n@@ -3,4 +3,4 @@\n [wrap-git]\n directory = libyuv\n url = https://chromium.googlesource.com/libyuv/libyuv.git\n-revision = 93b1b332cd60b56ab90aea14182755e379c28a80\n+revision = 23d416d6f32539bc7e44afa2bec6ce0128dbed0b\n",
    "prefixes": []
}