Ffmpeg 5 & prereqs (#6645)

* prereqs for ffmpeg 5

* ffmpeg -> 5.0

* lilv is a runtime dep

* add binaries

* add armv7l binaries

* change url
This commit is contained in:
Satadru Pramanik
2022-01-22 23:33:53 -05:00
committed by GitHub
parent 8c7f54d3c0
commit bdc38613b6
8 changed files with 311 additions and 49 deletions

View File

@@ -3,7 +3,7 @@ require 'package'
class Ffmpeg < Package class Ffmpeg < Package
description 'Complete solution to record, convert and stream audio and video' description 'Complete solution to record, convert and stream audio and video'
homepage 'https://ffmpeg.org/' homepage 'https://ffmpeg.org/'
@_ver = '4.4.1' @_ver = '5.0'
version @_ver 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. 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' compatibility 'all'
@@ -11,16 +11,16 @@ class Ffmpeg < Package
git_hashtag "n#{@_ver}" git_hashtag "n#{@_ver}"
binary_url({ binary_url({
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/4.4.1_armv7l/ffmpeg-4.4.1-chromeos-armv7l.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/4.4.1_armv7l/ffmpeg-4.4.1-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/4.4.1_i686/ffmpeg-4.4.1-chromeos-i686.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/4.4.1_x86_64/ffmpeg-4.4.1-chromeos-x86_64.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({ binary_sha256({
aarch64: '03341a9d3c63a1973a37bd4c65f0e3231736e5ca31906f132bb03adb5c07da35', aarch64: '5f9ab043558a4a059bb7ae75b5b763179cca3b164729197c39bb8cd3397714dc',
armv7l: '03341a9d3c63a1973a37bd4c65f0e3231736e5ca31906f132bb03adb5c07da35', armv7l: '5f9ab043558a4a059bb7ae75b5b763179cca3b164729197c39bb8cd3397714dc',
i686: 'a0d9fbdd65f3fbc710240293df7562a6df31d01f479293b5cc1968f4af9093ac', i686: 'ba11082bdc94dbd5d2e9939880dcbc3e3e0602661afdc0d3c16578928eda7b61',
x86_64: '61edc8d4de679b88f525e47194b8fde634641ee34f18395ab30d1153df0f4448' x86_64: '47dcdcba48fd60d40856138eca3818c5bfdcb506d1a4261a7b5a2897c7d49575'
}) })
depends_on 'avisynthplus' # ? depends_on 'avisynthplus' # ?
@@ -44,6 +44,7 @@ class Ffmpeg < Package
depends_on 'jack' # R depends_on 'jack' # R
depends_on 'libaom' # R depends_on 'libaom' # R
depends_on 'libass' # R depends_on 'libass' # R
depends_on 'lilv' # R
depends_on 'leptonica' => :build depends_on 'leptonica' => :build
depends_on 'libavc1394' # R depends_on 'libavc1394' # R
depends_on 'libbluray' # R depends_on 'libbluray' # R
@@ -73,6 +74,7 @@ class Ffmpeg < Package
depends_on 'openal' # ? depends_on 'openal' # ?
depends_on 'openjpeg' # R depends_on 'openjpeg' # R
depends_on 'openmp' # R depends_on 'openmp' # R
depends_on 'openssl' # R
depends_on 'opus' # R depends_on 'opus' # R
depends_on 'pipewire' # R depends_on 'pipewire' # R
depends_on 'pulseaudio' # R depends_on 'pulseaudio' # R
@@ -107,19 +109,20 @@ class Ffmpeg < Package
# ChromeOS awk employs sandbox redirection protections which screw # ChromeOS awk employs sandbox redirection protections which screw
# up configure script generation, so use mawk. # up configure script generation, so use mawk.
system "sed -i 's/awk/mawk/g' configure" 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' \ CXXFLAGS='-pipe -U_FORTIFY_SOURCE #{@lto} -fuse-ld=gold' \
LDFLAGS='-U_FORTIFY_SOURCE #{@lto}' \ LDFLAGS='-U_FORTIFY_SOURCE #{@lto}' \
./configure \ ./configure \
--arch=#{ARCH} \ --arch=#{ARCH} \
--disable-debug \ --disable-debug \
--disable-doc \
--disable-iconv \ --disable-iconv \
--enable-avfilter \
--enable-avisynth \ --enable-avisynth \
--enable-ffplay \ --enable-ffplay \
--enable-fontconfig \ --enable-fontconfig \
--enable-frei0r \ --enable-frei0r \
--enable-gmp \ --enable-gmp \
--enable-gnutls \
--enable-gpl \ --enable-gpl \
--enable-ladspa \ --enable-ladspa \
--enable-libaom \ --enable-libaom \
@@ -127,13 +130,13 @@ class Ffmpeg < Package
--enable-libbluray \ --enable-libbluray \
--enable-libdav1d \ --enable-libdav1d \
--enable-libdrm \ --enable-libdrm \
--enable-libfdk-aac \
--enable-libfontconfig \ --enable-libfontconfig \
--enable-libfreetype \ --enable-libfreetype \
--enable-libfribidi \ --enable-libfribidi \
--enable-libgsm \ --enable-libgsm \
--enable-libiec61883 \ --enable-libiec61883 \
--enable-libjack \ --enable-libjack \
#{@mfx} \
--enable-libmodplug \ --enable-libmodplug \
--enable-libmp3lame \ --enable-libmp3lame \
--enable-libopencore_amrnb \ --enable-libopencore_amrnb \
@@ -162,14 +165,19 @@ class Ffmpeg < Package
--enable-libxcb \ --enable-libxcb \
--enable-libxml2 \ --enable-libxml2 \
--enable-libxvid \ --enable-libxvid \
--enable-libzmq \
--enable-libzimg \ --enable-libzimg \
--enable-libzmq \
--enable-libzvbi \
#{@enablelto} \ #{@enablelto} \
--enable-lv2 \
--enable-lzma \ --enable-lzma \
--enable-nonfree \ --enable-nonfree \
--enable-opengl \
--enable-openssl \
--enable-pthreads \ --enable-pthreads \
--enable-shared \ --enable-shared \
--enable-version3 \ --enable-version3 \
#{@mfx} \
--host-cflags='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=gold' \ --host-cflags='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=gold' \
--host-ldflags='-fno-stack-protector -U_FORTIFY_SOURCE #{@lto}' \ --host-ldflags='-fno-stack-protector -U_FORTIFY_SOURCE #{@lto}' \
#{CREW_OPTIONS.sub(/--build=.*/, '')}" #{CREW_OPTIONS.sub(/--build=.*/, '')}"

54
packages/lilv.rb Normal file
View File

@@ -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

51
packages/lv2.rb Normal file
View File

@@ -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

47
packages/serd.rb Normal file
View File

@@ -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

49
packages/sord.rb Normal file
View File

@@ -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

50
packages/sratom.rb Normal file
View File

@@ -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

View File

@@ -3,34 +3,35 @@ require 'package'
class Swig < Package class Swig < Package
description 'Simplified Wrapper and Interface Generator' description 'Simplified Wrapper and Interface Generator'
homepage 'http://www.swig.org' homepage 'http://www.swig.org'
version '4.0.1' version '4.0.2'
license 'GPL-3, BSD and BSD-2' license 'GPL-3, BSD and BSD-2'
compatibility 'all' compatibility 'all'
source_url 'http://prdownloads.sourceforge.net/swig/swig-4.0.1.tar.gz' source_url 'https://downloads.sourceforge.net/project/swig/swig/swig-4.0.2/swig-4.0.2.tar.gz'
source_sha256 '7a00b4d0d53ad97a14316135e2d702091cd5f193bb58bcfcd8bc59d41e7887a9' source_sha256 'd53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc'
binary_url ({ 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', 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.1_armv7l/swig-4.0.1-chromeos-armv7l.tar.xz', 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.1_i686/swig-4.0.1-chromeos-i686.tar.xz', 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.1_x86_64/swig-4.0.1-chromeos-x86_64.tar.xz', 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 ({ binary_sha256({
aarch64: 'bfcc6357fed1a729192a5f94fcb0a42ce9a391c71e973a5c71663bcec5758409', aarch64: '12f62e4758ab51ee5284a6124a633f416e16eeb35052ba7a34d208e6c75c37a0',
armv7l: 'bfcc6357fed1a729192a5f94fcb0a42ce9a391c71e973a5c71663bcec5758409', armv7l: '12f62e4758ab51ee5284a6124a633f416e16eeb35052ba7a34d208e6c75c37a0',
i686: 'd6f872741b8f4c6fb572db6d4e62a4259c43d7de5c3b879db20db4f9799a5d19', i686: '3a2745de14603c0c998e3c9219a6ac76e0129068d8a7dae6b53a17f644f8f4b4',
x86_64: '55ba83675fb3106cb101f487d5d758c845d8cea922abaec52307f5f261fea1b5', x86_64: 'b2c9aff000d7e96df6c4a3ae98c0ca80ccdec8f03b2cec253f1991df189d47a8'
}) })
depends_on 'boost'
depends_on 'pcre' depends_on 'pcre'
depends_on 'zlibpkg' depends_on 'zlibpkg'
def self.build def self.build
system "./configure --prefix=#{CREW_PREFIX} --libdir=#{CREW_LIB_PREFIX}" system "./configure #{CREW_OPTIONS}"
system "make" system 'make'
end end
def self.install def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
end end
end end

View File

@@ -3,30 +3,30 @@ require 'package'
class Waf < Package class Waf < Package
description 'The Waf build system' description 'The Waf build system'
homepage 'https://waf.io/' homepage 'https://waf.io/'
version '2.0.22' version '2.0.23'
license 'BSD-3' license 'BSD-3'
compatibility 'all' compatibility 'all'
source_url 'https://gitlab.com/ita1024/waf/-/archive/waf-2.0.22/waf-waf-2.0.22.tar.bz2' source_url 'https://gitlab.com/ita1024/waf.git'
source_sha256 '7368b14adba94467c920161aaca3e54384aca392acb7dc8ee37d53ce29dac781' git_hashtag "waf-#{version}"
binary_url({ 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', 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.22_armv7l/waf-2.0.22-chromeos-armv7l.tar.xz', 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.22_i686/waf-2.0.22-chromeos-i686.tar.xz', 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.22_x86_64/waf-2.0.22-chromeos-x86_64.tar.xz' 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({ binary_sha256({
aarch64: '732013cc9f066715cc03186d9d082d7096413b1fdd910ae71e93db6a4a162cc9', aarch64: '147ffce125636a9b1f2929a20169e07545211b7b80d4ac6bd757587b04a10697',
armv7l: '732013cc9f066715cc03186d9d082d7096413b1fdd910ae71e93db6a4a162cc9', armv7l: '147ffce125636a9b1f2929a20169e07545211b7b80d4ac6bd757587b04a10697',
i686: '531783e227612ebb76d64062f32769d92c1d21254397d2912d5dde8f40c3f685', i686: 'd5d5f0efaa3e9fd0dd6d60bc9f5c0df71447b7cd498900a26defb75f0413a2d3',
x86_64: '5645ec0c6c283f41dc5a7b4e5d28f40137c330c591a330b2d5e40b4a8d86bd30' x86_64: 'c415edd52cb5fa0de773b6ae6d6a4975742eee186e86171dc8899973a5e0a541'
}) })
depends_on 'help2man' depends_on 'help2man'
def self.build def self.build
system './waf-light configure 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' system 'help2man -N ./waf > waf.1'
case ARCH case ARCH
when 'x86_64' when 'x86_64'
@@ -35,19 +35,21 @@ class Waf < Package
end end
def self.install def self.install
system "mkdir -p #{CREW_DEST_PREFIX}/bin" @dest_dirs = %W[#{CREW_DEST_PREFIX}/bin #{CREW_DEST_PREFIX}/bin #{CREW_DEST_LIB_PREFIX}
system "mkdir -p #{CREW_DEST_PREFIX}/man/man1" #{CREW_DEST_MAN_PREFIX}/man1]
system "mkdir -p #{CREW_DEST_LIB_PREFIX}" @dest_dirs.each do |dir|
system "cp waf #{CREW_DEST_PREFIX}/bin" FileUtils.mkdir_p dir
system "cp waf-light #{CREW_DEST_PREFIX}/bin" end
system "cp waf.1 #{CREW_DEST_PREFIX}/man/man1" FileUtils.cp 'waf', "#{CREW_DEST_PREFIX}/bin"
system "cp -r waflib/ #{CREW_DEST_LIB_PREFIX}" 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/" FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d/"
@wafenv = <<~WAFEOF @wafenv = <<~WAFEOF
# waf build system configuration # waf build system configuration
export WAFDIR=#{CREW_LIB_PREFIX} export WAFDIR=#{CREW_LIB_PREFIX}
WAFEOF WAFEOF
IO.write("#{CREW_DEST_PREFIX}/etc/env.d/waf", @wafenv) File.write("#{CREW_DEST_PREFIX}/etc/env.d/waf", @wafenv)
end end
end end