get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 50150,
    "url": "https://patches.dpdk.org/api/patches/50150/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20190206170848.19059-2-bluca@debian.org/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20190206170848.19059-2-bluca@debian.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190206170848.19059-2-bluca@debian.org",
    "date": "2019-02-06T17:08:45",
    "name": "[v6,2/5] build: use dependency() instead of find_library()",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "66fb21f10c27767b693e1ee177dfe28886610aa9",
    "submitter": {
        "id": 823,
        "url": "https://patches.dpdk.org/api/people/823/?format=api",
        "name": "Luca Boccassi",
        "email": "bluca@debian.org"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20190206170848.19059-2-bluca@debian.org/mbox/",
    "series": [
        {
            "id": 3399,
            "url": "https://patches.dpdk.org/api/series/3399/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=3399",
            "date": "2019-02-06T17:08:44",
            "name": "[v6,1/5] build: bump minimum Meson version to 0.47.1",
            "version": 6,
            "mbox": "https://patches.dpdk.org/series/3399/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/50150/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/50150/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 59D8D1B453;\n\tWed,  6 Feb 2019 18:09:01 +0100 (CET)",
            "from mail-wm1-f41.google.com (mail-wm1-f41.google.com\n\t[209.85.128.41]) by dpdk.org (Postfix) with ESMTP id 699361B42F\n\tfor <dev@dpdk.org>; Wed,  6 Feb 2019 18:08:59 +0100 (CET)",
            "by mail-wm1-f41.google.com with SMTP id p6so3638037wmc.1\n\tfor <dev@dpdk.org>; Wed, 06 Feb 2019 09:08:59 -0800 (PST)",
            "from localhost ([2a01:4b00:f419:6f00:b833:9472:a517:a18f])\n\tby smtp.gmail.com with ESMTPSA id\n\tw18sm30922246wru.54.2019.02.06.09.08.57\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tWed, 06 Feb 2019 09:08:57 -0800 (PST)"
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=inMEIubLkwmeqh31hz8HoCWHZGoEwUaR3sIuOL8rzSw=;\n\tb=RajvbbQAficmaCGBJQTC8v7zNiZQZXlx49uO7EtAERb/7vf+f3d0Z7QEYSuSIB+IQf\n\tYix+48h+0bnWGmMC7lnHrSmOvY66ZxFvUF6QFyHEk+IdPsrS/Hm5EqoAgJ8lMD26HIQ+\n\t/3ZF5WlQ7xklowHt5nOy94EXfFDs54BevcYvV5o2tUi+uWeH9Tu+qotHg2G6Rg+JsfIn\n\twSK0MgUa/Dk0NQ8VuO5erSdi77gQawP7AZT00kUm/z2JviMQqLDbG3q9B+RkIML8ESry\n\tfgwqKt+dLmVTqigTRujWKAe9XhG1vzYxSMkp7OnyYTXbSb6wixQe2oCQMrpNiPVuQqts\n\tEybw==",
        "X-Gm-Message-State": "AHQUAuZPTcU6Ar7b2ekNaqd2GgYT5bXTShZyUb5Yf6KeAbL03VcJwMt9\n\t60H/XfUgp8PH16/DRtHEEeMyPkhP",
        "X-Google-Smtp-Source": "AHgI3IawJejbva5CaomnaDyCEz2hL92fsAzovcY3iboODwMA11Mjs+YkjjWlIYhmbbmrQbOcuOPyGg==",
        "X-Received": "by 2002:a1c:e10a:: with SMTP id y10mr3959999wmg.73.1549472938430;\n\tWed, 06 Feb 2019 09:08:58 -0800 (PST)",
        "From": "Luca Boccassi <bluca@debian.org>",
        "To": "dev@dpdk.org",
        "Cc": "bruce.richardson@intel.com,\n\tLuca Boccassi <bluca@debian.org>",
        "Date": "Wed,  6 Feb 2019 17:08:45 +0000",
        "Message-Id": "<20190206170848.19059-2-bluca@debian.org>",
        "X-Mailer": "git-send-email 2.20.1",
        "In-Reply-To": "<20190206170848.19059-1-bluca@debian.org>",
        "References": "<20190103175725.5836-1-bluca@debian.org>\n\t<20190206170848.19059-1-bluca@debian.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v6 2/5] build: use dependency() instead of\n\tfind_library()",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Whenever possible (if the library ships a pkg-config file) use meson's\ndependency() function to look for it, as it will automatically add it\nto the Requires.private list if needed, to allow for static builds to\nsucceed for reverse dependencies of DPDK. Otherwise the recursive\ndependencies are not parsed, and users doing static builds have to\nresolve them manually by themselves.\nWhen using this API avoid additional checks that are superfluous and\ntake extra time, and avoid adding the linker flag manually which causes\nit to be duplicated.\n\nSigned-off-by: Luca Boccassi <bluca@debian.org>\nAcked-by: Bruce Richardson <bruce.richardson@intel.com>\n---\nv2: split libbsd change in a separate commit, remove CC to stable\n    as a meson bump will be required\nv4: update comment in drivers/meson.build to clarify role of\n    pkgconfig_extra_libs\nv5: remove -lz from drivers/compress/zlib\n\n drivers/compress/zlib/meson.build  | 1 -\n drivers/crypto/ccp/meson.build     | 1 -\n drivers/crypto/openssl/meson.build | 1 -\n drivers/crypto/qat/meson.build     | 1 -\n drivers/meson.build                | 9 +++++----\n drivers/net/bnx2x/meson.build      | 2 +-\n drivers/net/mlx4/meson.build       | 6 +++---\n drivers/net/mlx5/meson.build       | 6 +++---\n drivers/net/pcap/meson.build       | 5 ++---\n lib/librte_bpf/meson.build         | 4 ++--\n lib/librte_telemetry/meson.build   | 2 +-\n 11 files changed, 17 insertions(+), 21 deletions(-)",
    "diff": "diff --git a/drivers/compress/zlib/meson.build b/drivers/compress/zlib/meson.build\nindex 7748de2df..b036703c7 100644\n--- a/drivers/compress/zlib/meson.build\n+++ b/drivers/compress/zlib/meson.build\n@@ -9,6 +9,5 @@ endif\n deps += 'bus_vdev'\n sources = files('zlib_pmd.c', 'zlib_pmd_ops.c')\n ext_deps += dep\n-pkgconfig_extra_libs += '-lz'\n \n allow_experimental_apis = true\ndiff --git a/drivers/crypto/ccp/meson.build b/drivers/crypto/ccp/meson.build\nindex e43b00591..915c4c854 100644\n--- a/drivers/crypto/ccp/meson.build\n+++ b/drivers/crypto/ccp/meson.build\n@@ -18,4 +18,3 @@ sources = files('rte_ccp_pmd.c',\n \t\t'ccp_pmd_ops.c')\n \n ext_deps += dep\n-pkgconfig_extra_libs += '-lcrypto'\ndiff --git a/drivers/crypto/openssl/meson.build b/drivers/crypto/openssl/meson.build\nindex 77a6596d7..d56a32366 100644\n--- a/drivers/crypto/openssl/meson.build\n+++ b/drivers/crypto/openssl/meson.build\n@@ -9,4 +9,3 @@ allow_experimental_apis = true\n deps += 'bus_vdev'\n sources = files('rte_openssl_pmd.c', 'rte_openssl_pmd_ops.c')\n ext_deps += dep\n-pkgconfig_extra_libs += '-lcrypto'\ndiff --git a/drivers/crypto/qat/meson.build b/drivers/crypto/qat/meson.build\nindex 9cc98d2c2..21f969735 100644\n--- a/drivers/crypto/qat/meson.build\n+++ b/drivers/crypto/qat/meson.build\n@@ -13,6 +13,5 @@ if dep.found()\n \t\t\t     'qat_sym.c',\n \t\t\t     'qat_sym_session.c')\n \tqat_ext_deps += dep\n-\tpkgconfig_extra_libs += '-lcrypto'\n \tqat_cflags += '-DBUILD_QAT_SYM'\n endif\ndiff --git a/drivers/meson.build b/drivers/meson.build\nindex e37d4fe2b..69d0556d3 100644\n--- a/drivers/meson.build\n+++ b/drivers/meson.build\n@@ -46,10 +46,11 @@ foreach class:driver_classes\n \t\t# set up internal deps. Drivers can append/override as necessary\n \t\tdeps = std_deps\n \t\t# ext_deps: Stores external library dependency got\n-\t\t# using dependency() or cc.find_library(). For most cases, we\n-\t\t# probably also need to specify the \"-l\" flags in\n-\t\t# pkgconfig_extra_libs variable too, so that it can be reflected\n-\t\t# in the pkgconfig output for static builds\n+\t\t# using dependency() (preferred) or find_library().\n+\t\t# For the find_library() case (but not with dependency()) we also\n+\t\t# need to specify the \"-l\" flags in pkgconfig_extra_libs variable\n+\t\t# too, so that it can be reflected in the pkgconfig output for\n+\t\t# static builds.\n \t\text_deps = []\n \t\tpkgconfig_extra_libs = []\n \ndiff --git a/drivers/net/bnx2x/meson.build b/drivers/net/bnx2x/meson.build\nindex e3c688869..dd189ffc4 100644\n--- a/drivers/net/bnx2x/meson.build\n+++ b/drivers/net/bnx2x/meson.build\n@@ -1,7 +1,7 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2018 Intel Corporation\n \n-dep = cc.find_library('z', required: false)\n+dep = dependency('zlib', required: false)\n build = dep.found()\n ext_deps += dep\n cflags += '-DZLIB_CONST'\ndiff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build\nindex 4bccd68e0..b4f9672e7 100644\n--- a/drivers/net/mlx4/meson.build\n+++ b/drivers/net/mlx4/meson.build\n@@ -14,9 +14,9 @@ if pmd_dlopen\n \t]\n endif\n libs = [\n-\tcc.find_library('mnl', required:false),\n-\tcc.find_library('mlx4', required:false),\n-\tcc.find_library('ibverbs', required:false),\n+\tdependency('libmnl', required:false),\n+\tdependency('libmlx4', required:false),\n+\tdependency('libibverbs', required:false),\n ]\n build = true\n foreach lib:libs\ndiff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build\nindex 4540c455b..0cf2f0873 100644\n--- a/drivers/net/mlx5/meson.build\n+++ b/drivers/net/mlx5/meson.build\n@@ -14,9 +14,9 @@ if pmd_dlopen\n \t]\n endif\n libs = [\n-\tcc.find_library('mnl', required:false),\n-\tcc.find_library('mlx5', required:false),\n-\tcc.find_library('ibverbs', required:false),\n+\tdependency('libmnl', required:false),\n+\tdependency('libmlx5', required:false),\n+\tdependency('libibverbs', required:false),\n ]\n build = true\n foreach lib:libs\ndiff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build\nindex 0c4e0201a..89c9d7a74 100644\n--- a/drivers/net/pcap/meson.build\n+++ b/drivers/net/pcap/meson.build\n@@ -1,12 +1,11 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2017 Intel Corporation\n \n-pcap_dep = cc.find_library('pcap', required: false)\n-if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)\n+pcap_dep = dependency('pcap', required: false)\n+if pcap_dep.found()\n \tbuild = true\n else\n \tbuild = false\n endif\n sources = files('rte_eth_pcap.c')\n ext_deps += pcap_dep\n-pkgconfig_extra_libs += '-lpcap'\ndiff --git a/lib/librte_bpf/meson.build b/lib/librte_bpf/meson.build\nindex bc0cd78f9..c3b1f698e 100644\n--- a/lib/librte_bpf/meson.build\n+++ b/lib/librte_bpf/meson.build\n@@ -18,8 +18,8 @@ install_headers = files('bpf_def.h',\n \n deps += ['mbuf', 'net', 'ethdev']\n \n-dep = cc.find_library('elf', required: false)\n-if dep.found() == true and cc.has_header('libelf.h', dependencies: dep)\n+dep = dependency('libelf', required: false)\n+if dep.found()\n \tsources += files('bpf_load_elf.c')\n \text_deps += dep\n endif\ndiff --git a/lib/librte_telemetry/meson.build b/lib/librte_telemetry/meson.build\nindex 9492f544e..cafb26f08 100644\n--- a/lib/librte_telemetry/meson.build\n+++ b/lib/librte_telemetry/meson.build\n@@ -6,7 +6,7 @@ headers = files('rte_telemetry.h', 'rte_telemetry_internal.h', 'rte_telemetry_pa\n deps += ['metrics', 'ethdev']\n cflags += '-DALLOW_EXPERIMENTAL_API'\n \n-jansson = cc.find_library('jansson', required: false)\n+jansson = dependency('jansson', required: false)\n if jansson.found()\n \text_deps += jansson\n \tdpdk_app_link_libraries += ['telemetry']\n",
    "prefixes": [
        "v6",
        "2/5"
    ]
}