From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 18 Oct 2022 09:40:09 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1okhCr-00CPUF-Jw for lore@lore.pengutronix.de; Tue, 18 Oct 2022 09:40:09 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1okhCp-0000Ld-UH; Tue, 18 Oct 2022 09:40:07 +0200 Received: from mail-vi1eur05on2060.outbound.protection.outlook.com ([40.107.21.60] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1okhCd-0000LU-8V for ptxdist@pengutronix.de; Tue, 18 Oct 2022 09:39:56 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jnV2Q4SuDp6gY1WwBAzT52aw/AywaSdAk5Fb0bLFJCsQRNSDhSq3BcC3ZKe2ELflDrUjEX6JIyzZ7+f+cMk5D1Xa4tV/SHeVIWOmmH8bGBKE8exqlQqZtsOhaqNzRoYgc35vfYoEZeFQzXFH+nXgYvNNPQ4icYpkDv7jVst8z20fsOTLLk0rkO7/6tJvl5FXTLE0tfYXdwBubdnQlIbe8eyNM+EikpUZJo5d0S4sGpdH+ajAR1ZSbZTmXNXEhCRQzCwkWbIWxI5kQVU2NE2rVVz75FY/7Q/r0Vh4dQriHO9owOPeSCkt7jyU8F9QvAY1fU92xiJ4Vz5+xJAUKtkYYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rLoNbYyzTVajQL1duCGCaiejfJ0mYObxDioJSKLdNn0=; b=Gm/PSYoeRHOtqO23fClr3bmzUC/wFozdM3X08mD/SqqDptQcxvOM/ClIpd80cw5kaRGeiFySvGTRGKWLj2FREVjcrizVmRPYldo+dwo5lIMMmtawsUzc5krM5NDoOTeBxincX6WIyxOIScXi80XGozOTDYjA8Oass+kxF+JOx2czlAnzm7CTF8WBPOe0hmdl7icoREGazY4ac1H6Rk4ikMyKJXMofCwLea9Xz0KBN1G+Cj92gkVjjh7aF4YUIySBluBXYKdfZMmexy5onKqZj3bejXOR3GxKpwA1FsLwPZjdmX5a/LSz/NbdMFjta/eK3RjaEUlpwEHEP9dnCrf6Mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=t2data.com; dmarc=pass action=none header.from=t2data.com; dkim=pass header.d=t2data.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=t2datacom.onmicrosoft.com; s=selector1-t2datacom-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rLoNbYyzTVajQL1duCGCaiejfJ0mYObxDioJSKLdNn0=; b=i3Edi6D5SfRI+ikd/h8IhYDETwbrsqdAxu6b1YKqNFNFSnMSdm0mI7H8AbLQPYMp1QTx+Ht5TZ0VodpfdvI6KoK7IhtJx7XUIKUt1YkshFvnzpovjlvl/TZZYkQDOWPO29aEM/Ef56vIxeFg3vNiHmw13bzd3JQ+iSzMQ+dJbkU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=t2data.com; Received: from DB9P251MB0618.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:334::22) by PAXP251MB0447.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:283::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.30; Tue, 18 Oct 2022 07:39:53 +0000 Received: from DB9P251MB0618.EURP251.PROD.OUTLOOK.COM ([fe80::e75a:4c4e:8faa:99ae]) by DB9P251MB0618.EURP251.PROD.OUTLOOK.COM ([fe80::e75a:4c4e:8faa:99ae%5]) with mapi id 15.20.5723.033; Tue, 18 Oct 2022 07:39:52 +0000 Message-ID: <042e53f8-cc1a-3195-1d1c-af29e6c1e932@t2data.com> Date: Tue, 18 Oct 2022 09:37:12 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Content-Language: en-US To: matthias.fend@emfend.at References: <20220917183350.1838893-1-matthias.fend@emfend.at> <20220917183350.1838893-2-matthias.fend@emfend.at> From: Christian Melki In-Reply-To: <20220917183350.1838893-2-matthias.fend@emfend.at> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: GV3P280CA0066.SWEP280.PROD.OUTLOOK.COM (2603:10a6:150:a::9) To DB9P251MB0618.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:334::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P251MB0618:EE_|PAXP251MB0447:EE_ X-MS-Office365-Filtering-Correlation-Id: 012b8458-be9a-456f-f5aa-08dab0dbf1a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BDNQL5ErukmkasHNjU+e16Hhh1dAXaHzyy1o3ru7zZm+TNgORKvJDwqzzrPsXSpUZ7AHGNV4hxpCKFuReO3lnHUQYoO9hkb4SlseS6sUcRHUYKxI+fimLoe7kbpVr10GdMK7K7hqnRlu2sIbSc0k5e/aIKwpuB/2k6bzElwIvVv3SU3+TihJYouh7Y0KcvlJdEwB8UiVc9DKBCcmB6tvleV4r4+piSvDuA4CotB+uuND2kCQKgykVYMENAX6b+nvXfs0OfaFCWmTqLYwK84GjmeiVG7/OPlo9oetwqyBupxGK7jYkputf5T0bXOKF37gdKZWLpcpNiaZdi7CSQe+sOqNJOqsOCSF9KVz5HQSKxqaamCD0LLJjhBTLe8y83ypJf3EVgWshwpT0MOlaVOoemGB5p5r8+18yG9X/FUS8NP/WeJBzKzj+PJ1+Qkh0vA08EHt+neCPqL+/oZy13m4Cz4lP3LIKyC5OvKUX4OzEwXa/aUCja4wMHPl907P2kebTvRKJ6uIETe2p9YYbhBWAKxQ28RH1h+cs3Ayjx00OjtwVmQmbZ2TNkvWy9xbdLkOyUHLRxAPpnvNNnusJN648RUuc1eukajJkIkLsNIBuVNGGaOLoU2yfqYI1Ag9SfMDMsL7BHk5PsPFpOxyvL6U79O+rv2Zc7ijbDWxPZ+C0vn+qj/f5pNkTRk1Ne5d0O/DQ3o2Yrwki/UPxhEgJHpTdbwjLhrwZ6ugomWMHIvHqjDEPXpj59ZjVIHzZBmRrdm2qqjRszrIQy+1agV9fp+8hbDm+fBPat5Z2r6rnVr0zMFfZgeQH9biiZQX+7hb4N+Y X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9P251MB0618.EURP251.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230022)(366004)(346002)(396003)(136003)(376002)(39830400003)(451199015)(31686004)(30864003)(6506007)(2906002)(36756003)(8936002)(5660300002)(53546011)(86362001)(31696002)(4326008)(6666004)(6512007)(41300700001)(26005)(2616005)(44832011)(186003)(478600001)(66946007)(8676002)(6486002)(966005)(66476007)(83380400001)(66556008)(38100700002)(6916009)(316002)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RFMwNjVsbVhTcWZPQkRJSEZMNFZtU3dUVGNQMVByd1VxOGo0NXFaWm1RQS91?= =?utf-8?B?VWt6clQ0WkdJWnZRQmpZWWpMb3d1Z21tdjFyc1NjaFlCZ3Vja0NLK2JVK3BG?= =?utf-8?B?aXJhTTdsVSs1UDY4WjlpcUFXYWdndUJIbjN4aVdVdEl5OW5MSitVeUpzdjRF?= =?utf-8?B?WlJPQzZyZzEyUTRiM3phWVpqU2N2T1NNOW9uY1JUNE80djh2RG9kL21FbjMv?= =?utf-8?B?N2J3ZFRKby9IWTNua1hPdkdNUllNVzA4OXY3a3gzOFhoSndFcjArbHlCdVFM?= =?utf-8?B?OWkzbnNiNEVicW1hKzdXT21MOHJCSWxJb3pFVXF0Y1pIeVo1K0llUWZqT1Zs?= =?utf-8?B?TldBY2FBTGlsaXFoVGxsajc0NFF1QzFEUjJoNXp0OXUwZy9ObmtHZEVjdTFt?= =?utf-8?B?MjZ0cDZJR2pYMmg0V0ovVjdReDA1aEU3dDlKUUhUeVNqU2pJZExzQU82d05Y?= =?utf-8?B?aFNkZ0NPWTRLVUdQdm5vTlZNZEZiSjVTSlRacVRMOExiVGREYUVkNVN4MytJ?= =?utf-8?B?ZjZhV3N5UzVwSkZuWkFGeWlDYytERVR0YldnUW5NbTJWS0xUcWhPMVdKUGhy?= =?utf-8?B?WEx6bk5BQS85cm1kaWh2ajd4amxwcjIwUmxvOE5WZmNmS3R0eGFWSW1lN3k2?= =?utf-8?B?TFU2ZWQ4VzBaMUMrcXBKSnVLUjJiQzhYQzhyYlU0cGhzcndiSkI0RHlsSHZo?= =?utf-8?B?S01wM2p1RHNXQjhrUkx0RHRBc1orcDllMlQ3TUNXMHAxWGJyTllrWVhrQ0tv?= =?utf-8?B?UE9lQXVtK1lUSjFMRysydy9MV0pXMEtNcGhiZlo4cS91WTllVHVwa0NoeEY4?= =?utf-8?B?QkdZUEZxcFRxRTFsS3lkbkxSQ3djNzB3ajg1RDU2Nityb2lVZllrZFEzUDNP?= =?utf-8?B?NFZmOWJZbWRIem5MUm93QlRiVjdwWldwWWtUTllzYnJ1QVFtWnF2dlRuMk9s?= =?utf-8?B?em5kbkhBYnlleEdmRi9nQkozZkJYbkdRRmhvQmN6V2dQVktpWGZSQURHZHhR?= =?utf-8?B?N0wzMVNDb3V4dllGOWdhdklBalhaRXlZWHU5dzhReXQ0eXR1bks1VXI4TFNh?= =?utf-8?B?SzBWaCtUV0tTQUt6UmdENXdTMjUvZ2xBbW9zWUhFdVFUaEkwdWFvUWhxRGxo?= =?utf-8?B?dXZwdGtOV0JJOFgxMEs1bTZwWjNNcmlReDFWUWd4NXlpaVBiS05yeUV4NEN6?= =?utf-8?B?YmxzVFQ1VFBtd1JxUDdKc3FzUjZ5R1FxcGJCNDM1WlI0UTdJbVY3UGUwWGpJ?= =?utf-8?B?QWVYdFFWb1BDOFQvanFtenc1ZUFmcHVEa3Z4THZ5VEFUVngycFRtSHZSeTlI?= =?utf-8?B?OWVId2ZVVkc3VDJIRm5Dd21aSTcvbHNNSkVrTzdxZW1oWVFHZGFZNGZBMzI2?= =?utf-8?B?TzRGTUIvTko4WkhVemRDQTFMYnhwbFhCd0tEK21pUW5KajUzQlJpelByRTZK?= =?utf-8?B?OTBuMTE0UnJ1d3c3dlZUWlZCYWRJODN0bnNHUlJFYjcyOEU2aUFHaUlzZUlj?= =?utf-8?B?a09Cd2FnM0k2elB1QmYxMEhrZUpKaHJRRllHay9xMGtkZkZESmFxMUIzQnVB?= =?utf-8?B?Wi9xVXhndkZnZ0VEeGtYbHFYUUZ1ZkthVlJYRnBya3Y1ZHNTVVlmU0tUeS9l?= =?utf-8?B?V2p2d3c1cElPazVMNXpDMkpzbWlkUHJwV0piLzBOc2dhZHUyQnR1d21ON0Zj?= =?utf-8?B?UUE1blRkMjV2WG5EdTVJbS9ldTcvWEllVkJmOWRBM082NjF2cERNeHFzaCsy?= =?utf-8?B?U0lPM1B3dTlXM2NXUXIyeEVLdmEraG93cnJmaTA1OUN2T1drV1FOU2RrKzhB?= =?utf-8?B?NUpxSUVseW12bUp2OFF6YVFoRklWUzRNTzZ0cEJCaG9KUUJITlg4eVRKMFEr?= =?utf-8?B?Zm5FVzBES2JaRkNpUlVKclk4ZXA3Qk5PalhUQ1dCb21nU1RNczFWV3N1TDdJ?= =?utf-8?B?eWUwUHAxVlk3YU44RGJBd0FZUFppa0UzeFJ6bGJPbVBNRnJWQ3hidGQvMXFo?= =?utf-8?B?dXlCTUtaWWVKNER4RWNsWTdrd1o0N05selFvYzk4cU9kZzNYekZoZEc5dFNm?= =?utf-8?B?Wm9XcmR0T3E4cWIzUmxnMmZtMm9JU3k1Q0U4UUJuOTdnRFVmWFFBYXdxT3lm?= =?utf-8?B?dUIrTGFraDQ2MFpwK1J1akU0QXV4UWV0NXByYzVJNEg0TjhlVVE3TisyUnk5?= =?utf-8?B?NWc9PQ==?= X-OriginatorOrg: t2data.com X-MS-Exchange-CrossTenant-Network-Message-Id: 012b8458-be9a-456f-f5aa-08dab0dbf1a4 X-MS-Exchange-CrossTenant-AuthSource: DB9P251MB0618.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2022 07:39:52.7136 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 27928da5-aacd-4ba1-9566-c748a6863e6c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cwZkwTu6pcJkAOBvHncsUT74AvhydcAGLqWd7WdtvWspVpi/BSSPAoCa06/LVSyj0o5qQHLDV6jrsL+WosybipK0E9JJD2RM9zrim2NE5B8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXP251MB0447 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.ext.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Subject: Re: [ptxdist] [PATCH v4 1/1] libcamera: new package X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false Hi. Seems libcamera is now available as a released version. https://www.phoronix.com/news/libcamera-First-Release Regards, Christian On 9/17/22 8:33 PM, Matthias Fend wrote: > libcamera is an open source camera stack and framework for Linux, Android, > and ChromeOS. > > Signed-off-by: Matthias Fend > --- > ...t-information-for-version-generation.patch | 29 ++++ > .../libcamera-2022-08-30-g68683d3811a8/series | 4 + > rules/libcamera.in | 129 ++++++++++++++++ > rules/libcamera.make | 143 ++++++++++++++++++ > 4 files changed, 305 insertions(+) > create mode 100644 patches/libcamera-2022-08-30-g68683d3811a8/0001-do-not-use-git-information-for-version-generation.patch > create mode 100644 patches/libcamera-2022-08-30-g68683d3811a8/series > create mode 100644 rules/libcamera.in > create mode 100644 rules/libcamera.make > > diff --git a/patches/libcamera-2022-08-30-g68683d3811a8/0001-do-not-use-git-information-for-version-generation.patch b/patches/libcamera-2022-08-30-g68683d3811a8/0001-do-not-use-git-information-for-version-generation.patch > new file mode 100644 > index 000000000..3e5c5ce68 > --- /dev/null > +++ b/patches/libcamera-2022-08-30-g68683d3811a8/0001-do-not-use-git-information-for-version-generation.patch > @@ -0,0 +1,29 @@ > +From: Matthias Fend > +Date: Wed, 31 Aug 2022 16:54:20 +0200 > +Subject: [PATCH] do not use git information for version generation > + > +Since libcamera is checked out without a git repo, git version reports the > +version of the BSP. Since this is obviously wrong, just use the project > +version. > + > +Signed-off-by: Matthias Fend > +--- > + meson.build | 5 ++--- > + 1 file changed, 2 insertions(+), 3 deletions(-) > + > +diff --git a/meson.build b/meson.build > +index 72919102ad55..e333df59388d 100644 > +--- a/meson.build > ++++ b/meson.build > +@@ -20,9 +20,8 @@ libcamera_git_version = run_command('utils/gen-version.sh', > + meson.project_build_root(), > + meson.project_source_root(), > + check: false).stdout().strip() > +-if libcamera_git_version == '' > +- libcamera_git_version = meson.project_version() > +-endif > ++ > ++libcamera_git_version = meson.project_version() > + > + libcamera_version = libcamera_git_version.split('+')[0] > + > diff --git a/patches/libcamera-2022-08-30-g68683d3811a8/series b/patches/libcamera-2022-08-30-g68683d3811a8/series > new file mode 100644 > index 000000000..6ca42eafc > --- /dev/null > +++ b/patches/libcamera-2022-08-30-g68683d3811a8/series > @@ -0,0 +1,4 @@ > +# generated by git-ptx-patches > +#tag:base --start-number 1 > +0001-do-not-use-git-information-for-version-generation.patch > +# c3a57143ea9764ab95b84a7fb79896f4 - git-ptx-patches magic > diff --git a/rules/libcamera.in b/rules/libcamera.in > new file mode 100644 > index 000000000..1f2d70aad > --- /dev/null > +++ b/rules/libcamera.in > @@ -0,0 +1,129 @@ > +## SECTION=multimedia_libs > + > +menuconfig LIBCAMERA > + bool > + select HOST_MESON > + select HOST_SYSTEM_PYTHON3 > + select HOST_SYSTEM_PYTHON3_JINJA2 > + select HOST_SYSTEM_PYTHON3_PYYAML > + select HOST_SYSTEM_PYTHON3_PLY > + select HOST_OPENSSL > + select GNUTLS if LIBCAMERA_IPA_MODULE_SIGN_GNUTLS > + select OPENSSL if LIBCAMERA_IPA_MODULE_SIGN_OPENSSL > + select UDEV_LIBUDEV > + select LIBYAML > + select LIBUNWIND if LIBCAMERA_BACKTRACE > + select GSTREAMER1 if LIBCAMERA_GSTREAMER > + select GST_PLUGINS_BASE1 if LIBCAMERA_GSTREAMER > + select LIBEVENT if LIBCAMERA_CAM > + select LIBDRM if LIBCAMERA_CAM_KMS_SINK > + select QT5 if LIBCAMERA_QCAM > + select QT5_MODULE_QTBASE if LIBCAMERA_QCAM > + select QT5_MODULE_QTBASE_GUI if LIBCAMERA_QCAM > + select QT5_MODULE_QTBASE_WIDGETS if LIBCAMERA_QCAM > + prompt "libcamera " > + help > + A complex camera support library for Linux, Android, and ChromeOS. > + > +if LIBCAMERA > + > +config LIBCAMERA_GSTREAMER > + bool > + prompt "Install GStreamer plugin" > + > +config LIBCAMERA_CAM > + bool > + prompt "Install cam test application" > + > +if LIBCAMERA_CAM > + > +config LIBCAMERA_CAM_KMS_SINK > + bool > + prompt "Enable KMS sink" > +endif > + > +config LIBCAMERA_QCAM > + bool > + prompt "Install qcam test application" > + > +config LIBCAMERA_BACKTRACE > + bool > + prompt "Add support for backtraces" > + > +menu "Platforms" > + > +config LIBCAMERA_PIPELINE_IPU3 > + bool > + prompt "ipu3 pipeline" > + > +config LIBCAMERA_IPA_IPU3 > + bool > + default y > + prompt "ipu3 IPA" > + depends on LIBCAMERA_PIPELINE_IPU3 > + > +config LIBCAMERA_PIPELINE_RASPBERRYPI > + bool > + prompt "raspberrypi pipeline" > + > +config LIBCAMERA_IPA_RASPBERRYPI > + bool > + default y > + prompt "raspberrypi IPA" > + depends on LIBCAMERA_PIPELINE_RASPBERRYPI > + > +config LIBCAMERA_PIPELINE_RKISP1 > + bool > + prompt "rkisp1 pipeline" > + > +config LIBCAMERA_IPA_RKISP1 > + bool > + default y > + prompt "rkisp1 IPA" > + depends on LIBCAMERA_PIPELINE_RKISP1 > + > +config LIBCAMERA_PIPELINE_SIMPLE > + bool > + prompt "simple pipeline" > + > +config LIBCAMERA_PIPELINE_UVCVIDEO > + bool > + prompt "uvcvideo pipeline" > + > +config LIBCAMERA_PIPELINE_VIMC > + bool > + prompt "vimc pipeline" > + > +config LIBCAMERA_IPA_VIMC > + bool > + default y > + prompt "vimc IPA" > + depends on LIBCAMERA_PIPELINE_VIMC > + > +endmenu > + > +config LIBCAMERA_IPA_MODULE_SIGN > + bool > + default y > + prompt "Enable IPA module signing" > + help > + Without IPA module signing, all IPA modules will be isolated in a > + separate process. This adds an unnecessary extra overhead at runtime. > + > +if LIBCAMERA_IPA_MODULE_SIGN > + > +choice > + prompt "Crypt provider" > + default LIBCAMERA_IPA_MODULE_SIGN_GNUTLS > + > +config LIBCAMERA_IPA_MODULE_SIGN_GNUTLS > + bool "gnutls" > + > +config LIBCAMERA_IPA_MODULE_SIGN_OPENSSL > + bool "openssl (libcrypto)" > + > +endchoice > + > +endif > + > +endif > diff --git a/rules/libcamera.make b/rules/libcamera.make > new file mode 100644 > index 000000000..a6560fb48 > --- /dev/null > +++ b/rules/libcamera.make > @@ -0,0 +1,143 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2022 by Matthias Fend > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_LIBCAMERA) += libcamera > + > +# > +# Paths and names > +# > +LIBCAMERA_VERSION := 2022-08-30-g68683d3811a8 > +LIBCAMERA_MD5 := 2f5a985257a0797e0bd0b4182ef9bc9c > +LIBCAMERA := libcamera-$(LIBCAMERA_VERSION) > +LIBCAMERA_SUFFIX := tar.gz > +LIBCAMERA_URL := https://git.libcamera.org/libcamera/libcamera.git;tag=$(LIBCAMERA_VERSION) > +LIBCAMERA_SOURCE := $(SRCDIR)/$(LIBCAMERA).$(LIBCAMERA_SUFFIX) > +LIBCAMERA_DIR := $(BUILDDIR)/$(LIBCAMERA) > +LIBCAMERA_LICENSE := Apache-2.0 AND \ > + BSD-2-Clause AND BSD-3-Clause AND \ > + CC0-1.0 AND CC-BY-SA-4.0 AND \ > + GPL-2.0-or-later AND GPL-2.0 WITH Linux-syscall-note AND \ > + (GPL-2.0-or-later WITH Linux-syscall-note OR MIT) AND LGPL-2.1-or-later > +LIBCAMERA_LICENSE_FILES := file://LICENSES/Apache-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \ > + file://LICENSES/BSD-2-Clause.txt;md5=63d6ee386b8aaba70b1bf15a79ca50f2 \ > + file://LICENSES/BSD-3-Clause.txt;md5=954f4d71a37096249f837652a7f586c0 \ > + file://LICENSES/CC0-1.0.txt;md5=6fd064768b8d61c31ddd0540570fbd33 \ > + file://LICENSES/CC-BY-SA-4.0.txt;md5=598a2bb2d212cf9bc240fb554efcb169 \ > + file://LICENSES/GPL-2.0-or-later.txt;md5=fed54355545ffd980b814dab4a3b312c \ > + file://LICENSES/GPL-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ > + file://LICENSES/Linux-syscall-note.txt;md5=370f20aa0795bf47c9a50d8cee5a7cfb \ > + file://LICENSES/GPL-2.0+.txt;md5=fed54355545ffd980b814dab4a3b312c \ > + file://LICENSES/MIT.txt;md5=38aa75cf4c4c87f018227d5ec9638d75 \ > + file://LICENSES/LGPL-2.1-or-later.txt;md5=2a4f4fd2128ea2f65047ee63fbca9f68 > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +LIBCAMERA_IPAS-y := > +LIBCAMERA_IPAS-$(PTXCONF_LIBCAMERA_IPA_IPU3) += ipu3 > +LIBCAMERA_IPASC-$(PTXCONF_LIBCAMERA_IPA_RASPBERRYPI) += raspberrypi > +LIBCAMERA_IPASM-$(PTXCONF_LIBCAMERA_IPA_RASPBERRYPI) += rpi > +LIBCAMERA_IPAS-$(PTXCONF_LIBCAMERA_IPA_RKISP1) += rkisp1 > +LIBCAMERA_IPAS-$(PTXCONF_LIBCAMERA_IPA_VIMC) += vimc > + > +LIBCAMERA_IPASC-y += $(LIBCAMERA_IPAS-y) > +LIBCAMERA_IPASM-y += $(LIBCAMERA_IPAS-y) > + > +LIBCAMERA_PIPELINES-y := > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_IPU3) += ipu3 > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_RASPBERRYPI) += raspberrypi > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_RKISP1) += rkisp1 > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_SIMPLE) += simple > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_UVCVIDEO) += uvcvideo > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_VIMC) += vimc > + > +LIBCAMERA_CONF_TOOL := meson > +LIBCAMERA_CONF_OPT := \ > + $(CROSS_MESON_USR) \ > + -Dandroid=disabled \ > + -Dcam=$(call ptx/endis,PTXCONF_LIBCAMERA_CAM)d \ > + -Ddocumentation=disabled \ > + -Dgstreamer=$(call ptx/endis,PTXCONF_LIBCAMERA_GSTREAMER)d \ > + -Dipas=$(subst $(ptx/def/space),$(ptx/def/comma),$(strip $(LIBCAMERA_IPASC-y))) \ > + -Dlc-compliance=disabled \ > + -Dpipelines=$(subst $(ptx/def/space),$(ptx/def/comma),$(strip $(LIBCAMERA_PIPELINES-y))) \ > + -Dqcam=$(call ptx/endis,PTXCONF_LIBCAMERA_QCAM)d \ > + -Dtest=false \ > + -Dtracing=disabled \ > + -Dv4l2=false \ > + -Dpycamera=disabled > + > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +define install_ipa > + @$(call install_copy, libcamera, 0, 0, 0755, -, \ > + /usr/libexec/libcamera/$(strip $(1))_ipa_proxy) > + @$(call install_alternative_tree, libcamera, 0, 0, \ > + /usr/share/libcamera/ipa/$(strip $(1))) > +endef > + > +define install_ipa_module_signed > + # The IPA modules must not be stripped, otherwise the associated > + # signatures will no longer be valid. > + @$(call install_copy, libcamera, 0, 0, 0644, -, \ > + /usr/lib/libcamera/ipa_$(strip $(1)).so, n) > + @$(call install_copy, libcamera, 0, 0, 0644, -, \ > + /usr/lib/libcamera/ipa_$(strip $(1)).so.sign) > +endef > + > +define install_ipa_module > + @$(call install_copy, libcamera, 0, 0, 0644, -, \ > + /usr/lib/libcamera/ipa_$(strip $(1)).so) > +endef > + > +$(STATEDIR)/libcamera.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, libcamera) > + @$(call install_fixup, libcamera, PRIORITY, optional) > + @$(call install_fixup, libcamera, SECTION, base) > + @$(call install_fixup, libcamera, AUTHOR, "Matthias Fend ") > + @$(call install_fixup, libcamera, DESCRIPTION, missing) > + > + @$(call install_lib, libcamera, 0, 0, 0644, libcamera) > + @$(call install_lib, libcamera, 0, 0, 0644, libcamera-base) > + > + @$(foreach ipa,$(LIBCAMERA_IPASC-y), \ > + $(call install_ipa, $(ipa))$(ptx/nl)) > + > +ifdef PTXCONF_LIBCAMERA_IPA_MODULE_SIGN > + @$(foreach ipa_module,$(LIBCAMERA_IPASM-y), \ > + $(call install_ipa_module_signed, $(ipa_module))$(ptx/nl)) > +else > + @$(foreach ipa_module,$(LIBCAMERA_IPASM-y), \ > + $(call install_ipa_module, $(ipa_module))$(ptx/nl)) > +endif > + > +ifdef PTXCONF_LIBCAMERA_GSTREAMER > + @$(call install_lib, libcamera, 0, 0, 0644, gstreamer-1.0/libgstlibcamera) > +endif > + > +ifdef PTXCONF_LIBCAMERA_CAM > + @$(call install_copy, libcamera, 0, 0, 0755, -, /usr/bin/cam) > +endif > + > +ifdef PTXCONF_LIBCAMERA_QCAM > + @$(call install_copy, libcamera, 0, 0, 0755, -, /usr/bin/qcam) > +endif > + > + @$(call install_finish, libcamera) > + > + @$(call touch) > + > +# vim: syntax=make