summaryrefslogtreecommitdiffstats
path: root/build_efl_stable.sh
blob: d614603fcca62b6cbdad46374081ec572febad7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#! /bin/bash

EFL_VER=1.7.5
E_VER=0.17.0
PREFIX=/opt/efl-stable
OPTIONS="--disable-doc --disable-static"
SUDO_PASSWD=""
BASE_URL="http://download.enlightenment.fr/releases"
export LD_LIBRARY_PATH=""
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig"

EFL_PKGS="eina eet evas ecore eio embryo edje efreet e_dbus eeze emotion ethumb elementary"

function e_get() {
    echo "fetch archives"
    for pkg in $EFL_PKGS; do
        arch=${pkg}-${EFL_VER}.tar.bz2
        echo "  - $arch"
        [ -f $arch ] || curl "$BASE_URL/$arch" -o $arch || exit 1
    done
    e_arch=enlightenment-${E_VER}.tar.bz2
    echo "  - $e_arch"
    [ -f $e_arch ] || curl "$BASE_URL/$e_arch" -o $e_arch || exit 1
}

function e_extract() {
    echo "extract archives"
    for pkg in $EFL_PKGS; do
        echo "  - $arch"
        [ -d $pkg-${EFL_VER} ] && rm -rf $pkg-${EFL_VER}
        arch=${pkg}-${EFL_VER}.tar.bz2
        tar -xjf $arch || exit 1
    done
    echo "  - $e_arch"
    [ -d enlightenment-${E_VER} ] && rm -rf enlightenment-${E_VER}
    e_arch=enlightenment-${E_VER}.tar.bz2
    tar -xjf $e_arch || exit 1
}

function e_build() {
    echo "build and install"
    for pkg in $EFL_PKGS; do
        echo "  - $pkg"
        cd $pkg-${EFL_VER} || exit 1
        ./autogen.sh --prefix=$PREFIX $OPTIONS
        if [ $? -ne 0 ]; then
            echo " - FIX configure.ac" && sed -i 's/AM_PROG_CC_STDC/AC_PROG_CC/g' configure.ac && sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || exit 1
            ./autogen.sh --prefix=$PREFIX $OPTIONS || exit 1
        fi
        make && echo "$PASSWD" | sudo -S make install && cd .. || exit 1
    done
    echo "  - $e_arch"
    cd enlightenment-${E_VER} && ./configure --prefix=$PREFIX $OPTIONS && make && echo "$PASSWD" | sudo -S make install && cd .. || exit 1
}

function get_sudopwd() {
    sudo_test=/tmp/_sudo.test
    echo -n "enter sudo-password: " && stty -echo && read SUDO_PASSWD && stty echo || exit 1
    [ -e $sudo_test ] && rm -f $sudo_test
    echo "$SUDO_PASSWD" | sudo -S touch $sudo_test
    if [ ! -e $sudo_test ]; then
        echo "cmdline provided sudo password failed!"
        exit 1
    fi
}

get_sudopwd
e_get
e_extract
e_build