components/python/librabbitmq/patches/studio.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Fri, 27 Sep 2013 00:13:38 -0700
changeset 1488 04528ffd139d
parent 1484 01108fd9c6ef
permissions -rw-r--r--
17508584 Upgrade Wireshark to version 1.10.2 17442735 problem in UTILITY/WIRESHARK
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1484
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     1
Remove the use of gcc-specific flags.
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     2
And don't regenerate amqp_framing.[ch] if the source hasn't changed.
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     3
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     4
Without the patch to connection.c, we get
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     5
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     6
    "Modules/_librabbitmq/connection.c", line 465: reference to static identifier "AMQTable_toPyDict" in extern inline function
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     7
    "Modules/_librabbitmq/connection.c", line 685: reference to static identifier "PyDict_ToAMQTable" in extern inline function
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     8
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     9
from Studio.  These are new since 0.9.9, where we didn't have this problem.
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    10
Not sure what the right fix is.
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    11
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    12
Finally, we inherit CFLAGS and LDFLAGS from the environment rather than
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    13
using what Python was compiled with. In particular, Python 2.7 in
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    14
Userland currently has some undesired settings such as including
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    15
/usr/gnu/lib in the RUNPATH.
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    16
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    17
--- librabbitmq-1.0.1/setup.py	Mon Jan 14 06:05:35 2013
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    18
+++ librabbitmq-1.0.1/setup.py	Mon Sep  2 14:25:44 2013
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    19
@@ -3,6 +3,7 @@
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    20
 import sys
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    21
 from glob import glob
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    22
 from setuptools import setup, find_packages
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    23
+from distutils.dep_util import newer
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    24
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    25
 # --with-librabbitmq=<dir>: path to librabbitmq package if needed
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    26
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    27
@@ -26,9 +27,15 @@
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    28
     codegen = LRMQSRC('codegen.py')
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    29
     spec = SPECPATH('amqp-rabbitmq-0.9.1.json')
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    30
     sys.path.insert(0, SPECPATH())
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    31
+    hfile = LRMQSRC('amqp_framing.h')
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    32
+    cfile = LRMQSRC('amqp_framing.c')
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    33
+    # Don't regenerate the files if the spec file hasn't changed.  This prevents
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    34
+    # a separate install phase from unnecessarily rebuilding the extension.
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    35
+    if not (newer(spec, hfile) or newer(spec, cfile)):
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    36
+            return
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    37
     commands = [
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    38
-        (sys.executable, codegen, 'header', spec, LRMQSRC('amqp_framing.h')),
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    39
-        (sys.executable, codegen, 'body', spec, LRMQSRC('amqp_framing.c')),
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    40
+        (sys.executable, codegen, 'header', spec, hfile),
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    41
+        (sys.executable, codegen, 'body', spec, cfile),
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    42
     ]
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    43
     restore = senv(('PYTHONPATH', SPECPATH()), sep=':')
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    44
     try:
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    45
@@ -112,7 +119,7 @@
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    46
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    47
     class build(_build):
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    48
         stdcflags = [
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    49
-            '-W -Wall -DHAVE_CONFIG_H',
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    50
+            '-DHAVE_CONFIG_H',
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    51
         ]
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    52
         if os.environ.get('PEDANTIC'):
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    53
             # Python.h breaks -pedantic, so can only use it while developing.
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    54
@@ -124,8 +131,7 @@
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    55
             from distutils import sysconfig
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    56
             config = sysconfig.get_config_vars()
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    57
             try:
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    58
-                restore = senv(('CFLAGS', config['CFLAGS']),
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    59
-                    ('LDFLAGS', config['LDFLAGS']))
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    60
+                restore = senv()
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    61
                 try:
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    62
                     os.chdir(LRMQDIST())
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    63
                     if not os.path.isfile('config.h'):
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    64
--- librabbitmq-1.0.1/Modules/_librabbitmq/connection.c	Mon Jan 14 04:48:57 2013
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    65
+++ librabbitmq-1.0.1/Modules/_librabbitmq/connection.c	Mon Apr  8 16:01:05 2013
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    66
@@ -62,10 +62,10 @@
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    67
 _PYRMQ_INLINE int RabbitMQ_wait_nb(int);
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    68
 _PYRMQ_INLINE int RabbitMQ_wait_timeout(int, double);
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    69
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    70
-_PYRMQ_INLINE void
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    71
+void
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    72
 basic_properties_to_PyDict(amqp_basic_properties_t*, PyObject*);
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    73
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    74
-_PYRMQ_INLINE int
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    75
+int
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    76
 PyDict_to_basic_properties(PyObject *,
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    77
                            amqp_basic_properties_t *,
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    78
                            amqp_connection_state_t );
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    79
@@ -408,7 +408,7 @@
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    80
 }
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    81
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    82
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    83
-_PYRMQ_INLINE void
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    84
+void
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    85
 basic_properties_to_PyDict(amqp_basic_properties_t *props, PyObject *p)
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    86
 {
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    87
     register PyObject *value = NULL;
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    88
@@ -614,7 +614,7 @@
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    89
 }
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    90
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    91
 
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    92
-_PYRMQ_INLINE int
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    93
+int
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    94
 PyDict_to_basic_properties(PyObject *p,
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    95
                            amqp_basic_properties_t *props,
01108fd9c6ef PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    96
                            amqp_connection_state_t conn)