aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/manpages/de/vim-de.11
-rw-r--r--src/nvim/msgpack_rpc/helpers.c6
-rw-r--r--test/functional/helpers.lua5
-rw-r--r--test/unit/os/fs_spec.lua2
-rw-r--r--third-party/CMakeLists.txt27
-rw-r--r--third-party/cmake/DownloadAndExtractFile.cmake42
6 files changed, 43 insertions, 40 deletions
diff --git a/runtime/doc/manpages/de/vim-de.1 b/runtime/doc/manpages/de/vim-de.1
index 52a97a0856..d958372012 100644
--- a/runtime/doc/manpages/de/vim-de.1
+++ b/runtime/doc/manpages/de/vim-de.1
@@ -156,6 +156,7 @@ sehr ähnlich zu Vi, selbst wenn eine VimRC\-Datei existiert.
\-d
Startet im diff\-Modus. Es sollten zwei, drei oder vier Dateinamen als
Parameter übergeben werden. \fBVim\fP öffnet sie alle und zeigt die
+Unterschiede an.
.TP
\-d {Gerät}
Öffnet das {Gerät}, um es als Terminal zu nutzen. Nur für AmigaOS. Beispiel:
diff --git a/src/nvim/msgpack_rpc/helpers.c b/src/nvim/msgpack_rpc/helpers.c
index a702d4f256..54e8b83cd0 100644
--- a/src/nvim/msgpack_rpc/helpers.c
+++ b/src/nvim/msgpack_rpc/helpers.c
@@ -86,8 +86,8 @@ bool msgpack_rpc_to_integer(msgpack_object *obj, Integer *arg)
bool msgpack_rpc_to_float(msgpack_object *obj, Float *arg)
FUNC_ATTR_NONNULL_ALL
{
- *arg = obj->via.dec;
- return obj->type == MSGPACK_OBJECT_DOUBLE;
+ *arg = obj->via.f64;
+ return obj->type == MSGPACK_OBJECT_FLOAT;
}
bool msgpack_rpc_to_string(msgpack_object *obj, String *arg)
@@ -120,7 +120,7 @@ bool msgpack_rpc_to_object(msgpack_object *obj, Object *arg)
arg->type = kObjectTypeInteger;
return msgpack_rpc_to_integer(obj, &arg->data.integer);
- case MSGPACK_OBJECT_DOUBLE:
+ case MSGPACK_OBJECT_FLOAT:
arg->type = kObjectTypeFloat;
return msgpack_rpc_to_float(obj, &arg->data.floating);
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index e63c79ec80..ea98ff4ce3 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -1,8 +1,3 @@
-if jit then
- -- Disable JIT because of random errors on Travis with OS X.
- jit.off(true, true)
-end
-
require('coxpcall')
local Loop = require('nvim.loop')
local MsgpackStream = require('nvim.msgpack_stream')
diff --git a/test/unit/os/fs_spec.lua b/test/unit/os/fs_spec.lua
index 90f5a0b7de..7051ed3797 100644
--- a/test/unit/os/fs_spec.lua
+++ b/test/unit/os/fs_spec.lua
@@ -262,7 +262,7 @@ describe('fs function', function()
it('owner of a file may change the group of the file to any group of which that owner is a member', function()
-- Some systems may not have `id` utility.
- if (os.execute('id -G &> /dev/null') == 0) then
+ if (os.execute('id -G > /dev/null 2>&1') == 0) then
local file_gid = lfs.attributes(filename, 'gid')
-- Gets ID of any group of which current user is a member except the
diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt
index 99fc337d4f..46955d5e8f 100644
--- a/third-party/CMakeLists.txt
+++ b/third-party/CMakeLists.txt
@@ -51,31 +51,24 @@ include(ExternalProject)
set(LIBUV_URL https://github.com/libuv/libuv/archive/v1.2.0.tar.gz)
set(LIBUV_SHA1 38d1ba349fcfc1b221140523ba3d7cf3ea38c20b)
-set(LIBUV_MD5 e7712a100635ec2ca1f145f2bb217200)
-set(MSGPACK_URL https://github.com/msgpack/msgpack-c/archive/ecf4b09acd29746829b6a02939db91dfdec635b4.tar.gz)
-set(MSGPACK_SHA1 c160ff99f20d9d0a25bea0a57f4452f1c9bde370)
-set(MSGPACK_MD5 3599eaf904b8ba0c36cea7ed80973364)
+set(MSGPACK_URL https://github.com/msgpack/msgpack-c/archive/b4eba4ba090e8cd6d8332410e252296a62b7e56d.tar.gz)
+set(MSGPACK_SHA1 768e60e3936cd0d0e4f1d58ca86a78eeb895931b)
set(LUAJIT_URL http://luajit.org/download/LuaJIT-2.0.3.tar.gz)
set(LUAJIT_SHA1 2db39e7d1264918c2266b0436c313fbd12da4ceb)
-set(LUAJIT_MD5 f14e9104be513913810cd59c8c658dc0)
set(LUAROCKS_URL https://github.com/keplerproject/luarocks/archive/0587afbb5fe8ceb2f2eea16f486bd6183bf02f29.tar.gz)
set(LUAROCKS_SHA1 61a894fd5d61987bf7e7f9c3e0c5de16ba4b68c4)
-set(LUAROCKS_MD5 0f53f42909fbcd2c88be303e8f970516)
set(LIBUNIBILIUM_URL https://github.com/mauke/unibilium/archive/520abbc8b26910e2580619f669b5cc2c4ef7f864.tar.gz)
set(LIBUNIBILIUM_SHA1 c546e5e8861380f5c109a256f25c93419e4076bf)
-set(LIBUNIBILIUM_MD5 d80d1fc45b22b1e92bebd5bf76e8a98b)
set(LIBTERMKEY_URL https://github.com/neovim/libtermkey/archive/7b3bdafdf589d08478f2493273d4d75636ecc183.tar.gz)
set(LIBTERMKEY_SHA1 28bfe54dfd9269910a132b51dee7725a2121578d)
-set(LIBTERMKEY_MD5 f0bac9c2467cc80c821be937ea5c13bc)
set(LIBTICKIT_URL https://github.com/neovim/libtickit/archive/33f4afb3891df05955429acbf5b406dfe87ec22b.tar.gz)
set(LIBTICKIT_SHA1 3aab459b9fb3cd83e85ac2e08f05e5f162c8c9d2)
-set(LIBTICKIT_MD5 19ee9271c16716620d0906db74158ec6)
if(USE_BUNDLED_LIBUNIBILIUM)
ExternalProject_Add(libunibilium
@@ -87,7 +80,6 @@ if(USE_BUNDLED_LIBUNIBILIUM)
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libunibilium
-DURL=${LIBUNIBILIUM_URL}
-DEXPECTED_SHA1=${LIBUNIBILIUM_SHA1}
- -DEXPECTED_MD5=${LIBUNIBILIUM_MD5}
-DTARGET=libunibilium
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
CONFIGURE_COMMAND ""
@@ -109,7 +101,6 @@ if(USE_BUNDLED_LIBTERMKEY)
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libtermkey
-DURL=${LIBTERMKEY_URL}
-DEXPECTED_SHA1=${LIBTERMKEY_SHA1}
- -DEXPECTED_MD5=${LIBTERMKEY_MD5}
-DTARGET=libtermkey
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
CONFIGURE_COMMAND ""
@@ -134,7 +125,6 @@ if(USE_BUNDLED_LIBTICKIT)
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libtickit
-DURL=${LIBTICKIT_URL}
-DEXPECTED_SHA1=${LIBTICKIT_SHA1}
- -DEXPECTED_MD5=${LIBTICKIT_MD5}
-DTARGET=libtickit
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
CONFIGURE_COMMAND ""
@@ -159,12 +149,12 @@ if(USE_BUNDLED_LIBUV)
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libuv
-DURL=${LIBUV_URL}
-DEXPECTED_SHA1=${LIBUV_SHA1}
- -DEXPECTED_MD5=${LIBUV_MD5}
-DTARGET=libuv
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
CONFIGURE_COMMAND sh ${DEPS_BUILD_DIR}/src/libuv/autogen.sh &&
${DEPS_BUILD_DIR}/src/libuv/configure --with-pic --disable-shared
- --prefix=${DEPS_INSTALL_DIR} CC=${DEPS_C_COMPILER}
+ --prefix=${DEPS_INSTALL_DIR} --libdir=${DEPS_INSTALL_DIR}/lib
+ CC=${DEPS_C_COMPILER}
INSTALL_COMMAND ${MAKE_PRG} install)
list(APPEND THIRD_PARTY_DEPS libuv)
endif()
@@ -179,7 +169,6 @@ if(USE_BUNDLED_MSGPACK)
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/msgpack
-DURL=${MSGPACK_URL}
-DEXPECTED_SHA1=${MSGPACK_SHA1}
- -DEXPECTED_MD5=${MSGPACK_MD5}
-DTARGET=msgpack
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
CONFIGURE_COMMAND cmake ${DEPS_BUILD_DIR}/src/msgpack
@@ -205,7 +194,6 @@ if(USE_BUNDLED_LUAJIT)
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/luajit
-DURL=${LUAJIT_URL}
-DEXPECTED_SHA1=${LUAJIT_SHA1}
- -DEXPECTED_MD5=${LUAJIT_MD5}
-DTARGET=luajit
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
CONFIGURE_COMMAND ""
@@ -214,6 +202,10 @@ if(USE_BUNDLED_LUAJIT)
INSTALL_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER}
PREFIX=${DEPS_INSTALL_DIR}
CFLAGS=-fPIC
+ CFLAGS+=-DLUAJIT_DISABLE_JIT
+ CFLAGS+=-DLUA_USE_APICHECK
+ CFLAGS+=-DLUA_USE_ASSERT
+ CCDEBUG+=-g
BUILDMODE=static
install)
list(APPEND THIRD_PARTY_DEPS luajit)
@@ -234,7 +226,6 @@ if(USE_BUNDLED_LUAROCKS)
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/luarocks
-DURL=${LUAROCKS_URL}
-DEXPECTED_SHA1=${LUAROCKS_SHA1}
- -DEXPECTED_MD5=${LUAROCKS_MD5}
-DTARGET=luarocks
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
BUILD_IN_SOURCE 1
@@ -276,7 +267,7 @@ if(USE_BUNDLED_LUAROCKS)
add_custom_command(OUTPUT ${DEPS_LIB_DIR}/luarocks/rocks/nvim-client
COMMAND ${DEPS_BIN_DIR}/luarocks
- ARGS build https://raw.githubusercontent.com/neovim/lua-client/af161f5f89c7877d0f650b5de6b3a6126b38f012/nvim-client-0.0.1-10.rockspec CC=${DEPS_C_COMPILER} LD=${DEPS_C_COMPILER} LIBUV_DIR=${DEPS_INSTALL_DIR}
+ ARGS build https://raw.githubusercontent.com/neovim/lua-client/fabecc56a7c7a3fc15fe6a1a765b58d61bc8e922/nvim-client-0.0.1-11.rockspec CC=${DEPS_C_COMPILER} LD=${DEPS_C_COMPILER} LIBUV_DIR=${DEPS_INSTALL_DIR}
DEPENDS lpeg libuv)
add_custom_target(nvim-client
DEPENDS ${DEPS_LIB_DIR}/luarocks/rocks/nvim-client)
diff --git a/third-party/cmake/DownloadAndExtractFile.cmake b/third-party/cmake/DownloadAndExtractFile.cmake
index b0d28355cb..875d45795d 100644
--- a/third-party/cmake/DownloadAndExtractFile.cmake
+++ b/third-party/cmake/DownloadAndExtractFile.cmake
@@ -10,8 +10,8 @@ if(NOT DEFINED DOWNLOAD_DIR)
message(FATAL_ERROR "DOWNLOAD_DIR must be defined.")
endif()
-if((NOT DEFINED EXPECTED_SHA1) OR (NOT DEFINED EXPECTED_MD5))
- message(FATAL_ERROR "EXPECTED_SHA1 or EXPECTED_MD5 must be defined.")
+if(NOT DEFINED EXPECTED_SHA1)
+ message(FATAL_ERROR "EXPECTED_SHA1 must be defined.")
endif()
if(NOT DEFINED TARGET)
@@ -58,16 +58,6 @@ message(STATUS "downloading...
dst='${file}'
timeout='${timeout_msg}'")
-if((DEFINED EXPECTED_SHA1) AND (${CMAKE_VERSION} VERSION_GREATER 2.8.10))
- if(NOT (EXPECTED_SHA1 STREQUAL "0000000000000000000000000000000000000000"))
- set(hash_args EXPECTED_HASH SHA1=${EXPECTED_SHA1})
- endif()
-else()
- if(NOT (EXPECTED_MD5 STREQUAL "00000000000000000000000000000000"))
- set(hash_args EXPECTED_MD5 ${EXPECTED_MD5})
- endif()
-endif()
-
file(DOWNLOAD ${URL} ${file}
${timeout_args}
${hash_args}
@@ -85,6 +75,33 @@ if(NOT status_code EQUAL 0)
")
endif()
+set(NULL_SHA1 "0000000000000000000000000000000000000000")
+
+# Allow users to use "SKIP" or "skip" as the sha1 to skip checking the hash.
+# You can still use the all zeros hash too.
+if((EXPECTED_SHA1 STREQUAL "SKIP") OR (EXPECTED_SHA1 STREQUAL "skip"))
+ set(EXPECTED_SHA1 ${NULL_SHA1})
+endif()
+
+# We could avoid computing the SHA1 entirely if a NULL_SHA1 was given,
+# but we want to warn users of an empty file.
+file(SHA1 ${file} ACTUAL_SHA1)
+if(ACTUAL_SHA1 STREQUAL "da39a3ee5e6b4b0d3255bfef95601890afd80709")
+ # File was empty. It's likely due to lack of SSL support.
+ message(FATAL_ERROR
+ "Failed to download ${URL}. The file is empty and likely means CMake "
+ "was built without SSL support. Please use a version of CMake with "
+ "proper SSL support. See "
+ "https://github.com/neovim/neovim/wiki/Building-Neovim#build-prerequisites "
+ "for more information.")
+elseif((NOT EXPECTED_SHA1 STREQUAL NULL_SHA1) AND
+ (NOT EXPECTED_SHA1 STREQUAL ACTUAL_SHA1))
+ # Wasn't a NULL SHA1 and we didn't match, so we fail.
+ message(FATAL_ERROR
+ "Failed to download ${URL}. Expected a SHA1 of "
+ "${EXPECTED_SHA1} but got ${ACTUAL_SHA1} instead.")
+endif()
+
message(STATUS "downloading... done")
# Slurped from a generated extract-TARGET.cmake file.
@@ -140,4 +157,3 @@ message(STATUS "extracting... [clean up]")
file(REMOVE_RECURSE "${ut_dir}")
message(STATUS "extracting... done")
-