guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Add Non Sequencer.


From: Ricardo Wurmus
Subject: [PATCH] Add Non Sequencer.
Date: Fri, 17 Jul 2015 08:49:58 +0200

>From 57265b8363add56ea0ea2f35310c39db7e2b14ed Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Fri, 17 Jul 2015 08:46:44 +0200
Subject: [PATCH 1/2] gnu: Add NTK.

* gnu/packages/fltk.scm (ntk): New variable.
---
 gnu/packages/fltk.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
index 7a41460..7424255 100644
--- a/gnu/packages/fltk.scm
+++ b/gnu/packages/fltk.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 John Darrington <address@hidden>
 ;;; Copyright © 2015 Eric Bavier <address@hidden>
+;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,9 +25,14 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages gl)
+  #:use-module (gnu packages gtk) ;for "cairo"
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system waf))
 
 (define-public fltk
   (package
@@ -83,3 +89,48 @@ emulation.  FLTK is designed to be small and modular enough 
to be statically
 linked, but works fine as a shared library.  FLTK also includes an excellent
 UI builder called FLUID that can be used to create applications in minutes.")
     (license lgpl2.0))) ; plus certain additional permissions
+
+(define-public ntk
+  (package
+    (name "ntk")
+    (version "1.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "git://git.tuxfamily.org/gitroot/non/fltk.git")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "0ggrh6rihf676z1vfgpgcl6kpqwyh39ih0hskcgzklh7fphfik39"))
+              (file-name (string-append name "-" version "-checkout"))))
+    (build-system waf-build-system)
+    (arguments
+     `(#:tests? #f ;no "check" target
+       #:python ,python-2
+       #:configure-flags '("--enable-gl")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before
+          'configure 'set-ldflags
+          (lambda* (#:key outputs #:allow-other-keys)
+            (setenv "LDFLAGS"
+                    (string-append "-Wl,-rpath="
+                                   (assoc-ref outputs "out") "/lib")))))))
+    (inputs
+     `(("libjpeg" ,libjpeg)
+       ("glu" ,glu)))
+    ;; ntk.pc lists "x11" and "xft" in Requires.private, and "cairo" in
+    ;; Requires.
+    (propagated-inputs
+     `(("cairo" ,cairo)
+       ("libxft" ,libxft)
+       ("libx11" ,libx11)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://non.tuxfamily.org/ntk/";)
+    (synopsis "Fork of FLTK with graphics rendering via Cairo")
+    (description "The Non Tool Kit (NTK) is a fork of the Fast Light ToolKit
+library, adding improved graphics rendering via Cairo, a streamlined and
+enhanced widget set, and other features designed to improve the appearance and
+performance of the Non applications.")
+    (license lgpl2.0)))
-- 
2.4.3

>From f748fa7439382672a5951beee6d00fd0f6e80221 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Fri, 17 Jul 2015 08:47:54 +0200
Subject: [PATCH 2/2] gnu: Add Non Sequencer.

* gnu/packages/music.scm (non-sequencer): New variable.
---
 gnu/packages/music.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 13ddd8b..6d5ab41 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -20,9 +20,11 @@
   #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system waf)
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages base) ;libbdf
@@ -33,12 +35,14 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages fltk)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -192,6 +196,44 @@ interpreted by LilyPond to produce the final document.  It 
is extendable with
 Guile.")
     (license license:gpl3+)))
 
+(define-public non-sequencer
+  ;; The latest tagged release is three years old and uses a custom build
+  ;; system, so we take the last commit affecting the "sequencer" directory.
+  (let ((commit "1d9bd576"))
+    (package
+      (name "non-sequencer")
+      (version (string-append "1.9.5-" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://git.tuxfamily.org/gitroot/non/non.git")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "0pkkw8q6d55j38xm7r4rwpdv1wy00a44h8c4wrn7vbgpq9nij46y"))
+                (file-name (string-append name "-" version "-checkout"))))
+      (build-system waf-build-system)
+      (arguments
+       `(#:tests? #f ;no "check" target
+         #:configure-flags '("--project=sequencer")
+         #:python ,python-2))
+      (inputs
+       `(("jack" ,jack-1)
+         ("libsigc++" ,libsigc++)
+         ("liblo" ,liblo)
+         ("ntk" ,ntk)))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)))
+      (home-page "http://non.tuxfamily.org/wiki/Non%20Sequencer";)
+      (synopsis "Pattern-based MIDI sequencer")
+      (description
+       "The Non Sequencer is a powerful, lightweight, real-time,
+pattern-based MIDI sequencer.  It utilizes the JACK Audio Connection Kit for
+MIDI I/O and the NTK GUI toolkit for its user interface.  Everything in Non
+Sequencer happens on-line, in real-time.  Music can be composed live, while the
+transport is rolling.")
+      (license license:gpl2+))))
+
 (define-public solfege
   (package
     (name "solfege")
-- 
2.4.3


reply via email to

[Prev in Thread] Current Thread [Next in Thread]