From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39825) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dC0G1-0003Ae-C1 for guix-patches@gnu.org; Sat, 20 May 2017 05:01:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dC0Fy-0004aP-7o for guix-patches@gnu.org; Sat, 20 May 2017 05:01:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:53221) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dC0Fy-0004aJ-0U for guix-patches@gnu.org; Sat, 20 May 2017 05:01:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dC0Fx-0002AX-Q4 for guix-patches@gnu.org; Sat, 20 May 2017 05:01:01 -0400 Subject: bug#26956: [PATCH] Add MuseScore Resent-Message-ID: From: Nicolas Goaziou In-Reply-To: <87tw4i4ap6.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Thu, 18 May 2017 14:21:41 +0200") References: <878tlwss3t.fsf@nicolasgoaziou.fr> <87fug432kq.fsf@gnu.org> <87ziebr7zc.fsf@nicolasgoaziou.fr> <87tw4i4ap6.fsf@gnu.org> Date: Sat, 20 May 2017 11:00:25 +0200 Message-ID: <87zie7oqc6.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 26956@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Nicolas Goaziou skribis: > >> IIUC, the Makefile is a wrapper that calls the cmake command, which, in >> turn, generates a new make target that the initial make call can >> process... The new target is responsible for, at the very least, >> generating the translation files. > > Wonderful. :-) It's even more wonderful when you realize that at 3am. >> About the bundled freetype library: it is skipped per the cmake option. >> Should we also delete it from source in a snippet or is it fine as-is? > > It=E2=80=99s always safer to remove it in a snippet. OK. > I started doing that and then noticed that removing all of thirdparty/ > won=E2=80=99t cut it. Yet there=E2=80=99s quite a lot of stuff in that d= irectory, so it > would be good to make sure we use as little as possible of this bundled > code: > > $ ls /tmp/guix-build-musescore-2.1.0.drv-0/MuseScore-2.1.0/thirdparty/ > beatroot diff intervaltree kQOAuth ofqf portmidi qzip rtf2html sin= gleapp xmlstream > > For example, we could add portmidi as an input. > > Could you take a look? Fair enough. The attached update includes the following changes: - un-bundle OpenSSL. Since it doesn't prevent compilation, do not even include ours, much like what Debian does. - remove unused portmidi from "thirdparty", per the following snippet in CMakeLists.txt # Disable components not supported on Linux/BSD if (NOT APPLE AND NOT MINGW) set(NIX_NOT_AVAIL "Not available on Linux/BSD") option(BUILD_PORTMIDI "PortMidi disabled on Linux. (It uses AL= SA but it's better to use ALSA directly)" OFF) endif (NOT APPLE AND NOT MINGW) - un-bundle freetype, remove it from the "thirdparty" directory. - add "gtk+-bin" as inuput so that we can run `gtk-update-icon-cache' (still not sure this is really needed). WDYT? Regards, --=20 Nicolas Goaziou 0x80A93738 --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-MuseScore.patch Content-Transfer-Encoding: quoted-printable >From cf05d7aa5a2030ef6cbe073f44f69c65492870b7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 16 May 2017 17:55:29 +0200 Subject: [PATCH] gnu: Add MuseScore. * gnu/packages/music.scm (musescore): New variable. --- gnu/packages/music.scm | 90 ++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 90 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index d4a72df1d..5c0be39c2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -10,6 +10,7 @@ ;;; Copyright =C2=A9 2016 Alex Griffin ;;; Copyright =C2=A9 2017 ng0 ;;; Copyright =C2=A9 2017 Rodger Fox +;;; Copyright =C2=A9 2017 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,6 +50,7 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages code) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -2990,3 +2992,91 @@ are a C compiler and glib. Full API documentation a= nd examples are included.") melodies and beats and for mixing and arranging songs. LMMS includes inst= ruments based on audio samples and various soft sythesizers. It can receive input from a M= IDI keyboard.") (license license:gpl2+))) + +(define-public musescore + (package + (name "musescore") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/musescore/MuseScore/archive/" + "v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0irwsq6ihfz3y3b943cwqy29g3si7gqbgxdscgw53vwv9vfvi085")) + (modules '((guix build utils))) + (snippet + ;; Un-bundle OpenSSL and remove unused libraries. + '(begin + (substitute* "thirdparty/kQOAuth/CMakeLists.txt" + (("-I \\$\\{PROJECT_SOURCE_DIR\\}/thirdparty/openssl/i= nclude ") + "")) + (substitute* "thirdparty/kQOAuth/kqoauthutils.cpp" + (("#include