From f07ae8902d09b8ebaf7d3c4d15081dc9edf2550d Mon Sep 17 00:00:00 2001 From: Raymond Gauthier Date: Thu, 2 Nov 2017 23:26:49 -0400 Subject: [PATCH] pythonV.V-selenium: from 2.52.0 to 3.6.0 --- .../python-modules/selenium/default.nix | 50 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 31 +----------- 2 files changed, 51 insertions(+), 30 deletions(-) create mode 100644 pkgs/development/python-modules/selenium/default.nix diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix new file mode 100644 index 000000000000..d33e86a3f079 --- /dev/null +++ b/pkgs/development/python-modules/selenium/default.nix @@ -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 ]; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 60d5f9577e47..5313b19b8eb4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -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 { };