diff --git a/packages/ffmpeg.rb b/packages/ffmpeg.rb index 54cd0c778..cd6ed3a4c 100644 --- a/packages/ffmpeg.rb +++ b/packages/ffmpeg.rb @@ -3,24 +3,24 @@ require 'package' class Ffmpeg < Package description 'Complete solution to record, convert and stream audio and video' homepage 'https://ffmpeg.org/' - @_ver = '5.1.2' + @_ver = '5.1.2-a6e2605' version @_ver license 'LGPL-2,1, GPL-2, GPL-3, and LGPL-3' # When changing ffmpeg's configure options, make sure this variable is still accurate. compatibility 'all' source_url 'https://git.ffmpeg.org/ffmpeg.git' - git_hashtag "n#{@_ver}" + git_hashtag 'a6e26053c21362bb882932f3cfd1f1dfa2551f1d' binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.1.2_armv7l/ffmpeg-5.1.2-chromeos-armv7l.tar.zst', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.1.2_armv7l/ffmpeg-5.1.2-chromeos-armv7l.tar.zst', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.1.2_i686/ffmpeg-5.1.2-chromeos-i686.tar.zst', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.1.2_x86_64/ffmpeg-5.1.2-chromeos-x86_64.tar.zst' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.1.2-a6e2605_armv7l/ffmpeg-5.1.2-a6e2605-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.1.2-a6e2605_armv7l/ffmpeg-5.1.2-a6e2605-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.1.2-a6e2605_i686/ffmpeg-5.1.2-a6e2605-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/ffmpeg/5.1.2-a6e2605_x86_64/ffmpeg-5.1.2-a6e2605-chromeos-x86_64.tar.zst' }) binary_sha256({ - aarch64: '16b08e1560d9faf95601b2b8d73031b1a02316b45c142717ae55dc382c95adc9', - armv7l: '16b08e1560d9faf95601b2b8d73031b1a02316b45c142717ae55dc382c95adc9', - i686: '0e14b4810a2e4b46ee066ec90d8f6a89131fad4cd2440e3629d23beb0a1d118a', - x86_64: '542015ac2020bf52e633b5abbb90c4c6af73bc8c73f41fd3ad83ff1adde70d0d' + aarch64: '943d4c7d51e5cf8e93ba1a17c5e7ab8809bc14937e6902b9813f19f9111eb1e1', + armv7l: '943d4c7d51e5cf8e93ba1a17c5e7ab8809bc14937e6902b9813f19f9111eb1e1', + i686: '772400a972aba55c397d1b3d31eb22177591ed511b6b84fe6ab8cc8b03da8d3e', + x86_64: '078cad1e60401f681af51926fff6b358da907ccc4aaf13750dd7732d792a243d' }) depends_on 'avisynthplus' # ? @@ -28,7 +28,7 @@ class Ffmpeg < Package depends_on 'ladspa' # ? depends_on 'wavpack' # ? depends_on 'zvbi' # ? - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'harfbuzz' depends_on 'libdc1394' => :build depends_on 'libfdk_aac' => :build @@ -103,6 +103,15 @@ class Ffmpeg < Package depends_on 'rtmpdump' # R depends_on 'xzutils' # R depends_on 'zlibpkg' # R + depends_on 'libglvnd' # R + no_env_options if %w[aarch64 armv7l].include? ARCH + + def self.patch + # Needed for qtwebengine compatibility. + downloader 'https://github.com/archlinux/svntogit-packages/raw/packages/ffmpeg/trunk/add-av_stream_get_first_dts-for-chromium.patch', + '57e26caced5a1382cb639235f9555fc50e45e7bf8333f7c9ae3d49b3241d3f77' + system 'patch -Np1 -i add-av_stream_get_first_dts-for-chromium.patch' + end def self.build case ARCH @@ -110,21 +119,24 @@ class Ffmpeg < Package @mfx = '--enable-libmfx' @lto = '' @enablelto = '' + @arch_cflags = '' when 'x86_64' @mfx = '--enable-libmfx' @lto = '-flto' @enablelto = '--enable-lto' + @arch_cflags = '' when 'aarch64', 'armv7l' @mfx = '' @lto = '-flto' @enablelto = '--enable-lto' + @arch_cflags = '-mfloat-abi=hard -mthumb -mfpu=neon -march=armv7-a+fp' end # ChromeOS awk employs sandbox redirection protections which screw # up configure script generation, so use mawk. system "sed -i 's/awk/mawk/g' configure" - system "CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=#{CREW_LINKER}' \ - CXXFLAGS='-pipe -U_FORTIFY_SOURCE #{@lto} -fuse-ld=#{CREW_LINKER}' \ + system "CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=#{CREW_LINKER} #{@arch_cflags}' \ + CXXFLAGS='-pipe -U_FORTIFY_SOURCE #{@lto} -fuse-ld=#{CREW_LINKER} #{@arch_cflags}' \ LDFLAGS='-U_FORTIFY_SOURCE #{@lto}' \ ./configure \ --arch=#{ARCH} \ @@ -192,9 +204,9 @@ class Ffmpeg < Package --enable-shared \ --enable-version3 \ #{@mfx} \ - --host-cflags='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=#{CREW_LINKER}' \ - --host-ldflags='-fno-stack-protector -U_FORTIFY_SOURCE #{@lto}' \ - #{CREW_OPTIONS.sub(/--build=.*/, '')}" + --host-cflags='-pipe -fno-stack-protector -U_FORTIFY_SOURCE #{@lto} -fuse-ld=#{CREW_LINKER} #{@arch_cflags}' \ + --host-ldflags='-fno-stack-protector -U_FORTIFY_SOURCE #{@lto} #{@arch_cflags}' \ + #{CREW_OPTIONS.sub(/--build=.*/, '').gsub('vfpv3-d16', 'neon')}" system "env PATH=#{CREW_LIB_PREFIX}/ccache/bin:#{CREW_PREFIX}/bin:/usr/bin:/bin \ make -j#{CREW_NPROC}" diff --git a/packages/gcc.rb b/packages/gcc.rb index 192a5c4fd..ffb0f3aa2 100644 --- a/packages/gcc.rb +++ b/packages/gcc.rb @@ -23,7 +23,7 @@ class Gcc < Package }) depends_on 'binutils' => :build - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'dejagnu' => :build # for test depends_on 'glibc' # R depends_on 'gmp' # R diff --git a/packages/jellyfin_media_player.rb b/packages/jellyfin_media_player.rb new file mode 100644 index 000000000..1aa2e5628 --- /dev/null +++ b/packages/jellyfin_media_player.rb @@ -0,0 +1,75 @@ +# Adapted from Arch Linux jellyfin-media-player PKGBUILD at: +# https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=jellyfin-media-player + +require 'package' + +class Jellyfin_media_player < Package + description 'Jellyfin Desktop Client' + homepage 'https://github.com/jellyfin/jellyfin-media-player' + version '1.7.1' + license 'GPL' + compatibility 'all' + source_url 'https://github.com/jellyfin/jellyfin-media-player/archive/refs/tags/v1.7.1.tar.gz' + source_sha256 '5139cf7128673c053fcc5db7158ee696ccfd7623e133a21c9a2377b66a37efb3' + + binary_url({ + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/jellyfin_media_player/1.7.1_x86_64/jellyfin_media_player-1.7.1-chromeos-x86_64.tar.zst' + }) + binary_sha256({ + x86_64: '065fe6baa1172b33554a73a50ab62d2a4c8f5885a56486a7329333307673be34' + }) + + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'libcec' unless ARCH == 'i686' + depends_on 'libglvnd' # R + depends_on 'libice' # R + depends_on 'libsdl2' # R + depends_on 'libsm' # R + depends_on 'libx11' # R + depends_on 'libxext' # R + depends_on 'libxrandr' # R + depends_on 'mpv' # R + depends_on 'p8_platform' unless ARCH == 'i686' + depends_on 'protobuf' => :build + depends_on 'qtbase' # R + depends_on 'qtdeclarative' # R + depends_on 'qtlocation' # R + depends_on 'qtquickcontrols' + depends_on 'qtwayland' # R + depends_on 'qtwebchannel' # R + depends_on 'qtwebengine' # R + depends_on 'qtx11extras' # R + depends_on 'sommelier' # L + + def self.build + system './download_webclient.sh' + FileUtils.mkdir_p 'build' + Dir.chdir 'build' do + system "cmake -G Ninja \ + #{CREW_CMAKE_OPTIONS} \ + -DLINUX_X11POWER=ON \ + -DQTROOT=./qt \ + -DCMAKE_SKIP_RPATH=1 \ + -Wno-dev \ + .." + end + system 'ninja -C build' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C build install" + FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d" + File.write "#{CREW_DEST_PREFIX}/etc/env.d/10-jellyfinmediaplayer", <<~'JELLYFIN_ENVD_EOF' + # QT_QPA_PLATFORM=wayland is unaccelerated and unusable. + alias jellyfinmediaplayer="QT_QPA_PLATFORM=eglfs jellyfinmediaplayer" + JELLYFIN_ENVD_EOF + end + + def self.postinstall + puts + puts 'Please run the following to finish the install:'.orange + puts "source #{CREW_PREFIX}/etc/env.d/10-jellyfinmediaplayer".lightblue + puts + end +end diff --git a/packages/krb5.rb b/packages/krb5.rb index ac5c1fad6..7b6917a34 100644 --- a/packages/krb5.rb +++ b/packages/krb5.rb @@ -22,7 +22,7 @@ class Krb5 < Package x86_64: 'dde095df31c2a2b8925d0d9323a9e447b07238cec09ae0e5a43191d0a7b2c94d' }) - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'e2fsprogs' # R depends_on 'glibc' # R depends_on 'openssl' # R diff --git a/packages/libcec.rb b/packages/libcec.rb new file mode 100644 index 000000000..452e79d29 --- /dev/null +++ b/packages/libcec.rb @@ -0,0 +1,58 @@ +# Adapted from Arch Linux libcec PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/libcec/trunk/PKGBUILD + +require 'package' + +class Libcec < Package + description 'Pulse-Eights libcec for the Pulse-Eight USB-CEC adapter' + homepage 'http://libcec.pulse-eight.com/' + version '6.0.2' + license 'GPL' + compatibility 'aarch64 armv7l x86_64' # Not kernel compatible w/ i686 kernel. + source_url 'https://github.com/Pulse-Eight/libcec/archive/libcec-6.0.2.tar.gz' + source_sha256 '090696d7a4fb772d7acebbb06f91ab92e025531c7c91824046b9e4e71ecb3377' + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libcec/6.0.2_armv7l/libcec-6.0.2-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libcec/6.0.2_armv7l/libcec-6.0.2-chromeos-armv7l.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libcec/6.0.2_x86_64/libcec-6.0.2-chromeos-x86_64.tar.zst' + }) + binary_sha256({ + aarch64: '7151a17a85563aeec9a5a9eb936db42281f84f2a9cc7bd1b9a9d9c5f18729b81', + armv7l: '7151a17a85563aeec9a5a9eb936db42281f84f2a9cc7bd1b9a9d9c5f18729b81', + x86_64: 'f931339f4bcc45d68c61ea07a3f51040a803cce535f70498159b7c60fc856dd2' + }) + + depends_on 'eudev' # R + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'libx11' # R + depends_on 'libxrandr' # R + depends_on 'p8_platform' # R + depends_on 'python3' # R + depends_on 'swig' => :build + depends_on 'ncurses' # R + + def self.patch + system "sed -i 's,,,' src/cec-client/curses/CursesControl.cpp" + end + + def self.build + FileUtils.mkdir_p 'builddir' + Dir.chdir 'builddir' do + system "cmake -G Ninja \ + #{CREW_CMAKE_OPTIONS} \ + -DCMAKE_INSTALL_LIBDIR=#{CREW_LIB_PREFIX} \ + -DCMAKE_INSTALL_LIBDIR_NOARCH=#{CREW_LIB_PREFIX} \ + -DBUILD_SHARED_LIBS=1 \ + -DHAVE_LINUX_API=1 \ + -Wno-dev \ + .." + end + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/libexiv2.rb b/packages/libexiv2.rb index 1e47abddb..767579400 100644 --- a/packages/libexiv2.rb +++ b/packages/libexiv2.rb @@ -24,7 +24,7 @@ class Libexiv2 < Package }) depends_on 'libssh' - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'expat' # R depends_on 'gcc' # R depends_on 'glibc' # R diff --git a/packages/libssp.rb b/packages/libssp.rb index 2eb214fbf..da10463db 100644 --- a/packages/libssp.rb +++ b/packages/libssp.rb @@ -22,7 +22,7 @@ class Libssp < Package x86_64: 'f9889ae9a6f85730a203793f891c7152cf6e548d0fd012929bd719230157ee97' }) - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'dejagnu' => :build # for test depends_on 'glibc' # R diff --git a/packages/libvpx.rb b/packages/libvpx.rb index 1545a629a..c7fe87770 100644 --- a/packages/libvpx.rb +++ b/packages/libvpx.rb @@ -24,7 +24,7 @@ class Libvpx < Package }) depends_on 'yasm' => :build - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'libyuv' def self.build diff --git a/packages/libwmf.rb b/packages/libwmf.rb index 53098528f..00d905c84 100644 --- a/packages/libwmf.rb +++ b/packages/libwmf.rb @@ -26,7 +26,7 @@ class Libwmf < Package depends_on 'gtk2' depends_on 'libgd' depends_on 'libjpeg' - depends_on 'xorg_server' => :build + depends_on 'xwayland' => :build depends_on 'gdk_pixbuf' depends_on 'expat' # R depends_on 'glib' # R diff --git a/packages/llvm.rb b/packages/llvm.rb index 990d6b7bc..b05b6ad14 100644 --- a/packages/llvm.rb +++ b/packages/llvm.rb @@ -23,7 +23,7 @@ class Llvm < Package x86_64: 'e70d89a80486f4afa911df7624510f465a75658b40df8db21a0ef41770fdc83a' }) - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'elfutils' # R depends_on 'gcc' # R depends_on 'glibc' # R diff --git a/packages/llvm_stage1.rb b/packages/llvm_stage1.rb index 954be4ee7..e8215b93a 100644 --- a/packages/llvm_stage1.rb +++ b/packages/llvm_stage1.rb @@ -32,7 +32,7 @@ class Llvm_stage1 < Package depends_on 'libtirpc' depends_on 'swig' depends_on 'py3_pygments' => :build - depends_on 'ccache' => :build + # depends_on 'ccache' => :build case ARCH when 'aarch64', 'armv7l' diff --git a/packages/mpv.rb b/packages/mpv.rb index a74aa75c8..75f7e0ba6 100644 --- a/packages/mpv.rb +++ b/packages/mpv.rb @@ -3,24 +3,24 @@ require 'package' class Mpv < Package description 'Video player based on MPlayer/mplayer2' homepage 'https://mpv.io/' - @_ver = '0.35.0' + @_ver = '0.35.0-ead8469' version @_ver license 'LGPL-2.1+, GPL-2+, BSD, ISC and GPL-3+' compatibility 'all' source_url 'https://github.com/mpv-player/mpv.git' - git_hashtag "v#{@_ver}" + git_hashtag 'ead8469454afa63e6e1fdd9e978af765f89379ce' binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0_armv7l/mpv-0.35.0-chromeos-armv7l.tar.zst', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0_armv7l/mpv-0.35.0-chromeos-armv7l.tar.zst', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0_i686/mpv-0.35.0-chromeos-i686.tar.zst', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0_x86_64/mpv-0.35.0-chromeos-x86_64.tar.zst' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0-ead8469_armv7l/mpv-0.35.0-ead8469-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0-ead8469_armv7l/mpv-0.35.0-ead8469-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0-ead8469_i686/mpv-0.35.0-ead8469-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0-ead8469_x86_64/mpv-0.35.0-ead8469-chromeos-x86_64.tar.zst' }) binary_sha256({ - aarch64: '184895e4391246001fbe6b1a945880440ae591401db014de9914f80397527215', - armv7l: '184895e4391246001fbe6b1a945880440ae591401db014de9914f80397527215', - i686: '1649db6f99162855051d4823b9e24fe265bfe24d55f1c13f820fd9ec328f16f4', - x86_64: 'a5cad18396c8a8d3e8be1add95c457bda0eb71c6c78fa635aa594f5c04970b19' + aarch64: '37ad11ac5ea437938829c4f59b01e7e254f5fad021b734c79a684865ce5fde86', + armv7l: '37ad11ac5ea437938829c4f59b01e7e254f5fad021b734c79a684865ce5fde86', + i686: '04ea3976c5e8a0b89a71cbd3706f37653866f5e8d20e3ca3c74396d84ffc21a7', + x86_64: '0bc54f5f6e50c8c9e3912cffedfe1ea61b35f8abd293e56742f2a31c19529c23' }) depends_on 'alsa_lib' # R @@ -76,7 +76,9 @@ class Mpv < Package system "meson \ #{CREW_MESON_OPTIONS} \ -Dwayland=disabled \ + -Dlibmpv=true \ -Dgl-x11=enabled \ + -Dsdl2=enabled \ builddir" # mpv conf file File.write 'mpv.conf', <<~MPVCONF diff --git a/packages/mutter.rb b/packages/mutter.rb index 0e636f932..62ca7417f 100644 --- a/packages/mutter.rb +++ b/packages/mutter.rb @@ -20,7 +20,7 @@ class Mutter < Package x86_64: '1dbf561eb457bb72023362e41f995c7820fb5c5b899a1f157e43a5722531dbe7' }) - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'dconf' depends_on 'gnome_settings_daemon' depends_on 'gobject_introspection' => :build diff --git a/packages/networkmanager.rb b/packages/networkmanager.rb index fa06553b6..d5942a362 100644 --- a/packages/networkmanager.rb +++ b/packages/networkmanager.rb @@ -35,7 +35,7 @@ class Networkmanager < Package depends_on 'elogind' depends_on 'libnewt' depends_on 'mobile_broadband_provider_info' - depends_on 'ccache' => :build + # depends_on 'ccache' => :build def self.patch # Patch fixes meson dependency race condition diff --git a/packages/openssl.rb b/packages/openssl.rb index 21de9e639..4f25947a4 100644 --- a/packages/openssl.rb +++ b/packages/openssl.rb @@ -23,7 +23,7 @@ class Openssl < Package x86_64: '69e980b70b331ca265ff22c5e649fc31195586fbb61a59f274320610e68a6263' }) - depends_on 'ccache' => :build + # depends_on 'ccache' => :build depends_on 'glibc' # R no_patchelf diff --git a/packages/p8_platform.rb b/packages/p8_platform.rb new file mode 100644 index 000000000..a6ddf7900 --- /dev/null +++ b/packages/p8_platform.rb @@ -0,0 +1,48 @@ +# Adapted from Arch Linux p8-platform PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/p8-platform/trunk/PKGBUILD + +require 'package' + +class P8_platform < Package + description 'Platform support library used by libCEC and binary add-ons for Kodi' + homepage 'https://github.com/Pulse-Eight/platform' + version '2.1.0.1' + license 'GPL' + compatibility 'all' + source_url 'https://github.com/Pulse-Eight/platform/archive/p8-platform-2.1.0.1.tar.gz' + source_sha256 '064f8d2c358895c7e0bea9ae956f8d46f3f057772cb97f2743a11d478a0f68a0' + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/p8_platform/2.1.0.1_armv7l/p8_platform-2.1.0.1-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/p8_platform/2.1.0.1_armv7l/p8_platform-2.1.0.1-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/p8_platform/2.1.0.1_i686/p8_platform-2.1.0.1-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/p8_platform/2.1.0.1_x86_64/p8_platform-2.1.0.1-chromeos-x86_64.tar.zst' + }) + binary_sha256({ + aarch64: 'a9965e17d92856f22cb5b822aa1d289d31fa41c5c88e6d5a6bf5cf549c1459ab', + armv7l: 'a9965e17d92856f22cb5b822aa1d289d31fa41c5c88e6d5a6bf5cf549c1459ab', + i686: '4a010435dbd9882568d55af7582e127645ffd72e697f5b0012eaec79d98a3369', + x86_64: '0f6e3ba79c0f2ea8ddcbe704e04000b439ebc7b15cfbc8d8d6217ff56569e3ca' + }) + + depends_on 'gcc' # R + depends_on 'glibc' # R + + def self.build + FileUtils.mkdir_p 'builddir' + Dir.chdir 'builddir' do + system "cmake -G Ninja \ + #{CREW_CMAKE_OPTIONS} \ + -DCMAKE_INSTALL_LIBDIR=#{CREW_LIB_PREFIX} \ + -DCMAKE_INSTALL_LIBDIR_NOARCH=#{CREW_LIB_PREFIX} \ + -DBUILD_SHARED_LIBS=1 \ + -Wno-dev \ + .." + end + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/qtdeclarative.rb b/packages/qtdeclarative.rb index 72f322b7a..e4dbea057 100644 --- a/packages/qtdeclarative.rb +++ b/packages/qtdeclarative.rb @@ -3,35 +3,36 @@ require 'package' class Qtdeclarative < Package description 'Provides QML and Quick declaratives.' homepage 'https://www.qt.io/' - version '5.15.1' + version '5.15.7-959b1ac' license 'FDL, GPL-2, GPL-3, GPL-3-with-qt-exception and LGPL-3' - compatibility 'aarch64,armv7l,x86_64' - source_url 'https://download.qt.io/official_releases/qt/5.15/5.15.1/submodules/qtdeclarative-everywhere-src-5.15.1.tar.xz' - source_sha256 '7e30f0ccba61f9d71720b91d7f7523c23677f23cd96065cb71df1b0df329d768' + compatibility 'all' + source_url 'https://invent.kde.org/qt/qt/qtdeclarative.git' + git_hashtag '959b1ac3b7c699ef67ec81155e6e1e579d4e1df7' binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtdeclarative/5.15.1_armv7l/qtdeclarative-5.15.1-chromeos-armv7l.tar.xz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtdeclarative/5.15.1_armv7l/qtdeclarative-5.15.1-chromeos-armv7l.tar.xz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtdeclarative/5.15.1_x86_64/qtdeclarative-5.15.1-chromeos-x86_64.tar.xz' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtdeclarative/5.15.7-959b1ac_armv7l/qtdeclarative-5.15.7-959b1ac-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtdeclarative/5.15.7-959b1ac_armv7l/qtdeclarative-5.15.7-959b1ac-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtdeclarative/5.15.7-959b1ac_i686/qtdeclarative-5.15.7-959b1ac-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtdeclarative/5.15.7-959b1ac_x86_64/qtdeclarative-5.15.7-959b1ac-chromeos-x86_64.tar.zst' }) binary_sha256({ - aarch64: 'e95739560c1a124ddc52362945327cb60a1fc0bda568ca15011848750b8554d9', - armv7l: 'e95739560c1a124ddc52362945327cb60a1fc0bda568ca15011848750b8554d9', - x86_64: '44824e25081beff3552b35a09de7ae0948d8040199e6acadcfeb765e2451a68a' + aarch64: 'b241e41b7a33a30dc716ccb48e579304914a4b5c5e6ced59a10d038153cb8ed0', + armv7l: 'b241e41b7a33a30dc716ccb48e579304914a4b5c5e6ced59a10d038153cb8ed0', + i686: '5c2360441a9f83f58167fcf9e4bd79cbaeda9b4e55bf24e7d5cabcf96f25d850', + x86_64: '7ce9e821601c926a00f7fa85e7590e8a5fc925df530daa8dd99781cf10d41be2' }) - depends_on 'python27' - depends_on 'qtbase' + depends_on 'qtbase' # R + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'libglvnd' # R def self.build - system 'qmake && make' + system 'qmake' + system 'make || make' end def self.install - FileUtils.mkdir_p CREW_DEST_LIB_PREFIX.to_s - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r Dir.glob('lib/*'), CREW_DEST_LIB_PREFIX.to_s - FileUtils.cp_r 'include', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'mkspecs', "#{CREW_DEST_PREFIX}/share/Qt-5" + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" end end diff --git a/packages/qtlocation.rb b/packages/qtlocation.rb index 1207caeef..d078afaad 100644 --- a/packages/qtlocation.rb +++ b/packages/qtlocation.rb @@ -3,39 +3,36 @@ require 'package' class Qtlocation < Package description 'Qt Location and Positioning' homepage 'https://www.qt.io/' - version '5.15.2' + version '5.15.7-f920a6c' license 'FDL, GPL-2, GPL-3, GPL-3-with-qt-exception, LGPL-2.1 and LGPL-3' compatibility 'all' - source_url 'https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtlocation-everywhere-src-5.15.2.tar.xz' - source_sha256 '984fcb09e108df49a8dac35d5ce6dffc49caafd2acb1c2f8a5173a6a21f392a0' + source_url 'https://invent.kde.org/qt/qt/qtlocation.git' + git_hashtag 'f920a6cc2931402023840c223fce2fed321e28ea' binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtlocation/5.15.2_armv7l/qtlocation-5.15.2-chromeos-armv7l.tar.xz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtlocation/5.15.2_armv7l/qtlocation-5.15.2-chromeos-armv7l.tar.xz', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtlocation/5.15.2_i686/qtlocation-5.15.2-chromeos-i686.tar.xz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtlocation/5.15.2_x86_64/qtlocation-5.15.2-chromeos-x86_64.tar.xz' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtlocation/5.15.7-f920a6c_armv7l/qtlocation-5.15.7-f920a6c-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtlocation/5.15.7-f920a6c_armv7l/qtlocation-5.15.7-f920a6c-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtlocation/5.15.7-f920a6c_i686/qtlocation-5.15.7-f920a6c-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtlocation/5.15.7-f920a6c_x86_64/qtlocation-5.15.7-f920a6c-chromeos-x86_64.tar.zst' }) binary_sha256({ - aarch64: '9a6a3a314c688a95fbec414902153b1e8ca11b6c4404098df89a4d07152b0984', - armv7l: '9a6a3a314c688a95fbec414902153b1e8ca11b6c4404098df89a4d07152b0984', - i686: 'bce4a0574c407d011896bb1728aaaaac67b573fcf8d1a8856819e75f80f00c36', - x86_64: 'dcb8bae645b2c7acb5665a5732eae2fc8ec5824d3a8d395cabab50bbb799f04d' + aarch64: '3a36632c9be6115855132ef781d0853eb1e797efd9c4bc1dec23622ffb3e4dc6', + armv7l: '3a36632c9be6115855132ef781d0853eb1e797efd9c4bc1dec23622ffb3e4dc6', + i686: '5833b4f1478eed73c0000f8f0fb08ae03a109d3c978b83e24f41cfa056c3ebd6', + x86_64: '43fb59928d9ddea0cc558407395a5c25611555867bfe42e3101573c8df2c6d43' }) - depends_on 'qtbase' => :build + depends_on 'qtbase' # R + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'qtbase' # R def self.build - system 'qmake && make' + system 'qmake' + system 'make' end def self.install - ENV['CREW_CONFLICTS_ONLY_ADVISORY'] = '1' - reload_constants - FileUtils.mkdir_p CREW_DEST_LIB_PREFIX.to_s - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r Dir['lib/*'], CREW_DEST_LIB_PREFIX.to_s - FileUtils.cp_r 'include', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'plugins', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'src', "#{CREW_DEST_PREFIX}/share/Qt-5" + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" end end diff --git a/packages/qtmultimedia.rb b/packages/qtmultimedia.rb index 46351f07d..9b0faa4ef 100644 --- a/packages/qtmultimedia.rb +++ b/packages/qtmultimedia.rb @@ -3,40 +3,43 @@ require 'package' class Qtmultimedia < Package description 'Qt Multimedia' homepage 'https://www.qt.io/' - version '5.15.2' + version '5.15.7-f3dc189' license 'FDL, GPL-2, GPL-3, GPL-3-with-qt-exception, LGPL-2.1 and LGPL-3' compatibility 'all' - source_url 'https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtmultimedia-everywhere-src-5.15.2.tar.xz' - source_sha256 '0c3758810e5131aabcf76e4965e4c18b8911af54d9edd9305d2a8278d8346df5' + source_url 'https://invent.kde.org/qt/qt/qtmultimedia.git' + git_hashtag 'f3dc18968c437c993886d3bfb668b62344a10860' binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtmultimedia/5.15.2_armv7l/qtmultimedia-5.15.2-chromeos-armv7l.tar.xz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtmultimedia/5.15.2_armv7l/qtmultimedia-5.15.2-chromeos-armv7l.tar.xz', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtmultimedia/5.15.2_i686/qtmultimedia-5.15.2-chromeos-i686.tar.xz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtmultimedia/5.15.2_x86_64/qtmultimedia-5.15.2-chromeos-x86_64.tar.xz' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtmultimedia/5.15.7-f3dc189_armv7l/qtmultimedia-5.15.7-f3dc189-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtmultimedia/5.15.7-f3dc189_armv7l/qtmultimedia-5.15.7-f3dc189-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtmultimedia/5.15.7-f3dc189_i686/qtmultimedia-5.15.7-f3dc189-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtmultimedia/5.15.7-f3dc189_x86_64/qtmultimedia-5.15.7-f3dc189-chromeos-x86_64.tar.zst' }) binary_sha256({ - aarch64: '01549aaf37a1c85ced9a7a8f796c9d085cf3a7f4f6197abf1af5afad24a72dfc', - armv7l: '01549aaf37a1c85ced9a7a8f796c9d085cf3a7f4f6197abf1af5afad24a72dfc', - i686: '47def7e00a23da3a6c138232a2a790a2dac7cbab0041dc57cae4dce06995f5da', - x86_64: '0dbcb8550581fe3677df9ba03bed052a7dc1e513ddd83c7c40878684211b3379' + aarch64: 'dd009ac11c9191d766972aad5263bc6d775e1e3fd57eeff0603acba7542250c1', + armv7l: 'dd009ac11c9191d766972aad5263bc6d775e1e3fd57eeff0603acba7542250c1', + i686: 'e6d551db835d7e9d9e897995f4fe03c58c9ec78cd2f4bbed9933048df7d1d188', + x86_64: 'cf26c441370cb378f2f19ab01dfd58eea25b63152f1da17ecd305f1e764171a7' }) - depends_on 'qtbase' => :build + depends_on 'qtbase' # R + depends_on 'qtdeclarative' # R + depends_on 'gstreamer' => :build + depends_on 'alsa_lib' # R + depends_on 'gcc' # R + depends_on 'glib' # R + depends_on 'glibc' # R + depends_on 'gstreamer' # R + depends_on 'libglvnd' # R + depends_on 'openal' # R + depends_on 'pulseaudio' # R def self.build - system 'qmake && make' + system 'qmake' + system 'make' end def self.install - ENV['CREW_CONFLICTS_ONLY_ADVISORY'] = '1' - reload_constants - FileUtils.mkdir_p CREW_DEST_LIB_PREFIX - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/Qt-5/plugins/mediaservice" - FileUtils.cp_r Dir['lib/*'], CREW_DEST_LIB_PREFIX - FileUtils.cp_r 'include', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'plugins', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'src', "#{CREW_DEST_PREFIX}/share/Qt-5" + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" end end diff --git a/packages/qtquickcontrols.rb b/packages/qtquickcontrols.rb new file mode 100644 index 000000000..1a9af580e --- /dev/null +++ b/packages/qtquickcontrols.rb @@ -0,0 +1,42 @@ +# Adapted from Arch Linux qt5-quickcontrols PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/qt5-quickcontrols/trunk/PKGBUILD + +require 'package' + +class Qtquickcontrols < Package + description 'Reusable Qt Quick based UI controls to create classic desktop-style user interfaces' + homepage 'https://www.qt.io' + version '5.15.7-c7dae5f' + license 'GPL3 LGPL3 FDL custom' + compatibility 'all' + source_url 'https://invent.kde.org/qt/qt/qtquickcontrols.git' + git_hashtag 'c7dae5f6041d6c076311f2d8ed13fcfe3598be70' + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtquickcontrols/5.15.7-c7dae5f_armv7l/qtquickcontrols-5.15.7-c7dae5f-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtquickcontrols/5.15.7-c7dae5f_armv7l/qtquickcontrols-5.15.7-c7dae5f-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtquickcontrols/5.15.7-c7dae5f_i686/qtquickcontrols-5.15.7-c7dae5f-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtquickcontrols/5.15.7-c7dae5f_x86_64/qtquickcontrols-5.15.7-c7dae5f-chromeos-x86_64.tar.zst' + }) + binary_sha256({ + aarch64: '97a9348c5314f186818b88b02b3e1202c329d85809a86c8efaf8b86345f5c307', + armv7l: '97a9348c5314f186818b88b02b3e1202c329d85809a86c8efaf8b86345f5c307', + i686: 'cb42e0c1b104309a56db6279ca4348c6a29aa525ff00f9cb53828c9659fd842e', + x86_64: '2e90a6def26022bb2bf5ca027b9e538bfb2ad40a883827eebd90ac37bb6e864c' + }) + + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'libglvnd' # R + depends_on 'qtbase' # R + depends_on 'qtdeclarative' # R + + def self.build + system 'qmake' + system 'make' + end + + def self.install + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/qttools.rb b/packages/qttools.rb index ca548bc43..e1cd5982d 100644 --- a/packages/qttools.rb +++ b/packages/qttools.rb @@ -3,49 +3,40 @@ require 'package' class Qttools < Package description 'Qt Tools' homepage 'https://github.com/qt/qttools' - version '5.15.2' + version '5.15.7-c4750dd' license 'FDL, GPL-2, GPL-3, GPL-3-with-qt-exception and LGPL-3' compatibility 'all' - source_url 'https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qttools-everywhere-src-5.15.2.tar.xz' - source_sha256 'c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc' + source_url 'https://invent.kde.org/qt/qt/qttools.git' + git_hashtag 'c4750dd02070ce246ff98cc5d137193825043912' binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qttools/5.15.2_armv7l/qttools-5.15.2-chromeos-armv7l.tar.xz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qttools/5.15.2_armv7l/qttools-5.15.2-chromeos-armv7l.tar.xz', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qttools/5.15.2_i686/qttools-5.15.2-chromeos-i686.tar.xz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qttools/5.15.2_x86_64/qttools-5.15.2-chromeos-x86_64.tar.xz' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qttools/5.15.7-c4750dd_armv7l/qttools-5.15.7-c4750dd-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qttools/5.15.7-c4750dd_armv7l/qttools-5.15.7-c4750dd-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qttools/5.15.7-c4750dd_i686/qttools-5.15.7-c4750dd-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qttools/5.15.7-c4750dd_x86_64/qttools-5.15.7-c4750dd-chromeos-x86_64.tar.zst' }) binary_sha256({ - aarch64: '0d40cb342b8b31427bc976979dbc4c5bfcd8995e5bcc1e74a2a91cf4d84c2265', - armv7l: '0d40cb342b8b31427bc976979dbc4c5bfcd8995e5bcc1e74a2a91cf4d84c2265', - i686: '1f94a4b40c8f94d47b13445fd9dfb7abb50694cf0876d83e71287f59f36caeca', - x86_64: '4fe6c1fcd3b4bdfbdface915f9c7d71b6c73deadbb5bb20cb5d89af8d6d9d2d2' + aarch64: '2aec1354a1b2bf672a0c91c5e06e80378a77faccd3f275b1039a5857aa9462ec', + armv7l: '2aec1354a1b2bf672a0c91c5e06e80378a77faccd3f275b1039a5857aa9462ec', + i686: 'f601314a281f7f64bd23f5603f2702cad362bfdd32f7d969415bc1b2107fc899', + x86_64: '0d7b2e4341b4cceca8ab22710f89e933c5bf35d784a030d67e314b4d8879529e' }) depends_on 'gcc' # R depends_on 'glibc' # R depends_on 'mesa' # R - depends_on 'qtbase' + depends_on 'qtbase' # R depends_on 'libtinfo' + depends_on 'libglvnd' # R + depends_on 'llvm' # R + depends_on 'qtdeclarative' # R def self.build - # NOTE: This MAY NOT COMPILE with llvm installed on x86. Install dependencies, - # disable depends, and uninstall llvm before attempting compile. - system 'qmake -Wall -early QMAKE_CFLAGS=-flto -early QMAKE_CXXFLAGS=-flto && make' + system 'qmake' + system 'make' end def self.install - FileUtils.mkdir_p CREW_DEST_LIB_PREFIX.to_s - system "cp -a lib/* #{CREW_DEST_LIB_PREFIX}" - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'bin', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'examples', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'include', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'mkspecs', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'src/linguist/phrasebooks', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" - Dir.chdir "#{CREW_DEST_PREFIX}/share/Qt-5/bin" do - system "find . -type f -exec ln -s #{CREW_PREFIX}/share/Qt-5/bin/{} #{CREW_DEST_PREFIX}/bin/{} \\;" - end + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" end end diff --git a/packages/qtwayland.rb b/packages/qtwayland.rb index d68c9caed..fac2f0819 100644 --- a/packages/qtwayland.rb +++ b/packages/qtwayland.rb @@ -3,42 +3,46 @@ require 'package' class Qtwayland < Package description 'Qt Wayland' homepage 'https://www.qt.io/' - version '5.15.2' + version '5.15.7-206ee84' license 'FDL, GPL-2, GPL-3, GPL-3-with-qt-exception, LGPL-2.1 and LGPL-3' compatibility 'all' - source_url 'https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwayland-everywhere-src-5.15.2.tar.xz' - source_sha256 '193732229ff816f3aaab9a5e2f6bed71ddddbf1988ce003fe8dd84a92ce9aeb5' + source_url 'https://invent.kde.org/qt/qt/qtwayland.git' + git_hashtag '206ee84d640b4160c25c95aeb26197743d533397' binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwayland/5.15.2_armv7l/qtwayland-5.15.2-chromeos-armv7l.tar.xz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwayland/5.15.2_armv7l/qtwayland-5.15.2-chromeos-armv7l.tar.xz', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwayland/5.15.2_i686/qtwayland-5.15.2-chromeos-i686.tar.xz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwayland/5.15.2_x86_64/qtwayland-5.15.2-chromeos-x86_64.tar.xz' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwayland/5.15.7-206ee84_armv7l/qtwayland-5.15.7-206ee84-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwayland/5.15.7-206ee84_armv7l/qtwayland-5.15.7-206ee84-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwayland/5.15.7-206ee84_i686/qtwayland-5.15.7-206ee84-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwayland/5.15.7-206ee84_x86_64/qtwayland-5.15.7-206ee84-chromeos-x86_64.tar.zst' }) binary_sha256({ - aarch64: 'f10467b273d72f146ac79a0e486790fb7212844f3a139d8a29e44c1f200c5d80', - armv7l: 'f10467b273d72f146ac79a0e486790fb7212844f3a139d8a29e44c1f200c5d80', - i686: 'c074b9aa753131f22492fffa91e84d89c066c2eb5c7ad9f1a37c9318e0c4feda', - x86_64: 'ce44eafddf863bc16f8cfa6f740be79fd3573468c322e5ecd8e87d9c029d824b' + aarch64: '47ce8d7b498dae5f361e230b2244d79e869e01f472be711066bb38a8caf179a9', + armv7l: '47ce8d7b498dae5f361e230b2244d79e869e01f472be711066bb38a8caf179a9', + i686: 'bd7f65746921f5dc965a8c7ce38a637477bc099e7b5a487a57944506faf08737', + x86_64: '4cd2a3d72e5a1c0c532db053f8de60250db1ac9f01b48436b7df8917f2945190' }) - depends_on 'qtbase' => :build - depends_on 'libxkbcommon' - depends_on 'wayland' + depends_on 'freetype' # R + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'glib' # R + depends_on 'harfbuzz' # R + depends_on 'libdrm' # R + depends_on 'libglvnd' # R + depends_on 'libx11' # R + depends_on 'libxcomposite' # R + depends_on 'libxext' # R + depends_on 'libxkbcommon' # R + depends_on 'qtbase' # R + depends_on 'wayland' # R + depends_on 'zlibpkg' # R def self.build - system 'qmake && make' + system 'qmake' + system 'make' end def self.install - ENV['CREW_CONFLICTS_ONLY_ADVISORY'] = '1' - reload_constants - FileUtils.mkdir_p CREW_DEST_LIB_PREFIX.to_s - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r Dir['lib/*'], CREW_DEST_LIB_PREFIX.to_s - FileUtils.cp_r 'bin', CREW_DEST_PREFIX.to_s - FileUtils.cp_r 'include', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'plugins', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'src', "#{CREW_DEST_PREFIX}/share/Qt-5" + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" end end diff --git a/packages/qtwebchannel.rb b/packages/qtwebchannel.rb new file mode 100644 index 000000000..4e7009204 --- /dev/null +++ b/packages/qtwebchannel.rb @@ -0,0 +1,42 @@ +# Adapted from Arch Linux qt5-webchannel PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/qt5-webchannel/trunk/PKGBUILD + +require 'package' + +class Qtwebchannel < Package + description 'Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients' + homepage 'https://www.qt.io' + version '5.15.7-4e35fe9' + license 'GPL3 LGPL3 FDL custom' + compatibility 'all' + source_url 'https://invent.kde.org/qt/qt/qtwebchannel.git' + git_hashtag '4e35fe9429920067c17596986b486fb1c1e95db0' + + binary_url({ + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwebchannel/5.15.7-4e35fe9_armv7l/qtwebchannel-5.15.7-4e35fe9-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwebchannel/5.15.7-4e35fe9_armv7l/qtwebchannel-5.15.7-4e35fe9-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwebchannel/5.15.7-4e35fe9_i686/qtwebchannel-5.15.7-4e35fe9-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwebchannel/5.15.7-4e35fe9_x86_64/qtwebchannel-5.15.7-4e35fe9-chromeos-x86_64.tar.zst' + }) + binary_sha256({ + aarch64: 'f424c60bf4c5a8da2c1eaed811bb61f101446e07fd2987053cd484aba198148e', + armv7l: 'f424c60bf4c5a8da2c1eaed811bb61f101446e07fd2987053cd484aba198148e', + i686: '6648a1fbe95e2381fa6b642f54159020631c35171231a45b45f7518ef8881437', + x86_64: '7f4a52e802c25ee71479b5fcf841a58e01bb992363948f1c189679bf9a797343' + }) + + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'libglvnd' # R + depends_on 'qtbase' # R + depends_on 'qtdeclarative' # R + + def self.build + system 'qmake' + system 'make' + end + + def self.install + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/qtwebengine.rb b/packages/qtwebengine.rb new file mode 100644 index 000000000..1310c04f1 --- /dev/null +++ b/packages/qtwebengine.rb @@ -0,0 +1,122 @@ +# Adapted from Arch Linux qt5-webengine PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/qt5-webengine/trunk/PKGBUILD + +require 'package' + +class Qtwebengine < Package + description 'Provides support for web applications using the Chromium browser project' + homepage 'https://www.qt.io' + version '5.15.7-3d23b37' + license 'LGPL3 LGPL2.1 BSD' + compatibility 'x86_64' + source_url 'https://invent.kde.org/qt/qt/qtwebengine.git' + git_hashtag '3d23b379a7c0a87922f9f5d9600fde8c4e58f1fd' + + binary_url({ + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtwebengine/5.15.7-3d23b37_x86_64/qtwebengine-5.15.7-3d23b37-chromeos-x86_64.tar.zst' + }) + binary_sha256({ + x86_64: '734f050156e52a6fee7666a9601c70e6ddc0df87fbd9ee178ccae5faf51b7f5b' + }) + + depends_on 'alsa_lib' # R + depends_on 'dbus' # R + depends_on 'expat' # R + depends_on 'ffmpeg' # R (This has to be patched for chromium.) + depends_on 'freetype' # R + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'glib' # R + depends_on 'gperf' => :build + depends_on 'harfbuzz' # R + depends_on 'icu4c' # R + depends_on 'jsoncpp' => :build + depends_on 'lcms' # R + depends_on 'libevent' # R + depends_on 'libglvnd' # R + depends_on 'libjpeg' # R + depends_on 'libpng' # R + depends_on 'libvpx' # R + depends_on 'libwebp' # R + depends_on 'libxcomposite' => :build + depends_on 'libxkbfile' => :build + depends_on 'libxml2' # R + depends_on 'libxrandr' => :build + depends_on 'libxslt' # R + depends_on 'libxss' => :build + depends_on 'nodebrew' => :build + depends_on 'nss' # R + depends_on 'opus' # R + depends_on 'pciutils' # R + depends_on 'pipewire' => :build + depends_on 'poppler' => :build + depends_on 'qtbase' # R + depends_on 'qtdeclarative' # R + depends_on 'qtlocation' # R + depends_on 'qttools' # R + depends_on 'qtwebchannel' # R + depends_on 'snappy' # R + depends_on 'zlibpkg' # R + + def self.patch + # Build & patches track Arch PKGBUILD at https://github.com/archlinux/svntogit-packages/raw/packages/qt5-webengine/trunk/PKGBUILD + Dir.chdir('src/3rdparty') do + system 'git checkout 87-based' + downloader 'https://github.com/archlinux/svntogit-packages/raw/packages/qt5-webengine/trunk/qt5-webengine-chromium-python3.patch', + 'fda4ff16790799fb285847918a677f4f3f7c0f513d4751f846ffc5aa5d873932' + system 'patch -Np1 -i qt5-webengine-chromium-python3.patch' + system "sed -i 's,#!/usr/bin/python,#!#{CREW_PREFIX}/python,g' chromium/build/print_python_deps.py" + downloader 'https://github.com/archlinux/svntogit-packages/raw/packages/qt5-webengine/trunk/qt5-webengine-ffmpeg5.patch', + 'c50d3019626183e753c53a997dc8a55938847543aa3178d4c51f377be741c693' + system 'patch -Np1 -i qt5-webengine-ffmpeg5.patch' + downloader 'https://github.com/archlinux/svntogit-packages/raw/packages/qt5-webengine/trunk/qt5-webengine-gcc12.patch', + 'cf9be3ffcc3b3cd9450b1ff13535ff7d76284f73173412d097a6ab487463a379' + system 'patch -Np1 -i qt5-webengine-gcc12.patch' + downloader 'https://github.com/archlinux/svntogit-packages/raw/packages/qt5-webengine/trunk/qt5-webengine-pipewire-0.3.patch', + '5e3a3c4711d964d5152a04059a2b5c1d14bb13dd29bce370120f60e85b476b6f' + system 'patch -Np1 -i qt5-webengine-pipewire-0.3.patch' + end + downloader 'https://github.com/archlinux/svntogit-packages/raw/packages/qt5-webengine/trunk/qt5-webengine-python3.patch', + '398c996cb5b606695ac93645143df39e23fa67e768b09e0da6dbd37342a43f32' + system 'patch -Np1 -i qt5-webengine-python3.patch' + Dir.chdir('src/3rdparty/chromium/third_party') do + FileUtils.rm_rf 'catapult' + system 'git clone https://chromium.googlesource.com/catapult' + Dir.chdir('catapult') do + system 'git checkout 5eedfe23148a234211ba477f76fc2ea2e8529189' + end + end + # From https://www.linuxfromscratch.org/blfs/view/svn/x/qtwebengine.html + system "sed -i 's/NINJAJOBS/NINJA_JOBS/' src/core/gn_run.pro", exception: false + end + + def self.build + # Nodejs is needed for this install, and nodejs is installed by + # nodebrew. + if `nodebrew ls`.include?('not installed') + puts 'nodejs is not configured!'.lightred + puts "Please run 'crew postinstall nodebrew' for more info.".orange + abort + end + @jumbo_build = ARCH == 'x86_64' ? '1' : '0' + system "qmake CONFIG+=force_debug_info -- \ + -webengine-jumbo-build #{@jumbo_build} \ + -proprietary-codecs \ + -system-ffmpeg \ + -webp \ + -spellchecker \ + -webengine-icu \ + -webengine-kerberos \ + -webengine-webrtc-pipewire" + # This eventually succeeds on x86_64. Maybe a for loop here might be + # a better choice to keep restarting make? + system 'NINJAJOBS=4 make || NINJAJOBS=3 make || NINJAJOBS=2 make || NINJAJOBS=1 make' + end + + def self.install + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" + # This is needed because this is a frankenstein build of 5.15.11 and 5.15.7, + # which is the version of the other QT files. + system "sed -e 's|5.15.11 |5.15.7 |' -i #{CREW_DEST_LIB_PREFIX}/cmake/*/*Config.cmake" + end +end diff --git a/packages/qtx11extras.rb b/packages/qtx11extras.rb index bfb2e5ef7..e2a24dc57 100644 --- a/packages/qtx11extras.rb +++ b/packages/qtx11extras.rb @@ -3,36 +3,52 @@ require 'package' class Qtx11extras < Package description 'Provides classes for developing for the X11 platform.' homepage 'https://www.qt.io/' - version '5.15.2' + version '5.15.7-9134cdb' license 'FDL, GPL-2, GPL-3, GPL-3-with-qt-exception and LGPL-3' compatibility 'all' - source_url 'https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtx11extras-everywhere-src-5.15.2.tar.xz' - source_sha256 '7014702ee9a644a5a93da70848ac47c18851d4f8ed622b29a72eed9282fc6e3e' + source_url 'https://invent.kde.org/qt/qt/qtx11extras.git' + git_hashtag '9134cdba9386e408ce2ffe515ca0c3f6f6c66685' binary_url({ - aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtx11extras/5.15.2_armv7l/qtx11extras-5.15.2-chromeos-armv7l.tar.xz', - armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtx11extras/5.15.2_armv7l/qtx11extras-5.15.2-chromeos-armv7l.tar.xz', - i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtx11extras/5.15.2_i686/qtx11extras-5.15.2-chromeos-i686.tar.xz', - x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtx11extras/5.15.2_x86_64/qtx11extras-5.15.2-chromeos-x86_64.tar.xz' + aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtx11extras/5.15.7-9134cdb_armv7l/qtx11extras-5.15.7-9134cdb-chromeos-armv7l.tar.zst', + armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtx11extras/5.15.7-9134cdb_armv7l/qtx11extras-5.15.7-9134cdb-chromeos-armv7l.tar.zst', + i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtx11extras/5.15.7-9134cdb_i686/qtx11extras-5.15.7-9134cdb-chromeos-i686.tar.zst', + x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/qtx11extras/5.15.7-9134cdb_x86_64/qtx11extras-5.15.7-9134cdb-chromeos-x86_64.tar.zst' }) binary_sha256({ - aarch64: '94135c37b7dab401960661ecc5474798f25d95f1677c3b56133770ba58d97f7c', - armv7l: '94135c37b7dab401960661ecc5474798f25d95f1677c3b56133770ba58d97f7c', - i686: '0741a8d65a3616d2473929f55a8689a1196277381227d63c49e1234acd25d6e7', - x86_64: '817c1e82a88f71177f4d866f6629a84ad8e9683c682912cfb556714f0f60b603' + aarch64: '02e27baed54441a37170ed009702fe21a32da8bee1c9bebfc0248bdc5dd9daf0', + armv7l: '02e27baed54441a37170ed009702fe21a32da8bee1c9bebfc0248bdc5dd9daf0', + i686: 'b2baac1b14d2ddaf0fbe481f9e7a1afd9dd40dffadbe8d0aecfc4ba1969c9cf1', + x86_64: '40c58bbed435f536cf50cb13f51625a0e2c7d72213769069e745282f94683d23' }) - depends_on 'qtbase' => :build + depends_on 'gcc' # R + depends_on 'glibc' # R + depends_on 'libglvnd' # R + depends_on 'qtbase' # R def self.build - system 'qmake && make' + # The simple build doesn't work, which is why we have this recursive + # nonsense. + system 'qmake qtx11extras.pro' + system 'make' + Dir.chdir('src') do + system 'qmake src.pro' + system 'make' + end + Dir.chdir('src/x11extras') do + system 'qmake x11extras.pro' + system 'make' + end end def self.install - FileUtils.mkdir_p CREW_DEST_LIB_PREFIX.to_s - FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r Dir['lib/*'], CREW_DEST_LIB_PREFIX.to_s - FileUtils.cp_r 'include', "#{CREW_DEST_PREFIX}/share/Qt-5" - FileUtils.cp_r 'src', "#{CREW_DEST_PREFIX}/share/Qt-5" + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" + Dir.chdir('src') do + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" + end + Dir.chdir('src/x11extras') do + system "make INSTALL_ROOT=#{CREW_DEST_DIR} install" + end end end diff --git a/packages/zstd.rb b/packages/zstd.rb index c14049e5f..ff2968535 100644 --- a/packages/zstd.rb +++ b/packages/zstd.rb @@ -24,7 +24,7 @@ class Zstd < Package }) depends_on 'glibc' # R - depends_on 'musl_zstd' + # depends_on 'musl_zstd' no_patchelf no_zstd diff --git a/tools/packages.yaml b/tools/packages.yaml index 4f7d6c92b..a72636cd7 100644 --- a/tools/packages.yaml +++ b/tools/packages.yaml @@ -3120,6 +3120,11 @@ url: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html activity: low --- kind: url +name: jellyfin_media_player +url: https://github.com/jellyfin/jellyfin-media-player/releases +activity: medium +--- +kind: url name: jemalloc url: https://github.com/jemalloc/jemalloc/releases activity: low @@ -3490,6 +3495,11 @@ url: https://github.com/rocky/libcdio-paranoia/releases activity: none --- kind: url +name: libcec +url: https://github.com/Pulse-Eight/libcec/releases +activity: low +--- +kind: url name: libcerf url: http://apps.jcns.fz-juelich.de/src/libcerf/ activity: none @@ -5850,6 +5860,11 @@ url: https://sourceforge.net/projects/p7zip/files/p7zip/ activity: none --- kind: url +name: p8_platform +url: https://github.com/Pulse-Eight/platform/tags +activity: low +--- +kind: url name: packer url: https://releases.hashicorp.com/packer/ activity: medium @@ -6710,6 +6725,11 @@ url: http://download.qt.io/official_releases/qt/ activity: medium --- kind: url +name: qtquickcontrols +url: https://invent.kde.org/qt/qt/qtquickcontrols/-/tags +activity: medium +--- +kind: url name: qtscript url: http://download.qt.io/official_releases/qt/ activity: medium @@ -6735,6 +6755,16 @@ url: http://download.qt.io/official_releases/qt/ activity: medium --- kind: url +name: qtwebchannel +url: https://invent.kde.org/qt/qt/qtwebchannel/-/tags +activity: medium +--- +kind: url +name: qtwebengine +url: https://invent.kde.org/qt/qt/qtwebengine/-/tags +activity: medium +--- +kind: url name: qtx11extras url: http://download.qt.io/official_releases/qt/ activity: high