On 11/04 06:18, Jeremy Evans wrote:
> This builds chromedriver when building chrome.  chromedriver is
> chrome's implementation of the WebDriver protocol, which allows
> for driving chrome via external software.  Most commonly this
> is used in automated testing, often with Selenium, which supports
> many different browsers and programming languages.
> 
> chromedriver is about 10MB uncompressed, and considering the size
> of the chrome package, I don't think it is worth it to subpackage.
> 
> Tested on amd64 using ruby with the capybara and selenium-webdriver
> libraries.  With only minor modifications to a test suite designed
> for capybara-webkit, chromedriver was able to successfully complete
> the test suite.
> 
> This does require one patch so that chromedriver can find the
> chrome binary.

Last patch was broken because it used SUBST_PROGRAM instead of
SUBST_CMD.  Breakage pointed out by ian@.  Hopefully this works,
I don't want to wait 14 hours to confirm.

Thanks,
Jeremy

Index: Makefile
===================================================================
RCS file: /cvs/ports/www/chromium/Makefile,v
retrieving revision 1.345
diff -u -p -u -p -r1.345 Makefile
--- Makefile    29 Oct 2017 14:36:53 -0000      1.345
+++ Makefile    5 Nov 2017 01:22:24 -0000
@@ -10,7 +10,7 @@ DPB_PROPERTIES=               parallel
 COMMENT=               Chromium browser
 
 V=                     62.0.3202.62
-REVISION=              0
+REVISION=              1
 
 DISTNAME=              chromium-${V}
 
@@ -97,7 +97,7 @@ BUILDTYPE=    Debug
 BUILDTYPE=     Release
 .endif
 
-ALL_TARGET=    chrome
+ALL_TARGET=    chrome chromedriver
 TEST_TARGET=   base_unittests
 
 CONFIGURE_STYLE=none # prevent python MODULE from overriding do-build
@@ -173,6 +173,7 @@ do-configure:
                --no-clean -s --gn-gen-args "${GN_ARGS}"
        @cd ${WRKSRC} && env -i ${CONFIGURE_ENV} ${WRKSRC}/out/Release/gn \
                gen --args="${GN_ARGS}" out/${BUILDTYPE}
+       ${SUBST_CMD} ${WRKSRC}/chrome/test/chromedriver/chrome/chrome_finder.cc
 
 do-build:
        @cd ${WRKSRC} && env -i ${MAKE_ENV} ninja \
@@ -182,6 +183,7 @@ do-install:
        ${INSTALL_DATA_DIR} ${PREFIX}/chrome
        ${INSTALL_PROGRAM} ${BUILDDIR}/chrome ${PREFIX}/chrome
        ${SUBST_PROGRAM} ${FILESDIR}/chrome ${PREFIX}/bin/chrome
+       ${INSTALL_PROGRAM} ${BUILDDIR}/chromedriver ${PREFIX}/bin/chromedriver
        ${INSTALL_MAN} ${BUILDDIR}/chrome.1 ${PREFIX}/man/man1
 
        ${INSTALL_DATA} ${BUILDDIR}/*.pak ${PREFIX}/chrome
Index: patches/patch-chrome_test_chromedriver_chrome_chrome_finder_cc
===================================================================
RCS file: patches/patch-chrome_test_chromedriver_chrome_chrome_finder_cc
diff -N patches/patch-chrome_test_chromedriver_chrome_chrome_finder_cc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-chrome_test_chromedriver_chrome_chrome_finder_cc      4 Nov 
2017 11:56:05 -0000
@@ -0,0 +1,24 @@
+$OpenBSD: patch-chrome_app_chrome_command_ids_h,v 1.3 2017/06/25 21:53:56 
robert Exp $
+Index: chrome/test/chromedriver/chrome/chrome_finder.cc
+--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig      Fri Nov  3 
15:00:28 2017
++++ chrome/test/chromedriver/chrome/chrome_finder.cc   Fri Nov  3 15:01:35 2017
+@@ -45,6 +45,10 @@
+         installation_locations[i].Append(L"Chromium\\Application"));
+   }
+ }
++#elif 1
++void GetApplicationDirs(std::vector<base::FilePath>* locations) {
++  locations->push_back(base::FilePath("${PREFIX}/bin"));
++}
+ #elif defined(OS_LINUX)
+ void GetApplicationDirs(std::vector<base::FilePath>* locations) {
+   locations->push_back(base::FilePath("/opt/google/chrome"));
+@@ -102,7 +106,7 @@
+       base::FilePath("chromium-browser")
+ #else
+       // it will compile but won't work on other OSes
+-      base::FilePath()
++      base::FilePath("chrome"),
+ #endif
+   };
+ 
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/www/chromium/pkg/PLIST,v
retrieving revision 1.72
diff -u -p -u -p -r1.72 PLIST
--- pkg/PLIST   25 Oct 2017 13:47:07 -0000      1.72
+++ pkg/PLIST   3 Nov 2017 20:34:41 -0000
@@ -1,6 +1,7 @@
 @comment $OpenBSD: PLIST,v 1.72 2017/10/25 13:47:07 robert Exp $
 @pkgpath www/chromium,proprietary
 bin/chrome
+@bin bin/chromedriver
 chrome/
 @bin chrome/chrome
 chrome/chrome_100_percent.pak

Reply via email to