Commit Graph

29 Commits

Author SHA1 Message Date
James Hilliard
e9df5b0fc3 package/python-markupsafe: bump to version 2.0.1
Drop python2 support.

Remove python3-markupsafe host build as python2 host builds for
markupsafe are not supported, python3 host builds are moved to
python-markupsafe.

Remove python3-jinja2 host build as python2 host builds for
jinja2 are not supported, python3 host builds are moved to
python-jinja2.

Remove python3-mako host build as python2 host builds for
mako are not supported, python3 host builds are moved to
python-mako.

Propagate reverse python3 dependency.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-11-17 22:34:32 +01:00
Peter Seiderer
a5c8b0bac8 package/libcamera: add lc-compliance test application option
- add lc-compliance test application option (and add proper dependencies
  on gtest and libevent)

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-10-24 15:58:59 +02:00
Fabrice Fontaine
6b1f3de47d package/libcamera: add arch dependency to hardware pipelines
The hardware related pipelines are obviously not available on other
architectures.

As suggested by upstream [0], add a dependency on arm or aarch64 for
RaspberryPi pipeline, to avoid the following build failure with a
powerpc64 toolchain since commit c09f126f57 (package/libcamera: bump
to version e355ca0087cd93ef80f74c61018e9e9228a93313):

    In file included from ../include/libcamera/base/log.h:10,
                     from ../src/ipa/raspberrypi/raspberrypi.cpp:18:
    ../src/ipa/raspberrypi/raspberrypi.cpp:64:53:   in 'constexpr' expansion of 'std::chrono::operator/<long double, std::ratio<1>, double>(std::literals::chrono_literals::operator""s(1.0e+0l), 3.0e+1)'
    /home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/powerpc64-buildroot-linux-gnu/include/c++/9.3.0/chrono:502:32: error: '(1.0e+0l / 3.0e+1)' is not a constant expression
      502 |  return __cd(__cd(__d).count() / __s);
    ../src/ipa/raspberrypi/raspberrypi.cpp:73:56:   in 'constexpr' expansion of 'std::chrono::operator/<long double, std::ratio<1>, double>(std::literals::chrono_literals::operator""s(1.0e+0l), 6.0e+1)'
    /home/buildroot/autobuild/instance-2/output-1/host/opt/ext-toolchain/powerpc64-buildroot-linux-gnu/include/c++/9.3.0/chrono:502:32: error: '(1.0e+0l / 6.0e+1)' is not a constant expression

Fixes:
 - http://autobuild.buildroot.org/results/49caebe7ef7e3d63de49e78d5d6839dd0aedf10c

Additionally, as Kieran puts it:

    I'd go further and filter the IPU3 on only x86 for instance, and the
    RKISP on (arm||aarch64).

So be it.

[0] https://lists.libcamera.org/pipermail/libcamera-devel/2021-October/025796.html:

Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Suggested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr: abide by Kieran's wish]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-10-16 09:14:36 +02:00
Fabrice Fontaine
e1d37ab0a7 package/libcamera: bump to version 40f5fddca7f774944a53f58eeaebc4db79c373d8
This will fix the following build failure raised since commit
c09f126f57 thanks to
https://git.linuxtv.org/libcamera.git/commit/?id=c52e8429cce91dadf98378d87015d8f476a44f70:

/tmp/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/9.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: src/libcamera/base/libcamera-base.so.p/message.cpp.o: in function `libcamera::Message::registerMessageType()':
message.cpp:(.text+0x290): undefined reference to `__atomic_fetch_add_4'

Fixes:
 - http://autobuild.buildroot.org/results/6e3471df8e9312a1789ca05ae70cc2283bfeec23

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-09-26 21:29:39 +02:00
James Hilliard
c09f126f57 package/libcamera: bump to version e355ca0087cd93ef80f74c61018e9e9228a93313
Drop patch that is now upstream.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-09-11 22:51:58 +02:00
Fabrice Fontaine
dc34fa5c6c package/libcamera: fix build on sparc v8
Fix build failure with sparc v8 which is raised since commit
bd9b7b092c due to
https://git.linuxtv.org/libcamera.git/commit/?id=a8310248fc26cc1e1b791af5e9394c1d20bee269

Fixes:
 - http://autobuild.buildroot.org/results/d0726b2253f1f3d006e057f3b32c646c4b9b5f7a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-06-01 22:24:34 +02:00
Peter Seiderer
59322551c8 package/libcamera: bump version to 3a1f67a
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-05-11 13:08:06 +02:00
Giulio Benetti
479b09366c package/libcamera: disable package affected by binutils bug 27597
This package is affected by binutils bug 27597 and no work around has
been found, so let's disable it if
BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597=y.

Fixes:
http://autobuild.buildroot.net/results/8ac/8ac599392f773eecff4773393ef0d0232a22f372/

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-04-26 21:54:21 +02:00
Peter Seiderer
bd9b7b092c package/libcamera: bump version to ab72e66
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-31 23:15:41 +01:00
Peter Seiderer
cab81477dc package/libcamera: add optional lttng-libust dependency
Add optional lttng-libust support and enable tracing support
in case.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-19 22:57:51 +01:00
Peter Seiderer
7fe4599087 package/libcamera: bump version to de5d03673
- add new host-python3-jinja2 and host-python3-ply dependencies
- change android, documentation options from boolean to feature
- disable new tracing option (needs lttng-ust)

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-19 22:56:59 +01:00
Yann E. MORIN
5b95a5dc27 support/download: change format of archives generated from git
Switch to using the tarball helper, that can generate reproducible
archives whatever the tar version >= 1.27.

However, those archives are not identical to the previous ones generated
in the (now-broken) gnu format.

To avoid any clashing between old and new archives, and new and old
Buildroot versions, we need to name the new generated archives
differently from the existing ones.

So, we bump the git-specific format-version to -br1.

The %ci date  has been supported by git back to 1.6.0, released August
2008); it is not strictly ISO8601, but is still accepted as a PAX date
header. The strict ISO8601 placeholder, %cI, was only introduced with
2.2.0, release in November 2014, so too recent to be widely available.

As the format and the names of the archives changes, we need to update
all the hash files with the new names and hashes.

Of all the bootloaders that have a git download method, vexpress-firmware
is the only one to have a hash. Others have no hash files, or they have
explicitly set BR_NO_CHECK_HASH_FOR.

For the packages, linux-headers is the special snowflake, as the git
download is only for custom git tree, so it is excluded from the hash
verification with BR_NO_CHECK_HASH_FOR.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Vincent Fazio <vfazio@xes-inc.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Vincent Fazio <vfazio@xes-inc.com>

    ---8<------8<------8<------8<---
    #!/bin/sh
    # Find and download all packages using git as backend.
    # Manually fix hashes for affected packages.

    # Packages that only have a host variant
    HOST_ONLY='imx-mkimage|mxsldr|netsurf-buildsystem|opkg-utils|prelink-cross|qoriq-rcw|vboot-utils'

    # Packages that have a non-git main _SOURCE, and/or which
    # have BR_NO_CHECK_HASH_FOR for the git _SOURCE
    NOT_GIT='aufs|aufs-util|xenomai|linux-headers'

    export BR2_DL_DIR=$(pwd)/temp-dl-dir

    make defconfig
    make $( git grep -l -E 'SITE_METHOD[[:space:]]*:?=[[:space:]]*git\>|_SITE[[:space:]]*:?=[[:space:]]*git:' \
                boot/vexpress-firmware/ package/ \
            |sed -r -e 's,.*/([^/]+)\.mk,\1,' \
            |sed -r -e '/^('"${NOT_GIT}"')$/d;' \
                    -e 's/^('"${HOST_ONLY}"')/host-\1/;' \
                    -e 's/$/-legal-info/;'
          )

    ---8<------8<------8<------8<---
2021-01-10 22:06:58 +01:00
Peter Seiderer
ff60c4c533 package/libcamera: fix BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS handling
Fix BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS handling, change from
'depends on BR2_m68k' to 'depends on !BR2_m68k'.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-11-19 19:37:56 +01:00
Kieran Bingham
a275fc05c6 package/libcamera: bump version to e59713c6
The libcamera project has moved to C++17, therefore also update the
toolchain requirements accordingly.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[yann.morin.1998@free.fr: s/\t/  / in hash file]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-09-04 22:41:17 +02:00
Kieran Bingham
66526e3518 package/libcamera: Prevent builds on m68k
The ControlValue structure is currently defined with a 16-bit hole
(causing unaligned access to the numElements_ field, though that's a
separate topic).

This structure has a static assertion to ensure that its size does not
change without due care, as it forms part of our ABI and is used in
Serialisation between the pipeline handlers and IPA components.

The m68k architecture is the only target which fails this assertion,
which is likely because it can pack the structure more efficiently,
producing a different binary size.

This is likely an area we will tackle before stabilising our ABI, but
until then, disable m68k builds as libcamera is not expected to be
supported on this target.

Fixes;
  - http://autobuild.buildroot.net/results/9dce26e94299a2c61bba60cbc7803926e2f85e29/

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[yann.morin.1998@free.fr, suggestions from Thomas:
  - introduce BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS
  - propagate that to the comment
  - add autobuilder reference
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-09-04 22:30:28 +02:00
Peter Korsgaard
c287d789b7 Merge branch 'next'
A number of merge conflicts, but hopefully they are all sorted out now.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-09-02 18:14:46 +02:00
Fabrice Fontaine
868207d792 package/libcamera: disable werror
This will fix the following build failure:

../src/gstreamer/gstlibcameraallocator.cpp: In static member function 'static GQuark FrameWrap::getQuark()':
/home/peko/autobuild/instance-1/output-1/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/glib-2.0/glib/gatomic.h:128:15: error: variable 'gapg_temp_atomic' set but not used [-Werror=unused-but-set-variable]
     gpointer *gapg_temp_atomic = (gpointer *)(atomic);                       \
               ^

Fixes:
 - http://autobuild.buildroot.org/results/c28500d4cc55fbd2bac87f2c11759ddc9163bc91

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-08-16 23:02:53 +02:00
Thomas Petazzoni
336b4a639a Merge branch 'master' into next 2020-08-12 16:49:22 +02:00
Peter Seiderer
2fda470a32 package/libcamera: bump version to 565f95d
- add support for new qcam feature option

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-08-08 18:19:30 +02:00
Peter Seiderer
f1c7d55458 package/libcamera: needs faligned-new
Fixes:

  - http://autobuild.buildroot.net/results/2db7292e251ce81d31187c3a9eb36dbc9236bd07

  ../src/libcamera/v4l2_videodevice.cpp: In member function 'int libcamera::V4L2VideoDevice::allocateBuffers(unsigned int, std::vector<std::unique_ptr<libcamera::FrameBuffer> >*)':
  ../src/libcamera/v4l2_videodevice.cpp:1139:39: error: 'new' of type 'libcamera::V4L2BufferCache' with extended alignment 8 [-Werror=aligned-new=]
   1139 |  cache_ = new V4L2BufferCache(*buffers);
        |                                       ^
  ../src/libcamera/v4l2_videodevice.cpp:1139:39: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
  ../src/libcamera/v4l2_videodevice.cpp:1139:39: note: use '-faligned-new' to enable C++17 over-aligned new support
  ../src/libcamera/v4l2_videodevice.cpp: In member function 'int libcamera::V4L2VideoDevice::importBuffers(unsigned int)':
  ../src/libcamera/v4l2_videodevice.cpp:1315:36: error: 'new' of type 'libcamera::V4L2BufferCache' with extended alignment 8 [-Werror=aligned-new=]
   1315 |  cache_ = new V4L2BufferCache(count);
        |                                    ^
  ../src/libcamera/v4l2_videodevice.cpp:1315:36: note: uses 'void* operator new(std::size_t)', which does not have an alignment parameter
  ../src/libcamera/v4l2_videodevice.cpp:1315:36: note: use '-faligned-new' to enable C++17 over-aligned new support

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-08-08 18:19:05 +02:00
James Hilliard
b6141b2aa1 package/libcamera: fix install staging typo
This won't enable install to staging unless capitalized.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-07-07 23:04:18 +02:00
Yann E. MORIN
f835da1c6d package/lbcamera: don't override _CONF_OPTS, but append
Commit 99cc53f3f4 (package/libcamera: add v4l2 compatibility layer
option) incorrectly added the v4l2 option, which makes it so that
the previous options are overrdien.

Fix that by using an append-assignment.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-06-20 08:56:20 +02:00
Peter Seiderer
99cc53f3f4 package/libcamera: add v4l2 compatibility layer option
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-06-18 22:17:07 +02:00
Peter Seiderer
f63d6b5459 package/libcamera: bump version to 96fab38
- add host dependencies: openssl, pkgconf, python3-pyyaml
- add dependencies: gnutls
- changed from mandatory to optional dependency: udev
- add dedicated pipeline configure options
- add optional dependencies: boost, gstreamer1/gst1-plugins-base,
  qt5base, tiff
- update license info (Apache-2.0 omitted - applies only for android code)

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[yann.morin.1998@free.fr:
  - simplify the qt5-widgets and qt5tools-linguist conditions
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-06-18 22:09:01 +02:00
Kieran Bingham
fc0e9bef63 package/libcamera: bump to version 448393f77ec9e37cb807e8e8d35c1a4877d253d4
Update to the latest version of libcamera, including a fix for toolchains
which require libatomic to be linked manually.

The patch which handles this locally is therefore removed.

Since the last version update, the option to disable building of the
unit tests has been renamed from '-Dtests=' to '-Dtest='

This is updated accordingly.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-09-19 22:10:10 +02:00
Fabrice Fontaine
1e0dfcd50a package/libcamera: link with atomic when needed
Fixes:
 - http://autobuild.buildroot.org/results/1f0b8338f5f39aa86b9d432598dae2f53c5f7c84

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-09-15 22:17:43 +02:00
Kieran Bingham
1db7890e0a package/libcamera: bump to version caf25dc5cfd11b965316f02610d49ae3d886716b
Buildroots autobuild identified a failure on GCC v6.2 and GCC v6.3,
producing the following warning (reported as error due to -Werror):

  event_dispatcher_poll.cpp:231:13: error: types may not be defined
      in a for-range-declaration [-Werror]

              for (const struct pollfd &pfd : pollfds) {
                         ^~~~~~
              cc1plus: all warnings being treated as errors

A fix has been integrated upstream, bump the package to incorporate it.

Fixes: http://autobuild.buildroot.net/results/f6dd4c60c04892c8b1669e6000fce7edb2b6349e/

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-06-27 22:29:37 +02:00
Giulio Benetti
6cccfe64cd package/libcamera: bump to version ab0188fc8bbb6f397ac3aa11c9377662b7bd88b0
Build failures due to:
`fatal error: sys/auxv.h: No such file or directory`
have been fixed upstream.

Fixes:
http://autobuild.buildroot.net/results/158/158950190141b4f1b0a3d7813322d3971bb8ba75/

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-04-27 14:30:28 +02:00
Kieran Bingham
25be066a65 package/libcamera: new package
http://libcamera.org/

Cameras are complex devices that need heavy hardware image processing
operations. Control of the processing is based on advanced algorithms
that must run on a programmable processor. This has traditionally been
implemented in a dedicated MCU in the camera, but in embedded devices
algorithms have been moved to the main CPU to save cost. Blurring the
boundary between camera devices and Linux often left the user with no
other option than a vendor-specific closed-source solution.

To address this problem the Linux media community has very recently
started collaboration with the industry to develop a camera stack that
will be open-source-friendly while still protecting vendor core IP.
libcamera was born out of that collaboration and will offer modern
camera support to Linux-based systems, including traditional Linux
distributions, ChromeOS and Android.

The project has not made an official release as of yet, so we're
using the latest sha1 from master

We utilise C++ 11 but we mandate GCC5+ due to a bug [0] in earlier
versions which result in compile failures on our code base.

[0] Bug 54316 - [C++11] move constructor for stringstream
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316

Documentation and Tests are disabled from the build.

With the following added to libcamera.config:

  BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
  BR2_PACKAGE_LIBCAMERA=y

./utils/test-pkg -c libcamera.config -p libcamera
                             br-arm-full [1/6]: SKIPPED
                  br-arm-cortex-a9-glibc [2/6]: OK
                   br-arm-cortex-m4-full [3/6]: SKIPPED
                          br-x86-64-musl [4/6]: OK
                      br-arm-full-static [5/6]: SKIPPED
                            sourcery-arm [6/6]: SKIPPED

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas:
 - add missing Config.in comment
 - remove empty newline at end of hash file
 - adjust indentation of upstream URL in Config.in help text]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-03 22:51:45 +02:00