Commit 79e10cb2 authored by Julien Muchembled's avatar Julien Muchembled

Do not harcode version of wanted GCC

parent 3f930869
[buildout]
extends =
../gcc/buildout.cfg
../numpy/openblas.cfg
../cython/buildout.cfg
../scipy/buildout.cfg
......@@ -20,8 +19,6 @@ setup-eggs =
${scipy:egg}
${cython:egg}
rpath =
${gcc:location}/lib
${gcc:location}/lib64
${openblas:location}/lib
[PyWavelets-repository]
......@@ -42,6 +39,4 @@ setup-eggs =
${numpy:egg}
${scipy:egg}
rpath =
${gcc:location}/lib
${gcc:location}/lib64
${openblas:location}/lib
......@@ -105,15 +105,14 @@ toolchain {
target_system_name: "local"
toolchain_identifier: "local_linux"
tool_path { name: "ar" path: "{{ binutils_path }}/ar" }
tool_path { name: "compat-ld" path: "{{ binutils_path }}/ld" }
tool_path { name: "cpp" path: "{{ cpp_path }}" }
tool_path { name: "ar" path: "{{ binutils_location }}/bin/ar" }
tool_path { name: "compat-ld" path: "{{ gcc_location }}/bin/ld" }
tool_path { name: "cpp" path: "{{ gcc_location }}/bin/cpp" }
tool_path { name: "dwp" path: "/usr/bin/dwp" }
tool_path { name: "gcc" path: "{{ gcc_path }}" }
tool_path { name: "gcc" path: "{{ gcc_location }}/bin/gcc" }
cxx_flag: "-std=c++0x"
linker_flag: "-lstdc++"
linker_flag: "-B/usr/bin/"
linker_flag: "-Wl,rpath={{ gcc_lib64_path }}"
# TODO(bazel-team): In theory, the path here ought to exactly match the path
# used by gcc. That works because bazel currently doesn't track files at
......@@ -122,19 +121,19 @@ toolchain {
cxx_builtin_include_directory: "/usr/lib/gcc/"
cxx_builtin_include_directory: "/usr/local/include"
cxx_builtin_include_directory: "/usr/include"
cxx_builtin_include_directory: "{{ include_path }}"
tool_path { name: "gcov" path: "{{ gconv_path }}" }
cxx_builtin_include_directory: "{{ gcc_location }}/include"
tool_path { name: "gcov" path: "{{ gcc_location }}/bin/gconv" }
# C(++) compiles invoke the compiler (as that is the one knowing where
# to find libraries), but we provide LD so other rules can invoke the linker.
tool_path { name: "ld" path: "{{ binutils_path }}/ld" }
tool_path { name: "ld" path: "{{ gcc_location }}/bin/ld" }
tool_path { name: "nm" path: "{{ binutils_path }}/nm" }
tool_path { name: "objcopy" path: "{{ binutils_path }}/objcopy" }
tool_path { name: "nm" path: "{{ binutils_location }}/bin/nm" }
tool_path { name: "objcopy" path: "{{ binutils_location }}/bin/objcopy" }
objcopy_embed_flag: "-I"
objcopy_embed_flag: "binary"
tool_path { name: "objdump" path: "{{ binutils_path }}/objdump" }
tool_path { name: "strip" path: "{{ binutils_path }}/strip" }
tool_path { name: "objdump" path: "{{ binutils_location }}/bin/objdump" }
tool_path { name: "strip" path: "{{ binutils_location }}/bin/strip" }
# Anticipated future default.
unfiltered_cxx_flag: "-no-canonical-prefixes"
......
[buildout]
extends =
../gcc/buildout.cfg
../defaults.cfg
../unzip/buildout.cfg
../zip/buildout.cfg
parts =
......@@ -22,19 +22,9 @@ mode = 640
filename = bazel_tools_cpp_CROSSTOOL
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${:location}/${:filename}
cpp_path = ${gcc:location}/bin/cpp
gcc_path = ${gcc:location}/bin/gcc
binutils_path = ${binutils:location}/bin
gconv_path = ${gcc:location}/bin/gconv
include_path = ${gcc:location}/include
gcc_lib64_path = ${gcc:location}/lib64
context =
key cpp_path template-bazel-crosstool:cpp_path
key gcc_path template-bazel-crosstool:gcc_path
key binutils_path template-bazel-crosstool:binutils_path
key gconv_path template-bazel-crosstool:gconv_path
key include_path template-bazel-crosstool:include_path
key gcc_lib64_path template-bazel-crosstool:gcc_lib64_path
key gcc_location gcc:prefix
key binutils_location binutils:location
[template-bazel-src-main-cpp-build]
recipe = slapos.recipe.template:jinja2
......@@ -43,9 +33,11 @@ mode = 640
filename = bazel_src_main_cpp_BUILD
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${:location}/${:filename}
linkopts = -Wl,-rpath,${gcc:location}/lib64
# We previously passed an argument that we don't want anymore. Rather than
# changing templates, we pass a dummy argument that will have no effect.
linkopts = -DSLAPOS_DUMMY=
context =
key linkopts template-bazel-src-main-cpp-build:linkopts
key linkopts :linkopts
[template-bazel-src-main-tools-build]
<= template-bazel-src-main-cpp-build
......@@ -67,9 +59,6 @@ bazel-src-main-tools-build-path = ${template-bazel-src-main-tools-build:rendered
bazel-src-tools-singlejar-build-path = ${template-bazel-src-tools-singlejar-build:rendered}
unzip-bin = ${unzip:location}/bin
zip-bin = ${zip:location}/bin
gcc-bin = ${gcc:location}/bin
gcc-lib = ${gcc:location}/lib
gcc-lib64 = ${gcc:location}/lib64
java_home = ${zulu:location}
bazelrc = ${:_profile_base_location_}/bazelrc
install =
......@@ -98,19 +87,10 @@ install =
path = ':'.join((
options['unzip-bin'],
options['zip-bin'],
options['gcc-bin'],
os.environ['PATH']
))
env = {'JAVA_HOME':options['java_home'],
'PATH':path,
'LD_LIBRARY_PATH':':'.join((
options['gcc-lib'],
options['gcc-lib64'],
os.environ.get('LD_LIBRARY_PATH', '')
)),
'LDFLAGS':'-Wl,-rpath='+options['gcc-lib64'],
'CC':options['gcc-bin']+'/gcc',
'CXX':options['gcc-bin']+'/g++',
'BAZELRC':options['bazelrc'],
'VERBOSE':'yes',
}
......
......@@ -3,7 +3,6 @@ parts =
boost-lib
extends =
../bzip2/buildout.cfg
../gcc/buildout.cfg
../zlib/buildout.cfg
../xz-utils/buildout.cfg
......@@ -17,9 +16,8 @@ configure-command = ./bootstrap.sh --prefix=${:location} --without-icu
make-binary =
make-options =
make-targets = for a in $MAKEFLAGS; do case $a in -j*) j=$a; break;; esac; done;
./b2 $j link=shared dll-path=${:location}/lib:${bzip2:location}/lib:${gcc:location}/lib:${gcc:location}/lib64:${zlib:location}/lib:${xz-utils:location}/lib install
./b2 $j link=shared dll-path=${:location}/lib:${bzip2:location}/lib:${xz-utils:location}/lib:${zlib:location}/lib install
environment =
PATH=${gcc:location}/bin:%(PATH)s
BZIP2_INCLUDE=${bzip2:location}/include
BZIP2_LIBPATH=${bzip2:location}/lib
ZLIB_INCLUDE=${zlib:location}/include
......
......@@ -8,8 +8,6 @@ parts =
[gowork]
# Caddy 1.x+ uses go modules, for which gowork does not work yet
golang = ${golang1.12:location}
gcc-bin-directory = ${golang1.12:gcc-bin-directory}
install =
[gowork.goinstall]
......
......@@ -4,6 +4,11 @@ extends =
python3/buildout.cfg
python = python
# Unless a software release needs several versions of either Python or GCC
# at the same time, the [pythonX.Y] & [gcc-X.Y] must not be referred directly,
# even if a component works only with specific versions.
# There may be exceptions in profiles that were written before this one.
[python]
recipe = slapos.recipe.build
part = python2.7
......@@ -17,3 +22,50 @@ update =
PATH = os.environ['PATH']
if path not in PATH.split(os.pathsep):
os.environ['PATH'] = path + os.pathsep + PATH
depends = ${gcc:recipe}
[gcc]
recipe = slapos.recipe.build
# Latest version provided by SlapOS.
part = gcc-8.2
# Minimum version for all components that might be required for
# slapos.rebootstrap (see https://bugs.python.org/issue34112 about Python 3.7+).
min_version = 5.4
init =
import os, subprocess
parse_version = lambda ver: tuple(map(int, ver.strip().split('.')))
try:
current = subprocess.check_output(('gcc', '-dumpfullversion'),
stderr=subprocess.STDOUT,
universal_newlines=True).strip()
except subprocess.CalledProcessError: # BBB: old GCC
current = subprocess.check_output(('gcc', '-dumpversion'),
universal_newlines=True).strip()
self.system_version = current
# If we're still going to use the same GCC,
# the conditions have no impact on the dependant parts.
min_version = options.pop('min_version', None)
max_version = options.pop('max_version', None)
###
if (parse_version(min_version or current)
<= parse_version(current)
<= parse_version(max_version or current)):
del options['part']
for path in os.getenv('PATH', '').split(os.pathsep): # PY3: shutil.which
gcc = os.path.join(path, 'gcc')
if os.access(gcc, os.X_OK) and not os.path.isdir(gcc):
options['prefix'] = os.path.dirname(path)
break
else:
options['prefix'] = self.buildout[options['part']]['location']
options.barrier()
update =
if 'part' in options:
import os
env = os.environ
env['PATH'] = os.pathsep.join((
os.path.join(options['prefix'], 'bin'),
env['PATH']
))
else:
print("Using system GCC (%s)" % self.system_version)
......@@ -11,12 +11,16 @@ extends =
../zlib/buildout.cfg
parts =
gcc
gcc-8.2
[gcc-common]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/gcc/gcc-${:version}/gcc-${:version}.tar.xz
pre-configure =
set %(location)s/bin
mkdir -p $1
ln -s ${binutils:location}/bin/ld $1/ld
configure-options =
--disable-bootstrap
--disable-multilib
......@@ -25,17 +29,33 @@ configure-options =
--with-mpc=${mpc:location}
--enable-languages="c,c++,fortran"
--with-isl=${isl:location}
--with-ld=${binutils:location}/bin/ld
--with-ld=@@LOCATION@@/bin/ld
--with-as=${binutils:location}/bin/as
post-install =
cd '@@LOCATION@@/bin'
cd '%(location)s/bin'
ln -s gcc cc
rm ld
for x in `for x in %(location)s/lib*/*.so; do echo $${x%%/*}; done |sort -u`
do set $1:$x "$2 -rpath=$x"
done
cat <<EOF >ld
#!/bin/sh -e
case \$#:\$1 in 0:|1:-*) ;; *)
if [ "\$LD_RUN_PATH" ]
then LD_RUN_PATH=\$LD_RUN_PATH$1
else set -- "\$@" $2
fi
;;
esac
exec ${binutils:location}/bin/ld "\$@"
EOF
chmod +x ld
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-Wl,-rpath=${gmp:location}/lib -Wl,-rpath=${isl:location}/lib -Wl,-rpath=${mpc:location}/lib -Wl,-rpath=${mpfr:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
PATH=${binutils:location}/bin:${gettext:location}/bin:${perl:location}/bin:${tar:location}/bin:%(PATH)s
[gcc]
[gcc-5.5]
<= gcc-common
version = 5.5.0
md5sum = 0f70424213b4a1113c04ba66ddda0c1f
......@@ -52,7 +72,7 @@ version = 8.2.0
md5sum = 4ab282f414676496483b3e1793d07862
[gcc-minimal]
<= gcc
<= gcc-5.5
configure-options =
--disable-bootstrap
--disable-multilib
......
[buildout]
extends =
../gcc/buildout.cfg
../gettext/buildout.cfg
../glib/buildout.cfg
../libsigc/buildout.cfg
......@@ -19,8 +18,7 @@ pkg_config_depends = ${glib:location}/lib/pkgconfig:${libsigc:location}/lib/pkgc
configure-options =
--disable-documentation
environment =
PATH=${gcc:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:${glib:location}/bin:%(PATH)s
PATH=${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:${glib:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
CPPFLAGS=-I${gettext:location}/include
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
LDFLAGS=-L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
......@@ -17,12 +17,9 @@ configure-command = :
location = @@LOCATION@@
make-binary =
make-targets= cd src && ./all.bash && cp -alf .. ${:location}
# gcc version to use
gcc-bin-directory = ${gcc-8.2:location}/bin
# some testdata files have an issue with slapos.extension.strip.
post-install = ${findutils:location}/bin/find ${:location}/src -type d -name testdata -exec rm -rf {} \; || true
environment =
PATH=${:gcc-bin-directory}:%(PATH)s
GOROOT_FINAL=${:location}
${:environment-extra}
......@@ -106,9 +103,6 @@ depends = ${gowork.goinstall:recipe}
# go version used for the workspace (possible to override in applications)
golang = ${golang1.10:location}
# gcc version must be compatible with go version selected
gcc-bin-directory = ${golang1.10:gcc-bin-directory}
# no special build flags by default
buildflags =
......@@ -120,7 +114,6 @@ recipe = plone.recipe.command
command = :
# env.sh for compiling and running go programs
[gowork]
env.sh = ${gowork-env.sh:output}
[gowork-env.sh]
......@@ -128,7 +121,7 @@ recipe = slapos.recipe.template
url = ${:_profile_base_location_}/goenv.sh.in
output = ${gowork:directory}/env.sh
depends = ${gowork.mkdir:recipe}
md5sum = 7eaad1f9aabd3cfad554975098c5d4c3
md5sum = 6bcf96cf18ea68ce6e378ed8d49346a3
[gowork.mkdir]
# NOTE do not use slapos.cookbook:mkdirectory here - if anything in software (not instance)
......
......@@ -3,7 +3,7 @@
# ---- 8< ---- (buildout substitution here)
# PATH so that go & friends work out of the box
export PATH=${gowork:golang}/bin:${git:location}/bin:${pkgconfig:location}/bin:${buildout:bin-directory}:${gowork:gcc-bin-directory}:$PATH
export PATH=${gowork:golang}/bin:${git:location}/bin:${pkgconfig:location}/bin:${buildout:bin-directory}:${gcc:prefix}/bin:$PATH
X=${gowork:directory}
export PKG_CONFIG_PATH=$(echo -n "${gowork:cpkgpath}" |tr '\n' ':'):$PKG_CONFIG_PATH
......
......@@ -2,7 +2,6 @@
extends =
../bzip2/buildout.cfg
../freetype/buildout.cfg
../gcc/buildout.cfg
../gettext/buildout.cfg
../glibmm/buildout.cfg
../gtk-2/buildout.cfg
......@@ -23,11 +22,10 @@ configure-options =
--disable-static
--disable-documentation
environment =
PATH=${freetype:location}/bin:${gcc:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PATH=${freetype:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
CPPFLAGS=-I${libX11:location}/include -I${libXrender:location}/include -I${renderext:location}/include -I${xproto:location}/include
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -L${libX11:location}/lib -Wl,-rpath=${libX11:location}/lib -L${libXext:location}/lib -Wl,-rpath=${libXext:location}/lib -L${libXrender:location}/lib -Wl,-rpath=${libXrender:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
LDFLAGS=-L${libX11:location}/lib -Wl,-rpath=${libX11:location}/lib -L${libXext:location}/lib -Wl,-rpath=${libXext:location}/lib -L${libXrender:location}/lib -Wl,-rpath=${libXrender:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
[pangomm]
recipe = slapos.recipe.cmmi
......@@ -38,10 +36,9 @@ configure-options =
--disable-static
--disable-documentation
environment =
PATH=${gcc:location}/bin:${glib:location}/bin:${freetype:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PATH=${glib:location}/bin:${freetype:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${harfbuzz:location}/lib -Wl,-rpath=${harfbuzz:location}/lib
LDFLAGS=-L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${harfbuzz:location}/lib -Wl,-rpath=${harfbuzz:location}/lib
[atkmm]
recipe = slapos.recipe.cmmi
......@@ -52,10 +49,9 @@ configure-options =
--disable-static
--disable-documentation
environment =
PATH=${gcc:location}/bin:${glib:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PATH=${glib:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
LDFLAGS=-L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
[gtkmm]
recipe = slapos.recipe.cmmi
......@@ -66,7 +62,6 @@ configure-options =
--disable-static
--disable-documentation
environment =
PATH=${gcc:location}/bin:${gdk-pixbuf:location}/bin:${glib:location}/bin:${gtk-2:location}/bin:${pango:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PATH=${gdk-pixbuf:location}/bin:${glib:location}/bin:${gtk-2:location}/bin:${pango:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${harfbuzz:location}/lib -Wl,-rpath=${harfbuzz:location}/lib
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${harfbuzz:location}/lib -Wl,-rpath=${harfbuzz:location}/lib
......@@ -26,7 +26,6 @@ install =
lab.nexedi.com/nexedi/helloweb/go/...
golang = ${golang1.12:location}
gcc-bin-directory = ${golang1.12:gcc-bin-directory}
# -*- go -*-
[helloweb-go]
......
[buildout]
extends =
../gcc/buildout.cfg
parts = icu4c
[icu4c]
......@@ -17,14 +15,6 @@ configure-options =
patches =
${:_profile_base_location_}/fix-glibc2.26-ftbfs.patch#f1622be16964029fc66a70b8f9e1693c
[icu4c-slaposgcc]
# need for onlyoffice-core
<= icu4c
environment =
PATH=${gcc:location}/bin:%(PATH)s
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64
[icu]
<= icu4c
......
......@@ -6,7 +6,6 @@ extends =
../cmake/buildout.cfg
../freetype/buildout.cfg
../garbage-collector/buildout.cfg
../gcc/buildout.cfg
../gettext/buildout.cfg
../glibmm/buildout.cfg
../gtk-2/buildout.cfg
......@@ -32,10 +31,9 @@ md5sum = bda73a3dd5ff2f30b5956764399db6e7
configure-options =
--disable-static
environment =
PATH=${gcc:location}/bin:${glib:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PATH=${glib:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${atk:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig:${glibmm:location}/lib/pkgconfig:${libsigc:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
LDFLAGS=-L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
[inkscape]
recipe = slapos.recipe.cmmi
......@@ -53,8 +51,8 @@ configure-options =
-DWITH_LIBVISIO=OFF
-DWITH_LIBWPG=OFF
environment =
PATH=${cmake:location}/bin:${freetype:location}/bin:${gcc:location}/bin:${gdk-pixbuf:location}/bin:${gettext:location}/bin:${glib:location}/bin:${intltool:location}/bin:${libxml2:location}/bin:${pango:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PATH=${cmake:location}/bin:${freetype:location}/bin:${gdk-pixbuf:location}/bin:${gettext:location}/bin:${glib:location}/bin:${intltool:location}/bin:${libxml2:location}/bin:${pango:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
CMAKE_INCLUDE_PATH=${boost-lib:location}/include:${freetype:location}/include:${garbage-collector:location}/include:${libjpeg:location}/include:${lcms2:location}/include:${libpng:location}/include:${zlib:location}/include
CMAKE_LIBRARY_PATH=${boost-lib:location}/lib:${freetype:location}/lib:${garbage-collector:location}/lib:${gcc:location}/lib:${gcc:location}/lib64:${lcms2:location}/lib:${libjpeg:location}/lib:${libpng:location}/lib:${zlib:location}/lib
LDFLAGS=-L${atk:location}/lib -Wl,-rpath=${atk:location}/lib -L${atkmm:location}/lib -Wl,-rpath=${atkmm:location}/lib -L${boost-lib:location}/lib -Wl,-rpath=${boost-lib:location}/lib -L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${cairo:location}/lib -Wl,-rpath=${cairo:location}/lib -L${cairomm:location}/lib -Wl,-rpath=${cairomm:location}/lib -L${fontconfig:location}/lib -Wl,-rpath=${fontconfig:location}/lib -L${freetype:location}/lib -Wl,-rpath=${freetype:location}/lib -L${garbage-collector:location}/lib -Wl,-rpath=${garbage-collector:location}/lib -Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -L${gdk-pixbuf:location}/lib -Wl,-rpath=${gdk-pixbuf:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${glib:location}/lib -Wl,-rpath=${glib:location}/lib -L${glibmm:location}/lib -Wl,-rpath=${glibmm:location}/lib -L${gsl:location}/lib -Wl,-rpath=${gsl:location}/lib -L${gtk-2:location}/lib -Wl,-rpath=${gtk-2:location}/lib -L${gtkmm:location}/lib -Wl,-rpath=${gtkmm:location}/lib -L${lcms2:location}/lib -Wl,-rpath=${lcms2:location}/lib -L${libX11:location}/lib -Wl,-rpath=${libX11:location}/lib -L${libXext:location}/lib -Wl,-rpath=${libXext:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${libsigc:location}/lib -Wl,-rpath=${libsigc:location}/lib -L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${libxslt:location}/lib -Wl,-rpath=${libxslt:location}/lib -L${pango:location}/lib -Wl,-rpath=${pango:location}/lib -L${pangomm:location}/lib -Wl,-rpath=${pangomm:location}/lib -L${popt:location}/lib -Wl,-rpath=${popt:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
CMAKE_LIBRARY_PATH=${boost-lib:location}/lib:${freetype:location}/lib:${garbage-collector:location}/lib:${lcms2:location}/lib:${libjpeg:location}/lib:${libpng:location}/lib:${zlib:location}/lib
LDFLAGS=-L${atk:location}/lib -Wl,-rpath=${atk:location}/lib -L${atkmm:location}/lib -Wl,-rpath=${atkmm:location}/lib -L${boost-lib:location}/lib -Wl,-rpath=${boost-lib:location}/lib -L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${cairo:location}/lib -Wl,-rpath=${cairo:location}/lib -L${cairomm:location}/lib -Wl,-rpath=${cairomm:location}/lib -L${fontconfig:location}/lib -Wl,-rpath=${fontconfig:location}/lib -L${freetype:location}/lib -Wl,-rpath=${freetype:location}/lib -L${garbage-collector:location}/lib -Wl,-rpath=${garbage-collector:location}/lib -L${gdk-pixbuf:location}/lib -Wl,-rpath=${gdk-pixbuf:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${glib:location}/lib -Wl,-rpath=${glib:location}/lib -L${glibmm:location}/lib -Wl,-rpath=${glibmm:location}/lib -L${gsl:location}/lib -Wl,-rpath=${gsl:location}/lib -L${gtk-2:location}/lib -Wl,-rpath=${gtk-2:location}/lib -L${gtkmm:location}/lib -Wl,-rpath=${gtkmm:location}/lib -L${lcms2:location}/lib -Wl,-rpath=${lcms2:location}/lib -L${libX11:location}/lib -Wl,-rpath=${libX11:location}/lib -L${libXext:location}/lib -Wl,-rpath=${libXext:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${libsigc:location}/lib -Wl,-rpath=${libsigc:location}/lib -L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${libxslt:location}/lib -Wl,-rpath=${libxslt:location}/lib -L${pango:location}/lib -Wl,-rpath=${pango:location}/lib -L${pangomm:location}/lib -Wl,-rpath=${pangomm:location}/lib -L${popt:location}/lib -Wl,-rpath=${popt:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
......@@ -8,6 +8,10 @@ parts = jsl
recipe = slapos.recipe.build
url = http://www.javascriptlint.com/download/jsl-0.3.0-src.tar.gz
md5sum = 2b94ffa4fab07acabe0c5e73cd49bcdf
init =
import os
# Bypass slapos gcc if any because slapos ld can't find -lm (why?).
self.path = os.environ['PATH']
install =
import os
import sys
......@@ -15,5 +19,5 @@ install =
md5sum = options['md5sum']
extract_dir = self.extract(self.download(url, md5sum))
workdir = guessworkdir(extract_dir)
os.chdir(os.path.join(workdir, 'src'))
os.system("make -f Makefile.ref -j 1 DIST='%s' all export" % location)
call(('make', '-f', 'Makefile.ref', '-j1', 'DIST=' + location, 'all', 'export'),
cwd=os.path.join(workdir, 'src'), env=dict(os.environ, PATH=self.path))
[buildout]
extends =
../gcc/buildout.cfg
../tokyocabinet/buildout.cfg
../messagepack/buildout.cfg
../openssl/buildout.cfg
......@@ -25,7 +24,5 @@ configure-options =
environment =
CPPFLAGS=-I${zlib:location}/include -I${openssl:location}/include
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -L${zlib:location}/lib -L${openssl:location}/lib -Wl,-rpath=${tokyocabinet:location}/lib -Wl,-rpath=${messagepack:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${openssl:location}/lib
PATH=${gcc:location}/bin:${patch:location}/bin:%(PATH)s
# KumoFS is known not to build with gcc>6, so we use our own gcc which is 5.5
\ No newline at end of file
LDFLAGS=-L${zlib:location}/lib -L${openssl:location}/lib -Wl,-rpath=${tokyocabinet:location}/lib -Wl,-rpath=${messagepack:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${openssl:location}/lib
PATH=${patch:location}/bin:%(PATH)s
......@@ -39,5 +39,4 @@ configure-options =
make-options =
-C build
environment =
PATH=${gcc:location}/bin:${patch:location}/bin:%(PATH)s
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
PATH=${patch:location}/bin:%(PATH)s
[buildout]
extends =
../gcc/buildout.cfg
../m4/buildout.cfg
../perl/buildout.cfg
../xz-utils/buildout.cfg
......@@ -16,6 +15,4 @@ md5sum = 70bcbde2c900e4925d6ef4bf50954195
configure-options =
--disable-documentation
environment =
PATH=${gcc:location}/bin:${m4:location}/bin:${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64
PATH=${m4:location}/bin:${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
......@@ -21,7 +21,6 @@ extends =
../xz-utils/buildout.cfg
../zlib/buildout.cfg
../unixodbc/buildout.cfg
../gcc/buildout.cfg
../zstd/buildout.cfg
parts =
......@@ -69,13 +68,13 @@ configure-options =
-DCMAKE_INCLUDE_PATH=${unixodbc:location}/include
-DCMAKE_LIBRARY_PATH=${unixodbc:location}/lib
CMAKE_CFLAGS = -I${bzip2:location}/include -I${jemalloc:location}/include -I${libaio:location}/include -I${libxml2:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${pcre:location}/include -I${readline5:location}/include -I${xz-utils:location}/include -I${zlib:location}/include -I${unixodbc:location}/include -I${lz4:location}/include -I${snappy:location}/include -I${zstd:location}/include
CMAKE_LIBRARY_PATH = ${bzip2:location}/lib:${jemalloc:location}/lib:${libaio:location}/lib:${libxml2:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${pcre:location}/lib:${readline5:location}/lib:${xz-utils:location}/lib:${zlib:location}/lib:${unixodbc:location}/lib:${lz4:location}/lib:${snappy:location}/lib:${zstd:location}/lib:${gcc:location}/lib:${gcc:location}/lib64
CMAKE_LIBRARY_PATH = ${bzip2:location}/lib:${jemalloc:location}/lib:${libaio:location}/lib:${libxml2:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${pcre:location}/lib:${readline5:location}/lib:${xz-utils:location}/lib:${zlib:location}/lib:${unixodbc:location}/lib:${lz4:location}/lib:${snappy:location}/lib:${zstd:location}/lib
environment =
CMAKE_PROGRAM_PATH=${cmake:location}/bin
CMAKE_INCLUDE_PATH=${bzip2:location}/include:${libaio:location}/include:${libaio:location}/include:${libxml2:location}/include:${ncurses:location}/include:${openssl:location}/include:${pcre:location}/include:${readline5:location}/include:${xz-utils:location}/include:${zlib:location}/include:${unixodbc:location}/include:${lz4:location}/include:${snappy:location}/include:${zstd:location}/include
CMAKE_LIBRARY_PATH=${:CMAKE_LIBRARY_PATH}
LDFLAGS=-L${bzip2:location}/lib -L${jemalloc:location}/lib -L${libaio:location}/lib -L${pcre:location}/lib -L${xz-utils:location}/lib -L${zlib:location}/lib -L${unixodbc:location}/lib -L${lz4:location}/lib -L${snappy:location}/lib -L${zstd:location}/lib
PATH=${gcc:location}/bin:${patch:location}/bin:%(PATH)s
PATH=${patch:location}/bin:%(PATH)s
patch-options = -p1
patches =
https://sources.debian.org/data/main/m/mariadb-10.3/1:10.3.22-0+deb10u1/debian/patches/0024-Revert-to-using-system-pcre-library.patch#1c6a0f2634f5a56122299674b77b1131
......
......@@ -7,7 +7,6 @@ extends =
../openssl/buildout.cfg
../zlib/buildout.cfg
../python-2.7/buildout.cfg
../gcc/buildout.cfg
parts =
nodejs
......@@ -57,10 +56,10 @@ configure-options =
--shared-openssl-libpath=${:openssl_location}/lib
environment =
HOME=@@LOCATION@@
PATH=${gcc:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:openssl_location}/lib/pkgconfig/
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64 -Wl,-rpath=${:openssl_location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
LDFLAGS=-Wl,-rpath=${:openssl_location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
LD_LIBRARY_PATH=${:openssl_location}/lib
[nodejs-8.6.0-output]
......
[buildout]
extends =
buildout.cfg
../gcc/buildout.cfg
../openblas/buildout.cfg
[numpy-env]
PATH = ${gcc:location}/bin:%(PATH)s
OPENBLAS = ${openblas:location}/lib/libopenblas.so
LAPACK = ${openblas:location}/lib/libopenblas.so
ATLAS = ${openblas:location}/lib/libopenblas.so
......@@ -14,6 +11,4 @@ ATLAS = ${openblas:location}/lib/libopenblas.so
[numpy]
environment = numpy-env
rpath =
${gcc:location}/lib
${gcc:location}/lib64
${openblas:location}/lib
[buildout]
extends =
../binutils/buildout.cfg
../gcc/buildout.cfg
../libxml2/buildout.cfg
../zlib/buildout.cfg
../icu/buildout.cfg
......@@ -21,9 +20,9 @@ md5sum = 9cd1cd731202511e475971eee58ba7b6
configure-command = true
make-targets = lib bin
environment =
PATH=${binutils:location}/bin:${gcc:location}/bin:${qt5-qmake:location}/bin:%(PATH)s
CXXFLAGS=-I${libxml2:location}/include -I${zlib:location}/include -I${icu4c-slaposgcc:location}/include -I${boost-lib:location}/include -Wno-comment -Wno-deprecated-declarations -Wno-endif-labels -Wno-parentheses -Wno-reorder -Wno-sign-compare -Wno-switch -Wno-unknown-pragmas -Wno-unused
LDFLAGS=-L${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib -L${gcc:location}/lib64 -Wl,-rpath=${gcc:location}/lib64 -L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${icu4c-slaposgcc:location}/lib -Wl,-rpath=${icu4c-slaposgcc:location}/lib -L${boost-lib:location}/lib -Wl,-rpath=${boost-lib:location}/lib -Wl,-rpath=${:location}/lib
PATH=${binutils:location}/bin:${qt5-qmake:location}/bin:%(PATH)s
CXXFLAGS=-I${libxml2:location}/include -I${zlib:location}/include -I${icu4c:location}/include -I${boost-lib:location}/include -Wno-comment -Wno-deprecated-declarations -Wno-endif-labels -Wno-parentheses -Wno-reorder -Wno-sign-compare -Wno-switch -Wno-unknown-pragmas -Wno-unused
LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${icu4c:location}/lib -Wl,-rpath=${icu4c:location}/lib -L${boost-lib:location}/lib -Wl,-rpath=${boost-lib:location}/lib -Wl,-rpath=${:location}/lib
post-install =
set -x
mkdir -p ${:location}/bin ${:location}/lib
......
......@@ -6,9 +6,6 @@ extends =
parts =
openblas
extends =
../gcc/buildout.cfg
[openblas]
recipe = slapos.recipe.cmmi
shared = true
......@@ -29,6 +26,9 @@ build-common-options = BINARY="$(uname -m | grep -q x86_64 && echo 64 || echo 32
# TARGET=HASWELL
build-ext-options =
# Fortran is required for LAPACK, which is required for matplotlib.
pre-configure = type gfortran
# First try with auto-detected target and if it fails try TARGET=GENERIC.
configure-command =
make ${:build-common-options} ${:build-ext-options} || (make -j1 clean && make ${:build-common-options} TARGET=GENERIC)
......@@ -37,6 +37,4 @@ make-options =
make-targets =
PREFIX="@@LOCATION@@" install
environment =
PATH=${gcc:location}/bin:${patch:location}/bin:${perl:location}/bin:%(PATH)s
LD_LIBRARY_PATH=${gcc:location}/lib:${gcc:location}/lib64
LDFLAGS=-Wl,-rpath=${gcc:location}/lib -Wl,-rpath=${gcc:location}/lib64
PATH=${patch:location}/bin:${perl:location}/bin:%(PATH)s
......@@ -4,7 +4,6 @@ extends =
../automake/buildout.cfg
../bison/buildout.cfg
../flex/buildout.cfg
../gcc/buildout.cfg
../git/buildout.cfg
../boost-lib/buildout.cfg
../libtool/buildout.cfg
......@@ -28,7 +27,7 @@ configure-options =
--with-dynmodules=""
--without-lua
environment =
PATH=${gcc:location}/bin:${make:location}/bin:${libtool:location}/bin:${pkgconfig:location}/bin:${bison:location}/bin:${flex:location}/bin:${git:location}/bin:${ragel:location}/bin:%(PATH)s
PATH=${make:location}/bin:${libtool:location}/bin:${pkgconfig:location}/bin:${bison:location}/bin:${flex:location}/bin:${git:location}/bin:${ragel:location}/bin:%(PATH)s
LDFLAGS=-L${boost-lib:location}/lib -Wl,-rpath=${boost-lib:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -lz
CPPFLAGS=-I${boost-lib:location}/include
make-target =
......
......@@ -67,10 +67,9 @@ post-install = cd '${:prefix}' &&
sed -n 's,:#! */usr/bin/env \+python2\?$,,p' |
xargs -d '\n' sed -i '1s,.*,#!${:executable},'
extra-ldflags =
# the entry "-Wl,-rpath=${file:location}/lib" below is needed by python-magic,
# which would otherwise load the system libmagic.so with ctypes
environment =
PATH=${patch:location}/bin:${xz-utils:location}/bin:%(PATH)s
CPPFLAGS=-I${zlib:location}/include -I${readline:location}/include -I${libexpat:location}/include -I${libffi:location}/include -I${ncurses:location}/include -I${ncurses:location}/include/ncursesw -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${libexpat:location}/lib -L${libffi:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${libexpat:location}/lib -Wl,-rpath=${libffi:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${gdbm:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${file:location}/lib ${:extra-ldflags}
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${libexpat:location}/lib -L${libffi:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${libexpat:location}/lib -Wl,-rpath=${libffi:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${gdbm:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${file:location}/lib
......@@ -58,9 +58,6 @@ version = 3.6
package_version = 3.6.10
md5sum = 986078f11b39074be22a199e56491d98
# Python 3.7 have to use gcc 8(actually, gcc 4+)
# See https://bugs.python.org/issue34112
# I think gcc 5 may meet the requirement, use gcc 8 all in one step
[python3.7]
<= python3-common
version = 3.7
......@@ -69,7 +66,7 @@ md5sum = df6ec36011808205beda239c72f947cb
patch-options =
patches =
environment =
PATH=${gcc-8.2:location}/bin::${xz-utils:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:%(PATH)s
CPPFLAGS=-I${zlib:location}/include -I${xz-utils:location}/include -I${readline:location}/include -I${libexpat:location}/include -I${libffi:location}/include -I${ncurses:location}/include -I${ncurses:location}/include/ncursesw -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
LDFLAGS=-L${zlib:location}/lib -L${xz-utils:location}/lib -L${readline:location}/lib -L${libexpat:location}/lib -L${libffi:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${xz-utils:location}/lib -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${libexpat:location}/lib -Wl,-rpath=${libffi:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${gdbm:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${file:location}/lib
LD_LIBRARY_PATH=${libpng:location}/lib:${gcc-8.2:location}/lib:${gcc-8.2:location}/lib64
\ No newline at end of file
# LD_LIBRARY_PATH=${libpng:location}/lib
[buildout]
extends =
../gcc/buildout.cfg
../openblas/buildout.cfg
../cmake/buildout.cfg
../python-cffi/buildout.cfg
......@@ -57,7 +56,6 @@ no-cuda = 0
cmake-bin = ${cmake:location}/bin
git-bin = ${git:location}/bin
binutils-location = ${binutils:location}
gcc-location = ${gcc:location}
openblas-location = ${openblas:location}
install =
import os, shutil
......@@ -65,31 +63,20 @@ install =
workdir = options['workdir']
python_bin = options['python-bin']
binutils_location = options['binutils-location']
gcc_location = options['gcc-location']
openblas_location = options['openblas-location']
env = {'PYTHONPATH':workdir,
'PATH':':'.join([options['cmake-bin'],
options['git-bin'],
binutils_location+'/bin',
gcc_location+'/bin',
os.environ['PATH']]),
'CMAKE_INCLUDE_PATH':':'.join([gcc_location+'/include',
binutils_location+'/include',
'CMAKE_INCLUDE_PATH':':'.join([binutils_location+'/include',
openblas_location+'/include',
]),
'CMAKE_LIBRARY_PATH':':'.join([gcc_location+'/lib',
gcc_location+'/lib64',
binutils_location+'/lib',
'CMAKE_LIBRARY_PATH':':'.join([binutils_location+'/lib',
openblas_location+'/lib',
]),
'CC':gcc_location+'/bin/gcc',
'CXX':gcc_location+'/bin/g++',
'PYTORCH_PYTHON':python_bin,
'SLAPOS_COMPILE_ARGS':' '.join(['-Wl,-rpath,'+gcc_location+'/lib',
'-Wl,-rpath,'+gcc_location+'/lib64',
'-Wl,-rpath,'+binutils_location+'/lib',
'-Wl,-rpath,'+openblas_location+'/lib',
])
'SLAPOS_COMPILE_ARGS':'-Wl,-rpath,'+openblas_location+'/lib',
}
if options.get('no-cuda') == '1':
env['NO_CUDA'] = '1'
......
[buildout]
extends =
../xorg/buildout.cfg
../gcc/buildout.cfg
parts =
qt4-qmake
......@@ -23,9 +22,8 @@ configure-options =
-no-opengl
-nomake examples
environment =