about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorArseniy Seroka <jagajaga@users.noreply.github.com>2016-04-12 08:52:37 +0300
committerArseniy Seroka <jagajaga@users.noreply.github.com>2016-04-12 08:52:37 +0300
commite02debe165ef7984926cd9503cc8a358fda90b3b (patch)
tree73411827f0ffc33e24aad76cf5050aa5d73bd491 /pkgs
parentef37c57e4e46595347629ae410b84e7a1d4ebf30 (diff)
parentc6345de9f95012c5102370823fafc2cda6379a15 (diff)
downloadnixlib-e02debe165ef7984926cd9503cc8a358fda90b3b.tar
nixlib-e02debe165ef7984926cd9503cc8a358fda90b3b.tar.gz
nixlib-e02debe165ef7984926cd9503cc8a358fda90b3b.tar.bz2
nixlib-e02debe165ef7984926cd9503cc8a358fda90b3b.tar.lz
nixlib-e02debe165ef7984926cd9503cc8a358fda90b3b.tar.xz
nixlib-e02debe165ef7984926cd9503cc8a358fda90b3b.tar.zst
nixlib-e02debe165ef7984926cd9503cc8a358fda90b3b.zip
Merge pull request #14291 from otwieracz/vivaldi
vivaldi-snapshot: init at 1.0.430.3
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix77
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 79 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
new file mode 100644
index 000000000000..aeb1724d9633
--- /dev/null
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE
+, libXfixes, libXt, libXi, libXcursor, libXScrnSaver, libXcomposite, libXdamage, libXtst, libXrandr
+, alsaLib, dbus_libs, cups, libexif, ffmpeg, udev
+, freetype, fontconfig, libXft, libXrender, libxcb, expat, libXau, libXdmcp
+, libuuid, xz
+, gstreamer, gst_plugins_base, libxml2
+, glib, gtk, pango, gdk_pixbuf, cairo, atk, gnome3
+, nss, nspr
+, patchelf
+}:
+
+let
+  archUrl = name: arch: "https://vivaldi.com/download/stable/${name}_${arch}.deb";
+in
+stdenv.mkDerivation rec {
+  version    = "1.0";
+  debversion = "stable_1.0.435.40-1";
+  product    = "vivaldi";
+  name       = "${product}-${version}";
+
+  src = if stdenv.system == "x86_64-linux"
+    then fetchurl {
+      url    = archUrl "vivaldi-${debversion}" "amd64";
+      sha256 = "12c051a40258a95f9594eed2f73fa5f591482ac2a41d5cf643811b1ea2a1efbf";
+    }
+    else if stdenv.system == "i686-linux"
+    then fetchurl {
+      url    = archUrl "vivaldi-${debversion}" "i386";
+      sha256 = "6e0b84fba38211bab9a71bc10e97398fca77c0acd82791923c1d432b20846f0f";
+    }
+    else throw "Vivaldi is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
+
+  unpackPhase = ''
+    ar vx ${src}
+    tar -xvf data.tar.xz
+  '';
+
+  buildInputs =
+    [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE
+      libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr
+      atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg udev
+      freetype fontconfig libXrender libuuid expat glib nss nspr
+      gstreamer libxml2 gst_plugins_base pango cairo gnome3.gconf 
+      patchelf
+    ];
+
+  libPath = stdenv.lib.makeLibraryPath buildInputs
+    + stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
+      (":" + stdenv.lib.makeSearchPath "lib64" buildInputs);
+
+  buildPhase = ''
+    echo "Patching Vivaldi binaries"
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${libPath}" \
+    opt/vivaldi/vivaldi-bin
+    echo "Finished patching Vivaldi binaries"
+  '';
+
+  dontPatchELF = true;
+  dontStrip    = true;
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r opt "$out"
+    mkdir "$out/bin"
+    ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Browser for our Friends, powerful and personal";
+    homepage    = "https://vivaldi.com";
+    license     = licenses.unfree;
+    maintainers = with maintainers; [ otwieracz ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 817cb20464e4..52dce2de1f08 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13341,6 +13341,8 @@ in
     inherit (pkgs.kde4) kdelibs;
   };
 
+  vivaldi = callPackage ../applications/networking/browsers/vivaldi {};
+
   opusfile = callPackage ../applications/audio/opusfile { };
 
   opusTools = callPackage ../applications/audio/opus-tools { };