Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Sep 2012 22:25:16 +1000 (EST)
From:      Kubilay Kocak <koobs.freebsd@gmail.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        gd@rambler-co.ru
Subject:   ports/172090: [PATCH] databases/py-hiredis: Build and link against system/port hiredis.so (not WRKSRC/vendor)
Message-ID:  <20120926122516.8987639FDF@freebsd-9-amd64.localdomain>
Resent-Message-ID: <201209261230.q8QCUG6K047967@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         172090
>Category:       ports
>Synopsis:       [PATCH] databases/py-hiredis: Build and link against system/port hiredis.so (not WRKSRC/vendor)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 26 12:30:16 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Kubilay Kocak
>Release:        FreeBSD 9.0-RELEASE-p3 amd64
>Organization:
>Environment:
System: FreeBSD freebsd-9-amd64 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Sat Jul  7 21:26:56 EST
>Description:
The upstream distfile for this port bundles the hiredis source files in WRKSRC/vendor and doesnt actually build or link against the LIB_DEPENDS declared in the Makefile. 

This PR patches setup.py to link against hiredis.so as installed by the databases/hiredis port.

The approach is:

- Remove the 'lib' section in setup.py that builds hiredis.so
- Point include_dirs to ${LOCALBASE} instead of WRKSRC/vendor
- Add library_dirs to 'ext' section to point it to where hiredis.so lives

While I'm here: whitespace alignment

====[QA]====

portlint: looks fine.
porttest: clean
redports: https://redports.org/buildarchive/20120925120310-64334/

confirm linking:

<snip>databases/py-hiredis/work/hiredis-0.1.1/build/lib.freebsd-9.0-RELEASE-p3-amd64-2.7/hiredis] ldd ./hiredis.so
./hiredis.so:
        libhiredis.so.0.10 => /usr/local/lib/libhiredis.so.0.10 (0x801203000)
        libc.so.7 => /lib/libc.so.7 (0x80084a000)
============

Added file(s):
- files/patch-setup.py

Port maintainer (gd@rambler-co.ru) is cc'd.

Generated with FreeBSD Port Tools 0.99_6 (mode: change, diff: ports)
>How-To-Repeat:
>Fix:

--- py27-hiredis-0.1.1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/databases/py-hiredis/Makefile ./Makefile
--- /usr/ports/databases/py-hiredis/Makefile	2012-06-05 12:35:55.000000000 +1000
+++ ./Makefile	2012-09-25 21:38:48.000000000 +1000
@@ -18,8 +18,8 @@
 
 LIB_DEPENDS=	hiredis:${PORTSDIR}/databases/hiredis
 
-USE_PYTHON=	yes
-USE_PYDISTUTILS=yes
+USE_PYTHON=		yes
+USE_PYDISTUTILS=	yes
 
 PLIST_FILES=	%%PYTHON_SITELIBDIR%%/hiredis/__init__.py \
 		%%PYTHON_SITELIBDIR%%/hiredis/__init__.pyc \
@@ -30,4 +30,7 @@
 		%%PYTHON_SITELIBDIR%%/hiredis/version.pyo
 PLIST_DIRS=	%%PYTHON_SITELIBDIR%%/hiredis
 
+post-patch:
+	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/${PYSETUP}
+
 .include <bsd.port.mk>
diff -ruN --exclude=CVS /usr/ports/databases/py-hiredis/files/patch-setup.py ./files/patch-setup.py
--- /usr/ports/databases/py-hiredis/files/patch-setup.py	1970-01-01 10:00:00.000000000 +1000
+++ ./files/patch-setup.py	2012-09-25 21:54:09.000000000 +1000
@@ -0,0 +1,26 @@
+--- ./setup.py.orig	2012-04-18 04:54:11.000000000 +1000
++++ ./setup.py	2012-09-25 21:54:06.000000000 +1000
+@@ -20,13 +20,10 @@
+         if self.distribution.has_ext_modules():
+           self.run_command('build_ext')
+ 
+-lib = ("hiredis", {
+-  "sources": ["vendor/hiredis/%s.c" % src for src in ("hiredis", "net", "sds")],
+-  "include_dirs": ["vendor/hiredis"]})
+-
+ ext = Extension("hiredis.hiredis",
+   sources=glob.glob("src/*.c"),
+-  include_dirs=["src", "vendor"],
++  include_dirs=["src", "%%LOCALBASE%%/include"],
++  library_dirs=["%%LOCALBASE%%/lib"],
+   libraries=["hiredis"])
+ 
+ setup(
+@@ -39,7 +36,6 @@
+   keywords=["Redis"],
+   license="BSD",
+   packages=["hiredis"],
+-  libraries=[lib],
+   ext_modules=[ext],
+ 
+   # Override "install_lib" command
--- py27-hiredis-0.1.1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120926122516.8987639FDF>