@@ -161,17 +161,36 @@ prepare_clean_dir() {
161161 fi
162162}
163163
164+ get_src_filename () {
165+ local src_filename=$( basename " ${PACKAGE_SRC} " )
166+ # if last part is "download", return previous folder.
167+ # used for Sourceforge
168+ if [[ " ${src_filename} " = ' download' ]]; then
169+ echo " ${PACKAGE_SRC} " | awk -F/ ' {print $(NF-1)}'
170+ else
171+ echo ${src_filename}
172+ fi
173+ }
174+
175+ download_file () {
176+ local filename=" $1 "
177+ local download_dir=" $2 "
178+ local url=" $3 "
179+
180+ wget --no-check-certificate --tries=5 --retry-connrefused --waitretry=5 \
181+ --trust-server-names --progress=bar:force:noscroll \
182+ -O ${filename} -P " ${download_dir} " " ${url} "
183+ }
184+
164185download_package_src () {
165186 if [[ ! -z " ${PACKAGE_SRC} " ]]; then
166- local src_filename=$( basename " ${PACKAGE_SRC} " )
187+ local src_filename=` get_src_filename `
167188 if [[ ! -z " ${src_filename} " ]]; then
168189 if [[ -e " ${PACKAGE_SRC_DOWNLOAD_DIR} /${src_filename} " ]] && [[ " ` stat -c %s ${PACKAGE_SRC_DOWNLOAD_DIR} /${src_filename} ` " -gt 1024 ]]; then
169190 echo " Using cached download"
170191 else
171192 echo " Downloading package source..."
172- wget --no-check-certificate --tries=5 --retry-connrefused --waitretry=5 \
173- --progress=bar:force:noscroll \
174- -O ${src_filename} -P ${PACKAGE_SRC_DOWNLOAD_DIR} " ${PACKAGE_SRC} "
193+ download_file " ${src_filename} " " ${PACKAGE_SRC_DOWNLOAD_DIR} " " ${PACKAGE_SRC} "
175194 fi
176195 else
177196 echo_error " Error: Invalid package source specified!"
@@ -182,7 +201,7 @@ download_package_src() {
182201
183202unpack_package_src () {
184203 if [[ ! -z " ${PACKAGE_SRC} " ]]; then
185- local src_filename=$( basename " ${PACKAGE_SRC} " )
204+ local src_filename=` get_src_filename `
186205 local src_file=" ${PACKAGE_SRC_DOWNLOAD_DIR} /${src_filename} "
187206 if [[ -e " ${src_file} " ]]; then
188207 echo " Unpacking ${src_file} ..."
0 commit comments