]> git.pld-linux.org Git - packages/beast.git/blobdiff - beast-guile2.patch
- updated to 0.7.4
[packages/beast.git] / beast-guile2.patch
diff --git a/beast-guile2.patch b/beast-guile2.patch
new file mode 100644 (file)
index 0000000..985114b
--- /dev/null
@@ -0,0 +1,292 @@
+--- beast-0.7.4/configure.in.orig      2011-04-09 00:20:56.000000000 +0200
++++ beast-0.7.4/configure.in   2012-04-20 22:01:31.005986007 +0200
+@@ -421,12 +421,14 @@
+       GUILE_VERSION=`$GUILE_CONFIG info guileversion`
+       GUILE_CFLAGS=`$GUILE_CONFIG compile`
+       GUILE_LDFLAGS=`$GUILE_CONFIG link`
++      oldCPPFLAGS="$CPPFLAGS"
++      CPPFLAGS="$CPPFLAGS $GUILE_CFLAGS"
+       MC_CHECK_VERSION($GUILE_VERSION, $REQUIRED_VERSION, [guile_tests=`expr $guile_tests + 1`])
+       dnl # check headers seperately, since some distributions ship on-devel guile packages with guile-config
+-      AC_CHECK_HEADER(guile/gh.h, guile_tests=`expr $guile_tests + 1`)
+-      AC_CHECK_HEADER(libguile/properties.h, guile_tests=`expr $guile_tests + 1`) dnl # guile-1.6 headerfile
++      AC_CHECK_HEADER(libguile.h, guile_tests=`expr $guile_tests + 1`)
++      CPPFLAGS="$oldCPPFLAGS"
+     fi
+-    if test $guile_tests = 4 ; then
++    if test $guile_tests = 3 ; then
+       BSESCM_CFLAGS="$GUILE_CFLAGS $BSESCM_CFLAGS"
+       BSESCM_LIBS="$GUILE_LDFLAGS $BSESCM_LIBS" 
+     else
+--- beast-0.7.4/shell/bsescm.c.orig    2011-04-08 19:39:22.000000000 +0200
++++ beast-0.7.4/shell/bsescm.c 2012-04-26 21:18:52.321900930 +0200
+@@ -17,7 +17,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
+-#include <guile/gh.h>
++#include <libguile.h>
+ #include <bse/bse.h>
+ #include <bse/bsemain.h>  /* for bse_init_textdomain_only() */
+ #include <sfi/sfistore.h> /* no bin-compat */
+@@ -33,7 +33,8 @@
+ /* --- prototypes --- */
+-static void   gh_main                 (gint    argc,
++static void   gh_main                 (void *closure,
++                                       gint    argc,
+                                        gchar  *argv[]);
+ static void   shell_parse_args        (gint    *argc_p,
+                                        gchar ***argv_p);
+@@ -108,14 +109,15 @@ main (int   argc,
+   /* now that the BSE thread runs, drop scheduling priorities if we have any */
+   setpriority (PRIO_PROCESS, getpid(), 0);
+-  gh_enter (argc, argv, gh_main);
++  scm_boot_guile (argc, argv, gh_main, NULL);
+   return 0;
+ }
+ static void
+-gh_main (int   argc,
++gh_main (void * closure,
++       int   argc,
+        char *argv[])
+ {
+   /* initial interpreter setup */
+@@ -130,11 +132,11 @@ gh_main (int   argc,
+   /* exec Bse Scheme bootup code */
+   const gchar *boot_script = g_intern_printf ("%s/%s", boot_script_path, "bse-scm-glue.boot");
+-  gh_load (boot_script);
++  scm_c_primitive_load (boot_script);
+   /* eval, auto-play or interactive */
+   if (bse_scm_eval_expr)
+-    gh_eval_str (bse_scm_eval_expr);
++    scm_c_eval_string (bse_scm_eval_expr);
+   else
+     {
+       gboolean call_auto_play = FALSE;
+@@ -157,14 +159,14 @@ gh_main (int   argc,
+         }
+       /* auto-play or interactive */
+       if (call_auto_play)
+-        gh_eval_str ("(bse-scm-auto-play)");
++        scm_c_eval_string ("(bse-scm-auto-play)");
+       else 
+         {
+           if (bse_scm_auto_load)
+-            gh_eval_str ("(bse-server-register-blocking bse-server-register-core-plugins #f)"
++            scm_c_eval_string ("(bse-server-register-blocking bse-server-register-core-plugins #f)"
+                          "(bse-server-register-blocking bse-server-register-scripts #f)"
+                          "(bse-server-register-blocking bse-server-register-ladspa-plugins #f)");
+-          gh_repl (argc, argv);
++          scm_shell (argc, argv);
+         }
+     }
+--- beast-0.7.4/shell/bsescminterp.h.orig      2011-04-08 19:39:22.000000000 +0200
++++ beast-0.7.4/shell/bsescminterp.h   2012-04-26 20:11:33.745318439 +0200
+@@ -18,7 +18,7 @@
+ #define __BSE_SCM_INTERP_H__
+ #include <bse/bse.h>
+-#include <guile/gh.h>
++#include <libguile.h>
+ G_BEGIN_DECLS
+--- beast-0.7.4/shell/bsescminterp.c.orig      2011-04-08 19:39:22.000000000 +0200
++++ beast-0.7.4/shell/bsescminterp.c   2012-04-26 20:59:51.038591385 +0200
+@@ -55,7 +55,7 @@
+ #define IS_SCM_INT(s_scm)               SCM_I_INUMP (s_scm)     // scm_is_integer() breaks for non-fractional floats
+ #define SFI_NUM_FROM_SCM(s_scm)         ((SfiNum) scm_to_int64 (s_scm))
+ #define STRING_CHARS_FROM_SCM(s_scm)    scm_i_string_chars (s_scm)
+-#define STRING_LENGTH_FROM_SCM(s_scm)   scm_i_string_length (s_scm)
++#define STRING_LENGTH_FROM_SCM(s_scm)   scm_c_string_length (s_scm)
+ #define IS_SCM_STRING(s_scm)            scm_is_string (s_scm)
+ #define IS_SCM_SYMBOL(s_scm)            scm_is_symbol (s_scm)
+ #define IS_SCM_BOOL(s_scm)              scm_is_bool (s_scm)
+@@ -157,7 +157,7 @@ bse_scm_enter_gc (SCM           *scm_gc_
+   gc_cell->free_func = free_func;
+   gc_cell->size_hint = size_hint + sizeof (BseScmGCCell);
+   SCM_NEWSMOB (s_cell, tc_glue_gc_cell, gc_cell);
+-  *scm_gc_list = gh_cons (s_cell, *scm_gc_list);
++  *scm_gc_list = scm_cons (s_cell, *scm_gc_list);
+ }
+ static SCM
+@@ -494,21 +494,21 @@ bse_scm_from_value (const GValue *value)
+       sval = sfi_value_get_bool (value) ? SCM_BOOL_T : SCM_BOOL_F;
+       break;
+     case SFI_SCAT_INT:
+-      sval = gh_long2scm (sfi_value_get_int (value));
++      sval = scm_from_long (sfi_value_get_int (value));
+       break;
+     case SFI_SCAT_NUM:
+       sval = scm_long_long2num (sfi_value_get_num (value));
+       break;
+     case SFI_SCAT_REAL:
+-      sval = gh_double2scm (sfi_value_get_real (value));
++      sval = scm_make_real (sfi_value_get_real (value));
+       break;
+     case SFI_SCAT_STRING:
+       str = sfi_value_get_string (value);
+-      sval = str ? gh_str02scm (str) : BSE_SCM_NIL;
++      sval = str ? scm_from_locale_string (str) : BSE_SCM_NIL;
+       break;
+     case SFI_SCAT_CHOICE:
+       str = sfi_value_get_choice (value);
+-      sval = str ? gh_symbol2scm (str) : BSE_SCM_NIL;
++      sval = str ? scm_from_locale_symbol (str) : BSE_SCM_NIL;
+       break;
+     case SFI_SCAT_BBLOCK:
+       sval = BSE_SCM_NIL;
+@@ -692,7 +692,7 @@ signal_marshal_sproc (void *data)
+   sdata->n_args = 0;
+   while (i--)
+-    args = gh_cons (bse_scm_from_value (sdata->args + i), args);
++    args = scm_cons (bse_scm_from_value (sdata->args + i), args);
+   s_ret = scm_apply (sdata->s_lambda, args, SCM_EOL);
+@@ -729,7 +729,7 @@ bse_scm_signal_connect (SCM s_proxy,
+   proxy = SCM_GET_GLUE_PROXY (s_proxy);
+   SCM_ASSERT (IS_SCM_STRING (s_signal), s_signal, SCM_ARG2, "bse-signal-connect");
+-  SCM_ASSERT (gh_procedure_p (s_lambda), s_lambda,  SCM_ARG3, "bse-signal-connect");
++  SCM_ASSERT (scm_is_true(scm_procedure_p (s_lambda)), s_lambda,  SCM_ARG3, "bse-signal-connect");
+   scm_gc_protect_object (s_lambda);
+@@ -744,7 +744,7 @@ bse_scm_signal_connect (SCM s_proxy,
+   id = sfi_glue_signal_connect_closure (proxy, sdata->signal, closure, NULL);
+   BSE_SCM_ALLOW_INTS ();
+   
+-  return gh_ulong2scm (id);
++  return scm_from_ulong (id);
+ }
+ SCM
+@@ -917,14 +917,6 @@ void
+ bse_scm_enable_script_register (gboolean enabled)
+ {
+   script_register_enabled = enabled != FALSE;
+-  if (script_register_enabled)
+-    {
+-      /* enable position recording wchih is required for __FILE__ and __LINE__ emulation */
+-      SCM_DEVAL_P = 1;
+-      SCM_BACKTRACE_P = 1;
+-      SCM_RECORD_POSITIONS_P = 1;
+-      SCM_RESET_DEBUG_MODE;
+-    }
+ }
+ SCM
+@@ -1081,7 +1073,7 @@ bse_scm_context_pending (void)
+   pending = sfi_glue_context_pending ();
+   BSE_SCM_ALLOW_INTS ();
+-  return gh_bool2scm (pending);
++  return scm_from_bool (pending);
+ }
+ SCM
+@@ -1090,7 +1082,7 @@ bse_scm_context_iteration (SCM s_may_blo
+   BSE_SCM_DEFER_INTS ();
+   if (sfi_glue_context_pending ())
+     sfi_glue_context_dispatch ();
+-  else if (gh_scm2bool (s_may_block))
++  else if (scm_from_bool (s_may_block))
+     {
+       /* FIXME: we need a real poll() based wait implementation here */
+       do
+@@ -1124,14 +1116,14 @@ register_types (const gchar **types)
+       {
+         s = g_strdup_printf ("(define (bse-is-%s proxy) (bse-item-check-is-a proxy \"%s\"))",
+                              sname + 4, *types);
+-        gh_eval_str (s);
++        scm_c_eval_string (s);
+         g_free (s);
+       }
+       for (i = 0; names[i]; i++)
+       {
+         gchar *s = g_strdup_printf ("(define %s-%s (lambda list (bse-glue-call \"%s+%s\" list)))",
+                                     sname, names[i], *types, names[i]);
+-        gh_eval_str (s);
++        scm_c_eval_string (s);
+         g_free (s);
+       }
+       g_free (sname);
+@@ -1159,29 +1151,29 @@ bse_scm_interp_init (void)
+   tc_glue_rec = scm_make_smob_type ("BseGlueRec", 0);
+   scm_set_smob_free (tc_glue_rec, bse_scm_free_glue_rec);
+-  gh_new_procedure ("bse-rec-get", bse_scm_glue_rec_get, 2, 0, 0);
+-  gh_new_procedure ("bse-rec-set", bse_scm_glue_rec_set, 3, 0, 0);
+-  gh_new_procedure ("bse-rec-new", bse_scm_glue_rec_new, 0, 1, 0);
+-  gh_new_procedure ("bse-rec-print", bse_scm_glue_rec_print, 1, 0, 0);
++  scm_c_define_gsubr ("bse-rec-get", 2, 0, 0, bse_scm_glue_rec_get);
++  scm_c_define_gsubr ("bse-rec-set", 3, 0, 0, bse_scm_glue_rec_set);
++  scm_c_define_gsubr ("bse-rec-new", 0, 1, 0, bse_scm_glue_rec_new);
++  scm_c_define_gsubr ("bse-rec-print", 1, 0, 0, bse_scm_glue_rec_print);
+   tc_glue_proxy = scm_make_smob_type ("SfiProxy", 0);
+   SCM_NEWSMOB (glue_null_proxy, tc_glue_proxy, 0);
+   scm_permanent_object (glue_null_proxy);
+   scm_set_smob_equalp (tc_glue_proxy, bse_scm_proxy_equalp);
+   scm_set_smob_print (tc_glue_proxy, bse_scm_proxy_print);
+-  gh_new_procedure ("bse-proxy-is-null?", bse_scm_proxy_is_null, 1, 0, 0);
+-  gh_new_procedure ("bse-proxy-get-null", bse_scm_proxy_get_null, 0, 1, 0);
++  scm_c_define_gsubr ("bse-proxy-is-null?", 1, 0, 0, bse_scm_proxy_is_null);
++  scm_c_define_gsubr ("bse-proxy-get-null", 0, 1, 0, bse_scm_proxy_get_null);
+-  gh_new_procedure ("bse-glue-call", bse_scm_glue_call, 2, 0, 0);
+-  gh_new_procedure ("bse-glue-set-prop", bse_scm_glue_set_prop, 3, 0, 0);
+-  gh_new_procedure ("bse-glue-get-prop", bse_scm_glue_get_prop, 2, 0, 0);
++  scm_c_define_gsubr ("bse-glue-call", 2, 0, 0, bse_scm_glue_call);
++  scm_c_define_gsubr ("bse-glue-set-prop", 3, 0, 0, bse_scm_glue_set_prop);
++  scm_c_define_gsubr ("bse-glue-get-prop", 2, 0, 0, bse_scm_glue_get_prop);
+   procs = sfi_glue_list_proc_names ();
+   for (i = 0; procs[i]; i++)
+     if (strncmp (procs[i], "bse-", 4) == 0)
+       {
+       gchar *s = g_strdup_printf ("(define bse-%s (lambda list (bse-glue-call \"%s\" list)))", procs[i] + 4, procs[i]);
+-      gh_eval_str (s);
++      scm_c_eval_string (s);
+       g_free (s);
+       }
+@@ -1189,15 +1181,15 @@ bse_scm_interp_init (void)
+   procs2[1] = NULL;
+   register_types (procs2);
+-  gh_new_procedure0_0 ("bse-server-get", bse_scm_server_get);
+-  gh_new_procedure ("bse-script-register", bse_scm_script_register, 6, 0, 1);
+-  gh_new_procedure ("bse-script-fetch-args", bse_scm_script_args, 0, 0, 0);
+-  gh_new_procedure ("bse-choice-match?", bse_scm_choice_match, 2, 0, 0);
+-  gh_new_procedure ("bse-signal-connect", bse_scm_signal_connect, 3, 0, 0);
+-  gh_new_procedure ("bse-signal-disconnect", bse_scm_signal_disconnect, 2, 0, 0);
+-  gh_new_procedure ("bse-context-pending", bse_scm_context_pending, 0, 0, 0);
+-  gh_new_procedure ("bse-context-iteration", bse_scm_context_iteration, 1, 0, 0);
+-  gh_new_procedure ("bse-script-message", bse_scm_script_message, 1, 0, 1);
+-  gh_new_procedure ("bse-gettext", bse_scm_gettext, 1, 0, 0);
+-  gh_new_procedure ("bse-gettext-q", bse_scm_gettext_q, 1, 0, 0);
++  scm_c_define_gsubr ("bse-server-get", 0, 0, 0, bse_scm_server_get);
++  scm_c_define_gsubr ("bse-script-register", 6, 0, 1, bse_scm_script_register);
++  scm_c_define_gsubr ("bse-script-fetch-args", 0, 0, 0, bse_scm_script_args);
++  scm_c_define_gsubr ("bse-choice-match?", 2, 0, 0, bse_scm_choice_match);
++  scm_c_define_gsubr ("bse-signal-connect", 3, 0, 0, bse_scm_signal_connect);
++  scm_c_define_gsubr ("bse-signal-disconnect", 2, 0, 0, bse_scm_signal_disconnect);
++  scm_c_define_gsubr ("bse-context-pending", 0, 0, 0, bse_scm_context_pending);
++  scm_c_define_gsubr ("bse-context-iteration", 1, 0, 0, bse_scm_context_iteration);
++  scm_c_define_gsubr ("bse-script-message", 1, 0, 1, bse_scm_script_message);
++  scm_c_define_gsubr ("bse-gettext", 1, 0, 0, bse_scm_gettext);
++  scm_c_define_gsubr ("bse-gettext-q", 1, 0, 0, bse_scm_gettext_q);
+ }
This page took 0.109023 seconds and 4 git commands to generate.