Files
chromebrew/packages/wxwidgets.rb
Maximilian Downey Twiss f8f2128c2d Rename zlibpkg to zlib (#9859)
2024-07-26 00:23:05 -05:00

104 lines
3.0 KiB
Ruby

require 'package'
class Wxwidgets < Package
description 'wxWidgets is a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base.'
homepage 'https://www.wxwidgets.org/'
@_ver = '3.2.3-rc1'
version @_ver.to_s
license 'GPL-2'
compatibility 'x86_64 aarch64 armv7l'
source_url 'https://github.com/wxWidgets/wxWidgets.git'
git_hashtag "v#{@_ver}"
binary_compression 'tar.zst'
binary_sha256({
aarch64: '8968dafc0c235cdf0bc0bb56d3a4f0e28f60bbf5b3f5f1de4e60c1bc3059c235',
armv7l: '8968dafc0c235cdf0bc0bb56d3a4f0e28f60bbf5b3f5f1de4e60c1bc3059c235',
x86_64: '64330626a415de673b6f71627d1d3d4250ddac9850d16a812b0d18fa999d4c2f'
})
depends_on 'at_spi2_core' # R
depends_on 'cairo' # R
depends_on 'curl' # R
depends_on 'enchant' # R
depends_on 'expat' # R
depends_on 'fontconfig'
depends_on 'freetype' # R
depends_on 'gcc_lib' # R
depends_on 'gdk_pixbuf' # R
depends_on 'glibc' # R
depends_on 'glib' # R
depends_on 'gspell' # R
depends_on 'gstreamer' # R
depends_on 'gtk3' # R
depends_on 'harfbuzz' # R
depends_on 'jbigkit' # R
depends_on 'libglu' # R
depends_on 'libglvnd' # R
depends_on 'libice' # R
depends_on 'libjpeg_turbo' # R
depends_on 'libnotify' # R
depends_on 'libpng' # R
depends_on 'libsdl2' # R
depends_on 'libsdl' => :build
depends_on 'libsecret' # R
depends_on 'libsm' # R
depends_on 'libsoup2' # R
depends_on 'libsoup' # R
depends_on 'libtiff' # R
depends_on 'libx11' # R
depends_on 'libxext' # R
depends_on 'libxkbcommon' # R
depends_on 'libxtst' # R
depends_on 'libxxf86vm' # R
depends_on 'mesa' # R
depends_on 'pango' # R
depends_on 'pcre2' # R
depends_on 'wayland' # R
depends_on 'webkit2gtk_4_1' # R
depends_on 'zlib' # R
def self.preflight
%w[wxwidgets30 wxwidgets31].each do |wxw|
next unless File.exist? "#{CREW_PREFIX}/etc/crew/meta/#{wxw}.filelist"
puts "#{wxw} installed and conflicts with this version.".orange
puts 'To install this version, execute the following:'.lightblue
abort "crew remove #{wxw} && crew install wxwidgets".lightblue
end
end
def self.build
system "./configure #{CREW_OPTIONS} \
--with-gtk=3 \
--with-opengl \
--enable-unicode \
--enable-graphics_ctx \
--enable-mediactrl \
--enable-webview \
--with-regex=builtin \
--with-libpng=builtin \
--with-libjpeg=sys \
--with-libtiff=sys \
--without-gnomevfs \
--disable-precomp-headers"
@counter = 1
@counter_max = 20
loop do
break if Kernel.system "make -j #{CREW_NPROC}"
puts "Make iteration #{@counter} of #{@counter_max}...".orange
@counter += 1
break if @counter > @counter_max
end
end
def self.install
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
Dir.chdir "#{CREW_DEST_PREFIX}/bin" do
FileUtils.ln_sf "#{CREW_LIB_PREFIX}/wx/config/gtk3-unicode-3.2", 'wx-config'
end
end
end