Merge pull request #60001 from eadwu/vivaldi/support-snapshots
vivaldi: support snapshots
This commit is contained in:
commit
b4d1d866ff
@ -7,21 +7,24 @@
|
|||||||
, glib, gtk3, pango, gdk_pixbuf, cairo, atk, at-spi2-atk, at-spi2-core, gnome2
|
, glib, gtk3, pango, gdk_pixbuf, cairo, atk, at-spi2-atk, at-spi2-core, gnome2
|
||||||
, nss, nspr
|
, nss, nspr
|
||||||
, patchelf, makeWrapper
|
, patchelf, makeWrapper
|
||||||
|
, isSnapshot ? false
|
||||||
, proprietaryCodecs ? false, vivaldi-ffmpeg-codecs ? null
|
, proprietaryCodecs ? false, vivaldi-ffmpeg-codecs ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
name = "${product}-${version}";
|
branch = if isSnapshot then "snapshot" else "stable";
|
||||||
product = "vivaldi";
|
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
pname = "vivaldi";
|
||||||
version = "2.4.1488.40-1";
|
version = "2.4.1488.40-1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
|
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
|
||||||
sha256 = "0w084mamy72v1kkfgg8nn2q3hmfj7v216kkvqb52f1nyycqqzb37";
|
sha256 = "0w084mamy72v1kkfgg8nn2q3hmfj7v216kkvqb52f1nyycqqzb37";
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
ar vx ${src}
|
ar vx $src
|
||||||
tar -xvf data.tar.xz
|
tar -xvf data.tar.xz
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -38,17 +41,17 @@ stdenv.mkDerivation rec {
|
|||||||
libPath = stdenv.lib.makeLibraryPath buildInputs
|
libPath = stdenv.lib.makeLibraryPath buildInputs
|
||||||
+ stdenv.lib.optionalString (stdenv.is64bit)
|
+ stdenv.lib.optionalString (stdenv.is64bit)
|
||||||
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs)
|
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs)
|
||||||
+ ":$out/opt/vivaldi/lib";
|
+ ":$out/opt/${vivaldiName}/lib";
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
echo "Patching Vivaldi binaries"
|
echo "Patching Vivaldi binaries"
|
||||||
patchelf \
|
patchelf \
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "${libPath}" \
|
--set-rpath "${libPath}" \
|
||||||
opt/vivaldi/vivaldi-bin
|
opt/${vivaldiName}/vivaldi-bin
|
||||||
'' + stdenv.lib.optionalString proprietaryCodecs ''
|
'' + stdenv.lib.optionalString proprietaryCodecs ''
|
||||||
sed -i '/^VIVALDI_FFMPEG_FOUND/ a \
|
sed -i '/^VIVALDI_FFMPEG_FOUND/ a \
|
||||||
checkffmpeg "${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so"' opt/vivaldi/vivaldi
|
checkffmpeg "${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so"' opt/${vivaldiName}/vivaldi
|
||||||
'' + ''
|
'' + ''
|
||||||
echo "Finished patching Vivaldi binaries"
|
echo "Finished patching Vivaldi binaries"
|
||||||
'';
|
'';
|
||||||
@ -60,16 +63,16 @@ stdenv.mkDerivation rec {
|
|||||||
mkdir -p "$out"
|
mkdir -p "$out"
|
||||||
cp -r opt "$out"
|
cp -r opt "$out"
|
||||||
mkdir "$out/bin"
|
mkdir "$out/bin"
|
||||||
ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi"
|
ln -s "$out/opt/${vivaldiName}/${vivaldiName}" "$out/bin/vivaldi"
|
||||||
mkdir -p "$out/share"
|
mkdir -p "$out/share"
|
||||||
cp -r usr/share/{applications,xfce4} "$out"/share
|
cp -r usr/share/{applications,xfce4} "$out"/share
|
||||||
substituteInPlace "$out"/share/applications/*.desktop \
|
substituteInPlace "$out"/share/applications/*.desktop \
|
||||||
--replace /usr/bin/vivaldi-stable "$out"/bin/vivaldi
|
--replace /usr/bin/${vivaldiName} "$out"/bin/vivaldi
|
||||||
local d
|
local d
|
||||||
for d in 16 22 24 32 48 64 128 256; do
|
for d in 16 22 24 32 48 64 128 256; do
|
||||||
mkdir -p "$out"/share/icons/hicolor/''${d}x''${d}/apps
|
mkdir -p "$out"/share/icons/hicolor/''${d}x''${d}/apps
|
||||||
ln -s \
|
ln -s \
|
||||||
"$out"/opt/vivaldi/product_logo_''${d}.png \
|
"$out"/opt/${vivaldiName}/product_logo_''${d}.png \
|
||||||
"$out"/share/icons/hicolor/''${d}x''${d}/apps/vivaldi.png
|
"$out"/share/icons/hicolor/''${d}x''${d}/apps/vivaldi.png
|
||||||
done
|
done
|
||||||
wrapProgram "$out/bin/vivaldi" \
|
wrapProgram "$out/bin/vivaldi" \
|
||||||
|
Loading…
Reference in New Issue
Block a user