Merge pull request #70329 from worldofpeace/wrapgapps-opera
opera: use autoPatchelfHook, use wrapGAppsHook
This commit is contained in:
commit
2d9eb21602
@ -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,21 +56,61 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
|
||||
|
||||
installPhase = ''
|
||||
mkdir --parent $out
|
||||
mv * $out/
|
||||
mv $out/lib/*/opera/*.so $out/lib/
|
||||
'';
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
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
|
||||
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 -p $out
|
||||
cp -r . $out/
|
||||
mv $out/lib/*/opera/*.so $out/lib/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
Loading…
Reference in New Issue
Block a user