Source: curl Version: 8.13.0-1 Tags: patch upstream Severity: important Justification: architecture cross bootstrap regression User: helm...@debian.org Usertags: rebootstrap User: debian-cr...@lists.debian.org Usertags: ftcbfs
Hi, curl intentionally broke cross compilation in its last upstream release. It stopped installing fish/zsh completion files, because that's impossible for cross compilation. Turns out, that's factually wrong and skipping the files makes the build fail. I'm attaching a revert for your convenience. Please include it at least in Debian even if it ends up not being upstreamable. Helmut
--- curl-8.13.0.orig/scripts/CMakeLists.txt +++ curl-8.13.0/scripts/CMakeLists.txt @@ -51,33 +51,29 @@ endif() if(NOT CURL_DISABLE_INSTALL) - if(NOT CMAKE_CROSSCOMPILING) - if(NOT CURL_COMPLETION_FISH_DIR) - find_package(PkgConfig QUIET) - pkg_get_variable(CURL_COMPLETION_FISH_DIR "fish" "completionsdir") - if(NOT _pkg_fish_completionsdir) - include(GNUInstallDirs) - if(CMAKE_INSTALL_DATAROOTDIR) - set(CURL_COMPLETION_FISH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/fish/vendor_completions.d") - endif() - endif() - endif() - if(NOT CURL_COMPLETION_ZSH_DIR) + if(NOT CURL_COMPLETION_FISH_DIR) + find_package(PkgConfig QUIET) + pkg_get_variable(CURL_COMPLETION_FISH_DIR "fish" "completionsdir") + if(NOT _pkg_fish_completionsdir) include(GNUInstallDirs) if(CMAKE_INSTALL_DATAROOTDIR) - set(CURL_COMPLETION_ZSH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/zsh/site-functions") + set(CURL_COMPLETION_FISH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/fish/vendor_completions.d") endif() endif() - if(CURL_COMPLETION_FISH_DIR) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_completion_fish}" - DESTINATION "${CURL_COMPLETION_FISH_DIR}") - endif() - if(CURL_COMPLETION_ZSH_DIR) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_completion_zsh}" - DESTINATION "${CURL_COMPLETION_ZSH_DIR}") + endif() + if(NOT CURL_COMPLETION_ZSH_DIR) + include(GNUInstallDirs) + if(CMAKE_INSTALL_DATAROOTDIR) + set(CURL_COMPLETION_ZSH_DIR "${CMAKE_INSTALL_DATAROOTDIR}/zsh/site-functions") endif() - else() - message(STATUS "We cannot install completion scripts when cross-compiling") + endif() + if(CURL_COMPLETION_FISH_DIR) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_completion_fish}" + DESTINATION "${CURL_COMPLETION_FISH_DIR}") + endif() + if(CURL_COMPLETION_ZSH_DIR) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_completion_zsh}" + DESTINATION "${CURL_COMPLETION_ZSH_DIR}") endif() endif() else() --- curl-8.13.0.orig/scripts/Makefile.am +++ curl-8.13.0/scripts/Makefile.am @@ -55,9 +55,6 @@ $(FISH_COMPLETION_FUNCTION_FILENAME): co endif install-data-local: -if CROSSCOMPILING - @echo 'NOTICE: we cannot install completion scripts when cross-compiling' -else # if not cross-compiling: if USE_ZSH_COMPLETION if test -n "$(PERL)"; then \ $(MKDIR_P) $(DESTDIR)$(ZSH_FUNCTIONS_DIR); \ @@ -70,7 +67,6 @@ if USE_FISH_COMPLETION $(INSTALL_DATA) $(FISH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(FISH_FUNCTIONS_DIR)/$(FISH_COMPLETION_FUNCTION_FILENAME); \ fi endif -endif distclean: rm -f $(CLEANFILES)