mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
Automate libuv download and build
This commit is contained in:
parent
3da78364cc
commit
6b0b466585
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,6 @@
|
|||||||
build/
|
build/
|
||||||
|
.deps/
|
||||||
|
|
||||||
*.rej
|
*.rej
|
||||||
*.orig
|
*.orig
|
||||||
*.mo
|
*.mo
|
||||||
|
18
Makefile
18
Makefile
@ -3,12 +3,22 @@ CMAKE_FLAGS := -DCMAKE_BUILD_TYPE=Debug
|
|||||||
test: build/src/vim
|
test: build/src/vim
|
||||||
cd src/testdir && make
|
cd src/testdir && make
|
||||||
|
|
||||||
build/src/vim:
|
build/src/vim: deps
|
||||||
cd build && make
|
cd build && make
|
||||||
|
|
||||||
cmake:
|
deps: .deps/usr/lib/libuv.a
|
||||||
rm -rf build
|
|
||||||
|
.deps/usr/lib/libuv.a:
|
||||||
|
sh -e scripts/get-libuv.sh
|
||||||
|
|
||||||
|
cmake: clean
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build && cmake $(CMAKE_FLAGS) ../
|
cd build && cmake $(CMAKE_FLAGS) ../
|
||||||
|
|
||||||
.PHONY: test cmake
|
clean:
|
||||||
|
rm -rf build
|
||||||
|
for file in lua mbyte mzscheme small tiny; do \
|
||||||
|
rm -f src/testdir/$$file.vim; \
|
||||||
|
done
|
||||||
|
|
||||||
|
.PHONY: test deps cmake
|
||||||
|
37
scripts/common.sh
Normal file
37
scripts/common.sh
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
pkgroot="$(pwd)"
|
||||||
|
deps="$pkgroot/.deps"
|
||||||
|
prefix="$deps/usr"
|
||||||
|
export PATH="$prefix/bin:$PATH"
|
||||||
|
|
||||||
|
download() {
|
||||||
|
local url=$1
|
||||||
|
local tgt=$2
|
||||||
|
local sha1=$3
|
||||||
|
|
||||||
|
if [ ! -d "$tgt" ]; then
|
||||||
|
mkdir -p "$tgt"
|
||||||
|
if which wget > /dev/null 2>&1; then
|
||||||
|
tmp_dir=$(mktemp -d "/tmp/download_sha1check_XXXXXXX")
|
||||||
|
fifo="$tmp_dir/fifo"
|
||||||
|
mkfifo "$fifo"
|
||||||
|
# download, untar and calculate sha1 sum in one pass
|
||||||
|
(wget "$url" -O - | tee "$fifo" | \
|
||||||
|
(cd "$tgt"; tar --strip-components=1 -xvzf -)) &
|
||||||
|
sum=$(sha1sum < "$fifo" | cut -d ' ' -f1)
|
||||||
|
rm -rf "$tmp_dir"
|
||||||
|
if [ "$sum" != "$sha1" ]; then
|
||||||
|
echo "SHA1 sum doesn't match, expected '$sha1' got '$sum'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Missing wget utility"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
github_download() {
|
||||||
|
local repo=$1
|
||||||
|
local ver=$2
|
||||||
|
download "https://github.com/${repo}/archive/${ver}.tar.gz" "$3" "$4"
|
||||||
|
}
|
16
scripts/get-libuv.sh
Normal file
16
scripts/get-libuv.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
. scripts/common.sh
|
||||||
|
|
||||||
|
uv_repo=joyent/libuv
|
||||||
|
uv_ver=v0.11.19
|
||||||
|
uv_dir="$deps/uv-$uv_ver"
|
||||||
|
uv_sha1=5539d8e99e22b438cf4a412d4cec70ac6bb519fc
|
||||||
|
|
||||||
|
rm -rf "$uv_dir"
|
||||||
|
|
||||||
|
github_download "$uv_repo" "$uv_ver" "$uv_dir" "$uv_sha1"
|
||||||
|
cd "$uv_dir"
|
||||||
|
sh autogen.sh
|
||||||
|
./configure --prefix="$prefix"
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
rm "$prefix/lib/"libuv*.so "$prefix/lib/"libuv*.so.*
|
Loading…
Reference in New Issue
Block a user