mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-09 15:37:56 -05:00
* llvm => 18.1.3, upx => 4.2.3 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update ca_certificates Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Fix verbose crew remove Signed-off-by: Satadru Pramanik <satadru@gmail.com> * bump crew version Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Update ca_certificates postinstall Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add verbose pkg is fake check to crew Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add color Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add more verbosity to crew is_fake report Signed-off-by: Satadru Pramanik <satadru@gmail.com> * better is_fake debug reporting Signed-off-by: Satadru Pramanik <satadru@gmail.com> * more debug verbosity Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Adding attr_accessor to all boolean_property entries appears to fix #9642 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * debug cleanup Signed-off-by: Satadru Pramanik <satadru@gmail.com> * fix ca_certificates date Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add more is_fake debug code Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Update debug code, add suggested changes Signed-off-by: Satadru Pramanik <satadru@gmail.com> * fixup Signed-off-by: Satadru Pramanik <satadru@gmail.com> * fixup Signed-off-by: Satadru Pramanik <satadru@gmail.com> * further debugging code added Signed-off-by: Satadru Pramanik <satadru@gmail.com> * further debugging code added Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Adjust is_fake to is_fake? Signed-off-by: Satadru Pramanik <satadru@gmail.com> * revert package.rb changes Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add binaries properly for llvm18 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * cleanup debug code Signed-off-by: Satadru Pramanik <satadru@gmail.com> * readd space Signed-off-by: Satadru Pramanik <satadru@gmail.com> --------- Signed-off-by: Satadru Pramanik <satadru@gmail.com>
83 lines
3.1 KiB
Ruby
83 lines
3.1 KiB
Ruby
# Adapted from Arch Linux openmp PKGBUILD at:
|
|
# https://github.com/archlinux/svntogit-packages/raw/packages/openmp/trunk/PKGBUILD
|
|
|
|
require 'package'
|
|
require_relative 'llvm18_build'
|
|
|
|
class Openmp < Package
|
|
description 'LLVM OpenMP Runtime Library'
|
|
homepage 'https://openmp.llvm.org/'
|
|
version '18.1.3'
|
|
# When upgrading llvm_build*, be sure to upgrade openmp in tandem.
|
|
puts "#{self} version differs from llvm version #{Llvm18_build.version}".orange if version != Llvm18_build.version
|
|
license 'Apache-2.0-with-LLVM-exceptions, UoI-NCSA, BSD, public-domain, rc, Apache-2.0 and MIT'
|
|
compatibility 'all'
|
|
source_url 'https://github.com/llvm/llvm-project.git'
|
|
git_hashtag Llvm18_build.git_hashtag.to_s
|
|
binary_compression 'tar.zst'
|
|
|
|
binary_sha256({
|
|
aarch64: 'e689971dd05124b3b96d12458acf186ecca4b43c479746121f575cbf4d192253',
|
|
armv7l: 'e689971dd05124b3b96d12458acf186ecca4b43c479746121f575cbf4d192253',
|
|
i686: '9142ec4e8f2cd86e09e83b41d82844a189840421e62803096087bc7c0bc2a6c0',
|
|
x86_64: 'e78f3760ac45689dfb605dbd45e13142a9a2d345e3a89ffa320ded1acd9eb32f'
|
|
})
|
|
|
|
depends_on 'gcc_lib' # R
|
|
depends_on 'glibc' # R
|
|
depends_on 'libffi' # R
|
|
depends_on 'llvm18_dev' => :build
|
|
depends_on 'llvm18_lib' # R
|
|
depends_on 'python3' # R
|
|
|
|
no_env_options
|
|
|
|
def self.patch
|
|
# Remove rc suffix on final release.
|
|
system "sed -i 's,set(LLVM_VERSION_SUFFIX rc),,' llvm/CMakeLists.txt"
|
|
|
|
# Patch for LLVM 15+ because of https://github.com/llvm/llvm-project/issues/58851
|
|
File.write 'llvm_crew_lib_prefix.patch', <<~LLVM_PATCH_EOF
|
|
--- a/clang/lib/Driver/ToolChains/Linux.cpp 2022-11-30 15:50:36.777754608 -0500
|
|
+++ b/clang/lib/Driver/ToolChains/Linux.cpp 2022-11-30 15:51:57.004417484 -0500
|
|
@@ -314,6 +314,7 @@ Linux::Linux(const Driver &D, const llvm
|
|
D.getVFS().exists(D.Dir + "/../lib/libc++.so"))
|
|
addPathIfExists(D, D.Dir + "/../lib", Paths);
|
|
|
|
+ addPathIfExists(D, concat(SysRoot, "#{CREW_LIB_PREFIX}"), Paths);
|
|
addPathIfExists(D, concat(SysRoot, "/lib"), Paths);
|
|
addPathIfExists(D, concat(SysRoot, "/usr/lib"), Paths);
|
|
}
|
|
LLVM_PATCH_EOF
|
|
system 'patch -Np1 -i llvm_crew_lib_prefix.patch'
|
|
end
|
|
|
|
def self.build
|
|
@cmake_options = case ARCH
|
|
when 'i686', 'x86_64'
|
|
CREW_CMAKE_FNO_LTO_OPTIONS.gsub('-fno-lto', '')
|
|
else
|
|
CREW_CMAKE_OPTIONS
|
|
end
|
|
system "cmake -B builddir -G Ninja openmp \
|
|
#{@cmake_options} \
|
|
-DCMAKE_C_COMPILER=$(which clang) \
|
|
-DCMAKE_C_COMPILER_TARGET=#{CREW_BUILD} \
|
|
-DCMAKE_CXX_COMPILER=$(which clang++) \
|
|
-DCMAKE_CXX_COMPILER_AR=$(which llvm-ar) \
|
|
-DCMAKE_CXX_COMPILER_RANLIB=$(which llvm-ranlib) \
|
|
-D_CMAKE_TOOLCHAIN_PREFIX=llvm- \
|
|
-DLIBOMP_ENABLE_SHARED=ON \
|
|
-DLIBOMP_INSTALL_ALIASES=OFF \
|
|
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
|
-DOPENMP_LIBDIR_SUFFIX=#{CREW_LIB_SUFFIX} \
|
|
-DPYTHON_EXECUTABLE=$(which python3) \
|
|
-Wno-dev"
|
|
system "mold -run #{CREW_NINJA} -C builddir"
|
|
end
|
|
|
|
def self.install
|
|
system "DESTDIR=#{CREW_DEST_DIR} #{CREW_NINJA} -C builddir install"
|
|
end
|
|
end
|