Merge changes from topic "fedora-31"

* changes:
  Switch to Fedora 31 builds
  Fix std::filesystem library linking
diff --git a/.zuul.yaml b/.zuul.yaml
index 792b363..1ddd416 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -2,17 +2,19 @@
     check:
       fail-fast: true
       jobs:
-        - f29-gcc-cover:
+        - f31-gcc-cover:
+            requires: CzechLight-deps-f31-gcc
+        - f31-gcc-asan-ubsan:
+            requires: CzechLight-deps-f31-gcc-asan-ubsan
+        - f31-clang-asan:
+            requires: CzechLight-deps-f31-clang-asan
+        - f31-clang-tsan:
+            requires: CzechLight-deps-f31-clang-tsan
+        - f29-gcc:
             requires: CzechLight-deps-f29-gcc
-        - f29-gcc-asan-ubsan:
-            requires: CzechLight-deps-f29-gcc-asan-ubsan
-        - f29-clang-asan:
-            requires: CzechLight-deps-f29-clang-asan
-        - f29-clang-tsan:
-            requires: CzechLight-deps-f29-clang-tsan
-        - cpp-coverage-diff:
+        - f31-cpp-coverage-diff:
             voting: false
         - clang-format:
             voting: false
-        - f29-gcc-cover-previous:
-            requires: CzechLight-deps-f29-gcc
+        - f31-gcc-cover-previous:
+            requires: CzechLight-deps-f31-gcc
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 855799c..2f4068a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -133,9 +133,9 @@
 target_compile_definitions(sysrepo-cli PRIVATE SYSREPO_CLI)
 target_include_directories(sysrepo-cli PRIVATE ${REPLXX_PATH})
 target_link_libraries(sysrepo-cli sysrepoaccess yangschema docopt parser ${REPLXX_LIBRARY})
-if(CMAKE_CXX_FLAGS MATCHES "-stdlib=libc\\+\\+")
+if(CMAKE_CXX_FLAGS MATCHES "-stdlib=libc\\+\\+" AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
     target_link_libraries(sysrepo-cli c++experimental)
-else()
+elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.1)
     target_link_libraries(sysrepo-cli stdc++fs)
 endif()
 
diff --git a/ci/build.sh b/ci/build.sh
index 956fa0d..fe8d8a7 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -32,6 +32,11 @@
     export CFLAGS="-fsanitize=address ${CFLAGS}"
     export CXXFLAGS="-fsanitize=address ${CXXFLAGS}"
     export LDFLAGS="-fsanitize=address ${LDFLAGS}"
+
+    if [[ $ZUUL_JOB_NAME =~ f31-.* ]]; then
+        # On Fedora 31, libev's ev_realloc looks fishy for sysrepoctl & sysrepocfg
+        export LSAN_OPTIONS="suppressions=${ZUUL_PROJECT_SRC_DIR}/ci/lsan.supp:print_suppressions=0"
+    fi
 fi
 
 if [[ $ZUUL_JOB_NAME =~ .*-tsan ]]; then
diff --git a/ci/lsan.supp b/ci/lsan.supp
new file mode 100644
index 0000000..af49784
--- /dev/null
+++ b/ci/lsan.supp
@@ -0,0 +1,11 @@
+# Fedora 31: sysrepocfg and sysrepoctl binaries
+# Direct leak of 112 byte(s) in 2 object(s) allocated from:
+#  #0 0x7f12a9dc314e in realloc (/lib64/libasan.so.5+0x10e14e)
+#  #1 0x7f12a760bb99 in ev_realloc /usr/src/debug/libev-4.27-1.fc31.x86_64/ev.c:1776
+leak:ev.c
+
+# I have no idea if it is legit -- libnetconf2's test_server_thread
+# Direct leak of 321 byte(s) in 1 object(s) allocated from:
+#  #0 0x7fc37cd79f16 in __interceptor_calloc (/lib64/libasan.so.5+0x10df16)
+#  #1 0x7fc37b004871 in ssh_find_all_matching /usr/src/debug/libssh-0.9.4-2.fc31.x86_64/src/token.c:221
+leak:ssh_find_all_matching
diff --git a/submodules/dependencies b/submodules/dependencies
index 6a3317e..4044404 160000
--- a/submodules/dependencies
+++ b/submodules/dependencies
@@ -1 +1 @@
-Subproject commit 6a3317e699b8f5a5aba77ee57c4464e1c39fb6b3
+Subproject commit 4044404d72ee0d6bed086c49e60fa2aee97d6317