Skip to contentSkip to conversation

package/bitstream: new package

PATCH Superseded Julian Scheel 2 participants 4 messages Oct 16, 2015 – Oct 17, 2015

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 package/bitstream: new package

BiTStream is a set of headers to ease processing of mpeg ts streams. It is used by dvblast.

---
 package/Config.in              |  1 +
 package/bitstream/Config.in    |  8 ++++++++
 package/bitstream/bitstream.mk | 19 +++++++++++++++++++
 3 files changed, 28 insertions(+)
 create mode 100644 package/bitstream/Config.in
 create mode 100644 package/bitstream/bitstream.mk
package/Config.in +1 -0
index 98dcd78..53a312c 100644
@@ -954,6 +954,7 @@ menu "Logging"
 endmenu
 
 menu "Multimedia"
+	source "package/bitstream/Config.in"
 	source "package/libass/Config.in"
 	source "package/libbluray/Config.in"
 	source "package/libdcadec/Config.in"
package/bitstream/Config.in new file +8 -0
new file mode 100644
index 0000000..3a7ad43
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_BITSTREAM
+	bool "biTStream"
+	help
+	  biTStream is a set of C headers allowing a simpler access to
+	  binary structures such as specified by MPEG, DVB, IETF, SMPTE,
+	  IEEE, SCTE, etc.
+
+	  http://www.videolan.org/developers/bitstream.html
package/bitstream/bitstream.mk new file +19 -0
new file mode 100644
index 0000000..cdca80f
@@ -0,0 +1,19 @@
+################################################################################
+#
+# biTStream
+#
+################################################################################
+
+BITSTREAM_VERSION = 1.1
+BITSTREAM_SOURCE = bitstream-$(BITSTREAM_VERSION).tar.bz2
+BITSTREAM_SITE = https://get.videolan.org/bitstream/$(BITSTREAM_VERSION)
+BITSTREAM_LICENSE = MIT
+
+BITSTREAM_INSTALL_STAGING = YES
+BITSTREAM_INSTALL_TARGET = NO
+
+define BITSTREAM_INSTALL_STAGING_CMDS
+	(cd $(@D); $(MAKE) PREFIX=$(STAGING_DIR)/usr install)
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.6.0
#1 lore raw

PATCH 2/2 dvblast: new package

DVBlast is a simple and powerful MPEG-2/TS demux and streaming application.

---
 package/Config.in          |  1 +
 package/dvblast/Config.in  |  9 +++++++++
 package/dvblast/dvblast.mk | 25 +++++++++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 package/dvblast/Config.in
 create mode 100644 package/dvblast/dvblast.mk
package/Config.in +1 -0
index 53a312c..cf0e46d 100644
@@ -7,6 +7,7 @@ menu "Audio and video applications"
 	source "package/alsa-utils/Config.in"
 	source "package/aumix/Config.in"
 	source "package/bellagio/Config.in"
+	source "package/dvblast/Config.in"
 	source "package/dvdauthor/Config.in"
 	source "package/dvdrw-tools/Config.in"
 	source "package/espeak/Config.in"
package/dvblast/Config.in new file +9 -0
new file mode 100644
index 0000000..769d86f
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_DVBLAST
+	bool "dvblast"
+	select BR2_PACKAGE_BITSTREAM
+	select BR2_PACKAGE_LIBEV
+	help
+	  DVBlast is a simple and powerful MPEG-2/TS demux and streaming
+	  application.
+
+	  http://www.videolan.org/projects/dvblast.html
package/dvblast/dvblast.mk new file +25 -0
new file mode 100644
index 0000000..bcf3c69
@@ -0,0 +1,25 @@
+################################################################################
+#
+# dvblast
+#
+################################################################################
+
+DVBLAST_VERSION = 3.0
+DVBLAST_SOURCE = dvblast-$(DVBLAST_VERSION).tar.bz2
+DVBLAST_SITE = https://get.videolan.org/dvblast/$(DVBLAST_VERSION)
+DVBLAST_LICENSE = GPLv2
+
+DVBLAST_DEPENDENCIES = bitstream libev
+
+DVBLAST_INSTALL_STAGING = NO
+DVBLAST_INSTALL_TARGET = YES
+
+define DVBLAST_BUILD_CMDS
+	$(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
+endef
+
+define DVBLAST_INSTALL_TARGET_CMDS
+	(cd $(@D); $(MAKE) PREFIX=$(TARGET_DIR)/usr install)
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.6.0
#2 lore raw

PATCH 2/2 dvblast: new package

Julain, All,

On 2015-10-16 15:54 +0200, Julian Scheel spake thusly:

Quoted 3 lines

DVBlast is a simple and powerful MPEG-2/TS demux and streaming application.

See below for a few comments...

[--SNIP--]

package/dvblast/Config.in line 4

Quoted 10 lines
package/dvblast/Config.in new file +4 -0
new file mode 100644
index 0000000..769d86f
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_DVBLAST
+	bool "dvblast"
+	select BR2_PACKAGE_BITSTREAM
+	select BR2_PACKAGE_LIBEV

libev us not available for the Blackfin architecture, so you need to propagate its dependencies to dvblast, like so:

depends on !BR2_bfin # libev

The comment helps understand that the dependency is inherited from libev (so we find it more easily if we one day update to a libev without that dependency).

Quoted 11 lines
package/dvblast/Config.in new file +5 -0
+	help
+	  DVBlast is a simple and powerful MPEG-2/TS demux and streaming
+	  application.
+
+	  http://www.videolan.org/projects/dvblast.html
package/dvblast/dvblast.mk new file +0 -0
new file mode 100644
index 0000000..bcf3c69

package/dvblast/dvblast.mk line 10

Quoted 10 lines
package/dvblast/dvblast.mk new file +10 -0
@@ -0,0 +1,25 @@
+################################################################################
+#
+# dvblast
+#
+################################################################################
+
+DVBLAST_VERSION = 3.0
+DVBLAST_SOURCE = dvblast-$(DVBLAST_VERSION).tar.bz2
+DVBLAST_SITE = https://get.videolan.org/dvblast/$(DVBLAST_VERSION)
+DVBLAST_LICENSE = GPLv2

It's actually a bit more complex than that:

- most of the code is "GPLv2 or later", so you need to indicate that

    as: GPLv2+;

- parts of the code is under the WTFPL, so you also need to indicate

    it;

- you must also define the license files.

DVBLAST_LICENSE = GPLv2+, WTFPL
DVBLAST_LICENSE_FILES = COPYING COPYING.WTFPL

package/dvblast/dvblast.mk line 14

Quoted 3 lines
package/dvblast/dvblast.mk new file +3 -0
+DVBLAST_DEPENDENCIES = bitstream libev
+
+DVBLAST_INSTALL_STAGING = NO

INSTALL_STAGING = NO is the default, so you do not need to specify it.

package/dvblast/dvblast.mk line 18

Quoted 4 lines
package/dvblast/dvblast.mk new file +4 -0
+DVBLAST_INSTALL_TARGET = YES
+
+define DVBLAST_BUILD_CMDS
+	$(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all

You may want to use TARGET_CONFIGURE_OPTS instead; 'all' is the first rule, so is the default rule, so you need not specify it either:

    $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)

package/dvblast/dvblast.mk line 22

Quoted 4 lines
package/dvblast/dvblast.mk new file +4 -0
+endef
+
+define DVBLAST_INSTALL_TARGET_CMDS
+	(cd $(@D); $(MAKE) PREFIX=$(TARGET_DIR)/usr install)

Same as for bitstream, you should use DESTDIR and PREFIX.

Care to fix and resend, please? Thanks! ;-)

In the meantime, I've marked both patches as "changes requested" on our patch tracking system.

Regards,
Yann E. MORIN.

Quoted 11 lines
package/dvblast/dvblast.mk new file +3 -0
+endef
+
+$(eval $(generic-package))
Signature · 7 lines
2.6.0


_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 1/2 package/bitstream: new package

In reply to Julian Scheel

Julain, All,

On 2015-10-16 15:54 +0200, Julian Scheel spake thusly:

Quoted 4 lines

BiTStream is a set of headers to ease processing of mpeg ts streams. It is used by dvblast.

Thanks for this new package. :-)

It is pretty good, but there are a few minor hickups to fix, see below...

[--SNIP--]

package/bitstream/Config.in line 2

Quoted 8 lines
package/bitstream/Config.in new file +2 -0
new file mode 100644
index 0000000..3a7ad43
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_BITSTREAM
+	bool "biTStream"

We write package names only in lower-case, even in the prompts.

Quoted 15 lines
package/bitstream/Config.in new file +6 -0
+	help
+	  biTStream is a set of C headers allowing a simpler access to
+	  binary structures such as specified by MPEG, DVB, IETF, SMPTE,
+	  IEEE, SCTE, etc.
+
+	  http://www.videolan.org/developers/bitstream.html
package/bitstream/bitstream.mk new file +3 -0
new file mode 100644
index 0000000..cdca80f
@@ -0,0 +1,19 @@
+################################################################################
+#
+# biTStream

package/bitstream/bitstream.mk line 13

Quoted 10 lines
package/bitstream/bitstream.mk new file +10 -0
+#
+################################################################################
+
+BITSTREAM_VERSION = 1.1
+BITSTREAM_SOURCE = bitstream-$(BITSTREAM_VERSION).tar.bz2
+BITSTREAM_SITE = https://get.videolan.org/bitstream/$(BITSTREAM_VERSION)
+BITSTREAM_LICENSE = MIT
+
+BITSTREAM_INSTALL_STAGING = YES
+BITSTREAM_INSTALL_TARGET = NO

Even though it seems obvious from the help text, you should also state here why it is only installed in staging and not intargetm, like so:

# Only installs headers files:
BITSTREAM_INSTALL_STAGING = YES
BITSTREAM_INSTALL_TARGET = NO

package/bitstream/bitstream.mk line 16

Quoted 2 lines
package/bitstream/bitstream.mk new file +2 -0
+define BITSTREAM_INSTALL_STAGING_CMDS
+	(cd $(@D); $(MAKE) PREFIX=$(STAGING_DIR)/usr install)

Even if this is working, the proper solution is to pass DESTDIR and PREFIX, like so:

    $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr install

Also note the little trick to avoid 'cd' ;-)

Care to fix and resend, please? Thanks! :-)

Regards,
Yann E. MORIN.

Quoted 11 lines
package/bitstream/bitstream.mk new file +3 -0
+endef
+
+$(eval $(generic-package))
Signature · 7 lines
2.6.0


_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'