Opened 6 years ago
Closed 6 years ago
#56806 closed enhancement (fixed)
inkscape-devel : use CMake (and a few other improvements)
Reported by: | RJVB (René Bertin) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | haspatch | Cc: | |
Port: | inkscape-devel |
Description
Building Inkscape on Linux I noticed that it now uses CMake and preserves the autoconf-based build only for "just in case".
The use of cmake has a few advantages:
- faster configure (no more autoreconf)
- faster build when using Ninja
- easier maintainability because of an out-of-source build directory
The attached patch converts the port to use cmake for building and as far as I can tell it indeed makes the build faster and less resource-hungry (thanks to using Ninja instead of make). The only user-visible effect of this change is the loss of the +strict variant which hasn't been ported to cmake. It was never entirely clear to me what interest this variant had and apparently the Inkscape team wasn't too convinced about this option either.
A few other (strongly) suggested improvements:
- use
git describe
instead of the date of the last commit (which isn't guaranteed to be unique, nor even monotonically increasing ) - declare explicit dependencies on libomp and glibmm which I think were missing
- define the +gtk3 variant so it can actually be used
And a maintainer convenience tweak I use all the time:
- make
worksrcdir
unversioned; I'm guessing the port maintainer doesn't clone the entire 1.5Gb or so each time he builds a new version so why not make it easy to reuse the source directory.
Attachments (4)
Change History (14)
Changed 6 years ago by RJVB (René Bertin)
Attachment: | Inkscape-devel.patch added |
---|
comment:1 Changed 6 years ago by RJVB (René Bertin)
Changed 6 years ago by RJVB (René Bertin)
Attachment: | inkscape-devel.patch added |
---|
Changed 6 years ago by RJVB (René Bertin)
Attachment: | patch-inkscape_base_rpath.diff added |
---|
comment:2 Changed 6 years ago by RJVB (René Bertin)
I'd forgotten a crucial patch for a bug I reported upstream (https://bugs.launchpad.net/inkscape/+bug/1781701).
While we're at it we can just as well upgrade the port to the latest development version which has a few potentially useful fixes.
Changed 6 years ago by RJVB (René Bertin)
Attachment: | patch-inkscape_base_rpath.2.diff added |
---|
comment:3 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
I see that your patch removes configure.python ${prefix}/bin/python2.7
from the Portfile, but there's still a dependency on py27-lxml and py27-numpy. By what means does the build system now know that it should use MacPorts Python 2.7?
comment:4 Changed 6 years ago by dbevans (David B. Evans)
Owner: | set to dbevans |
---|---|
Status: | new → accepted |
Thanks for your input @RJVB. Currently I'm in the process of updating/reorganizing the inkscape related ports and am reviewing your suggestions. Will update here as your comments intersect that process. WIP/TBD for now.
comment:5 Changed 6 years ago by dbevans (David B. Evans)
comment:6 Changed 6 years ago by dbevans (David B. Evans)
comment:7 Changed 6 years ago by mf2k (Frank Schima)
Cc: | dbevans removed |
---|
comment:8 Changed 6 years ago by dbevans (David B. Evans)
comment:9 Changed 6 years ago by dbevans (David B. Evans)
comment:10 Changed 6 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
A propos that working copy size: it'd be great if clones were (could be) done with --
depth=1
. That way the .git directory is only about 29Mb after the checkout which is also a *lot* faster.