From bdc38613b6fc7b72a85a26f29859f9a4bf41ad59 Mon Sep 17 00:00:00 2001 From: Satadru Pramanik Date: Sat, 22 Jan 2022 23:33:53 -0500 Subject: [PATCH] Ffmpeg 5 & prereqs (#6645) * prereqs for ffmpeg 5 * ffmpeg -> 5.0 * lilv is a runtime dep * add binaries * add armv7l binaries * change url --- packages/ffmpeg.rb | 34 ++++++++++++++++++----------- packages/lilv.rb | 54 ++++++++++++++++++++++++++++++++++++++++++++++ packages/lv2.rb | 51 +++++++++++++++++++++++++++++++++++++++++++ packages/serd.rb | 47 ++++++++++++++++++++++++++++++++++++++++ packages/sord.rb | 49 +++++++++++++++++++++++++++++++++++++++++ packages/sratom.rb | 50 ++++++++++++++++++++++++++++++++++++++++++ packages/swig.rb | 33 ++++++++++++++-------------- packages/waf.rb | 42 +++++++++++++++++++----------------- 8 files changed, 311 insertions(+), 49 deletions(-) create mode 100644 packages/lilv.rb create mode 100644 packages/lv2.rb create mode 100644 packages/serd.rb create mode 100644 packages/sord.rb create mode 100644 packages/sratom.rb diff --git a/packages/ffmpeg.rb b/packages/ffmpeg.rb index decb0baa6..acbca5beb 100644 --- a/packages/ffmpeg.rb +++ b/packages/ffmpeg.rb @@ -3,7 +3,7 @@ require 'package' class Ffmpeg < Package description 'Complete solution to record, convert and stream audio and video' homepage 'https://ffmpeg.org/' - @_ver = '4.4.1' + @_ver = '5.0' version @_ver license 'LGPL-2,1, GPL-2, GPL-3, and LGPL-3' # When changing ffmpeg's configure options, make sure this variable is still accurate. compatibility 'all' @@ -11,16 +11,16 @@ class Ffmpeg < Package git_hashtag "n#{@_ver}" binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/4.4.1_armv7l/ffmpeg-4.4.1-chromeos-armv7l.tpxz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/4.4.1_armv7l/ffmpeg-4.4.1-chromeos-armv7l.tpxz', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/4.4.1_i686/ffmpeg-4.4.1-chromeos-i686.tpxz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/4.4.1_x86_64/ffmpeg-4.4.1-chromeos-x86_64.tpxz' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.0_armv7l/ffmpeg-5.0-chromeos-armv7l.tpxz', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.0_armv7l/ffmpeg-5.0-chromeos-armv7l.tpxz', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.0_i686/ffmpeg-5.0-chromeos-i686.tpxz', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.0_x86_64/ffmpeg-5.0-chromeos-x86_64.tpxz' }) binary_sha256({ - aarch64: '03341a9d3c63a1973a37bd4c65f0e3231736e5ca31906f132bb03adb5c07da35', - armv7l: '03341a9d3c63a1973a37bd4c65f0e3231736e5ca31906f132bb03adb5c07da35', - i686: 'a0d9fbdd65f3fbc710240293df7562a6df31d01f479293b5cc1968f4af9093ac', - x86_64: '61edc8d4de679b88f525e47194b8fde634641ee34f18395ab30d1153df0f4448' + aarch64: '5f9ab043558a4a059bb7ae75b5b763179cca3b164729197c39bb8cd3397714dc', + armv7l: '5f9ab043558a4a059bb7ae75b5b763179cca3b164729197c39bb8cd3397714dc', + i686: 'ba11082bdc94dbd5d2e9939880dcbc3e3e0602661afdc0d3c16578928eda7b61', + x86_64: '47dcdcba48fd60d40856138eca3818c5bfdcb506d1a4261a7b5a2897c7d49575' }) depends_on 'avisynthplus' # ? @@ -44,6 +44,7 @@ class Ffmpeg < Package depends_on 'jack' # R depends_on 'libaom' # R depends_on 'libass' # R + depends_on 'lilv' # R depends_on 'leptonica' => :build depends_on 'libavc1394' # R depends_on 'libbluray' # R @@ -73,6 +74,7 @@ class Ffmpeg < Package depends_on 'openal' # ? depends_on 'openjpeg' # R depends_on 'openmp' # R + depends_on 'openssl' # R depends_on 'opus' # R depends_on 'pipewire' # R depends_on 'pulseaudio' # R @@ -107,19 +109,20 @@ class Ffmpeg < Package # ChromeOS awk employs sandbox redirection protections which screw # up configure script generation, so use mawk. system "sed -i 's/awk/mawk/g' configure" - system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=gold' \ + system "CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=gold' \ CXXFLAGS='-pipe -U_FORTIFY_SOURCE #{@lto} -fuse-ld=gold' \ LDFLAGS='-U_FORTIFY_SOURCE #{@lto}' \ ./configure \ --arch=#{ARCH} \ --disable-debug \ + --disable-doc \ --disable-iconv \ + --enable-avfilter \ --enable-avisynth \ --enable-ffplay \ --enable-fontconfig \ --enable-frei0r \ --enable-gmp \ - --enable-gnutls \ --enable-gpl \ --enable-ladspa \ --enable-libaom \ @@ -127,13 +130,13 @@ class Ffmpeg < Package --enable-libbluray \ --enable-libdav1d \ --enable-libdrm \ + --enable-libfdk-aac \ --enable-libfontconfig \ --enable-libfreetype \ --enable-libfribidi \ --enable-libgsm \ --enable-libiec61883 \ --enable-libjack \ - #{@mfx} \ --enable-libmodplug \ --enable-libmp3lame \ --enable-libopencore_amrnb \ @@ -162,14 +165,19 @@ class Ffmpeg < Package --enable-libxcb \ --enable-libxml2 \ --enable-libxvid \ - --enable-libzmq \ --enable-libzimg \ + --enable-libzmq \ + --enable-libzvbi \ #{@enablelto} \ + --enable-lv2 \ --enable-lzma \ --enable-nonfree \ + --enable-opengl \ + --enable-openssl \ --enable-pthreads \ --enable-shared \ --enable-version3 \ + #{@mfx} \ --host-cflags='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=gold' \ --host-ldflags='-fno-stack-protector -U_FORTIFY_SOURCE #{@lto}' \ #{CREW_OPTIONS.sub(/--build=.*/, '')}" diff --git a/packages/lilv.rb b/packages/lilv.rb new file mode 100644 index 000000000..0c9a32b86 --- /dev/null +++ b/packages/lilv.rb @@ -0,0 +1,54 @@ +# Adapted from Arch Linux lilv PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/lilv/trunk/PKGBUILD + +require 'package' + +class Lilv < Package + description 'A C library interface to the LV2 plug-in standard' + homepage 'https://drobilla.net/software/lilv/' + version '0.24.12' + license 'isc' + compatibility 'all' + source_url 'https://github.com/lv2/lilv.git' + git_hashtag "v#{version}" + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/lilv/0.24.12_armv7l/lilv-0.24.12-chromeos-armv7l.tpxz', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/lilv/0.24.12_armv7l/lilv-0.24.12-chromeos-armv7l.tpxz', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/lilv/0.24.12_i686/lilv-0.24.12-chromeos-i686.tpxz', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/lilv/0.24.12_x86_64/lilv-0.24.12-chromeos-x86_64.tpxz' + }) + binary_sha256({ + aarch64: '5a0aacc4b651196a40f3be5c7595f819857d200ad0f58f08df94e25978900813', + armv7l: '5a0aacc4b651196a40f3be5c7595f819857d200ad0f58f08df94e25978900813', + i686: '2093fbc29b67bdec080e45fbdaf5e410853a4744160331a3b234ff8477fe31e7', + x86_64: 'b192f661f5a930584a7b0f59e5892dac44248af022e680de15078ab48ea4be66' + }) + + depends_on 'lv2' + depends_on 'libsndfile' => ':build' + depends_on 'serd' => ':build' + depends_on 'sord' => ':build' + depends_on 'sratom' => ':build' + depends_on 'swig' => ':build' + depends_on 'waf' => ':build' + + def self.build + # let wscript(s) find the custom waf scripts + FileUtils.mkdir_p 'plugins' + FileUtils.mv 'waflib/extras', 'plugins/tools' + FileUtils.ln_s 'plugins/tools', 'tools' + FileUtils.rm_f 'waflib' + FileUtils.touch '__init__.py' + system "sed -e 's/waflib.extras/tools/g' \ + -e \"s/load('autowaf'/load('autowaf', tooldir='tools'/g\" \ + -e \"s/load('lv2'/load('lv2', tooldir='tools'/g\" \ + -i wscript" + system "waf configure #{CREW_OPTIONS.sub(/--build=.*/, '')}" + system 'waf -v build' + end + + def self.install + system "waf install --destdir=#{CREW_DEST_DIR}" + end +end diff --git a/packages/lv2.rb b/packages/lv2.rb new file mode 100644 index 000000000..d72903500 --- /dev/null +++ b/packages/lv2.rb @@ -0,0 +1,51 @@ +# Adapted from Arch Linux lv2 PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/lv2/trunk/PKGBUILD + +require 'package' + +class Lv2 < Package + description 'Plugin standard for audio systems' + homepage 'http://lv2plug.in/' + version '1.18.2' + compatibility 'all' + source_url 'https://github.com/lv2/lv2.git' + git_hashtag "v#{version}" + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/lv2/1.18.2_armv7l/lv2-1.18.2-chromeos-armv7l.tpxz', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/lv2/1.18.2_armv7l/lv2-1.18.2-chromeos-armv7l.tpxz', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/lv2/1.18.2_i686/lv2-1.18.2-chromeos-i686.tpxz', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/lv2/1.18.2_x86_64/lv2-1.18.2-chromeos-x86_64.tpxz' + }) + binary_sha256({ + aarch64: '01c2428272130e485d3064a44d580d20b4e08e9523743fde0facde659cf781ec', + armv7l: '01c2428272130e485d3064a44d580d20b4e08e9523743fde0facde659cf781ec', + i686: '09972f0e16f7b7b28c412723056b70596f54089143c233fecb01d9c8efb79c57', + x86_64: 'a70c16a071b6241a21800f83bba960ee3b7f3a8b501748655a1fe32e0e578056' + }) + + depends_on 'gtk2' + depends_on 'py3_pygments' => :build + depends_on 'asciidoc' => ':build' + depends_on 'doxygen' => ':build' + depends_on 'libsndfile' => ':build' + + def self.build + # let wscript(s) find the custom waf scripts + FileUtils.mkdir_p 'plugins' + FileUtils.mv 'waflib/extras', 'plugins/tools' + FileUtils.ln_s 'plugins/tools', 'tools' + FileUtils.rm_f 'waflib' + FileUtils.touch '__init__.py' + system "sed -e 's/waflib.extras/tools/g' \ + -e \"s/load('autowaf'/load('autowaf', tooldir='tools'/g\" \ + -e \"s/load('lv2'/load('lv2', tooldir='tools'/g\" \ + -i wscript" + system "waf configure #{CREW_OPTIONS.sub(/--build=.*/, '')}" + system 'waf -v build' + end + + def self.install + system "waf install --destdir=#{CREW_DEST_DIR}" + end +end diff --git a/packages/serd.rb b/packages/serd.rb new file mode 100644 index 000000000..b5f490620 --- /dev/null +++ b/packages/serd.rb @@ -0,0 +1,47 @@ +# Adapted from Arch Linux serd PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/serd/trunk/PKGBUILD + +require 'package' + +class Serd < Package + description 'Lightweight C library for RDF syntax supporting reading/ writing Turtle and NTriples.' + homepage 'https://drobilla.net/software/serd/' + version '0.30.10' + compatibility 'all' + source_url 'https://github.com/drobilla/serd.git' + git_hashtag "v#{version}" + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/serd/0.30.10_armv7l/serd-0.30.10-chromeos-armv7l.tpxz', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/serd/0.30.10_armv7l/serd-0.30.10-chromeos-armv7l.tpxz', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/serd/0.30.10_i686/serd-0.30.10-chromeos-i686.tpxz', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/serd/0.30.10_x86_64/serd-0.30.10-chromeos-x86_64.tpxz' + }) + binary_sha256({ + aarch64: '18bdc58281fc31baff1ad0fc464b70c78f8becd1b4efee39c1cddc17e419a88c', + armv7l: '18bdc58281fc31baff1ad0fc464b70c78f8becd1b4efee39c1cddc17e419a88c', + i686: '20f1dc846a679857ba27e234bd1a13dd546f568f2c749ec2f5d4bfcc3f421da3', + x86_64: '9d44f52a0f18e146458ccb8ef8478be1cba0e1fcd1d1ed76743bbd10d861bb4d' + }) + + depends_on 'waf' => ':build' + + def self.build + # let wscript(s) find the custom waf scripts + FileUtils.mkdir_p 'plugins' + FileUtils.mv 'waflib/extras', 'plugins/tools' + FileUtils.ln_s 'plugins/tools', 'tools' + FileUtils.rm_f 'waflib' + FileUtils.touch '__init__.py' + system "sed -e 's/waflib.extras/tools/g' \ + -e \"s/load('autowaf'/load('autowaf', tooldir='tools'/g\" \ + -e \"s/load('lv2'/load('lv2', tooldir='tools'/g\" \ + -i wscript" + system "waf configure #{CREW_OPTIONS.sub(/--build=.*/, '')}" + system 'waf -v build' + end + + def self.install + system "waf install --destdir=#{CREW_DEST_DIR}" + end +end diff --git a/packages/sord.rb b/packages/sord.rb new file mode 100644 index 000000000..bc2f69d93 --- /dev/null +++ b/packages/sord.rb @@ -0,0 +1,49 @@ +# Adapted from Arch Linux sord PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/sord/trunk/PKGBUILD + +require 'package' + +class Sord < Package + description 'A lightweight C library for storing RDF data in memory' + homepage 'https://drobilla.net/software/sord/' + version '0.16.8' + compatibility 'all' + source_url 'https://github.com/drobilla/sord.git' + git_hashtag "v#{version}" + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sord/0.16.8_armv7l/sord-0.16.8-chromeos-armv7l.tpxz', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sord/0.16.8_armv7l/sord-0.16.8-chromeos-armv7l.tpxz', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sord/0.16.8_i686/sord-0.16.8-chromeos-i686.tpxz', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sord/0.16.8_x86_64/sord-0.16.8-chromeos-x86_64.tpxz' + }) + binary_sha256({ + aarch64: '7b9964ca0db2f500f888dadf4305af8ec0205d54ee2136819abebf553466adf8', + armv7l: '7b9964ca0db2f500f888dadf4305af8ec0205d54ee2136819abebf553466adf8', + i686: '21f5b7cacdf491895a4791f1e96c6603ad7b66121a35420931877334476f1b1e', + x86_64: '3c9d174b7262a07dac584f022ffda1c76f379751ab5f3b75323d19df3425f0ec' + }) + + depends_on 'serd' + depends_on 'pcre' + depends_on 'waf' => ':build' + + def self.build + # let wscript(s) find the custom waf scripts + FileUtils.mkdir_p 'plugins' + FileUtils.mv 'waflib/extras', 'plugins/tools' + FileUtils.ln_s 'plugins/tools', 'tools' + FileUtils.rm_f 'waflib' + FileUtils.touch '__init__.py' + system "sed -e 's/waflib.extras/tools/g' \ + -e \"s/load('autowaf'/load('autowaf', tooldir='tools'/g\" \ + -e \"s/load('lv2'/load('lv2', tooldir='tools'/g\" \ + -i wscript" + system "waf configure #{CREW_OPTIONS.sub(/--build=.*/, '')}" + system 'waf -v build' + end + + def self.install + system "waf install --destdir=#{CREW_DEST_DIR}" + end +end diff --git a/packages/sratom.rb b/packages/sratom.rb new file mode 100644 index 000000000..c2ccf5700 --- /dev/null +++ b/packages/sratom.rb @@ -0,0 +1,50 @@ +# Adapted from Arch Linux sratom PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/sratom/trunk/PKGBUILD + +require 'package' + +class Sratom < Package + description 'An LV2 Atom RDF serialisation library' + homepage 'https://drobilla.net/software/sratom/' + version '0.6.8' + compatibility 'all' + source_url 'https://github.com/lv2/sratom.git' + git_hashtag "v#{version}" + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sratom/0.6.8_armv7l/sratom-0.6.8-chromeos-armv7l.tpxz', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sratom/0.6.8_armv7l/sratom-0.6.8-chromeos-armv7l.tpxz', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sratom/0.6.8_i686/sratom-0.6.8-chromeos-i686.tpxz', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sratom/0.6.8_x86_64/sratom-0.6.8-chromeos-x86_64.tpxz' + }) + binary_sha256({ + aarch64: 'be65f506b6d36f893747ac861707f6ae8608bc87680b0534c201823c5cd8b039', + armv7l: 'be65f506b6d36f893747ac861707f6ae8608bc87680b0534c201823c5cd8b039', + i686: '9e8908eac3420f94280b1f6e5680b196a95ba389ad3eb5499cf438aea34b16e6', + x86_64: 'e8a1f9a860e7b0a1e64c5311a9d02e28ee27b39e66fb271e25998fafe9b95169' + }) + + depends_on 'lv2' + depends_on 'serd' => ':build' + depends_on 'sord' => ':build' + depends_on 'waf' => ':build' + + def self.build + # let wscript(s) find the custom waf scripts + FileUtils.mkdir_p 'plugins' + FileUtils.mv 'waflib/extras', 'plugins/tools' + FileUtils.ln_s 'plugins/tools', 'tools' + FileUtils.rm_f 'waflib' + FileUtils.touch '__init__.py' + system "sed -e 's/waflib.extras/tools/g' \ + -e \"s/load('autowaf'/load('autowaf', tooldir='tools'/g\" \ + -e \"s/load('lv2'/load('lv2', tooldir='tools'/g\" \ + -i wscript" + system "waf configure #{CREW_OPTIONS.sub(/--build=.*/, '')}" + system 'waf -v build' + end + + def self.install + system "waf install --destdir=#{CREW_DEST_DIR}" + end +end diff --git a/packages/swig.rb b/packages/swig.rb index 489db5fe4..2f23b1b0b 100644 --- a/packages/swig.rb +++ b/packages/swig.rb @@ -3,34 +3,35 @@ require 'package' class Swig < Package description 'Simplified Wrapper and Interface Generator' homepage 'http://www.swig.org' - version '4.0.1' + version '4.0.2' license 'GPL-3, BSD and BSD-2' compatibility 'all' - source_url 'http://prdownloads.sourceforge.net/swig/swig-4.0.1.tar.gz' - source_sha256 '7a00b4d0d53ad97a14316135e2d702091cd5f193bb58bcfcd8bc59d41e7887a9' + source_url 'https://downloads.sourceforge.net/project/swig/swig/swig-4.0.2/swig-4.0.2.tar.gz' + source_sha256 'd53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc' - binary_url ({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/swig/4.0.1_armv7l/swig-4.0.1-chromeos-armv7l.tar.xz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/swig/4.0.1_armv7l/swig-4.0.1-chromeos-armv7l.tar.xz', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/swig/4.0.1_i686/swig-4.0.1-chromeos-i686.tar.xz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/swig/4.0.1_x86_64/swig-4.0.1-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/swig/4.0.2_armv7l/swig-4.0.2-chromeos-armv7l.tpxz', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/swig/4.0.2_armv7l/swig-4.0.2-chromeos-armv7l.tpxz', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/swig/4.0.2_i686/swig-4.0.2-chromeos-i686.tpxz', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/swig/4.0.2_x86_64/swig-4.0.2-chromeos-x86_64.tpxz' }) - binary_sha256 ({ - aarch64: 'bfcc6357fed1a729192a5f94fcb0a42ce9a391c71e973a5c71663bcec5758409', - armv7l: 'bfcc6357fed1a729192a5f94fcb0a42ce9a391c71e973a5c71663bcec5758409', - i686: 'd6f872741b8f4c6fb572db6d4e62a4259c43d7de5c3b879db20db4f9799a5d19', - x86_64: '55ba83675fb3106cb101f487d5d758c845d8cea922abaec52307f5f261fea1b5', + binary_sha256({ + aarch64: '12f62e4758ab51ee5284a6124a633f416e16eeb35052ba7a34d208e6c75c37a0', + armv7l: '12f62e4758ab51ee5284a6124a633f416e16eeb35052ba7a34d208e6c75c37a0', + i686: '3a2745de14603c0c998e3c9219a6ac76e0129068d8a7dae6b53a17f644f8f4b4', + x86_64: 'b2c9aff000d7e96df6c4a3ae98c0ca80ccdec8f03b2cec253f1991df189d47a8' }) + depends_on 'boost' depends_on 'pcre' depends_on 'zlibpkg' def self.build - system "./configure --prefix=#{CREW_PREFIX} --libdir=#{CREW_LIB_PREFIX}" - system "make" + system "./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/waf.rb b/packages/waf.rb index 28f73f389..bf9cd0444 100644 --- a/packages/waf.rb +++ b/packages/waf.rb @@ -3,30 +3,30 @@ require 'package' class Waf < Package description 'The Waf build system' homepage 'https://waf.io/' - version '2.0.22' + version '2.0.23' license 'BSD-3' compatibility 'all' - source_url 'https://gitlab.com/ita1024/waf/-/archive/waf-2.0.22/waf-waf-2.0.22.tar.bz2' - source_sha256 '7368b14adba94467c920161aaca3e54384aca392acb7dc8ee37d53ce29dac781' + source_url 'https://gitlab.com/ita1024/waf.git' + git_hashtag "waf-#{version}" binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/waf/2.0.22_armv7l/waf-2.0.22-chromeos-armv7l.tar.xz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/waf/2.0.22_armv7l/waf-2.0.22-chromeos-armv7l.tar.xz', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/waf/2.0.22_i686/waf-2.0.22-chromeos-i686.tar.xz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/waf/2.0.22_x86_64/waf-2.0.22-chromeos-x86_64.tar.xz' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/waf/2.0.23_armv7l/waf-2.0.23-chromeos-armv7l.tpxz', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/waf/2.0.23_armv7l/waf-2.0.23-chromeos-armv7l.tpxz', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/waf/2.0.23_i686/waf-2.0.23-chromeos-i686.tpxz', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/waf/2.0.23_x86_64/waf-2.0.23-chromeos-x86_64.tpxz' }) binary_sha256({ - aarch64: '732013cc9f066715cc03186d9d082d7096413b1fdd910ae71e93db6a4a162cc9', - armv7l: '732013cc9f066715cc03186d9d082d7096413b1fdd910ae71e93db6a4a162cc9', - i686: '531783e227612ebb76d64062f32769d92c1d21254397d2912d5dde8f40c3f685', - x86_64: '5645ec0c6c283f41dc5a7b4e5d28f40137c330c591a330b2d5e40b4a8d86bd30' + aarch64: '147ffce125636a9b1f2929a20169e07545211b7b80d4ac6bd757587b04a10697', + armv7l: '147ffce125636a9b1f2929a20169e07545211b7b80d4ac6bd757587b04a10697', + i686: 'd5d5f0efaa3e9fd0dd6d60bc9f5c0df71447b7cd498900a26defb75f0413a2d3', + x86_64: 'c415edd52cb5fa0de773b6ae6d6a4975742eee186e86171dc8899973a5e0a541' }) depends_on 'help2man' def self.build system './waf-light configure build' - system './waf-light --tools=compat15' + system "./waf-light --tools=compat15 --prelude=\$'\tfrom waflib.extras import compat15\n'" system 'help2man -N ./waf > waf.1' case ARCH when 'x86_64' @@ -35,19 +35,21 @@ class Waf < Package end def self.install - system "mkdir -p #{CREW_DEST_PREFIX}/bin" - system "mkdir -p #{CREW_DEST_PREFIX}/man/man1" - system "mkdir -p #{CREW_DEST_LIB_PREFIX}" - system "cp waf #{CREW_DEST_PREFIX}/bin" - system "cp waf-light #{CREW_DEST_PREFIX}/bin" - system "cp waf.1 #{CREW_DEST_PREFIX}/man/man1" - system "cp -r waflib/ #{CREW_DEST_LIB_PREFIX}" + @dest_dirs = %W[#{CREW_DEST_PREFIX}/bin #{CREW_DEST_PREFIX}/bin #{CREW_DEST_LIB_PREFIX} + #{CREW_DEST_MAN_PREFIX}/man1] + @dest_dirs.each do |dir| + FileUtils.mkdir_p dir + end + FileUtils.cp 'waf', "#{CREW_DEST_PREFIX}/bin" + FileUtils.cp 'waf-light', "#{CREW_DEST_PREFIX}/bin/" + FileUtils.cp 'waf.1', "#{CREW_DEST_MAN_PREFIX}/man1/" + FileUtils.cp_r 'waflib', "#{CREW_DEST_LIB_PREFIX}/" FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d/" @wafenv = <<~WAFEOF # waf build system configuration export WAFDIR=#{CREW_LIB_PREFIX} WAFEOF - IO.write("#{CREW_DEST_PREFIX}/etc/env.d/waf", @wafenv) + File.write("#{CREW_DEST_PREFIX}/etc/env.d/waf", @wafenv) end end