Bug 209356 - [PATCH] multimedia/assimp: Update to 3.2
Summary: [PATCH] multimedia/assimp: Update to 3.2
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Kurt Jaeger
URL:
Keywords: patch
Depends on:
Blocks: 209357
  Show dependency treegraph
 
Reported: 2016-05-07 10:25 UTC by lightside
Modified: 2016-06-13 06:14 UTC (History)
3 users (show)

See Also:
pi: maintainer-feedback-


Attachments
Proposed patch (since 413746 revision) (19.93 KB, patch)
2016-05-07 10:25 UTC, lightside
lightside: maintainer-approval? (yuri)
Details | Diff
The poudriere testport log (FreeBSD 9.3 amd64) (9.21 KB, application/x-bzip2)
2016-05-07 10:29 UTC, lightside
no flags Details
The poudriere testport log (FreeBSD 10.2 amd64) (8.96 KB, application/x-bzip2)
2016-05-07 10:29 UTC, lightside
no flags Details
Patch for games/doomsday (since 412346 revision) (385 bytes, patch)
2016-05-07 10:34 UTC, lightside
no flags Details | Diff
Assimp variants with conflicts or versioned library (16.79 KB, application/x-bzip2)
2016-05-07 10:38 UTC, lightside
no flags Details
Assimp versioned library (second variant) (14.05 KB, application/x-bzip2)
2016-05-09 18:14 UTC, lightside
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description lightside 2016-05-07 10:25:43 UTC
Created attachment 170082 [details]
Proposed patch (since 413746 revision)

Patch to update multimedia/assimp port from 3.1.1 to 3.2 version.

Look following link for changes:
https://github.com/assimp/assimp/compare/v3.1.1...v3.2

- Use source code from GitHub
- Remove check for zzip-zlib-config from cmake-modules/FindZLIB.cmake file
- Remove usage of git from CMakeLists.txt file
- Use sed patch to delete minizip check, instead of static patch
- Use patch for pstdint.h file to update it to newer version, which fixes build on FreeBSD
- Update pkg-plist file
Comment 1 lightside 2016-05-07 10:29:02 UTC
Created attachment 170083 [details]
The poudriere testport log (FreeBSD 9.3 amd64)
Comment 2 lightside 2016-05-07 10:29:23 UTC
Created attachment 170084 [details]
The poudriere testport log (FreeBSD 10.2 amd64)
Comment 3 lightside 2016-05-07 10:34:50 UTC
Created attachment 170087 [details]
Patch for games/doomsday (since 412346 revision)

There is a need to bump PORTREVISION of games/doomsday port after multimedia/assimp update.
Comment 4 lightside 2016-05-07 10:38:56 UTC
Created attachment 170088 [details]
Assimp variants with conflicts or versioned library

The main motivation of this update was a possibility to build newer version of games/pioneer port, which started to require assimp v3.2 library since 20160430 version:
https://github.com/pioneerspacesim/pioneer/blob/fc43b9fc5ef6592d4af8b4e1b814af837a82b4c4/configure.ac#L271-L307

There is a related issue with it, named "I can see through Bowfin and space stations #3654":
https://github.com/pioneerspacesim/pioneer/issues/3654
I called this issue as "white-texture artifacts" in bug 207575, comment 5.

As I understood, the games/doomsday port uses assimp v3.1.1, according to following links:
https://github.com/skyjake/Doomsday-Engine/tree/master/doomsday/external
https://github.com/skyjake/assimp/blob/a9566de5e252a0c0e2e94a768e885a6ab73a362c/CHANGES#L5-L16
https://github.com/skyjake/assimp/blob/a9566de5e252a0c0e2e94a768e885a6ab73a362c/CMakeLists.txt#L12-L14
I tested games/doomsday with games/doom-freedoom doom2.wad file and assimp v3.2. Looks like, it's not affected to games/pioneer issue (i.e. white-texture artifacts), because of different algorithm to load textures (and their material names).

I contacted maintainers of multimedia/assimp and games/doomsday ports about mentioned issue (but no response so far) and proposed two other variants of assimp library (with conflicts or versioned: 3.1, 3.2), which archive I attached to this comment, in case of found issue(s) on games/doomsday port.
Comment 5 lightside 2016-05-09 18:14:32 UTC
Created attachment 170151 [details]
Assimp versioned library (second variant)

I also created second variant, which consists of versioned assimp v3.1.1 and not versioned assimp v3.2 libraries. It is the same for multimedia/assimp31 (from attachment 170088 [details]), but differs for multimedia/assimp, where I used ASSIMP_INCLUDE_INSTALL_DIR variable for CMAKE_ARGS to differentiate between multimedia/assimp31 and multimedia/assimp include directories, where they not installed to ${LOCALBASE}/include directory directly (but ${LOCALBASE}/include/assimp-3.2), because source code of other ports may search, for example, assimp/version.h header file, which may ignore includedir location from assimp.pc, if ${LOCALBASE}/include was used before. This also requires to remove "/assimp" from includedir variable of assimp.pc.in file, because even assimp's source code searches assimp/version.h, but not version.h:
https://github.com/assimp/assimp/blob/644d6a9a677d0704c8135df33c3eb8bf242725b3/tools/assimp_cmd/Main.h#L59
Like in a assimp-config.cmake.in file:
https://github.com/assimp/assimp/blob/644d6a9a677d0704c8135df33c3eb8bf242725b3/assimp-config.cmake.in#L49
Comment 6 Danilo Egea Gondolfo freebsd_committer freebsd_triage 2016-05-15 16:58:54 UTC
I've tested this version of assimp with doomsday and it just works. There is no need for rebuild doomsday, btw. I've played Hexen, doom and heretic for a while and it runs fine. Let's wait the assimp's maintainer considerations.
Comment 7 lightside 2016-05-15 18:29:40 UTC
Comment on attachment 170087 [details]
Patch for games/doomsday (since 412346 revision)

(In reply to comment #6)
> I've tested this version of assimp with doomsday and it just works.
Good.

(In reply to comment #6)
> There is no need for rebuild doomsday, btw.
Ok, the proposed patch for games/doomsday (attachment 170087 [details]) removed. I think, you meant the same library dependency (libassimp.so.3 link). I also tested this variant: it works for doomsday compiled with assimp v3.1.1 and then updated v3.2 without doomsday recompile. However, this doesn't work for games/pioneer, because of following error:
/usr/local/bin/pioneer: Undefined symbol "_ZN6Assimp8Importer18SetPropertyIntegerEPKciPb"
There is a dependent PR (bug 209357) for this.
Comment 8 lightside 2016-06-08 21:13:15 UTC
(In reply to comment #6)
> Let's wait the assimp's maintainer considerations.
There are no public assimp's maintainer considerations for over a month. Is this qualified as maintainer timeout?

There were previous maintainer timeouts, for reference: ports r413789, ports r411981.
Comment 9 Kurt Jaeger freebsd_committer freebsd_triage 2016-06-12 13:22:18 UTC
testbuilds@work.

third time maintainer timeout, any volunteers ?
Comment 10 Kurt Jaeger freebsd_committer freebsd_triage 2016-06-12 13:23:19 UTC
(In reply to lightside from comment #8)
Yes, it's a maintainer timeout. Time to reset the maintainer.
Comment 11 Kurt Jaeger freebsd_committer freebsd_triage 2016-06-12 13:27:21 UTC
testbuilds are OK
Comment 12 lightside 2016-06-12 16:33:30 UTC
(In reply to Kurt Jaeger from comment #9)
> any volunteers ?
No, thanks, in my case.
Comment 13 commit-hook freebsd_committer freebsd_triage 2016-06-12 18:24:23 UTC
A commit references this bug:

Author: pi
Date: Sun Jun 12 18:23:28 UTC 2016
New revision: 416818
URL: https://svnweb.freebsd.org/changeset/ports/416818

Log:
  multimedia/assimp: 3.1.1 -> 3.2

  Changes:
    https://github.com/assimp/assimp/compare/v3.1.1...v3.2
  - Use source code from GitHub
  - Remove check for zzip-zlib-config from cmake-modules/FindZLIB.cmake file
  - Remove usage of git from CMakeLists.txt file
  - Use sed patch to delete minizip check, instead of static patch
  - Use patch for pstdint.h file to update it to newer version, which
    fixes build on FreeBSD
  - Update pkg-plist file
  - maintainer reset after three maintainer timeouts

  PR:		209356
  Submitted by:	lightside@gmx.com
  Approved by:	yuri@tsoft.com (maintainer timeout)

Changes:
  head/multimedia/assimp/Makefile
  head/multimedia/assimp/distinfo
  head/multimedia/assimp/files/patch-CMakeLists.txt
  head/multimedia/assimp/files/patch-include_assimp_Compiler_pstdint.h
  head/multimedia/assimp/pkg-plist
Comment 14 Kurt Jaeger freebsd_committer freebsd_triage 2016-06-12 18:25:04 UTC
Committed, thanks!
Comment 15 commit-hook freebsd_committer freebsd_triage 2016-06-13 06:14:14 UTC
A commit references this bug:

Author: pi
Date: Mon Jun 13 06:13:44 UTC 2016
New revision: 416829
URL: https://svnweb.freebsd.org/changeset/ports/416829

Log:
  multimedia/assimp: fix MAINTAINER adress

  PR:		209356
  Submitted by:	Yuri Victorovich <yuri@rawbw.com> (old and new maintainer)

Changes:
  head/multimedia/assimp/Makefile