Skip to content

Commit

Permalink
media-libs/libcamera: new ebuild
Browse files Browse the repository at this point in the history
  • Loading branch information
dguglielmi committed Dec 21, 2024
1 parent 3324dd4 commit c72422e
Show file tree
Hide file tree
Showing 4 changed files with 185 additions and 0 deletions.
2 changes: 2 additions & 0 deletions media-libs/libcamera/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DIST libcamera-0.3.2_p20241219.tar.bz2 1313867 BLAKE2B 119075d37464e236bb1cfb94f9703b3f912e3df533e5bee55a0b169bbb3fb371fd0fbd95db39728fc51c5f4e99ad68723bf6c59db76200052e44740364f16202 SHA512 f54c140ea63b0c29b6d6a81b6b308dd7a22cebe908527607309b28f579f9e1b476e185956f1f5ebbaf0f229ad91d0f6fcf6bb78606517cb85d3a805be1fcb373
DIST libcamera-v0.3.2.tar.bz2 1257110 BLAKE2B 5f825c76abf1030c88756036f8510dcc553db34c013ebd8a38b3c7837579edf678bde564380af8c43f8d5b032523b96980d7bc4e7882dca29a9542d44130525c SHA512 7f2af3e8e18be215506a9302a5c882da34dd1b40ff1effe90438f8bb53c7b73a9e8ccb1d2fcc3ab551e0dfce72582a49d8db8da19de7128a20b36ff60c3bba75
82 changes: 82 additions & 0 deletions media-libs/libcamera/libcamera-0.3.2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{9..13} )

inherit meson python-single-r1

DESCRIPTION="An open source camera stack and framework for Linux, Android, and ChromeOS"
HOMEPAGE="https://libcamera.org/"
SRC_URI="https://gitlab.freedesktop.org/camera/libcamera/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
S="${WORKDIR}/${PN}-v${PV}"

LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64"

IUSE="+app debug doc gstreamer python qt6 test udev"

DEPEND="
$(python_gen_cond_dep '
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/pybind11[${PYTHON_USEDEP}]
')
app? (
dev-libs/libevent
media-libs/libsdl2
media-libs/libjpeg-turbo
x11-libs/libdrm
)
doc? (
app-text/doxygen
dev-python/sphinx
dev-texlive/texlive-latexextra
media-gfx/graphviz
)
gstreamer? ( media-libs/gst-plugins-base )
qt6? (
dev-qt/qtbase[gui,opengl,widgets]
media-libs/tiff
)
udev? ( virtual/libudev )
"
BDEPEND="dev-libs/openssl"
RDEPEND="
${DEPEND}
${PYTHON_DEPS}
"

REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"

src_prepare() {
if use python; then
sed -i -e "/destdir =/s#destdir =.*#destdir = '"$(python_get_sitedir)"/libcamera'#g" \
src/py/libcamera/meson.build || die
fi

default
}

src_configure() {
local emesonargs=(
-Dandroid=disabled
$(meson_feature app cam)
$(meson_feature doc documentation)
$(meson_feature gstreamer)
$(meson_feature python pycamera)
$(meson_feature qt6 qcam)
$(meson_feature udev)
$(meson_use test)
-Dbuildtype=$(usex debug debug plain)
-Dv4l2=true
)
meson_src_configure
}

src_install() {
meson_src_install
python_optimize "${D}/$(python_get_sitedir)/libcamera"
}
87 changes: 87 additions & 0 deletions media-libs/libcamera/libcamera-0.3.2_p20241219.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{9..13} )

inherit meson python-single-r1

COMMIT_ID="e37830925130afd541449ed22df0bc952c19a94a"

DESCRIPTION="An open source camera stack and framework for Linux, Android, and ChromeOS"
HOMEPAGE="https://libcamera.org/"
SRC_URI="
https://gitlab.freedesktop.org/camera/libcamera/-/archive/${COMMIT_ID}.tar.bz2
-> ${P}.tar.bz2
"
S="${WORKDIR}/${PN}-${COMMIT_ID}"

LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64"

IUSE="+app debug doc gstreamer python qt6 test udev"

DEPEND="
$(python_gen_cond_dep '
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/pybind11[${PYTHON_USEDEP}]
')
app? (
dev-libs/libevent
media-libs/libsdl2
media-libs/libjpeg-turbo
x11-libs/libdrm
)
doc? (
app-text/doxygen
dev-python/sphinx
dev-texlive/texlive-latexextra
media-gfx/graphviz
)
gstreamer? ( media-libs/gst-plugins-base )
qt6? (
dev-qt/qtbase[gui,opengl,widgets]
media-libs/tiff
)
udev? ( virtual/libudev )
"
BDEPEND="dev-libs/openssl"
RDEPEND="
${DEPEND}
${PYTHON_DEPS}
"

REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"

src_prepare() {
if use python; then
sed -i -e "/destdir =/s#destdir =.*#destdir = '"$(python_get_sitedir)"/libcamera'#g" \
src/py/libcamera/meson.build || die
fi

default
}

src_configure() {
local emesonargs=(
-Dandroid=disabled
$(meson_feature app cam)
$(meson_feature doc documentation)
$(meson_feature gstreamer)
$(meson_feature python pycamera)
$(meson_feature qt6 qcam)
$(meson_feature udev)
$(meson_use test)
-Dbuildtype=$(usex debug debug plain)
-Dv4l2=true
)
meson_src_configure
}

src_install() {
meson_src_install
python_optimize "${D}/$(python_get_sitedir)/libcamera"
}
14 changes: 14 additions & 0 deletions media-libs/libcamera/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>[email protected]</email>
<name>David GUGLIELMI</name>
</maintainer>
<use>
<flag name="app">Build cam cli utility</flag>
</use>
<upstream>
<remote-id type="freedesktop-gitlab">camera/libcamera</remote-id>
</upstream>
</pkgmetadata>

0 comments on commit c72422e

Please sign in to comment.