Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 347707 - New ebuild: media-gfx/photivo
Summary: New ebuild: media-gfx/photivo
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Marios Andreopoulos
URL:
Whiteboard:
Keywords: EBUILD, InVCS
: 436116 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-12-04 11:01 UTC by Marios Andreopoulos
Modified: 2012-12-09 13:20 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
photivo-9999.ebuild (photivo-9999.ebuild,672 bytes, text/plain)
2010-12-04 11:03 UTC, Marios Andreopoulos
Details
photivo 9999 ebuild (photivo-9999.ebuild,695 bytes, text/plain)
2011-05-17 16:36 UTC, Marios Andreopoulos
Details
media-gfx/photivo ebuild (photivo-9999.ebuild,706 bytes, text/plain)
2011-12-12 10:29 UTC, Alex Domingo
Details
photivo 9999 ebuild (photivo-9999.ebuild,903 bytes, text/plain)
2011-12-16 20:18 UTC, Marios Andreopoulos
Details
photivo 9999 ebuild (photivo-9999.ebuild,1.01 KB, text/plain)
2011-12-19 19:11 UTC, Marios Andreopoulos
Details
photivo-20121006.ebuild (photivo-20121006.ebuild,1.32 KB, text/plain)
2012-12-05 11:25 UTC, Marios Andreopoulos
Details
photivo-20121006-r1.ebuild (photivo-20121006-r1.ebuild,1.30 KB, text/plain)
2012-12-09 11:15 UTC, Marios Andreopoulos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marios Andreopoulos 2010-12-04 11:01:16 UTC
This is a basic ebuild for photivo.

Photivo is a multiplatform open source RAW photo processor written in Qt4.
Its features are at least on a par with its competitors' features and it definitely deserves a look.
You can find more information about it here: http://www.photivo.org

I haven't much experience writing ebuilds so my work may be bad. It works well for my system though.
If anyone wants to enhance it, please feel free to do so.

Reproducible: Always
Comment 1 Marios Andreopoulos 2010-12-04 11:03:14 UTC
Created attachment 256303 [details]
photivo-9999.ebuild
Comment 2 Markos Chandras (RETIRED) gentoo-dev 2010-12-04 11:33:12 UTC
Since there are no tarballs for this one I highly doubt it can make it to portage tree. However it looks like a good candidate for qting-edge overlay
Comment 3 Marios Andreopoulos 2010-12-04 12:00:29 UTC
The developer does a rolling release (like mplayer) and since the software looks stable and his work seems mostly focused on implementing new (often cutting edge) algorithms in raw/image processing it made more sense to me to create a live ebuild rather than an ebuild for a snapshot.

I know it isn't fitted for the portage tree but at least from bugzilla (or an overlay) it is easily accessible for anyone interested.
Comment 4 Markos Chandras (RETIRED) gentoo-dev 2010-12-04 12:10:52 UTC
Moved in qting-edge

http://gitorious.org/gentoo-qt/qting-edge/blobs/master/media-gfx/photivo/photivo-9999.ebuild
Comment 5 Marios Andreopoulos 2010-12-04 12:59:33 UTC
Thanks!
Comment 6 Marios Andreopoulos 2011-05-17 16:36:55 UTC
Created attachment 273683 [details]
photivo 9999 ebuild

Hello! Here is an updated ebuild for photivo.

It only has a small change, it explicit sets the development branch that will be used for the source to default.

I noticed that sometimes photivo couldn't emerge. It turned out that by default, portage downloads the current head of the source code. In photivo's case though, the current head doesn't always show to the default branch but it can also show to experimental branches which aren't yet ready to compile.
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2011-05-17 16:45:28 UTC
Thank you. I updated the ebuild :)
Comment 8 Alex Domingo 2011-08-07 16:59:44 UTC
I had to make some changes to this ebuild to be able to emerge photivo on my system (amd64):

- dev-util/ccache added to DEPEND
- media-libs/jpeg:62 changed to virtual/jpeg
- media-libs/liblqr added as dependency (it is required for the geometry tool)

Additionally I removed the version drequirements of media-libs/libpng and media-libs/tiff to just work with portage stable versions of those packages.

The compilation went fine I photivo launches now.

Thanks for the ebuild!
Comment 9 Alex Domingo 2011-12-12 10:29:28 UTC
Created attachment 295537 [details]
media-gfx/photivo ebuild

On recent releases of photivo there's an incompatibility between its dependency to media-libs/lcms:2 and its other dependency to media-gfx/graphicsmagick if the later is compiled with lcms support (which uses lcms:1). Therefore, it is necessary to change the line about media-gfx/graphicsmagick in the photivo ebuild to 

media-gfx/graphicsmagick[q16,-lcms]

I uploaded and an updated ebuild with the later changes.
Comment 10 Marios Andreopoulos 2011-12-16 20:18:31 UTC
Created attachment 296075 [details]
photivo 9999 ebuild

This is an updated version of the ebuild for photivo.

Changes:
- Added support for the GIMP plugins (export and import)
- Fixed the graphicsmagick use flag newer dependency ( -lcms )
- Added support for both libjpeg-turbo and jpeg:62 as I personally tested it with the first.
- Added liblqr dependency.


@Alex Domingo
Thank you for your help!
Indeed graphicsmagick needed changes (-lcms) and also liblqr is now a dependency.
I hesitate to use virtual/jpeg though because photivo's developer explicitly requests jpeg:62. Since I am using libjpegturbo without problems I can recommend this one too. This is the reason I didn't adopt other parts of your ebuild where you removed the explicit versions of some ebuilds despite photivo's developer guidelines.
Also, ccache shouldn't be used as a dependency. It is a dependency for Gentoo's build system. If you have enabled ccache in your make.conf, then it will be automatically used to speed up photivo's build.
Comment 11 Alex Domingo 2011-12-19 16:44:44 UTC
Comment on attachment 295537 [details]
media-gfx/photivo ebuild

That's ok :)

I understand that adding ccache as a dependency is not the best thing to do and ccache should be set up in make.conf. However, photivo does not compile at all without it and, therefore, the ebuild should have "something" to require ccache at some point. Because if not people without ccache will not be able to get photivo running on their systems. What I'm missing?
Comment 12 Davide Pesavento (RETIRED) gentoo-dev 2011-12-19 17:43:15 UTC
A few comments:

 - EHG_* variables should be set before inheriting mercurial eclass
 - does it really need SLOT "1.2" of libpng?
 - we have virtual/jpeg to simplify the dependency
 - qt4-r2.eclass already calls eqmake4 in src_configure()
 - it doesn't build without ccache?!? is it a joke?
Comment 13 Marios Andreopoulos 2011-12-19 19:11:31 UTC
Created attachment 296379 [details]
photivo 9999 ebuild

This is a newer version of the ebuild which drops the hard coded dependency of ccache from the source code.
Also I removed the src_configure() section since it isn't actually needed.


@ Alex Domingo 
You were correct! Since I had ccache installed on my system, I didn't came up with this error. With the new ebuild I strip the ccache string from the source code and now photivo can compile without ccache. :)


@ Davide Pesavento
1.
I am not a Gentoo developer, so I don't really know much, but I ran this command on my system: 
grep -C7 -R -E "EHG_REPO_URI|EHG_REVISION" /usr/portage/
The 10 first official ebuilds that came up before I interrupted it, had the EHG_* variables set after inheriting the mercurial eclass.
2.
I am not really sure if this is a hard dependency. Since I hadn't the time to find out, I followed the developer's instructions, available here:
http://photivo.org/photivo/download_and_setup/linux
3.
For the same reason as above, I didn't use virtual/jpeg.
4.
You are correct, I removed the src_configure() function.
5.
As it turns out it isn't a joke. On this version I resorted to sed'ing out the ccache string from the source.
Comment 14 Alex Domingo 2011-12-20 11:54:41 UTC
Great! Working here without ccache now :)

Thank you
Comment 15 Markos Chandras (RETIRED) gentoo-dev 2011-12-30 09:12:51 UTC
Thanks. new ebuild now in qting-edge overlay
Comment 16 Serge Gavrilov 2012-02-24 13:48:04 UTC
Compiles and works in ~x86. Please, add keyword.
Comment 17 Davide Pesavento (RETIRED) gentoo-dev 2012-02-24 13:57:05 UTC
(In reply to comment #16)
> Compiles and works in ~x86. Please, add keyword.

We do not keyword live (i.e. -9999) ebuilds. Ever.
Comment 18 Jeroen Roovers (RETIRED) gentoo-dev 2012-09-24 18:30:38 UTC
*** Bug 436116 has been marked as a duplicate of this bug. ***
Comment 19 Carlo Caponi 2012-09-24 19:04:14 UTC
Actually fails to compile!!
Comment 20 Markos Chandras (RETIRED) gentoo-dev 2012-09-25 08:40:08 UTC
(In reply to comment #19)
> Actually fails to compile!!

It is a live ebuild. What did you expect?
Comment 21 Marios Andreopoulos 2012-09-25 10:12:41 UTC
I just tried it and compiles without problems. Maybe in the weekend I should try to tag a snapshot (like photivo-20120930) and use it as a testing ebuild?
Comment 22 Markos Chandras (RETIRED) gentoo-dev 2012-09-25 10:38:06 UTC
(In reply to comment #21)
> I just tried it and compiles without problems. Maybe in the weekend I should
> try to tag a snapshot (like photivo-20120930) and use it as a testing ebuild?

Well in this case we can actually push it to portage. It just puzzles me that upstream hasn't released anything yet (or even tag a 'stable' code?)
Comment 23 Ben de Groot (RETIRED) gentoo-dev 2012-09-26 06:56:53 UTC
(In reply to comment #22)
> (In reply to comment #21)
> > I just tried it and compiles without problems. Maybe in the weekend I should
> > try to tag a snapshot (like photivo-20120930) and use it as a testing ebuild?
> 
> Well in this case we can actually push it to portage. It just puzzles me
> that upstream hasn't released anything yet (or even tag a 'stable' code?)

As a matter of policy, we don't push live ebuilds to portage. We keep them in the overlay. A snapshot ebuild is the right way to go.
Comment 24 Markos Chandras (RETIRED) gentoo-dev 2012-09-26 07:22:57 UTC
(In reply to comment #23)
> (In reply to comment #22)
> > (In reply to comment #21)
> > > I just tried it and compiles without problems. Maybe in the weekend I should
> > > try to tag a snapshot (like photivo-20120930) and use it as a testing ebuild?
> > 
> > Well in this case we can actually push it to portage. It just puzzles me
> > that upstream hasn't released anything yet (or even tag a 'stable' code?)
> 
> As a matter of policy, we don't push live ebuilds to portage. We keep them
> in the overlay. A snapshot ebuild is the right way to go.

Yes I was referring to the snapshot one. If we create a snapshot one then we can also push the live one as well (if needed)
Comment 25 Marios Andreopoulos 2012-12-05 11:25:50 UTC
Created attachment 331516 [details]
photivo-20121006.ebuild

Sorry it took me so long.

Since photivo doesn't have versions, I decided to follow the windows binaries' releases.

Thus, this is the latest ‘stable’ version.

I added dependencies to greycstoration and lapack.
Also added (versionless) dependencies to png and tiff.
I switched the jpeg dependency to virtual/jpeg. The problem until now, was an incompatibility between jpeg8 and tiff (nothing to do with photivo). But, if there was such a problem, then portage wouldn't let us install both of them.

Unfortunately we still have a dependency on Cimg, which is available only from the Qt overlay, so I don't know how easy is to get Photivo in portage.
Comment 26 Markos Chandras (RETIRED) gentoo-dev 2012-12-09 09:50:54 UTC
(In reply to comment #25)
> Created attachment 331516 [details]
> photivo-20121006.ebuild
> 
> Sorry it took me so long.

No worries :)
> 
> Since photivo doesn't have versions, I decided to follow the windows
> binaries' releases.
> 
> Thus, this is the latest ‘stable’ version.

Would it be possible to get a tar.gz for that instead of a hg checkout of a specific revision? I can host it in my devspace if you provide one :)

> 
> 
> Unfortunately we still have a dependency on Cimg, which is available only
> from the Qt overlay, so I don't know how easy is to get Photivo in portage.

Ok, I just bumped it and moved it to gentoo cvs tree :)
Comment 27 Marios Andreopoulos 2012-12-09 11:15:41 UTC
Created attachment 331868 [details]
photivo-20121006-r1.ebuild

This is the version of the ebuild that uses an archive instead of mercurial.

I didn't know much about mercurial but it was easy to figure it out, so for anyone interested doing the same thing, an example with the mentioned revision (2956f6a8eb98) of Photivo:

$ hg clone -r2956f6a8eb98 https://photivo.googlecode.com/hg
$ rm -r hg/.hg
$ tar czf photivo-20121006.tar.gz hg

Markos I know you will probably create the archive yourself for security reasons, but I uploaded it just in case:
http://www.andmarios.com/attachments/photivo-20121006.tar.gz
Comment 28 Markos Chandras (RETIRED) gentoo-dev 2012-12-09 12:16:51 UTC
(In reply to comment #27)
> Created attachment 331868 [details]
> photivo-20121006-r1.ebuild
> 
> This is the version of the ebuild that uses an archive instead of mercurial.
> 
> I didn't know much about mercurial but it was easy to figure it out, so for
> anyone interested doing the same thing, an example with the mentioned
> revision (2956f6a8eb98) of Photivo:
> 
> $ hg clone -r2956f6a8eb98 https://photivo.googlecode.com/hg
> $ rm -r hg/.hg
> $ tar czf photivo-20121006.tar.gz hg
> 
> Markos I know you will probably create the archive yourself for security
> reasons, but I uploaded it just in case:
> http://www.andmarios.com/attachments/photivo-20121006.tar.gz

Hi Marios,

I did a couple of modifications and committed it

1) renamed ebuild from 20121006 to 0_pre20121006 which is the standard version scheme for packages without official versions.
2) Changed ${PN}-${PV} to ${P}
3) added qt4-r2_src_prepare to src_prepare

+*photivo-0_pre20121006 (09 Dec 2012)
+*photivo-9999 (09 Dec 2012)
+
+  09 Dec 2012; Markos Chandras <hwoarang@gentoo.org> +metadata.xml,
+  +photivo-0_pre20121006.ebuild, +photivo-9999.ebuild:
+  Initial commit for photivo. Move live ebuild from qt overlay. Bug #347707.
+  Thanks to Marios Andreopoulos <opensource@andmarios.com>
Comment 29 Marios Andreopoulos 2012-12-09 13:20:44 UTC
Thanks! I will remember them for the next update.

I saw you also updated and pushed cimg. Great! :D