[Nix-dev] patchelf 0.3 better suited for opera than 0.4?

Marc Weber marco-oweber at gmx.de
Sat Sep 27 02:46:24 CEST 2008


The attached patch makes opera compile again and it's not beeing
killed.. What does it do? It's using paatchelf-0.3 !

So what has changed?

Shall I commit this patch or should we fix patchelf?
Still unsure what is going on here exactly...
You'll need the last comitted patch making opera build again.

Marc

============= patch ==================================================
diff --git a/pkgs/applications/networking/browsers/opera/default.nix
b/pkgs/applications/networking/browsers/opera/default.nix
index 2adcf92..7ef360e 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE,
libstdcpp5, glibc
-, motif ? null, libXt ? null}:
+, motif ? null, libXt ? null, patchelfOld}:
 
 assert motif != null -> libXt != null;
 
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
         #sha256 =
"1wnc1s4r5gz73mxs8pgsi9a1msz7x8a8pb1ykb1xgdfn21h69p2p";
       } else throw "unsupported platform ${stdenv.system} (only
i686-linux and x86_64 linux supported yet)";
 
+  buildInputs = [ patchelfOld ];
   # operapluginwrapper seems to require libXt ?
   # Adding it makes startup faster and omits error messages (on x68)
   libPath =
diff --git a/pkgs/development/tools/misc/patchelf/old.nix
b/pkgs/development/tools/misc/patchelf/old.nix
new file mode 100644
index 0000000..456304d
--- /dev/null
+++ b/pkgs/development/tools/misc/patchelf/old.nix
@@ -0,0 +1,15 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "patchelf-0.3";
+  src = fetchurl {
+    url = http://nix.cs.uu.nl/dist/nix/patchelf-0.3/patchelf-0.3.tar.bz2;
+    md5 = "20d77052ae559c60e6c5efb6ea95af9b";
+  };
+
+  meta = {
+    homepage = http://nixos.org/patchelf.html;
+    license = "GPL";
+    description = "A small utility to modify the dynamic linker and
RPATH of ELF executables";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix
b/pkgs/top-level/all-packages.nix
index 1f3f426..5f774d3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2316,6 +2316,10 @@ let pkgs = rec {
       inherit fetchurl stdenv;
     });
 
+  patchelfOld = (import ../development/tools/misc/patchelf/old.nix {
+      inherit fetchurl stdenv;
+  });
+
   pmccabe = import ../development/tools/misc/pmccabe {
     inherit fetchurl stdenv;
   };
@@ -6438,7 +6442,7 @@ let pkgs = rec {
   };
 
   opera = import ../applications/networking/browsers/opera {
-    inherit fetchurl zlib glibc stdenv;
+    inherit fetchurl zlib glibc stdenv patchelfOld;
 # stdenv = overrideGCC stdenv gcc40;
     inherit (xlibs) libX11 libSM libICE libXt libXext;
     qt = qt3;




More information about the nix-dev mailing list