[PATCH 0/7] Add Mixxx.

  • Done
  • quality assurance status badge
Details
2 participants
  • Leo Famulari
  • Vinicius Monego
Owner
unassigned
Submitted by
Vinicius Monego
Severity
normal

Debbugs page

Vinicius Monego wrote 3 years ago
(address . guix-patches@gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211007142754.46263-1-monego@posteo.net
Vinicius Monego (7):
gnu: Add libkeyfinder.
gnu: Add libdjinterop.
gnu: opusfile: Add new phase after unpack.
gnu: Add libshout-idjc.
gnu: Add spscqueue.
gnu: Add mp3guessenc.
gnu: Add mixxx.

gnu/local.mk | 2 +
gnu/packages/audio.scm | 113 +++++++++++++++++
gnu/packages/cpp.scm | 21 ++++
gnu/packages/music.scm | 116 ++++++++++++++++++
...ixxx-link-qtscriptbytearray-qtscript.patch | 25 ++++
.../mixxx-system-googletest-benchmark.patch | 43 +++++++
gnu/packages/xiph.scm | 12 +-
7 files changed, 331 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch
create mode 100644 gnu/packages/patches/mixxx-system-googletest-benchmark.patch

--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH 1/7] gnu: Add libkeyfinder.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211007142941.46591-1-monego@posteo.net
* gnu/packages/audio.scm (libkeyfinder): New variable.
---
gnu/packages/audio.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index b746cd370d..e6db87540e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3373,6 +3373,31 @@ stretching and pitch scaling of audio. This package contains the library.")
;; containing gpl2.
(license license:gpl2)))
+(define-public libkeyfinder
+ (package
+ (name "libkeyfinder")
+ (version "2.2.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mixxxdj/libkeyfinder")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1623kirmxhmvmhx7f8lbzk0f18w2hrhwlkzl8l4aa906lfqffdp2"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("catch" ,catch-framework2)))
+ (inputs
+ `(("fftw" ,fftw)))
+ (home-page "https://mixxxdj.github.io/libkeyfinder/")
+ (synopsis "Musical key detection for digital audio")
+ (description
+ "@code{libkeyfinder} is a small C++11 library for estimating the musical
+key of digital audio.")
+ (license license:gpl3+)))
+
(define-public wavpack
(package
(name "wavpack")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH 2/7] gnu: Add libdjinterop.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211007142941.46591-2-monego@posteo.net
* gnu/packages/audio.scm (libdjinterop): New variable.
---
gnu/packages/audio.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e6db87540e..2ffc4b86a9 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -107,6 +107,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages telephony)
#:use-module (gnu packages linphone)
#:use-module (gnu packages linux)
@@ -1173,6 +1174,40 @@ flanger), ringmodulator, distortion, filters, pitchshift, oscillators,
emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(license license:gpl3+)))
+(define-public libdjinterop
+ (package
+ (name "libdjinterop")
+ (version "0.16.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xsco/libdjinterop")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16nrqpr90vb9ggmp9j73m0hspd7pmfdhh0g6iyp8vd7kx7g17qnk"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; crate_test writes a database file to the source tree.
+ (add-after 'unpack 'make-git-checkout-writable
+ (lambda _
+ (for-each make-file-writable (find-files ".")))))))
+ (native-inputs
+ `(("boost" ,boost)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("sqlite" ,sqlite)
+ ("zlib" ,zlib)))
+ (home-page "https://github.com/xsco/libdjinterop")
+ (synopsis "C++ library for access to DJ record libraries")
+ (description
+ "@code{libdjinterop} is a C++ library that allows access to database
+formats used to store information about DJ record libraries.")
+ (license license:lgpl3+)))
+
(define-public tao
(package
(name "tao")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH 3/7] gnu: opusfile: Add new phase after unpack.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211007142941.46591-3-monego@posteo.net
* gnu/packages/xiph.scm (opusfile)[arguments]<#:phases>: After the unpack
phase add a fix-multistream phase to adjust the include header call of
opus_multistream.h so that opusfile can find it.
---
gnu/packages/xiph.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index fbbcbd6e61..0c9c799067 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -406,7 +407,16 @@ decoding .opus files.")
"02smwc5ah8nb3a67mnkjzqmrzk43j356hgj2a97s9midq40qd38i"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("--disable-static")))
+ '(#:configure-flags '("--disable-static")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-multistream
+ ;; Opus include directory should be passed explicitly:
+ ;; https://github.com/xiph/opusfile/issues/10 however,
+ ;; opus_multistream.h still can't be found by the compiler.
+ (lambda _
+ (substitute* "include/opusfile.h"
+ (("opus_multistream\\.h") "opus/opus_multistream.h")))))))
;; Required by opusfile.pc and opusurl.pc.
(propagated-inputs
`(("libogg" ,libogg)
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH 4/7] gnu: Add libshout-idjc.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211007142941.46591-4-monego@posteo.net
* gnu/packages/audio.scm (libshout-idjc): New variable.
---
gnu/packages/audio.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 2ffc4b86a9..666a7fbd49 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3045,6 +3045,31 @@ for \"realtime\" in the index of the Guix manual to learn how to achieve this
using Guix System.")
(license license:gpl2+)))
+(define-public libshout-idjc
+ (package
+ (name "libshout-idjc")
+ (version "2.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/libshoutidjc.idjc.p"
+ "/libshout-idjc-" version ".tar.gz"))
+ (sha256
+ (base32 "1r9z8ggxylr2ab0isaljbm574rplnlcb12758j994h54nh2vikwb"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libogg" ,libogg)
+ ("libtheora" ,libtheora)
+ ("libvorbis" ,libvorbis)
+ ("speex" ,speex)))
+ (home-page "http://idjc.sourceforge.net/")
+ (synopsis "Broadcast streaming library with IDJC extensions")
+ (description "This package provides libshout plus IJDC extensions.")
+ ;; GNU Library (not Lesser) General Public License.
+ (license license:lgpl2.0+)))
+
(define-public raul
(package
(name "raul")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH 6/7] gnu: Add mp3guessenc.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211007142941.46591-6-monego@posteo.net
* gnu/packages/audio.scm (mp3guessenc): New variable.
---
gnu/packages/audio.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 666a7fbd49..d1bf91d10f 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4016,6 +4016,34 @@ machine-readable ASCII format.")
(home-page "https://github.com/svend/cuetools")
(license license:gpl2+)))
+(define-public mp3guessenc
+ (package
+ (name "mp3guessenc")
+ (version "0.27.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/mp3guessenc/mp3guessenc-"
+ (version-major+minor version) "/mp3guessenc-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1fa3sbwwn4p2v1749lzy040bfy1xfd574mf2frwgg9ikgk3vlb3c"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "SUFFIX="))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; no configure phase
+ (home-page "https://mp3guessenc.sourceforge.io/")
+ (synopsis "Detect the encoder used for a mpeg layer III file")
+ (description "This command line utility was born to detect the encoder
+used for a mpeg layer III file but now it can do more and scan any mpeg
+audio file (any layer) and print a lot of useful information.")
+ (license license:lgpl2.1+)))
+
(define-public shntool
(package
(name "shntool")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH 5/7] gnu: Add spscqueue.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211007142941.46591-5-monego@posteo.net
* gnu/packages/cpp.scm (spscqueue): New variable.
---
gnu/packages/cpp.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 4af71ba93a..d755cc0fc7 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -517,6 +517,27 @@ syntax highlighting. @code{ccls} is derived from @code{cquery} which is not
maintained anymore.")
(license license:asl2.0)))
+(define-public spscqueue
+ (package
+ (name "spscqueue")
+ (version "1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rigtorp/SPSCQueue/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1428cj9x318afvnvnkhg0711iy4czqn86fi7ysgfhw91asa316rc"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/rigtorp/SPSCQueue/")
+ (synopsis "Single producer single consumer queue written in C++11")
+ (description
+ "This package provides a single producer single consumer wait-free and
+lock-free fixed size queue written in C++11.")
+ (license license:expat)))
+
(define-public gperftools
(package
(name "gperftools")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH 7/7] gnu: Add mixxx.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211007142941.46591-7-monego@posteo.net
* 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.
---
gnu/local.mk | 2 +
gnu/packages/music.scm | 116 ++++++++++++++++++
...ixxx-link-qtscriptbytearray-qtscript.patch | 25 ++++
.../mixxx-system-googletest-benchmark.patch | 43 +++++++
4 files changed, 186 insertions(+)
create mode 100644 gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch
create mode 100644 gnu/packages/patches/mixxx-system-googletest-benchmark.patch

Toggle diff (236 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index d415b892e9..36ed1bb755 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1476,6 +1476,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 ae4626dc8a..759b56d5e0 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -71,6 +71,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)
@@ -88,6 +89,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)
@@ -2219,6 +2221,120 @@ 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"))))
+ (build-system qt-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Delete libraries that we already have or don't need.
+ (add-after 'unpack 'delete-third-parties
+ (lambda _
+ (let ((third-parties '("apple" "benchmark" "googletest" "hidapi"
+ "libebur128")))
+ (with-directory-excursion "lib"
+ (map (lambda (third-party)
+ (delete-file-recursively third-party))
+ third-parties)))))
+ ;; 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)
+ ;; TODO: Mixxx requires libshout-idjc >= 2.4.6 which was not released
+ ;; at the time of packaging.
+ ;; ("libshout-idjc" ,libshout-idjc)
+ ("libusb" ,libusb)
+ ("libvorbis" ,libvorbis)
+ ("lilv" ,lilv)
+ ("mp3guessenc" ,mp3guessenc)
+ ("openssl" ,openssl)
+ ("opus" ,opus) ;for opus_multistream.h
+ ("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://www.mixxx.org/")
+ (synopsis "DJ software to perform live mixes")
+ (description "Mixxx integrates the tools DJs need to perform creative live
+mixes with digital music files.
+
+Whether you are a new DJ with just a laptop or an experienced turntablist,
+Mixxx can support your style and techniques of mixing.")
+ ;; TODO: Try to unbundle some of these (see lib/).
+ (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 <monego@posteo.net>
+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 <monego@posteo.net>
+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
Vinicius Monego wrote 3 years ago
[PATCH v2 2/7] gnu: Add libdjinterop.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211009152820.294764-2-monego@posteo.net
* gnu/packages/audio.scm (libdjinterop): New variable.
---
gnu/packages/audio.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index ef06e0934e..4712e9aa72 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -107,6 +107,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages telephony)
#:use-module (gnu packages linphone)
#:use-module (gnu packages linux)
@@ -1217,6 +1218,40 @@ flanger), ringmodulator, distortion, filters, pitchshift, oscillators,
emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(license license:gpl3+)))
+(define-public libdjinterop
+ (package
+ (name "libdjinterop")
+ (version "0.16.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xsco/libdjinterop")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16nrqpr90vb9ggmp9j73m0hspd7pmfdhh0g6iyp8vd7kx7g17qnk"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; crate_test writes a database file to the source tree.
+ (add-after 'unpack 'make-git-checkout-writable
+ (lambda _
+ (for-each make-file-writable (find-files ".")))))))
+ (native-inputs
+ `(("boost" ,boost)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("sqlite" ,sqlite)
+ ("zlib" ,zlib)))
+ (home-page "https://github.com/xsco/libdjinterop")
+ (synopsis "C++ library for access to DJ record libraries")
+ (description
+ "@code{libdjinterop} is a C++ library that allows access to database
+formats used to store information about DJ record libraries.")
+ (license license:lgpl3+)))
+
(define-public tao
(package
(name "tao")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH v2 1/7] gnu: Add libkeyfinder.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211009152820.294764-1-monego@posteo.net
* gnu/packages/audio.scm (libkeyfinder): New variable.
---
gnu/packages/audio.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index cc51ac51f3..ef06e0934e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3417,6 +3417,31 @@ stretching and pitch scaling of audio. This package contains the library.")
;; containing gpl2.
(license license:gpl2)))
+(define-public libkeyfinder
+ (package
+ (name "libkeyfinder")
+ (version "2.2.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mixxxdj/libkeyfinder")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1623kirmxhmvmhx7f8lbzk0f18w2hrhwlkzl8l4aa906lfqffdp2"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("catch" ,catch-framework2)))
+ (inputs
+ `(("fftw" ,fftw)))
+ (home-page "https://mixxxdj.github.io/libkeyfinder/")
+ (synopsis "Musical key detection for digital audio")
+ (description
+ "@code{libkeyfinder} is a small C++11 library for estimating the musical
+key of digital audio.")
+ (license license:gpl3+)))
+
(define-public wavpack
(package
(name "wavpack")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH v2 3/7] gnu: opusfile: Add new phase after unpack.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211009152820.294764-3-monego@posteo.net
* gnu/packages/xiph.scm (opusfile)[arguments]<#:phases>: After the unpack
phase add a fix-multistream phase to adjust the include header call of
opus_multistream.h so that opusfile can find it.
---
gnu/packages/xiph.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index fbbcbd6e61..0c9c799067 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -406,7 +407,16 @@ decoding .opus files.")
"02smwc5ah8nb3a67mnkjzqmrzk43j356hgj2a97s9midq40qd38i"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("--disable-static")))
+ '(#:configure-flags '("--disable-static")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-multistream
+ ;; Opus include directory should be passed explicitly:
+ ;; https://github.com/xiph/opusfile/issues/10 however,
+ ;; opus_multistream.h still can't be found by the compiler.
+ (lambda _
+ (substitute* "include/opusfile.h"
+ (("opus_multistream\\.h") "opus/opus_multistream.h")))))))
;; Required by opusfile.pc and opusurl.pc.
(propagated-inputs
`(("libogg" ,libogg)
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH v2 4/7] gnu: Add libshout-idjc.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211009152820.294764-4-monego@posteo.net
* gnu/packages/audio.scm (libshout-idjc): New variable.
---
Fixed typo in description.

gnu/packages/audio.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 4712e9aa72..6c0318db9d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3089,6 +3089,31 @@ for \"realtime\" in the index of the Guix manual to learn how to achieve this
using Guix System.")
(license license:gpl2+)))
+(define-public libshout-idjc
+ (package
+ (name "libshout-idjc")
+ (version "2.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/libshoutidjc.idjc.p"
+ "/libshout-idjc-" version ".tar.gz"))
+ (sha256
+ (base32 "1r9z8ggxylr2ab0isaljbm574rplnlcb12758j994h54nh2vikwb"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libogg" ,libogg)
+ ("libtheora" ,libtheora)
+ ("libvorbis" ,libvorbis)
+ ("speex" ,speex)))
+ (home-page "http://idjc.sourceforge.net/")
+ (synopsis "Broadcast streaming library with IDJC extensions")
+ (description "This package provides libshout plus IDJC extensions.")
+ ;; GNU Library (not Lesser) General Public License.
+ (license license:lgpl2.0+)))
+
(define-public raul
(package
(name "raul")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH v2 5/7] gnu: Add spscqueue.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211009152820.294764-5-monego@posteo.net
* gnu/packages/cpp.scm (spscqueue): New variable.
---
gnu/packages/cpp.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 104fe81e18..5298de7cbb 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -516,6 +516,27 @@ syntax highlighting. @code{ccls} is derived from @code{cquery} which is not
maintained anymore.")
(license license:asl2.0)))
+(define-public spscqueue
+ (package
+ (name "spscqueue")
+ (version "1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rigtorp/SPSCQueue/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1428cj9x318afvnvnkhg0711iy4czqn86fi7ysgfhw91asa316rc"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/rigtorp/SPSCQueue/")
+ (synopsis "Single producer single consumer queue written in C++11")
+ (description
+ "This package provides a single producer single consumer wait-free and
+lock-free fixed size queue written in C++11.")
+ (license license:expat)))
+
(define-public gperftools
(package
(name "gperftools")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH v2 6/7] gnu: Add mp3guessenc.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211009152820.294764-6-monego@posteo.net
* gnu/packages/audio.scm (mp3guessenc): New variable.
---
Removed trailing / from home-page.

gnu/packages/audio.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 6c0318db9d..47c37643f6 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4060,6 +4060,34 @@ machine-readable ASCII format.")
(home-page "https://github.com/svend/cuetools")
(license license:gpl2+)))
+(define-public mp3guessenc
+ (package
+ (name "mp3guessenc")
+ (version "0.27.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/mp3guessenc/mp3guessenc-"
+ (version-major+minor version) "/mp3guessenc-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1fa3sbwwn4p2v1749lzy040bfy1xfd574mf2frwgg9ikgk3vlb3c"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "SUFFIX="))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; no configure phase
+ (home-page "https://mp3guessenc.sourceforge.io")
+ (synopsis "Detect the encoder used for a mpeg layer III")
+ (description "This command line utility was born to detect the encoder
+used for a mpeg layer III file but now it can do more and scan any mpeg
+audio file (any layer) and print a lot of useful information.")
+ (license license:lgpl2.1+)))
+
(define-public shntool
(package
(name "shntool")
--
2.30.2
Vinicius Monego wrote 3 years ago
[PATCH v2 7/7] gnu: Add mixxx.
(address . 51085@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20211009152820.294764-7-monego@posteo.net
* 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

Toggle diff (234 lines)
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 <monego@posteo.net>
+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 <monego@posteo.net>
+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
Leo Famulari wrote 3 years ago
Re: [bug#51085] [PATCH 0/7] Add Mixxx.
(name . Vinicius Monego)(address . monego@posteo.net)(address . 51085@debbugs.gnu.org)
YWRuGlHrPhb9aZ1t@jasmine.lan
On Thu, Oct 07, 2021 at 02:27:54PM +0000, Vinicius Monego wrote:
Toggle quote (9 lines)
> Vinicius Monego (7):
> gnu: Add libkeyfinder.
> gnu: Add libdjinterop.
> gnu: opusfile: Add new phase after unpack.
> gnu: Add libshout-idjc.
> gnu: Add spscqueue.
> gnu: Add mp3guessenc.
> gnu: Add mixxx.

Amazing! I've wanted a Guix package of Mixxx for a long time. I'm
building and testing this package now.
Leo Famulari wrote 3 years ago
Re: [bug#51085] [PATCH v2 6/7] gnu: Add mp3guessenc.
(name . Vinicius Monego)(address . monego@posteo.net)(address . 51085@debbugs.gnu.org)
YWSytqNe3zZ5SKkR@jasmine.lan
Thanks for these patches! I've hoped for a Mixxx Guix package for a long
time.

The patches look good to me overall, but I have a couple questions:

On Sat, Oct 09, 2021 at 03:28:19PM +0000, Vinicius Monego wrote:
Toggle quote (5 lines)
> * gnu/packages/audio.scm (mp3guessenc): New variable.

> + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
> + (string-append "SUFFIX="))

What is SUFFIX? That string doesn't appear in the mp3guessenc source
code.
Leo Famulari wrote 3 years ago
Re: [bug#51085] [PATCH v2 7/7] gnu: Add mixxx.
(name . Vinicius Monego)(address . monego@posteo.net)(address . 51085@debbugs.gnu.org)
YWS1Cm1EFhI788e8@jasmine.lan
On Sat, Oct 09, 2021 at 03:28:20PM +0000, Vinicius Monego wrote:
Toggle quote (8 lines)
> + (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)

The license of Mixxx is, overall, gpl2+. We don't need to list these
other licenses here. Maybe it's a problem that 'reverb' is gpl3+, I
don't know.

If you are curious about previous discussions of this subject in Guix,
we talked about it last spring in the guix-devel thread that started
in April 2021 as 'Jam: which licence is this?', and then continued into
May 2021:

Vinicius Monego wrote 3 years ago
Re: [bug#51085] [PATCH v2 6/7] gnu: Add mp3guessenc.
(name . Leo Famulari)(address . leo@famulari.name)(address . 51085@debbugs.gnu.org)
41e830ae7c79d1dd72a579528a8d3f8732913c31.camel@posteo.net
Em seg, 2021-10-11 às 17:55 -0400, Leo Famulari escreveu:
Toggle quote (15 lines)
> Thanks for these patches! I've hoped for a Mixxx Guix package for a
> long
> time.
>
> The patches look good to me overall, but I have a couple questions:
>
> On Sat, Oct 09, 2021 at 03:28:19PM +0000, Vinicius Monego wrote:
> > * gnu/packages/audio.scm (mp3guessenc): New variable.
>
> > +       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
> > +             (string-append "SUFFIX="))
>
> What is SUFFIX? That string doesn't appear in the mp3guessenc source
> code.

Oh I copied that part from another package and didn't adjust. SUFFIX
can be removed.
Vinicius Monego wrote 3 years ago
Re: [bug#51085] [PATCH v2 7/7] gnu: Add mixxx.
(name . Leo Famulari)(address . leo@famulari.name)(address . 51085@debbugs.gnu.org)
16929f6c8141798345a4b1080ada1e935b7c9bb4.camel@posteo.net
Em seg, 2021-10-11 às 18:04 -0400, Leo Famulari escreveu:
Toggle quote (24 lines)
> On Sat, Oct 09, 2021 at 03:28:20PM +0000, Vinicius Monego wrote:
> > +    (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)
>
> The license of Mixxx is, overall, gpl2+. We don't need to list these
> other licenses here. Maybe it's a problem that 'reverb' is gpl3+, I
> don't know.
>
> If you are curious about previous discussions of this subject in
> Guix,
> we talked about it last spring in the guix-devel thread that started
> in April 2021 as 'Jam: which licence is this?', and then continued
> into
> May 2021:
>
> https://lists.gnu.org/archive/html/guix-devel/2021-04/msg00436.html
> https://lists.gnu.org/archive/html/guix-devel/2021-05/threads.html

Thanks, interesting discussion. I had an incorrect understanding of the
license field.
Leo Famulari wrote 3 years ago
(name . Vinicius Monego)(address . monego@posteo.net)(address . 51085-done@debbugs.gnu.org)
YWtG5DPgDkeYk03E@jasmine.lan
On Tue, Oct 12, 2021 at 10:54:14PM +0000, Vinicius Monego wrote:
Toggle quote (3 lines)
> Thanks, interesting discussion. I had an incorrect understanding of the
> license field.

Alright. I made a few other changes to synopses, descriptions, and
commit messages, and pushed as 8c55fdf80a03098f5acc71eab76d89e3feb2c222.

Tnank you for these patches!
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 51085@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 51085
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help