Bug 170241 - [PATCH] devel/libftdi: upgrade to 0.20 and fix automake brokenness
Summary: [PATCH] devel/libftdi: upgrade to 0.20 and fix automake brokenness
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Stefan Walter
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-29 06:00 UTC by Craig Leres
Modified: 2013-06-19 18:00 UTC (History)
1 user (show)

See Also:


Attachments
patches.txt (2.58 KB, text/plain; charset=us-ascii)
2012-08-12 02:07 UTC, Craig Leres
no flags Details
patch.txt (757 bytes, text/plain; charset=us-ascii)
2013-05-06 18:07 UTC, Stefan Walter
no flags Details
libftdi-swig.patch (973 bytes, patch)
2013-06-18 18:01 UTC, Stefan Walter
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Craig Leres freebsd_committer freebsd_triage 2012-07-29 06:00:03 UTC
 	libftdi fails to build after upgrading to automake-1.12.2.
 	I believe the problem is that autoreconf needs additional
 	flags to regenerate all required files.
 
 	While we're at it, update from 0.18 to 0.20.

Fix: 

Add "--force --install" to the existing autoreconf run in
 	the pre-configure section of the makefile.
 
 	Note that files/patch-examples_serial_read.c needs to be
 	removed since 0.21 replaced examples/serial_read.c with
 	examples/serial_test.c (which already includes stdlib.h and
 	does not need to be patched).
 
 	Please see attached patches.
 
 --- patches.txt begins here ---
 --- Makefile.orig	2012-07-28 17:51:07.000000000 -0700
 +++ Makefile	2012-07-28 17:50:54.000000000 -0700
 @@ -6,7 +6,7 @@
   #
 
   PORTNAME=	libftdi
 -PORTVERSION=	0.18
 +PORTVERSION=	0.20
   CATEGORIES=	devel
   MASTER_SITES=	http://www.intra2net.com/en/developer/libftdi/download/
 
 @@ -47,7 +47,7 @@
   		${WRKSRC}/Makefile.am ${WRKSRC}/Makefile.in
 
   pre-configure:
 -	@cd ${WRKSRC} && ${AUTORECONF}
 +	@cd ${WRKSRC} && ${AUTORECONF} --force --install
 
   post-install:
   .if !defined(NOPORTDOCS)
 --- distinfo.orig	2012-07-28 17:51:21.000000000 -0700
 +++ distinfo	2012-07-28 17:51:36.000000000 -0700
 @@ -1,2 +1,2 @@
 -SHA256 (libftdi-0.18.tar.gz) = 
 5b6f3c3ee51c6aa24d3b87135e01762cf68821d1c3599d87d349fea4ede74c62
 -SIZE (libftdi-0.18.tar.gz) = 398380
 +SHA256 (libftdi-0.20.tar.gz) = 
 3176d5b5986438f33f5208e690a8bfe90941be501cc0a72118ce3d338d4b838e
 +SIZE (libftdi-0.20.tar.gz) = 423570
 --- pkg-plist.orig	2011-06-12 06:55:44.000000000 -0700
 +++ pkg-plist	2012-07-28 17:54:15.000000000 -0700
 @@ -6,17 +6,17 @@
   bin/find_all
   %%BOOST%%bin/find_all_pp
   BIN/LIBFTdi-config
 -bin/serial_read
 +bin/serial_test
   bin/simple
   include/ftdi.h
   %%BOOST%%include/ftdi.hpp
   lib/libftdi.a
   lib/libftdi.la
   lib/libftdi.so
 -lib/libftdi.so.19
 +lib/libftdi.so.21
   %%BOOST%%lib/libftdipp.a
   %%BOOST%%lib/libftdipp.la
   %%BOOST%%lib/libftdipp.so
 -%%BOOST%%lib/libftdipp.so.19
 +%%BOOST%%lib/libftdipp.so.21
   libdata/pkgconfig/libftdi.pc
   %%BOOST%%libdata/pkgconfig/libftdipp.pc
 --- patches.txt ends here ---
How-To-Repeat:  	hot 1 % cat /var/db/ports/libftdi/options
 	# This file is auto-generated by 'make config'.
 	# Options for libftdi-0.18
 	_OPTIONS_READ=libftdi-0.18
 	_FILE_COMPLETE_OPTIONS_LIST= BOOST
 	OPTIONS_FILE_UNSET+=BOOST
 	hot 2 % cd /usr/ports/devel/libftdi && make
 	===>  Found saved configuration for libftdi-0.18
 	===>  Extracting for libftdi-0.18
 	[...]
 	make  all-recursive
 	Making all in src
 	/bin/sh ../libtool --tag=CC    --mode=compile cc -DHAVE_CONFIG_H -I. 
 -I..      -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT 
 ftdi.lo -MD -MP -MF .deps/ftdi.Tpo -c -o ftdi.lo ftdi.c
 	mv -f .deps/ftdi.Tpo .deps/ftdi.Plo
 	mv: rename .deps/ftdi.Tpo to .deps/ftdi.Plo: No such file or directory
 	*** Error code 1
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2012-07-30 03:12:26 UTC
Class Changed
From-To: sw-bug->update

recover from bogus formatting. 


Comment 2 Mark Linimon freebsd_committer freebsd_triage 2012-07-30 03:12:26 UTC
Responsible Changed
From-To: gnats-admin->freebsd-ports-bugs
Comment 3 Craig Leres freebsd_committer freebsd_triage 2012-08-12 02:07:26 UTC
Here's an updated patchset that converts to OptionsNG and adds an option
to build/install the Python bindings.

This still applies:
>     Note that files/patch-examples_serial_read.c needs to be
>     removed since 0.21 replaced examples/serial_read.c with
>     examples/serial_test.c (which already includes stdlib.h and
>     does not need to be patched).

		Craig
Comment 4 dfilter service freebsd_committer freebsd_triage 2012-09-11 13:17:43 UTC
Author: cperciva
Date: Tue Sep 11 12:17:29 2012
New Revision: 304091
URL: http://svn.freebsd.org/changeset/ports/304091

Log:
  Fix build problems with new automake.
  
  PR:		ports/170241 (partial - upgrade to new version not done)
  Submitted by:	Craig Leres
  Approved by:	maintainer timeout

Modified:
  head/devel/libftdi/Makefile

Modified: head/devel/libftdi/Makefile
==============================================================================
--- head/devel/libftdi/Makefile	Tue Sep 11 12:05:13 2012	(r304090)
+++ head/devel/libftdi/Makefile	Tue Sep 11 12:17:29 2012	(r304091)
@@ -47,7 +47,7 @@ post-patch:
 		${WRKSRC}/Makefile.am ${WRKSRC}/Makefile.in
 
 pre-configure:
-	@cd ${WRKSRC} && ${AUTORECONF}
+	@cd ${WRKSRC} && ${AUTORECONF} --force --install
 
 post-install:
 .if !defined(NOPORTDOCS)
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 5 Stefan Walter freebsd_committer freebsd_triage 2013-05-01 10:59:55 UTC
Hello Craig,

unfortunately, there has not been any activity with your problem report
for devel/libftdi (see [1]) for a while. The port's current maintainer
does not seem to be actively maintaining the port any more. In the
meantime, the port has been modified multiple times, so the patch you sent
does not apply any more. Could you send a new patch for the update? In
case there is no reaction from the port's maintainer, you could also take
over maintainership of the port if you are interested.

Please also see for another PR that intended to update the port to 0.20.
(The submitter of that PR is cc'd.)

Best regards,
Stefan

[1]: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/170241
[2]: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/170537
Comment 6 Stefan Walter freebsd_committer freebsd_triage 2013-05-01 11:00:08 UTC
State Changed
From-To: open->feedback

Awaiting feedback. 


Comment 7 Stefan Walter freebsd_committer freebsd_triage 2013-05-01 11:00:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->stefan

Track this while waiting for feedback.
Comment 8 Stefan Walter freebsd_committer freebsd_triage 2013-05-05 10:48:56 UTC
State Changed
From-To: feedback->closed

Port has been updated.
Comment 9 Stefan Walter freebsd_committer freebsd_triage 2013-05-06 18:07:15 UTC
For the record - feedback received:

Craig Leres, 06.05.13, 02:18h CEST:

> Looks good except pkg-plist is missing entries the files installed when
> PYTHON is enabled (see attached patch).
> 
> 		Craig
Comment 10 Stefan Walter freebsd_committer freebsd_triage 2013-05-06 18:18:27 UTC
Craig Leres, 06.05.13, 02:18h CEST:

> Looks good except pkg-plist is missing entries the files installed when
> PYTHON is enabled (see attached patch).
> 
> 		Craig

> --- Makefile.orig	2013-05-05 17:15:29.000000000 -0700
> +++ Makefile	2013-05-05 17:15:44.000000000 -0700
> @@ -33,7 +33,7 @@
>  CONFIGURE_ARGS+=	--without-boost
>  .endif
>  .if ${PORT_OPTIONS:MPYTHON}
> -PLIST_SUB+=		PYTHON=""
> +PLIST_SUB+=		PYTHON="" PYDISTUTILS_EGGINFO=${PYDISTUTILS_EGGINFO}
>  CONFIGURE_ARGS+=	--enable-python-binding
>  USE_PYTHON=		yes
>  .else
> --- pkg-plist.orig	2013-05-05 16:56:54.000000000 -0700
> +++ pkg-plist	2013-05-05 17:14:38.000000000 -0700
> @@ -10,6 +10,10 @@
>  bin/simple
>  include/ftdi.h
>  %%BOOST%%include/ftdi.hpp
> +%%PYTHON%%%%PYTHON_SITELIBDIR%%/_ftdi.so
> +%%PYTHON%%%%PYTHON_SITELIBDIR%%/ftdi.py
> +%%PYTHON%%%%PYTHON_SITELIBDIR%%/ftdi.pyc
> +%%PYTHON%%%%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%%
>  lib/libftdi.a
>  lib/libftdi.la
>  lib/libftdi.so

Hm...thanks for the hint - interestingly, those four files don't seem to
be installed with me, though. I guess I have to take a closer look at that
when I get to it...

Best regards,
Stefan
Comment 11 Stefan Walter freebsd_committer freebsd_triage 2013-05-06 18:18:52 UTC
State Changed
From-To: closed->open

Re-open, as there seems to be an issue with the plist.
Comment 12 Stefan Walter freebsd_committer freebsd_triage 2013-05-06 21:33:13 UTC
Craig Leres, 06.05.13, 21:21h CEST:

> On 05/06/13 10:18, Stefan Walter wrote:
> > Hm...thanks for the hint - interestingly, those four files don't seem to
> > be installed with me, though. I guess I have to take a closer look at that
> > when I get to it...
> 
> Turn on the PYTHON option, remove your work directory and rebuild/install.
> 
> 		Craig

Although I didn't mention it, that's exactly what I did, of course. This
part of the configure step looks related:

---snip---
checking if we can build the C++ wrapper... yes
checking for doxygen... /usr/local/bin/doxygen
checking for swig... no
checking whether /usr/local/bin/python2.7 version is >= 2.0... yes
checking for /usr/local/bin/python2.7 version... 2.7
checking for /usr/local/bin/python2.7 platform... freebsd9
checking for /usr/local/bin/python2.7 script directory... ${prefix}/lib/python2.7/site-packages
checking for /usr/local/bin/python2.7 extension module directory... ${exec_prefix}/lib/python2.7/site-packages
checking /usr/local/include/python2.7/Python.h usability... yes
checking /usr/local/include/python2.7/Python.h presence... yes
checking for /usr/local/include/python2.7/Python.h... yes
configure: WARNING: Python binding for libftdi cannot be built. Ensure that SWIG and Python packages are available.
---snip---

I guess the port is missing a dependency, at least for SWIG.

Best regards,
Stefan
Comment 13 Stefan Walter freebsd_committer freebsd_triage 2013-05-12 18:12:30 UTC
Hi Craig,

Craig Leres, 07.05.13, 00:14h CEST:

> On 05/06/13 13:33, Stefan Walter wrote:
> > I guess the port is missing a dependency, at least for SWIG.
> 
> Oh right, I have a few other open PRs for that problem with other ports...

are you working on an updated patch to fix this issue?

Best regards,
Stefan
Comment 14 Stefan Walter freebsd_committer freebsd_triage 2013-06-18 18:01:34 UTC
Hi Craig,

Craig Leres, 12.05.13, 22:51h CEST:

> On 5/12/2013 1:12 PM, Stefan Walter wrote:
> > are you working on an updated patch to fix this issue?
> 
> I actually assumed you were going to but I can easily do this. But I'm
> out of town until the 27th on vacation so it'll be a little while before
> I can work on this.
> 
> 		Craig

I finally got around to look at this. Can you confirm that the attached
modified patch fixes it?

Best regards,
Stefan
Comment 15 Craig Leres freebsd_committer freebsd_triage 2013-06-18 20:03:10 UTC
On 06/18/13 10:01, Stefan Walter wrote:
> I finally got around to look at this. Can you confirm that the attached
> modified patch fixes it?

That works.

Is swig20 required? Clearly some version of swig is but I have swig13
but not swig20 and was able to build libftdi with PYTHON support before
applying your patch.

		Craig
Comment 16 Stefan Walter freebsd_committer freebsd_triage 2013-06-18 20:19:22 UTC
Craig Leres, 18.06.13, 21:03h CEST:

> On 06/18/13 10:01, Stefan Walter wrote:
> > I finally got around to look at this. Can you confirm that the attached
> > modified patch fixes it?
> 
> That works.
> 
> Is swig20 required? Clearly some version of swig is but I have swig13
> but not swig20 and was able to build libftdi with PYTHON support before
> applying your patch.

Swig13 might work, too, but I'm not familiar with either version of that
software. I just tried the most recent one. Is there a benefit in using
swig13 instead?

Regards,
Stefan
Comment 17 dfilter service freebsd_committer freebsd_triage 2013-06-19 17:49:32 UTC
Author: stefan
Date: Wed Jun 19 16:49:25 2013
New Revision: 321292
URL: http://svnweb.freebsd.org/changeset/ports/321292

Log:
  Fix plist for cases when the port is built with Python bindings.
  
  PR:		170241
  Submitted by:	Craig Leres <leres@ee.lbl.gov>

Modified:
  head/devel/libftdi/Makefile
  head/devel/libftdi/pkg-plist

Modified: head/devel/libftdi/Makefile
==============================================================================
--- head/devel/libftdi/Makefile	Wed Jun 19 16:39:43 2013	(r321291)
+++ head/devel/libftdi/Makefile	Wed Jun 19 16:49:25 2013	(r321292)
@@ -33,8 +33,10 @@ PLIST_SUB+=		BOOST="@comment "
 CONFIGURE_ARGS+=	--without-boost
 .endif
 .if ${PORT_OPTIONS:MPYTHON}
-PLIST_SUB+=		PYTHON=""
+PLIST_SUB+=		PYTHON="" PYDISTUTILS_EGGINFO=${PYDISTUTILS_EGGINFO}
 CONFIGURE_ARGS+=	--enable-python-binding
+CONFIGURE_ENV+=		SWIG="${LOCALBASE}/bin/swig2.0"
+BUILD_DEPENDS+=		swig2.0:${PORTSDIR}/devel/swig20
 USE_PYTHON=		yes
 .else
 PLIST_SUB+=		PYTHON="@comment "

Modified: head/devel/libftdi/pkg-plist
==============================================================================
--- head/devel/libftdi/pkg-plist	Wed Jun 19 16:39:43 2013	(r321291)
+++ head/devel/libftdi/pkg-plist	Wed Jun 19 16:49:25 2013	(r321292)
@@ -10,6 +10,10 @@ bin/serial_test
 bin/simple
 include/ftdi.h
 %%BOOST%%include/ftdi.hpp
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/_ftdi.so
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/ftdi.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/ftdi.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%%
 lib/libftdi.a
 lib/libftdi.la
 lib/libftdi.so
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 18 Stefan Walter freebsd_committer freebsd_triage 2013-06-19 17:49:59 UTC
State Changed
From-To: open->closed

Patch committed.