upg ddcutil emacs-git colord cairo ddcutil ffmpeg ffmpeg4.4 libcamera

This commit is contained in:
joborun linux 2024-01-24 20:36:38 +02:00
parent 9a1ed4976b
commit dad4f94616
14 changed files with 261 additions and 68 deletions

View File

@ -7,10 +7,9 @@
pkgname=cairo
pkgver=1.18.0
pkgrel=01
pkgrel=02
pkgdesc="2D graphics library with support for multiple output devices"
url="https://cairographics.org/"
arch=(x86_64)
depends=(lzo zlib libpng fontconfig freetype2 libx11 libxext libxrender libxcb
glib2 pixman)
makedepends=(valgrind git meson gtk-doc)
@ -48,14 +47,25 @@ build() {
}
package() {
provides=(
libcairo-gobject.so
libcairo-script-interpreter.so
libcairo.so
)
meson install -C build --destdir "$pkgdir"
mkdir -p doc/usr/share
rm -rf {"$pkgdir",doc}/usr/share/gtk-doc
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(LGPL MPL)
sha256sums=(SKIP)
## 4b51ddf3543b113b44e9b5a76de3d4a8bf34b736caa882b1f2e2296ba5a7ac05 cairo-1.18.0-01-x86_64.pkg.tar.lz
## 55af0ee168c79748cab5ae5ace6a9054a8e47341a2f57df6df86ea6259f974f2 cairo-1.18.0-02-x86_64.pkg.tar.lz

View File

@ -7,15 +7,15 @@
pkgbase=colord
pkgname=(colord colord-sane libcolord)
pkgver=1.4.6
pkgrel=02
pkgdesc="System daemon for managing color devices w/o systemd"
pkgver=1.4.7
pkgrel=01
pkgdesc="System daemon for managing color devices w/o systemd or dbus"
url="https://www.freedesktop.org/software/colord"
depends=(lcms2 libgusb polkit sqlite dconf dbus libgudev shared-mime-info )
makedepends=(gobject-introspection vala sane bash-completion argyllcms git meson gtk-doc
docbook-xsl)
docbook-xsl dbus)
options=(!emptydirs)
_commit=43c19fd019da5f69d2ebc00a9908b1dd83129485 # tags/1.4.6^0
_commit=1f55f64bbcdbf2283fbf2b3eed3966893870285a # tags/1.4.7^0
source=("git+https://github.com/hughsie/colord#commit=$_commit"
colord.sysusers
colord.tmpfiles)
@ -98,7 +98,7 @@ package_libcolord() {
arch=(x86_64)
license=(GPL2)
license=(GPL-2.0-or-later)
validpgpkeys=('163EB50119225DB3DF8F49EA17ACBA8DFA970E17') # Richard Hughes
@ -106,7 +106,7 @@ sha256sums=(SKIP
737de4459587d85a35c29e8ac7f7feb2ad6b4d3546c0f87c8f3c7fefddbaa835 # colord.sysusers
e7b6b72c59058f70e2a0f1c5f4f57cdbc2b60b187ae3c27c108e5f78a05eebc2) # colord.tmpfiles
## c6f8729266b8a21c9a7785b7ccbd7b2e9109170516053ddd3f6a7e3dbbc668d1 colord-1.4.6-02-x86_64.pkg.tar.lz
## b1f4822ff9a249cd52076f9283950ab85a736df51968bfe411b83f0c13ee19aa colord-sane-1.4.6-02-x86_64.pkg.tar.lz
## c5a91ad67aa25221903cebd4753a51e781574202faf28221953707947d03e549 libcolord-1.4.6-02-x86_64.pkg.tar.lz
## 1664ec53ade10e87a20468a9013b2752fa8e3e7e9cd43b5c8c6a445e0f64ef05 colord-1.4.7-01-x86_64.pkg.tar.lz
## 979554cbf062d8bb984162525cfd3618338c81c5a7a5aed7bc449fe63dceedeb colord-sane-1.4.7-01-x86_64.pkg.tar.lz
## f0f2c9b502c10c582fcb103b708060f05134644ff589ec2dfd2640c7a4e1a5d3 libcolord-1.4.7-01-x86_64.pkg.tar.lz

View File

@ -7,12 +7,12 @@ pkgname=(
colord-sane
libcolord
)
pkgver=1.4.6
pkgver=1.4.7
pkgrel=1
pkgdesc="System daemon for managing color devices"
url="https://www.freedesktop.org/software/colord"
arch=(x86_64)
license=(GPL2)
license=(GPL-2.0-or-later)
depends=(
dbus
dconf
@ -36,7 +36,7 @@ makedepends=(
vala
)
options=(!emptydirs)
_commit=43c19fd019da5f69d2ebc00a9908b1dd83129485 # tags/1.4.6^0
_commit=1f55f64bbcdbf2283fbf2b3eed3966893870285a # tags/1.4.7^0
source=("git+https://github.com/hughsie/colord#commit=$_commit")
b2sums=('SKIP')
validpgpkeys=(
@ -125,4 +125,4 @@ package_libcolord() {
mv lib/* "$pkgdir"
}
# vim:set sw=2 et:
# vim:set sw=2 sts=-1 et:

View File

@ -19,5 +19,5 @@ meson
gettext
graphite
json-glib
dbus

View File

@ -1,6 +1,6 @@
real 5m31.859s
user 19m22.470s
sys 0m10.857s
real 1m58.060s
user 8m49.284s
sys 0m9.137s

66
ddcutil/7f157f62.patch Normal file
View File

@ -0,0 +1,66 @@
From 7f157f620b7f4c3862e140b5b77ff9215f0b7497 Mon Sep 17 00:00:00 2001
From: Sanford Rockowitz <rockowitz@minsoft.com>
Date: Sat, 20 Jan 2024 10:04:36 -0500
Subject: [PATCH] ddci_init(): submaster_initializer not called if implicit
initialization
ddci_init() can be called "explicitly" or "implicitly". An explicit
call is when it is called either from ddca_init() or ddca_init2().
If an API function dependent on initialization is called before
explicit initialization, ddci_init() is called with arguments such
that it can never fail. This is an implicit call. In particular,
it is called with option DDCA_INIT_OPTIONS_DISABLE_CONFIG_FILE and
a null libopts string. Otherwise failure would be possible.
The bug was that some initialization did not occur with this
combination of ddci_init() args. In particular,
submaster_initializer(), which among other things sets the value of
sys_drm_connectors, was not called. Also any options in the
ddcutilrc configuration file that turned on tracing were not
processed, making debugging more difficult.
PowerDevil calls API functions requiring initialization before calling
ddca_init(). As a result, there's an implicit call to ddci_init(),
and because of the bug sys_drm_connectors is not set, resulting
in the "assert(sys_drm_connectors)" failure in function i2c_check_bus().
---
src/libmain/api_base.c | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/src/libmain/api_base.c b/src/libmain/api_base.c
index 8f2c6e06..d862a361 100644
--- a/src/libmain/api_base.c
+++ b/src/libmain/api_base.c
@@ -660,20 +660,19 @@ ddci_init(const char * libopts,
*infomsg_loc = g_ptr_array_to_ntsa(infomsgs, /*duplicate=*/true);
}
g_ptr_array_free(infomsgs, true);
-
- if (!master_error) {
- if (parsed_cmd->trace_destination) {
- DBGF(debug, "Setting library trace file: %s", parsed_cmd->trace_destination);
- init_library_trace_file(parsed_cmd->trace_destination, enable_syslog, debug);
- }
- master_error = init_tracing(parsed_cmd);
- requested_stats = parsed_cmd->stats_types;
- ptd_api_profiling_enabled = parsed_cmd->flags & CMD_FLAG_PROFILE_API;
- per_display_stats = parsed_cmd->flags & CMD_FLAG_VERBOSE_STATS;
- dsa_detail_stats = parsed_cmd->flags & CMD_FLAG_INTERNAL_STATS;
- if (!submaster_initializer(parsed_cmd))
- master_error = ERRINFO_NEW(DDCRC_UNINITIALIZED, "Initialization failed");
+ }
+ if (!master_error) {
+ if (parsed_cmd->trace_destination) {
+ DBGF(debug, "Setting library trace file: %s", parsed_cmd->trace_destination);
+ init_library_trace_file(parsed_cmd->trace_destination, enable_syslog, debug);
}
+ master_error = init_tracing(parsed_cmd);
+ requested_stats = parsed_cmd->stats_types;
+ ptd_api_profiling_enabled = parsed_cmd->flags & CMD_FLAG_PROFILE_API;
+ per_display_stats = parsed_cmd->flags & CMD_FLAG_VERBOSE_STATS;
+ dsa_detail_stats = parsed_cmd->flags & CMD_FLAG_INTERNAL_STATS;
+ if (!submaster_initializer(parsed_cmd))
+ master_error = ERRINFO_NEW(DDCRC_UNINITIALIZED, "Initialization failed");
}
}

28
ddcutil/8fd63cfd.patch Normal file
View File

@ -0,0 +1,28 @@
From 8fd63cfd3f4378aff737be9f4402f0435dd1e367 Mon Sep 17 00:00:00 2001
From: Sanford Rockowitz <rockowitz@minsoft.com>
Date: Wed, 24 Jan 2024 01:09:35 -0500
Subject: [PATCH] check_how_unsupported_reported(): eliminate invalid assert()
does not allow for case of ambiguous -EIO response
---
src/ddc/ddc_displays.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/ddc/ddc_displays.c b/src/ddc/ddc_displays.c
index 8cefd063..e081a1b7 100644
--- a/src/ddc/ddc_displays.c
+++ b/src/ddc/ddc_displays.c
@@ -421,11 +421,12 @@ check_how_unsupported_reported(Display_Handle * dh) {
}
errinfo_free(erec);
dh->dref->flags |= DREF_UNSUPPORTED_CHECKED;
+#ifdef OUT // EIO case fails this assertion
assert(dh->dref->flags & (DREF_DDC_USES_DDC_FLAG_FOR_UNSUPPORTED |
DREF_DDC_USES_NULL_RESPONSE_FOR_UNSUPPORTED |
DREF_DDC_USES_MH_ML_SH_SL_ZERO_FOR_UNSUPPORTED |
DREF_DDC_DOES_NOT_INDICATE_UNSUPPORTED ) );
-
+#endif
DBGTRC_DONE(debug, TRACE_GROUP, "dref->flags=%s", interpret_dref_flags_t(dref->flags));
}

View File

@ -6,15 +6,20 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=ddcutil
pkgver=2.0.0
pkgrel=01
pkgver=2.1.0
pkgrel=04
pkgdesc='Query and change Linux monitor settings using DDC/CI and USB. w/o systemd'
url='http://ddcutil.com/'
depends=('glib2' 'i2c-tools' 'libusb' 'libdrm' 'libxrandr' 'kmod')
source=(https://github.com/rockowitz/ddcutil/archive/v$pkgver/$pkgname-$pkgver.tar.gz)
depends=('glib2' 'i2c-tools' 'libusb' 'libdrm' 'kmod')
source=(https://github.com/rockowitz/ddcutil/archive/v$pkgver/$pkgname-$pkgver.tar.gz
https://github.com/rockowitz/ddcutil/commit/7f157f62.patch
https://github.com/rockowitz/ddcutil/commit/8fd63cfd.patch)
prepare() {
cd $pkgname-$pkgver
patch -p1 -i ../7f157f62.patch # Fix assert
patch -p1 -i ../8fd63cfd.patch # Fix another assert
NOCONFIGURE=1 ./autogen.sh
}
@ -35,6 +40,13 @@ arch=(x86_64)
license=('GPL2')
sha256sums=(054b89623e5321ffe504e809a72cfe7be73e9eacd74dcdb39b1a8d22c35c6551) # ddcutil-2.0.0.tar.gz
## 8c30e7805c95c3272acf13f133b16d265a8d3b87cc1f85d38dcd731f42b8953b ddcutil-2.0.0-01-x86_64.pkg.tar.lz
sha512sums=('d48f87427050caf8e38f6a4b0dd71c1639101762444a712d7a7d97302ebc0dc4fd7c4a5cb188b251c6a6a369b298a43dbc7d91e0eca8cdb6f51c1ae6ae7f1f4b'
'782e4205121a2e8ae84721f4ffdcc8c39e518531d11d79f2e4f0e08508614d488bccf0ce3985ec5231fe6ff625041dab56ed82c77ddca2c03645fd4c52486865'
'e377f7fafa6c52cb30a34021b4d73fc3f52d142071418785c34c7fa324ae9106dc601a0246d75dbb1372b390d8c10c43633603b5ede0555b50d300b59e7e23d2')
sha256sums=(c0bf89fcff98c6c3755b328c6fc01617b860ef7e067174f589afa1da5bc4129b # ddcutil-2.1.0.tar.gz
215914fb1f5afbd99213bd22ea92884173dca3aa420b2a93b9a285fc096039e4 # 7f157f62.patch
1b94e33ae3536117f01f9eb805653468edcc610e4f27c661a9868364f4bdd4aa) # 8fd63cfd.patch
## c0390884ca305719e3e3ba2b502558ac9f7634737d92dbdd8fd4f88e6f33e832 ddcutil-2.1.0-04-x86_64.pkg.tar.lz

View File

@ -2,19 +2,25 @@
# Contributor: Deon Spengler <deon@spengler.co.za>
pkgname=ddcutil
pkgver=2.0.0
pkgrel=1
pkgver=2.1.0
pkgrel=4
pkgdesc='Query and change Linux monitor settings using DDC/CI and USB.'
url='http://ddcutil.com/'
arch=('x86_64')
license=('GPL2')
depends=('glib2' 'i2c-tools' 'libusb' 'libdrm' 'libxrandr' 'kmod')
depends=('glib2' 'i2c-tools' 'libusb' 'libdrm' 'jansson')
makedepends=('systemd')
source=(https://github.com/rockowitz/ddcutil/archive/v$pkgver/$pkgname-$pkgver.tar.gz)
sha512sums=('e1880cf0e3e724f6ac88f807a867a34f451422b58ce7d23bee7b2fc40b253ef8de13df7706749e0c8242fe5de6db8da91784d16fbf008bb5161732a598c3b9e7')
source=(https://github.com/rockowitz/ddcutil/archive/v$pkgver/$pkgname-$pkgver.tar.gz
https://github.com/rockowitz/ddcutil/commit/7f157f62.patch
https://github.com/rockowitz/ddcutil/commit/8fd63cfd.patch)
sha512sums=('d48f87427050caf8e38f6a4b0dd71c1639101762444a712d7a7d97302ebc0dc4fd7c4a5cb188b251c6a6a369b298a43dbc7d91e0eca8cdb6f51c1ae6ae7f1f4b'
'782e4205121a2e8ae84721f4ffdcc8c39e518531d11d79f2e4f0e08508614d488bccf0ce3985ec5231fe6ff625041dab56ed82c77ddca2c03645fd4c52486865'
'e377f7fafa6c52cb30a34021b4d73fc3f52d142071418785c34c7fa324ae9106dc601a0246d75dbb1372b390d8c10c43633603b5ede0555b50d300b59e7e23d2')
prepare() {
cd $pkgname-$pkgver
patch -p1 -i ../7f157f62.patch # Fix assert
patch -p1 -i ../8fd63cfd.patch # Fix another assert
NOCONFIGURE=1 ./autogen.sh
}

View File

@ -1,6 +1,5 @@
i2c-tools
libdrm
libxrandr
autoconf
automake

View File

@ -7,7 +7,7 @@
pkgname=ffmpeg
pkgver=6.1.1
pkgrel=03
pkgrel=04
epoch=2
pkgdesc='Complete solution to record, convert and stream audio and video'
url=https://ffmpeg.org/
@ -138,5 +138,5 @@ b2sums=('SKIP'
sha256sums=(SKIP
57e26caced5a1382cb639235f9555fc50e45e7bf8333f7c9ae3d49b3241d3f77) # add-av_stream_get_first_dts-for-chromium.patch
## a55754626427a51b3e8c197feba256023d0fe2d37c193c2df8e853ae8063dfca ffmpeg-2_6.1.1-03-x86_64.pkg.tar.lz
## 81e6a44eab0424c390a99af91641be8aff05e6b910a7fcc73fa60909f4f2125b ffmpeg-2_6.1.1-04-x86_64.pkg.tar.lz

View File

@ -7,7 +7,7 @@
pkgname=ffmpeg4.4
pkgver=4.4.4
pkgrel=04
pkgrel=05
pkgdesc='Complete solution to record, convert and stream audio and video'
url=https://ffmpeg.org/
depends=( alsa-lib aom bzip2 fontconfig fribidi gmp gnutls gsm jack lame libass.so libavc1394 libbluray.so libdav1d.so libdrm libfreetype.so libiec61883 libmfx libmodplug libpulse librav1e.so libraw1394 librsvg-2.so libsoxr libssh libtheora libva.so libva-drm.so libva-x11.so libvdpau libvidstab.so libvorbisenc.so libvorbis.so libvpx.so libwebp libx11 libx264.so libx265.so libxcb libxext libxml2 libxv libxvidcore.so libzimg.so opencore-amr openjpeg2 opus sdl2 speex srt svt-av1 v4l-utils xz zlib)
@ -135,4 +135,6 @@ b2sums=('SKIP'
sha256sums=(SKIP
00a2ef57cb4e139c2c0488f20bf7b37561b69726d131f8ef6f345b6ee9e934f1) # binutils-2.41.patch
## 3b34a3a661239b59bfe07429ce264d9ee850679daf12deb02e75653f81344916 ffmpeg4.4-4.4.4-04-x86_64.pkg.tar.lz
## f68bea11512db81dbb75466b673058ab640d26639fae26d21ae5d59ab3b7def5 ffmpeg4.4-4.4.4-05-x86_64.pkg.tar.lz

View File

@ -7,18 +7,20 @@
pkgbase=libcamera
pkgname=(libcamera libcamera-ipa libcamera-tools gst-plugin-libcamera) # libcamera-docs
pkgver=0.1.0
_commit=9e3a83c03bab65b745eea2482be78077b409a2b5 # refs/tags/v0.1.0
pkgrel=02
pkgdesc="A complex camera support library for Linux, Android, and ChromeOS w/o systemd"
pkgver=0.2.0
_commit=a3690f601bf9a90e1a936d9f361aebd789e3b073 # refs/tags/v0.2.0
pkgrel=01
pkgdesc="A complex camera support library for Linux w/o systemd"
url="https://libcamera.org/"
_url=https://git.libcamera.org/libcamera/libcamera.git
depends=(glibc)
makedepends=(doxygen git glib2 graphviz gst-plugins-base gtest libdrm
libjpeg-turbo libtiff libyaml meson python-jinja python-ply python-sphinx
python-pyyaml qt5-base qt5-tools sdl2 texlive-core)
source=(git+https://git.libcamera.org/$pkgname/$pkgname.git#tag=$_commit
$pkgbase-0.0.5-sphinx.patch)
source=(
"git+$_url#tag=$_commit"
)
_pick() {
local p="$1" f d; shift
for f; do
@ -29,6 +31,11 @@ _pick() {
done
}
pkgver() {
cd $pkgbase
git describe --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g'
}
prepare() {
cd $pkgbase
@ -39,7 +46,7 @@ prepare() {
# git cherry-pick -n a146e05125fdac75b8ffb6a818e00a446cec65dd
# fix use of python-sphinx
# https://github.com/sphinx-doc/sphinx/pull/11381
git apply -v ../$pkgbase-0.0.5-sphinx.patch
# git apply -v ../$pkgbase-0.0.5-sphinx.patch
}
@ -59,6 +66,15 @@ check() {
}
package_libcamera() {
license=(
Apache-2.0
CC0-1.0
'GPL-2.0-only WITH Linux-syscall-note'
GPL-2.0-or-later
LGPL-2.1-or-later
'GPL-2.0-or-later WITH Linux-syscall-note OR BSD-3-Clause'
'GPL-2.0-or-later WITH Linux-syscall-note OR MIT'
)
depends=(
gcc-libs
glibc
@ -78,6 +94,7 @@ package_libcamera() {
provides=(libcamera.so libcamera-base.so)
meson install -C build --destdir "$pkgdir"
install -vDm 644 $pkgbase/LICENSES/{BSD-3-Clause,Linux-syscall-note,MIT}.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
(
cd "$pkgdir"
@ -91,6 +108,12 @@ package_libcamera() {
#package_libcamera-docs() {
# pkgdesc+=" - documentation"
#
# license=(
# CC-BY-4.0
# CC-BY-SA-4.0
# CC0-1.0
# )
#
# mv -v $pkgname/* "$pkgdir"
# mv -v "$pkgdir/usr/share/doc/$pkgbase-$pkgver/" "$pkgdir/usr/share/doc/$pkgbase/"
# rm -frv "$pkgdir/usr/share/doc/$pkgbase/html/.buildinfo"
@ -98,6 +121,13 @@ package_libcamera() {
package_libcamera-ipa() {
pkgdesc+=" - signed IPA"
license=(
BSD-2-Clause
CC-BY-SA-4.0
CC0-1.0
GPL-2.0-or-later
LGPL-2.1-or-later
)
depends=(
gcc-libs
glibc
@ -111,10 +141,17 @@ package_libcamera-ipa() {
$pkgbase/src/ipa/ipa-sign.sh "$(find build -type f -iname "*ipa-priv-key.pem")" "$_lib" "$_lib.sign"
done
mv -v $pkgname/* "$pkgdir"
install -vDm 644 $pkgbase/LICENSES/BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
}
package_libcamera-tools() {
pkgdesc+=" - tools"
license=(
BSD-2-Clause
CC0-1.0
GPL-2.0-or-later
LGPL-2.1-or-later
)
depends=(
gcc-libs
glibc
@ -132,10 +169,15 @@ package_libcamera-tools() {
replaces=("$pkgbase-tests<0.0.1-2")
mv -v $pkgname/* "$pkgdir"
install -vDm 644 $pkgbase/LICENSES/BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
}
package_gst-plugin-libcamera() {
pkgdesc="Multimedia graph framework - libcamera plugin"
license=(
CC0-1.0
LGPL-2.1-or-later
)
depends=(
gcc-libs
glibc
@ -154,11 +196,10 @@ arch=(x86_64)
license=(LGPL2.1 GPL2)
sha256sums=(SKIP
618bc981ad18ee3d7609a36c30d7cd9dc213d49dac4ba6be39d143a5881a7684) # libcamera-0.0.5-sphinx.patch
sha256sums=(SKIP)
## 2cfd4a048f185243c512383e21a3490e28e95f7f292842b1828f8a3187759dd8 gst-plugin-libcamera-0.2.0-01-x86_64.pkg.tar.lz
## 46d1885f3d31ddca9c85e7ff1ac13f6f64f458d46afcdc54801305076672ab00 libcamera-0.2.0-01-x86_64.pkg.tar.lz
## 38eedcc1edc79f456296b702dfa00f0a900fc6e9817ad65e16229c00de341c87 libcamera-ipa-0.2.0-01-x86_64.pkg.tar.lz
## ca2fba6a8bd2645b9964aa89138bee87ac1de44c7b5dc49fd03eca2159c98132 libcamera-tools-0.2.0-01-x86_64.pkg.tar.lz
## f60e1b8a89982138f02b2f4951156429edb0f92bf51144f100ea4e458d68ea7b gst-plugin-libcamera-0.1.0-02-x86_64.pkg.tar.lz
## 7f9deda8e4299acf10d43400961d517f27ec4120d2c5b68baeac9002ad690316 libcamera-0.1.0-02-x86_64.pkg.tar.lz
## 479ce0047d13db757e20fd870e4206e5596dba03b1d397ae371afb2a0676e00f libcamera-ipa-0.1.0-02-x86_64.pkg.tar.lz
## 7b98843ee10f3a1035800aba78839eb80070a394486d0b97c72afa0ee7c6ffcc libcamera-tools-0.1.0-02-x86_64.pkg.tar.lz

View File

@ -8,16 +8,13 @@ pkgname=(
libcamera-tools
gst-plugin-libcamera
)
pkgver=0.1.0
_commit=9e3a83c03bab65b745eea2482be78077b409a2b5 # refs/tags/v0.1.0
pkgrel=2
pkgver=0.2.0
_commit=a3690f601bf9a90e1a936d9f361aebd789e3b073 # refs/tags/v0.2.0
pkgrel=1
pkgdesc="A complex camera support library for Linux, Android, and ChromeOS"
arch=(x86_64)
url="https://libcamera.org/"
license=(
LGPL2.1
GPL2
)
_url=https://git.libcamera.org/libcamera/libcamera.git
makedepends=(
doxygen
git
@ -41,13 +38,10 @@ makedepends=(
texlive-core
)
source=(
git+https://git.libcamera.org/$pkgbase/$pkgbase.git#tag=$_commit
$pkgbase-0.0.5-sphinx.patch
"git+$_url#tag=$_commit"
)
sha512sums=('SKIP'
'52abec885c0a38c042622bc1bb106f7cefc19e3d8d0b6dcba7c4fadae3ad9303d5ae74447a72abe710598bc2162d57900be54bfe0de18d4c0842160c1c65b35a')
b2sums=('SKIP'
'e43847222ad644a23761f7f601891971f499552156d8dfd5922732d134e5a09202c6c4fa3880e13c1ae950d34c5a3617ada12fabc06368e3201110ac5455af7f')
sha512sums=('SKIP')
b2sums=('SKIP')
_pick() {
local p="$1" f d; shift
@ -59,15 +53,16 @@ _pick() {
done
}
pkgver() {
cd $pkgbase
git describe --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g'
}
prepare() {
cd $pkgbase
# add version, so that utils/gen-version.sh may rely on it
printf "%s\n" "$pkgver" > .tarball-version
# fix use of python-sphinx
# https://github.com/sphinx-doc/sphinx/pull/11381
git apply -v ../$pkgbase-0.0.5-sphinx.patch
}
build() {
@ -86,6 +81,15 @@ check() {
}
package_libcamera() {
license=(
Apache-2.0
CC0-1.0
'GPL-2.0-only WITH Linux-syscall-note'
GPL-2.0-or-later
LGPL-2.1-or-later
'GPL-2.0-or-later WITH Linux-syscall-note OR BSD-3-Clause'
'GPL-2.0-or-later WITH Linux-syscall-note OR MIT'
)
depends=(
gcc-libs
glibc
@ -105,6 +109,7 @@ package_libcamera() {
provides=(libcamera.so libcamera-base.so)
meson install -C build --destdir "$pkgdir"
install -vDm 644 $pkgbase/LICENSES/{BSD-3-Clause,Linux-syscall-note,MIT}.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
(
cd "$pkgdir"
@ -117,6 +122,11 @@ package_libcamera() {
package_libcamera-docs() {
pkgdesc+=" - documentation"
license=(
CC-BY-4.0
CC-BY-SA-4.0
CC0-1.0
)
mv -v $pkgname/* "$pkgdir"
mv -v "$pkgdir/usr/share/doc/$pkgbase-$pkgver/" "$pkgdir/usr/share/doc/$pkgbase/"
@ -125,6 +135,13 @@ package_libcamera-docs() {
package_libcamera-ipa() {
pkgdesc+=" - signed IPA"
license=(
BSD-2-Clause
CC-BY-SA-4.0
CC0-1.0
GPL-2.0-or-later
LGPL-2.1-or-later
)
depends=(
gcc-libs
glibc
@ -138,10 +155,17 @@ package_libcamera-ipa() {
$pkgbase/src/ipa/ipa-sign.sh "$(find build -type f -iname "*ipa-priv-key.pem")" "$_lib" "$_lib.sign"
done
mv -v $pkgname/* "$pkgdir"
install -vDm 644 $pkgbase/LICENSES/BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
}
package_libcamera-tools() {
pkgdesc+=" - tools"
license=(
BSD-2-Clause
CC0-1.0
GPL-2.0-or-later
LGPL-2.1-or-later
)
depends=(
gcc-libs
glibc
@ -159,10 +183,15 @@ package_libcamera-tools() {
replaces=("$pkgbase-tests<0.0.1-2")
mv -v $pkgname/* "$pkgdir"
install -vDm 644 $pkgbase/LICENSES/BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
}
package_gst-plugin-libcamera() {
pkgdesc="Multimedia graph framework - libcamera plugin"
license=(
CC0-1.0
LGPL-2.1-or-later
)
depends=(
gcc-libs
glibc