From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id qVK4C8y1YWFyOwEAgWs5BA (envelope-from ) for ; Sat, 09 Oct 2021 17:31:24 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id QMXqBcy1YWGqbAAA1q6Kng (envelope-from ) for ; Sat, 09 Oct 2021 15:31:24 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A687317975 for ; Sat, 9 Oct 2021 17:31:23 +0200 (CEST) Received: from localhost ([::1]:54680 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mZEJG-0007mu-Tr for larch@yhetil.org; Sat, 09 Oct 2021 11:30:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mZEIV-0007T7-To for guix-patches@gnu.org; Sat, 09 Oct 2021 11:30:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:42458) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mZEIU-0004NQ-Tn for guix-patches@gnu.org; Sat, 09 Oct 2021 11:30:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mZEIU-0000Ns-RF for guix-patches@gnu.org; Sat, 09 Oct 2021 11:30:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#51085] [PATCH v2 7/7] gnu: Add mixxx. Resent-From: Vinicius Monego Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 09 Oct 2021 15:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51085 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 51085@debbugs.gnu.org Cc: Vinicius Monego Received: via spool by 51085-submit@debbugs.gnu.org id=B51085.16337933521378 (code B ref 51085); Sat, 09 Oct 2021 15:30:02 +0000 Received: (at 51085) by debbugs.gnu.org; 9 Oct 2021 15:29:12 +0000 Received: from localhost ([127.0.0.1]:54002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mZEHf-0000M9-Ru for submit@debbugs.gnu.org; Sat, 09 Oct 2021 11:29:12 -0400 Received: from mout02.posteo.de ([185.67.36.66]:55443) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mZEHe-0000Lk-H9 for 51085@debbugs.gnu.org; Sat, 09 Oct 2021 11:29:11 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id DEAC7240105 for <51085@debbugs.gnu.org>; Sat, 9 Oct 2021 17:29:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1633793344; bh=o33JJdW4kLCxKvHKX/o+xrzT82XFLm7E8A1a0p4x2FM=; h=From:To:Cc:Subject:Date:From; b=Bv7HZKmxiBUJf9JCxCOQCE2NexQXBTKI7mf2cENVgYtIymKYySMRgW3KupfCvaskB sGoSCbYFPljxpVafhfZemGfNlvh5alf1B6jasO8mG2+uOhXzqDSHEhMT8YY00kpk3C 5MUOf1xnZ5PYdJMIXN4H/MVWLGUXovzL9r1hDNjtqjJawtuUrPDzbayyXgGh4t/GPr N3t3KmZLnPG9G26VXkq0vLyI5sWJiaC64HX4sFWndV/z7t6WFajKIyj6y5hd55wC3M u/ZeJ3zl1xMJWNs2b22tVEoQXmxkmxVpWEEGHbFh3OHaEhuWpdbjxxLmO+aoTzyVFN MJjKz8XIqSJ1Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4HRTVm0P9cz9rxG; Sat, 9 Oct 2021 17:29:03 +0200 (CEST) From: Vinicius Monego Date: Sat, 9 Oct 2021 15:28:20 +0000 Message-Id: <20211009152820.294764-7-monego@posteo.net> In-Reply-To: <20211009152820.294764-1-monego@posteo.net> References: <20211009152820.294764-1-monego@posteo.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1633793483; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=l7sF36u1V64Sizd66AkrwmqaXTWnh7WGm4hnn0cdE9Y=; b=h4WaSjTMLiBuA7NE7lttESrVhy7F0CqhM8Ush0d8xMQ/DGr5shAjpIjhmfkZylgkDDR3nK 5Tt1cGrP6Nq7+JqJ51fMCTLpIRbcPc3rulG+mLc1HCaIFm0xS37h8RS0TPliLNJmGBUkSR 6dzcrspn/GZdcg9He3CnezGXodAxjrBsaqOzOE/1/NKiSd7qDzvnqWQE5Ei7EePJqsJYsc 7BRZ25C89Tx3Egxz6Z0pSLhRu4M1ckTasmxelsgIGO9IzxL2vmsgnxxDlyEigQ/qdfnjql J6QmFkSHNMFaOmvCgZsYFB0NhofseBC6ZDspehp+j4wVmviWUvuw686ZVQozug== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1633793483; a=rsa-sha256; cv=none; b=SeCiCGeBB1Kkua195mGvdPo32qHfi/M+4z8bDEMHQjF8wJ3mYZmnIYwi9MyPFUwIgh1Ug7 5Wg32DLrJsxqb7ilPVrkTa3t8nIgNjLESLorIwIIOcOryCUKS8dK7eElguMvtgEaVioPe5 535LT7fPoUYo7v+rZuFkcmjLbRcIVgRptp39C2DaGROWmi3L6GSo0nkj0C1V0MPAiURGb4 OMLEFpOI871ryzeCCTYSkU1XpQrBfkExpqjAA/a0qDsIVbcLgcflTULKZp0LQX4RcG/MoE AqyWO/qm8HVKv0MXqY8Yk3NluxnQfjk/WQV5I/tG91NZKV/aDTRv+PHcsziRzg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=Bv7HZKmx; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: 3.69 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=Bv7HZKmx; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: A687317975 X-Spam-Score: 3.69 X-Migadu-Scanner: scn0.migadu.com X-TUID: VhnBfwl25lTe * gnu/packages/music.scm (mixxx): New variable. * gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch: New patch. * gnu/packages/patches/mixxx-system-googletest-benchmark.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add patches. --- Deleted bundles in a snippet instead of a phase. Removed opus from inputs. Changed comment about libshout-idjc. Changed description. Removed www from home-page. gnu/local.mk | 2 + gnu/packages/music.scm | 114 ++++++++++++++++++ ...ixxx-link-qtscriptbytearray-qtscript.patch | 25 ++++ .../mixxx-system-googletest-benchmark.patch | 43 +++++++ 4 files changed, 184 insertions(+) create mode 100644 gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch create mode 100644 gnu/packages/patches/mixxx-system-googletest-benchmark.patch diff --git a/gnu/local.mk b/gnu/local.mk index b1f0cab55e..a3eceabc9e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1475,6 +1475,8 @@ dist_patch_DATA = \ %D%/packages/patches/minisat-install.patch \ %D%/packages/patches/mit-krb5-hurd.patch \ %D%/packages/patches/mit-krb5-qualify-short-hostnames.patch \ + %D%/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch \ + %D%/packages/patches/mixxx-system-googletest-benchmark.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/mpg321-CVE-2019-14247.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index fa3b70f8c1..697a272eb8 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -72,6 +72,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (guix build-system scons) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system qt) @@ -89,6 +90,7 @@ #:use-module (gnu packages backup) #:use-module (gnu packages base) ;libbdf #:use-module (gnu packages bash) + #:use-module (gnu packages benchmark) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) @@ -2176,6 +2178,118 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.") users to select LV2 plugins and run them with jalv.") (license license:public-domain))) +(define-public mixxx + (package + (name "mixxx") + (version "2.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mixxxdj/mixxx") + (commit version))) + (file-name (git-file-name name version)) + (patches + (search-patches "mixxx-link-qtscriptbytearray-qtscript.patch" + "mixxx-system-googletest-benchmark.patch")) + (sha256 + (base32 "04781s4ajdlwgvf12v2mvh6ia5grhc5pn9d75b468qci3ilnmkg8")) + (modules '((guix build utils))) + (snippet + ;; Delete libraries that we already have or don't need. + ;; TODO: try to unbundle more (see lib/). + `(begin + (let ((third-parties '("apple" "benchmark" "googletest" "hidapi" + "libebur128"))) + (with-directory-excursion "lib" + (map (lambda (third-party) + (delete-file-recursively third-party)) + third-parties))) + #t)))) + (build-system qt-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Tests need a running X server. + (add-before 'check 'prepare-x-for-test + (lambda _ + (system "Xvfb &") + (setenv "DISPLAY" ":0"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; This test fails. I don't know why. + (invoke "ctest" "-E" "TagLibTest.WriteID3v2Tag")))) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (faad2 (assoc-ref inputs "faad2"))) + (wrap-program (string-append out "/bin/mixxx") + `("LD_LIBRARY_PATH" ":" prefix + ,(list (string-append faad2 "/lib")))))))))) + (native-inputs + `(("benchmark" ,benchmark) + ("googletest" ,googletest) + ("python" ,python-wrapper) + ("qttools" ,qttools) + ("xorg-server" ,xorg-server-for-tests))) + (inputs + `(("bash" ,bash-minimal) + ("chromaprint" ,chromaprint) + ("faad2" ,faad2) + ("ffmpeg" ,ffmpeg) + ("fftw" ,fftw) + ("flac" ,flac) + ("glu" ,glu) + ("hidapi" ,hidapi) + ("jack" ,jack-1) + ("lame" ,lame) + ("libdjinterop" ,libdjinterop) + ("libebur128" ,libebur128) + ("libid3tag" ,libid3tag) + ("libkeyfinder" ,libkeyfinder) + ("libmad" ,libmad) + ("libmp4v2" ,libmp4v2) + ("libmodplug" ,libmodplug) + ("libsndfile" ,libsndfile) + ("libshout" ,libshout) + ;; XXX: Mixxx complains the libshout-idjc package suffers from bug + ;; lp1833225 and refuses to use it. Use the bundle for now. + ;; ("libshout-idjc" ,libshout-idjc) + ("libusb" ,libusb) + ("libvorbis" ,libvorbis) + ("lilv" ,lilv) + ("mp3guessenc" ,mp3guessenc) + ("openssl" ,openssl) + ("opusfile" ,opusfile) + ("portaudio" ,portaudio) + ("portmidi" ,portmidi) + ("protobuf" ,protobuf) + ("qtbase" ,qtbase-5) + ("qtdeclarative" ,qtdeclarative) + ("qtkeychain" ,qtkeychain) + ("qtscript" ,qtscript) + ("qtsvg" ,qtsvg) + ("qtx11extras" ,qtx11extras) + ("rubberband" ,rubberband) + ("soundtouch" ,soundtouch) + ("sqlite" ,sqlite) + ("taglib" ,taglib) + ("upower" ,upower) + ("vamp" ,vamp) + ("wavpack" ,wavpack))) + (home-page "https://mixxx.org/") + (synopsis "DJ software to perform live mixes") + (description "Mixxx is a DJ software. It integrates the tools DJs need to +perform creative live mixes with digital music files.") + (license (list license:gpl2+ ; Mixxx, fidlib, qm-dsp + license:gpl2 ; xwax + license:gpl3+ ; reverb + license:expat ; kaitai, scspqueue, portaudio + license:bsd-3 ; qtbytescriptarray + license:lgpl2.1+ ; replaygain, mp3guessenc + license:lgpl2.0+)))) ; libshout-idjc (Library, not Lesser) + (define-public synthv1 (package (name "synthv1") diff --git a/gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch b/gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch new file mode 100644 index 0000000000..d7cd1c0d28 --- /dev/null +++ b/gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch @@ -0,0 +1,25 @@ +From 7554aefc886d4ebc4b4c139a5cddcab6163cf72f Mon Sep 17 00:00:00 2001 +From: Vinicius Monego +Date: Thu, 30 Sep 2021 23:37:29 -0300 +Subject: [PATCH] Link QtScriptByteArray with QtScript. + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 492ccae..05fec08 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2077,7 +2077,7 @@ add_library(QtScriptByteArray STATIC EXCLUDE_FROM_ALL + lib/qtscript-bytearray/bytearrayprototype.cpp + ) + set_target_properties(QtScriptByteArray PROPERTIES AUTOMOC ON) +-target_link_libraries(QtScriptByteArray Qt5::Core) ++target_link_libraries(QtScriptByteArray Qt5::Core Qt5::Script) + target_include_directories(mixxx-lib SYSTEM PUBLIC lib/qtscript-bytearray) + target_link_libraries(mixxx-lib PRIVATE QtScriptByteArray) + +-- +2.30.2 + diff --git a/gnu/packages/patches/mixxx-system-googletest-benchmark.patch b/gnu/packages/patches/mixxx-system-googletest-benchmark.patch new file mode 100644 index 0000000000..7adbe66208 --- /dev/null +++ b/gnu/packages/patches/mixxx-system-googletest-benchmark.patch @@ -0,0 +1,43 @@ +From eb2079d467f8658eea13e2ed86cc69d864632866 Mon Sep 17 00:00:00 2001 +From: Vinicius Monego +Date: Wed, 29 Sep 2021 19:07:35 -0300 +Subject: [PATCH] Use system googletest and benchmark. + +--- + CMakeLists.txt | 13 +++---------- + 1 file changed, 3 insertions(+), 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 10e9b0a..492ccae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1467,12 +1467,7 @@ set(gtest_force_shared_crt ON CACHE BOOL "Pass Mixxx compiler/linker options to + # Prevent installation of GoogleTest libraries + set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of GoogleTest" FORCE) + +-# Add googletest directly to our build. This adds the following targets: +-# gtest, gtest_main, gmock and gmock_main +-add_subdirectory( +- "${CMAKE_CURRENT_SOURCE_DIR}/lib/googletest" +- "${CMAKE_CURRENT_BINARY_DIR}/lib/googletest" +-) ++find_package(GTest CONFIG REQUIRED) + + add_executable(mixxx-test + src/test/analyserwaveformtest.cpp +@@ -1582,10 +1577,8 @@ set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "" FORCE) + # Prevent installation of google/benchmark artifacts + set(BENCHMARK_ENABLE_INSTALL OFF CACHE BOOL "Disable installation of google/benchmark" FORCE) + +-add_subdirectory( +- "${CMAKE_CURRENT_SOURCE_DIR}/lib/benchmark" +- "${CMAKE_CURRENT_BINARY_DIR}/lib/benchmark" +-) ++find_package(benchmark CONFIG REQUIRED) ++ + target_link_libraries(mixxx-test PRIVATE benchmark) + + # Test Suite +-- +2.30.2 + -- 2.30.2