diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5667c0a..7f68249 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,14 +9,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Login to ghcr.io - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Checkout - uses: actions/checkout@v3 -# - name: Run mkit wrapper -# run: ls -lt && PROFILE="uwsgi" DOCKER_IMAGE="dellelce/uwsgi" PREFIX="/app/uwsgi" ./mkit-wrapper.sh yes + uses: actions/checkout@v4 - name: Mkit base image run: make build-base BASE=$BASE_IMAGE && docker push $BASE_IMAGE diff --git a/Dockerfile b/Dockerfile index e84f3d0..2c5ba8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE=alpine:3.8 +ARG BASE=alpine:3.19 FROM $BASE as build LABEL maintainer="Antonio Dell'Elce" @@ -24,7 +24,7 @@ RUN mkdir -p ${INSTALLDIR}/lib && ln -s ${INSTALLDIR}/lib64 ${INSTALLDIR}/lib & rm -f ${INSTALLDIR}/lib/*.a # Second Stage -ARG BASE=alpine:3.8 +ARG BASE=alpine:3.19 FROM $BASE AS final ARG PREFIX=/app/httpd diff --git a/Dockerfile.base b/Dockerfile.base index 57dc054..d90b2c6 100644 --- a/Dockerfile.base +++ b/Dockerfile.base @@ -1,4 +1,4 @@ -FROM alpine:3.8 +FROM alpine:3.19 WORKDIR /mkit @@ -12,4 +12,3 @@ COPY modules modules/ COPY mkit*.sh ./ RUN ls -lt - diff --git a/mkit.build.sh b/mkit.build.sh index 8ac9dd0..2c4b63f 100755 --- a/mkit.build.sh +++ b/mkit.build.sh @@ -235,6 +235,7 @@ run_build() { typeset pkg="" typeset rc=0 + typeset uncompress_rc=0 typeset buildprefix="" [ ! -z "$CFLAGS" ] && { export BASE_CFLAGS="$CFLAGS"; unset CFLAGS; } @@ -299,7 +300,6 @@ run_build() [ $func_rc -ne 0 ] && { - # module was not found built-in: try as module module_func="$MKIT/modules/${pkg}/build.sh" [ -f "$module_func" ] && @@ -318,7 +318,8 @@ run_build() # This is to be used when re-running a failed build and want to skip some components have_hook global need_to_build && hook global need_to_build ${pkg} || continue - do_uncompress ${pkg} || return $? + # this must be skipped if no downloaded + [ -z "$(hook ${pkg} need_to_download)" ] && do_uncompress ${pkg} || return $? [ "$build" -eq 1 ] && { diff --git a/mkit.config.sh b/mkit.config.sh index 77d0e23..8f65200 100755 --- a/mkit.config.sh +++ b/mkit.config.sh @@ -7,7 +7,7 @@ ### ENV ### - export srcget="0.0.14.2" # srcget version + export srcget="0.0.14.6" # srcget version # vt100 family sequences export ESC="" diff --git a/mkit.lib.sh b/mkit.lib.sh index aa7ac5f..1503ea7 100755 --- a/mkit.lib.sh +++ b/mkit.lib.sh @@ -79,6 +79,10 @@ download() for pkg in $RUNTIME_LIST do + typeset dont_download=$(hook $pkg dont_download) + + [ ! -z "$dont_download" ] && continue + typeset custom_download=$(hook $pkg custom_download) [ -f "$custom_download" ] && diff --git a/mkit.profiles.sh b/mkit.profiles.sh index 9f0ea92..c2e8790 100755 --- a/mkit.profiles.sh +++ b/mkit.profiles.sh @@ -72,7 +72,7 @@ profile_pythonbuild() { add_build_dep xz add_build_dep libffi ncurses zlib bzip2 readline - add_build_dep openssl sqlite3 + add_build_dep openssl1_1 sqlite3 expat add_build_dep python3 } @@ -468,6 +468,16 @@ profile_leptonica() add_run_dep leptonica } +profile_gpaw() +{ + profile_python + + add_run_dep libxc + add_run_dep lapack + add_run_dep openblas + add_run_dep gpaw +} + profile_bzip2() { add_run_dep bzip2 diff --git a/mkit.sh b/mkit.sh index 01effda..482f2a7 100755 --- a/mkit.sh +++ b/mkit.sh @@ -1,8 +1,6 @@ #!/bin/bash # -# This file has the "main" code of mkit. # mkit builds software from source (dowloaded by srcget). -# Each "software"/package is defined by a function in mkit.profiles.sh in format: # # profile_NAME # @@ -57,7 +55,7 @@ mkit_setup_prefix() export PATH="$prefix/bin:$PATH" } -mkit_setup() +mkit_setup_paths() { export TIMESTAMP="$(date +%H%M_%d%m%y)" export WORKDIR="$PWD/mkit_workdir" @@ -84,6 +82,14 @@ mkit_setup() export LOGSDIR="${WORKDIR}/logs" + mkdir -p "$BUILDDIR" + mkdir -p "$LOGSDIR" + mkdir -p "$SRCDIR" + mkdir -p "$DOWNLOADS" +} + +mkit_args() +{ while [ "$1" != "" ] do arg="$1" @@ -101,10 +107,6 @@ mkit_setup() done [ -z "$prefix" ] && mkit_setup_prefix # make sure prefix is set with defaults if the previous block failed - mkdir -p "$BUILDDIR" - mkdir -p "$LOGSDIR" - mkdir -p "$SRCDIR" - mkdir -p "$DOWNLOADS" } ### MAIN ### @@ -112,13 +114,14 @@ mkit_setup() [ -z "$*" ] && { usage; exit; } # do not accept zero arguments export MKIT=$(getdirfullpath $(dirname $0)) + export srcgetUrl="https://github.com/dellelce/srcget/archive" . $MKIT/mkit.config.sh || exit $? . $MKIT/mkit.profiles.sh || exit $? - export srcgetUrl="https://github.com/dellelce/srcget/archive" + mkit_setup_paths + mkit_args $* - mkit_setup $* . $MKIT/mkit.lib.sh || exit $? . $MKIT/mkit.build.sh || exit $? . $MKIT/mkit.components.sh || exit $? diff --git a/modules/ase/build.sh b/modules/ase/build.sh new file mode 100644 index 0000000..543df0a --- /dev/null +++ b/modules/ase/build.sh @@ -0,0 +1 @@ +pip3 --no-cache install ase diff --git a/modules/ase/hooks/dont_download.sh b/modules/ase/hooks/dont_download.sh new file mode 100644 index 0000000..f997cf1 --- /dev/null +++ b/modules/ase/hooks/dont_download.sh @@ -0,0 +1 @@ +echo 1 # 1 = True = Do Not download diff --git a/modules/gpaw/build.sh b/modules/gpaw/build.sh new file mode 100644 index 0000000..3fc93ae --- /dev/null +++ b/modules/gpaw/build.sh @@ -0,0 +1,52 @@ +build_gpaw() +{ + [ -d "${prefix}/lib/pkgconfig" ] && export PKG_CONFIG_PATH="${prefix}/lib/pkgconfig"; + + build_gpaw_core gpaw $srcdir_gpaw + + return $? +} + +# +# Build gpaw +build_gpaw_core() +{ + export rc_pipinstall=0 + typeset id="$1"; shift # build id + typeset dir="$1"; shift # src directory + typeset pkgbuilddir="$BUILDDIR/$id" + + # Other steps + [ ! -d "$pkgbuilddir" ] && { mkdir -p "$pkgbuilddir"; } || + { + pkgbuilddir="$BUILDDIR/${id}.${RANDOM}"; mkdir -p "$pkgbuilddir"; + } + + cd "$pkgbuilddir" || + { + echo "build_gpaw: Failed to change to build directory: " $pkgbuilddir; + return 1; + } + + prepare_build $dir + + echo "Building $id [${BOLD}$(getbasename $id)${RESET}] at $(date)" + echo + + time_start + + logFile=$(logger_file ${id}_make) + echo "Running pip install..." + { + LDFLAGS="-L${prefix}/lib -L/usr/lib -Wl,-rpath=${prefix}/lib -Wl,-rpath=/usr/lib" \ + CFLAGS="-I${prefix}/include" \ + pip3 install . + rc_pipinstall=$? + } > ${logFile} 2>&1 + [ $rc_pipinstall -ne 0 ] && { cd "$cwd"; time_end; cat "${logFile}"; echo ; echo "Failed pip install for ${id}"; return $rc_make; } + + cd "$WORKDIR" + + time_end + return $rc_pipinstall +} diff --git a/modules/lapack/build.sh b/modules/lapack/build.sh new file mode 100644 index 0000000..bfe14a9 --- /dev/null +++ b/modules/lapack/build.sh @@ -0,0 +1,6 @@ +build_lapack() +{ + build_raw_lite lapack + + return $? +} diff --git a/modules/lapack/hooks/configure.sh b/modules/lapack/hooks/configure.sh new file mode 100644 index 0000000..eab8ff8 --- /dev/null +++ b/modules/lapack/hooks/configure.sh @@ -0,0 +1,4 @@ +# generate Makefiles with cmake/"bootstrap" + + cd ${BUILDDIR}/lapack + cmake "${srcdir_lapack}" -DCMAKE_INSTALL_PREFIX=${prefix} diff --git a/modules/libxc/build.sh b/modules/libxc/build.sh index 9bcc11d..ea20e41 100644 --- a/modules/libxc/build.sh +++ b/modules/libxc/build.sh @@ -3,6 +3,6 @@ # build_libxc() { - build_gnuconf libxc $srcdir_libxc + build_gnuconf libxc $srcdir_libxc --enable-shared return $? } diff --git a/modules/ncurses/build.sh b/modules/ncurses/build.sh index a457fc1..9942bc4 100644 --- a/modules/ncurses/build.sh +++ b/modules/ncurses/build.sh @@ -4,6 +4,6 @@ build_ncurses() { build_gnuconf ncurses $srcdir_ncurses --with-shared --with-cxx-shared \ - --without-ada + --without-ada --disable-lib-suffixes return $? } diff --git a/modules/openblas/build.sh b/modules/openblas/build.sh new file mode 100644 index 0000000..65ad773 --- /dev/null +++ b/modules/openblas/build.sh @@ -0,0 +1,6 @@ +build_openblas() +{ + build_raw_lite openblas + + return $? +} diff --git a/modules/openblas/hooks/configure.sh b/modules/openblas/hooks/configure.sh new file mode 100644 index 0000000..d9b406c --- /dev/null +++ b/modules/openblas/hooks/configure.sh @@ -0,0 +1,4 @@ +# generate Makefiles with cmake/"bootstrap" + + cd ${BUILDDIR}/openblas + cmake "${srcdir_openblas}" -DCMAKE_INSTALL_PREFIX=${prefix} diff --git a/modules/python3/build.sh b/modules/python3/build.sh index 7fbecf7..74f1d30 100755 --- a/modules/python3/build.sh +++ b/modules/python3/build.sh @@ -5,6 +5,8 @@ build_python3() typeset rc=0 typeset fn + [ -d "${prefix}/lib/pkgconfig" ] && export PKG_CONFIG_PATH="${prefix}/lib/pk config" + LDFLAGS="-L${prefix}/lib -Wl,-rpath=${prefix}/lib" \ CFLAGS="-I${prefix}/include" \ build_gnuconf python3 $srcdir_python3 \ diff --git a/modules/scalapack/build.sh b/modules/scalapack/build.sh new file mode 100644 index 0000000..9f04423 --- /dev/null +++ b/modules/scalapack/build.sh @@ -0,0 +1,6 @@ +build_scalapack() +{ + build_raw_lite scalapack + + return $? +} diff --git a/modules/scalapack/hooks/configure.sh b/modules/scalapack/hooks/configure.sh new file mode 100644 index 0000000..4014105 --- /dev/null +++ b/modules/scalapack/hooks/configure.sh @@ -0,0 +1,3 @@ + + cd ${BUILDDIR}/scalapack + cmake "${srcdir_scalapack}" -DCMAKE_INSTALL_PREFIX=${prefix} diff --git a/profiles/bind/main.sh b/profiles/bind/main.sh new file mode 100755 index 0000000..69f6452 --- /dev/null +++ b/profiles/bind/main.sh @@ -0,0 +1,9 @@ +profile_bind() +{ + # libxml2 & openssl are included in python profile + # mixing run-time and build-time dependencies is not supported at this time + # *IF* this means need to link from multiple prefixes) + profile_python + add_run_dep libuv + add_run_dep bind +} diff --git a/profiles/blender/main.sh b/profiles/blender/main.sh new file mode 100755 index 0000000..2115579 --- /dev/null +++ b/profiles/blender/main.sh @@ -0,0 +1,6 @@ +profile_blender() +{ + add_build_dep cmake + add_run_dep python # it needs python, but it could be a run-time dep only + add_run_dep blender +} diff --git a/profiles/bzip2/main.sh b/profiles/bzip2/main.sh new file mode 100755 index 0000000..71376f2 --- /dev/null +++ b/profiles/bzip2/main.sh @@ -0,0 +1,4 @@ +profile_bzip2() +{ + add_run_dep bzip2 +} diff --git a/profiles/cairo/main.sh b/profiles/cairo/main.sh new file mode 100755 index 0000000..3462548 --- /dev/null +++ b/profiles/cairo/main.sh @@ -0,0 +1,14 @@ +profile_cairo() +{ + #this will be needed when moving from alpine 3.8 to 3.9 + #add_build_dep pkgconfig + add_run_dep zlib + add_run_dep libpng + add_run_dep freetype + add_run_dep gperf + add_run_dep expat + #I thought uuid was not mandatory, temporarily re-disabling + #add_run_dep fontconfig + add_run_dep pixman + add_run_dep cairo +} diff --git a/profiles/cmake/main.sh b/profiles/cmake/main.sh new file mode 100755 index 0000000..67262a4 --- /dev/null +++ b/profiles/cmake/main.sh @@ -0,0 +1,6 @@ +# standalone cmake +profile_cmake() +{ + add_build_dep openssl + add_run_dep cmake +} diff --git a/profiles/curl/main.sh b/profiles/curl/main.sh new file mode 100755 index 0000000..1d8b84d --- /dev/null +++ b/profiles/curl/main.sh @@ -0,0 +1,7 @@ +profile_curl() +{ + add_run_dep openssl + add_run_dep curl + + return $? +} diff --git a/profiles/default/main.sh b/profiles/default/main.sh new file mode 100755 index 0000000..888b2a9 --- /dev/null +++ b/profiles/default/main.sh @@ -0,0 +1,24 @@ +# TODO: automate build orders & list +profile_default() +{ + profile_gnubuild + profile_python + add_build_dep bison + add_run_dep expat + add_run_dep pcre + add_run_dep apr + add_run_dep aprutil + add_run_dep libxml2 + add_run_dep httpd + + [ "$PHP_NEEDED" == "1" ] && + { + add_run_dep php + add_run_dep suhosin + } + + add_run_dep python3 + add_run_dep mod_wsgi + + return $? +} diff --git a/profiles/fluentbit/main.sh b/profiles/fluentbit/main.sh new file mode 100755 index 0000000..68db122 --- /dev/null +++ b/profiles/fluentbit/main.sh @@ -0,0 +1,5 @@ +profile_fluentbit() +{ + add_build_dep cmake + add_run_dep fluentbit +} diff --git a/profiles/gcc/main.sh b/profiles/gcc/main.sh new file mode 100755 index 0000000..4006fc0 --- /dev/null +++ b/profiles/gcc/main.sh @@ -0,0 +1,11 @@ +profile_gcc() +{ + add_build_dep m4 + add_run_dep zlib + add_run_dep binutils + add_run_dep gmp + add_run_dep mpfr + add_run_dep mpc + add_run_dep gcc + return $? +} diff --git a/profiles/gcc11/main.sh b/profiles/gcc11/main.sh new file mode 100755 index 0000000..54fea46 --- /dev/null +++ b/profiles/gcc11/main.sh @@ -0,0 +1,11 @@ +profile_gcc11() +{ + add_build_dep m4 + add_run_dep zlib + add_run_dep binutils + add_run_dep gmp + add_run_dep mpfr + add_run_dep mpc + add_run_dep gcc11 + return $? +} diff --git a/profiles/gcc6/main.sh b/profiles/gcc6/main.sh new file mode 100755 index 0000000..4ea0eb7 --- /dev/null +++ b/profiles/gcc6/main.sh @@ -0,0 +1,11 @@ +profile_gcc6() +{ + add_build_dep m4 + add_run_dep zlib + add_run_dep binutils + add_run_dep gmp + add_run_dep mpfr + add_run_dep mpc + add_run_dep gcc6 + return $? +} diff --git a/profiles/gcc7/main.sh b/profiles/gcc7/main.sh new file mode 100755 index 0000000..fa9fad1 --- /dev/null +++ b/profiles/gcc7/main.sh @@ -0,0 +1,11 @@ +profile_gcc7() +{ + add_build_dep m4 + add_run_dep zlib + add_run_dep binutils + add_run_dep gmp + add_run_dep mpfr + add_run_dep mpc + add_run_dep gcc7 + return $? +} diff --git a/profiles/gccgo7/main.sh b/profiles/gccgo7/main.sh new file mode 100755 index 0000000..b4fee83 --- /dev/null +++ b/profiles/gccgo7/main.sh @@ -0,0 +1,12 @@ +profile_gccgo7() +{ + add_build_dep m4 + add_run_dep zlib + add_run_dep binutils + add_run_dep gmp + add_run_dep mpfr + add_run_dep mpc + add_options gcc7 go + add_run_dep gcc7 + return $? +} diff --git a/profiles/git/main.sh b/profiles/git/main.sh new file mode 100755 index 0000000..5c28bb3 --- /dev/null +++ b/profiles/git/main.sh @@ -0,0 +1,8 @@ +profile_git() +{ + profile_gnubuild + add_run_dep zlib + add_run_dep git + + return $? +} diff --git a/profiles/gnubuild/main.sh b/profiles/gnubuild/main.sh new file mode 100755 index 0000000..a4f8c03 --- /dev/null +++ b/profiles/gnubuild/main.sh @@ -0,0 +1,10 @@ +profile_gnubuild() +{ + add_build_dep perl + add_build_dep makemaker + add_build_dep datadumper + add_build_dep m4 + add_build_dep autoconf + add_build_dep automake + add_build_dep libtool +} diff --git a/profiles/gnudev/main.sh b/profiles/gnudev/main.sh new file mode 100755 index 0000000..01c04b8 --- /dev/null +++ b/profiles/gnudev/main.sh @@ -0,0 +1,10 @@ +profile_gnudev() +{ + add_run_dep perl + add_run_dep makemaker + add_run_dep datadumper + add_run_dep m4 + add_run_dep autoconf + add_run_dep automake + add_run_dep libtool +} diff --git a/profiles/gpaw/main.sh b/profiles/gpaw/main.sh new file mode 100755 index 0000000..9e991a8 --- /dev/null +++ b/profiles/gpaw/main.sh @@ -0,0 +1,9 @@ +profile_gpaw() +{ + profile_python + + add_run_dep libxc + add_run_dep lapack + add_run_dep openblas + add_run_dep gpaw +} diff --git a/profiles/haproxy/main.sh b/profiles/haproxy/main.sh new file mode 100755 index 0000000..47d9a0c --- /dev/null +++ b/profiles/haproxy/main.sh @@ -0,0 +1,14 @@ +profile_haproxy() +{ + add_options pcre "--enable-jit" + + add_run_dep pcre + add_run_dep zlib + add_run_dep ncurses # needed by readline + add_run_dep readline # required by lua + add_run_dep openssl + add_run_dep lua + add_run_dep haproxy + + return $? +} diff --git a/profiles/iftop/main.sh b/profiles/iftop/main.sh new file mode 100755 index 0000000..f958302 --- /dev/null +++ b/profiles/iftop/main.sh @@ -0,0 +1,9 @@ +profile_iftop() +{ + profile_gnubuild + add_build_dep gettext + add_build_dep flex + add_run_dep libpcap + add_run_dep ncurses + add_run_dep iftop +} diff --git a/profiles/imagemagick/main.sh b/profiles/imagemagick/main.sh new file mode 100755 index 0000000..8cca80d --- /dev/null +++ b/profiles/imagemagick/main.sh @@ -0,0 +1,6 @@ +profile_imagemagick() +{ + add_run_dep zlib + add_run_dep libpng + add_run_dep imagemagick +} diff --git a/profiles/leptonica/main.sh b/profiles/leptonica/main.sh new file mode 100755 index 0000000..112a976 --- /dev/null +++ b/profiles/leptonica/main.sh @@ -0,0 +1,10 @@ +profile_leptonica() +{ + add_run_dep zlib + add_run_dep libpng + add_run_dep expat # required by freetype + add_run_dep gperf # required by fontconfig + add_run_dep freetype # required by fontconfig + add_run_dep fontconfig + add_run_dep leptonica +} diff --git a/profiles/libgit2/main.sh b/profiles/libgit2/main.sh new file mode 100755 index 0000000..8a62ce3 --- /dev/null +++ b/profiles/libgit2/main.sh @@ -0,0 +1,8 @@ +profile_libgit2() +{ + add_build_dep cmake + #profile_python + add_run_dep openssl + add_run_dep libssh2 + add_run_dep libgit2 +} diff --git a/profiles/libxc/main.sh b/profiles/libxc/main.sh new file mode 100755 index 0000000..dd62239 --- /dev/null +++ b/profiles/libxc/main.sh @@ -0,0 +1,4 @@ +profile_libxc() +{ + add_run_dep libxc +} diff --git a/profiles/mosquitto/main.sh b/profiles/mosquitto/main.sh new file mode 100755 index 0000000..a2c6116 --- /dev/null +++ b/profiles/mosquitto/main.sh @@ -0,0 +1,6 @@ +profile_mosquitto() +{ + add_build_dep cmake + add_run_dep openssl + add_run_dep mosquitto +} diff --git a/profiles/nettle/main.sh b/profiles/nettle/main.sh new file mode 100755 index 0000000..c0bb33f --- /dev/null +++ b/profiles/nettle/main.sh @@ -0,0 +1,5 @@ +profile_nettle() +{ + add_run_dep gmp + add_run_dep nettle +} diff --git a/profiles/opengl/main.sh b/profiles/opengl/main.sh new file mode 100755 index 0000000..c7d33cb --- /dev/null +++ b/profiles/opengl/main.sh @@ -0,0 +1,45 @@ +profile_opengl() +{ + #gnubuild to be used with alpine 3.9 or should we just check for pkgconf(ig) + #profile_gnubuild + + #xcbproto has some python code... + profile_pythonbuild + add_run_dep dri2proto + add_run_dep glproto + add_run_dep pciaccess + add_run_dep libdrm + add_run_dep xproto + add_run_dep xextproto + add_run_dep xtrans + add_run_dep kbproto + add_run_dep inputproto + add_run_dep xcbproto + add_run_dep pthreadstubs + add_run_dep xau + add_run_dep xcb + add_run_dep x11 + add_run_dep damageproto + add_run_dep fixesproto + add_run_dep xfixes + add_run_dep xdamage + add_run_dep xext + add_run_dep xf86vidmodeproto + add_run_dep xxf86vm + add_run_dep xorgmacros + add_run_dep xshmfence + add_run_dep randrproto + add_run_dep renderproto + add_run_dep libxrender + add_run_dep libxrandr + add_run_dep xrandr + add_run_dep expat2_1 + add_run_dep zlib + + #travis: currently building mesa3d exceeds 10 minutes and travil kills the process because nothing is sent to stdout + # this is a bit "excessive" but we want to hog almost all processors available + typeset cpucnt=$(egrep -c '^processor' /proc/cpuinfo) + [ $cpucnt -eq 2 ] && add_make_options mesa3d -j${cpucnt} + [ $cpucnt -gt 2 ] && { let cpucnt="(( $cpucnt - 1 ))"; add_make_options mesa3d -j${cpucnt}; } + add_run_dep mesa3d +} diff --git a/profiles/openscad/main.sh b/profiles/openscad/main.sh new file mode 100755 index 0000000..217eae1 --- /dev/null +++ b/profiles/openscad/main.sh @@ -0,0 +1,8 @@ +profile_openscad() +{ + profile_opengl + add_run_dep glew + add_run_dep opencsg + add_run_dep cgal + add_run_dep openscad +} diff --git a/profiles/openvpn/main.sh b/profiles/openvpn/main.sh new file mode 100755 index 0000000..a5ad0aa --- /dev/null +++ b/profiles/openvpn/main.sh @@ -0,0 +1,10 @@ +profile_openvpn() +{ + profile_gnudev + add_run_dep openssl + add_run_dep lzo + #we don't want you "linuxpam" + #add_run_dep linuxpam + add_run_dep openvpn + return $? +} diff --git a/profiles/pcre/main.sh b/profiles/pcre/main.sh new file mode 100755 index 0000000..72412c2 --- /dev/null +++ b/profiles/pcre/main.sh @@ -0,0 +1,5 @@ +profile_pcre() +{ + add_options pcre "--enable-jit" + add_run_dep pcre +} diff --git a/profiles/perl/main.sh b/profiles/perl/main.sh new file mode 100755 index 0000000..d8b62ff --- /dev/null +++ b/profiles/perl/main.sh @@ -0,0 +1,6 @@ +profile_perl() +{ + add_run_dep perl + add_run_dep makemaker + add_run_dep datadumper +} diff --git a/profiles/postgres/main.sh b/profiles/postgres/main.sh new file mode 100755 index 0000000..55b7c04 --- /dev/null +++ b/profiles/postgres/main.sh @@ -0,0 +1,14 @@ +profile_postgres() +{ +# 170519 changing to openssl because: +# building with libressl fails with: +#postgresql/postgresql-11.3/src/backend/libpq/be-secure-openssl.c:1103:63: error: ‘Port’ has no member named ‘peer'’ +# strlcpy(ptr, X509_NAME_to_cstring(X509_get_subject_name(port->peer)), len); + add_run_dep openssl + add_run_dep libxml2 + add_run_dep zlib + add_run_dep ncurses + add_run_dep readline + add_run_dep postgresql + return $? +} diff --git a/profiles/postgres10/main.sh b/profiles/postgres10/main.sh new file mode 100755 index 0000000..f2e895f --- /dev/null +++ b/profiles/postgres10/main.sh @@ -0,0 +1,10 @@ +profile_postgres10() +{ + add_run_dep openssl + add_run_dep libxml2 + add_run_dep zlib + add_run_dep ncurses + add_run_dep readline + add_run_dep postgresql10 + return $? +} diff --git a/profiles/postgres11/main.sh b/profiles/postgres11/main.sh new file mode 100755 index 0000000..332195f --- /dev/null +++ b/profiles/postgres11/main.sh @@ -0,0 +1,10 @@ +profile_postgres11() +{ + add_run_dep openssl + add_run_dep libxml2 + add_run_dep zlib + add_run_dep ncurses + add_run_dep readline + add_run_dep postgresql11 + return $? +} diff --git a/profiles/proj/main.sh b/profiles/proj/main.sh new file mode 100755 index 0000000..5a70ce8 --- /dev/null +++ b/profiles/proj/main.sh @@ -0,0 +1,7 @@ +profile_proj() +{ + profile_curl + add_run_dep sqlite3 + add_run_dep libtiff + add_run_dep proj +} diff --git a/profiles/python/main.sh b/profiles/python/main.sh new file mode 100755 index 0000000..7c1eca4 --- /dev/null +++ b/profiles/python/main.sh @@ -0,0 +1,7 @@ +profile_python() +{ + add_run_dep xz + add_run_dep libffi ncurses zlib bzip2 readline + add_run_dep openssl1_1 sqlite3 expat libxml2 + add_run_dep python3 +} diff --git a/profiles/python2/main.sh b/profiles/python2/main.sh new file mode 100755 index 0000000..470bc00 --- /dev/null +++ b/profiles/python2/main.sh @@ -0,0 +1,8 @@ +#python2 +profile_python2() +{ + add_run_dep xz + add_run_dep libffi ncurses zlib bzip2 readline + add_run_dep openssl sqlite3 expat libxml2 + add_run_dep python2 +} diff --git a/profiles/pythonbuild/main.sh b/profiles/pythonbuild/main.sh new file mode 100755 index 0000000..f83936b --- /dev/null +++ b/profiles/pythonbuild/main.sh @@ -0,0 +1,7 @@ +profile_pythonbuild() +{ + add_build_dep xz + add_build_dep libffi ncurses zlib bzip2 readline + add_build_dep openssl1_1 sqlite3 expat + add_build_dep python3 +} diff --git a/profiles/readline/main.sh b/profiles/readline/main.sh new file mode 100755 index 0000000..1e72dde --- /dev/null +++ b/profiles/readline/main.sh @@ -0,0 +1,4 @@ +profile_readline() +{ + add_run_dep readline +} diff --git a/profiles/redis/main.sh b/profiles/redis/main.sh new file mode 100755 index 0000000..0bf7675 --- /dev/null +++ b/profiles/redis/main.sh @@ -0,0 +1,5 @@ +profile_redis() +{ + add_run_dep redis + return $? +} diff --git a/profiles/shared/main.sh b/profiles/shared/main.sh new file mode 100755 index 0000000..fa88cf2 --- /dev/null +++ b/profiles/shared/main.sh @@ -0,0 +1,7 @@ +profile_shared() +{ + profile_gnudev + profile_python + profile_git + add_run_dep bison +} diff --git a/profiles/slcp/main.sh b/profiles/slcp/main.sh new file mode 100755 index 0000000..a055bf8 --- /dev/null +++ b/profiles/slcp/main.sh @@ -0,0 +1,6 @@ +profile_slcp() +{ + add_build_dep cmake + add_run_dep libgit2 + add_run_dep slcp +} diff --git a/profiles/timescaledb/main.sh b/profiles/timescaledb/main.sh new file mode 100755 index 0000000..72006c3 --- /dev/null +++ b/profiles/timescaledb/main.sh @@ -0,0 +1,8 @@ +profile_timescaledb() +{ + add_build_dep cmake + add_build_dep bison # only when building from commit/tag/branch (not "packaged" source) + profile_postgres + add_run_dep timescaledb + return $? +} diff --git a/profiles/uwsgi/main.sh b/profiles/uwsgi/main.sh new file mode 100755 index 0000000..37ec172 --- /dev/null +++ b/profiles/uwsgi/main.sh @@ -0,0 +1,9 @@ +profile_uwsgi() +{ + add_options pcre "--enable-jit" + + add_run_dep pcre + profile_python + add_run_dep uwsgi + return $? +} diff --git a/profiles/varnish/main.sh b/profiles/varnish/main.sh new file mode 100755 index 0000000..d26e07e --- /dev/null +++ b/profiles/varnish/main.sh @@ -0,0 +1,21 @@ +profile_varnish() +{ + # varnish needs python (">= 2.7") for generating some files + # build time dependency only so these should not stay here... + # + profile_python + profile_gnubuild + + # temporary workaround for missing backtrace() in musl + [ -f "/etc/alpine-release" ] && + { + apk add --no-cache libexecinfo-dev + } + + add_run_dep pcre + add_run_dep ncurses + add_run_dep readline + add_run_dep varnish + + return $? +} diff --git a/profiles/x11/main.sh b/profiles/x11/main.sh new file mode 100755 index 0000000..7ae855a --- /dev/null +++ b/profiles/x11/main.sh @@ -0,0 +1,31 @@ +profile_x11() +{ + add_run_dep dri2proto + add_run_dep glproto + add_run_dep pciaccess + add_run_dep libdrm + add_run_dep xproto + add_run_dep xextproto + add_run_dep xtrans + add_run_dep kbproto + add_run_dep inputproto + add_run_dep xcbproto + add_run_dep pthreadstubs + add_run_dep xau + add_run_dep xcb + add_run_dep x11 + add_run_dep damageproto + add_run_dep fixesproto + add_run_dep xfixes + add_run_dep xdamage + add_run_dep xext + add_run_dep xf86vidmodeproto + add_run_dep xxf86vm + add_run_dep xorgmacros + add_run_dep xshmfence + add_run_dep randrproto + add_run_dep renderproto + add_run_dep libxrender + add_run_dep libxrandr + add_run_dep xrandr +}