* [Buildroot] [PATCH 1/1] miraclecast: new package
@ 2015-04-03 3:10 Ryan Barnett
2015-04-03 5:00 ` Baruch Siach
2015-04-03 17:47 ` Yann E. MORIN
0 siblings, 2 replies; 4+ messages in thread
From: Ryan Barnett @ 2015-04-03 3:10 UTC (permalink / raw)
To: buildroot
Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
---
Miraclecast has a heavy dependancy on systemd. The only way that I
could get systemd to install all the header files for miraclecast was
to enable all features + kdbus (kdbus is called out in their
documentation).
---
package/Config.in | 1 +
package/miraclecast/Config.in | 22 ++++++++++++++++++++++
package/miraclecast/miraclecast.mk | 14 ++++++++++++++
package/systemd/systemd.mk | 5 +++++
4 files changed, 42 insertions(+)
create mode 100644 package/miraclecast/Config.in
create mode 100644 package/miraclecast/miraclecast.mk
diff --git a/package/Config.in b/package/Config.in
index f00a18f..d2ae661 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -20,6 +20,7 @@ menu "Audio and video applications"
source "package/lame/Config.in"
source "package/libvpx/Config.in"
source "package/madplay/Config.in"
+ source "package/miraclecast/Config.in"
source "package/mjpegtools/Config.in"
source "package/modplugtools/Config.in"
source "package/mpd/Config.in"
diff --git a/package/miraclecast/Config.in b/package/miraclecast/Config.in
new file mode 100644
index 0000000..fbba349
--- /dev/null
+++ b/package/miraclecast/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_MIRACLECAST
+ bool "miraclecast"
+ depends on BR2_PACKAGE_SYSTEMD
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_USE_WCHAR # glib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
+ depends on BR2_USE_MMU # glib2
+ select BR2_PACKAGE_GSTREAMER
+ select BR2_PACKAGE_READLINE
+ select BR2_PACKAGE_SYSTEMD_ALL_EXTRAS
+ help
+ The MiracleCast project provides software to connect external
+ monitors to your system via Wifi. It is compatible to the
+ Wifi-Display specification also known as Miracast. MiracleCast
+ implements the Display-Source as well as Display-Sink side.
+
+ https://github.com/albfan/miraclecast
+
+comment "miraclecast needs a glibc toolchain w/ threads, wchar and systemd"
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || \
+ !BR2_PACKAGE_SYSTEMD || !BR2_USE_WCHAR || \
+ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_MMU
diff --git a/package/miraclecast/miraclecast.mk b/package/miraclecast/miraclecast.mk
new file mode 100644
index 0000000..4f649a7
--- /dev/null
+++ b/package/miraclecast/miraclecast.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# miraclecast
+#
+################################################################################
+
+MIRACLECAST_VERSION = 8b61f733da124ccbfd1b85e188581fad1c41c1e1
+MIRACLECAST_SITE = $(call github,albfan,miraclecast,$(MIRACLECAST_VERSION))
+MIRACLECAST_DEPENDENCIES = systemd gstreamer readline
+MIRACLECAST_LICENSE = LGPLv2.1+ GPLv2 (gdhcp) GPLv2.1 (htable)
+MIRACLECAST_LICENSE_FILES = COPYING LICENSE_gdhcp LICENSE_htable LICENSE_lgpl
+MIRACLECAST_AUTORECONF = YES
+
+$(eval $(autotools-package))
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 98bda02..a94ce04 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -77,6 +77,11 @@ else
SYSTEMD_CONF_OPTS += --disable-seccomp
endif
+ifeq ($(BR2_PACKAGE_MIRACLECAST),y)
+# Must enable kdbus in order to get sd-events.h in staging
+SYSTEMD_CONF_OPTS += --enable-kdbus
+endif
+
ifeq ($(BR2_PACKAGE_SYSTEMD_ALL_EXTRAS),y)
SYSTEMD_DEPENDENCIES += \
xz \
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/1] miraclecast: new package
2015-04-03 3:10 [Buildroot] [PATCH 1/1] miraclecast: new package Ryan Barnett
@ 2015-04-03 5:00 ` Baruch Siach
2015-04-03 12:39 ` Ryan Barnett
2015-04-03 17:47 ` Yann E. MORIN
1 sibling, 1 reply; 4+ messages in thread
From: Baruch Siach @ 2015-04-03 5:00 UTC (permalink / raw)
To: buildroot
Hi Ryan,
On Thu, Apr 02, 2015 at 10:10:34PM -0500, Ryan Barnett wrote:
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index 98bda02..a94ce04 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -77,6 +77,11 @@ else
> SYSTEMD_CONF_OPTS += --disable-seccomp
> endif
>
> +ifeq ($(BR2_PACKAGE_MIRACLECAST),y)
> +# Must enable kdbus in order to get sd-events.h in staging
> +SYSTEMD_CONF_OPTS += --enable-kdbus
> +endif
This looks somewhat unusual. And besides, kdbus should be a useful feature on
its own right. So why not add a BR2_PACKAGE_SYSTEMD_KDBUS option, and have
BR2_PACKAGE_MIRACLECAST select that? Setting the right kernel dependency for
BR2_PACKAGE_SYSTEMD_KDBUS would be an interesting question, though.
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/1] miraclecast: new package
2015-04-03 5:00 ` Baruch Siach
@ 2015-04-03 12:39 ` Ryan Barnett
0 siblings, 0 replies; 4+ messages in thread
From: Ryan Barnett @ 2015-04-03 12:39 UTC (permalink / raw)
To: buildroot
Hi Baruch,
On Fri, Apr 3, 2015 at 12:00 AM, Baruch Siach <baruch@tkos.co.il> wrote:
> Hi Ryan,
>
> On Thu, Apr 02, 2015 at 10:10:34PM -0500, Ryan Barnett wrote:
>> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
>> index 98bda02..a94ce04 100644
>> --- a/package/systemd/systemd.mk
>> +++ b/package/systemd/systemd.mk
>> @@ -77,6 +77,11 @@ else
>> SYSTEMD_CONF_OPTS += --disable-seccomp
>> endif
>>
>> +ifeq ($(BR2_PACKAGE_MIRACLECAST),y)
>> +# Must enable kdbus in order to get sd-events.h in staging
>> +SYSTEMD_CONF_OPTS += --enable-kdbus
>> +endif
>
> This looks somewhat unusual. And besides, kdbus should be a useful feature on
> its own right. So why not add a BR2_PACKAGE_SYSTEMD_KDBUS option, and have
> BR2_PACKAGE_MIRACLECAST select that? Setting the right kernel dependency for
> BR2_PACKAGE_SYSTEMD_KDBUS would be an interesting question, though.
I had this same idea an hour or so after submitting this patch. I
wasn't really happy with what I sent but I blanking at the time. The
miraclecast package is interesting because if I just pass the
--enable-kdbus when I build systemd, it doesn't install that
sd-events.h file. Here is what they say in miraclecast's
documentation:
systemd: A system management daemon. It is used for device-management
(udev), dbus management (sd-bus) and service management. Systemd must
be compiled with --enable-kdbus, even though kdbus isn't used, but
only the independent, experimental sd-libraries. required:
>=systemd-213
I will work on a v2 of this tonight but thanks for the feedback and
the suggestion.
Thanks,
-Ryan
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/1] miraclecast: new package
2015-04-03 3:10 [Buildroot] [PATCH 1/1] miraclecast: new package Ryan Barnett
2015-04-03 5:00 ` Baruch Siach
@ 2015-04-03 17:47 ` Yann E. MORIN
1 sibling, 0 replies; 4+ messages in thread
From: Yann E. MORIN @ 2015-04-03 17:47 UTC (permalink / raw)
To: buildroot
Ryan, All,
Miraclecast... Mmmm! Cookie! :-)
On 2015-04-02 22:10 -0500, Ryan Barnett spake thusly:
> Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
[--SNIP--]
> diff --git a/package/miraclecast/Config.in b/package/miraclecast/Config.in
> new file mode 100644
> index 0000000..fbba349
> --- /dev/null
> +++ b/package/miraclecast/Config.in
> @@ -0,0 +1,22 @@
> +config BR2_PACKAGE_MIRACLECAST
> + bool "miraclecast"
> + depends on BR2_PACKAGE_SYSTEMD
> + depends on BR2_TOOLCHAIN_USES_GLIBC
> + depends on BR2_USE_WCHAR # glib2
> + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> + depends on BR2_USE_MMU # glib2
You forgot to select glib2. Even if gstreamer needs it, miraclecast
needs glib for itself, too, so you need to select it.
> + select BR2_PACKAGE_GSTREAMER
Don't you also need at least some codecs?
Looking at res/test_viewer.sh, it seems you need at least those:
udpsrc rtpjitterbuffer rtpmp2tdepay tsdemux h264parse avdec_h264
autovideosink
> + select BR2_PACKAGE_READLINE
> + select BR2_PACKAGE_SYSTEMD_ALL_EXTRAS
> + help
> + The MiracleCast project provides software to connect external
> + monitors to your system via Wifi. It is compatible to the
> + Wifi-Display specification also known as Miracast. MiracleCast
> + implements the Display-Source as well as Display-Sink side.
> +
> + https://github.com/albfan/miraclecast
> +
> +comment "miraclecast needs a glibc toolchain w/ threads, wchar and systemd"
> + depends on !BR2_TOOLCHAIN_USES_GLIBC || \
> + !BR2_PACKAGE_SYSTEMD || !BR2_USE_WCHAR || \
> + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_MMU
comment "miraclecast needs systemd and a glibc toolchain w/ threads, wchar"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_SYSTEMD
> diff --git a/package/miraclecast/miraclecast.mk b/package/miraclecast/miraclecast.mk
> new file mode 100644
> index 0000000..4f649a7
> --- /dev/null
> +++ b/package/miraclecast/miraclecast.mk
> @@ -0,0 +1,14 @@
> +################################################################################
> +#
> +# miraclecast
> +#
> +################################################################################
> +
> +MIRACLECAST_VERSION = 8b61f733da124ccbfd1b85e188581fad1c41c1e1
> +MIRACLECAST_SITE = $(call github,albfan,miraclecast,$(MIRACLECAST_VERSION))
> +MIRACLECAST_DEPENDENCIES = systemd gstreamer readline
> +MIRACLECAST_LICENSE = LGPLv2.1+ GPLv2 (gdhcp) GPLv2.1 (htable)
> +MIRACLECAST_LICENSE_FILES = COPYING LICENSE_gdhcp LICENSE_htable LICENSE_lgpl
> +MIRACLECAST_AUTORECONF = YES
Please comment on why this is needed, like:
# Straight out of the repository, no ./configure
MIRACLECAST_AUTORECONF = YES
> +$(eval $(autotools-package))
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index 98bda02..a94ce04 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -77,6 +77,11 @@ else
> SYSTEMD_CONF_OPTS += --disable-seccomp
> endif
>
> +ifeq ($(BR2_PACKAGE_MIRACLECAST),y)
> +# Must enable kdbus in order to get sd-events.h in staging
> +SYSTEMD_CONF_OPTS += --enable-kdbus
> +endif
I won't repeat what's already been said by Baruch, since I agree with
what he said.
/me is looking forward to seeing that integrated! :-)
Regards,
Yann E. MORIN.
> ifeq ($(BR2_PACKAGE_SYSTEMD_ALL_EXTRAS),y)
> SYSTEMD_DEPENDENCIES += \
> xz \
> --
> 1.9.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-04-03 17:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-03 3:10 [Buildroot] [PATCH 1/1] miraclecast: new package Ryan Barnett
2015-04-03 5:00 ` Baruch Siach
2015-04-03 12:39 ` Ryan Barnett
2015-04-03 17:47 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox