diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-01-24 00:05:53 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-01-24 00:05:53 +0300 |
commit | 65ddf15dfbb4bba0b9fb7ca18aa922eeaed11d2a (patch) | |
tree | 09bfbe176dc56aa661ce93c2e48e0c3b542e4b1c | |
download | spm-65ddf15dfbb4bba0b9fb7ca18aa922eeaed11d2a.tar.gz spm-65ddf15dfbb4bba0b9fb7ca18aa922eeaed11d2a.tar.bz2 spm-65ddf15dfbb4bba0b9fb7ca18aa922eeaed11d2a.tar.xz spm-65ddf15dfbb4bba0b9fb7ca18aa922eeaed11d2a.zip |
Initial commit.
-rw-r--r-- | .gitignore | 4 | ||||
-rwxr-xr-x | packages/SDL_image.sh | 20 | ||||
-rwxr-xr-x | packages/cmake.sh | 17 | ||||
-rwxr-xr-x | packages/physfs.sh | 21 | ||||
-rwxr-xr-x | packages/qemu.sh | 30 | ||||
-rwxr-xr-x | packages/virglrenderer.sh | 20 | ||||
-rwxr-xr-x | packages/zlib.sh | 21 | ||||
-rwxr-xr-x | scripts/build.sh | 12 | ||||
-rwxr-xr-x | scripts/clean.sh | 10 | ||||
-rwxr-xr-x | scripts/example.sh | 6 | ||||
-rwxr-xr-x | scripts/getsrc.sh | 9 | ||||
-rw-r--r-- | scripts/include/common.sh | 154 | ||||
-rwxr-xr-x | scripts/updatesrc.sh | 8 |
13 files changed, 332 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e8e612 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/bin/ +/env/ +/src/ +/tmp/ diff --git a/packages/SDL_image.sh b/packages/SDL_image.sh new file mode 100755 index 0000000..37ad7d8 --- /dev/null +++ b/packages/SDL_image.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +function package_build { +# run_git_switch_branch v1.2.11 + run_autoreconf -i + run_configure --disable-jpg-shared --disable-tif-shared --disable-png-shared --disable-webp-shared + + run_make + run_make_install +} + +function package_get_source { +# run_git_clone https:// + echo nothing +} + +function package_use { + env_lib_library_path "lib" + env_pkg_config_path "lib/pkgconfig" +} diff --git a/packages/cmake.sh b/packages/cmake.sh new file mode 100755 index 0000000..e54720d --- /dev/null +++ b/packages/cmake.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +function package_build { + run_git_switch_branch master + run_cmake + + run_make + run_make_install +} + +function package_get_source { + run_git_clone git://cmake.org/cmake.git +} + +function package_use { + env_path "bin" +} diff --git a/packages/physfs.sh b/packages/physfs.sh new file mode 100755 index 0000000..d32d303 --- /dev/null +++ b/packages/physfs.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +function package_build { + run_hg_switch_branch stable-2.0 + run_cmake + + run_make + run_make_install +} + +function package_get_source { + run_hg_clone https://hg.icculus.org/icculus/physfs/ +} + +function package_use { + env_path "bin" + env_path "lib" + env_path "include" + env_lib_library_path "lib" + env_pkg_config_path "lib/pkgconfig" +} diff --git a/packages/qemu.sh b/packages/qemu.sh new file mode 100755 index 0000000..8e86740 --- /dev/null +++ b/packages/qemu.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +function package_build { + run_git_switch_branch master + run_configure \ + --target-list=x86_64-linux-user,x86_64-softmmu \ + --disable-nettle \ + --enable-spice \ + --enable-vte \ + --audio-drv-list=sdl,alsa \ + --enable-virglrenderer \ + --enable-sdl \ + --with-sdlabi=2.0 + + run_make + run_make_install +} + +function package_get_source { + run_git_clone git://git.qemu-project.org/qemu.git +} + +function package_deps { + run_add_dep virglrenderer +} + +function package_use { + env_bin "bin" + env_man "share/man" +} diff --git a/packages/virglrenderer.sh b/packages/virglrenderer.sh new file mode 100755 index 0000000..5ce3ba8 --- /dev/null +++ b/packages/virglrenderer.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +function package_build { + run_git_switch_branch master + run_autoreconf -v --install + run_configure + run_make + run_make_install +} + +function package_get_source { + run_git_clone git://people.freedesktop.org/~airlied/virglrenderer +} + +function package_use { + env_path "bin" + env_lib_library_path "lib" + env_pkg_config_path "lib/pkgconfig" + env_man "share/man" +} diff --git a/packages/zlib.sh b/packages/zlib.sh new file mode 100755 index 0000000..b95f940 --- /dev/null +++ b/packages/zlib.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +function package_build { + run_git_switch_branch v1.2.11 + run_configure + + run_make + run_make_install +} + +function package_get_source { + run_git_clone https://github.com/madler/zlib.git +} + +function package_use { + env_path "lib" + env_path "include" + env_man "share/man" + env_lib_library_path "lib" + env_pkg_config_path "lib/pkgconfig" +} diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..61109a7 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +export package=$1 +source ../scripts/include/common.sh + +common_package_init + +common_build_init + +common_run_package +package_build +common_use_package diff --git a/scripts/clean.sh b/scripts/clean.sh new file mode 100755 index 0000000..461fc54 --- /dev/null +++ b/scripts/clean.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +export package=$1 +source ../scripts/include/common.sh + +common_package_init + +common_build_init + +common_clean_destination diff --git a/scripts/example.sh b/scripts/example.sh new file mode 100755 index 0000000..5d1b823 --- /dev/null +++ b/scripts/example.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +export installname=zlib +./build.sh zlib +export srcbranch="stable-2.0" +../env/runzlib.sh ./build.sh physfs diff --git a/scripts/getsrc.sh b/scripts/getsrc.sh new file mode 100755 index 0000000..982453c --- /dev/null +++ b/scripts/getsrc.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export package=$1 +source ../scripts/include/common.sh + +common_package_init + +common_run_package +package_get_source diff --git a/scripts/include/common.sh b/scripts/include/common.sh new file mode 100644 index 0000000..cd5f399 --- /dev/null +++ b/scripts/include/common.sh @@ -0,0 +1,154 @@ +#!/bin/bash + +function common_build_init { + export dir=$(pwd) + + if [[ "${installname}" == "" ]]; then + export installname=${package} + fi + + export srcdir=$(realpath "${dir}/../src/${package}") + if [ ! -d "${srcdir}" ]; then + echo "Error: Package sources directory not exists for package '${package}'." + exit 3 + fi + + export builddir=$(realpath "${dir}/../tmp/${package}") + export bindir=$(realpath "${dir}/../bin/${installname}") + + rm -rf "${builddir}" + mkdir -p "${builddir}" +} + +function common_package_init { + export scriptsdir=$(realpath .) + if [[ "${package}" == "" ]]; then + echo "Error: Missing package name" + echo "Example: ./build.sh virglrenderer" + exit 1 + fi + + export packagefile="${package}.sh" + + if [ ! -f "../packages/${packagefile}" ]; then + echo "Error: Package '${package}' not exists." + exit 2 + fi +} + +function common_run_package { + cd ../packages + echo "${package}.sh" + source "./${package}.sh" +} + +function common_use_package { + cd ${scriptsdir} + export envfile="../env/run${package}.sh" + echo "#!/bin/bash" >${envfile} + echo "" >>${envfile} + echo "package_use" + package_use + echo "\$*" >>${envfile} + chmod 0755 ${envfile} +} + +function env_path { + echo "export PATH=${bindir}/$1:\$PATH" >>${envfile} +} + +function env_lib_library_path { + echo "export LD_LIBRARY_PATH=${bindir}/$1:\$LD_LIBRARY_PATH" >>${envfile} +} + +function env_pkg_config_path { + echo "export PKG_CONFIG_PATH=${bindir}/$1:\$PKG_CONFIG_PATH" >>${envfile} +} + +function env_man { + echo "export MANPATH=${bindir}/$1:\$PATH" >>${envfile} +} + +function run_autoreconf { + cd "${srcdir}" + echo "make distclean" + make distclean + echo "autoreconf $*" + autoreconf $* +} + +function run_configure { + cd "${builddir}" + echo "configure --prefix="${bindir}" $*" + "$srcdir"/configure --prefix="${bindir}" $* +} + +function run_cmake { + cd "${builddir}" + echo "cmake -DCMAKE_INSTALL_PREFIX:PATH="${bindir}" "$srcdir" $*" + cmake -DCMAKE_INSTALL_PREFIX:PATH="${bindir}" "$srcdir" $* +} + +function run_make { + echo "make" + make +} + +function run_make_install { + echo "make install" + make install +} + +function run_git_clone { + echo "clone git repository $1" + git clone $1 "../src/${package}" +} + +function run_hg_clone { + echo "clone hg repository $1" + hg clone $1 "../src/${package}" +} + +function run_git_switch_branch { + cd "${srcdir}" + + if [[ "${srcbranch}" == "" ]]; then + export srcbranch="$1" + fi + echo "git checkout ${srcbranch}" + git checkout "${srcbranch}" +} + +function run_hg_switch_branch { + cd "${srcdir}" + + if [[ "${srcbranch}" == "" ]]; then + export srcbranch="$1" + fi + echo "hg update ${srcbranch}" + hg update ${srcbranch} +} + +function package_use { + env_path "bin" + env_lib_library_path "lib" +} + +function package_update_source { + cd "../src/${package}" + if [ -d .git ]; then + echo "git fetch origin" + git fetch origin + return + fi + if [ -d .hg ]; then + echo "hg pull" + hg pull + return + fi +} + +function common_clean_destination { + echo "clean ${installname}" + rm -rf "${installname}" +} diff --git a/scripts/updatesrc.sh b/scripts/updatesrc.sh new file mode 100755 index 0000000..9bcbfb3 --- /dev/null +++ b/scripts/updatesrc.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export package=$1 +source ../scripts/include/common.sh + +common_package_init + +package_update_source |