[69129] trunk/dports/math/pspp-devel

snc at macports.org snc at macports.org
Thu Jun 24 09:01:54 PDT 2010


Revision: 69129
          http://trac.macports.org/changeset/69129
Author:   snc at macports.org
Date:     2010-06-24 09:01:53 -0700 (Thu, 24 Jun 2010)
Log Message:
-----------
update version, add patches for weird getopt issues

Modified Paths:
--------------
    trunk/dports/math/pspp-devel/Portfile

Added Paths:
-----------
    trunk/dports/math/pspp-devel/files/patch-optarg.diff
    trunk/dports/math/pspp-devel/files/patch-optind.diff

Modified: trunk/dports/math/pspp-devel/Portfile
===================================================================
--- trunk/dports/math/pspp-devel/Portfile	2010-06-24 14:30:32 UTC (rev 69128)
+++ trunk/dports/math/pspp-devel/Portfile	2010-06-24 16:01:53 UTC (rev 69129)
@@ -4,10 +4,10 @@
 PortSystem          1.0
 
 name                pspp-devel
-set buildstamp      20100621040501
-set buildhash       g551ae7
+set buildstamp      20100624040502
+set buildhash       g24ce3b
 version             0.7.5
-revision            3
+revision            4
 categories          math
 license             GPLv3+
 maintainers         snc
@@ -24,9 +24,9 @@
 
 master_sites        http://pspp.benpfaff.org/~blp/pspp-master/${buildstamp}
 distname            pspp-${version}-${buildhash}
-checksums           md5     d941641a8d4fc41a7555405a1235344e \
-                    sha1    d88fef8f8ffe7fa07d32129a1ddcd5009f431c12 \
-                    rmd160  343b01097d03d3d4b82a16b9eb6a3eefa3ffd602
+checksums           md5     44a1272c51f9f44b88b09d5bfd81e168 \
+                    sha1    e5ad4d4cf205ec5840f21e15a8097d3fc9a93ede \
+                    rmd160  d820c08966eb3c4e71b3f010a1e2a618dd905cd7
 
 depends_build       port:pkgconfig
 depends_lib		    port:gsl \
@@ -40,11 +40,15 @@
                     port:libglade2 \
                     port:libtool
 
+patchfiles          patch-optarg.diff patch-optind.diff
+patch.pre_args      -p1
+
+#configure.optflags  -O0
+#configure.cflags-append -g
 configure.env-append CPPFLAGS=-I${prefix}/include
 configure.perl      ${prefix}/bin/perl
 configure.args      --disable-rpath \
                     --without-libpq \
-                    --enable-debug \
                     --without-libncurses \
                     --with-packager=snc \
                     --with-packager-version=${version}-${buildstamp} \

Added: trunk/dports/math/pspp-devel/files/patch-optarg.diff
===================================================================
--- trunk/dports/math/pspp-devel/files/patch-optarg.diff	                        (rev 0)
+++ trunk/dports/math/pspp-devel/files/patch-optarg.diff	2010-06-24 16:01:53 UTC (rev 69129)
@@ -0,0 +1,84 @@
+diff --git a/src/libpspp/argv-parser.c b/src/libpspp/argv-parser.c
+index ecf1ab2..6ffcf4e 100644
+--- a/src/libpspp/argv-parser.c
++++ b/src/libpspp/argv-parser.c
+@@ -28,7 +28,7 @@
+ struct argv_option_plus
+   {
+     struct argv_option base;
+-    void (*cb) (int id, void *aux);
++    void (*cb) (int id, void *aux, const char *);
+     void *aux;
+   };
+ 
+@@ -67,7 +67,7 @@ argv_parser_destroy (struct argv_parser *ap)
+ void
+ argv_parser_add_options (struct argv_parser *ap,
+                          const struct argv_option *options, size_t n,
+-                         void (*cb) (int id, void *aux), void *aux)
++                         void (*cb) (int id, void *aux, const char *), void *aux)
+ {
+   const struct argv_option *src;
+   for (src = options; src < &options[n]; src++)
+@@ -165,12 +165,12 @@ argv_parser_run (struct argv_parser *ap, int argc, char **argv)
+       else if (c >= LONGOPT_VAL_BASE && c < LONGOPT_VAL_BASE + n_longopts)
+         {
+           struct argv_option_plus *aop = &ap->options[c - LONGOPT_VAL_BASE];
+-          aop->cb (aop->base.id, aop->aux);
++          aop->cb (aop->base.id, aop->aux, optarg);
+         }
+       else if (c >= SCHAR_MIN && c <= UCHAR_MAX)
+         {
+           const struct argv_option_plus *aop = shortopt_ptrs[(unsigned char) c];
+-          aop->cb (aop->base.id, aop->aux);
++          aop->cb (aop->base.id, aop->aux, optarg);
+         }
+       else
+         NOT_REACHED ();
+diff --git a/src/libpspp/argv-parser.h b/src/libpspp/argv-parser.h
+index 6e6d83f..a9c5de0 100644
+--- a/src/libpspp/argv-parser.h
++++ b/src/libpspp/argv-parser.h
+@@ -53,7 +53,7 @@ void argv_parser_destroy (struct argv_parser *);
+ 
+ void argv_parser_add_options (struct argv_parser *,
+                               const struct argv_option *options, size_t n,
+-                              void (*cb) (int id, void *aux), void *aux);
++                              void (*cb) (int id, void *aux, const char *), void *aux);
+ bool argv_parser_run (struct argv_parser *, int argc, char **argv);
+ 
+ #endif /* libpspp/argv-parser.h */
+diff --git a/src/ui/terminal/terminal-opts.c b/src/ui/terminal/terminal-opts.c
+index 775e36c..8d4468b 100644
+--- a/src/ui/terminal/terminal-opts.c
++++ b/src/ui/terminal/terminal-opts.c
+@@ -228,7 +228,7 @@ Non-option arguments are interpreted as syntax files to execute.\n"),
+ }
+ 
+ static void
+-terminal_option_callback (int id, void *to_)
++terminal_option_callback (int id, void *to_, const char *argstr)
+ {
+   struct terminal_opts *to = to_;
+ 
+@@ -239,17 +239,17 @@ terminal_option_callback (int id, void *to_)
+       break;
+ 
+     case OPT_ERROR_FILE:
+-      if (!strcmp (optarg, "none") || msglog_create (optarg))
++      if (!strcmp (argstr, "none") || msglog_create (argstr))
+         to->has_error_file = true;
+       break;
+ 
+     case OPT_OUTPUT:
+       register_output_driver (to);
+-      string_map_insert (&to->options, "output-file", optarg);
++      string_map_insert (&to->options, "output-file", argstr);
+       break;
+ 
+     case OPT_OUTPUT_OPTION:
+-      parse_output_option (to, optarg);
++      parse_output_option (to, argstr);
+       break;
+ 
+     case OPT_NO_OUTPUT:

Added: trunk/dports/math/pspp-devel/files/patch-optind.diff
===================================================================
--- trunk/dports/math/pspp-devel/files/patch-optind.diff	                        (rev 0)
+++ trunk/dports/math/pspp-devel/files/patch-optind.diff	2010-06-24 16:01:53 UTC (rev 69129)
@@ -0,0 +1,112 @@
+diff --git a/src/libpspp/argv-parser.c b/src/libpspp/argv-parser.c
+index 6ffcf4e..4a76780 100644
+--- a/src/libpspp/argv-parser.c
++++ b/src/libpspp/argv-parser.c
+@@ -36,14 +36,22 @@ struct argv_parser
+   {
+     struct argv_option_plus *options;
+     size_t n_options, allocated_options;
++    int optidx;
+   };
+ 
++int
++argv_parser_optind (const struct argv_parser *ap)
++{
++  return ap->optidx;
++}
++
+ /* Creates and returns a new argv_parser that initially is not
+    configured to parse any command-line options. */
+ struct argv_parser *
+ argv_parser_create (void)
+ {
+   struct argv_parser *ap = xzalloc (sizeof *ap);
++  ap->optidx = -1;
+   return ap;
+ }
+ 
+@@ -176,6 +184,8 @@ argv_parser_run (struct argv_parser *ap, int argc, char **argv)
+         NOT_REACHED ();
+     }
+ 
++  ap->optidx = optind;
++
+ exit:
+   ds_destroy (&shortopts);
+   free (longopts);
+diff --git a/src/libpspp/argv-parser.h b/src/libpspp/argv-parser.h
+index a9c5de0..3666c7c 100644
+--- a/src/libpspp/argv-parser.h
++++ b/src/libpspp/argv-parser.h
+@@ -56,4 +56,6 @@ void argv_parser_add_options (struct argv_parser *,
+                               void (*cb) (int id, void *aux, const char *), void *aux);
+ bool argv_parser_run (struct argv_parser *, int argc, char **argv);
+ 
++int argv_parser_optind (const struct argv_parser *);
++
+ #endif /* libpspp/argv-parser.h */
+diff --git a/src/libpspp/model-checker.c b/src/libpspp/model-checker.c
+index 80198f8..fd32978 100644
+--- a/src/libpspp/model-checker.c
++++ b/src/libpspp/model-checker.c
+@@ -690,7 +690,7 @@ enum { N_MC_ARGV_OPTIONS = sizeof mc_argv_options / sizeof *mc_argv_options };
+ /* Called by argv_parser_run to indicate that option ID has been
+    parsed. */
+ static void
+-mc_parser_option_callback (int id, void *mc_options_)
++mc_parser_option_callback (int id, void *mc_options_, int optidx)
+ {
+   struct mc_options *options = mc_options_;
+   switch (id)
+diff --git a/src/ui/terminal/main.c b/src/ui/terminal/main.c
+index 02be4f7..4c35f19 100644
+--- a/src/ui/terminal/main.c
++++ b/src/ui/terminal/main.c
+@@ -109,7 +109,7 @@ main (int argc, char **argv)
+   source_init_register_argv_parser (parser, the_source_stream);
+   if (!argv_parser_run (parser, argc, argv))
+     exit (EXIT_FAILURE);
+-  terminal_opts_done (terminal_opts, argc, argv);
++  terminal_opts_done (terminal_opts, argc, argv, argv_parser_optind (parser));
+   argv_parser_destroy (parser);
+ 
+   msg_ui_init (the_source_stream);
+diff --git a/src/ui/terminal/terminal-opts.c b/src/ui/terminal/terminal-opts.c
+index 8d4468b..237f405 100644
+--- a/src/ui/terminal/terminal-opts.c
++++ b/src/ui/terminal/terminal-opts.c
+@@ -312,7 +312,7 @@ add_syntax_file (struct terminal_opts *to, const char *file_name)
+ }
+ 
+ void
+-terminal_opts_done (struct terminal_opts *to, int argc, char *argv[])
++terminal_opts_done (struct terminal_opts *to, int argc, char *argv[], int optidx)
+ {
+   if (to->process_statrc)
+     {
+@@ -326,11 +326,11 @@ terminal_opts_done (struct terminal_opts *to, int argc, char *argv[])
+         }
+     }
+ 
+-  if (optind < argc)
++  if (optidx < argc)
+     {
+       int i;
+ 
+-      for (i = optind; i < argc; i++)
++      for (i = optidx; i < argc; i++)
+         add_syntax_file (to, argv[i]);
+     }
+   else
+diff --git a/src/ui/terminal/terminal-opts.h b/src/ui/terminal/terminal-opts.h
+index 1225112..c171dd0 100644
+--- a/src/ui/terminal/terminal-opts.h
++++ b/src/ui/terminal/terminal-opts.h
+@@ -24,6 +24,6 @@ struct terminal_opts;
+ 
+ struct terminal_opts *terminal_opts_init (struct argv_parser *,
+                                           struct source_stream *);
+-void terminal_opts_done (struct terminal_opts *, int argc, char *argv[]);
++void terminal_opts_done (struct terminal_opts *, int argc, char *argv[], int optidx);
+ 
+ #endif /* ui/terminal/terminal-opts.h */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100624/b1218d9c/attachment.html>


More information about the macports-changes mailing list