require 'package' class Obs < Package description 'Free and open source software for video recording and live streaming.' homepage 'https://obsproject.com/' version '24.0.5' license 'GPL-2' compatibility 'x86_64' source_url 'https://github.com/obsproject/obs-studio/archive/24.0.5.tar.gz' source_sha256 'b3d65f36ad2bfcd6ffde1771be64662ce8e8771349fab82bb49f80dbb1f5f2e6' binary_compression 'tar.xz' binary_sha256({ x86_64: '854492244415cea4b4874cf3cd2302649d5b538d89366f2fd1ccceda7ff1f3ea' }) depends_on 'curl' depends_on 'ffmpeg' depends_on 'jack' depends_on 'jansson' depends_on 'libmbedtls' depends_on 'luajit' depends_on 'qt5_svg' depends_on 'qt5_x11extras' depends_on 'v4l_utils' depends_on 'xdg_base' depends_on 'sommelier' def self.build # Use the gold linker. old_ld = `ld_default g`.chomp Dir.mkdir 'build' Dir.chdir 'build' do system 'cmake', '-DCMAKE_BUILD_TYPE=Release', "-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}", '..' system 'make' end # Restore the original linker. system 'ld_default', old_ld.to_s end def self.install Dir.chdir 'build' do system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' end case ARCH when 'x86_64' Dir.chdir CREW_DEST_PREFIX do FileUtils.mv Dir.glob('lib/*'), 'lib64/' end end end def self.postinstall puts puts "To get started, type 'obs'.".lightblue puts puts 'To completely remove, execute the following:'.lightblue puts 'crew remove obs'.lightblue puts 'rm -rf ~/.config/obs-studio/'.lightblue puts end end