diff --git a/bin/crew b/bin/crew index cb744e715..5d04eebec 100755 --- a/bin/crew +++ b/bin/crew @@ -446,11 +446,22 @@ end def update abort "'crew update' is used to update crew itself. Use 'crew upgrade [ ...]' to update specific packages.".orange if @pkgName - + @crew_testing_repo = ENV['CREW_TESTING_REPO'] + @crew_testing_branch = ENV['CREW_TESTING_BRANCH'] + @crew_testing = ENV['CREW_TESTING'] + @crew_testing = 0 if @crew_testing_repo.nil? || @crew_testing_repo.empty? + @crew_testing = 0 if @crew_testing_branch.nil? || @crew_testing_branch.empty? #update package lists Dir.chdir CREW_LIB_PATH do - system 'git fetch origin master' - system 'git reset --hard origin/master' + if @crew_testing == '1' + system "git remote add testing #{@crew_testing_repo} 2>/dev/null || \ + git remote set-url testing #{@crew_testing_repo}" + system "git fetch testing #{@crew_testing_branch}" + system "git reset --hard testing/#{@crew_testing_branch}" + else + system 'git fetch origin master' + system 'git reset --hard origin/master' + end end puts 'Package lists, crew, and library updated.' @@ -620,7 +631,10 @@ def download # Stow file in cache if requested if CREW_CACHE_ENABLED puts 'Caching downloaded archive.'.lightgreen - Dir.chdir "#{@extract_dir}" do system "tar c#{@verbose}Jf #{CREW_CACHE_DIR}/#{filename}.tar.xz $(find -mindepth 1 -maxdepth 1 -printf '%P\n')" end + Dir.chdir "#{@extract_dir}" do + system "tar c#{@verbose}Jf #{CREW_CACHE_DIR}/#{filename}.tar.xz \ + $(find -mindepth 1 -maxdepth 1 -printf '%P\n')" + end system "sha256sum #{CREW_CACHE_DIR}/#{filename}.tar.xz > #{CREW_CACHE_DIR}/#{filename}.tar.xz.sha256" end end diff --git a/lib/const.rb b/lib/const.rb index da8bad905..1fcc1f103 100644 --- a/lib/const.rb +++ b/lib/const.rb @@ -1,6 +1,6 @@ # Defines common constants used in different parts of crew -CREW_VERSION = '1.8.6' +CREW_VERSION = '1.8.7' ARCH_ACTUAL = `uname -m`.strip # This helps with virtualized builds on aarch64 machines diff --git a/packages/abseil_cpp.rb b/packages/abseil_cpp.rb index 21a132ea2..8b1cd6b2a 100644 --- a/packages/abseil_cpp.rb +++ b/packages/abseil_cpp.rb @@ -26,7 +26,7 @@ class Abseil_cpp < Package def self.build Dir.mkdir 'builddir' Dir.chdir 'builddir' do - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ cmake \ -G Ninja \ #{CREW_CMAKE_OPTIONS} \ diff --git a/packages/autoconf213.rb b/packages/autoconf213.rb index 7a96919df..6f640d080 100644 --- a/packages/autoconf213.rb +++ b/packages/autoconf213.rb @@ -23,7 +23,7 @@ class Autoconf213 < Package }) def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} \ --infodir=#{CREW_PREFIX}/share/info \ --program-suffix=-2.13 \ diff --git a/packages/bash.rb b/packages/bash.rb index 36d3d5300..cd4327af7 100644 --- a/packages/bash.rb +++ b/packages/bash.rb @@ -30,7 +30,7 @@ class Bash < Package end def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} #{@CONFIGUREFLAGS} --with-curses --enable-readline \ --enable-mem-scramble --enable-usg-echo-default \ --enable-single-help-strings --enable-select \ diff --git a/packages/bubblewrap.rb b/packages/bubblewrap.rb index 38f7f752e..f88db2d79 100644 --- a/packages/bubblewrap.rb +++ b/packages/bubblewrap.rb @@ -32,7 +32,7 @@ class Bubblewrap < Package def self.build system './configure --help' - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} \ --disable-maintainer-mode \ --disable-man \ diff --git a/packages/ccache.rb b/packages/ccache.rb index ca184c2a4..308cb8c7f 100644 --- a/packages/ccache.rb +++ b/packages/ccache.rb @@ -3,23 +3,24 @@ require 'package' class Ccache < Package description 'Compiler cache that speeds up recompilation by caching previous compilations' homepage 'https://ccache.samba.org/' - version '4.2.1' + @_ver = '4.2.1' + version "#{@_ver}-1" license 'GPL-3 and LGPL-3' compatibility 'all' - source_url 'https://github.com/ccache/ccache/releases/download/v4.2.1/ccache-4.2.1.tar.xz' + source_url "https://github.com/ccache/ccache/releases/download/v#{@_ver}/ccache-#{@_ver}.tar.xz" source_sha256 '9d6ba1cdefdc690401f404b747d81a9a1802b17af4235815866b7620d980477e' binary_url({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/ccache-4.2.1-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/ccache-4.2.1-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/ccache-4.2.1-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/ccache-4.2.1-chromeos-x86_64.tar.xz' + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/ccache-4.2.1-1-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/ccache-4.2.1-1-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/ccache-4.2.1-1-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/ccache-4.2.1-1-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: 'abe2f4a839d98bf3946c59f731090a02f2436b832685fd7bbf4a952a54537b16', - armv7l: 'abe2f4a839d98bf3946c59f731090a02f2436b832685fd7bbf4a952a54537b16', - i686: '1be1b4baeb1885eedab0e3faddce5cda98921195a14b9523c222f97a27ddfc9f', - x86_64: 'b0ba3c720acaaa3a88af3ac5266aa1370b5a4ccf4fa9861d917b745ee337d023' + aarch64: '4198dda721970ec84c1a02fcd792cbf6c54afb8e6d48a8b0b39335030a79ce40', + armv7l: '4198dda721970ec84c1a02fcd792cbf6c54afb8e6d48a8b0b39335030a79ce40', + i686: '44ad63eb78b3fbe0973276d4724d97e0512ae42fd0b881a6825da8259584a15e', + x86_64: '1c063513b2fb098399ad94d8818d04d0eae4569ae1846411d2f421a5567bccca' }) depends_on 'xdg_base' @@ -53,7 +54,7 @@ class Ccache < Package FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d/" @ccacheenv = <<~CCACHEEOF # ccache configuration - if [ "\$PATH" -eq "*ccache/bin*" ]; then + if ! [[ \$PATH == *"ccache/bin"* ]]; then export PATH="#{CREW_LIB_PREFIX}/ccache/bin:\$PATH" fi CCACHEEOF diff --git a/packages/cmake.rb b/packages/cmake.rb index 6d7d29dd6..08717b7fb 100644 --- a/packages/cmake.rb +++ b/packages/cmake.rb @@ -32,7 +32,7 @@ class Cmake < Package end def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./bootstrap --prefix=#{CREW_PREFIX}" system 'make' end diff --git a/packages/consolekit.rb b/packages/consolekit.rb index 80e58e242..d9f5ab2ae 100644 --- a/packages/consolekit.rb +++ b/packages/consolekit.rb @@ -31,7 +31,7 @@ class Consolekit < Package depends_on 'xmlto' => :build def self.build - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./autogen.sh \ #{CREW_OPTIONS} \ --sysconfdir=#{CREW_PREFIX}/etc \ diff --git a/packages/f2fs_tools.rb b/packages/f2fs_tools.rb index c19a05bc7..a456c9a6e 100644 --- a/packages/f2fs_tools.rb +++ b/packages/f2fs_tools.rb @@ -32,7 +32,7 @@ class F2fs_tools < Package def self.build system "autoreconf -fi" - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure \ #{CREW_OPTIONS} \ --sbindir=#{CREW_PREFIX}/bin" diff --git a/packages/faac.rb b/packages/faac.rb new file mode 100644 index 000000000..bd6bd00c5 --- /dev/null +++ b/packages/faac.rb @@ -0,0 +1,40 @@ +# Adapted from Arch Linux faac PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/faac/trunk/PKGBUILD + +require 'package' + +class Faac < Package + description 'Freeware Advanced Audio Coder' + homepage 'https://www.audiocoding.com/' + version '1.30' + license 'GPL2 custom' + compatibility 'all' + source_url 'https://github.com/knik0/faac/archive/refs/tags/1_30.tar.gz' + source_sha256 'adc387ce588cca16d98c03b6ec1e58f0ffd9fc6eadb00e254157d6b16203b2d2' + + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/faac-1.30-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/faac-1.30-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/faac-1.30-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/faac-1.30-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '0964049377f4cb3a818b5448e0e072dffeae95919261837ad28c7135db9a441a', + armv7l: '0964049377f4cb3a818b5448e0e072dffeae95919261837ad28c7135db9a441a', + i686: 'f3e919c4f4f06777d43b3d02a6cf3a12b162440b40243de24383730ad308a182', + x86_64: 'fdea955a9dfd5732dc22a40ec8ff8aef47c153b5f34b7cff7f2aa9d6e0e3f05a' + }) + + depends_on 'glibc' + + def self.build + system 'autoreconf -vfi' + system "env #{CREW_ENV_OPTIONS} \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/faad2.rb b/packages/faad2.rb index 24614444d..e1f227ea4 100644 --- a/packages/faad2.rb +++ b/packages/faad2.rb @@ -29,7 +29,7 @@ class Faad2 < Package def self.build system 'autoreconf -vfi' - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" system 'make' end diff --git a/packages/ffmpeg.rb b/packages/ffmpeg.rb index 3d6a9b900..2b4d5bf99 100644 --- a/packages/ffmpeg.rb +++ b/packages/ffmpeg.rb @@ -52,7 +52,6 @@ class Ffmpeg < Package depends_on 'libmodplug' # R depends_on 'libmp3lame' # R depends_on 'libopencoreamr' # R - depends_on 'libopus' # R depends_on 'libraw1394' # R depends_on 'libsdl2' # R depends_on 'libsoxr' # R @@ -72,6 +71,7 @@ class Ffmpeg < Package depends_on 'libxv' # R depends_on 'openal' # ? depends_on 'openjpeg' # R + depends_on 'opus' # R depends_on 'pipewire' # R depends_on 'pulseaudio' # R depends_on 'rav1e' # R diff --git a/packages/freerdp.rb b/packages/freerdp.rb index 18554a17f..22d33d62c 100644 --- a/packages/freerdp.rb +++ b/packages/freerdp.rb @@ -3,63 +3,74 @@ require 'package' class Freerdp < Package description 'FreeRDP is a free implementation of the Remote Desktop Protocol.' homepage 'https://www.freerdp.com/' - version '2.2.0' + version '2.3.2' license 'Apache-2.0' compatibility 'all' - source_url 'https://github.com/FreeRDP/FreeRDP/archive/2.2.0.tar.gz' - source_sha256 '883bc0396c6be9aba6bc07ebc8ff08457125868ada0f06554e62ef072f90cf59' + source_url "https://github.com/FreeRDP/FreeRDP/archive/refs/tags/#{version}.tar.gz" + source_sha256 'a1f52f0d9569b418a555ffe4d15a3782712198be47308e9514d20ca5af41a1b1' - binary_url ({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/freerdp-2.2.0-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/freerdp-2.2.0-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/freerdp-2.2.0-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/freerdp-2.2.0-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/freerdp-2.3.2-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/freerdp-2.3.2-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/freerdp-2.3.2-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/freerdp-2.3.2-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: 'de7c23e9ddeed50896daed5081a2aaf8fb849799faee83155d2a32939abbf6a7', - armv7l: 'de7c23e9ddeed50896daed5081a2aaf8fb849799faee83155d2a32939abbf6a7', - i686: '860fe130e143159c859d7adfe872c305de6a3a17a5d06becbeb86c191ae9320b', - x86_64: 'c10b462dee10090118d9bfd676d591512f90e6e1cbf9a678c7d5869a6bb3adfc', + binary_sha256({ + aarch64: 'dd2db88bb1442ed6d8d37d064ed5701087e339008b91314916b69b0f0f127ca6', + armv7l: 'dd2db88bb1442ed6d8d37d064ed5701087e339008b91314916b69b0f0f127ca6', + i686: 'fd935d4def75b22e6ad98c2435c2ccae461c689be480dfe9b7afd49a6fef3798', + x86_64: '46cf60d78f89cd9adab7d71a8d2d204a0633efef5362eacf8d1085f131bc0eac' }) + depends_on 'cairo' depends_on 'cups' + depends_on 'faac' + depends_on 'faad2' + depends_on 'ffmpeg' + depends_on 'gsm' + depends_on 'gst_plugins_base' + depends_on 'libfdk_aac' + depends_on 'linux_pam' + depends_on 'pulseaudio' + depends_on 'xdg_base' depends_on 'xmlto' depends_on 'xprop' - depends_on 'ffmpeg' - depends_on 'linux_pam' - depends_on 'gst_plugins_base' - depends_on 'xdg_base' + depends_on 'wayland' depends_on 'sommelier' def self.build - FileUtils.mkdir('build') - Dir.chdir('build') do - ENV['GSS_ROOT_FLAVOUR'] = 'MIT' - system 'cmake', - "-DDOCBOOKXSL_DIR=#{CREW_PREFIX}/share/xml/xsl-stylesheets-1.79.2", - "-DCMAKE_INSTALL_PREFIX:PATH=#{CREW_PREFIX}", - '-DBUILD_SHARED_LIBS=ON', - '-DWITH_LIBSYSTEMD=OFF', - '-DWITH_DSP_FFMPEG=yes', - '-DWITH_CHANNELS=ON', - '-DWITH_SERVER=ON', - '-DWITH_CLIENT=ON', - '-DWITH_GSSAPI=ON', - '-GUnix Makefiles', - '-DWITH_PULSE=ON', - '-DWITH_CUPS=ON', - '-DWITH_SOXR=ON', - '-DWITH_LAME=ON', - '-DWITH_JPEG=ON', - '..' - system 'make' + Dir.mkdir 'builddir' + Dir.chdir 'builddir' do + system "env GSS_ROOT_FLAVOUR=MIT \ + cmake \ + -G Ninja \ + #{CREW_CMAKE_OPTIONS} \ + -DDOCBOOKXSL_DIR=#{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-1.79.2 \ + -DWITH_GSM=ON \ + -DWITH_FAAC=ON \ + -DWITH_FAAD2=ON \ + -DWITH_SWSCALE=ON \ + -DWITH_CAIRO=ON \ + -DWITH_LIBSYSTEMD=OFF \ + -DWITH_DSP_FFMPEG=yes \ + -DWITH_CHANNELS=ON \ + -DWITH_SERVER=ON \ + -DWITH_CLIENT=ON \ + -DWITH_GSSAPI=ON \ + -DWITH_PULSE=ON \ + -DWITH_CUPS=ON \ + -DWITH_SOXR=ON \ + -DWITH_LAME=ON \ + -DWITH_JPEG=ON \ + -DWITH_WAYLAND=ON \ + -Wno-dev \ + .." end + system 'ninja -C builddir' end def self.install - Dir.chdir('build') do - system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' - end + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" end def self.postinstall diff --git a/packages/gettext.rb b/packages/gettext.rb index b5f3b9961..0e3ebeff8 100644 --- a/packages/gettext.rb +++ b/packages/gettext.rb @@ -29,7 +29,7 @@ class Gettext < Package raise StandardError, 'Please remove libiconv before building.' if File.exist?("#{CREW_LIB_PREFIX}/libcharset.so") system 'filefix' - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto'\ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} \ --disable-static \ --enable-shared \ diff --git a/packages/gnome_keyring.rb b/packages/gnome_keyring.rb index 4ef2450ba..3f26462f7 100644 --- a/packages/gnome_keyring.rb +++ b/packages/gnome_keyring.rb @@ -34,7 +34,7 @@ class Gnome_keyring < Package depends_on 'openssh' def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} \ --with-pam-dir=#{CREW_PREFIX}/lib/security \ --disable-schemas-compile \ diff --git a/packages/gsound.rb b/packages/gsound.rb index 211466caa..fced47f50 100644 --- a/packages/gsound.rb +++ b/packages/gsound.rb @@ -31,7 +31,7 @@ class Gsound < Package def self.build system './autogen.sh' if File.exist?('autogen.sh') - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" system 'make' end diff --git a/packages/gst_plugins_base.rb b/packages/gst_plugins_base.rb index 34e0bef0c..a131d85cd 100644 --- a/packages/gst_plugins_base.rb +++ b/packages/gst_plugins_base.rb @@ -34,7 +34,6 @@ class Gst_plugins_base < Package depends_on 'libgudev' depends_on 'libjpeg' depends_on 'libogg' - depends_on 'libopus' depends_on 'libpng' depends_on 'libtheora' depends_on 'libvisual' @@ -46,6 +45,7 @@ class Gst_plugins_base < Package depends_on 'libxshmfence' depends_on 'libxv' depends_on 'mesa' + depends_on 'opus' depends_on 'pango' depends_on 'wayland' diff --git a/packages/gtk_vnc.rb b/packages/gtk_vnc.rb index d9a9e2c0b..6bd5830ee 100644 --- a/packages/gtk_vnc.rb +++ b/packages/gtk_vnc.rb @@ -3,41 +3,45 @@ require 'package' class Gtk_vnc < Package description 'VNC viewer widget for GTK' homepage 'https://wiki.gnome.org/Projects/gtk-vnc' - version '1.0.0' + version '1.2.0' license 'LGPL-2.1+' compatibility 'all' - source_url 'https://ftp.gnome.org/pub/GNOME/sources/gtk-vnc/1.0/gtk-vnc-1.0.0.tar.xz' - source_sha256 'a81a1f1a79ad4618027628ffac27d3391524c063d9411c7a36a5ec3380e6c080' + source_url 'https://gitlab.gnome.org/GNOME/gtk-vnc.git' + git_hashtag "v#{version}" - binary_url ({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/gtk_vnc-1.0.0-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/gtk_vnc-1.0.0-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/gtk_vnc-1.0.0-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/gtk_vnc-1.0.0-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/gtk_vnc-1.2.0-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/gtk_vnc-1.2.0-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/gtk_vnc-1.2.0-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/gtk_vnc-1.2.0-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '8026b25e42c51f0a124aff3779b9dbb035b331dd2bb0faa60cf10f54a9e77b38', - armv7l: '8026b25e42c51f0a124aff3779b9dbb035b331dd2bb0faa60cf10f54a9e77b38', - i686: '86b2a47da79c0035ad41efb6ae4a0eb9bee0d931caf54ecbb44dd79183af5ee8', - x86_64: 'efa9ae051e5ef07895101f66f93577fd459609b8eb3fd8bb6bc00ee76fd638d3', + binary_sha256({ + aarch64: '62d85534080b53b4b3e0a20c58979db9e550a035414821d210a45fc8965da0ab', + armv7l: '62d85534080b53b4b3e0a20c58979db9e550a035414821d210a45fc8965da0ab', + i686: '609017642a8be0a5d309b05d07aed5665760eca14af26075c3b719fef3736dc8', + x86_64: '5001d552bfa4155bf2c77a1e1a7ee4714125566db0b9ce1e3e3c5e88ace8057d' }) - depends_on 'pygtk' - depends_on 'libcyrussasl' + depends_on 'cairo' depends_on 'glib' - depends_on 'libgcrypt' depends_on 'gobject_introspection' + depends_on 'gtk3' + depends_on 'libgcrypt' + depends_on 'pulseaudio' - def self.prebuild - system "sed -i '226d' meson.build" + def self.patch + system "sed -i 's,-fstack-protector-strong,-fno-stack-protector,' meson.build" end def self.build - system "meson --prefix=#{CREW_PREFIX} --libdir=#{CREW_LIB_PREFIX} --buildtype=release -Dwith-coroutine=auto _build" - system 'ninja -v -C _build' + system "meson \ + #{CREW_MESON_OPTIONS} \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' end def self.install - system "DESTDIR=#{CREW_DEST_DIR} ninja -C _build install" + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" end end diff --git a/packages/gtkvte.rb b/packages/gtkvte.rb deleted file mode 100644 index 768ef5c42..000000000 --- a/packages/gtkvte.rb +++ /dev/null @@ -1,38 +0,0 @@ -require 'package' - -class Gtkvte < Package - description 'The VTE package contains a termcap file implementation for terminal emulators.' - homepage 'https://github.com/GNOME/vte' - version '0.48.3' # 0.48.3 is the stable version. Version 0.51.x does not work - license 'LGPL-3+ and GPL-3+' - compatibility 'all' - source_url 'https://ftp.gnome.org/pub/gnome/sources/vte/0.48/vte-0.48.3.tar.xz' - source_sha256 'a3a9fb182740b392a45cd3f46fa61a985f68bb6b1817b52daec22034c46158c3' - - binary_url ({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/gtkvte-0.48.3-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/gtkvte-0.48.3-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/gtkvte-0.48.3-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/gtkvte-0.48.3-chromeos-x86_64.tar.xz', - }) - binary_sha256 ({ - aarch64: '93f9d430e87dc5cf21aec88e4b32126ae0e16d272ebb4f220c4da57bd1e5d053', - armv7l: '93f9d430e87dc5cf21aec88e4b32126ae0e16d272ebb4f220c4da57bd1e5d053', - i686: '1a9026f4f4e3049a1b6de9eeed0ed5c67b4a91201074bb469ca09571d282269c', - x86_64: '818b9ff560977cf9f2498c12174040ccb75cc67bbc92de227b1f57dbd0900ec2', - }) - - depends_on 'gtk3' - depends_on 'pcre2' - depends_on 'vala' - depends_on 'six' => :build - - def self.build - system "./configure --prefix=#{CREW_PREFIX} --libdir=#{CREW_LIB_PREFIX}" - system "make" - end - - def self.install - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" - end -end diff --git a/packages/libcacard.rb b/packages/libcacard.rb new file mode 100644 index 000000000..dbb38854d --- /dev/null +++ b/packages/libcacard.rb @@ -0,0 +1,40 @@ +# Adapted from Arch Linux libcacard PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/libcacard/trunk/PKGBUILD + +require 'package' + +class Libcacard < Package + description 'Common Access Card library that provides emulation of smart cards to a virtual card reader running in a guest virtual machine' + homepage 'https://www.spice-space.org/page/Libcacard' + version '2.7.0-2' + license 'GPL2' + compatibility 'all' + source_url 'https://www.spice-space.org/download/libcacard/libcacard-2.7.0.tar.xz' + source_sha256 '16b1a0847d5f9d2290e0785eca40f2e49d1ed80814bfc758c05c76b3c89cdb6f' + + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libcacard-2.7.0-2-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libcacard-2.7.0-2-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/libcacard-2.7.0-2-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/libcacard-2.7.0-2-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'a6a77ce44bca8e06cc0c2cd1b4257cdefdf57921010bd31f2b09b934014190bf', + armv7l: 'a6a77ce44bca8e06cc0c2cd1b4257cdefdf57921010bd31f2b09b934014190bf', + i686: '74dc747f77049f55a1d7cca619c06176d9421cca4e4d2d84ef3eab2a52c22423', + x86_64: '0b40afbc39de9d9ec3e666943363ddae98ab4e16ac9f995a86e9982f76bf063e' + }) + + depends_on 'nss' + + def self.build + system 'filefix' + system "env #{CREW_ENV_OPTIONS} \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/libcanberra.rb b/packages/libcanberra.rb index d01efae44..1bebc1b68 100644 --- a/packages/libcanberra.rb +++ b/packages/libcanberra.rb @@ -95,7 +95,7 @@ class Libcanberra < Package end def self.build - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} \ --enable-alsa \ --enable-null \ diff --git a/packages/libdv.rb b/packages/libdv.rb index 8d9fab92b..57617a967 100644 --- a/packages/libdv.rb +++ b/packages/libdv.rb @@ -26,7 +26,7 @@ class Libdv < Package depends_on 'libxv' def self.build - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" system 'make' end diff --git a/packages/libevent.rb b/packages/libevent.rb index 85e582310..e66bb4006 100644 --- a/packages/libevent.rb +++ b/packages/libevent.rb @@ -26,7 +26,7 @@ class Libevent < Package depends_on 'openssl' def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" system "make" end diff --git a/packages/libgit2.rb b/packages/libgit2.rb index ae4458ec2..81f159b19 100644 --- a/packages/libgit2.rb +++ b/packages/libgit2.rb @@ -29,7 +29,7 @@ class Libgit2 < Package def self.build Dir.mkdir 'builddir' Dir.chdir 'builddir' do - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ cmake \ -G Ninja \ #{CREW_CMAKE_OPTIONS} \ diff --git a/packages/libmms.rb b/packages/libmms.rb index e566c500c..cf9551ebb 100644 --- a/packages/libmms.rb +++ b/packages/libmms.rb @@ -27,7 +27,7 @@ class Libmms < Package end def self.build - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" system 'make' end diff --git a/packages/libopus.rb b/packages/libopus.rb deleted file mode 100644 index cfb3f0a11..000000000 --- a/packages/libopus.rb +++ /dev/null @@ -1,37 +0,0 @@ -require 'package' - -class Libopus < Package - description 'Opus is a totally open, royalty-free, highly versatile audio codec.' - homepage 'http://opus-codec.org/' - version '1.2.1' - license 'BSD' - compatibility 'all' - source_url 'https://archive.mozilla.org/pub/opus/opus-1.2.1.tar.gz' - source_sha256 'cfafd339ccd9c5ef8d6ab15d7e1a412c054bf4cb4ecbbbcc78c12ef2def70732' - - binary_url ({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libopus-1.2.1-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libopus-1.2.1-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/libopus-1.2.1-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/libopus-1.2.1-chromeos-x86_64.tar.xz', - }) - binary_sha256 ({ - aarch64: '7929d1a7b49da919aedd9b3e2fe8cd7a221535d93c35a01dfd561aa449365dbb', - armv7l: '7929d1a7b49da919aedd9b3e2fe8cd7a221535d93c35a01dfd561aa449365dbb', - i686: '75fb863728da71393412626a5944bfac8a716e6d938eb3ee36d3b080318fc577', - x86_64: '317439fc79b79ff47626a5c5da9a7a86c55711960dddc8d8f89f3226b4d6fbbf', - }) - - def self.build - system "./configure \ - --prefix=#{CREW_PREFIX} \ - --libdir=#{CREW_LIB_PREFIX} \ - --enable-shared \ - --enable-static" - system "make" - end - - def self.install - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" - end -end diff --git a/packages/libostree.rb b/packages/libostree.rb index 973cb76f3..fcbcf65cd 100644 --- a/packages/libostree.rb +++ b/packages/libostree.rb @@ -34,7 +34,7 @@ class Libostree < Package def self.build system 'env NOCONFIGURE=1 ./autogen.sh' - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} \ --with-curl \ --without-libsystemd \ diff --git a/packages/libsdl.rb b/packages/libsdl.rb index c62e5e33f..ceb61671f 100644 --- a/packages/libsdl.rb +++ b/packages/libsdl.rb @@ -45,7 +45,7 @@ class Libsdl < Package end def self.build - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure \ #{CREW_OPTIONS}" system 'make' diff --git a/packages/libsdl2.rb b/packages/libsdl2.rb index c3d0b1d23..69b888764 100644 --- a/packages/libsdl2.rb +++ b/packages/libsdl2.rb @@ -29,7 +29,7 @@ class Libsdl2 < Package depends_on 'nasm' => :build def self.build - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure \ #{CREW_OPTIONS}" end diff --git a/packages/libsodium.rb b/packages/libsodium.rb index 69ed3f4f9..dd4d62923 100644 --- a/packages/libsodium.rb +++ b/packages/libsodium.rb @@ -3,35 +3,39 @@ require 'package' class Libsodium < Package description 'A modern, portable, easy to use crypto library' homepage 'https://libsodium.org' - version '1.0.18' + version '1.0.18-7168' license 'ISC' compatibility 'all' - source_url 'https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz' - source_sha256 '6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1' + source_url 'https://github.com/jedisct1/libsodium.git' + git_hashtag '7168944f16e12c1b630e66a7b9be0802d5b564dd' - binary_url ({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libsodium-1.0.18-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libsodium-1.0.18-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/libsodium-1.0.18-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/libsodium-1.0.18-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libsodium-1.0.18-7168-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libsodium-1.0.18-7168-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/libsodium-1.0.18-7168-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/libsodium-1.0.18-7168-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: 'fa8d8b5496d8d1ae4e98a7c8f118898efdcb2c4b92f235ea12f73b12b36ff80e', - armv7l: 'fa8d8b5496d8d1ae4e98a7c8f118898efdcb2c4b92f235ea12f73b12b36ff80e', - i686: '5b2161327ebf6573fc0660bea7ef75702cd593bf3c0da0cab11a007a89567fbb', - x86_64: 'a2dfec82f2c2c4feba5b6c3b64e61977e5f69d4ea2279266443c69ebfcddc3a7', + binary_sha256({ + aarch64: '8cf24abf23f1ec6b19052e29b5cc80db8f2b6917dae193827c99a02349839221', + armv7l: '8cf24abf23f1ec6b19052e29b5cc80db8f2b6917dae193827c99a02349839221', + i686: 'ab1a37ec01e04271deca45cfb8943dc8d379e12c4d154a4d190824e1de6c0daa', + x86_64: 'f5ad9b26a80254a30e8aaced54eeb19e8962980b888df9d904a6377d7dce9cff' }) def self.build - system "./configure", "--prefix=#{CREW_PREFIX}", "--libdir=#{CREW_LIB_PREFIX}" - system "make" + system 'NOCONFIGURE=1 ./autogen.sh' + system "env #{CREW_ENV_OPTIONS} \ + ./configure #{CREW_OPTIONS}" + system 'make' end def self.install - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" + system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' end def self.check - system "make", "check" + Dir.chdir @git_dir do + system 'make', 'check' + end end end diff --git a/packages/libssh2.rb b/packages/libssh2.rb index b865af2c5..327bd1f6d 100644 --- a/packages/libssh2.rb +++ b/packages/libssh2.rb @@ -28,7 +28,7 @@ class Libssh2 < Package end def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure \ #{CREW_OPTIONS} \ --with-libz" diff --git a/packages/libunbound.rb b/packages/libunbound.rb index 2eb5be353..2ff62b83e 100644 --- a/packages/libunbound.rb +++ b/packages/libunbound.rb @@ -24,7 +24,7 @@ class Libunbound < Package }) def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure \ #{CREW_OPTIONS} \ --enable-shared \ diff --git a/packages/libunwind.rb b/packages/libunwind.rb index c1164a660..c8e873d4f 100644 --- a/packages/libunwind.rb +++ b/packages/libunwind.rb @@ -23,7 +23,7 @@ class Libunwind < Package }) def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} --enable-ptrace" system 'make' end diff --git a/packages/libvncserver.rb b/packages/libvncserver.rb index e1adb2f43..cdc4a1e14 100644 --- a/packages/libvncserver.rb +++ b/packages/libvncserver.rb @@ -3,42 +3,42 @@ require 'package' class Libvncserver < Package description 'LibVNCServer/LibVNCClient are cross-platform C libraries that allow you to easily implement VNC server or client functionality in your program.' homepage 'https://github.com/LibVNC/libvncserver' - version '0.9.12' + version '0.9.13' license 'GPL-2, GPL-2+, LGPL-2.1+, BSD and MIT' compatibility 'all' - source_url 'https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.12.tar.gz' - source_sha256 '33cbbb4e15bb390f723c311b323cef4a43bcf781984f92d92adda3243a116136' + source_url "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-#{version}.tar.gz" + source_sha256 '0ae5bb9175dc0a602fe85c1cf591ac47ee5247b87f2bf164c16b05f87cbfa81a' - binary_url ({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libvncserver-0.9.12-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libvncserver-0.9.12-chromeos-armv7l.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/libvncserver-0.9.12-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libvncserver-0.9.13-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/libvncserver-0.9.13-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/libvncserver-0.9.13-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/libvncserver-0.9.13-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '4c2fd37b3d1d6d590a99eb123fb98f8477c8c56a6ff93df9ad438d330a664bb3', - armv7l: '4c2fd37b3d1d6d590a99eb123fb98f8477c8c56a6ff93df9ad438d330a664bb3', - x86_64: '958e6ad5cc6414e78e38677d1e5d245ac55c3d55e6648890ec7b5963e97f349a', + binary_sha256({ + aarch64: 'c84b627885cfc0bbfcbf03741b8c6ec4fdd6d5340bb1079833715c03737e4fc3', + armv7l: 'c84b627885cfc0bbfcbf03741b8c6ec4fdd6d5340bb1079833715c03737e4fc3', + i686: '3e6c5710b2167ebf5ed3eeff7eb1e17cf9ca7f4780ab11430f592325cd4bed6f', + x86_64: '2fbd014d5e4a7da80fd56a101c490a7d7cc417f8569832cfbee09613f1b28ba5' }) depends_on 'ffmpeg' - depends_on 'libjpeg_turbo' + depends_on 'gtk2' + depends_on 'libjpeg' def self.build - Dir.mkdir 'build' - Dir.chdir 'build' do - system 'cmake', - "-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}", - "-DCMAKE_BUILD_TYPE=Release", - "-DWITH_SYSTEMD=OFF", - '..' - system 'cmake --build .' - system "sed -i 's,${CMAKE_INSTALL_PREFIX}/lib,#{CREW_LIB_PREFIX},g' cmake_install.cmake" + Dir.mkdir 'builddir' + Dir.chdir 'builddir' do + system "cmake \ + -G Ninja \ + #{CREW_CMAKE_OPTIONS} \ + -DWITH_SYSTEMD=OFF \ + .." end + system 'ninja -C builddir' end def self.install - Dir.chdir 'build' do - system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' - end + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" end end diff --git a/packages/libzip.rb b/packages/libzip.rb index cfc38aa36..84aa7111f 100644 --- a/packages/libzip.rb +++ b/packages/libzip.rb @@ -27,7 +27,7 @@ class Libzip < Package def self.build Dir.mkdir 'builddir' Dir.chdir 'builddir' do - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ cmake \ -G Ninja \ #{CREW_CMAKE_OPTIONS} \ diff --git a/packages/mjpegtools.rb b/packages/mjpegtools.rb index c027f88a6..487a4c8c9 100644 --- a/packages/mjpegtools.rb +++ b/packages/mjpegtools.rb @@ -34,7 +34,7 @@ class Mjpegtools < Package def self.build system 'ls -aFl' system '[ -x configure ] || ./autogen.sh' - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" system 'make' end diff --git a/packages/moreutils.rb b/packages/moreutils.rb index 2de660ba9..12ddd5c5a 100644 --- a/packages/moreutils.rb +++ b/packages/moreutils.rb @@ -30,7 +30,7 @@ class Moreutils < Package system "sed -i 's,PREFIX?=/usr,PREFIX?=#{CREW_PREFIX},' Makefile" system "sed -i 's,DOCBOOKXSL?=/usr/share/xml/docbook/stylesheet/docbook-xsl,DOCBOOKXSL?=#{CREW_PREFIX}/share/xml/docbook/stylesheet/docbook-xsl,' Makefile" system "sed -i 's,share/man,man,g' Makefile" - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ make" end diff --git a/packages/openldap.rb b/packages/openldap.rb index a7590c88a..8acd18cce 100644 --- a/packages/openldap.rb +++ b/packages/openldap.rb @@ -26,7 +26,7 @@ class Openldap < Package depends_on 'libcyrussasl' def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} --disable-slapd" system 'make' system 'make depend' diff --git a/packages/opus.rb b/packages/opus.rb new file mode 100644 index 000000000..e66f30c2b --- /dev/null +++ b/packages/opus.rb @@ -0,0 +1,40 @@ +# Adapted from Arch Linux opus PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/opus/trunk/PKGBUILD + +require 'package' + +class Opus < Package + description 'Totally open, royalty-free, highly versatile audio codec' + homepage 'http://opus-codec.org/' + version '1.3.1' + license 'BSD' + compatibility 'all' + source_url 'https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz' + source_sha256 '65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d' + + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/opus-1.3.1-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/opus-1.3.1-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/opus-1.3.1-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/opus-1.3.1-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '028315f0009ee463bfd5379778c05ddac694d78aab4ae8bcc712c87292e18788', + armv7l: '028315f0009ee463bfd5379778c05ddac694d78aab4ae8bcc712c87292e18788', + i686: '8e5b85f25823fed5ee6d4f23590931efecb6db3af156ac186a1c04d03e7834d7', + x86_64: '5300c3c8b5e6072025f118fc82d916a786caaf58d00c2651542561fbd86208ae' + }) + + depends_on 'doxygen' => ':build' + + def self.build + system "env #{CREW_ENV_OPTIONS} \ + ./configure #{CREW_OPTIONS} \ + --enable-custom-modes" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/parted.rb b/packages/parted.rb index d442ad0c6..ee4eaeba4 100644 --- a/packages/parted.rb +++ b/packages/parted.rb @@ -28,7 +28,7 @@ class Parted < Package depends_on 'readline' def self.build - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" system "make" end diff --git a/packages/pavucontrol.rb b/packages/pavucontrol.rb index d5db4d7e6..b86c8589a 100644 --- a/packages/pavucontrol.rb +++ b/packages/pavucontrol.rb @@ -32,7 +32,7 @@ class Pavucontrol < Package def self.build system 'NOCONFIGURE=1 ./bootstrap.sh' - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure \ #{CREW_OPTIONS} \ --disable-lynx" diff --git a/packages/pax_utils.rb b/packages/pax_utils.rb index bc2ba4f10..7beb2e2a1 100644 --- a/packages/pax_utils.rb +++ b/packages/pax_utils.rb @@ -28,7 +28,7 @@ class Pax_utils < Package def self.build system "sed -i 's|/usr/bin/env python|/usr/bin/env python3|g' lddtree.py" - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure \ #{CREW_OPTIONS} \ --with-caps \ diff --git a/packages/pipewire.rb b/packages/pipewire.rb index f723fd6e7..ed55a47bc 100644 --- a/packages/pipewire.rb +++ b/packages/pipewire.rb @@ -3,24 +3,24 @@ require 'package' class Pipewire < Package description 'PipeWire is a project that aims to greatly improve handling of audio and video under Linux.' homepage 'https://pipewire.org' - @_ver = '0.3.24' + @_ver = '0.3.25' version @_ver license 'LGPL-2.1+' compatibility 'all' source_url "https://github.com/PipeWire/pipewire/archive/#{@_ver}.tar.gz" - source_sha256 'aeca2b44660c4f36eed29cc9c6ccb093ea2778fd0e4ed7665cdfc40b2a49873f' + source_sha256 'fb6d5a0cbde621659ffd67622f19744dd6c8da8745b060cb1951c3d2045e5166' binary_url({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/pipewire-0.3.24-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/pipewire-0.3.24-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/pipewire-0.3.24-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/pipewire-0.3.24-chromeos-x86_64.tar.xz' + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/pipewire-0.3.25-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/pipewire-0.3.25-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/pipewire-0.3.25-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/pipewire-0.3.25-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: '008b5f294106edf2a3c02e682a127dc2e89e246e697dc73d642f374aeb241c80', - armv7l: '008b5f294106edf2a3c02e682a127dc2e89e246e697dc73d642f374aeb241c80', - i686: '547acc0cc83406d33343111580906e888e665e1343f3a208d1e65990f5f264d7', - x86_64: '01a5b2a919a8e28ab8bd429c95f91a51897c6e04e68821328f8ee56055d75657' + aarch64: '90d11afcba0ffd2ce109f5745e4eab64de5088e66d98c5086392d5455f933e22', + armv7l: '90d11afcba0ffd2ce109f5745e4eab64de5088e66d98c5086392d5455f933e22', + i686: '45cc47b0b504b2ac20718cd3ba6fb754a87465579f756bb091b7b288c606dc8f', + x86_64: '17f59cb128de6a9d580631c21b5b94314abdc653adfb5ff59e7b24d4f406e22b' }) depends_on 'alsa_lib' @@ -35,11 +35,6 @@ class Pipewire < Package depends_on 'libsndfile' depends_on 'vulkan_headers' => :build - def self.patch - # As per https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/833 - system "sed -i 's/ifdef __FreeBSD__/if defined(__FreeBSD__) || defined(__linux__)/g' src/pipewire/impl-core.c" - end - def self.build system "meson \ #{CREW_MESON_OPTIONS} \ diff --git a/packages/qqwing.rb b/packages/qqwing.rb index d6d1b7370..dd50542b0 100644 --- a/packages/qqwing.rb +++ b/packages/qqwing.rb @@ -23,7 +23,7 @@ class Qqwing < Package }) def self.build - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" system 'make' end diff --git a/packages/remmina.rb b/packages/remmina.rb index 6d9e9a1cb..0f0d2a3a3 100644 --- a/packages/remmina.rb +++ b/packages/remmina.rb @@ -3,52 +3,50 @@ require 'package' class Remmina < Package description 'The GTK Remmina Remote Desktop Client' homepage 'https://remmina.org/' - version '1.2.30' + version '1.4.13' license 'GPL-2+-with-openssl-exception' compatibility 'all' - source_url 'https://github.com/FreeRDP/Remmina/archive/v1.2.30.tar.gz' - source_sha256 'cf9528709fe531830f949bc4adcc806b86606942e7ee552fd6177fcd81d4d33f' + source_url "https://gitlab.com/Remmina/Remmina/-/archive/v#{version}/Remmina-v#{version}.tar.bz2" + source_sha256 '24531287b85b2500b172cbe125f829c0dcf008c887ffa5e1b19a29c23d902885' - binary_url ({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/remmina-1.2.30-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/remmina-1.2.30-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/remmina-1.2.30-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/remmina-1.2.30-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/remmina-1.4.13-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/remmina-1.4.13-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/remmina-1.4.13-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/remmina-1.4.13-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '5ad40d6de21df5ae704d03140f9b0e1ff4c1640f843655d640ea974a8834e14a', - armv7l: '5ad40d6de21df5ae704d03140f9b0e1ff4c1640f843655d640ea974a8834e14a', - i686: '645cf56246561bfb177bc8b6b64de3fd8dfa1cbfcb30a4a132b24fff4dd9195e', - x86_64: '1b50f77517a34bfb2964e3183c60d3ac9d97fa628694771536cbeda1e82f7898', + binary_sha256({ + aarch64: 'e42b0d7595f28712a818d3570274dd3070063c37ec6850da22d8e976a7a77f5d', + armv7l: 'e42b0d7595f28712a818d3570274dd3070063c37ec6850da22d8e976a7a77f5d', + i686: '31f3bcec48acb1d5acff7ca15a24b8b933f05d176ab8066794b1ceb9c8409f24', + x86_64: '6028f81de9c1fb93ed41726884305fa31d706a5cc66f1df7cfdf45ed533b176b' }) depends_on 'avahi' depends_on 'freerdp' - depends_on 'gtkvte' depends_on 'libsecret' + depends_on 'libsodium' depends_on 'libsoup' depends_on 'libvncserver' + depends_on 'spice_gtk' + depends_on 'vte' + depends_on 'webkit2gtk_4' depends_on 'sommelier' def self.build - Dir.mkdir 'build' - Dir.chdir 'build' do - system 'cmake', - "-DLIBSSH_THREADS_LIBRARY=#{CREW_PREFIX}/include/libssh", - "-DCMAKE_C_FLAGS='-I#{CREW_PREFIX}/include/harfbuzz'", - "-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}", - "-DCMAKE_INSTALL_LIBDIR=#{ARCH_LIB}", - '-DCMAKE_BUILD_TYPE=Release', - '-DWITH_APPINDICATOR=OFF', - '-DWITH_TELEPATHY=OFF', - '..' - system 'make' + Dir.mkdir 'builddir' + Dir.chdir 'builddir' do + system "cmake \ + -G Ninja \ + #{CREW_CMAKE_OPTIONS} \ + -DWITH_APPINDICATOR=OFF \ + -DWITH_TELEPATHY=OFF \ + .." end + system 'ninja -C builddir' end def self.install - Dir.chdir 'build' do - system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' - end + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" end end diff --git a/packages/spice_gtk.rb b/packages/spice_gtk.rb new file mode 100644 index 000000000..835c47823 --- /dev/null +++ b/packages/spice_gtk.rb @@ -0,0 +1,53 @@ +# Adapted from Arch Linux spice-gtk PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/spice-gtk/trunk/PKGBUILD + +require 'package' + +class Spice_gtk < Package + description 'GTK+ client library for SPICE' + homepage 'https://www.spice-space.org/' + version '0.39' + license 'LGPL2.1' + compatibility 'all' + source_url 'https://www.spice-space.org/download/gtk/spice-gtk-0.39.tar.xz' + source_sha256 '23acbee197eaaec9bce6e6bfd885bd8f79708332639243ff04833020865713cd' + + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/spice_gtk-0.39-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/spice_gtk-0.39-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/spice_gtk-0.39-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/spice_gtk-0.39-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'd26a23484818e6c52a82732768a6835e7327149d0ddfcdbb4822037f9be0eb13', + armv7l: 'd26a23484818e6c52a82732768a6835e7327149d0ddfcdbb4822037f9be0eb13', + i686: '9fb35919890630c353a4aed862a18bea37afbb4d8c81382d2f442790845b3794', + x86_64: '27e17df368702ad0ab6ed295482c2be2c393f7be7998877b0379f85b211f6f37' + }) + + depends_on 'gtk3' + depends_on 'libcacard' + depends_on 'libjpeg' + depends_on 'opus' + depends_on 'usbredir' + depends_on 'gst_plugins_base' + depends_on 'gst_plugins_good' + depends_on 'gobject_introspection' => ':build' + depends_on 'pyparsing' => ':build' + depends_on 'pygments' => ':build' + depends_on 'spice_protocol' => ':build' + depends_on 'usbutils' => ':build' + depends_on 'vala' => ':build' + + def self.build + system "meson \ + #{CREW_MESON_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 diff --git a/packages/spice_protocol.rb b/packages/spice_protocol.rb new file mode 100644 index 000000000..8b72358db --- /dev/null +++ b/packages/spice_protocol.rb @@ -0,0 +1,39 @@ +# Adapted from Arch Linux spice-protocol PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/spice-protocol/trunk/PKGBUILD + +require 'package' + +class Spice_protocol < Package + description 'Headers for SPICE protocol' + homepage 'https://spice-space.org' + version '0.14.3' + license 'BSD LGPL2.1' + compatibility 'all' + source_url 'https://gitlab.freedesktop.org/spice/spice-protocol/-/archive/v0.14.3/spice-protocol-v0.14.3.tar.gz' + source_sha256 '80ae89643e253dc5ddc5b2120cd3cf9d9565d00026ff261dd140d4b8c5deaa64' + + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/spice_protocol-0.14.3-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/spice_protocol-0.14.3-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/spice_protocol-0.14.3-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/spice_protocol-0.14.3-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '7ac004bbebd8ba03ca9ed896d222faed432055b8f168b7274d93dd5036c8f8f3', + armv7l: '7ac004bbebd8ba03ca9ed896d222faed432055b8f168b7274d93dd5036c8f8f3', + i686: '4bba8bef9ea383f9a8175e392dcaa2d650f3e04dcbfe3b82d600b277601c76c4', + x86_64: '512a3071dd74307c7a78b512d75747869373da34e6fabacbc59ff1d33cb66990' + }) + + def self.build + system "meson \ + #{CREW_MESON_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 diff --git a/packages/telepathy_glib.rb b/packages/telepathy_glib.rb index a38f24802..cb3b258ef 100644 --- a/packages/telepathy_glib.rb +++ b/packages/telepathy_glib.rb @@ -29,7 +29,7 @@ class Telepathy_glib < Package depends_on 'gobject_introspection' => :build def self.build - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure \ #{CREW_OPTIONS} \ --libexecdir=#{CREW_LIB_PREFIX}/telepathy \ diff --git a/packages/texlive.rb b/packages/texlive.rb index edc21d4ea..b348a24d1 100644 --- a/packages/texlive.rb +++ b/packages/texlive.rb @@ -3,152 +3,71 @@ require 'package' class Texlive < Package description 'TeX Live is an easy way to get up and running with the TeX document production system.' homepage 'https://www.tug.org/texlive/' - version '20210318' + version '20210413' license 'GPL-2 and GPL-3' compatibility 'all' - source_url 'https://github.com/TeX-Live/texlive-source/archive/refs/tags/svn58528.tar.gz' - source_sha256 '5c2e53d25d2f85d511bb3fa238e2de718ce27e22db83559284570b5c380f4bed' + source_url 'file:///dev/null' + source_sha256 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' binary_url({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/texlive-20210318-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/texlive-20210318-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/texlive-20210318-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/texlive-20210318-chromeos-x86_64.tar.xz' + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/texlive-20210413-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/texlive-20210413-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/texlive-20210413-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/texlive-20210413-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: 'ba9b3c7029ede0a12a692ed79125c15d60a00bd2dd17dccbfad4457ef8b264c6', - armv7l: 'ba9b3c7029ede0a12a692ed79125c15d60a00bd2dd17dccbfad4457ef8b264c6', - i686: '6962944875d9b18fd5f3c491edb25eb0305cce4df6dcd6b7a33dfa30908d06c9', - x86_64: 'd8d856b90d628da1cd5a616241eb09c3f695c35cc169645a8a5d5d89f2e71111' + aarch64: '2fff9cceab61498b89bca9b24f510f7cb51ecdcc84d8f7fc412d410a39a62acc', + armv7l: '2fff9cceab61498b89bca9b24f510f7cb51ecdcc84d8f7fc412d410a39a62acc', + i686: '87d6ddff5e594171fa65a2b7749fcb36551880267bf1fddd92118ae54a749a32', + x86_64: '7b05daa263c6fc3a2cd1e81649b281d12d93bf9eef6c3c53267529a9dc9eec23' }) - depends_on 'freetype' - depends_on 'harfbuzz' - depends_on 'libpng' - depends_on 'cairo' - depends_on 'libpaper' - depends_on 'graphite' - depends_on 'libxmu' - depends_on 'libxaw' - depends_on 'pixman' - depends_on 'poppler' - # depends_on 'lua' - # depends_on 'luajit' - depends_on 'zziplib' - depends_on 'texinfo' => :build - - def self.prebuild - # This is for people building with limited filespace - Dir.chdir 'libs' do - # FileUtils.rm_rf 'cairo' - # FileUtils.rm_rf 'freetype2' - # FileUtils.rm_rf 'gd' - # FileUtils.rm_rf 'gmp' - # FileUtils.rm_rf 'graphite2' - # FileUtils.rm_rf 'harfbuzz' - # FileUtils.rm_rf 'libpaper' - # FileUtils.rm_rf 'libpng' - # FileUtils.rm_rf 'lua53' - # FileUtils.rm_rf 'luajit' - # FileUtils.rm_rf 'mfpr' - # FileUtils.rm_rf 'pixman' - # FileUtils.rm_rf 'poppler' - # FileUtils.rm_rf 'zlib' - # FileUtils.rm_rf 'zziplib' - end - end - def self.build - system 'filefix' - FileUtils.mkdir 'builddir' - Dir.chdir 'builddir' do - system "env CFLAGS='-pipe -fuse-ld=gold' \ - CXXFLAGS='-pipe -fuse-ld=gold' \ - ../configure #{CREW_OPTIONS} \ - --disable-bibtex-x \ - --disable-chktex \ - --disable-cjkutils \ - --disable-detex \ - --disable-dialog \ - --disable-dvi2tty \ - --disable-dvisvgm \ - --disable-largefile \ - --disable-lcdf-typetools \ - --disable-multiplatform \ - --disable-native-texlive-build \ - --disable-pdfopen \ - --disable-ps2pkm \ - --disable-t1utils \ - --disable-tex4htk \ - --disable-ttf2pk2 \ - --disable-vlna \ - --disable-xindy \ - --enable-biber \ - --enable-dvipng \ - --enable-dvipsk \ - --enable-epsfwin \ - --enable-ipc \ - --enable-luatex \ - --enable-mftalkwin \ - --enable-ps2eps \ - --enable-psutils \ - --enable-regiswin \ - --enable-shared \ - --enable-tektronixwin \ - --enable-unitermwin \ - --enable-xetex \ - --with-banner-add='Chromebrew' \ - --with-ln-s \ - --with-ps=gs \ - --with-system-cairo \ - --with-system-freetype2 \ - --with-system-gd \ - --with-system-gmp \ - --with-system-graphite2 \ - --with-system-harfbuzz \ - --with-system-icu \ - --with-system-libpaper \ - --with-system-libpng \ - --with-system-mpfr \ - --with-system-pixman \ - --with-system-poppler \ - --with-system-zlib \ - --with-system-zziplib \ - --with-texinfo \ - --with-x \ - --with-x-dvi-toolkit=motif" - - # Options to add with later packages - # --with-system-kpathsea \ - # --with-system-ptexenc \ - # --with-system-teckit \ - # --with-system-xpdf \ - - # Texlive doesn't support these options (yet) - #--with-system-lua53 \ - #--with-system-luajit \ - system 'make' + system 'curl -#LO ftp://ftp.fu-berlin.de/tex/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz' + system 'curl -#LO ftp://ftp.fu-berlin.de/tex/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz.sha512' + system "cat install-tl-unx.tar.gz.sha512 | xargs | cut -d' ' -f1 > sha512" + sha512 = open('sha512').read.chomp + unless Digest::SHA512.hexdigest(File.read('install-tl-unx.tar.gz')) == sha512 + abort 'Checksum mismatch. :/ Try again.'.lightred end + system 'tar xvf install-tl-unx.tar.gz' + system 'mv install-tl-20*/* .' + system 'rm -rf install-tl-20*/' end def self.install - Dir.chdir 'builddir' do - system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' - end + dir = "#{CREW_DEST_PREFIX}/share/texlive" + system "yes I | TEXLIVE_INSTALL_PREFIX=#{dir} \ + TEXLIVE_INSTALL_TEXMFVAR=#{dir}/local/texmf-var \ + TEXLIVE_INSTALL_TEXMFCONFIG=#{dir}/local/texmf-config \ + TEXLIVE_INSTALL_TEXMFHOME=#{dir}/local \ + ./install-tl --scheme=basic --no-cls" + system "find #{dir} -iname '*.pdf' -delete" # saving some space + system "find #{dir}/20*/texmf-dist/doc -type f -and -not -path '*man*' -delete" + system "find #{dir} -name 'tlmgr' -exec {} init-usertree ';'" + case ARCH + when 'armv7l', 'aaarch64' + @archpath = 'armhf-linux' + when 'i686' + @archpath = 'i386-linux' + when 'x86_64' + @archpath = 'x86_64-linux' + end FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d/" - path = `echo #{CREW_PREFIX}/share/texlive/20*`.chomp - @env = <<~EOF + destpath = `echo #{CREW_DEST_PREFIX}/share/texlive/20*`.chomp + path = destpath.gsub(CREW_DEST_PREFIX.to_s, CREW_PREFIX.to_s) + @texliveenv = <<~TEXLIVEEOF # texlive configuration - export PATH="$PATH:#{path}/bin/#{ARCH}-linux" + export PATH="$PATH:#{path}/bin/#{@archpath}" export MANPATH="$MANPATH:#{path}/bin/texmf-dist/doc/man" - EOF - IO.write("#{CREW_DEST_PREFIX}/etc/env.d/FIXME", @env) + TEXLIVEEOF + IO.write("#{CREW_DEST_PREFIX}/etc/env.d/texlive", @texliveenv) end def self.postinstall puts - puts "\nThis is a very small installation, with only the basic packages. To install more, use `tlmgr install `.".lightblue + puts "\nThis is a very small installation, with only the basic packages. To install more, open a new shell/terminal and use `tlmgr install `.".lightblue puts end end diff --git a/packages/usbredir.rb b/packages/usbredir.rb new file mode 100644 index 000000000..e8e24a408 --- /dev/null +++ b/packages/usbredir.rb @@ -0,0 +1,41 @@ +# Adapted from Arch Linux usbredir PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/usbredir/trunk/PKGBUILD + +require 'package' + +class Usbredir < Package + description 'USB traffic redirection protocol' + homepage 'https://spice-space.org/page/UsbRedir' + version '0.9.0' + license 'GPL2 LGPL2.1' + compatibility 'all' + source_url 'https://spice-space.org/download/usbredir/usbredir-0.9.0.tar.xz' + source_sha256 'a3e167bf42bc7fe02c3c9db27d7767f1b8ce41b99ad14a4b0d0a60abe8bf56a6' + + binary_url({ + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/usbredir-0.9.0-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/usbredir-0.9.0-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/usbredir-0.9.0-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/usbredir-0.9.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'f21a861ddc071fe6979a0d3d2241447b763e23a437c432b6b41c9e74ee0d2848', + armv7l: 'f21a861ddc071fe6979a0d3d2241447b763e23a437c432b6b41c9e74ee0d2848', + i686: 'ac66c1bf406fcfb0daf14133290b171598eed9100c457fa882f0cbdcc87d3860', + x86_64: '22a25352e6f452b061ed4350d72d06997c8032ce18f1976e8d21fab7e211d609' + }) + + depends_on 'libusb' + + def self.build + system 'autoreconf -fi' + system "env #{CREW_ENV_OPTIONS} \ + ./configure #{CREW_OPTIONS} \ + --sbindir=#{CREW_PREFIX}/bin" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR}/ install" + end +end diff --git a/packages/usbutils.rb b/packages/usbutils.rb index 0300ad7e4..dbab975a9 100644 --- a/packages/usbutils.rb +++ b/packages/usbutils.rb @@ -17,27 +17,30 @@ class Usbutils < Package x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/usbutils-013-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: '07502628efc250a37a113baaf9d24c23f524ee3f7a9a5f5693a4454f3259d4e5', - armv7l: '07502628efc250a37a113baaf9d24c23f524ee3f7a9a5f5693a4454f3259d4e5', - i686: 'ea0051d91206aab125e7cdd7c142123fdd0b43c06f9438dc10023060f8463ad4', - x86_64: '09ebfe03787624a97ccf79e1e746ad3177b4ca4d991fa8ed2aa5de8227349d76' + aarch64: '031de655991e234e4978f63306510504229fa7b84f8f98959a1afcf054db0e1f', + armv7l: '031de655991e234e4978f63306510504229fa7b84f8f98959a1afcf054db0e1f', + i686: 'e86afc7fc87f4740645765229229e27a38b8a5179e0aa779e07822e1cd6e16c1', + x86_64: 'dd7055b6ed55339a9774b104af3166da897a0415c9b206f48a853f62a9212c3f' }) depends_on 'libusb' def self.build - system './autogen.sh' - system "env CFLAGS='-flto=auto -ltinfo' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto' \ + system 'NOCONFIGURE=1 ./autogen.sh' + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS}" + system 'make' end def self.install system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' + FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/hwdata" + FileUtils.touch "#{CREW_DEST_PREFIX}/share/hwdata/usb.ids" end def self.postinstall FileUtils.mkdir_p "#{CREW_PREFIX}/share/hwdata/" unless Dir.exist? "#{CREW_PREFIX}/share/hwdata/" - system "curl -#LO http://www.linux-usb.org/usb.ids -O #{CREW_PREFIX}/share/hwdata/usb.ids" + system "curl -#LO http://www.linux-usb.org/usb.ids -o #{CREW_PREFIX}/share/hwdata/usb.ids" puts "It's recommended that you setup a cron job to update this file regularly.".lightblue puts 'You can install a cron package by executing `crew install cronie`'.lightblue puts diff --git a/packages/vulkan_icd_loader.rb b/packages/vulkan_icd_loader.rb index 1b0acfa7b..ba020b5ae 100644 --- a/packages/vulkan_icd_loader.rb +++ b/packages/vulkan_icd_loader.rb @@ -34,7 +34,7 @@ class Vulkan_icd_loader < Package def self.build Dir.mkdir 'builddir' Dir.chdir 'builddir' do - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ cmake -G Ninja \ #{CREW_CMAKE_OPTIONS} \ -DVULKAN_HEADERS_INSTALL_DIR=#{CREW_PREFIX} \ diff --git a/packages/webkit2gtk_4.rb b/packages/webkit2gtk_4.rb index 906449668..ece73d0ce 100644 --- a/packages/webkit2gtk_4.rb +++ b/packages/webkit2gtk_4.rb @@ -65,7 +65,7 @@ class Webkit2gtk_4 < Package Dir.mkdir 'builddir4' Dir.chdir 'builddir4' do # -flto breaks x86_64 builds - # system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + # system "env #{CREW_ENV_OPTIONS} \ # Bubblewrap sandbox breaks on epiphany with # bwrap: Can't make symlink at /var/run: File exists system "cmake \ diff --git a/packages/webkit2gtk_5.rb b/packages/webkit2gtk_5.rb index 10909f5b0..dd5155a86 100644 --- a/packages/webkit2gtk_5.rb +++ b/packages/webkit2gtk_5.rb @@ -66,7 +66,7 @@ class Webkit2gtk_5 < Package Dir.mkdir 'builddir5' Dir.chdir 'builddir5' do # -flto breaks x86_64 builds - # system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + # system "env #{CREW_ENV_OPTIONS} \ # Bubblewrap sandbox breaks on epiphany with # bwrap: Can't make symlink at /var/run: File exists system "cmake \ diff --git a/packages/xfce4_terminal.rb b/packages/xfce4_terminal.rb index 7d9243a73..0149943dd 100644 --- a/packages/xfce4_terminal.rb +++ b/packages/xfce4_terminal.rb @@ -23,7 +23,7 @@ class Xfce4_terminal < Package }) depends_on 'desktop_file_utilities' - depends_on 'gtkvte' + depends_on 'vte' depends_on 'exo' => :build depends_on 'hicolor_icon_theme' depends_on 'libxfce4ui' diff --git a/packages/xorg_server.rb b/packages/xorg_server.rb index d7eba46f0..3880c568b 100644 --- a/packages/xorg_server.rb +++ b/packages/xorg_server.rb @@ -3,24 +3,24 @@ require 'package' class Xorg_server < Package description 'The Xorg Server is the core of the X Window system.' homepage 'https://www.x.org' - @_ver = '1.20.10' - version "#{@_ver}-1" + @_ver = '1.20.11' + version @_ver license 'BSD-3, MIT, BSD-4, MIT-with-advertising, ISC and custom' compatibility 'all' - source_url "https://github.com/freedesktop/xorg-xserver/archive/xorg-server-#{@_ver}.tar.gz" - source_sha256 '499d2b79fdf78e2e06b0c17a4d735fe25ba9d44f689e06a7e82612c35083c4ad' + source_url "https://gitlab.freedesktop.org/xorg/xserver/-/archive/xorg-server-#{@_ver}/xserver-xorg-server-#{@_ver}.tar.bz2" + source_sha256 'c03ef3c2dc44e75bf8caf942135a5aba3638822edb835bd05d2eaf428531a6a2' binary_url({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/xorg_server-1.20.10-1-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/xorg_server-1.20.10-1-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/xorg_server-1.20.10-1-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/xorg_server-1.20.10-1-chromeos-x86_64.tar.xz' + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/xorg_server-1.20.11-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/xorg_server-1.20.11-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/xorg_server-1.20.11-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/xorg_server-1.20.11-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: '0ce4d77d557a5cc438e7257c157584eb8d2e62f88a250e3f0abd1d35e5f76154', - armv7l: '0ce4d77d557a5cc438e7257c157584eb8d2e62f88a250e3f0abd1d35e5f76154', - i686: '1886cb710830cb55660b407c9bcc31b8a1ca85dad3115778ea561fd46b673f19', - x86_64: '5cc436f10f8c8219284b629597f912d08ebeb1a221ebb16dbe97902a4045f706' + aarch64: '27cb4df4959f2d8e4d379d66daead6fb286bafada5f493d0049fb28227160493', + armv7l: '27cb4df4959f2d8e4d379d66daead6fb286bafada5f493d0049fb28227160493', + i686: 'f5285506842220eb0690b88a6be7dc921d6be4e51b7db5e25c5d65f75cd1f173', + x86_64: '732dd1586499edd926531f56e83f1bf38bdc743203a0041ff2fb1b78e3b2738c' }) depends_on 'libepoxy' @@ -69,7 +69,7 @@ class Xorg_server < Package -Dxcsecurity=true \ -Dxorg=true \ -Dxephyr=true \ - -Dxwayland=true \ + -Dxwayland=false \ -Dglamor=true \ -Dudev=true \ -Dxwin=false \ @@ -79,30 +79,14 @@ class Xorg_server < Package build" system 'meson configure build' system 'ninja -C build' - system "cat <<'EOF'> Xwayland_sh -#!/bin/bash -if base=$(readlink \"$0\" 2>/dev/null); then - case $base in - /*) base=$(readlink -f \"$0\" 2>/dev/null);; # if $0 is abspath symlink, make symlink fully resolved. - *) base=$(dirname \"$0\")/\"${base}\";; - esac -else - case $0 in - /*) base=$0;; - *) base=${PWD:-`pwd`}/$0;; - esac -fi -basedir=${base%/*} -# TODO(crbug/1003841): Remove LD_ARGV0 once -# ld.so supports forwarding the binary name. -LD_ARGV0=\"$0\" LD_ARGV0_REL=\"../bin/Xwayland.sh\" exec \"${basedir}/..#{@peer_cmd_prefix}\" --library-path \"${basedir}/../#{ARCH_LIB}\" --inhibit-rpath '' \"${base}.elf\" \"$@\" -EOF" end def self.install system "DESTDIR=#{CREW_DEST_DIR} ninja -C build install" - FileUtils.mv "#{CREW_DEST_PREFIX}/bin/Xwayland", "#{CREW_DEST_PREFIX}/bin/Xwayland.elf" - system "install -Dm755 Xwayland_sh #{CREW_DEST_PREFIX}/bin/Xwayland" - FileUtils.ln_sf "#{CREW_PREFIX}/bin/Xwayland", "#{CREW_DEST_PREFIX}/bin/X" + # Get these from xwayland package + @deletefiles = %W[#{CREW_DEST_PREFIX}/bin/Xwayland #{CREW_DEST_LIB_PREFIX}/xorg/protocol.txt] + @deletefiles.each do |f| + FileUtils.rm f if File.exist?(f) + end end end diff --git a/packages/xwayland.rb b/packages/xwayland.rb index 8882cf53f..7bb991a10 100644 --- a/packages/xwayland.rb +++ b/packages/xwayland.rb @@ -3,24 +3,24 @@ require 'package' class Xwayland < Package description 'X server configured to work with weston or sommelier' homepage 'https://x.org' - @_ver = '21.1.0' + @_ver = '21.1.1' version @_ver license 'MIT-with-advertising, ISC, BSD-3, BSD and custom' compatibility 'all' source_url "https://xorg.freedesktop.org/archive/individual/xserver/xwayland-#{@_ver}.tar.xz" - source_sha256 '8a71c3e8b95c43bb91bc3d7a4ff9075456a0cfe297721dbc8d4a76cf241d82fb' + source_sha256 '31f261ce51bbee76a6ca3ec02aa367ffa2b5efa2b98412df57ccefd7a19003ce' binary_url({ - aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/xwayland-21.1.0-chromeos-armv7l.tar.xz', - armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/xwayland-21.1.0-chromeos-armv7l.tar.xz', - i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/xwayland-21.1.0-chromeos-i686.tar.xz', - x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/xwayland-21.1.0-chromeos-x86_64.tar.xz' + aarch64: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/xwayland-21.1.1-chromeos-armv7l.tar.xz', + armv7l: 'https://downloads.sourceforge.net/project/chromebrew/armv7l/xwayland-21.1.1-chromeos-armv7l.tar.xz', + i686: 'https://downloads.sourceforge.net/project/chromebrew/i686/xwayland-21.1.1-chromeos-i686.tar.xz', + x86_64: 'https://downloads.sourceforge.net/project/chromebrew/x86_64/xwayland-21.1.1-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: 'c6951e26f866c161171598257d8f56ee94ca180d2d3dfb45d92871be230050eb', - armv7l: 'c6951e26f866c161171598257d8f56ee94ca180d2d3dfb45d92871be230050eb', - i686: 'aec35c04079a6187f9e637d09715bbea03343dded024672693cf6f49c21bd180', - x86_64: '584edc98ad46aa38da43d5174d533e4407b68f5f8fe7608a98bbcba72912c3e4' + aarch64: 'd8e3068e17a3870691209f2a72babe5b1e0e777851a39656dda132715227e81a', + armv7l: 'd8e3068e17a3870691209f2a72babe5b1e0e777851a39656dda132715227e81a', + i686: 'f49397108ca18335ee323d4f71a32d1041eb9747742185b361f1fbe7e9336b90', + x86_64: '7c7f7d84957e4ab595458e5add13586bab6c45cb8edde948a9750aa02944f105' }) depends_on 'dbus' @@ -87,6 +87,10 @@ EOF" system "DESTDIR=#{CREW_DEST_DIR} ninja -C build install" FileUtils.mv "#{CREW_DEST_PREFIX}/bin/Xwayland", "#{CREW_DEST_PREFIX}/bin/Xwayland.elf" system "install -Dm755 Xwayland_sh #{CREW_DEST_PREFIX}/bin/Xwayland" - FileUtils.ln_sf "#{CREW_PREFIX}/bin/Xwayland", "#{CREW_DEST_PREFIX}/bin/X" + # Get these from xorg_server package + @deletefiles = %W[#{CREW_DEST_PREFIX}/bin/X #{CREW_DEST_MAN_PREFIX}/man1/Xserver.1] + @deletefiles.each do |f| + FileUtils.rm f if File.exist?(f) + end end end diff --git a/packages/yelp.rb b/packages/yelp.rb index 7157e3919..71236d2d7 100644 --- a/packages/yelp.rb +++ b/packages/yelp.rb @@ -41,7 +41,7 @@ class Yelp < Package def self.build system '[ -x configure ] || NOCONFIGURE=1 ./autogen.sh' - system "env CFLAGS='-pipe -flto=auto' CXXFLAGS='-pipe -flto=auto' LDFLAGS='-flto=auto' \ + system "env #{CREW_ENV_OPTIONS} \ ./configure #{CREW_OPTIONS} \ --enable-compile-warnings=minimum \ --enable-debug=no \ diff --git a/packages/zziplib.rb b/packages/zziplib.rb index fb64fc3f2..58a76ef7b 100644 --- a/packages/zziplib.rb +++ b/packages/zziplib.rb @@ -28,7 +28,7 @@ class Zziplib < Package def self.build FileUtils.mkdir 'builddir' Dir.chdir 'builddir' do - system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' LDFLAGS='-flto=auto'\ + system "env #{CREW_ENV_OPTIONS} \ cmake -G Ninja #{CREW_CMAKE_OPTIONS} \ -DCP=/bin/cp \ -DGZIP=/bin/gzip \