Commit edb06ab2 authored by 徐豪's avatar 徐豪
Browse files

init

parents

Too many changes to show.

To preserve performance only 532 of 532+ files are displayed.
# Copyright 2012-2014 Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libedit'
default_version '20120601-3.0'
license 'BSD-3-Clause'
license_file 'COPYING'
skip_transitive_dependency_licensing true
dependency 'ncurses'
dependency 'config_guess'
version('20120601-3.0') { source sha256: '51f0f4b4a97b7ebab26e7b5c2564c47628cdb3042fd8ba8d0605c719d2541918' }
source url: "http://www.thrysoee.dk/editline/libedit-#{version}.tar.gz"
if version == '20141030-3.1'
# released tar file has name discrepency in folder name for this version
relative_path 'libedit-20141029-3.1'
else
relative_path "libedit-#{version}"
end
build do
env = with_standard_compiler_flags(with_embedded_path)
update_config_guess
command './configure' \
" --prefix=#{install_dir}/embedded", env: env
make "-j #{workers}", env: env
make "-j #{workers} install", env: env
end
#
# Copyright:: Copyright (c) 2017 GitLab Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libevent'
version = Gitlab::Version.new('libevent', 'release-2.1.12-stable')
default_version version.print(false)
display_version version.print(false).delete_prefix('release-').delete_suffix('-stable')
dependency 'libtool'
dependency 'openssl' unless Build::Check.use_system_ssl?
license 'BSD-3-Clause'
license_file 'LICENSE'
skip_transitive_dependency_licensing true
source git: version.remote
relative_path "libevent-#{version.print}-stable"
build do
env = with_standard_compiler_flags(with_embedded_path)
env['ACLOCAL_PATH'] = "#{install_dir}/embedded/share/aclocal"
command './autogen.sh', env: env
command './configure ' \
"--prefix=#{install_dir}/embedded", env: env
make "-j #{workers}", env: env
make 'install', env: env
end
#
# Copyright 2012-2015 Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require "#{Omnibus::Config.project_root}/lib/gitlab/ohai_helper.rb"
name 'libffi'
default_version '3.2.1'
license 'MIT'
license_file 'LICENSE'
skip_transitive_dependency_licensing true
# Is libtool actually necessary? Doesn't configure generate one?
dependency 'libtool'
version('3.2.1') { source sha256: 'd06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37' }
source url: "https://sourceware.org/pub/libffi/libffi-#{version}.tar.gz"
relative_path "libffi-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
configure_command = []
# Patch to disable multi-os-directory via configure flag (don't use /lib64)
# Works on all platforms, and is compatible on 32bit platforms as well
if version == '3.2.1'
patch source: 'libffi-3.2.1-disable-multi-os-directory.patch', plevel: 1, env: env
configure_command << '--disable-multi-os-directory'
configure_command << "--build=#{OhaiHelper.gcc_target}" if OhaiHelper.raspberry_pi?
end
configure(*configure_command, env: env)
make "-j #{workers}", env: env
make "-j #{workers} install", env: env
# libffi's default install location of header files is awful...
copy "#{install_dir}/embedded/lib/libffi-#{version}/include/*", "#{install_dir}/embedded/include"
end
#
# Copyright:: Copyright (c) 2017 GitLab Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require "#{Omnibus::Config.project_root}/lib/gitlab/ohai_helper.rb"
name 'libgcrypt'
default_version '1.9.4'
dependency 'libgpg-error'
license 'LGPL-2.1'
license_file 'COPYING.LIB'
skip_transitive_dependency_licensing true
source url: "https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-#{version}.tar.bz2",
sha256: 'ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7'
relative_path "libgcrypt-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
configure_options = ["--prefix=#{install_dir}/embedded", "--disable-doc"]
configure_options += %w(host build).map { |w| "--#{w}=#{OhaiHelper.gcc_target}" } if OhaiHelper.raspberry_pi?
configure(*configure_options, env: env)
make "-j #{workers}", env: env
make 'install', env: env
end
project.exclude "embedded/bin/libgcrypt-config"
#
# Copyright:: Copyright (c) 2017 GitLab Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libgpg-error'
default_version '1.46'
license 'LGPL-2.1'
license_file 'COPYING.LIB'
skip_transitive_dependency_licensing true
source url: "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-#{version}.tar.bz2",
sha256: 'b7e11a64246bbe5ef37748de43b245abd72cfcd53c9ae5e7fc5ca59f1c81268d'
relative_path "libgpg-error-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
# gpg-error-config has been deprecated in favor of gpgrt-config
# (https://dev.gnupg.org/T5683), but libassuan and gnupg currently
# still use gpg-error-config if it is present. Older systems, such as
# Amazon Linux 2, have a version that is too old, so we need to ensure
# a recent version of gpg-error-config is installed.
command './configure ' \
"--prefix=#{install_dir}/embedded --enable-install-gpg-error-config --disable-doc", env: env
make "-j #{workers}", env: env
make 'install', env: env
end
project.exclude 'embedded/bin/gpg-error-config'
#
# Copyright 2012-2014 Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# CAUTION - although its not used, external libraries such as nokogiri may pick up an optional dep on
# libiconv such that removal of libiconv will break those libraries on upgrade. With an better story around
# external gem handling when chef-client is upgraded libconv could be dropped.
name 'libiconv'
default_version '1.15'
license 'LGPL-2.1'
license_file 'COPYING.LIB'
skip_transitive_dependency_licensing true
skip_transitive_dependency_licensing true
dependency 'config_guess'
source url: "https://ftp.gnu.org/pub/gnu/libiconv/libiconv-#{version}.tar.gz",
sha256: 'ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178'
relative_path "libiconv-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
update_config_guess(target: 'build-aux')
update_config_guess(target: 'libcharset/build-aux')
configure(env: env)
pmake = "-j #{workers}"
make pmake, env: env
make "#{pmake} install-lib" \
" libdir=#{install_dir}/embedded/lib" \
" includedir=#{install_dir}/embedded/include", env: env
end
#
## Copyright:: Copyright (c) 2014 GitLab B.V.
## License:: Apache License, Version 2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
#
name 'libicu'
version = Gitlab::Version.new('libicu', 'release-57-1')
default_version version.print(false)
display_version version.print(false).delete_prefix('release-').tr('-', '.')
source git: version.remote
license 'MIT'
license_file 'icu4c/LICENSE'
skip_transitive_dependency_licensing true
build do
env = with_standard_compiler_flags(with_embedded_path)
env['LD_RPATH'] = "#{install_dir}/embedded/lib"
cwd = "#{Omnibus::Config.source_dir}/libicu/icu4c/source"
command ['./runConfigureICU',
'Linux/gcc',
"--prefix=#{install_dir}/embedded",
'--with-data-packaging=files',
'--enable-shared',
'--without-samples'].join(' '), env: env, cwd: cwd
make "-j #{workers}", env: env, cwd: cwd
make 'install', env: env, cwd: cwd
# The git repository uses the format release-MAJ-MIN for the release tags
# We need to reference the actual version number to create this link, which
# is required by Gitaly
actual_version = default_version.split('-')[1..2].join('.')
link "#{install_dir}/embedded/share/icu/#{actual_version}", "#{install_dir}/embedded/share/icu/current", force: true
end
project.exclude 'embedded/bin/icu-config'
#
# Copyright:: Copyright (c) 2020 GitLab Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libjpeg-turbo'
version = Gitlab::Version.new('libjpeg-turbo', '2.1.5.1')
default_version version.print(false)
license 'BSD-3-Clause'
license_file 'LICENSE.md'
license_file 'README.ijg'
dependency 'zlib'
source git: version.remote
build do
env = with_standard_compiler_flags(with_embedded_path)
configure_command = [
'cmake',
'-G"Unix Makefiles"',
"-DCMAKE_INSTALL_LIBDIR:PATH=lib", # ensure lib64 isn't used
"-DCMAKE_INSTALL_PREFIX=#{install_dir}/embedded"
]
command configure_command.join(' '), env: env
make "-j #{workers} install", env: env
end
#
# Copyright:: Copyright (c) 2017 GitLab Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libksba'
default_version '1.6.3'
dependency 'libgpg-error'
license 'LGPL-3'
license_file 'COPYING.LGPLv3'
skip_transitive_dependency_licensing true
source url: "https://www.gnupg.org/ftp/gcrypt/libksba/libksba-#{version}.tar.bz2",
sha256: '3f72c68db30971ebbf14367527719423f0a4d5f8103fc9f4a1c01a9fa440de5c'
relative_path "libksba-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
command './configure ' \
"--prefix=#{install_dir}/embedded --disable-doc", env: env
make "-j #{workers}", env: env
make 'install', env: env
end
project.exclude "embedded/bin/ksba-config"
#
# Copyright 2014 Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'liblzma'
default_version '5.2.4'
license 'Public-Domain'
license_file 'COPYING'
skip_transitive_dependency_licensing true
source url: "http://tukaani.org/xz/xz-#{version}.tar.gz",
sha256: 'b512f3b726d3b37b6dc4c8570e137b9311e7552e8ccbab4d39d47ce5f4177145'
relative_path "xz-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
config_command = [
'--disable-debug',
'--disable-dependency-tracking',
'--disable-doc',
'--disable-scripts'
]
configure(*config_command, env: env)
make 'install', env: env
end
#
# Copyright 2012-2014 Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libossp-uuid'
default_version '1.6.2'
license 'MIT'
license_file 'README'
skip_transitive_dependency_licensing true
dependency 'config_guess'
version '1.6.2' do
source sha256: '11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0'
end
# ftp on ftp.ossp.org is unavaiable so we must use another mirror site.
source url: "https://www.mirrorservice.org/sites/ftp.ossp.org/pkg/lib/uuid/uuid-#{version}.tar.gz"
relative_path "uuid-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
update_config_guess
command './configure' \
" --prefix=#{install_dir}/embedded", env: env
make "-j #{workers}", env: env
make 'install', env: env
end
project.exclude "embedded/bin/uuid-config"
#
# Copyright:: Copyright (c) 2018 GitLab Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libpng'
version = Gitlab::Version.new('libpng', 'v1.6.43')
default_version version.print(false)
license 'Libpng'
license_file 'LICENSE'
skip_transitive_dependency_licensing true
dependency 'zlib'
source git: version.remote
build do
env = with_standard_compiler_flags(with_embedded_path)
configure_command = [
'./configure',
"--prefix=#{install_dir}/embedded",
"--with-zlib=#{install_dir}/embedded"
]
command configure_command.join(' '), env: env
make "-j #{workers}", env: env
make 'install', env: env
end
#
## Copyright:: Copyright (c) 2021 GitLab Inc.
## License:: Apache License, Version 2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
#
name 'libtensorflow_lite'
version = Gitlab::Version.new('libtensorflow_lite', '2.6.0')
default_version version.print
source git: version.remote
license 'Apache-2.0'
license_file 'LICENSE'
skip_transitive_dependency_licensing true
build do
env = {}
build_dir = "#{Omnibus::Config.source_dir}/libtensorflow_lite/tflite_build"
mkdir "#{install_dir}/embedded/lib"
mkdir build_dir.to_s
block 'use a custom compiler for OSs with older gcc' do
if ohai['platform'] == 'centos' && ohai['platform_version'].start_with?('7.')
env['CC'] = "/opt/rh/devtoolset-8/root/usr/bin/gcc"
env['CXX'] = "/opt/rh/devtoolset-8/root/usr/bin/g++"
elsif ohai['platform'] == 'suse' && ohai['platform_version'].start_with?('12.')
env['CC'] = "/usr/bin/gcc-5"
env['CXX'] = "/usr/bin/g++-5"
elsif ohai['platform'] == 'opensuseleap' && ohai['platform_version'].start_with?('15.')
env['CC'] = "/usr/bin/gcc-8"
env['CXX'] = "/usr/bin/g++-8"
elsif ohai['platform'] == 'amazon' && ohai['platform_version'] == '2'
env['CC'] = "/usr/bin/gcc10-gcc"
env['CXX'] = "/usr/bin/gcc10-g++"
elsif ohai['platform'] == 'ubuntu' && ohai['platform_version'].start_with?('24.')
env['CC'] = "/usr/bin/gcc-10"
env['CXX'] = "/usr/bin/g++-10"
end
end
command "cmake #{Omnibus::Config.source_dir}/libtensorflow_lite/tensorflow/lite/c", cwd: build_dir, env: env
command "cmake --build . -j #{workers}", cwd: build_dir, env: env
move "#{build_dir}/libtensorflowlite_c.*", "#{install_dir}/embedded/lib"
end
#
# Copyright:: Copyright (c) 2020 GitLab Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libtiff'
version = Gitlab::Version.new('libtiff', 'v4.6.0')
default_version version.print(false)
license 'libtiff' # BSD-3 Clause compatible
license_file 'COPYRIGHT'
skip_transitive_dependency_licensing true
dependency 'libtool'
dependency 'zlib'
dependency 'liblzma'
dependency 'libjpeg-turbo'
dependency 'config_guess'
source git: version.remote
build do
env = with_standard_compiler_flags(with_embedded_path)
# Use cmake for CentOS 6 builds
# CentOS 6 doesn't have a new enough version of automake, so we need to use
# the cmake build steps, but the cmake steps aren't working properly in
# Debian 8, which is why we don't just switch to cmake for all platforms
if ohai['platform'] =~ /centos/ && ohai['platform_version'] =~ /^6/
configure_command = [
'cmake',
'-G"Unix Makefiles"',
'-Dzstd=OFF',
"-DZLIB_ROOT=#{install_dir}/embedded",
"-DCMAKE_INSTALL_LIBDIR:PATH=lib", # ensure lib64 isn't used
"-DCMAKE_INSTALL_RPATH=#{install_dir}/embedded/lib",
"-DCMAKE_FIND_ROOT_PATH=#{install_dir}/embedded",
"-DCMAKE_PREFIX_PATH=#{install_dir}/embedded",
"-DCMAKE_INSTALL_PREFIX=#{install_dir}/embedded"
]
else
# Patch the code to download config.guess and config.sub. We instead copy
# the ones we vendor to the correct location.
patch source: 'remove-config-guess-sub-download.patch'
command './autogen.sh', env: env
update_config_guess(target: 'config')
configure_command = [
'./configure',
'--disable-zstd',
"--prefix=#{install_dir}/embedded"
]
end
command configure_command.join(' '), env: env
make "-j #{workers} install", env: env
end
#
# Copyright 2012-2014 Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libtool'
default_version '2.4.6'
license 'GPL-2.0'
license_file 'COPYING'
skip_transitive_dependency_licensing true
dependency 'config_guess'
# NOTE: 2.4.6 2.4.2 do not compile on solaris2 yet
version('2.4.6') { source sha256: 'e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3' }
source url: "https://ftp.gnu.org/gnu/libtool/libtool-#{version}.tar.gz"
relative_path "libtool-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
update_config_guess
update_config_guess(target: 'libltdl/config')
command './configure' \
" --prefix=#{install_dir}/embedded", env: env
make env: env
make 'install', env: env
end
project.exclude 'embedded/share/libtool'
project.exclude 'embedded/bin/libtool'
project.exclude 'embedded/bin/libtoolize'
#
# Copyright:: Chef Software Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libxml2'
default_version '2.13.1'
license 'MIT'
license_file 'COPYING'
skip_transitive_dependency_licensing true
dependency 'zlib'
dependency 'libiconv'
dependency 'liblzma'
dependency 'config_guess'
# version_list: url=https://download.gnome.org/sources/libxml2/2.12/ filter=*.tar.xz
version('2.13.1') { source sha256: '25239263dc37f5f55a5393eff27b35f0b7d9ea4b2a7653310598ea8299e3b741' }
minor_version = version.sub(/.\d*$/, "")
source url: "https://download.gnome.org/sources/libxml2/#{minor_version}/libxml2-#{version}.tar.xz"
relative_path "libxml2-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
configure_command = [
"--with-zlib=#{install_dir}/embedded",
"--with-iconv=#{install_dir}/embedded",
"--with-lzma=#{install_dir}/embedded",
'--with-sax1', # required for nokogiri to compile
'--without-python',
'--without-icu'
]
update_config_guess
configure(*configure_command, env: env)
make "-j #{workers}", env: env
make 'install', env: env
end
project.exclude 'embedded/lib/xml2Conf.sh'
project.exclude 'embedded/bin/xml2-config'
project.exclude 'embedded/lib/cmake/libxml2/libxml2-config.cmake'
#
# Copyright 2012-2014 Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libxslt'
default_version '1.1.41'
license 'MIT'
license_file 'COPYING'
skip_transitive_dependency_licensing true
dependency 'libxml2'
dependency 'liblzma'
dependency 'config_guess'
# versions_list: url=https://download.gnome.org/sources/libxslt/1.1/ filter=*.tar.xz
version('1.1.41') { source sha256: '3ad392af91115b7740f7b50d228cc1c5fc13afc1da7f16cb0213917a37f71bda' }
source url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-#{version}.tar.xz"
relative_path "libxslt-#{version}"
build do
update_config_guess
env = with_standard_compiler_flags(with_embedded_path)
# the libxslt configure script iterates directories specified in
# --with-libxml-prefix looking for the libxml2 config script. That
# iteration treats colons as a delimiter so we are using a cygwin
# style path to accommodate
configure_commands = [
"--with-libxml-prefix=#{install_dir.sub('C:', '/C')}/embedded",
'--without-python',
'--without-crypto'
]
configure(*configure_commands, env: env)
make "-j #{workers}", env: env
make 'install', env: env
end
project.exclude 'embedded/lib/xsltConf.sh'
project.exclude 'embedded/bin/xslt-config'
#
# Copyright:: Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'libyaml'
default_version '0.2.5'
license 'MIT'
license_file 'LICENSE'
skip_transitive_dependency_licensing true
dependency 'config_guess'
# versions_list: https://pyyaml.org/download/libyaml/ filter=*.tar.gz
version('0.2.5') { source sha256: 'c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4' }
source url: "https://pyyaml.org/download/libyaml/yaml-#{version}.tar.gz"
relative_path "yaml-#{version}"
build do
env = with_standard_compiler_flags(with_embedded_path)
update_config_guess(target: 'config')
configure '--enable-shared', env: env
make "-j #{workers}", env: env
make "-j #{workers} install", env: env
end
#
# Copyright 2013-2014 Chef Software, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name 'logrotate'
version = Gitlab::Version.new(name, '3.21.0')
default_version version.print(false)
license 'GPL-2.0'
license_file 'COPYING'
skip_transitive_dependency_licensing true
dependency 'popt'
source git: version.remote
build do
env = with_standard_compiler_flags(with_embedded_path)
command './autogen.sh', env: env
command './configure' " --prefix=#{install_dir}/embedded --without-selinux", env: env
make "-j #{workers}", env: env
make 'install', env: env
end
#
## Copyright:: Copyright (c) 2015 GitLab B.V.
## License:: Apache License, Version 2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
#
name 'mattermost'
default_version '9.9.0'
source url: "https://releases.mattermost.com/#{version}/mattermost-team-#{version}-linux-amd64.tar.gz",
sha256: '83e982f193f3f81cd276fa78c6786b407a671b15f9f0cb927cc44883f231dbdf'
relative_path 'mattermost'
license_name = 'GITLAB-MATTERMOST-COMPILED-LICENSE.txt'
license_path = File.join(install_dir, 'embedded/service/mattermost', license_name)
license 'MIT with Trademark Protection'
license_file license_path
skip_transitive_dependency_licensing true
build do
mkdir "#{install_dir}/embedded/bin"
move 'bin/mattermost', "#{install_dir}/embedded/bin/mattermost"
move 'bin/mmctl', "#{install_dir}/embedded/bin/mmctl"
mkdir "#{install_dir}/embedded/service/mattermost"
copy 'templates', "#{install_dir}/embedded/service/mattermost/templates"
copy 'i18n', "#{install_dir}/embedded/service/mattermost/i18n"
copy 'fonts', "#{install_dir}/embedded/service/mattermost/fonts"
copy 'client', "#{install_dir}/embedded/service/mattermost/client"
copy 'config/config.json', "#{install_dir}/embedded/service/mattermost/config.json.template"
copy 'prepackaged_plugins', "#{install_dir}/embedded/service/mattermost/prepackaged_plugins"
block do
File.write(license_path, GITLAB_MATTERMOST_COMPILED_LICENSE)
File.write(File.join(install_dir, 'embedded/service/mattermost/VERSION'), version)
end
end
GITLAB_MATTERMOST_COMPILED_LICENSE = <<-EOH.freeze
GitLab Mattermost Compiled License
(MIT with Trademark Protection)
**Note: this license does not cover source code, for information on source code licensing see http://www.mattermost.org/license/
Copyright (c) 2015 Mattermost, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software;
The receiver of the Software will not remove or alter any product identification, trademark, copyright or other notices embedded within or appearing within or on the Software;
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
EOH
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment