Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,11 @@
[Unit]
Description=LIRC Infrared Signal Decoder
Wants=lircd-setup.service
After=network.target lircd-setup.service
[Service]
Type=simple
ExecStart=/usr/sbin/lircd --nodaemon
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI:append:rpi = " \
file://lircd.service \
"
@@ -0,0 +1,4 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
RDEPENDS:${PN} += "python3-sense-hat"
@@ -0,0 +1,24 @@
SUMMARY = "Python module to control the Raspberry Pi Sense HAT used in the Astro Pi mission"
HOMEPAGE = "https://github.com/RPi-Distro/python-sense-hat"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
inherit setuptools3 pypi
PYPI_PACKAGE = "sense-hat"
SRC_URI[md5sum] = "69929250cb72349a8a82edf2584b1d83"
SRC_URI[sha256sum] = "f000998d042d96ed722d459312e1bebd0107f9f3015cd34b3e4fabcab9c800af"
DEPENDS += " \
jpeg \
zlib \
freetype \
"
RDEPENDS:${PN} += " \
${PYTHON_PN}-numpy \
${PYTHON_PN}-rtimu \
${PYTHON_PN}-pillow \
"
@@ -0,0 +1,2 @@
PACKAGECONFIG[raspberrypi] = "-Dpipelines=raspberrypi -Dipas=raspberrypi -Dcpp_args=-Wno-unaligned-access"
PACKAGECONFIG:append:rpi = " raspberrypi"
@@ -0,0 +1,25 @@
From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= <remi@remlab.net>
Date: Sat, 16 Jun 2018 21:31:45 +0300
Subject: configure: fix linking on RISC-V ISA
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 2037a9e..df26367 100644
--- a/configure.ac
+++ b/configure.ac
@@ -113,6 +113,7 @@ case "${host_os}" in
;;
linux*)
SYS=linux
+ test "${host_cpu}" = "riscv64" && CFLAGS="${CFLAGS} -pthread"
;;
bsdi*)
SYS=bsdi
@@ -0,0 +1,27 @@
From: Sebastian Ramacher <sramacher@debian.org>
Date: Mon, 19 Aug 2019 21:08:26 +0200
Subject: Revert "configure: Require libmodplug >= 0.8.9"
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
This reverts commit 48f014768dc22ecad23d0e9f53c38805a3aff832.
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index df26367..b8580ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2207,7 +2207,7 @@ AC_ARG_ENABLE(mod,
[AS_HELP_STRING([--disable-mod],
[do not use libmodplug (default auto)])])
if test "${enable_mod}" != "no" ; then
- PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.9.0], [
+ PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
VLC_ADD_PLUGIN([mod])
VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
VLC_ADD_CFLAGS([mod],[$LIBMODPLUG_CFLAGS]) #modules/demux/mod.c needs CFLAGS_mod, not CXXFLAGS_mod
@@ -0,0 +1,83 @@
From 4fcace61801f418786c42487c6b06b693ee87666 Mon Sep 17 00:00:00 2001
From: Romain Vimont <rom1v@videolabs.io>
Date: Mon, 19 Sep 2022 17:17:01 +0200
Subject: [PATCH] vnc: fix possible buffer overflow
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
Thanks to 0xMitsurugi [1] from Synacktiv [2] for the bug report and fix.
[1] https://twitter.com/0xMitsurugi
[2] https://www.synacktiv.com/
Fixes #27335
(cherry picked from commit 5eb783fd44ed6298db3e38f7765f21c42e4405f9)
---
modules/access/vnc.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
--- a/modules/access/vnc.c
+++ b/modules/access/vnc.c
@@ -33,6 +33,7 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
+#include <assert.h>
#include <vlc_common.h>
#include <vlc_plugin.h>
@@ -115,7 +116,7 @@
int i_cancel_state;
rfbClient* p_client;
- int i_framebuffersize;
+ size_t i_framebuffersize;
block_t *p_block;
float f_fps;
@@ -143,11 +144,16 @@
p_sys->es = NULL;
}
- int i_width = p_client->width;
- int i_height = p_client->height;
- int i_depth = p_client->format.bitsPerPixel;
+ assert(!(p_client->width & ~0xffff)); // fits in 16 bits
+ uint16_t i_width = p_client->width;
- switch( i_depth )
+ assert(!(p_client->height & ~0xffff)); // fits in 16 bits
+ uint16_t i_height = p_client->height;
+
+ uint8_t i_bits_per_pixel = p_client->format.bitsPerPixel;
+ assert((i_bits_per_pixel & 0x7) == 0); // multiple of 8
+
+ switch( i_bits_per_pixel )
{
case 8:
i_chroma = VLC_CODEC_RGB8;
@@ -180,7 +186,10 @@
}
/* Set up framebuffer */
- p_sys->i_framebuffersize = i_width * i_height * i_depth / 8;
+ if (mul_overflow(i_width, i_height * (i_bits_per_pixel / 8), &p_sys->i_framebuffersize)) {
+ msg_Err(p_demux, "VNC framebuffersize overflow");
+ return FALSE;
+ }
/* Reuse unsent block */
if ( p_sys->p_block )
@@ -211,7 +220,7 @@
fmt.video.i_frame_rate_base = 1000;
fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
- fmt.video.i_bits_per_pixel = i_depth;
+ fmt.video.i_bits_per_pixel = i_bits_per_pixel;
fmt.video.i_rmask = p_client->format.redMax << p_client->format.redShift;
fmt.video.i_gmask = p_client->format.greenMax << p_client->format.greenShift;
fmt.video.i_bmask = p_client->format.blueMax << p_client->format.blueShift;
@@ -0,0 +1,19 @@
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/bin/vlc.c
+++ b/bin/vlc.c
@@ -106,7 +106,10 @@ static void vlc_kill (void *data)
static void exit_timeout (int signum)
{
(void) signum;
- signal (SIGINT, SIG_DFL);
+// This doesn't seem to be strong enough to reliably kill us if we fail to exit
+// in a timely fashion - so upgrade to _exit().
+// signal (SIGINT, SIG_DFL);
+ _exit(0);
}
/*****************************************************************************
@@ -0,0 +1,19 @@
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/modules/video_chroma/chain.c
+++ b/modules/video_chroma/chain.c
@@ -280,8 +280,9 @@ static int BuildTransformChain( filter_t
return VLC_SUCCESS;
/* Lets try resize+chroma first, then transform */
- msg_Dbg( p_filter, "Trying to build chroma+resize" );
- EsFormatMergeSize( &fmt_mid, &p_filter->fmt_out, &p_filter->fmt_in );
+ msg_Dbg( p_filter, "Trying to build chroma+resize, then transform" );
+ es_format_Copy( &fmt_mid, &p_filter->fmt_out );
+ video_format_TransformTo(&fmt_mid.video, p_filter->fmt_in.video.orientation);
i_ret = CreateChain( p_filter, &fmt_mid );
es_format_Clean( &fmt_mid );
if( i_ret == VLC_SUCCESS )
@@ -0,0 +1,53 @@
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
--- a/modules/hw/mmal/blend_rgba_neon.S
+++ b/modules/hw/mmal/blend_rgba_neon.S
@@ -1,10 +1,10 @@
- .syntax unified
- .arm
-// .thumb
- .text
+#include "../../arm_neon/asm.S"
.align 16
.arch armv7-a
- .fpu neon-vfpv4
+ .syntax unified
+#if HAVE_AS_FPU_DIRECTIVE
+ .fpu neon-vfpv4
+#endif
@ blend_rgbx_rgba_neon
--- a/modules/hw/mmal/codec.c
+++ b/modules/hw/mmal/codec.c
@@ -29,6 +29,7 @@
#include <stdatomic.h>
#include <vlc_common.h>
+#include <vlc_cpu.h>
#include <vlc_plugin.h>
#include <vlc_codec.h>
#include <vlc_filter.h>
@@ -2311,6 +2312,9 @@ static int OpenBlendMmal(vlc_object_t *o
filter_t * const p_filter = (filter_t *)object;
const vlc_fourcc_t vfcc_dst = p_filter->fmt_out.video.i_chroma;
+ if (!vlc_CPU_ARM_NEON())
+ return VLC_EGENERIC;
+
if (!hw_mmal_chroma_is_mmal(vfcc_dst) ||
!hw_mmal_vzc_subpic_fmt_valid(&p_filter->fmt_in.video))
{
@@ -2421,6 +2425,9 @@ static int OpenBlendNeon(vlc_object_t *o
MMAL_FOURCC_T mfcc_dst = vlc_to_mmal_video_fourcc(&p_filter->fmt_out.video);
blend_neon_fn * blend_fn = (blend_neon_fn *)0;
+ if (!vlc_CPU_ARM_NEON())
+ return VLC_EGENERIC;
+
// Non-alpha RGB only for dest
if (vfcc_dst != VLC_CODEC_RGB32)
return VLC_EGENERIC;
@@ -0,0 +1,26 @@
From 048e4fdd08ac588feb27b03e3ec1824e24f77d62 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 5 Mar 2023 14:13:25 -0800
Subject: [PATCH 3/3] configure: Disable incompatible-function-pointer-types
warning
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 5 +++++
1 file changed, 5 insertions(+)
--- a/configure.ac
+++ b/configure.ac
@@ -105,6 +105,11 @@ AC_SUBST([AM_CFLAGS], [-fcommon])
dnl Prevent clang from accepting unknown flags with a mere warning
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
+dnl disable clang from erroring on function pointer protype mismatch, vlc seems to rely on that
+dnl especially in modules/video_filter/deinterlace/algo_yadif.c how it interpolates 'filter` variable
+dnl between different functions yadif_filter_line_c_16bit() and yadif_filter_line_c()
+AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CFLAGS])
+AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CXXFLAGS])
dnl
dnl Check the operating system
@@ -0,0 +1,236 @@
* luaL_checkint and luaL_optint were deprecated in lua 5.3
* replacement functions are luaL_checkinteger and luaL_optinteger
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
--- a/modules/lua/demux.c
+++ b/modules/lua/demux.c
@@ -52,7 +52,7 @@ struct vlclua_playlist
static int vlclua_demux_peek( lua_State *L )
{
stream_t *s = (stream_t *)vlclua_get_this(L);
- int n = luaL_checkint( L, 1 );
+ int n = luaL_checkinteger( L, 1 );
const uint8_t *p_peek;
ssize_t val = vlc_stream_Peek(s->p_source, &p_peek, n);
@@ -66,7 +66,7 @@ static int vlclua_demux_peek( lua_State
static int vlclua_demux_read( lua_State *L )
{
stream_t *s = (stream_t *)vlclua_get_this(L);
- int n = luaL_checkint( L, 1 );
+ int n = luaL_checkinteger( L, 1 );
char *buf = malloc(n);
if (buf != NULL)
--- a/modules/lua/libs/net.c
+++ b/modules/lua/libs/net.c
@@ -179,7 +179,7 @@ static int vlclua_net_listen_tcp( lua_St
{
vlc_object_t *p_this = vlclua_get_this( L );
const char *psz_host = luaL_checkstring( L, 1 );
- int i_port = luaL_checkint( L, 2 );
+ int i_port = luaL_checkinteger( L, 2 );
int *pi_fd = net_ListenTCP( p_this, psz_host, i_port );
if( pi_fd == NULL )
return luaL_error( L, "Cannot listen on %s:%d", psz_host, i_port );
@@ -251,7 +251,7 @@ static int vlclua_net_connect_tcp( lua_S
{
vlc_object_t *p_this = vlclua_get_this( L );
const char *psz_host = luaL_checkstring( L, 1 );
- int i_port = luaL_checkint( L, 2 );
+ int i_port = luaL_checkinteger( L, 2 );
int i_fd = net_ConnectTCP( p_this, psz_host, i_port );
lua_pushinteger( L, vlclua_fd_map_safe( L, i_fd ) );
return 1;
@@ -259,14 +259,14 @@ static int vlclua_net_connect_tcp( lua_S
static int vlclua_net_close( lua_State *L )
{
- int i_fd = luaL_checkint( L, 1 );
+ int i_fd = luaL_checkinteger( L, 1 );
vlclua_fd_unmap_safe( L, i_fd );
return 0;
}
static int vlclua_net_send( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
size_t i_len;
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
@@ -278,7 +278,7 @@ static int vlclua_net_send( lua_State *L
static int vlclua_net_recv( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
char psz_buffer[i_len];
@@ -312,7 +312,7 @@ static int vlclua_net_poll( lua_State *L
lua_pushnil( L );
for( int i = 0; lua_next( L, 1 ); i++ )
{
- luafds[i] = luaL_checkint( L, -2 );
+ luafds[i] = luaL_checkinteger( L, -2 );
p_fds[i].fd = vlclua_fd_get( L, luafds[i] );
p_fds[i].events = luaL_checkinteger( L, -1 );
p_fds[i].events &= POLLIN | POLLOUT | POLLPRI;
@@ -360,7 +360,7 @@ static int vlclua_fd_open( lua_State *L
#ifndef _WIN32
static int vlclua_fd_write( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
size_t i_len;
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
@@ -371,7 +371,7 @@ static int vlclua_fd_write( lua_State *L
static int vlclua_fd_read( lua_State *L )
{
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
char psz_buffer[i_len];
--- a/modules/lua/libs/osd.c
+++ b/modules/lua/libs/osd.c
@@ -154,7 +154,7 @@ static int vlc_osd_slider_type_from_stri
static int vlclua_osd_slider( lua_State *L )
{
- int i_position = luaL_checkint( L, 1 );
+ int i_position = luaL_checkinteger( L, 1 );
const char *psz_type = luaL_checkstring( L, 2 );
int i_type = vlc_osd_slider_type_from_string( psz_type );
int i_chan = (int)luaL_optinteger( L, 3, VOUT_SPU_CHANNEL_OSD );
@@ -198,7 +198,7 @@ static int vlclua_spu_channel_register(
static int vlclua_spu_channel_clear( lua_State *L )
{
- int i_chan = luaL_checkint( L, 1 );
+ int i_chan = luaL_checkinteger( L, 1 );
input_thread_t *p_input = vlclua_get_input_internal( L );
if( !p_input )
return luaL_error( L, "Unable to find input." );
--- a/modules/lua/libs/playlist.c
+++ b/modules/lua/libs/playlist.c
@@ -69,7 +69,7 @@ static int vlclua_playlist_next( lua_Sta
static int vlclua_playlist_skip( lua_State * L )
{
- int i_skip = luaL_checkint( L, 1 );
+ int i_skip = luaL_checkinteger( L, 1 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
playlist_Skip( p_playlist, i_skip );
return 0;
@@ -127,7 +127,7 @@ static int vlclua_playlist_random( lua_S
static int vlclua_playlist_gotoitem( lua_State * L )
{
- int i_id = luaL_checkint( L, 1 );
+ int i_id = luaL_checkinteger( L, 1 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
PL_LOCK;
playlist_ViewPlay( p_playlist, NULL,
@@ -138,7 +138,7 @@ static int vlclua_playlist_gotoitem( lua
static int vlclua_playlist_delete( lua_State * L )
{
- int i_id = luaL_checkint( L, 1 );
+ int i_id = luaL_checkinteger( L, 1 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
PL_LOCK;
@@ -152,8 +152,8 @@ static int vlclua_playlist_delete( lua_S
static int vlclua_playlist_move( lua_State * L )
{
- int i_item = luaL_checkint( L, 1 );
- int i_target = luaL_checkint( L, 2 );
+ int i_item = luaL_checkinteger( L, 1 );
+ int i_target = luaL_checkinteger( L, 2 );
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
PL_LOCK;
playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_item );
--- a/modules/lua/libs/stream.c
+++ b/modules/lua/libs/stream.c
@@ -123,7 +123,7 @@ static int vlclua_stream_read( lua_State
{
int i_read;
stream_t **pp_stream = (stream_t **)luaL_checkudata( L, 1, "stream" );
- int n = luaL_checkint( L, 2 );
+ int n = luaL_checkinteger( L, 2 );
uint8_t *p_read = malloc( n );
if( !p_read ) return vlclua_error( L );
--- a/modules/lua/libs/volume.c
+++ b/modules/lua/libs/volume.c
@@ -48,7 +48,7 @@
static int vlclua_volume_set( lua_State *L )
{
playlist_t *p_this = vlclua_get_playlist_internal( L );
- int i_volume = luaL_checkint( L, 1 );
+ int i_volume = luaL_checkinteger( L, 1 );
if( i_volume < 0 )
i_volume = 0;
int i_ret = playlist_VolumeSet( p_this, i_volume/(float)AOUT_VOLUME_DEFAULT );
--- a/modules/lua/libs/dialog.c
+++ b/modules/lua/libs/dialog.c
@@ -382,7 +382,7 @@ static int lua_GetDialogUpdate( lua_Stat
/* Read entry in the Lua registry */
lua_pushlightuserdata( L, (void*) &key_update );
lua_gettable( L, LUA_REGISTRYINDEX );
- return luaL_checkint( L, -1 );
+ return luaL_checkinteger( L, -1 );
}
/** Manually update a dialog
@@ -573,22 +573,22 @@ static int vlclua_create_widget_inner( l
/* Set common arguments: col, row, hspan, vspan, width, height */
if( lua_isnumber( L, arg ) )
- p_widget->i_column = luaL_checkint( L, arg );
+ p_widget->i_column = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_row = luaL_checkint( L, arg );
+ p_widget->i_row = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_horiz_span = luaL_checkint( L, arg );
+ p_widget->i_horiz_span = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_vert_span = luaL_checkint( L, arg );
+ p_widget->i_vert_span = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_width = luaL_checkint( L, arg );
+ p_widget->i_width = luaL_checkinteger( L, arg );
else goto end_of_args;
if( lua_isnumber( L, ++arg ) )
- p_widget->i_height = luaL_checkint( L, arg );
+ p_widget->i_height = luaL_checkinteger( L, arg );
else goto end_of_args;
end_of_args:
--- a/modules/lua/libs/io.c
+++ b/modules/lua/libs/io.c
@@ -139,7 +139,7 @@ static int vlclua_io_file_seek( lua_Stat
const char* psz_mode = luaL_optstring( L, 2, NULL );
if ( psz_mode != NULL )
{
- long i_offset = luaL_optlong( L, 3, 0 );
+ long i_offset = (long)luaL_optinteger( L, 3, 0 );
int i_mode;
if ( !strcmp( psz_mode, "set" ) )
i_mode = SEEK_SET;
@@ -0,0 +1,33 @@
From d0a7ba506fd302ad195f79f287b5a5a154ac02a3 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Sun, 4 Dec 2022 16:09:51 -0600
Subject: [PATCH] tremor provides libvorbisidec, use it instead of libvorbisdec
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
THIS PATCHES HAS BEEN REIMPLEMENTED INORDER TO APPLY PROPERLY.
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
---
modules/codec/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
index 3dadf1119..8b6189e92 100644
--- a/modules/codec/Makefile.am
+++ b/modules/codec/Makefile.am
@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
libtremor_plugin_la_SOURCES = codec/vorbis.c
libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
+libtremor_plugin_la_LIBADD = -lvorbisidec -logg
EXTRA_LTLIBRARIES += libtremor_plugin.la
codec_LTLIBRARIES += $(LTLIBtremor)
--
2.38.1
@@ -0,0 +1,124 @@
From ddc2ea76058466b45a1acf37bed0d794cd3112a3 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 19:04:42 -0600
Subject: [PATCH] configure.ac: setup for OE usage
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Need to use userland graphics libraries package files as it's best
to not assume /opt/vc is where all libs and headers are installed per
distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`.
Adding $BCMHOST_MMAL_LIBS uses all libs inside
bcm_host.pc, mmal.pc, vcsm.pc, openmaxil.pc files when checking
for `vc_tv_unregister_callback_full` function.
Supposed to change linked version to opengl to GLESv2
Ensure correct package config file is used for:
* opencv
* freerdp
Adds Workaround for modules/codec/omxil/omxil_core.h
multiple definition of `pf_enable_graphic_buffers'
multiple definition of `pf_get_graphic_buffer_usage'
multiple definition of `pf_get_hal_format'
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
configure.ac | 34 ++++++++++++++++++++++------------
1 file changed, 22 insertions(+), 12 deletions(-)
diff --git a/configure.ac b/configure.ac
index a72dca0b6..5b8585a26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,6 +95,13 @@ AS_IF([test -n "${with_binary_version}"],[
[Binary specific version])
])
+# Workaround for modules/codec/omxil/omxil_core.h
+# multiple definition of `pf_enable_graphic_buffers'
+# multiple definition of `pf_get_graphic_buffer_usage'
+# multiple definition of `pf_get_hal_format'
+AC_SUBST([AM_CXXFLAGS], [-fcommon])
+AC_SUBST([AM_CFLAGS], [-fcommon])
+
dnl Prevent clang from accepting unknown flags with a mere warning
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
@@ -1900,7 +1907,7 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.6.2], (libbluray f
dnl
dnl OpenCV wrapper and example filters
dnl
-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv4 >= 2.0], (OpenCV (computer vision) filter), [auto])
dnl
@@ -2077,7 +2084,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
dnl RDP/Remote Desktop access module
dnl
-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) )
dnl
dnl Real RTSP plugin
@@ -3089,14 +3096,14 @@ PKG_CHECK_MODULES([GL], [gl], [
#ifdef _WIN32
# include <GL/glew.h>
#endif
-#include <GL/gl.h>
+#include <GLES2/gl2.h>
]], [
[int t0 = GL_TEXTURE0;]])
], [
GL_CFLAGS=""
have_gl="yes"
AS_IF([test "${SYS}" != "mingw32"], [
- GL_LIBS="-lGL"
+ GL_LIBS="-lGLESv2"
], [
GL_LIBS="-lopengl32"
])
@@ -3483,15 +3490,14 @@ AC_ARG_ENABLE(mmal_avcodec,
[Use MMAL enabled avcodec libs (default disable)]))
if test "${enable_mmal}" != "no"; then
VLC_SAVE_FLAGS
- LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
- CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
- AC_CHECK_HEADERS(interface/mmal/mmal.h,
- [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
+ PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
+ HAVE_MMAL=yes
+ AC_CHECK_HEADERS(interface/mmal/mmal.h,
+ [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
have_mmal="yes"
- VLC_ADD_PLUGIN([mmal])
- VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
- VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
- VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
+ VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
+ VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
+ VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS -lmmal_components]) ], [
AS_IF([test "${enable_mmal}" = "yes"],
[ AC_MSG_ERROR([Cannot find bcm library...]) ],
[ AC_MSG_WARN([Cannot find bcm library...]) ])
@@ -3500,6 +3506,10 @@ if test "${enable_mmal}" != "no"; then
] , [ AS_IF([test "${enable_mmal}" = "yes"],
[ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
[ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
+ ],:[
+ AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
+ HAVE_MMAL=NO
+ ])
VLC_RESTORE_FLAGS
fi
AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
--
2.38.1
@@ -0,0 +1,61 @@
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 07 Jan 2022 07:01:47 PM CST
Subject: [PATCH] Fix EGL macro undeclared and EGLImageKHR
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
* Fixes compiler issues related to EGL macro constant/enum value type not being defined
* Updates EGLImage to EGLImageKHR
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
diff --git a/modules/hw/mmal/converter_mmal.c b/modules/hw/mmal/converter_mmal.c
index f31cb81d8..426af668b 100644
--- a/modules/hw/mmal/converter_mmal.c
+++ b/modules/hw/mmal/converter_mmal.c
@@ -28,6 +28,34 @@
#define TRACE_ALL 0
+// Pass Yocto related build errors
+#define EGL_LINUX_DMA_BUF_EXT 0x3270
+#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
+#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
+#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
+#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
+#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
+#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
+#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
+#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
+#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
+#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
+#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
+#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
+#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
+#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
+#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
+#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
+#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
+#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
+#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
+#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
+#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
+#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
+#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
+#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
+#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
+
typedef struct mmal_gl_converter_s
{
EGLint drm_fourcc;
@@ -199,7 +227,7 @@ static tex_context_t * get_tex_context(const opengl_tex_converter_t * const tc,
*a = EGL_NONE;
- const EGLImage image = tc->gl->egl.createImageKHR(tc->gl, EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
+ const EGLImageKHR image = tc->gl->egl.createImageKHR(tc->gl, EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
if (!image) {
msg_Err(tc, "Failed to import fd %d: Err=%#x", fd, tc->vt->GetError());
goto fail;
@@ -0,0 +1,43 @@
From 85f6603aca1d174848b42e696a4cff8af57613d6 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Thu, 8 Dec 2022 23:38:36 -0600
Subject: [PATCH] codec: omxil_core replace /opt/vc path with /usr/lib
Upstream-Status: Inappropriate
RPI-Distro repo clones original VLC and applies patches to enable
raspiberry pi support.
Configures omxil_core.c for OE usages as libbcm_host.so
and libopenmaxil.so are located in a different location.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/codec/omxil/omxil_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/codec/omxil/omxil_core.c b/modules/codec/omxil/omxil_core.c
index 5098f517a..5922d9034 100644
--- a/modules/codec/omxil/omxil_core.c
+++ b/modules/codec/omxil/omxil_core.c
@@ -56,7 +56,7 @@ static const char *ppsz_dll_list[] =
#if defined(USE_IOMX)
"libiomx.so", /* Not used when using IOMX, the lib should already be loaded */
#elif defined(RPI_OMX)
- "/opt/vc/lib/libopenmaxil.so", /* Broadcom IL core */
+ "/usr/lib/libopenmaxil.so", /* Broadcom IL core */
#elif 1
"libOMX_Core.so", /* TI OMAP IL core */
"libOmxCore.so", /* Qualcomm IL core */
@@ -70,7 +70,7 @@ static const char *ppsz_dll_list[] =
#ifdef RPI_OMX
static const char *ppsz_extra_dll_list[] =
{
- "/opt/vc/lib/libbcm_host.so", /* Broadcom host library */
+ "/usr/lib/libbcm_host.so", /* Broadcom host library */
0
};
#endif
--
2.38.1
@@ -0,0 +1,60 @@
From 377a67af6c3f7c38f6f7ba24f042ba1a6cfd3f24 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 00:21:43 -0600
Subject: [PATCH] use GLESv2 headers over GL headers
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
We utilize GLESv2 during compilation. Patches ensures
we utilize headers for it.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/opengl/converter.h | 12 +++---------
modules/visualization/glspectrum.c | 4 +++-
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h
index 7000e1f38..a3fe32671 100644
--- a/modules/video_output/opengl/converter.h
+++ b/modules/video_output/opengl/converter.h
@@ -41,15 +41,9 @@
# include <OpenGLES/ES2/glext.h>
# endif
#else /* !defined (__APPLE__) */
-# if defined (USE_OPENGL_ES2)
-# include <GLES2/gl2.h>
-# include <GLES2/gl2ext.h>
-# else
-# ifdef _WIN32
-# include <GL/glew.h>
-# endif
-# include <GL/gl.h>
-# endif
+#define USE_OPENGL_ES2
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
#endif
#define VLCGL_PICTURE_MAX 128
diff --git a/modules/visualization/glspectrum.c b/modules/visualization/glspectrum.c
index 06f8d1bdf..470080b1a 100644
--- a/modules/visualization/glspectrum.c
+++ b/modules/visualization/glspectrum.c
@@ -37,7 +37,9 @@
#ifdef __APPLE__
# include <OpenGL/gl.h>
#else
-# include <GL/gl.h>
+#define USE_OPENGL_ES2
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
#endif
#include <math.h>
--
2.38.1
@@ -0,0 +1,149 @@
From 5f1bb5889d838719e381350b25c00ef3a75d0e02 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 01:07:55 -0600
Subject: [PATCH] modules: remove glspectrum usage
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
The glspectrum modules requries OpenGL
while we only want to utilize GLESv2.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/Makefile.in | 24 ------------------------
modules/visualization/Makefile.am | 10 ----------
2 files changed, 34 deletions(-)
diff --git a/modules/Makefile.in b/modules/Makefile.in
index bde45db53..c9c4342ad 100644
--- a/modules/Makefile.in
+++ b/modules/Makefile.in
@@ -481,7 +481,6 @@ TESTS = hpack_test$(EXEEXT) hpackenc_test$(EXEEXT) \
@HAVE_WIN32_FALSE@am__append_247 = $(X_LIBS) $(X_PRE_LIBS) -lX11
@HAVE_DARWIN_FALSE@@HAVE_WIN32_FALSE@am__append_248 = $(X_LIBS) $(X_PRE_LIBS) -lX11
@HAVE_EVAS_TRUE@am__append_249 = libevas_plugin.la
-@HAVE_GL_TRUE@am__append_250 = libglspectrum_plugin.la
@ENABLE_SOUT_TRUE@@HAVE_GCRYPT_TRUE@am__append_251 = libaccess_output_livehttp_plugin.la
@ENABLE_SOUT_TRUE@am__append_252 = libaccess_output_shout_plugin.la \
@ENABLE_SOUT_TRUE@ libaccess_output_srt_plugin.la \
@@ -2028,13 +2027,7 @@ libgles2_plugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libgles2_plugin_la_CFLAGS) $(CFLAGS) \
$(libgles2_plugin_la_LDFLAGS) $(LDFLAGS) -o $@
-libglspectrum_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
-am_libglspectrum_plugin_la_OBJECTS = visualization/glspectrum.lo \
- visualization/visual/fft.lo visualization/visual/window.lo
-libglspectrum_plugin_la_OBJECTS = \
- $(am_libglspectrum_plugin_la_OBJECTS)
-@HAVE_GL_TRUE@am_libglspectrum_plugin_la_rpath = -rpath $(visudir)
libglwin32_plugin_la_DEPENDENCIES = libchroma_copy.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_5)
am__objects_23 = \
@@ -6507,7 +6500,6 @@ am__depfiles_remade = \
video_splitter/$(DEPDIR)/clone.Plo \
video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo \
video_splitter/$(DEPDIR)/wall.Plo \
- visualization/$(DEPDIR)/glspectrum.Plo \
visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo \
visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo \
visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo \
@@ -6731,7 +6723,6 @@ SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
$(libglconv_vaapi_x11_plugin_la_SOURCES) \
$(libglconv_vdpau_plugin_la_SOURCES) \
$(libgles2_plugin_la_SOURCES) \
- $(libglspectrum_plugin_la_SOURCES) \
$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
@@ -7130,7 +7121,6 @@ DIST_SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
$(libglconv_vaapi_x11_plugin_la_SOURCES) \
$(libglconv_vdpau_plugin_la_SOURCES) \
$(libgles2_plugin_la_SOURCES) \
- $(libglspectrum_plugin_la_SOURCES) \
$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
@@ -12696,13 +12686,6 @@ libevent_thread_la_LDFLAGS = -static
visudir = $(pluginsdir)/visualization
visu_LTLIBRARIES = $(am__append_250) $(LTLIBgoom) $(LTLIBprojectm) \
libvisual_plugin.la $(LTLIBvsxu)
-libglspectrum_plugin_la_SOURCES = \
- visualization/glspectrum.c \
- visualization/visual/fft.c visualization/visual/fft.h \
- visualization/visual/window.c visualization/visual/window.h \
- visualization/visual/window_presets.h
-
-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
libgoom_plugin_la_SOURCES = visualization/goom.c
libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
@@ -15715,8 +15698,6 @@ visualization/$(am__dirstamp):
visualization/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) visualization/$(DEPDIR)
@: > visualization/$(DEPDIR)/$(am__dirstamp)
-visualization/glspectrum.lo: visualization/$(am__dirstamp) \
- visualization/$(DEPDIR)/$(am__dirstamp)
visualization/visual/$(am__dirstamp):
@$(MKDIR_P) visualization/visual
@: > visualization/visual/$(am__dirstamp)
@@ -15728,8 +15709,6 @@ visualization/visual/fft.lo: visualization/visual/$(am__dirstamp) \
visualization/visual/window.lo: visualization/visual/$(am__dirstamp) \
visualization/visual/$(DEPDIR)/$(am__dirstamp)
-libglspectrum_plugin.la: $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_DEPENDENCIES) $(EXTRA_libglspectrum_plugin_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(am_libglspectrum_plugin_la_rpath) $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_LIBADD) $(LIBS)
video_output/opengl/libglwin32_plugin_la-vout_helper.lo: \
video_output/opengl/$(am__dirstamp) \
video_output/opengl/$(DEPDIR)/$(am__dirstamp)
@@ -21420,7 +21399,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/clone.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/wall.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/glspectrum.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo@am__quote@ # am--include-marker
@@ -30324,7 +30302,6 @@ distclean: distclean-recursive
-rm -f video_splitter/$(DEPDIR)/clone.Plo
-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
-rm -f video_splitter/$(DEPDIR)/wall.Plo
- -rm -f visualization/$(DEPDIR)/glspectrum.Plo
-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
@@ -31722,7 +31699,6 @@ maintainer-clean: maintainer-clean-recursive
-rm -f video_splitter/$(DEPDIR)/clone.Plo
-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
-rm -f video_splitter/$(DEPDIR)/wall.Plo
- -rm -f visualization/$(DEPDIR)/glspectrum.Plo
-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
diff --git a/modules/visualization/Makefile.am b/modules/visualization/Makefile.am
index 10619e030..aafc97f87 100644
--- a/modules/visualization/Makefile.am
+++ b/modules/visualization/Makefile.am
@@ -1,16 +1,6 @@
visudir = $(pluginsdir)/visualization
visu_LTLIBRARIES =
-libglspectrum_plugin_la_SOURCES = \
- visualization/glspectrum.c \
- visualization/visual/fft.c visualization/visual/fft.h \
- visualization/visual/window.c visualization/visual/window.h \
- visualization/visual/window_presets.h
-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
-if HAVE_GL
-visu_LTLIBRARIES += libglspectrum_plugin.la
-endif
-
libgoom_plugin_la_SOURCES = visualization/goom.c
libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
--
2.38.1
@@ -0,0 +1,43 @@
From fd4d233757cc46cd89f68b45ec4b059940dd84ae Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 19:58:11 -0600
Subject: [PATCH] codec: omxil_core.h fix multiple definition of
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
Issue occurs during compilation as
* pf_enable_graphic_buffers
* pf_get_graphic_buffer_usage
* pf_get_hal_format
Apears to be defined multiple times as the omxil_core.h
is included in multiple files.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/codec/omxil/omxil_core.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules/codec/omxil/omxil_core.h b/modules/codec/omxil/omxil_core.h
index ac3db510b..f6e42f5ed 100644
--- a/modules/codec/omxil/omxil_core.h
+++ b/modules/codec/omxil/omxil_core.h
@@ -34,9 +34,9 @@ extern OMX_ERRORTYPE (*pf_component_enum)(OMX_STRING, OMX_U32, OMX_U32);
extern OMX_ERRORTYPE (*pf_get_roles_of_component)(OMX_STRING, OMX_U32 *, OMX_U8 **);
/* Extra IOMX android functions. Can be NULL if we don't link with libiomx */
-OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
-OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
-OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
+extern OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
+extern OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
+extern OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
int InitOmxCore(vlc_object_t *p_this);
void DeinitOmxCore(void);
--
2.38.1
@@ -0,0 +1,36 @@
From 34e4f4dad923095989ccb0ab8efb883c592bdbfd Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 20:04:27 -0600
Subject: [PATCH] remove xorg related link libs
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
If x11 isn't defined in DISTRO_FEATURES
required xorg related libs are not included
in recipe-sysroot resulting in compilation
failure.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/hw/mmal/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/hw/mmal/Makefile.am b/modules/hw/mmal/Makefile.am
index 4abe68e2e..86dad2c2d 100644
--- a/modules/hw/mmal/Makefile.am
+++ b/modules/hw/mmal/Makefile.am
@@ -8,7 +8,7 @@ libmmal_vout_plugin_la_SOURCES = vout.c mmal_cma.c mmal_picture.c subpic.c\
mmal_cma.h mmal_picture.h subpic.h transform_ops.h\
mmal_piccpy_neon.S
libmmal_vout_plugin_la_CFLAGS = $(AM_CFLAGS)
-libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm -lX11 -lXrandr
+libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm
libmmal_vout_plugin_la_LIBADD = $(LIBS_mmal)
mmal_LTLIBRARIES = libmmal_vout_plugin.la
--
2.38.1
@@ -0,0 +1,97 @@
From 28917a258a4173af0abda0eef7faef5cbf95f123 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 21:28:48 -0600
Subject: [PATCH] vo: Makefile.am exclude libgl_plugin
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches
to enable raspiberry pi support.
In the situation where opengl isn't included in
DISTRO_FEATURES. We need to exclude the opengl
vout plugin from being built.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/Makefile.am | 64 --------------------------------
1 file changed, 64 deletions(-)
diff --git a/modules/video_output/Makefile.am b/modules/video_output/Makefile.am
index 78c06cfc4..14a330e68 100644
--- a/modules/video_output/Makefile.am
+++ b/modules/video_output/Makefile.am
@@ -57,70 +57,6 @@ if HAVE_TVOS
vout_LTLIBRARIES += libvout_ios_plugin.la libglconv_cvpx_plugin.la
endif
-### OpenGL ###
-libgles2_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
-libgles2_plugin_la_CFLAGS = $(AM_CFLAGS) $(GLES2_CFLAGS) -DUSE_OPENGL_ES2 $(OPENGL_COMMONCLFAGS)
-libgles2_plugin_la_LIBADD = $(GLES2_LIBS) $(LIBM) $(OPENGL_COMMONLIBS)
-libgles2_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
-
-EXTRA_LTLIBRARIES += libgles2_plugin.la
-vout_LTLIBRARIES += $(LTLIBgles2)
-
-libgl_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
-libgl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) $(OPENGL_COMMONCLFAGS)
-libgl_plugin_la_LIBADD = $(LIBM) $(OPENGL_COMMONLIBS)
-if HAVE_WIN32
-libgl_plugin_la_CFLAGS += -DHAVE_GL_CORE_SYMBOLS
-libgl_plugin_la_LIBADD += $(GL_LIBS)
-endif
-
-libglconv_vaapi_wl_plugin_la_SOURCES = video_output/opengl/converter_vaapi.c \
- video_output/opengl/converter.h \
- hw/vaapi/vlc_vaapi.c hw/vaapi/vlc_vaapi.h
-libglconv_vaapi_wl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) -DHAVE_VA_WL $(LIBVA_WL_CFLAGS)
-libglconv_vaapi_wl_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_WL_LIBS)
-
-libglconv_vaapi_x11_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
-libglconv_vaapi_x11_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_X11
-libglconv_vaapi_x11_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_X11_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11
-
-libglconv_vaapi_drm_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
-libglconv_vaapi_drm_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_DRM
-libglconv_vaapi_drm_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
- $(LIBVA_DRM_LIBS)
-
-libglconv_vdpau_plugin_la_SOURCES = video_output/opengl/converter_vdpau.c \
- video_output/opengl/converter.h hw/vdpau/vlc_vdpau.h
-libglconv_vdpau_plugin_la_CFLAGS = $(AM_CFLAGS) $(VDPAU_CFLAGS)
-libglconv_vdpau_plugin_la_LIBADD = $(LIBDL) libvlc_vdpau.la $(X_LIBS) $(X_PRE_LIBS) -lX11
-
-if HAVE_GL
-vout_LTLIBRARIES += libgl_plugin.la
-if HAVE_EGL
-if HAVE_VAAPI
-if HAVE_WAYLAND_EGL
-if HAVE_VAAPI_WL
-vout_LTLIBRARIES += libglconv_vaapi_wl_plugin.la
-endif
-endif
-if HAVE_XCB
-if HAVE_VAAPI_X11
-vout_LTLIBRARIES += libglconv_vaapi_x11_plugin.la
-endif
-endif
-if HAVE_VAAPI_DRM
-vout_LTLIBRARIES += libglconv_vaapi_drm_plugin.la
-endif
-endif
-endif # HAVE_EGL
-
-if HAVE_VDPAU
-vout_LTLIBRARIES += libglconv_vdpau_plugin.la
-endif
-endif # HAVE_GL
-
### XCB ###
libvlc_xcb_events_la_SOURCES = \
video_output/xcb/events.c video_output/xcb/events.h
--
2.38.1
@@ -0,0 +1,59 @@
From 35276c4b02b9114436108e74727d192f1e21f239 Mon Sep 17 00:00:00 2001
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 9 Dec 2022 23:31:33 -0600
Subject: [PATCH] vo: converter_vaapi Fix EGL macro undeclared
Upstream-Status: Inappropriate
RPI-Distro repo forks original vlc and applies patches to enable
raspiberry pi support.
Fixes compiler issues related to EGL macro constant/enum value type
not being defined
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
---
modules/video_output/opengl/converter_vaapi.c | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/modules/video_output/opengl/converter_vaapi.c b/modules/video_output/opengl/converter_vaapi.c
index cd842f711..59245fe4c 100644
--- a/modules/video_output/opengl/converter_vaapi.c
+++ b/modules/video_output/opengl/converter_vaapi.c
@@ -55,6 +55,33 @@
#define DRM_FORMAT_MOD_INVALID fourcc_mod_code(NONE, DRM_FORMAT_RESERVED)
+#define EGL_LINUX_DMA_BUF_EXT 0x3270
+#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
+#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
+#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
+#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
+#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
+#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
+#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
+#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
+#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
+#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
+#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
+#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
+#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
+#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
+#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
+#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
+#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
+#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
+#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
+#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
+#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
+#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
+#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
+#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
+#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
+
struct priv
{
struct vlc_vaapi_instance *vainst;
--
2.38.1
@@ -0,0 +1,163 @@
DESCRIPTION = "Video player and streamer - davinci edition"
HOMEPAGE = "http://www.videolan.org"
SECTION = "multimedia"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "\
git://git@github.com/RPi-Distro/vlc;protocol=https;branch=buster-rpt \
file://0001-configure-fix-linking-on-RISC-V-ISA.patch \
file://0002-Revert-configure-Require-libmodplug-0.8.9.patch \
file://0003-CVE-2022-41325.patch \
file://0004-mmal_20.patch \
file://0005-mmal_exit_fix.patch \
file://0006-mmal_chain.patch \
file://0007-armv6.patch \
file://0008-configure-Disable-incompatible-function-pointer-type.patch \
file://2001-fix-luaL-checkint.patch \
file://2002-use-vorbisidec.patch \
file://3001-configure.ac-setup-for-OE-usage.patch \
file://3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
file://3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch \
file://3004-use-GLESv2-headers-over-GL-headers.patch \
file://3005-modules-remove-glspectrum-usage.patch \
file://3006-codec-omxil_core.h-fix-multiple-definition-of.patch \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://3007-remove-xorg-related-link-libs.patch', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'file://3008-vo-Makefile.am-exclude-libgl_plugin.patch', d)} \
file://3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch \
"
SRCREV = "b276eb0d7bc3213363e97dbb681ef7c927be6c73"
S = "${WORKDIR}/git"
PROVIDES = "vlc"
RPROVIDES:${PN} = "${PROVIDES}"
DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
dbus libxml2 gnutls tremor faad2 ffmpeg flac alsa-lib libidn \
jpeg xz libmodplug mpeg2dec libmtp libopus orc libsamplerate0 \
avahi libusb1 schroedinger taglib tiff"
inherit autotools gettext pkgconfig mime-xdg
export BUILDCC = "${BUILD_CC} -std=c11"
EXTRA_OECONF = "\
--enable-run-as-root \
--enable-xvideo \
--disable-lua \
--disable-screen \
--disable-caca \
--enable-vlm \
--enable-tremor \
--disable-aa \
--disable-faad \
--enable-dbus \
--without-contrib \
--without-kde-solid \
--enable-realrtsp \
--disable-libtar \
--enable-avcodec \
--disable-css \
"
PACKAGECONFIG ?= "\
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mmal', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)} \
${@bb.utils.contains_any('DISTRO_FEATURES', 'x11', 'notify', '', d)} \
live555 dv1394 fontconfig fluidsynth freetype png udev \
x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 \
"
PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555"
PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
#PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
#PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
#PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg"
PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
#PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
#PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
#PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
#PACKAGECONFIG[dca] = "--enable-dca,--disable-dca,libdca"
PACKAGECONFIG[fribidi] = "--enable-fribidi,,fribidi"
PACKAGECONFIG[gnutls] = "--enable-gnutls,,gnutls"
PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,,fluidsynth"
PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,"
PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus libogg"
PACKAGECONFIG[ncurses] = "--enable-ncurses,--disable-ncurses,ncurses"
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
PACKAGECONFIG[sdl-image] = "--enable-sdl-image,,libsdl-image"
PACKAGECONFIG[v4l2] = "--enable-v4l2,,v4l-utils"
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '-lGLESv2', '', d)}"
# Ensures the --enable-mmal-avcodec flag is available for usage
do_configure:prepend() {
olddir=`pwd`
cd ${S}
./bootstrap
cd $olddir
}
# This recipe packages vlc as a library as well, so qt4 dependencies
# can be avoided when only the library is installed.
PACKAGES =+ "libvlc"
LEAD_SONAME_libvlc = "libvlc.so.5"
FILES:libvlc = "${libdir}/lib*.so.*"
FILES:${PN} += "\
${bindir}/vlc \
${libdir}/vlc \
${datadir}/applications \
${datadir}/vlc \
${datadir}/icons \
${datadir}/metainfo/vlc.appdata.xml \
"
FILES:${PN}-dbg += "\
${libdir}/vlc/*/.debug \
${libdir}/vlc/plugins/*/.debug \
"
FILES:${PN}-staticdev += "\
${libdir}/vlc/plugins/*/*.a \
${libdir}/vlc/libcompat.a \
"
# Only enable it for rpi class of machines
COMPATIBLE_HOST = "null"
COMPATIBLE_HOST:rpi = "(.*)"
INSANE_SKIP:${PN} = "dev-so"
@@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE:rpi = "(null)"
@@ -0,0 +1 @@
RDEPENDS:packagegroup-meta-oe-kernel:remove:rpi = "bpftool"
@@ -0,0 +1,33 @@
SUMMARY = "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython."
HOMEPAGE = "https://github.com/adafruit/Adafruit_Blinka"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=660e614bc7efb0697cc793d8a22a55c2"
SRC_URI = "git://github.com/adafruit/Adafruit_Blinka.git;branch=main;protocol=https"
SRCREV = "dc688f354fe779c9267c208b99f310af87e79272"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
do_install:append() {
# it ships ./bcm283x/pulseio/libgpiod_pulsein which is a prebuilt
# 32bit binary therefore we should make this specific to 32bit rpi machines (based on bcm283x) only
if [ ${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '1', '0', d)} = "0" ]; then
rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/adafruit_blinka/microcontroller/bcm283x
fi
}
RDEPENDS:${PN} += " \
libgpiod \
python3-adafruit-platformdetect \
python3-adafruit-pureio \
python3-core \
"
RDEPENDS:${PN}:append:rpi = " rpi-gpio"
COMPATIBLE_HOST:libc-musl:class-target = "null"
@@ -0,0 +1,19 @@
SUMMARY = "CircuitPython bus device classes to manage bus sharing."
HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_BusDevice"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec69d6e9e6c85adfb7799d7f8cf044e"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_BusDevice.git;branch=main;protocol=https"
SRCREV = "1bfe8005293205e2f7b2cc498ab5a946f1133b40"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-adafruit-blinka \
python3-core \
"
COMPATIBLE_HOST:libc-musl:class-target = "null"
@@ -0,0 +1,19 @@
SUMMARY = "CircuitPython helper library provides higher level objects to control motors and servos."
HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_Motor"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b72678307cc7c10910b5ef460216af07"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Motor.git;branch=main;protocol=https"
SRCREV = "2251bfc0501d0acfb96c0a43f4f2b4c6a10ca14e"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-adafruit-blinka \
python3-core \
"
COMPATIBLE_HOST:libc-musl:class-target = "null"
@@ -0,0 +1,23 @@
SUMMARY = "CircuitPython helper library for DC & Stepper Motor FeatherWing, Shield, and Pi Hat kits."
HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_MotorKit"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6ad4a8854b39ad474755ef1aea813bac"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_MotorKit.git;branch=main;protocol=https"
SRCREV = "8c1462b4129b21f6db156d1517abb017bb74b982"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-adafruit-blinka \
python3-adafruit-circuitpython-busdevice \
python3-adafruit-circuitpython-motor \
python3-adafruit-circuitpython-pca9685 \
python3-adafruit-circuitpython-register \
python3-core \
"
COMPATIBLE_HOST:libc-musl:class-target = "null"
@@ -0,0 +1,21 @@
SUMMARY = "CircuitPython driver for motor, stepper, and servo based on PCA9685."
HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_PCA9685"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e7eb6b599fb0cfb06485c64cd4242f62"
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_PCA9685.git;branch=main;protocol=https"
SRCREV = "2780c4102f4c23fbab252aa1198b61ba7e2d1b2c"
S = "${WORKDIR}/git"
inherit setuptools3
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-adafruit-blinka \
python3-adafruit-circuitpython-busdevice \
python3-adafruit-circuitpython-register \
python3-core \
"
COMPATIBLE_HOST:libc-musl:class-target = "null"
@@ -0,0 +1,19 @@
PACKAGECONFIG_GL:rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \
bb.utils.contains('DISTRO_FEATURES', 'opengl', 'eglfs gles2', \
'', d), d)}"
PACKAGECONFIG_GL:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' kms', '', d)}"
PACKAGECONFIG_GL:append:rpi = " gbm"
PACKAGECONFIG_FONTS:rpi = "fontconfig"
PACKAGECONFIG:append:rpi = " libinput examples tslib xkbcommon"
PACKAGECONFIG:remove:rpi = "tests"
OE_QTBASE_EGLFS_DEVICE_INTEGRATION:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'eglfs_brcm', d)}"
do_configure:prepend:rpi() {
# Add the appropriate EGLFS_DEVICE_INTEGRATION
if [ "${@d.getVar('OE_QTBASE_EGLFS_DEVICE_INTEGRATION')}" != "" ]; then
echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" >> ${S}/mkspecs/oe-device-extra.pri
fi
}
RDEPENDS:${PN}:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
DEPENDS:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"