[buildout] parts = template downloadcache-workaround apache apache-php mariadb eggs

[template] url = Student shall fill URL of template as show in runner #md5sum = recipe = slapos.recipe.template output = ${buildout:directory}/template.cfg mode = 0644

[application] recipe = hexagonit.recipe.download url = Student shall put here url of zipped or tarballed web page or application #md5sum = Student may put here md5sum of this file, this is good idea #If provided tarball does not containt top directory this option shall be changed o false strip-top-level-dir = true

[application-template] recipe = hexagonit.recipe.download url = Student shall put here url to template file for application #md5sum = Student may put here md5sum of this file, this is good idea download-only = True filename = template.in

[application-configuration] location = Student shall put here relative path to application top level directory where configuration shall be created

[eggs] recipe = zc.recipe.egg eggs = ${lxml-python:egg} slapos.recipe.osoeslaptraining

[downloadcache-workaround] # workaround irritating problem of hexagonit.recipe.cmmi which automatically # creates download cache, which in turn switches builout to "semi-offline" mode recipe = plone.recipe. # in hexagonit.recipe.cmmi if there is no ${buildout:download-cache} set it resolves # to ${buildout:directory}/downloads but this variable is available late, that's # why it is hardcoded only for required case download-cache = ${buildout:directory}/downloads command = [ -d ${:download-cache} ] && -fr ${:download-cache}/* || exit 0 update-command = ${:command} stop-on-error = True

[apache] # inspired on http://old.aclark.net/team/aclark/blog/a-lamp-buildout-for- wordpress-and-other-php-apps/ recipe = hexagonit.recipe.cmmi url = http://apache.multidist.com/httpd/httpd-2.2.17.tar.bz2 md5sum = 16eadc59ea6b38af33874d300973202e configure-options = --enable-authn-alias --enable-bucketeer --enable-cache --enable-case-filter --enable-case-filter-in --enable-cgid --enable-charset-lite --enable-disk-cache --enable- --enable-exception-hook --enable-mods-shared=all --enable-optional-fn-export --enable-optional-fn-import --enable-optional-hook-export --enable-optional-hook-import --enable-proxy --enable-proxy-ajp --enable-proxy-balancer --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-scgi --enable-so --disable-ssl --with-included-apr --with-z=${zlib:location} --with-expat=${libexpat:location} --with-pcre=${pcre:location} --with-sqlite3=${sqlite3:location} --with-dbm=gdbm --with-gdm=${gdbm:location} --without-ssl --without-lber --without-ldap --without-ndbm --without-berkeley-db --without-pgsql --without-mysql --without-sqlite2 --without-oracle --without-freedts --without-odbc --without-iconv environment = CFLAGS =-I${libuuid:location}/include LDFLAGS =-Wl,-rpath -Wl,${zlib:location}/lib -L${libuuid:location}/lib -Wl,- rpath -Wl,${libuuid:location}/lib -Wl,-rpath -Wl,${libexpat:location}/lib -Wl,- rpath -Wl,${pcre:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib -Wl,-rpath -Wl,${gdbm:location}/lib

[apache-php] # Note: Shall react on each build of apache and reinstall itself recipe = hexagonit.recipe.cmmi url = http://fr2.php.net/get/php-5.3.5.tar.bz2/from/this/mirror md5sum = 8aaf20c95e91f25c5b6a591e5d6d61b9 configure-options = --with-apxs2=${apache:location}/bin/apxs --with-libxml-dir=${libxml2:location} --with-mysql=${mariadb:location} --with-zlib-dir=${zlib:location} --with-mcrypt=${libmcrypt:location} --enable-mbstring environment = PKG_CONFIG_PATH=${libxml2:location}/lib/pkgconfig PATH=${libxml2:location}/bin:%(PATH)s LDFLAGS =-L${mariadb:location}/lib -Wl,-rpath -Wl,${mariadb:location}/lib -L$ {zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L$ {libmcrypt:location}/lib -Wl,-rpath -Wl,${libmcrypt:location}/lib

[libmcrypt] recipe = hexagonit.recipe.cmmi url = http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt- 2.5.8.tar.bz2/download md5sum = c4f491dd411a09e9de3b8702ea6f73eb

[lxml-python-] PATH = ${libxslt:location}/bin:%(PATH)s

[lxml-python] recipe = zc.recipe.egg:custom egg = lxml rpath = ${libxml2:location}/lib/ ${libxslt:location}/lib/ ${zlib:location}/lib/ environment = lxml-python-env

[libxml2] recipe = hexagonit.recipe.cmmi url = ftp://ftp.xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz md5sum = 8127a65e8c3b08856093099b52599c86 configure-options = --without-python --with-zlib=${zlib:location} environment = LDFLAGS = -Wl,-rpath -Wl,${zlib:location}/lib

[libxslt] url = ftp://xmlsoft.org/libxslt/libxslt-1.1.26.tar.gz md5sum = e61d0364a30146aaa3001296f853b2b9 recipe = hexagonit.recipe.cmmi configure-options = --with-libxml-prefix=${libxml2:location} --without-crypto --without-python environment = PATH=${pkgconfig:location}/bin:%(PATH)s CPPFLAGS=-I${zlib:location}/include LDFLAGS=-Wl,-rpath -Wl,${zlib:location}/lib PKG_CONFIG_PATH=${libxml2:location}/lib/pkgconfig:$ {zlib:location}/lib/pkgconfig

[pcre] recipe = hexagonit.recipe.cmmi url = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.bz2 md5sum = 780867a700e9d4e4b9cb47aa5453e4b2

[readline] recipe = hexagonit.recipe.cmmi url = http://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz md5sum = fc2f7e714fe792db1ce6ddc4c9fb4ef3 configure-options = --with-ncurses=${ncurses:location} environment = LDFLAGS =-Wl,-rpath ${ncurses:location}/lib

[libuuid] recipe = hexagonit.recipe.cmmi url = http://ftp.kernel.org/pub/linux/utils/util-linux/v2.18/util-linux-ng- 2.18.tar.bz2 md5sum = 2f5f71e6af969d041d73ab778c141a77 configure-options = --enable-libuuid --disable-agetty --disable-cramfs --disable-fallocate --disable-fsck --disable-libblkid --disable-libmount --disable-makeinstall- --disable-makeinstall-setuid --disable-mount --disable-nls --disable-pivot_root --disable-rename --disable-require-password --disable-schedutils --disable-switch_root --disable-tls --disable-unshare --disable-uuidd --disable-wall --without-libiconv-prefix --without-libintl-prefix --without-ncurses --without-slang --without-pam --without-selinux --without-audit make-options = -C shlibs/uuid

[libexpat] recipe = hexagonit.recipe.cmmi url = http://sourceforge.net/projects/expat/files/expat/2.0.1/expat- 2.0.1.tar.gz/download md5sum = ee8b492592568805593f81f8cdf2a04c

[sqlite3] recipe = hexagonit.recipe.cmmi url = http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz md5sum = a9604a82613ade2e7f4c303f233e477f configure-options = --enable-readline environment = CPPFLAGS=-I${readline:location}/include -I${ncurses:location}/include LDFLAGS=-L${buildout:parts-directory}/${:_buildout_section_name_} -Wl,-rpath -Wl,${readline:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -L$ {readline:location}/lib -L${ncurses:location}/lib

[gdbm-nochange-patch-download] recipe = hexagonit.recipe.download url = http://www.nexedi.org/static/patches/gdbm-Makefile.in-nochange.patch md5sum = fafa6cae0afbf2b5afb9ef3b8e3035a4 download-only = true filename = gdbm-Makefile.in-nochange.patch

[gdbm] recipe = hexagonit.recipe.cmmi url = ftp://ftp.gnu.org/gnu/gdbm/gdbm-1.8.3.tar.gz md5sum = 1d1b1d5c0245b1c00aff92da751e9aa1 patches = ${gdbm-nochange-patch-download:location}/${gdbm-nochange-patch- download:filename} # as parts/gdbm/include/gdbm/*.h etc. because some softwares # (eg. python's dbmmodule.c extension) assume the location like this. includedir = ${buildout:parts-directory}/${:_buildout_section_name_}/include make-targets = install install-compat includedir=${:includedir}/gdbm && rm -f $ {:includedir}/*.h && -sf gdbm/gdbm.h ${:includedir}/gdbm.h # it seems that parallel build sometimes fails for gdbm. make-options = -j1

[zlib] recipe = hexagonit.recipe.cmmi url = http://prdownloads.sourceforge.net/libpng/zlib-1.2.5.tar.gz?download md5sum = c735eab2d659a96e5a594c9e8541ad63

[ncurses] recipe = hexagonit.recipe.cmmi url = ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz md5sum = cce05daf61a64501ef6cd8da1f727ec6 configure-options = --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --with-shared --with-normal --without-debug --enable-rpath # tricky way to rerun with --enable-widec make-targets = install && (for i in curses unctrl eti form menu panel term; do ln -s ncurses/ $i.h ${buildout:parts-directory}/${:_buildout_section_name_}/include/$i.h; done) && ./configure ${:configure-options} --enable-widec && make install environment = LDFLAGS =-Wl,--as-needed

[pkgconfig] recipe = hexagonit.recipe.cmmi url = http://pkgconfig.freedesktop.org/releases/pkg-config-0.25.tar.gz md5sum = a3270bab3f4b69b7dc6dbdacbcae9745 configure-options = --with-installed-glib --with-installed-popt environment = PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig CPPFLAGS=-I${glib:location}/include -I${popt:location}/include LDFLAGS=-L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib -Wl,- rpath -Wl,${glib:location}/lib -L${popt:location}/lib -Wl,-rpath -Wl,$ {popt:location}/lib

[glib] recipe = hexagonit.recipe.cmmi url = http://ftp.gnome.org/pub/gnome/sources/glib/2.26/glib-2.26.1.tar.bz2 md5sum = 17535accceef55bcb17a74d73f9c2aef configure-options = --disable-selinux --disable-fam --disable-xattr environment = CPPFLAGS=-I${zlib:location}/include -I${gettext:location}/include LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L$ {gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib PATH=${gettext:location}/bin:%(PATH)s

[gettext] recipe = hexagonit.recipe.cmmi url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz md5sum = 3dd55b952826d2b32f51308f2f91aa89 configure-options = --enable-shared --disable-java --disable-csharp --with-libncurses-prefix=${ncurses:location} --with-libxml2-prefix=${libxml2:location} --with-included-gettext --without-emacs --disable-acl --disable-openmp environment = CPPFLAGS=-I${libxml2:location}/include -I${zlib:location}/include -I$ {ncurses:location}/include LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath -Wl,${libxml2:location}/lib -L$ {zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L$ {ncurses:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib

[popt] recipe = hexagonit.recipe.cmmi url = http://rpm5.org/files/popt/popt-1.16.tar.gz md5sum = 3743beefa3dd6247a73f8f7a32c14c33

[mariadb] recipe = hexagonit.recipe.cmmi version = 5.2.5 url = http://www.percona.com/downloads/MariaDB/mariadb-${:version}/kvm-tarbake- jaunty-x86/mariadb-${:version}.tar.gz md5sum = a1c09a0cd1934a7a9432106123cb5a5c # compile directory is required to build mysql plugins. keep-compile-dir = true # configure: how to avoid searching for my.cnf? # - like in mysql part in http://svn.zope.org/zodbshootout/trunk/buildout.cfg? view=markup # we use embeded yassl instead of openssl to avoid compilation errors on sphinx search engine. configure-options = --enable-thread-safe-client --enable-local-infile --enable-assembler --with-pic --with-fast-mutexes --with-charset=utf8 --with-collation=utf8_unicode_ci --without-readline --with-ssl --with-zlib-dir=${zlib:location} environment = CPPFLAGS =-I${ncurses:location}/include -I${readline:location}/include LDFLAGS =-L${readline:location}/lib -L${ncurses:location}/lib -Wl,-rpath -Wl,$ {zlib:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -Wl,-rpath -Wl,$ {readline:location}/lib