Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 514696 - www-client/opera-developer - chrome/webkit/blink based web browser
Summary: www-client/opera-developer - chrome/webkit/blink based web browser
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jeroen Roovers (RETIRED)
URL: http://blogs.opera.com/desktop/2014/0...
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2014-06-23 15:28 UTC by Jeroen Roovers (RETIRED)
Modified: 2014-08-20 16:08 UTC (History)
14 users (show)

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


Attachments
opera-developer-24.0.1537.0.ebuild (opera-developer-24.0.1537.0.ebuild,1.64 KB, text/plain)
2014-06-23 15:28 UTC, Jeroen Roovers (RETIRED)
Details
opera-developer-24.0.1543.0.ebuild (opera-developer-24.0.1543.0.ebuild,1.66 KB, text/plain)
2014-06-26 22:41 UTC, Jeroen Roovers (RETIRED)
Details
opera-developer-24.0.1555.0.ebuild (opera-developer-24.0.1555.0.ebuild,1.76 KB, text/plain)
2014-07-09 00:27 UTC, Jeroen Roovers (RETIRED)
Details
opera-developer-24.0.1558.3.ebuild (opera-developer-24.0.1558.3.ebuild,1.77 KB, text/plain)
2014-07-16 00:10 UTC, Amy Nagle
Details
opera-developer-24.0.1558.21.ebuild (opera-developer-24.0.1558.21.ebuild,1.84 KB, text/plain)
2014-07-29 00:05 UTC, Amy Nagle
Details
opera-developer-25.0.1592.0.ebuild (opera-developer-25.0.1592.0.ebuild,1.83 KB, text/plain)
2014-08-06 22:23 UTC, Jeroen Roovers (RETIRED)
Details
opera-developer-25.0.1597.0.ebuild (opera-developer-25.0.1597.0.ebuild,1.85 KB, text/plain)
2014-08-20 15:47 UTC, Jeroen Roovers (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Roovers (RETIRED) gentoo-dev 2014-06-23 15:28:01 UTC
Created attachment 379496 [details]
opera-developer-24.0.1537.0.ebuild

Currently only supported on Debian/Ubuntu amd64 and it has some nasty dependencies on dev-libs/openssl-1.0.0* and something providing libudev.so.0.

So basically this won't work at all. :)
Comment 1 James Le Cuirot gentoo-dev 2014-06-24 13:02:52 UTC
They say libudev.so.1 should work too but not sure what to do about OpenSSL.

https://gist.github.com/ruario/99522c94838d0680633c
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2014-06-24 13:12:15 UTC
Yes, symlinking libudev.so.0 to libudev.so.1 _seems_ to work.

You can downgrade to =dev-libs/openssl-1.0.0* and perhaps that will work.

The attached ebuild doesn't set opera_sandbox as setuid, though.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2014-06-26 22:41:28 UTC
Created attachment 379760 [details]
opera-developer-24.0.1543.0.ebuild

New version... This one prevents installing the "copyright" file. The actual LICENSE variable is currently invalid, of course. The libudev.so.0 problem persists so far, and probably other issues.
Comment 4 Stefan G. Weichinger 2014-07-02 17:56:59 UTC
ad libudev, this works for me:

ln -s /usr/lib64/libudev.so.1 /usr/lib64/opera-developer/lib/libudev.so.0

Why not add it to the ebuild?
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2014-07-02 21:00:31 UTC
(In reply to Stefan G. Weichinger from comment #4)
> ln -s /usr/lib64/libudev.so.1 /usr/lib64/opera-developer/lib/libudev.so.0
> 
> Why not add it to the ebuild?

Because it's a really silly idea?
Comment 6 Stefan G. Weichinger 2014-07-02 21:02:43 UTC
(In reply to Jeroen Roovers from comment #5)
> (In reply to Stefan G. Weichinger from comment #4)
> > ln -s /usr/lib64/libudev.so.1 /usr/lib64/opera-developer/lib/libudev.so.0
> > 
> > Why not add it to the ebuild?
> 
> Because it's a really silly idea?

shame on me. That's why I am no dev, right? ;)
Comment 7 Rafał Kłys 2014-07-08 18:14:50 UTC
(In reply to Jeroen Roovers from comment #5)
> (In reply to Stefan G. Weichinger from comment #4)
> > ln -s /usr/lib64/libudev.so.1 /usr/lib64/opera-developer/lib/libudev.so.0
> > 
> > Why not add it to the ebuild?
> 
> Because it's a really silly idea?

This is what currently Opera does in provided deb (in control/postinst script inside archive), so even if silly, still is the only way supported upstream. Also ebuild could add subslot dependency to libudev, to at least have a way to detect possible theoretical break in future
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2014-07-09 00:27:36 UTC
Created attachment 380468 [details]
opera-developer-24.0.1555.0.ebuild

This one should properly install the improper symlink.

--- opera-developer-24.0.1543.0.ebuild  2014-06-26 20:57:40.000000000 +0200
+++ opera-developer-24.0.1555.0.ebuild  2014-07-09 02:23:12.000000000 +0200
@@ -15,7 +15,6 @@
 LICENSE="OPERA-2014"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE=""

 DEPEND="app-arch/deb2targz"
 RDEPEND="
@@ -79,5 +78,7 @@
 src_install() {
        cp -a * "${D}" || die
        dosym ../$(get_libdir)/${PN}/opera /usr/bin/${PN}
+       dodir /usr/$(get_libdir)/${PN}/lib
+       dosym /$(get_libdir)/libudev.so.1 /usr/$(get_libdir)/${PN}/lib/libudev.so.0
        fperms 4711 /usr/$(get_libdir)/${PN}/opera_sandbox
 }
Comment 9 Paweł Rumian 2014-07-09 23:30:23 UTC
gnome-base/gconf dependency is missing:

opera-developer: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2014-07-14 03:37:51 UTC
(In reply to Alexandre from comment #10)
> New version out:
> ftp://ftp.opera.com/pub/opera-developer/24.0.1555.0/linux/opera-developer_24.
> 0.1555.0_amd64.deb

Attachment #380468 [details].
Comment 12 Amy Nagle 2014-07-16 00:10:44 UTC
Created attachment 380784 [details]
opera-developer-24.0.1558.3.ebuild

Opera released a minor version bump to fix some OpenSSL issues. I've also made a few small changes to the ebuild. 

First, I bumped the openssl requirement to 1.0.1. I looked at the the deb package requirements and compared it to what is available in Ubuntu. The only versions of libssl1.0.0 in the repositories are >=1.0.1. Considering Opera said on their blog that they've only tested against Ubuntu, I think it's safe to use openssl-1.0.1* in the dependancies.

Opera's *.pak files use hypens to separate a region in a localization (en-US) while the portage LINGUAS uses underscores (en_US). I've changed line 68 to accordingly.

--- opera-developer-24.0.1555.0.ebuild
+++ opera-developer-24.0.1558.3.ebuild
@@ -21,7 +21,7 @@
 	dev-libs/glib:2
 	dev-libs/nspr
 	dev-libs/nss
-	=dev-libs/openssl-1.0.0*
+	=dev-libs/openssl-1.0.1*
 	media-libs/alsa-lib
 	sys-apps/dbus
 	sys-libs/libcap
@@ -64,7 +64,7 @@
 		)
 		local o_l
 		for o_l in ${linguas}; do
-			if ! has ${o_l} ${LINGUAS}; then
+			if ! has ${o_l/-/_} ${LINGUAS}; then
 				rm ${o_l_path}/${o_l}.pak || die
 			fi
 		done
Comment 13 Amy Nagle 2014-07-16 00:19:51 UTC
I forgot to link this in my previous comment. Here's a list of openssl versions available in Ubuntu: http://packages.ubuntu.com/search?keywords=libssl1.0.0
Comment 14 Alexandre 2014-07-18 14:09:44 UTC
Please, add gnome-base/gconf as dependency.

Thanks! :D
Comment 15 Marko Pavlovic 2014-07-25 21:02:50 UTC
I'm getting this error when I'm trying to run opera-developer from terminal:

$ opera-developer 
[0725/224337:ERROR:simple_message_box_views.cc(225)] Unable to show a dialog outside the UI thread message loop: Opera - At least one file with resources (.pak) is corrupted or unavailable. Please reinstall Opera.
[0725/224338:ERROR:ui_stubs.cc(58)] Not implemented reached in views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate*, gfx::NativeWindow)
Segmentation fault

I'm running:

$ opera-developer --help
Opera 24.0.1558.3 Developer
Features available through command-line switches:
...

My arch is x86_64.
Comment 16 Amy Nagle 2014-07-25 23:31:35 UTC
What LINGUAS do you have set in your make.conf? If you have LINGUAS set then any *.pak files that don't match are removed.
Comment 17 Beelzebubbie 2014-07-28 07:02:47 UTC
I have same «At least one file with resources (.pak) is corrupted or unavailable» error. My LINGUAS="en ru". This error goes away after manual unpacking en-{GB,US}.pak files into localization directory.

Seems that «clean-up logic» needs to be extended to properly process common «en» (and other) locales.
Comment 18 Amy Nagle 2014-07-28 14:03:34 UTC
Considering Opera is now based on Chrome, it may be a good idea to look at the chromium eclass. Chrome/Chromium have to do the same LINGUAS checks, and it's highly possible that there are other checks this ebuild isn't doing that it should be.

If we can't use the eclass, then we should at least extract the CHROMIUM_LANGS logic.
Comment 19 kc0 2014-07-28 18:00:01 UTC
The ebuild renamed as opera-developer-24.0.1558.21.ebuild works for me with this new version of opera-developer.
Comment 20 Amy Nagle 2014-07-29 00:05:29 UTC
Created attachment 381750 [details]
opera-developer-24.0.1558.21.ebuild

Version bumped to 24.0.1558.21.

This ebuild also adds the missing dependency on gnome-base/gconf and has been slightly modified to use chromium.eclass. The eclass inheritance should solve the LINGUAS *.pak issues.
Comment 21 Jeroen Roovers (RETIRED) gentoo-dev 2014-08-06 22:23:49 UTC
Created attachment 382414 [details]
opera-developer-25.0.1592.0.ebuild

Based on the previous one.
Comment 22 Jeroen Roovers (RETIRED) gentoo-dev 2014-08-20 15:47:55 UTC
Created attachment 383206 [details]
opera-developer-25.0.1597.0.ebuild
Comment 23 Jeroen Roovers (RETIRED) gentoo-dev 2014-08-20 16:08:25 UTC
25.0.1597.0 is in the tree. Thanks, everyone!