aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/browsers/opera/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/opera/default.nix116
1 files changed, 55 insertions, 61 deletions
diff --git a/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix b/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
index 062d2e6582b..b968c4f3d9d 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/opera/default.nix
@@ -36,60 +36,14 @@
, systemd
, at-spi2-atk
, at-spi2-core
+, autoPatchelfHook
+, wrapGAppsHook
}:
let
mirror = "https://get.geo.opera.com/pub/opera/desktop";
- rpath = lib.makeLibraryPath [
-
- # These provide shared libraries loaded when starting. If one is missing,
- # an error is shown in stderr.
- alsaLib.out
- atk.out
- cairo.out
- cups
- curl.out
- dbus.lib
- expat.out
- fontconfig.lib
- freetype.out
- gdk-pixbuf.out
- glib.out
- gnome2.GConf
- gtk3.out
- libX11.out
- libXScrnSaver.out
- libXcomposite.out
- libXcursor.out
- libXdamage.out
- libXext.out
- libXfixes.out
- libXi.out
- libXrandr.out
- libXrender.out
- libXtst.out
- libxcb.out
- libnotify.out
- libuuid.out
- nspr.out
- nss.out
- pango.out
- stdenv.cc.cc.lib
-
- # This is a little tricky. Without it the app starts then crashes. Then it
- # brings up the crash report, which also crashes. `strace -f` hints at a
- # missing libudev.so.0.
- systemd.lib
-
- # Works fine without this except there is no sound.
- libpulseaudio.out
-
- at-spi2-atk
- at-spi2-core
- ];
-
in stdenv.mkDerivation rec {
pname = "opera";
@@ -102,23 +56,63 @@ in stdenv.mkDerivation rec {
unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
+ nativeBuildInputs = [
+ autoPatchelfHook
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ alsaLib
+ at-spi2-atk
+ at-spi2-core
+ atk
+ cairo
+ cups
+ curl
+ dbus
+ expat
+ fontconfig.lib
+ freetype
+ gdk-pixbuf
+ glib
+ gnome2.GConf
+ gtk3
+ libX11
+ libXScrnSaver
+ libXcomposite
+ libXcursor
+ libXdamage
+ libXext
+ libXfixes
+ libXi
+ libXrandr
+ libXrender
+ libXtst
+ libnotify
+ libuuid
+ libxcb
+ nspr
+ nss
+ pango
+ stdenv.cc.cc.lib
+ ];
+
+ runtimeDependencies = [
+ # Works fine without this except there is no sound.
+ libpulseaudio.out
+
+ # This is a little tricky. Without it the app starts then crashes. Then it
+ # brings up the crash report, which also crashes. `strace -f` hints at a
+ # missing libudev.so.0.
+ systemd.lib
+ ];
+
installPhase = ''
- mkdir --parent $out
- mv * $out/
+ mkdir -p $out
+ cp -r . $out/
mv $out/lib/*/opera/*.so $out/lib/
'';
- postFixup = ''
- find $out -executable -type f \
- | while read f
- do
- patchelf \
- --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
- --set-rpath "$out/lib:${rpath}" \
- "$f"
- done
- '';
-
meta = with lib; {
homepage = "https://www.opera.com";
description = "Web browser";