Show a patch.

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

{
    "id": 19435,
    "url": "https://patchwork.libcamera.org/api/patches/19435/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/19435/",
    "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": "<20240121211040.1048509-2-neal@gompa.dev>",
    "date": "2024-01-21T21:09:44",
    "name": "[libcamera-devel,1/3] apps: qcam: Port to Qt 6",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "74e5cdb66cd778d1aa9731783ae59b354b5849fd",
    "submitter": {
        "id": 181,
        "url": "https://patchwork.libcamera.org/api/people/181/?format=api",
        "name": "Neal Gompa",
        "email": "neal@gompa.dev"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/19435/mbox/",
    "series": [
        {
            "id": 4150,
            "url": "https://patchwork.libcamera.org/api/series/4150/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4150",
            "date": "2024-01-21T21:09:43",
            "name": "apps: qcam: Port to Qt 6",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/4150/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/19435/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/19435/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 13386C3243\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 21 Jan 2024 21:11:22 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AEE1C62947;\n\tSun, 21 Jan 2024 22:11:21 +0100 (CET)",
            "from mail-qk1-f170.google.com (mail-qk1-f170.google.com\n\t[209.85.222.170])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 40D5562946\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 21 Jan 2024 22:11:20 +0100 (CET)",
            "by mail-qk1-f170.google.com with SMTP id\n\taf79cd13be357-783182d4a0aso218078285a.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 21 Jan 2024 13:11:20 -0800 (PST)",
            "from Belldandy-Slimbook.infra.opensuse.org ([32.220.181.243])\n\tby smtp.gmail.com with ESMTPSA id\n\tz21-20020a05620a101500b007832895cf8csm1596456qkj.38.2024.01.21.13.11.16\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tSun, 21 Jan 2024 13:11:17 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1705871481;\n\tbh=QHGX4vy6TAHJhrGjSMyq1LIDG2aIUXNFZpHhRG5ItCc=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=lqRMLDayZMJLIKNkeKNdbL2CXn5DDbYIDdACcjAHFGHEsPrzPAJFXVc4JZuxHOGcd\n\t5xdOu6ljiGs93IvQOZaY8lzZBzOMjjEe8HUPds2ZCr20ZLxaBjgI5rDGiNaRh/JwRc\n\tJwhiwDBnWKyd36K4CR1s87K6nnNvkA+cFSk22OMa7GhYSk53IQYbKw8etBv0k1MrrU\n\tk5BN8SM8bdn2q12lq0v6yNtJrmsMSkO8vAfAWHPzEEDwJZ1Tv2E+nKzdr83fEsbpez\n\t6G6xXT0tvkiLSDGQoTpb0O0uWT21uWc4JLmt71UYTiF/CIG6Nf6Ek67NXVXtk4/TMb\n\trNyliNcSfDDYQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1705871478; x=1706476278;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=X+SnimwoYr5MMrSkUhhL7b4QmFXuwHwt7evm/Ag5hqU=;\n\tb=gLWZmJ5G96qU4nCGvlcInIXjaqhtE1Vchg1PuYIBSfcfuU3Za6OEGp6PufAMKgY44q\n\tYIzEhxKGNasUYgGf7d6mDSgp/xk9QTxevTMNsI0GOUXh4D7fP56iMz+0zJxisI5dzsfY\n\tk+E0acurJ84x0mD9aH5FlgIazghN+hIHplVdAcUuS596ktxc98ob34u722e/xg3OjYIH\n\tj5DvcjrVIxr+LNcNAn6zCet3SCewilVuJdCI584jlPTHFD7cHS4Mv56Qjqc8ihkzSkUi\n\tPFZYTahu5yORvizj8fUNwj636UbZppOAGMHnid8SR+I2+QFBjSHtArxeO8CRZHynlj33\n\tmS9A==",
        "X-Gm-Message-State": "AOJu0YxpMPIBKj+9xlyC54nk91yCTQsVnDbmi8gv5KDd1uuvMwlwErYH\n\tuDwPnSZEJLUEfnZrTRv3Kk0HyXoAPsrUX9JG7ME31vQj5Wi7+XsCtXufxhZlO8Y=",
        "X-Google-Smtp-Source": "AGHT+IGY4XId2+fQVCplJ2TJ8rqf8bZ74LL5ndknIWo9u4TZ0E/Nf/FI350Hj9+jcFEza5YOwx2YOg==",
        "X-Received": "by 2002:a05:620a:2a14:b0:783:7674:29af with SMTP id\n\to20-20020a05620a2a1400b00783767429afmr4650485qkp.25.1705871478528; \n\tSun, 21 Jan 2024 13:11:18 -0800 (PST)",
        "To": "libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Date": "Sun, 21 Jan 2024 16:09:44 -0500",
        "Message-ID": "<20240121211040.1048509-2-neal@gompa.dev>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20240121211040.1048509-1-neal@gompa.dev>",
        "References": "<20240121211040.1048509-1-neal@gompa.dev>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 1/3] apps: qcam: Port to Qt 6",
        "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>",
        "From": "Neal Gompa via libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Neal Gompa <neal@gompa.dev>",
        "Cc": "Neal Gompa <neal@gompa.dev>, Wim Taymans <wtaymans@redhat.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Open source Qt 5 has been effectively end of life since the release\nof Qt 6, and Qt 6 has current LTS releases now.\n\nThis change ports qcam to Qt 6.2 and drops some of the baggage related\nto Qt 5 that is no longer applicable.\n\nSigned-off-by: Neal Gompa <neal@gompa.dev>\n---\n README.rst                |  2 +-\n src/apps/qcam/meson.build | 45 +++++++++++----------------------------\n 2 files changed, 14 insertions(+), 33 deletions(-)",
    "diff": "diff --git a/README.rst b/README.rst\nindex 315738ee..6f1c9302 100644\n--- a/README.rst\n+++ b/README.rst\n@@ -88,7 +88,7 @@ for cam: [optional]\n         - libsdl2-dev: Enables the SDL sink\n \n for qcam: [optional]\n-        libtiff-dev qtbase5-dev qttools5-dev-tools\n+        libtiff-dev qt6-base-dev qt6-tools-dev-tools\n \n for tracing with lttng: [optional]\n         liblttng-ust-dev python3-jinja2 lttng-tools\ndiff --git a/src/apps/qcam/meson.build b/src/apps/qcam/meson.build\nindex 6cf4c171..c7fcfbeb 100644\n--- a/src/apps/qcam/meson.build\n+++ b/src/apps/qcam/meson.build\n@@ -1,13 +1,13 @@\n # SPDX-License-Identifier: CC0-1.0\n \n-qt5 = import('qt5')\n-qt5_dep = dependency('qt5',\n+qt6 = import('qt6')\n+qt6_dep = dependency('qt6',\n                      method : 'pkg-config',\n-                     modules : ['Core', 'Gui', 'Widgets'],\n+                     modules : ['Core', 'Gui', 'OpenGL', 'OpenGLWidgets', 'Widgets'],\n                      required : get_option('qcam'),\n-                     version : '>=5.4')\n+                     version : '>=6.2')\n \n-if not qt5_dep.found()\n+if not qt6_dep.found()\n     qcam_enabled = false\n     subdir_done()\n endif\n@@ -20,46 +20,27 @@ qcam_sources = files([\n     'main.cpp',\n     'main_window.cpp',\n     'message_handler.cpp',\n+    'viewfinder_gl.cpp',\n     'viewfinder_qt.cpp',\n ])\n \n qcam_moc_headers = files([\n     'cam_select_dialog.h',\n     'main_window.h',\n+    'viewfinder_gl.h',\n     'viewfinder_qt.h',\n ])\n \n qcam_resources = files([\n     'assets/feathericons/feathericons.qrc',\n+    'assets/shader/shaders.qrc',\n ])\n \n-qt5_cpp_args = [apps_cpp_args, '-DQT_NO_KEYWORDS']\n+qt6_cpp_args = [apps_cpp_args, '-DQT_NO_KEYWORDS']\n \n-if cxx.has_header_symbol('QOpenGLWidget', 'QOpenGLWidget',\n-                         dependencies : qt5_dep, args : '-fPIC')\n-    qcam_sources += files([\n-        'viewfinder_gl.cpp',\n-    ])\n-    qcam_moc_headers += files([\n-        'viewfinder_gl.h',\n-    ])\n-    qcam_resources += files([\n-        'assets/shader/shaders.qrc'\n-    ])\n-endif\n-\n-# gcc 9 introduced a deprecated-copy warning that is triggered by Qt until\n-# Qt 5.13. clang 10 introduced the same warning, but detects more issues\n-# that are not fixed in Qt yet. Disable the warning manually in both cases.\n-if ((cc.get_id() == 'gcc' and cc.version().version_compare('>=9.0') and\n-     qt5_dep.version().version_compare('<5.13')) or\n-    (cc.get_id() == 'clang' and cc.version().version_compare('>=10.0')))\n-    qt5_cpp_args += ['-Wno-deprecated-copy']\n-endif\n-\n-resources = qt5.preprocess(moc_headers : qcam_moc_headers,\n+resources = qt6.preprocess(moc_headers : qcam_moc_headers,\n                            qresources : qcam_resources,\n-                           dependencies : qt5_dep)\n+                           dependencies : qt6_dep)\n \n qcam  = executable('qcam', qcam_sources, resources,\n                    install : true,\n@@ -69,6 +50,6 @@ qcam  = executable('qcam', qcam_sources, resources,\n                        libatomic,\n                        libcamera_public,\n                        libtiff,\n-                       qt5_dep,\n+                       qt6_dep,\n                    ],\n-                   cpp_args : qt5_cpp_args)\n+                   cpp_args : qt6_cpp_args)\n",
    "prefixes": [
        "libcamera-devel",
        "1/3"
    ]
}