From 74006981ceb0342323e63b6ac1c2ce628911596e Mon Sep 17 00:00:00 2001 From: satmandu Date: Wed, 17 Feb 2021 20:20:42 -0500 Subject: [PATCH] Some connected multimedia updates (#5146) * elfutils -> 0.183 * Add orc * Add libdv * libsdl2 -> 2.0.14 * jack -> 1.9.17 * Add an ARCH patch * Add mjpegtools * Add libmms * Create faad2.rb * Add gst_plugins_bad * Create gst_editing_services.rb * Update jack.rb * Create gst_plugins_good.rb * remove commented deps * spellcheck --- packages/elfutils.rb | 31 +++++++-------- packages/faad2.rb | 39 +++++++++++++++++++ packages/gst_editing_services.rb | 42 ++++++++++++++++++++ packages/gst_plugins_bad.rb | 67 ++++++++++++++++++++++++++++++++ packages/gst_plugins_good.rb | 50 ++++++++++++++++++++++++ packages/jack.rb | 47 +++++++++++----------- packages/libdv.rb | 35 +++++++++++++++++ packages/libmms.rb | 37 ++++++++++++++++++ packages/libsdl.rb | 44 +++++++++++++-------- packages/libsdl2.rb | 35 +++++++++-------- packages/mjpegtools.rb | 40 +++++++++++++++++++ packages/orc.rb | 38 ++++++++++++++++++ 12 files changed, 433 insertions(+), 72 deletions(-) create mode 100644 packages/faad2.rb create mode 100644 packages/gst_editing_services.rb create mode 100644 packages/gst_plugins_bad.rb create mode 100644 packages/gst_plugins_good.rb create mode 100644 packages/libdv.rb create mode 100644 packages/libmms.rb create mode 100644 packages/mjpegtools.rb create mode 100644 packages/orc.rb diff --git a/packages/elfutils.rb b/packages/elfutils.rb index 510cef2b4..0f2ce1114 100644 --- a/packages/elfutils.rb +++ b/packages/elfutils.rb @@ -3,28 +3,27 @@ require 'package' class Elfutils < Package description 'elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux.' homepage 'https://sourceware.org/elfutils/' - version '0.178' + @_ver = '0.183' + version @_ver compatibility 'all' - source_url 'https://sourceware.org/elfutils/ftp/0.178/elfutils-0.178.tar.bz2' - source_sha256 '31e7a00e96d4e9c4bda452e1f2cdac4daf8abd24f5e154dee232131899f3a0f2' + source_url "https://sourceware.org/elfutils/ftp/#{@_ver}/elfutils-#{@_ver}.tar.bz2" + source_sha256 'c3637c208d309d58714a51e61e63f1958808fead882e9b607506a29e5474f2c5' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/elfutils-0.178-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/elfutils-0.178-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/elfutils-0.178-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/elfutils-0.178-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/elfutils-0.183-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/elfutils-0.183-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/elfutils-0.183-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/elfutils-0.183-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: 'bbb5f8ab0208492e735585d2623f29b19326b4cc7a9201fa8f04fa1144f9583e', - armv7l: 'bbb5f8ab0208492e735585d2623f29b19326b4cc7a9201fa8f04fa1144f9583e', - i686: '6213446efdfc5c588b323125a38f1c48383826831925084368a239a437dc137e', - x86_64: 'd34976b47335c47f8d4c88794789285971c4171d9c2aec9dae31ab9df06a5210', + binary_sha256({ + aarch64: '0780ef4605befe8aa878d7f4997fa4431686f1a40851e513243cabf7d9d31bf8', + armv7l: '0780ef4605befe8aa878d7f4997fa4431686f1a40851e513243cabf7d9d31bf8', + i686: '894badb331f5d3d092d638b9b2dd2280677e97ffd9c4c37299cb40d529cbb609', + x86_64: '73ba6638fd5929c232fc4442de938e25ca34ee66f91232ece874419b0f54cca6' }) - depends_on 'xzutils' - def self.build - system "./configure --prefix=#{CREW_PREFIX} --libdir=#{CREW_LIB_PREFIX} --disable-debuginfod" + system "./configure #{CREW_OPTIONS} --disable-debuginfod" system 'make' end diff --git a/packages/faad2.rb b/packages/faad2.rb new file mode 100644 index 000000000..5593006c7 --- /dev/null +++ b/packages/faad2.rb @@ -0,0 +1,39 @@ +require 'package' + +class Faad2 < Package + description 'ISO AAC audio decoder' + homepage 'https://github.com/knik0/faad2' + @_ver = '2.10.0' + version @_ver + compatibility 'all' + source_url 'https://github.com/knik0/faad2/archive/2_10_0.tar.gz' + source_sha256 '0c6d9636c96f95c7d736f097d418829ced8ec6dbd899cc6cc82b728480a84bfb' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/faad2-2.10.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/faad2-2.10.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/faad2-2.10.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/faad2-2.10.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '61e4cfcd34bbedcb9cb3abea2a5bb73f57027319665c96eade68f0cf80e913e0', + armv7l: '61e4cfcd34bbedcb9cb3abea2a5bb73f57027319665c96eade68f0cf80e913e0', + i686: 'e816286dbfe694b8a6b5c1014772aa14b664c64fe76f759f218142a57d31596a', + x86_64: 'b88cde37bb9e6cbf2a60c4b4249741becf3a8cf5c4139bdbd11bd56d6079f3d9' + }) + + def self.patch + system 'filefix' + end + + def self.build + system 'autoreconf -vfi' + system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/gst_editing_services.rb b/packages/gst_editing_services.rb new file mode 100644 index 000000000..fe4725c8b --- /dev/null +++ b/packages/gst_editing_services.rb @@ -0,0 +1,42 @@ +require 'package' + +class Gst_editing_services < Package + description 'GStreamer library for creating audio/video editors' + homepage 'https://gstreamer.freedesktop.org/modules/gst-editing-services.html' + @_ver = '1.18.3' + version @_ver + compatibility 'all' + source_url "https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-#{@_ver}.tar.xz" + source_sha256 '8ae139b13b1646a20ba63b0b90877d35813e24cd87642d325e751fc7cb175e20' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gst_editing_services-1.18.3-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gst_editing_services-1.18.3-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/gst_editing_services-1.18.3-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gst_editing_services-1.18.3-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '636d3e41a67797fe95af7a17688f40124daea90fef63d8ce5caa439be65f808e', + armv7l: '636d3e41a67797fe95af7a17688f40124daea90fef63d8ce5caa439be65f808e', + i686: 'e437d3d396bcc07b18f757b960ca30bd81842567de229dead0affb32c87ecffa', + x86_64: '4c906fb4b499772f0272894c525bcefa60d15d7bcbf328c5dd2a3a304ff82c0f' + }) + + depends_on 'gst_plugins_base' + depends_on 'gobject_introspection' => ':build' + depends_on 'gtk_doc' => ':build' + depends_on 'pygobject' => ':build' + + def self.build + system "meson #{CREW_MESON_LTO_OPTIONS} \ + -Ddoc=disabled \ + -Dvalidate=disabled \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/gst_plugins_bad.rb b/packages/gst_plugins_bad.rb new file mode 100644 index 000000000..0cf92673e --- /dev/null +++ b/packages/gst_plugins_bad.rb @@ -0,0 +1,67 @@ +require 'package' + +class Gst_plugins_bad < Package + description 'Multimedia graph framework - bad plugins' + homepage 'https://gstreamer.freedesktop.org/' + @_ver = '1.18.3' + version @_ver + compatibility 'all' + source_url "https://github.com/GStreamer/gst-plugins-bad/archive/#{@_ver}.tar.gz" + source_sha256 '3e8b145850ade47e9fe09632c4b7bddfe35d2c53f5c6055183cfc62276010f46' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gst_plugins_bad-1.18.3-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gst_plugins_bad-1.18.3-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/gst_plugins_bad-1.18.3-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gst_plugins_bad-1.18.3-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '310fe14e7ac0ec26cd16c48a43f840ee7fa05fcb81a18801b34d2bfade6c8c1f', + armv7l: '310fe14e7ac0ec26cd16c48a43f840ee7fa05fcb81a18801b34d2bfade6c8c1f', + i686: 'ff4c9c6f78cf2ac14b08cce80837b8b8fdc562b347fcc0754db966c02e424313', + x86_64: '676663870c05079b5df3fc94071cb0e4bbcd16a0087e9916a241a5db262943fd' + }) + + depends_on 'gst_plugins_base' + depends_on 'orc' + depends_on 'libdrm' + depends_on 'libx11' + depends_on 'libgudev' + depends_on 'libusb' + depends_on 'libvdpau' + depends_on 'mjpegtools' => ':build' + depends_on 'chromaprint' => ':build' + depends_on 'libmms' => ':build' + depends_on 'faad2' => ':build' + depends_on 'libdca' => ':build' + depends_on 'libdvdnav' => ':build' + + def self.build + system "meson \ + #{CREW_MESON_LTO_OPTIONS} \ + -Ddirectfb=disabled \ + -Ddoc=disabled \ + -Dflite=disabled \ + -Dgsm=disabled \ + -Diqa=disabled \ + -Dmagicleap=disabled \ + -Dmsdk=disabled \ + -Dopenh264=disabled \ + -Dopenmpt=disabled \ + -Dopenni2=disabled \ + -Dopensles=disabled \ + -Dtinyalsa=disabled \ + -Dvoaacenc=disabled \ + -Dvoamrwbenc=disabled \ + -Dwasapi2=disabled \ + -Dwasapi=disabled \ + -Dgobject-cast-checks=disabled \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/gst_plugins_good.rb b/packages/gst_plugins_good.rb new file mode 100644 index 000000000..7dd4d5293 --- /dev/null +++ b/packages/gst_plugins_good.rb @@ -0,0 +1,50 @@ +require 'package' + +class Gst_plugins_good < Package + description 'Multimedia graph framework - good plugins' + homepage 'https://gstreamer.freedesktop.org/' + @_ver = '1.18.3' + version @_ver + compatibility 'all' + source_url "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-#{@_ver}.tar.xz" + source_sha256 '9b3b8e05d4d6073bf929fb33e2d8f74dd81ff21fa5b50c3273c78dfa2ab9c5cb' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gst_plugins_good-1.18.3-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gst_plugins_good-1.18.3-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/gst_plugins_good-1.18.3-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gst_plugins_good-1.18.3-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '7d76162d9f654da6bf2a9fd0207c8299d06a067a1c6f1dc9cf5b05c5d1d7df40', + armv7l: '7d76162d9f654da6bf2a9fd0207c8299d06a067a1c6f1dc9cf5b05c5d1d7df40', + i686: 'a6a0fe5c64329539e12ce5d163503255621f735e66fd0c8b99758858760c1178', + x86_64: '8d90148635f3be03ff8086e93dce7bcebc76c218c1fc71db9d07fed0f5c4acdf' + }) + + depends_on 'pulseaudio' + depends_on 'libsoup' + depends_on 'gst_plugins_base' + depends_on 'wavpack' + depends_on 'aalib' + depends_on 'taglib' + depends_on 'libdv' + depends_on 'libvpx' + depends_on 'jack' => ':build' + depends_on 'gtk3' => ':build' + depends_on 'nasm' => ':build' + + def self.build + system "meson #{CREW_MESON_OPTIONS} \ + -Ddoc=disabled \ + -Drpicamsrc=disabled \ + -Dgobject-cast-checks=disabled \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/jack.rb b/packages/jack.rb index ce682ffe5..c20fe2a8e 100644 --- a/packages/jack.rb +++ b/packages/jack.rb @@ -3,22 +3,23 @@ require 'package' class Jack < Package description 'JACK (JACK Audio Connection Kit) refers to an API that provides a basic infrastructure for audio applications to communicate with each other and with audio hardware.' homepage 'https://jackaudio.org/' - version '1.9.14' + @_ver = '1.9.17' + version @_ver compatibility 'all' - source_url 'https://github.com/jackaudio/jack2/releases/download/v1.9.14/v1.9.14.tar.gz' - source_sha256 'a20a32366780c0061fd58fbb5f09e514ea9b7ce6e53b080a44b11a558a83217c' + source_url "https://github.com/jackaudio/jack2/archive/v#{@_ver}.tar.gz" + source_sha256 '38f674bbc57852a8eb3d9faa1f96a0912d26f7d5df14c11005ad499c8ae352f2' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/jack-1.9.14-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/jack-1.9.14-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/jack-1.9.14-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/jack-1.9.14-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/jack-1.9.17-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/jack-1.9.17-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/jack-1.9.17-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/jack-1.9.17-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '347c09ba7eb56e45ab222de5aebbc75ea6c9bbf85c59bf1da3cb33a87762a0c7', - armv7l: '347c09ba7eb56e45ab222de5aebbc75ea6c9bbf85c59bf1da3cb33a87762a0c7', - i686: '8b855311f24cb179be23371066b8f8917589af2ac364ce8a70af145f5e8b86a1', - x86_64: '85bb228bd5f60b72b377ca99bd22464292d3cf05f7e5e92d433482117abdeafd', + binary_sha256({ + aarch64: 'd18c47ae88f28ada701a4938cf26db6659ed9425006e0a81b887be1f8868a280', + armv7l: 'd18c47ae88f28ada701a4938cf26db6659ed9425006e0a81b887be1f8868a280', + i686: '0946a39b386d3f4434e1a4d735342918537f302acfba6641ed888e76c058fae0', + x86_64: 'f8cf79f4a8402e8c4cdcfe8d31cc9357ba3404d5bfe57a8dea7fac4ec12bd091' }) depends_on 'dbus' @@ -32,16 +33,16 @@ class Jack < Package end def self.build - system './waf', - 'configure', - '--dbus', - '--classic', - '--db=yes', - '--alsa=yes', - '--sndfile=yes', - '--autostart=none', - "--prefix=#{CREW_PREFIX}", - "--libdir=#{CREW_LIB_PREFIX}" + system "env CFLAGS=-fno-stack-protector \ + ./waf configure \ + --dbus \ + --classic \ + --db=yes \ + --alsa=yes \ + --sndfile=yes \ + --autostart=none \ + --prefix=#{CREW_PREFIX} \ + --libdir=#{CREW_LIB_PREFIX}" system './waf build' end diff --git a/packages/libdv.rb b/packages/libdv.rb new file mode 100644 index 000000000..afff56c01 --- /dev/null +++ b/packages/libdv.rb @@ -0,0 +1,35 @@ +require 'package' + +class Libdv < Package + description 'The Quasar DV codec libdv is a software codec for DV video' + homepage 'http://libdv.sourceforge.net/' + version '1.0.0' + compatibility 'all' + source_url 'https://downloads.sourceforge.net/libdv/libdv-1.0.0.tar.gz' + source_sha256 'a305734033a9c25541a59e8dd1c254409953269ea7c710c39e540bd8853389ba' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libdv-1.0.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libdv-1.0.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libdv-1.0.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libdv-1.0.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'f86306f6a491fce2a0b18005e8c28aeac074e441fef41d43f60abecd9a09b2e0', + armv7l: 'f86306f6a491fce2a0b18005e8c28aeac074e441fef41d43f60abecd9a09b2e0', + i686: '3f55b05602d407a1649ea5771114634fe8b08496f854471050496434ce2807da', + x86_64: 'd62fb6a0fd56d1b7c056f5cbb9c774c769a435660c0d50b4fa024dddc4f3689d' + }) + + depends_on 'popt' + + def self.build + system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/libmms.rb b/packages/libmms.rb new file mode 100644 index 000000000..c7775876a --- /dev/null +++ b/packages/libmms.rb @@ -0,0 +1,37 @@ +require 'package' + +class Libmms < Package + description 'MMS stream protocol library' + homepage 'https://sourceforge.net/projects/libmms/' + version '0.6.4' + compatibility 'all' + source_url 'https://download.sourceforge.net/libmms/libmms-0.6.4.tar.gz' + source_sha256 '3c05e05aebcbfcc044d9e8c2d4646cd8359be39a3f0ba8ce4e72a9094bee704f' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libmms-0.6.4-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libmms-0.6.4-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libmms-0.6.4-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libmms-0.6.4-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '70ff7a70293b11b92859e7ec8b7ff6c96f8e3e34ee325f83becd2cf2efcfe99b', + armv7l: '70ff7a70293b11b92859e7ec8b7ff6c96f8e3e34ee325f83becd2cf2efcfe99b', + i686: '94049b0862336fb69c658698b92ff67c8f9f7521474045e49b32b9d88b99832c', + x86_64: '33686fb9f469a60594bc2391fb8df31575f5a0a2c37e0445db875373396b9caf' + }) + + def self.patch + system 'filefix' + end + + def self.build + system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/libsdl.rb b/packages/libsdl.rb index cf607ff64..a72382a14 100644 --- a/packages/libsdl.rb +++ b/packages/libsdl.rb @@ -3,22 +3,22 @@ require 'package' class Libsdl < Package description 'Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.' homepage 'http://www.libsdl.org' - version '1.2.15-3' + version '1.2.15-4' compatibility 'all' source_url 'http://www.libsdl.org/release/SDL-1.2.15.tar.gz' source_sha256 'd6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl-1.2.15-3-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl-1.2.15-3-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl-1.2.15-3-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl-1.2.15-3-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl-1.2.15-4-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl-1.2.15-4-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl-1.2.15-4-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl-1.2.15-4-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: 'd3c4bf0e39075db7dc30b794733682209dec0a0a23df611b73e7f3fffb69f85c', - armv7l: 'd3c4bf0e39075db7dc30b794733682209dec0a0a23df611b73e7f3fffb69f85c', - i686: '913282020e94cf12b60f03e67786dacf34378daf848cdc0f52693efa418e154b', - x86_64: '528be8eff53afff1c1cd7973ecda09fc68adbcbea0c22453764ebf0cb7ce0a59', + binary_sha256({ + aarch64: '0875d5715c39505b6c07a04ea267d233df122fb0f2179c09b700b31817e9d4c6', + armv7l: '0875d5715c39505b6c07a04ea267d233df122fb0f2179c09b700b31817e9d4c6', + i686: '86e6bfe0051158b63e7b14c5a41d681c759f45522149133031da6854e673bae7', + x86_64: '1ff00ecd7af2ce401776cbdaa75a8b1d2d7c35d48688124bc986d7f5ef4108da' }) depends_on 'xorg_server' @@ -28,17 +28,29 @@ class Libsdl < Package depends_on 'nasm' => :build def self.patch - system "sed -i 's,#ifdef LONG64,#if 0 // Causes a build failure with recent libx11 versions,g' src/video/x11/SDL_x11sym.h" + # system "sed -i 's,#ifdef LONG64,#if 0 // Causes a build failure with recent libx11 versions,g' src/video/x11/SDL_x11sym.h" + patch_description = 'libX11-1.5.99.901 has changed prototype of _XData32' + patch_url = 'https://github.com/archlinux/svntogit-packages/raw/packages/sdl/trunk/SDL-1.2.15-const_XData32.patch' + patch_sha256 = 'bab60b515a74b71650ee71d5a0075c77046a7bad48b061673c3798dbdd35446d' + patch_filename = 'patch' + puts "Downloading patch: #{patch_description}".yellow + system('curl', '-s', '--insecure', '-L', '-#', patch_url, '-o', patch_filename) + abort 'Checksum mismatch. :/ Try again.'.lightred unless + Digest::SHA256.hexdigest(File.read(patch_filename)) == patch_sha256 + puts 'patch downloaded'.lightgreen + system 'patch -p 1 < patch' + + system 'filefix' end def self.build - system './configure', - "--prefix=#{CREW_PREFIX}", - "--libdir=#{CREW_LIB_PREFIX}" + system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + ./configure \ + #{CREW_OPTIONS}" system 'make' end def self.install - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" + system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' end end diff --git a/packages/libsdl2.rb b/packages/libsdl2.rb index 175223891..744549533 100644 --- a/packages/libsdl2.rb +++ b/packages/libsdl2.rb @@ -3,22 +3,23 @@ require 'package' class Libsdl2 < Package description 'Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.' homepage 'http://www.libsdl.org' - version '2.0.9' + @_ver = '2.0.14' + version @_ver compatibility 'all' - source_url 'https://www.libsdl.org/release/SDL2-2.0.9.tar.gz' - source_sha256 '255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1' + source_url "https://www.libsdl.org/release/SDL2-#{@_ver}.tar.gz" + source_sha256 'd8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl2-2.0.9-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl2-2.0.9-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl2-2.0.9-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl2-2.0.9-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl2-2.0.14-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl2-2.0.14-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl2-2.0.14-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libsdl2-2.0.14-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '8d317956cc1a196d8f5d1a84993abda2c04091afabf71ade3229f9077082b99f', - armv7l: '8d317956cc1a196d8f5d1a84993abda2c04091afabf71ade3229f9077082b99f', - i686: 'd1a410a9aa771feb91da30f7cab69a38aa88b8cb3a18a16653c30f4b4f9ae6da', - x86_64: '4a7cf8e0c57bb8485eb1cade392ca919aff3e71b811464adf6a51e1f98488a00', + binary_sha256({ + aarch64: '824f086a8e1fbe7fc90e9d715f402bfe77cf4800574be2bc8404cc3d1b73803f', + armv7l: '824f086a8e1fbe7fc90e9d715f402bfe77cf4800574be2bc8404cc3d1b73803f', + i686: '7952f95341bbac68414e6d2edacda191061e6dc203e41350e11e116feb313ff9', + x86_64: 'bdf479e4bb1f8898bd59ffc09fdffb4861a49294e849bfa49ef207fa38a66061' }) depends_on 'xorg_server' @@ -27,12 +28,12 @@ class Libsdl2 < Package depends_on 'nasm' => :build def self.build - system './configure', - "--prefix=#{CREW_PREFIX}", - "--libdir=#{CREW_LIB_PREFIX}" + system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + ./configure \ + #{CREW_OPTIONS}" end def self.install - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" + system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' end end diff --git a/packages/mjpegtools.rb b/packages/mjpegtools.rb new file mode 100644 index 000000000..a7e874a7e --- /dev/null +++ b/packages/mjpegtools.rb @@ -0,0 +1,40 @@ +require 'package' + +class Mjpegtools < Package + description 'Video capture, editing, playback, and compression to MPEG of MJPEG video' + homepage 'https://mjpeg.sourceforge.io/' + @_ver = '2.2.0_beta' + version @_ver + compatibility 'all' + source_url "https://downloads.sourceforge.net/sourceforge/mjpeg/mjpegtools-#{@_ver}.tar.gz" + source_sha256 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/mjpegtools-2.2.0_beta-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/mjpegtools-2.2.0_beta-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/mjpegtools-2.2.0_beta-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/mjpegtools-2.2.0_beta-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'd97cffd7dd29d8d71ed830a6f4d61ce858f0c7b0b17574a0019442b02f5eb546', + armv7l: 'd97cffd7dd29d8d71ed830a6f4d61ce858f0c7b0b17574a0019442b02f5eb546', + i686: '7d9b5522639efcc53d86577c1fb9c0e06ec93054ed207be571abaad1f0ed01db', + x86_64: 'efefd2df7479bb6e96832e934a66071120c0320e18a78b192f8bcd3303ec0867' + }) + + depends_on 'libjpeg' + depends_on 'libpng' + depends_on 'libdv' + depends_on 'libsdl2' + depends_on 'v4l_utils' => ':build' + + def self.build + system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/orc.rb b/packages/orc.rb new file mode 100644 index 000000000..4336093d8 --- /dev/null +++ b/packages/orc.rb @@ -0,0 +1,38 @@ +require 'package' + +class Orc < Package + description 'Optimized Inner Loop Runtime Compiler' + homepage 'https://gitlab.freedesktop.org/gstreamer/orc' + @_ver = '0.4.32' + version @_ver + compatibility 'all' + source_url "https://github.com/GStreamer/orc/archive/#{@_ver}.tar.gz" + source_sha256 '6a7349d2ab4a73476cd4de36212e8c3c6524998081aaa04cf3a891ef792dd50f' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/orc-0.4.32-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/orc-0.4.32-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/orc-0.4.32-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/orc-0.4.32-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'f1454d82feafc44e7925e22d43ebce845536ce8931b939ea5a0098dbe0f78880', + armv7l: 'f1454d82feafc44e7925e22d43ebce845536ce8931b939ea5a0098dbe0f78880', + i686: '2782668ca3e7d98ea1c5034560fa2e734dc1f5fdd868944999eeaf164a03c5ec', + x86_64: '31c20cfc000b15c7bffceb6aec67bb337a7240eef8c62d74349cd553ed615b6d' + }) + + depends_on 'valgrind' => ':build' + depends_on 'gtk_doc' => ':build' + + def self.build + system "meson #{CREW_MESON_LTO_OPTIONS} \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end