summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/esmtp-add-lesmtp.patch37
-rw-r--r--gnu/packages/patches/extempore-unbundle-external-dependencies.patch316
-rw-r--r--gnu/packages/patches/glibc-bootstrap-system.patch28
-rw-r--r--gnu/packages/patches/julia-tracker-16-compat.patch40
-rw-r--r--gnu/packages/patches/marble-qt-add-qt-headers.patch189
5 files changed, 521 insertions, 89 deletions
diff --git a/gnu/packages/patches/esmtp-add-lesmtp.patch b/gnu/packages/patches/esmtp-add-lesmtp.patch
new file mode 100644
index 0000000000..eb863cd397
--- /dev/null
+++ b/gnu/packages/patches/esmtp-add-lesmtp.patch
@@ -0,0 +1,37 @@
+From 9b09ff673954c459218e2c664386286ca68aae51 Mon Sep 17 00:00:00 2001
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Sat, 24 Jul 2021 23:55:26 +0200
+Subject: [PATCH] gnu: esmtp: Always assume that -lesmtp will work.
+
+libesmtp 1.1.0 removed the libesmtp-config helper in favour of pkg-config.
+This does not use that (I lack the chops and the patience).  Assume that
+the build environment has everything set up for us, which is true on Guix.
+---
+ configure.ac | 11 ++---------
+ 1 file changed, 2 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9252ec2..7ccf71a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,15 +32,8 @@ then
+ 	AC_CHECK_HEADER(libesmtp.h, ,[AC_MSG_ERROR([libesmtp.h not found in $with_libesmtp])])
+ fi    
+ AC_MSG_CHECKING(for libESMTP)
+-if libesmtp-config --version > /dev/null 2>&1
+-then
+-	AC_MSG_RESULT(yes)
+-	CFLAGS="$CFLAGS `libesmtp-config --cflags`"
+-	LIBS="$LIBS `libesmtp-config --libs`"
+-else
+-	AC_MSG_RESULT(no)
+-	AC_MSG_ERROR(libESMTP library not found)
+-fi
++AC_MSG_RESULT(assumed)
++LIBS="$LIBS -lesmtp"
+ 
+ jrf_FUNC_GETOPT
+ 
+-- 
+2.32.0
+
diff --git a/gnu/packages/patches/extempore-unbundle-external-dependencies.patch b/gnu/packages/patches/extempore-unbundle-external-dependencies.patch
index e9484f7994..e72f995f0b 100644
--- a/gnu/packages/patches/extempore-unbundle-external-dependencies.patch
+++ b/gnu/packages/patches/extempore-unbundle-external-dependencies.patch
@@ -1,19 +1,27 @@
-Remove build machinery for bundled dependencies.
+From b48ef9af13a154939acc245c32d72358001d00f1 Mon Sep 17 00:00:00 2001
+From: Giacomo Leidi <goodoldpaul@autistici.org>
+Date: Sun, 20 Jun 2021 12:53:27 +0200
+Subject: [PATCH] Remove build machinery for bundled dependencies.
+
+---
+ CMakeLists.txt | 192 +------------------------------------------------
+ 1 file changed, 1 insertion(+), 191 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 89e6125e..c5e90750 100644
+index 17d13d7c..2a7206ed 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -36,7 +36,7 @@ endif()
- if(PACKAGE)
-   # this needs to be set before project() is called
-   set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12)
--  set(ASSETS ON) # necessary for packaging
-+  set(ASSETS OFF) # necessary for packaging
-   message(STATUS "Building Extempore for binary distribution (assets directory will be downloaded)")
- endif()
+@@ -1,9 +1,6 @@
+ cmake_minimum_required(VERSION 3.1) # we use target_sources()
+ project(Extempore VERSION 0.8.9)
  
-@@ -134,71 +134,6 @@ else()
+-# for backwards compatibility with CMake older than 3.19
+-cmake_policy(SET CMP0114 OLD)
+-
+ option(ASSETS "download multimedia assets (approx 500MB)" OFF)
+ option(BUILD_TESTS "build test targets (including examples)" ON)
+ option(PACKAGE "set up install targets for packaging" OFF)
+@@ -142,55 +139,6 @@ else()
    message(FATAL_ERROR "Sorry, Extempore isn't supported on this platform - macOS, Linux & Windows only.")
  endif()
  
@@ -51,90 +59,224 @@ index 89e6125e..c5e90750 100644
 -# portaudio #
 -#############
 -
--add_library(portaudio STATIC
--  src/portaudio/src/common/pa_allocation.c
--  src/portaudio/src/common/pa_allocation.h
--  src/portaudio/src/common/pa_converters.c
--  src/portaudio/src/common/pa_converters.h
--  src/portaudio/src/common/pa_cpuload.c
--  src/portaudio/src/common/pa_cpuload.h
--  src/portaudio/src/common/pa_debugprint.c
--  src/portaudio/src/common/pa_debugprint.h
--  src/portaudio/src/common/pa_dither.c
--  src/portaudio/src/common/pa_dither.h
--  src/portaudio/src/common/pa_endianness.h
--  src/portaudio/src/common/pa_front.c
--  src/portaudio/src/common/pa_hostapi.h
--  src/portaudio/src/common/pa_memorybarrier.h
--  src/portaudio/src/common/pa_process.c
--  src/portaudio/src/common/pa_process.h
--  src/portaudio/src/common/pa_ringbuffer.c
--  src/portaudio/src/common/pa_ringbuffer.h
--  src/portaudio/src/common/pa_stream.c
--  src/portaudio/src/common/pa_stream.h
--  src/portaudio/src/common/pa_trace.c
--  src/portaudio/src/common/pa_trace.h
--  src/portaudio/src/common/pa_types.h
--  src/portaudio/src/common/pa_util.h
--  )
+-include(ExternalProject)
 -
--target_include_directories(portaudio
--  PRIVATE src/portaudio/include
--  PRIVATE src/portaudio/src/common)
+-ExternalProject_Add(portaudio_static
+-  PREFIX portaudio
+-  URL https://github.com/PortAudio/portaudio/archive/3f7bee79a65327d2e0965e8a74299723ed6f072d.zip
+-  URL_MD5 182b76e05f6ef21d9f5716da7489905d
+-  CMAKE_ARGS
+-  -DPA_BUILD_STATIC=ON
+-  -DPA_BUILD_SHARED=OFF
+-  -DPA_LIBNAME_ADD_SUFFIX=OFF
+-  -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-  -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-  -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-  -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/portaudio)
 -
- # platform-specific
- 
- if(APPLE)
-@@ -224,25 +159,8 @@ if(APPLE)
+ ##############
+ # LLVM 3.8.0 #
+ ##############
+@@ -323,11 +271,6 @@ if(UNIX)
+   set_source_files_properties(src/Scheme.cpp PROPERTIES COMPILE_FLAGS -Wno-switch)
+ endif()
  
- elseif(UNIX AND NOT APPLE)
-   # use ALSA on Linux
--  target_sources(portaudio
--    PRIVATE src/portaudio/src/hostapi/alsa/pa_linux_alsa.c
--    PRIVATE src/portaudio/src/os/unix/pa_unix_hostapis.c
--    PRIVATE src/portaudio/src/os/unix/pa_unix_util.c
--    )
--  target_include_directories(portaudio
--    PRIVATE src/portaudio/src/os/unix)
--  target_compile_definitions(portaudio
--    PRIVATE -DPA_USE_ALSA)
--  target_link_libraries(portaudio
--    PRIVATE asound)
+-# static extempore build dependencies
+-
+-add_dependencies(extempore pcre)
+-add_dependencies(extempore portaudio_static)
+-
+ if(BUILD_LLVM)
+   if(WIN32)
+     add_dependencies(extempore LLVM-install)
+@@ -342,12 +285,9 @@ endif()
  
-   if(JACK)
--    target_sources(portaudio
--      PRIVATE src/portaudio/src/hostapi/jack/pa_jack.c)
--    target_compile_definitions(portaudio
--      PRIVATE -DPA_USE_JACK)
--    target_link_libraries(portaudio
--      PRIVATE jack)
-   endif()
+ target_include_directories(extempore
+   PRIVATE
+-  src/pcre
+-  ${CMAKE_BINARY_DIR}/portaudio/include # installed by ExternalProject
+   ${EXT_LLVM_DIR}/include)
  
- elseif(WIN32)
-@@ -292,8 +210,6 @@ if(ASIO)
+-target_link_directories(extempore PRIVATE ${CMAKE_BINARY_DIR}/portaudio/lib)
+-target_link_libraries(extempore PRIVATE pcre portaudio${CMAKE_STATIC_LIBRARY_SUFFIX} ${LLVM_LIBRARIES})
++target_link_libraries(extempore PRIVATE pcre portaudio ${LLVM_LIBRARIES})
+ if(UNIX AND NOT APPLE)
+   target_link_libraries(extempore PRIVATE asound)
  endif()
+@@ -425,7 +365,6 @@ elseif(APPLE) # macOS
+     PRIVATE "-framework AudioToolbox")
  
- if(PACKAGE)
--  target_compile_options(portaudio
--    PRIVATE -mtune=generic)
- endif()
+ elseif(UNIX AND NOT APPLE) # Linux
+-  set_property(TARGET pcre PROPERTY POSITION_INDEPENDENT_CODE ON)
+   set_property(TARGET extempore PROPERTY POSITION_INDEPENDENT_CODE ON)
+   # target_link_libraries(extempore PRIVATE --export-dynamic)
+   target_link_libraries(extempore PRIVATE dl)
+@@ -529,7 +468,6 @@ else(WIN32)
+       DEPENDS ${filename} extempore)
+     set_target_properties(${targetname} PROPERTIES FOLDER AOT)
+     if(NOT ${group} STREQUAL "core")
+-      add_dependencies(${targetname} external_shlibs_${group})
+       add_dependencies(aot_external_${group} ${targetname})
+     endif()
+     foreach(dep ${ARGN})
+@@ -568,59 +506,6 @@ add_custom_target(clean_aot
+ if(UNIX)
+   if(EXTERNAL_SHLIBS_AUDIO)
  
- ##############
-@@ -411,8 +327,6 @@ endif()
+-    # first, download & build the shared libraries themselves (these are all external to Extempore)
+-
+-    ExternalProject_Add(portmidi
+-      PREFIX portmidi
+-      URL https://github.com/extemporelang/portmidi/archive/8602f548f71daf5ef638b2f7d224753400cb2158.zip
+-      CMAKE_ARGS
+-      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-      -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-      -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-      -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR})
+-    set_target_properties(portmidi PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+-    ExternalProject_Add(rtmidi
+-      PREFIX rtmidi
+-      URL https://github.com/thestk/rtmidi/archive/84d130bf22d878ff1b0e224346e2e0f9e3ba8099.zip
+-      URL_MD5 d932b9fef01b859a1b8b86a3c8dc6621
+-      CMAKE_ARGS
+-      -DRTMIDI_BUILD_TESTING=OFF
+-      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-      -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-      -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-      -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR})
+-    set_target_properties(rtmidi PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+-    ExternalProject_Add(kiss_fft
+-      PREFIX kiss_fft
+-      URL https://github.com/extemporelang/kiss_fft/archive/1.3.0.zip
+-      CMAKE_ARGS
+-      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-      -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-      -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-      -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR})
+-    set_target_properties(kiss_fft PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+-    # build with as few deps as we can get away with
+-
+-    ExternalProject_Add(sndfile
+-    PREFIX libsndfile
+-    URL https://github.com/erikd/libsndfile/archive/ae64caf9b5946d365971c550875000342e763de6.zip
+-    CMAKE_ARGS
+-    -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-    -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-    -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-    -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR}
+-    -DBUILD_SHARED_LIBS=ON
+-    -DBUILD_PROGRAMS=OFF
+-    -DBUILD_EXAMPLES=OFF
+-	-DENABLE_EXTERNAL_LIBS=OFF
+-    -DBUILD_TESTING=OFF
+-    -DENABLE_CPACK=OFF
+-    -DENABLE_PACKAGE_CONFIG=OFF)
+-    set_target_properties(sndfile PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+     add_custom_target(aot_external_audio ALL)
+     set_target_properties(aot_external_audio PROPERTIES FOLDER AOT)
+     aotcompile_lib(libs/external/fft.xtm audio base math)
+@@ -629,76 +514,13 @@ if(UNIX)
+     aotcompile_lib(libs/external/instruments_ext.xtm audio base sndfile instruments)
+     aotcompile_lib(libs/external/portmidi.xtm audio base)
+ 
+-    add_custom_target(external_shlibs_audio
+-      COMMENT "moving shared libs into ${EXT_PLATFORM_SHLIBS_DIR}"
+-      DEPENDS LLVM sndfile kiss_fft portmidi rtmidi
+-      COMMAND ${CMAKE_COMMAND} -E make_directory ${EXT_PLATFORM_SHLIBS_DIR}
+-      COMMAND ${CMAKE_COMMAND} -E copy libkiss_fft${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR}
+-      COMMAND ${CMAKE_COMMAND} -E copy libportmidi${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR}
+-      COMMAND ${CMAKE_COMMAND} -E copy librtmidi${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR}
+-      COMMAND ${CMAKE_COMMAND} -E copy libsndfile${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR}
+-      WORKING_DIRECTORY ${EXT_DEPS_INSTALL_DIR}/lib)
+-    set_target_properties(external_shlibs_audio PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+     add_dependencies(aot_external_audio extempore)
+-    add_dependencies(aot_external_audio external_shlibs_audio)
  
- # dependencies
+   endif(EXTERNAL_SHLIBS_AUDIO)
  
--add_dependencies(extempore pcre portaudio)
+   if(EXTERNAL_SHLIBS_GRAPHICS)
+ 
+-    ExternalProject_Add(nanovg
+-      PREFIX nanovg
+-      URL https://github.com/extemporelang/nanovg/archive/3c60175fcc2e5fe305b04355cdce35d499c80310.tar.gz
+-      CMAKE_ARGS
+-      -DEXTEMPORE_LIB_PATH=${CMAKE_SOURCE_DIR}/libs/platform-shlibs/extempore.lib
+-      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-      -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-      -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-      -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR})
+-    set_target_properties(nanovg PROPERTIES FOLDER EXTERNAL_SHLIBS)
 -
- if(BUILD_LLVM)
-   if(WIN32)
-     add_dependencies(extempore LLVM-install)
-@@ -553,7 +467,7 @@ else()
-   install(TARGETS extempore
-     RUNTIME
-     DESTINATION ".")
--  install(DIRECTORY assets runtime libs examples tests
-+  install(DIRECTORY runtime libs examples
-     DESTINATION "."
-     PATTERN ".DS_Store" EXCLUDE)
- endif()
+-    add_dependencies(nanovg extempore)
+-
+-    ExternalProject_Add(stb_image
+-      PREFIX stb_image
+-      URL https://github.com/extemporelang/stb/archive/152a250a702bf28951bb0220d63bc0c99830c498.zip
+-      CMAKE_ARGS
+-      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-      -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-      -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-      -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR})
+-    set_target_properties(nanovg PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+-    ExternalProject_Add(glfw3
+-      PREFIX glfw3
+-      URL https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.zip
+-      CMAKE_ARGS
+-      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-      -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-      -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-      -DBUILD_SHARED_LIBS=ON
+-      -DGLFW_BUILD_EXAMPLES=OFF
+-      -DGLFW_BUILD_TESTS=OFF
+-      -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR})
+-    set_target_properties(glfw3 PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+-    ExternalProject_Add(assimp
+-      PREFIX assimp
+-      URL https://github.com/assimp/assimp/archive/v3.2.zip
+-      CMAKE_ARGS
+-      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+-      -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS}
+-      -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS}
+-      -DCMAKE_DEBUG_POSTFIX=
+-      -DASSIMP_BUILD_ASSIMP_TOOLS=OFF
+-      -DASSIMP_BUILD_SAMPLES=OFF
+-      -DASSIMP_BUILD_TESTS=OFF
+-      -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR})
+-    set_target_properties(assimp PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+     add_custom_target(aot_external_graphics ALL)
+-    set_target_properties(assimp PROPERTIES FOLDER AOT)
+ 
+     aotcompile_lib(libs/external/stb_image.xtm graphics base)
+     aotcompile_lib(libs/external/glfw3.xtm graphics base)
+@@ -715,20 +537,8 @@ if(UNIX)
+     aotcompile_lib(libs/external/assimp.xtm graphics base stb_image graphics-pipeline)
+     aotcompile_lib(libs/external/gl/glcompat-${GL_BIND_METHOD}.xtm graphics base)
+ 
+-    add_custom_target(external_shlibs_graphics
+-      COMMENT "moving shared libs into ${EXT_PLATFORM_SHLIBS_DIR}"
+-      DEPENDS LLVM assimp glfw3 stb_image nanovg
+-      COMMAND ${CMAKE_COMMAND} -E make_directory ${EXT_PLATFORM_SHLIBS_DIR}
+-      COMMAND ${CMAKE_COMMAND} -E copy libassimp${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR}
+-      COMMAND ${CMAKE_COMMAND} -E copy libglfw${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR}
+-      COMMAND ${CMAKE_COMMAND} -E copy libnanovg${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR}
+-      COMMAND ${CMAKE_COMMAND} -E copy libstb_image${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR}
+-      WORKING_DIRECTORY ${EXT_DEPS_INSTALL_DIR}/lib)
+-    set_target_properties(external_shlibs_graphics PROPERTIES FOLDER EXTERNAL_SHLIBS)
+-
+     # set up these libs for AOT compilation
+     add_dependencies(aot_external_graphics extempore)
+-    add_dependencies(aot_external_graphics external_shlibs_graphics)
+ 
+   endif(EXTERNAL_SHLIBS_GRAPHICS)
+ endif(UNIX)
+-- 
+2.32.0
+
diff --git a/gnu/packages/patches/glibc-bootstrap-system.patch b/gnu/packages/patches/glibc-bootstrap-system.patch
index fcaf17132d..9c0fac3ff5 100644
--- a/gnu/packages/patches/glibc-bootstrap-system.patch
+++ b/gnu/packages/patches/glibc-bootstrap-system.patch
@@ -14,7 +14,7 @@ index ebc381ed7c..e0d3ed1bc3 100644
      }
  
 -  if (__posix_spawn (&((_IO_proc_file *) fp)->pid, _PATH_BSHELL, fa, 0,
-+  if (posix_spawnp (&((_IO_proc_file *) fp)->pid, "sh", fa, 0,
++  if (__posix_spawnp (&((_IO_proc_file *) fp)->pid, "sh", fa, 0,
  		     (char *const[]){ (char*) "sh", (char*) "-c",
  		     (char *) command, NULL }, __environ) != 0)
      return false;
@@ -36,7 +36,31 @@ index a03f478fc7..94da6facf3 100644
  			      POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSIGMASK);
  
 -  ret = __posix_spawn (&pid, SHELL_PATH, 0, &spawn_attr,
-+  ret = posix_spawnp (&pid, SHELL_NAME, 0, &spawn_attr,
++  ret = __posix_spawnp (&pid, SHELL_NAME, 0, &spawn_attr,
  		       (char *const[]){ (char *) SHELL_NAME,
  					(char *) "-c",
  					(char *) line, NULL },
+
+--- a/include/spawn.h
++++ b/include/spawn.h
+@@ -5,6 +5,9 @@
+ __typeof (posix_spawn) __posix_spawn;
+ libc_hidden_proto (__posix_spawn)
+
++__typeof (posix_spawnp) __posix_spawnp;
++libc_hidden_proto (__posix_spawnp)
++
+ __typeof (posix_spawn_file_actions_addclose)
+   __posix_spawn_file_actions_addclose attribute_hidden;
+
+--- a/posix/spawnp.c
++++ b/posix/spawnp.c
+@@ -31,6 +31,7 @@ __posix_spawnp (pid_t *pid, const char *file,
+                   SPAWN_XFLAGS_USE_PATH);
+ }
+ versioned_symbol (libc, __posix_spawnp, posix_spawnp, GLIBC_2_15);
++libc_hidden_def (__posix_spawnp)
+
+
+ #if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_15)
+
diff --git a/gnu/packages/patches/julia-tracker-16-compat.patch b/gnu/packages/patches/julia-tracker-16-compat.patch
new file mode 100644
index 0000000000..4fff423e44
--- /dev/null
+++ b/gnu/packages/patches/julia-tracker-16-compat.patch
@@ -0,0 +1,40 @@
+https://github.com/FluxML/Tracker.jl/commit/f6550ba38a9ea5802e2de4fa9c939929ba711f0d.patch
+from an upstream pull request
+https://github.com/FluxML/Tracker.jl/pull/94
+
+
+From f6550ba38a9ea5802e2de4fa9c939929ba711f0d Mon Sep 17 00:00:00 2001
+From: Michael Abbott <me@escbook>
+Date: Wed, 3 Feb 2021 22:58:33 +0100
+Subject: [PATCH] two fixes for 1.6
+
+---
+ src/lib/array.jl | 2 +-
+ src/lib/real.jl  | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/lib/array.jl b/src/lib/array.jl
+index 92f2b39..f8cbbac 100644
+--- a/src/lib/array.jl
++++ b/src/lib/array.jl
+@@ -298,7 +298,7 @@ Base.reverse(xs::TrackedArray; dims) = track(reverse, xs, dims = dims)
+ @grad reverse(xs; dims) = reverse(data(xs), dims = dims), Δ -> (reverse(Δ, dims = dims), nothing)
+ Base.reverse(xs::TrackedVector) = track(reverse, xs)
+ @grad reverse(xs::TrackedVector) = reverse(data(xs)), Δ -> (reverse(Δ),)
+-Base.reverse(xs::TrackedVector, start, stop) = track(reverse, xs, start, stop)
++Base.reverse(xs::TrackedVector, start::Integer, stop::Integer) = track(reverse, xs, start, stop)
+ @grad reverse(xs, start, stop) = reverse(data(xs), start, stop), Δ -> (reverse(Δ, start, stop), nothing, nothing)
+ 
+ function _kron(mat1::AbstractMatrix,mat2::AbstractMatrix)
+diff --git a/src/lib/real.jl b/src/lib/real.jl
+index 737afd8..e1975ac 100644
+--- a/src/lib/real.jl
++++ b/src/lib/real.jl
+@@ -55,6 +55,7 @@ for f in :[isinf, isnan, isfinite].args
+ end
+ 
+ Printf.fix_dec(x::TrackedReal, n::Int, a...) = Printf.fix_dec(data(x), n, a...)
++Printf.tofloat(x::TrackedReal) = Printf.tofloat(data(x))
+ 
+ Base.float(x::TrackedReal) = x
+ 
diff --git a/gnu/packages/patches/marble-qt-add-qt-headers.patch b/gnu/packages/patches/marble-qt-add-qt-headers.patch
new file mode 100644
index 0000000000..77c58317ad
--- /dev/null
+++ b/gnu/packages/patches/marble-qt-add-qt-headers.patch
@@ -0,0 +1,189 @@
+Adapted from Debian: https://salsa.debian.org/qt-kde-team/kde/marble/-/blob/debian/4%2517.08.3-3.1/debian/patches/qt5.11.patch
+Upstream status: Probably irrelevant, as this is an old version of this software.
+
+diff --git a/src/lib/marble/MergedLayerDecorator.cpp b/src/lib/marble/MergedLayerDecorator.cpp
+index 40f3ddb..bafff50 100644
+--- a/src/lib/marble/MergedLayerDecorator.cpp
++++ b/src/lib/marble/MergedLayerDecorator.cpp
+@@ -36,6 +36,7 @@
+ 
+ #include <QPointer>
+ #include <QPainter>
++#include <QPainterPath>
+ 
+ using namespace Marble;
+ 
+diff --git a/src/lib/marble/VisiblePlacemark.cpp b/src/lib/marble/VisiblePlacemark.cpp
+index cfe08af..1a84006 100644
+--- a/src/lib/marble/VisiblePlacemark.cpp
++++ b/src/lib/marble/VisiblePlacemark.cpp
+@@ -22,6 +22,7 @@
+ 
+ #include <QApplication>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QPalette>
+ #include <QPixmapCache>
+ 
+diff --git a/src/lib/marble/graphicsview/FrameGraphicsItem.cpp b/src/lib/marble/graphicsview/FrameGraphicsItem.cpp
+index 8a90526..065f245 100644
+--- a/src/lib/marble/graphicsview/FrameGraphicsItem.cpp
++++ b/src/lib/marble/graphicsview/FrameGraphicsItem.cpp
+@@ -18,6 +18,7 @@
+ // Qt
+ #include <QSizeF>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QPixmapCache>
+ #include <QMargins>
+ #include <qdrawutil.h>
+diff --git a/src/lib/marble/layers/GroundLayer.cpp b/src/lib/marble/layers/GroundLayer.cpp
+index 58d409f..df6d226 100644
+--- a/src/lib/marble/layers/GroundLayer.cpp
++++ b/src/lib/marble/layers/GroundLayer.cpp
+@@ -14,6 +14,9 @@
+ #include "ViewportParams.h"
+ #include "RenderState.h"
+ 
++#include <QPainter>
++#include <QPainterPath>
++
+ namespace Marble
+ {
+ 
+diff --git a/src/plugins/render/compass/CompassFloatItem.cpp b/src/plugins/render/compass/CompassFloatItem.cpp
+index d8dc021..66095cc 100644
+--- a/src/plugins/render/compass/CompassFloatItem.cpp
++++ b/src/plugins/render/compass/CompassFloatItem.cpp
+@@ -19,6 +19,7 @@
+ #include <QRect>
+ #include <QColor>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QPushButton>
+ #include <QSvgRenderer>
+ 
+diff --git a/src/plugins/render/elevationprofilefloatitem/ElevationProfileFloatItem.cpp b/src/plugins/render/elevationprofilefloatitem/ElevationProfileFloatItem.cpp
+index a790c16..96f5bed 100644
+--- a/src/plugins/render/elevationprofilefloatitem/ElevationProfileFloatItem.cpp
++++ b/src/plugins/render/elevationprofilefloatitem/ElevationProfileFloatItem.cpp
+@@ -31,6 +31,7 @@
+ #include <QContextMenuEvent>
+ #include <QRect>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QPushButton>
+ #include <QMenu>
+ #include <QMouseEvent>
+diff --git a/src/plugins/render/foursquare/FoursquareItem.cpp b/src/plugins/render/foursquare/FoursquareItem.cpp
+index d9e1f57..ef80472 100644
+--- a/src/plugins/render/foursquare/FoursquareItem.cpp
++++ b/src/plugins/render/foursquare/FoursquareItem.cpp
+@@ -13,6 +13,8 @@
+ #include "ViewportParams.h"
+ 
+ #include <QFontMetrics>
++#include <QPainter>
++#include <QPainterPath>
+  
+ namespace Marble
+ {
+diff --git a/src/plugins/render/gpsinfo/GpsInfo.cpp b/src/plugins/render/gpsinfo/GpsInfo.cpp
+index 522e907..20fd75a 100644
+--- a/src/plugins/render/gpsinfo/GpsInfo.cpp
++++ b/src/plugins/render/gpsinfo/GpsInfo.cpp
+@@ -21,6 +21,8 @@
+ #include "ViewportParams.h"
+ #include "GeoDataAccuracy.h"
+ 
++#include <QIcon>
++
+ namespace Marble
+ {
+ 
+diff --git a/src/plugins/render/license/License.cpp b/src/plugins/render/license/License.cpp
+index 511dfc0..9436083 100644
+--- a/src/plugins/render/license/License.cpp
++++ b/src/plugins/render/license/License.cpp
+@@ -23,6 +23,7 @@
+ #include <QCommonStyle>
+ #include <QContextMenuEvent>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QLabel>
+ #include <QMenu>
+ #include <QMouseEvent>
+diff --git a/src/plugins/render/notes/NotesItem.cpp b/src/plugins/render/notes/NotesItem.cpp
+index 9d0961f..0c9fe99 100644
+--- a/src/plugins/render/notes/NotesItem.cpp
++++ b/src/plugins/render/notes/NotesItem.cpp
+@@ -9,6 +9,7 @@
+ #include "MarbleDirs.h"
+ 
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QRect>
+ 
+ using namespace Marble;
+diff --git a/src/plugins/render/postalcode/PostalCodeItem.cpp b/src/plugins/render/postalcode/PostalCodeItem.cpp
+index 772c0b2..0ff7957 100644
+--- a/src/plugins/render/postalcode/PostalCodeItem.cpp
++++ b/src/plugins/render/postalcode/PostalCodeItem.cpp
+@@ -17,6 +17,7 @@
+ // Qt
+ #include <QFontMetrics>
+ #include <QPainter>
++#include <QPainterPath>
+ 
+ using namespace Marble;
+ 
+diff --git a/src/plugins/render/progress/ProgressFloatItem.cpp b/src/plugins/render/progress/ProgressFloatItem.cpp
+index a465857..6e2452c 100644
+--- a/src/plugins/render/progress/ProgressFloatItem.cpp
++++ b/src/plugins/render/progress/ProgressFloatItem.cpp
+@@ -22,6 +22,7 @@
+ #include <QColor>
+ #include <QPaintDevice>
+ #include <QPainter>
++#include <QPainterPath>
+ 
+ namespace Marble
+ {
+diff --git a/src/plugins/render/satellites/SatellitesPlugin.cpp b/src/plugins/render/satellites/SatellitesPlugin.cpp
+index 04d8321..0a43d24 100644
+--- a/src/plugins/render/satellites/SatellitesPlugin.cpp
++++ b/src/plugins/render/satellites/SatellitesPlugin.cpp
+@@ -25,6 +25,7 @@
+ 
+ #include "ui_SatellitesConfigDialog.h"
+ 
++#include <QAction>
+ #include <QUrl>
+ #include <QMouseEvent>
+ 
+diff --git a/src/plugins/render/speedometer/Speedometer.cpp b/src/plugins/render/speedometer/Speedometer.cpp
+index 6e9c532..f40a174 100644
+--- a/src/plugins/render/speedometer/Speedometer.cpp
++++ b/src/plugins/render/speedometer/Speedometer.cpp
+@@ -19,6 +19,8 @@
+ #include "MarbleGraphicsGridLayout.h"
+ #include "ViewportParams.h"
+ 
++#include <QIcon>
++
+ namespace Marble
+ {
+ 
+diff --git a/src/plugins/render/stars/StarsPlugin.cpp b/src/plugins/render/stars/StarsPlugin.cpp
+index 6599545..482680f 100644
+--- a/src/plugins/render/stars/StarsPlugin.cpp
++++ b/src/plugins/render/stars/StarsPlugin.cpp
+@@ -19,6 +19,8 @@
+ #include <QContextMenuEvent>
+ #include <QMenu>
+ #include <QColorDialog>
++#include <QPainter>
++#include <QPainterPath>
+ #include <qmath.h>
+ 
+ #include "MarbleClock.h"