From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 20 11:10:19 2021 Received: (at submit) by debbugs.gnu.org; 20 Jun 2021 15:10:19 +0000 Received: from localhost ([127.0.0.1]:34804 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luz5W-00076R-5j for submit@debbugs.gnu.org; Sun, 20 Jun 2021 11:10:19 -0400 Received: from lists.gnu.org ([209.51.188.17]:38094) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luz5U-00076K-Lw for submit@debbugs.gnu.org; Sun, 20 Jun 2021 11:10:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49730) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1luz5U-0008Te-G2 for guix-patches@gnu.org; Sun, 20 Jun 2021 11:10:16 -0400 Received: from latitanza.investici.org ([82.94.249.234]:54699) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1luz5Q-0004ot-Rn for guix-patches@gnu.org; Sun, 20 Jun 2021 11:10:16 -0400 Received: from mx3.investici.org (unknown [127.0.0.1]) by latitanza.investici.org (Postfix) with ESMTP id 4G7GL14JcRzGp2t; Sun, 20 Jun 2021 15:10:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1624201801; bh=rML0UFbLoFt8G2wHPAMP4Y4fCFSX11SBoHVtfh7gd6I=; h=From:To:Cc:Subject:Date:From; b=ktJXxhXk/iG2YkVMU5Nywnew7MuF+gvTVrHo/4yGk+sbuxFjk8Em52Z1g1y20pA5j Qeo6VebS9B+bZLVKbwVE7FrX29qmcjzXdiAhp7I/DFRTMIljUqwo2z6kTyZMoUTVtm T9h/G5VETl20Xn7vWmzXLaKR9CryWxcPTS44tn/Y= Received: from [82.94.249.234] (mx3.investici.org [82.94.249.234]) (Authenticated sender: goodoldpaul@autistici.org) by localhost (Postfix) with ESMTPSA id 4G7GL13VzxzGp2c; Sun, 20 Jun 2021 15:10:01 +0000 (UTC) From: Giacomo Leidi To: guix-patches@gnu.org Subject: [PATCH] gnu: extempore: Update to 0.8.9. Date: Sun, 20 Jun 2021 17:09:09 +0200 Message-Id: <20210620150909.28105-1-goodoldpaul@autistici.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=82.94.249.234; envelope-from=goodoldpaul@autistici.org; helo=latitanza.investici.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Giacomo Leidi X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) * gnu/packages/music.scm (extempore): Update to 0.8.6. [snippets]: Portaudio is no more in-tree. [configure-flags]: We now load external libraries through patched CMakeLists.txt. [phases]: Symlink assets. * gnu/packages/patches/extempore-unbundle-external-dependencies.patch: Update accordingly. --- gnu/packages/music.scm | 30 +- ...mpore-unbundle-external-dependencies.patch | 316 +++++++++++++----- 2 files changed, 251 insertions(+), 95 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c9b949d0c3..b739fa43f4 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -847,7 +847,7 @@ MusePack, Monkey's Audio, and WavPack files.") (define-public extempore (package (name "extempore") - (version "0.8.6") + (version "0.8.9") (source (origin (method git-fetch) (uri (git-reference @@ -855,7 +855,7 @@ MusePack, Monkey's Audio, and WavPack files.") (commit (string-append "v" version)))) (sha256 (base32 - "182jy23qv115dipny7kglwbn21z55dp253w1ykm0kh8n6vkgs7gp")) + "16i12zl3g1zpx6lhg5pg821xirdf9rxx5m11b68inf83wn6hknhb")) (file-name (git-file-name name version)) (patches (search-patches "extempore-unbundle-external-dependencies.patch")) @@ -864,16 +864,12 @@ MusePack, Monkey's Audio, and WavPack files.") '(begin ;; Remove bundled sources. (map delete-file-recursively - '("src/portaudio" - "src/pcre")) + '("src/pcre")) #t)))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DJACK=ON" "-DPACKAGE=ON" - "-DEXTERNAL_SHLIBS_AUDIO=OFF" - "-DEXTERNAL_SHLIBS_GRAPHICS=OFF" - "-DCMAKE_BUILD_TYPE=Release" (string-append "-DEXT_SHARE_DIR=" (assoc-ref %outputs "out") "/share")) @@ -958,7 +954,12 @@ MusePack, Monkey's Audio, and WavPack files.") (("COMMAND extempore" prefix) (string-append prefix " --sharedir " (getcwd) " --mcpu=generic --attr=none"))) - #t))))) + #t)) + (add-after 'unpack 'symlink-assets + (lambda* (#:key inputs #:allow-other-keys) + (let ((assets (assoc-ref inputs "extempore-assets"))) + (symlink assets "assets") + #t)))))) (inputs `(("llvm" ,(package @@ -972,6 +973,19 @@ MusePack, Monkey's Audio, and WavPack files.") (sha256 (base32 "1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs")))))) + ("extempore-assets" + ,(let ((commit "0c9f32c18169b3fbc24bc1ad66283125b54a0c85") + (revision "0") + (version "0.0.0")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/extemporelang/extempore-assets") + (commit commit))) + (file-name (git-file-name "extempore-assets" + (git-version version revision commit))) + (sha256 + (base32 "1pxmcbngd9qx8m71d5rfsmf4h31jnsnd3wjh8vb0rwskif22xz8l"))))) ("libffi" ,libffi) ("jack" ,jack-1) ("libsndfile" ,libsndfile) 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 +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 + -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 29 05:40:56 2021 Received: (at 49137) by debbugs.gnu.org; 29 Jun 2021 09:40:56 +0000 Received: from localhost ([127.0.0.1]:53630 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lyAEi-0003Oh-7z for submit@debbugs.gnu.org; Tue, 29 Jun 2021 05:40:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lyAEg-0003OM-KI for 49137@debbugs.gnu.org; Tue, 29 Jun 2021 05:40:54 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48962) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lyAEZ-0002ve-Tm; Tue, 29 Jun 2021 05:40:48 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42520 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lyAEY-0002QS-P7; Tue, 29 Jun 2021 05:40:47 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Giacomo Leidi Subject: Re: bug#49137: [PATCH] gnu: extempore: Update to 0.8.9. References: <20210620150909.28105-1-goodoldpaul@autistici.org> Date: Tue, 29 Jun 2021 11:40:44 +0200 In-Reply-To: <20210620150909.28105-1-goodoldpaul@autistici.org> (Giacomo Leidi's message of "Sun, 20 Jun 2021 17:09:09 +0200") Message-ID: <871r8luhyb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49137 Cc: 49137@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Giacomo, Giacomo Leidi skribis: > * gnu/packages/music.scm (extempore): Update to 0.8.6. > [snippets]: Portaudio is no more in-tree. > [configure-flags]: We now load external libraries through patched > CMakeLists.txt. > [phases]: Symlink assets. > * gnu/packages/patches/extempore-unbundle-external-dependencies.patch: > Update accordingly. It seems that the patch, specifically the =E2=80=98extempore-unbundle-external-dependencies.patch=E2=80=99 bit, does = not apply on current master. Could you take a look? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 29 19:37:14 2021 Received: (at 49137) by debbugs.gnu.org; 29 Jun 2021 23:37:14 +0000 Received: from localhost ([127.0.0.1]:55946 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lyNI1-0008A0-3o for submit@debbugs.gnu.org; Tue, 29 Jun 2021 19:37:14 -0400 Received: from latitanza.investici.org ([82.94.249.234]:23521) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lyNHx-00089k-QN for 49137@debbugs.gnu.org; Tue, 29 Jun 2021 19:37:11 -0400 Received: from mx3.investici.org (unknown [127.0.0.1]) by latitanza.investici.org (Postfix) with ESMTP id 4GF1901V2nzGp5M; Tue, 29 Jun 2021 23:37:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1625009828; bh=vgrTjuq4Wrz8MtZ4QMjl7nAc9ikOEdsGVkbeOc32GF8=; h=To:Cc:References:From:Subject:Date:In-Reply-To:From; b=toi8geA4s9trU1le3tDN12VZ1ENviAZA+mvSRuMlcUACU4bC54w39AQzi7m9pcOfw /D5XMIgZbZye9c/X9/anU7HFXobIv39qeAWjx6oK0b1ao7lv8+YhbyqHz+E7TyHq4/ YIjNMn5k3WlrkNS6zwj09Wi6GuVzSwfuO8Lwtg28= Received: from [82.94.249.234] (mx3.investici.org [82.94.249.234]) (Authenticated sender: goodoldpaul@autistici.org) by localhost (Postfix) with ESMTPSA id 4GF19005yKzGp56; Tue, 29 Jun 2021 23:37:07 +0000 (UTC) To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= References: <20210620150909.28105-1-goodoldpaul@autistici.org> <871r8luhyb.fsf@gnu.org> From: paul Subject: Re: bug#49137: [PATCH] gnu: extempore: Update to 0.8.9. Message-ID: <9eceda87-23fa-fdaa-1994-706a4ac18a58@autistici.org> Date: Wed, 30 Jun 2021 01:37:07 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Icedove/78.11.0 MIME-Version: 1.0 In-Reply-To: <871r8luhyb.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------396EBF744DEACA52E0903EB0" Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49137 Cc: 49137@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------396EBF744DEACA52E0903EB0 Content-Type: multipart/alternative; boundary="------------58B797CB25CD364CA8794F43" --------------58B797CB25CD364CA8794F43 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Dear Ludovic, On 6/29/21 11:40 AM, Ludovic Court=C3=A8s wrote: > It seems that the patch, specifically the > =E2=80=98extempore-unbundle-external-dependencies.patch=E2=80=99 bit, d= oes not apply on > current master. It works on my machine :D . Jokes apart, I rebased on master (without=20 any conflicts) and this is the behavior I get on my local repo: orang3@frastanato ~/code/guix$ git describe v1.3.0-3510-g8269d82868 orang3@frastanato ~/code/guix$ git checkout extempore Switched to branch 'extempore' orang3@frastanato ~/code/guix$ git log master..extempore commit 54fbc4c477f246e9c01c2c9ed231c903c5275428 (HEAD -> extempore) Author: Giacomo Leidi Date: Sun Jun 20 16:57:46 2021 +0200 gnu: extempore: Update to 0.8.9. * gnu/packages/music.scm (extempore): Update to 0.8.6. [snippets]: Portaudio is no more in-tree. [configure-flags]: We now load external libraries through patched CMakeLists.txt. [phases]: Symlink assets. * gnu/packages/patches/extempore-unbundle-external-dependencies.patc= h: Update accordingly. orang3@frastanato ~/code/guix$ ./pre-inst-env guix build extempore ;;; note: source file /home/orang3/code/guix/gnu/packages/music.scm ;;; newer than compiled /home/orang3/code/guix/gnu/packages/music.g= o /gnu/store/i2bcxffd0i3jq5i5dmwkb1lchcvph6m0-extempore-0.8.9 orang3@frastanato ~/code/guix$ Is there something else that I'm not doing? In any case I'm attaching=20 the rebased patch. Thank you for your time, Giacomo --------------58B797CB25CD364CA8794F43 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit

Dear Ludovic,

On 6/29/21 11:40 AM, Ludovic Courtès wrote:
It seems that the patch, specifically the
‘extempore-unbundle-external-dependencies.patch’ bit, does not apply on
current master.

It works on my machine :D . Jokes apart, I rebased on master (without any conflicts) and this is the behavior I get on my local repo:

orang3@frastanato ~/code/guix$ git describe
v1.3.0-3510-g8269d82868
orang3@frastanato ~/code/guix$  git checkout extempore
Switched to branch 'extempore'
orang3@frastanato ~/code/guix$ git log master..extempore
commit 54fbc4c477f246e9c01c2c9ed231c903c5275428 (HEAD -> extempore)
Author: Giacomo Leidi 
Date:   Sun Jun 20 16:57:46 2021 +0200

    gnu: extempore: Update to 0.8.9.

    * gnu/packages/music.scm (extempore): Update to 0.8.6.
    [snippets]: Portaudio is no more in-tree.
    [configure-flags]: We now load external libraries through patched
    CMakeLists.txt.
    [phases]: Symlink assets.
    * gnu/packages/patches/extempore-unbundle-external-dependencies.patch:
    Update accordingly.
orang3@frastanato ~/code/guix$ ./pre-inst-env guix build extempore
;;; note: source file /home/orang3/code/guix/gnu/packages/music.scm
;;;       newer than compiled /home/orang3/code/guix/gnu/packages/music.go
/gnu/store/i2bcxffd0i3jq5i5dmwkb1lchcvph6m0-extempore-0.8.9
orang3@frastanato ~/code/guix$

Is there something else that I'm not doing? In any case I'm attaching the rebased patch.

Thank you for your time,

Giacomo

--------------58B797CB25CD364CA8794F43-- --------------396EBF744DEACA52E0903EB0 Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-extempore-Update-to-0.8.9.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-gnu-extempore-Update-to-0.8.9.patch" =46rom 54fbc4c477f246e9c01c2c9ed231c903c5275428 Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Sun, 20 Jun 2021 16:57:46 +0200 Subject: [PATCH] gnu: extempore: Update to 0.8.9. * gnu/packages/music.scm (extempore): Update to 0.8.6. [snippets]: Portaudio is no more in-tree. [configure-flags]: We now load external libraries through patched CMakeLists.txt. [phases]: Symlink assets. * gnu/packages/patches/extempore-unbundle-external-dependencies.patch: Update accordingly. --- gnu/packages/music.scm | 30 +- ...mpore-unbundle-external-dependencies.patch | 316 +++++++++++++----- 2 files changed, 251 insertions(+), 95 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 454d66f759..a1e14eb53d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -847,7 +847,7 @@ MusePack, Monkey's Audio, and WavPack files.") (define-public extempore (package (name "extempore") - (version "0.8.6") + (version "0.8.9") (source (origin (method git-fetch) (uri (git-reference @@ -855,7 +855,7 @@ MusePack, Monkey's Audio, and WavPack files.") (commit (string-append "v" version)))) (sha256 (base32 - "182jy23qv115dipny7kglwbn21z55dp253w1ykm0kh8n6vkgs7gp"))= + "16i12zl3g1zpx6lhg5pg821xirdf9rxx5m11b68inf83wn6hknhb"))= (file-name (git-file-name name version)) (patches (search-patches "extempore-unbundle-external-dependencies.patch"= )) @@ -864,16 +864,12 @@ MusePack, Monkey's Audio, and WavPack files.") '(begin ;; Remove bundled sources. (map delete-file-recursively - '("src/portaudio" - "src/pcre")) + '("src/pcre")) #t)))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DJACK=3DON" "-DPACKAGE=3DON" - "-DEXTERNAL_SHLIBS_AUDIO=3DOFF" - "-DEXTERNAL_SHLIBS_GRAPHICS=3DOFF" - "-DCMAKE_BUILD_TYPE=3DRelease" (string-append "-DEXT_SHARE_DIR=3D" (assoc-ref %outputs "out")= "/share")) @@ -958,7 +954,12 @@ MusePack, Monkey's Audio, and WavPack files.") (("COMMAND extempore" prefix) (string-append prefix " --sharedir " (getcwd) " --mcpu=3Dgeneric --attr=3Dnone"))) - #t))))) + #t)) + (add-after 'unpack 'symlink-assets + (lambda* (#:key inputs #:allow-other-keys) + (let ((assets (assoc-ref inputs "extempore-assets"))) + (symlink assets "assets") + #t)))))) (inputs `(("llvm" ,(package @@ -972,6 +973,19 @@ MusePack, Monkey's Audio, and WavPack files.") (sha256 (base32 "1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs"))= )))) + ("extempore-assets" + ,(let ((commit "0c9f32c18169b3fbc24bc1ad66283125b54a0c85") + (revision "0") + (version "0.0.0")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/extemporelang/extempore-asse= ts") + (commit commit))) + (file-name (git-file-name "extempore-assets" + (git-version version revision com= mit))) + (sha256 + (base32 "1pxmcbngd9qx8m71d5rfsmf4h31jnsnd3wjh8vb0rwskif22x= z8l"))))) ("libffi" ,libffi) ("jack" ,jack-1) ("libsndfile" ,libsndfile) diff --git a/gnu/packages/patches/extempore-unbundle-external-dependencie= s.patch b/gnu/packages/patches/extempore-unbundle-external-dependencies.p= atch 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 +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(-) =20 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 di= rectory will be downloaded)") - endif() +@@ -1,9 +1,6 @@ + cmake_minimum_required(VERSION 3.1) # we use target_sources() + project(Extempore VERSION 0.8.9) =20 -@@ -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 platfor= m - macOS, Linux & Windows only.") endif() =20 @@ -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/3f7bee79a65327d2e0= 965e8a74299723ed6f072d.zip +- URL_MD5 182b76e05f6ef21d9f5716da7489905d +- CMAKE_ARGS +- -DPA_BUILD_STATIC=3DON +- -DPA_BUILD_SHARED=3DOFF +- -DPA_LIBNAME_ADD_SUFFIX=3DOFF +- -DCMAKE_BUILD_TYPE=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=3D${CMAKE_BINARY_DIR}/portaudio) - - # platform-specific -=20 - 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() =20 - 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() =20 - 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) =20 - 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_LI= BRARY_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") =20 - if(PACKAGE) -- target_compile_options(portaudio -- PRIVATE -mtune=3Dgeneric) - 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) =20 - ############## -@@ -411,8 +327,6 @@ endif() +- # first, download & build the shared libraries themselves (these ar= e all external to Extempore) +- +- ExternalProject_Add(portmidi +- PREFIX portmidi +- URL https://github.com/extemporelang/portmidi/archive/8602f548f71= daf5ef638b2f7d224753400cb2158.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=3D${EXT_DEPS_INSTALL_DIR}) +- set_target_properties(portmidi PROPERTIES FOLDER EXTERNAL_SHLIBS) +- +- ExternalProject_Add(rtmidi +- PREFIX rtmidi +- URL https://github.com/thestk/rtmidi/archive/84d130bf22d878ff1b0e= 224346e2e0f9e3ba8099.zip +- URL_MD5 d932b9fef01b859a1b8b86a3c8dc6621 +- CMAKE_ARGS +- -DRTMIDI_BUILD_TESTING=3DOFF +- -DCMAKE_BUILD_TYPE=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=3D${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=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=3D${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/ae64caf9b5946d36597= 1c550875000342e763de6.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=3D${EXT_DEPS_INSTALL_DIR} +- -DBUILD_SHARED_LIBS=3DON +- -DBUILD_PROGRAMS=3DOFF +- -DBUILD_EXAMPLES=3DOFF +- -DENABLE_EXTERNAL_LIBS=3DOFF +- -DBUILD_TESTING=3DOFF +- -DENABLE_CPACK=3DOFF +- -DENABLE_PACKAGE_CONFIG=3DOFF) +- 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) +=20 +- 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_LIBRAR= Y_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy libportmidi${CMAKE_SHARED_LIBRAR= Y_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 EXTER= NAL_SHLIBS) +- + add_dependencies(aot_external_audio extempore) +- add_dependencies(aot_external_audio external_shlibs_audio) =20 - # dependencies + endif(EXTERNAL_SHLIBS_AUDIO) =20 --add_dependencies(extempore pcre portaudio) + if(EXTERNAL_SHLIBS_GRAPHICS) +=20 +- ExternalProject_Add(nanovg +- PREFIX nanovg +- URL https://github.com/extemporelang/nanovg/archive/3c60175fcc2e5= fe305b04355cdce35d499c80310.tar.gz +- CMAKE_ARGS +- -DEXTEMPORE_LIB_PATH=3D${CMAKE_SOURCE_DIR}/libs/platform-shlibs/e= xtempore.lib +- -DCMAKE_BUILD_TYPE=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=3D${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/152a250a702bf289= 51bb0220d63bc0c99830c498.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=3D${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= =2E1.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DBUILD_SHARED_LIBS=3DON +- -DGLFW_BUILD_EXAMPLES=3DOFF +- -DGLFW_BUILD_TESTS=3DOFF +- -DCMAKE_INSTALL_PREFIX=3D${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=3D${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=3D${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=3D${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_DEBUG_POSTFIX=3D +- -DASSIMP_BUILD_ASSIMP_TOOLS=3DOFF +- -DASSIMP_BUILD_SAMPLES=3DOFF +- -DASSIMP_BUILD_TESTS=3DOFF +- -DCMAKE_INSTALL_PREFIX=3D${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) +=20 + 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 gra= phics-pipeline) + aotcompile_lib(libs/external/gl/glcompat-${GL_BIND_METHOD}.xtm grap= hics base) +=20 +- 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_SU= FFIX} ${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_LIBRA= RY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- WORKING_DIRECTORY ${EXT_DEPS_INSTALL_DIR}/lib) +- set_target_properties(external_shlibs_graphics PROPERTIES FOLDER EX= TERNAL_SHLIBS) +- + # set up these libs for AOT compilation + add_dependencies(aot_external_graphics extempore) +- add_dependencies(aot_external_graphics external_shlibs_graphics) +=20 + endif(EXTERNAL_SHLIBS_GRAPHICS) + endif(UNIX) +--=20 +2.32.0 + --=20 2.32.0 --------------396EBF744DEACA52E0903EB0-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 21 17:04:49 2021 Received: (at 49137-done) by debbugs.gnu.org; 21 Jul 2021 21:04:49 +0000 Received: from localhost ([127.0.0.1]:38786 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m6JOb-0002Zz-Cz for submit@debbugs.gnu.org; Wed, 21 Jul 2021 17:04:49 -0400 Received: from sender4-of-o51.zoho.com ([136.143.188.51]:21191) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m6JOa-0002Zr-2G for 49137-done@debbugs.gnu.org; Wed, 21 Jul 2021 17:04:48 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1626901486; cv=none; d=zohomail.com; s=zohoarc; b=kyuDzs4PnRxYC18it75uFMYDJPLPRoVffQyxBOLhP6OGP94ZenNaE45HLVocpFWOH+p/BvGYwB97CNNxwKwP8Xge/5KR2qXAb2wPirfBcew65i4z2qMc3pdncg+du0SMqkbw9AaiE2l0jC8vouyCboWDkS0wtHmariHWTI4gv4U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1626901486; h=Content-Type:Content-Transfer-Encoding:Date:From:MIME-Version:Message-ID:Subject:To; bh=PgIWKDlMVT5PHggMdNY67qMd0FJ/Zlz+1VFoZuA/wXE=; b=J5g41q0faDdUlT6CzUcmOFNK7PWrjrg2JrIb9We1W3ARM1eHu4U+2Ez0zK7XA661gam/K3c5AdMDjDjLKoSg+JBnCH/XOwqUVY3B0dGmB+G0B1wDQVbjl8v4E5NIejvjCsD/N+cLVghp/jA721oSXTotxe0WIQJVrZB6ci178PA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1626901486; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding; bh=PgIWKDlMVT5PHggMdNY67qMd0FJ/Zlz+1VFoZuA/wXE=; b=OIrPIC4x4k91DJl0gPg3WYDUyBy5wb5JxCUAgJ3MhCiSagvpkcQ2MjbOPUkpL5/I 5edDgns5Uor/QkwSfrHoG0J4fcQ0d8xU0cSjhFSHm6fG+S+BXpp4aXxOyFa5rGYoVFD 9ci1m4qRx3OBSr3tQBZHmfESAY4d+bt4cMU5NRPc= Received: from localhost (p54ad4aa9.dip0.t-ipconnect.de [84.173.74.169]) by mx.zohomail.com with SMTPS id 1626901482083217.972448580648; Wed, 21 Jul 2021 14:04:42 -0700 (PDT) User-agent: mu4e 1.4.15; emacs 27.2 From: Ricardo Wurmus To: 49137-done@debbugs.gnu.org Subject: [PATCH] gnu: extempore: Update to 0.8.9. X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Wed, 21 Jul 2021 23:04:38 +0200 Message-ID: <87pmvb4bvd.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-ZohoMailClient: External X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49137-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, I applied Paul=E2=80=99s rebased patch and it did build extempore without=20 errors. I was a bit concerned about my CPU type appearing many times=20 throughout the build, but the build is configured with a =E2=80=9Cgeneric= =E2=80=9D=20 CPU. Extempore prints my CPU attributes on startup, but this does=20 not mean that these attributes are *expected* from the CPU at=20 runtime: --8<---------------cut here---------------start------------->8--- CPU : broadwell ATTRS :=20 -sse4a,-avx512bw,+cx16,-tbm,+xsave,-fma4,-avx512vl,+prfchw,+bmi2,+adx,-xsav= ec,+fsgsbase,+avx,-avx512cd,-avx512pf,+rtm,+popcnt,+fma,+bmi,+aes,+rdrnd,-x= saves,+sse4.1,+sse4.2,+avx2,-avx512er,+sse,+lzcnt,+pclmul,-avx512f,+f16c,+s= sse3,+mmx,-pku,+cmov,-xop,+rdseed,+movbe,+hle,+xsaveopt,-sha,+sse2,+sse3,-a= vx512dq --8<---------------cut here---------------end--------------->8--- So I went ahead and pushed the rebased patch. Thank you all! --=20 Ricardo From unknown Fri Jun 20 20:06:59 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 19 Aug 2021 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator