diff --git a/gnu/local.mk b/gnu/local.mk index 408f7c376b..3da47858ff 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1629,6 +1629,7 @@ dist_patch_DATA = \ %D%/packages/patches/password-store-tree-compat.patch \ %D%/packages/patches/pciutils-hurd-configure.patch \ %D%/packages/patches/pciutils-hurd-fix.patch \ + %D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \ %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \ %D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch \ %D%/packages/patches/pokerth-boost.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index aeb86a4799..65bb6d29f7 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2178,6 +2178,47 @@ (define-public jalv-select users to select LV2 plugins and run them with jalv.") (license license:public-domain))) +(define-public petri-foo + (package + (name "petri-foo") + (version "0.1.87") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/petri-foo/Source" + "/petri-foo-" version ".tar.bz2")) + (sha256 + (base32 + "0b25iicgn8c42487fdw32ycfrll1pm2zjgy5djvgw6mfcaa4gizh")) + (modules '((guix build utils))) + ;; https://github.com/petri-foo/Petri-Foo/pull/43 + (snippet '(begin + (substitute* "gui/gui.c" + (("#include \\\"waveform\\.h\\\"") + (string-append + "#include \"waveform.h\"" + "\n\nGtkRecentManager *recent_manager;"))) + (substitute* "gui/gui.h" + (("GtkRecentManager \\*recent_manager;") + "extern GtkRecentManager *recent_manager;")))))) + (build-system cmake-build-system) + (arguments (list #:tests? #f)) ;no test target + (native-inputs (list pkg-config)) + (inputs (list alsa-lib + glib + jack-1 + libgnomecanvas + liblo + libsamplerate + libsndfile + libxml2 + openssl)) + (home-page "https://petri-foo.sourceforge.net/") + (synopsis "Audio sampler for JACK") + (description + "Petri-Foo is a fork of the Specimen sampler project intended to run under +a JACK session.") + (license license:gpl2))) + (define-public mixxx (package (name "mixxx") diff --git a/gnu/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch b/gnu/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch new file mode 100644 index 0000000000..3e88487b07 --- /dev/null +++ b/gnu/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch @@ -0,0 +1,24 @@ +diff -Naur a/gui/bank-ops.c b/gui/bank-ops.c +--- a/gui/bank-ops.c 2012-08-06 05:33:34.000000000 +0200 ++++ b/gui/bank-ops.c 2012-08-07 17:57:28.580145691 +0200 +@@ -393,6 +393,8 @@ + g_signal_connect_swapped(G_OBJECT(msg), "response", + G_CALLBACK(gtk_widget_destroy), msg); + gtk_widget_show (msg); ++ ++ gtk_recent_manager_remove_item(recent_manager, filename, NULL); + } + else + { +diff -Naur a/libpetrifui/dish_file.c b/libpetrifui/dish_file.c +--- a/libpetrifui/dish_file.c 2012-08-06 05:33:34.000000000 +0200 ++++ b/libpetrifui/dish_file.c 2012-08-07 17:56:09.063909801 +0200 +@@ -1440,7 +1440,7 @@ + + if (stat(path, &st) != 0) + { +- msg_log(MSG_ERROR, "file '%s' does not exist\n"); ++ msg_log(MSG_ERROR, "file '%s' does not exist\n", path); + return -1; + } +