Bug 193093 - multimedia/libmtp: update to 1.1.8
Summary: multimedia/libmtp: update to 1.1.8
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Guido Falsi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-28 11:57 UTC by Jan Beich
Modified: 2014-08-31 16:23 UTC (History)
1 user (show)

See Also:


Attachments
update (2.45 KB, patch)
2014-08-28 11:57 UTC, Jan Beich
no flags Details | Diff
poudriere testport log (9.3R i386) (49.01 KB, text/plain)
2014-08-28 11:59 UTC, Jan Beich
no flags Details
poudriere testport log (10.0R amd64) (55.47 KB, text/plain)
2014-08-28 12:01 UTC, Jan Beich
no flags Details
update, v1.1 (2.53 KB, patch)
2014-08-28 12:21 UTC, Jan Beich
no flags Details | Diff
audio/gmtp log (9.3R i386 + 10.0R amd64) (73.17 KB, text/plain)
2014-08-28 13:04 UTC, Jan Beich
no flags Details
update, v1.2 (2.54 KB, patch)
2014-08-28 13:30 UTC, Jan Beich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2014-08-28 11:57:48 UTC
Created attachment 146441 [details]
update

Other changes include:
- fix libmtp.pc on 10.0+ where libusb-1.0.pc is actually available
- move libusb-1.0 dependency to Requires.private to avoid overlinking
- disable doxygen during build instead of patching Makefile.in
- add a comment about license containing "or any later version" clause

Runtime tested against sysutils/fusefs-simple-mtpfs.
Comment 1 Jan Beich freebsd_committer 2014-08-28 11:59:01 UTC
Created attachment 146442 [details]
poudriere testport log (9.3R i386)
Comment 2 Jan Beich freebsd_committer 2014-08-28 12:01:31 UTC
Created attachment 146443 [details]
poudriere testport log (10.0R amd64)
Comment 3 Jan Beich freebsd_committer 2014-08-28 12:21:37 UTC
Created attachment 146444 [details]
update, v1.1

Oops, add -lusb to |pkg-config --static| on 8.x and 9.x as well. No logs update because .pc changes are visible only in consumers.

# 8.x and 9.x
$ pkg-config --static --libs libmtp
-lmtp -lgcrypt -L/usr/local/lib -lusb
$ pkg-config --libs libmtp
-L/usr/local/lib -lmtp

# 10.x or later
$ pkg-config --static --libs libmtp
-lmtp -lusb -lgcrypt -L/usr/local/lib
$ pkg-config --libs libmtp
-L/usr/local/lib -lmtp
Comment 4 Jan Beich freebsd_committer 2014-08-28 13:04:47 UTC
Created attachment 146446 [details]
audio/gmtp log (9.3R i386 + 10.0R amd64)

dependent ports seem to build fine with the patched libmtp
Comment 5 Jan Beich freebsd_committer 2014-08-28 13:30:34 UTC
Created attachment 146447 [details]
update, v1.2

cosmetic fix to pkg-config output, on 9.x it now matches 10.x

$ pkg-config --static --libs libmtp
-lmtp -lusb -lgcrypt -L/usr/local/lib

--- v1.1
+++ v1.2
@@ -46,7 +46,7 @@ Index: multimedia/libmtp/Makefile
 -		'/^SUBDIRS/s|doc||' ${WRKSRC}/Makefile.in
 +		'/LIBUSB_REQUIRES/s|libusb-1.0||' ${WRKSRC}/configure
  	@${REINPLACE_CMD} -e \
-+		'/Libs.private/s|$$| -lusb|' ${WRKSRC}/libmtp.pc.in
++		'/Libs.private/s|:|& @LIBUSB_LIBS@|' ${WRKSRC}/libmtp.pc.in
 +.endif
 +	@${REINPLACE_CMD} -e \
  		'/if test/s|==|=| ; \

or

--- libmtp.pc  9.3R
+++ libmtp.pc 10.0R
@@ -8,8 +8,8 @@ includedir=${prefix}/include
 Name: libmtp
 Description: libmtp is a library for accessing Media Transfer Protocol devices
 Version: 1.1.8
-Requires.private: 
+Requires.private: libusb-1.0
 Conflicts:
 Libs: -L${libdir} -lmtp
-Libs.private: -lusb -lgcrypt -L/usr/local/lib
+Libs.private: -lgcrypt -L/usr/local/lib
 Cflags: -I${includedir}
Comment 6 Jan Beich freebsd_committer 2014-08-28 13:59:27 UTC
http://sourceforge.net/p/libmtp/patches/61/
Comment 7 Guido Falsi freebsd_committer 2014-08-29 15:34:45 UTC
(In reply to Jan Beich from comment #0)
> Created attachment 146441 [details]
> update
> 
> Other changes include:
> - fix libmtp.pc on 10.0+ where libusb-1.0.pc is actually available
> - move libusb-1.0 dependency to Requires.private to avoid overlinking
> - disable doxygen during build instead of patching Makefile.in

Is the line:

CONFIGURE_ARGS= --disable-doxygen

really needed? According to configure --help output this is the default and the doxygen option needs to be explicitly enabled.

I'm finishing testing, the patch looks ok apart from this, Are you ok with that line being removed?
Comment 8 Jan Beich freebsd_committer 2014-08-29 16:46:09 UTC
(In reply to Guido Falsi from comment #7)
> Is the line:
> 
> CONFIGURE_ARGS= --disable-doxygen
> 
> really needed? According to configure --help output this is the default and
> the doxygen option needs to be explicitly enabled.

Not really but it doesn't hurt. The default value is actually ambiguous "auto"
which stopped autodetecting since http://sourceforge.net/p/libmtp/code/ci/339b394

  AC_ARG_ENABLE(FEATURE, HELP-STRING [, ACTION-IF-GIVEN [, ACTION-IF-NOT-GIVEN]])

  # Optionally enable and check for doxygen
  AC_ARG_ENABLE([doxygen],
      AS_HELP_STRING([--enable-doxygen], [Build API documentation using Doxygen [default=no]]),
      [ac_enable_doxygen=$enableval], [ac_enable_doxygen=auto])
  if test "x$ac_enable_doxygen" == "xyes"; then
  ...
  else
      HAVE_DOXYGEN=false
  ...

to be fixed by http://sourceforge.net/p/libmtp/patches/62/

> 
> I'm finishing testing, the patch looks ok apart from this, Are you ok with
> that line being removed?

I assume you've tested for plist orphans with doxygen installed.
Comment 9 commit-hook freebsd_committer 2014-08-31 16:22:45 UTC
A commit references this bug:

Author: madpilot
Date: Sun Aug 31 16:21:48 UTC 2014
New revision: 366786
URL: http://svnweb.freebsd.org/changeset/ports/366786

Log:
  - Update to 1.1.8
  - Fix libmtp.pc on 10.0+ where libusb-1.0.pc is actually available
  - Move libusb-1.0 dependency to Requires.private to avoid overlinking
  - Disable doxygen during build instead of patching Makefile.in
  - Add a comment about license containing "or any later version" clause

  PR:		193093
  Submitte by:	Jan Beich <jbeich at vfemail.net>

Changes:
  head/multimedia/libmtp/Makefile
  head/multimedia/libmtp/distinfo
  head/multimedia/libmtp/pkg-plist
Comment 10 Guido Falsi freebsd_committer 2014-08-31 16:23:23 UTC
Committed.

After reading your explanation I decided to keep the --disable-doxygen line.

Thanks!