mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-10 16:08:08 -05:00
62 lines
2.6 KiB
Ruby
62 lines
2.6 KiB
Ruby
# Adapted from Arch Linux openmp PKGBUILD at:
|
|
# https://github.com/archlinux/svntogit-packages/raw/packages/openmp/trunk/PKGBUILD
|
|
|
|
require 'package'
|
|
require_relative 'llvm17_build'
|
|
|
|
class Openmp < Package
|
|
description 'LLVM OpenMP Runtime Library'
|
|
homepage 'https://openmp.llvm.org/'
|
|
version '17.0.4'
|
|
# When upgrading llvm_build*, be sure to upgrade openmp in tandem.
|
|
puts "#{self} version differs from llvm version #{Llvm17_build.version}".orange if version != Llvm17_build.version.to_s
|
|
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 Llvm17_build.git_hashtag.to_s
|
|
|
|
binary_url({
|
|
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/openmp/17.0.4_armv7l/openmp-17.0.4-chromeos-armv7l.tar.zst',
|
|
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/openmp/17.0.4_armv7l/openmp-17.0.4-chromeos-armv7l.tar.zst',
|
|
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/openmp/17.0.4_i686/openmp-17.0.4-chromeos-i686.tar.zst',
|
|
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/openmp/17.0.4_x86_64/openmp-17.0.4-chromeos-x86_64.tar.zst'
|
|
})
|
|
binary_sha256({
|
|
aarch64: '04568158bd46255f7d7723942719c2c683c9d667018c67028e8c017afab2171f',
|
|
armv7l: '04568158bd46255f7d7723942719c2c683c9d667018c67028e8c017afab2171f',
|
|
i686: '01ed92581dcb759f3bf7da68ae7974a4d8c7d3dc9e6320effa23dcd072be9f7b',
|
|
x86_64: '629568296e1bfe0e50b165c60ca00e7f19aa3856ac9fca53613fc0007ffc59ef'
|
|
})
|
|
|
|
depends_on 'gcc_lib' # R
|
|
depends_on 'glibc' # R
|
|
depends_on 'libffi'
|
|
depends_on 'llvm17_dev' => :build
|
|
depends_on 'llvm17_lib' # R
|
|
depends_on 'python3' # R
|
|
|
|
no_env_options
|
|
|
|
def self.build
|
|
system "cmake -B builddir -G Ninja openmp \
|
|
#{CREW_CMAKE_FNO_LTO_OPTIONS.gsub('-fno-lto', '').gsub('-ffat-lto-objects', '')} \
|
|
-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
|