diff options
| -rwxr-xr-x | easy_e17.sh | 91 | 
1 files changed, 91 insertions, 0 deletions
diff --git a/easy_e17.sh b/easy_e17.sh index 71537c1..a194a1c 100755 --- a/easy_e17.sh +++ b/easy_e17.sh @@ -21,6 +21,13 @@ src_cache_path="$tmp_path/src_cache"  src_path="$HOME/e17_src"  conf_files="/etc/easy_e17.conf $HOME/.easy_e17.conf $PWD/.easy_e17.conf" +ewk_enabled=0 +ewk_src_url="http://svn.webkit.org/repository/webkit/trunk/Source" +ewk_src_rev="HEAD" +ewk_src_path="$HOME/ewebkit_src" +ewk_install_path="/opt/ewebkit" +ewk_cmake_cmd="cmake .. -DPORT=Efl -DSHARED_CORE=OFF -DCMAKE_BUILD_TYPE=Release" +  git=0  git_url="git@asynk.ch:e"  src_url="http://svn.enlightenment.org/svn/e/trunk" @@ -131,6 +138,11 @@ function header ()          echo "  OS           :  $os"      fi      echo +    echo " ewebkit" +    echo "  Source url   :  $ewk_src_url (Revision: $ewk_src_rev)" +    echo "  Source path  :  $ewk_src_path" +    echo "  Install path :  $ewk_install_path" +    echo      if [ "$only" ]; then echo "  Only:            $only"; fi      if [ "$skip" ]; then echo "  Skipping:        $skip"; fi      echo "  Packages:       $effective_packages" @@ -218,6 +230,11 @@ function help ()          echo "                                        <name1>:<opt1>+<opt2>,<name2>:<opt1>+..."          echo "      --cflags=<flag1>,<flag2>,...    = pass cflags to the gcc"          echo "      --ldflags=<flag1>,<flag2>,...   = pass ldflags to the gcc" +        echo -e "\033[1m-----------------\033[7m ewebkit specific options  <ACTION> <OPTIONS...>' \033[0m\033[1m----------------\033[0m" +        echo "      --ewk-enable                    = enable build of ewebkit" +        echo "      --ewk-srcurl=<url>              = change ewebkit default source url" +        echo "      --ewk-srcpath=<path>            = change ewebkit default source path" +        echo "      --ewk-instpath=<path>           = change ewebkit default install path"          echo -e "\033[1m--------------------------------------------------------------------------------\033[0m"          echo          echo -e "\033[1m----------------------\033[7m Configurationfile '~/.easy_e17.conf' \033[0m\033[1m--------------------\033[0m" @@ -434,6 +451,16 @@ function parse_args ()                  fi                  LDFLAGS="$LDFLAGS `echo "$value" | tr -s '\,' '\ '`"                  ;; +            --ewk-enable)   ewk_enabled=1 ;; +            --ewk-srcurl)   ewk_src_url="$value" ;; +            --ewk-srcpath)  ewk_src_path="$value" ;; +            --ewk-instpath) ewk_install_path="$value" ;; +            --ewk-srcrev) +                if [ -z "$value" ]; then +                    wrong "Missing value for argument '$option'!" +                fi +                ewk_src_rev="$value" +                ;;              --help)                  fullhelp=1                  wrong @@ -1151,6 +1178,70 @@ if [ ! "$action"  == "srcupdate" ]; then      check_ld_path  fi +# ewebkit +open_header "ewebkit" +if [ $ewk_enabled -eq 0 ]; then +    set_notification "normal" "ewebkit not enabled..." +else +    mkdir -p "$ewk_src_path" 2>/dev/null +    cd "$ewk_src_path" +    if [ "`$cmd_svn_test &>/dev/null; echo $?`" == 0 ]; then +        set_title "Updating sources in '$ewk_src_path' ..." +        echo "- updating sources in '$ewk_src_path' ..." +        if [ "$ask_on_src_conflicts" ]; then +            backoff_loop "$cmd_svn_update_conflicts_ask $ewk_src_rev" +        else +            backoff_loop "$cmd_svn_update_conflicts_solve $ewk_src_rev" +        fi +    else +        set_title "Checkout sources in '$ewk_src_path' ..." +        echo "- checkout sources in '$ewk_src_path' ..." +        backoff_loop "$cmd_svn_checkout $ewk_src_rev $ewk_src_url $ewk_src_path" +    fi +    # fix FindEFL.cmake +    find -name FindEFL.cmake | xargs sed -i 's/999\..*/0/' +    # get package arguments +    args="" +    package_clean=$clean +    package_make_only=$make_only +    for app_arg in `echo $package_args | tr -s '\,' ' '`; do +        app=`echo $app_arg | cut -d':' -f1` +        if [ "$app" == "ewebkit" ]; then +            args="$args `echo $app_arg | cut -d':' -f2- | tr -s '+' ' '`" +            for arg in $args; do +                case $arg in +                    clean) +                        package_clean=$(($package_clean + 1)) +                        ;; +                    make_only) +                        package_make_only=1 +                        ;; +                esac +            done +        fi +    done +    if [ -d build ]; then +        if [ $package_clean -ge 2 ]; then +            run_command "ewebkit" "NOT USED" "purge" "purge  : " "user" "rm -fr build" +            mkdir -p build 2>/dev/null +            cd build +            package_make_only=0 +        elif [ $package_clean -eq 1 ]; then +            cd build +            run_command "ewebkit" "NOT USED" "clean" "clean  : " "user" "$make -j $threads clean" +        else +            cd build +        fi +    else +        mkdir -p "build" 2>/dev/null +        cd build +        package_make_only=0 +    fi +    [ $package_make_only -eq 0 ] && run_command "ewebkit" "NOT USED" "cmake" "cmake  : " "$mode" "$ewk_cmake_cmd -DCMAKE_INSTALL_PREFIX=$ewk_install_path" +    run_command "ewebkit" "NOT USED" "build" "build  : " "$mode" "$make -j $threads" +    run_command "ewebkit" "NOT USED" "install" "install : " "rootonly" "$make install" +fi +  # sources  open_header "Source checkout/update"  if [ -z "$skip_srcupdate" ]; then  | 
