pythonV.V-selenium: from 2.52.0 to 3.6.0

This commit is contained in:
Raymond Gauthier 2017-11-02 23:26:49 -04:00
parent b2d6c63810
commit f07ae8902d
2 changed files with 51 additions and 30 deletions

View File

@ -0,0 +1,50 @@
{ lib
, stdenv
, fetchurl
, fetchFromGitHub
, buildPythonPackage
, geckodriver
, xorg
}:
buildPythonPackage rec {
name = "selenium-3.6.0";
src = fetchurl {
url = "mirror://pypi/s/selenium/${name}.tar.gz";
sha256 = "15qpvz0bdwjvpcj11fm0rw6r5inr66sqw89ww50l025sbhf04qwm";
};
buildInputs = [xorg.libX11];
propagatedBuildInputs = [
geckodriver
];
# Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some
# absolute paths. Replaced by relative path so it is found when used in nix.
x_ignore_nofocus =
fetchFromGitHub {
owner = "SeleniumHQ";
repo = "selenium";
rev = "selenium-3.6.0";
sha256 = "13wf4hx4i7nhl4s8xkziwxl0km1j873syrj4amragj6mpip2wn8v";
};
patchPhase = ''
cp "${x_ignore_nofocus}/cpp/linux-specific/"* .
substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${xorg.libX11.out}/lib/libX11.so.6"
gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
gcc -shared \
-Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \
-o x_ignore_nofocus.so \
x_ignore_nofocus.o
cp -v x_ignore_nofocus.so selenium/webdriver/firefox/${if stdenv.is64bit then "amd64" else "x86"}/
'';
meta = with lib; {
description = "The selenium package is used to automate web browser interaction from Python";
homepage = http://www.seleniumhq.org;
license = licenses.asl20;
maintainers = with maintainers; [ jraygauthier ];
};
}

View File

@ -18615,36 +18615,7 @@ in {
seaborn = callPackage ../development/python-modules/seaborn { };
selenium = buildPythonPackage rec {
name = "selenium-2.52.0";
src = pkgs.fetchurl {
url = "mirror://pypi/s/selenium/${name}.tar.gz";
sha256 = "0971rd9b8kb97xp9fvrwzvxr8vqfdjc020cs75n787ya82km01c2";
};
buildInputs = with self; [pkgs.xorg.libX11];
# Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some
# absolute paths. Replaced by relative path so it is found when used in nix.
x_ignore_nofocus =
pkgs.fetchFromGitHub {
owner = "SeleniumHQ";
repo = "selenium";
rev = "selenium-2.52.0";
sha256 = "1n58akim9np2jy22jfgichq1ckvm8gglqi2hn3syphh0jjqq6cfx";
};
patchPhase = ''
cp "${x_ignore_nofocus}/cpp/linux-specific/"* .
substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${pkgs.xorg.libX11.out}/lib/libX11.so.6"
gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
gcc -shared \
-Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \
-o x_ignore_nofocus.so \
x_ignore_nofocus.o
cp -v x_ignore_nofocus.so py/selenium/webdriver/firefox/${if pkgs.stdenv.is64bit then "amd64" else "x86"}/
'';
};
selenium = callPackage ../development/python-modules/selenium { };
serpy = callPackage ../development/python-modules/serpy { };