summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/py-selenium/DESCR2
-rw-r--r--www/py-selenium/Makefile45
-rw-r--r--www/py-selenium/PLIST249
-rw-r--r--www/py-selenium/distinfo35
-rw-r--r--www/py-selenium/patches/patch-buck_bin_buck20
-rw-r--r--www/py-selenium/patches/patch-buck_programs_buck__tool.py22
-rw-r--r--www/py-selenium/patches/patch-buck_programs_timing.py15
-rw-r--r--www/py-selenium/patches/patch-buck_src_com_facebook_buck_cxx_toolchain_ArchiverProvider.java14
-rw-r--r--www/py-selenium/patches/patch-buck_src_com_facebook_buck_cxx_toolchain_DefaultCxxPlatforms.java14
-rw-r--r--www/py-selenium/patches/patch-buck_src_com_facebook_buck_jvm_java_JUnitStep.java14
-rw-r--r--www/py-selenium/patches/patch-buck_src_com_facebook_buck_python_PythonBuckConfig.java15
-rw-r--r--www/py-selenium/patches/patch-buck_src_com_facebook_buck_util_environment_Platform.java23
-rw-r--r--www/py-selenium/patches/patch-buck_src_com_facebook_buck_worker_WorkerProcessPoolFactory.java15
-rw-r--r--www/py-selenium/patches/patch-jna_build.xml17
-rw-r--r--www/py-selenium/patches/patch-rake-tasks_checks.rb33
-rw-r--r--www/py-selenium/patches/patch-src_com_facebook_buck_cxx_toolchain_CxxPlatforms.java14
-rw-r--r--www/py-selenium/patches/patch-src_com_facebook_buck_shell_AbstractGenruleStep.java15
-rw-r--r--www/py-selenium/selenium-buck.mk68
18 files changed, 630 insertions, 0 deletions
diff --git a/www/py-selenium/DESCR b/www/py-selenium/DESCR
new file mode 100644
index 00000000000..690b9a7fc2d
--- /dev/null
+++ b/www/py-selenium/DESCR
@@ -0,0 +1,2 @@
+Python language bindings for Selenium WebDriver.
+The Selenium package is used to automate web browser interaction from Python.
diff --git a/www/py-selenium/Makefile b/www/py-selenium/Makefile
new file mode 100644
index 00000000000..ad1a8ffe7dd
--- /dev/null
+++ b/www/py-selenium/Makefile
@@ -0,0 +1,45 @@
+# $NetBSD: Makefile,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+DISTNAME= selenium-3.7.1
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
+GITHUB_PROJECT= selenium
+GITHUB_TAG= ${DISTNAME}
+CATEGORIES= devel
+MASTER_SITES= ${MASTER_SITE_GITHUB:=SeleniumHQ/}
+
+MAINTAINER= tnn@NetBSD.org
+HOMEPAGE= https://github.com/SeleniumHQ/selenium/
+COMMENT= Browser automation framework (python bindings)
+LICENSE= apache-2.0
+
+BUILD_DEPENDS+= ${PYPKGPREFIX}-setuptools>=36:../../devel/py-setuptools
+
+USE_LANGUAGES= c c++
+USE_JAVA= build
+
+EGG_NAME= selenium-3.7.0
+PYSETUPSUBDIR= py
+WRKSRC= ${WRKDIR}/selenium-${DISTNAME}
+
+.include "../../mk/bsd.prefs.mk"
+
+# We need a native JDK for selenium-buck.
+PKG_JVMS_ACCEPTED= openjdk8
+.if ${OPSYS} == "Linux"
+# Oracle JDK should be feasible on Linux.
+PKG_JVMS_ACCEPTED+= oracle-jdk8
+.endif
+
+.include "../../mk/java-vm.mk"
+
+# Every new platform will need patches due to the crazy build framework.
+ONLY_FOR_PLATFORM= Linux-*-x86_64 NetBSD-*-x86_64
+
+pre-build:
+# This tells Selenium that we will provide external buck in $PATH.
+ ${TOUCH} ${WRKSRC}/.nobuckcheck
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./go --trace py_prep_for_install_release
+
+.include "selenium-buck.mk"
+.include "../../lang/python/distutils.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/www/py-selenium/PLIST b/www/py-selenium/PLIST
new file mode 100644
index 00000000000..9e216145165
--- /dev/null
+++ b/www/py-selenium/PLIST
@@ -0,0 +1,249 @@
+@comment $NetBSD: PLIST,v 1.1 2017/11/11 21:30:21 tnn Exp $
+${PYSITELIB}/${EGG_FILE}/PKG-INFO
+${PYSITELIB}/${EGG_FILE}/SOURCES.txt
+${PYSITELIB}/${EGG_FILE}/dependency_links.txt
+${PYSITELIB}/${EGG_FILE}/not-zip-safe
+${PYSITELIB}/${EGG_FILE}/top_level.txt
+${PYSITELIB}/selenium/__init__.py
+${PYSITELIB}/selenium/__init__.pyc
+${PYSITELIB}/selenium/__init__.pyo
+${PYSITELIB}/selenium/common/__init__.py
+${PYSITELIB}/selenium/common/__init__.pyc
+${PYSITELIB}/selenium/common/__init__.pyo
+${PYSITELIB}/selenium/common/exceptions.py
+${PYSITELIB}/selenium/common/exceptions.pyc
+${PYSITELIB}/selenium/common/exceptions.pyo
+${PYSITELIB}/selenium/webdriver/__init__.py
+${PYSITELIB}/selenium/webdriver/__init__.pyc
+${PYSITELIB}/selenium/webdriver/__init__.pyo
+${PYSITELIB}/selenium/webdriver/android/__init__.py
+${PYSITELIB}/selenium/webdriver/android/__init__.pyc
+${PYSITELIB}/selenium/webdriver/android/__init__.pyo
+${PYSITELIB}/selenium/webdriver/android/webdriver.py
+${PYSITELIB}/selenium/webdriver/android/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/android/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/blackberry/__init__.py
+${PYSITELIB}/selenium/webdriver/blackberry/__init__.pyc
+${PYSITELIB}/selenium/webdriver/blackberry/__init__.pyo
+${PYSITELIB}/selenium/webdriver/blackberry/webdriver.py
+${PYSITELIB}/selenium/webdriver/blackberry/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/blackberry/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/chrome/__init__.py
+${PYSITELIB}/selenium/webdriver/chrome/__init__.pyc
+${PYSITELIB}/selenium/webdriver/chrome/__init__.pyo
+${PYSITELIB}/selenium/webdriver/chrome/options.py
+${PYSITELIB}/selenium/webdriver/chrome/options.pyc
+${PYSITELIB}/selenium/webdriver/chrome/options.pyo
+${PYSITELIB}/selenium/webdriver/chrome/remote_connection.py
+${PYSITELIB}/selenium/webdriver/chrome/remote_connection.pyc
+${PYSITELIB}/selenium/webdriver/chrome/remote_connection.pyo
+${PYSITELIB}/selenium/webdriver/chrome/service.py
+${PYSITELIB}/selenium/webdriver/chrome/service.pyc
+${PYSITELIB}/selenium/webdriver/chrome/service.pyo
+${PYSITELIB}/selenium/webdriver/chrome/webdriver.py
+${PYSITELIB}/selenium/webdriver/chrome/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/chrome/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/common/__init__.py
+${PYSITELIB}/selenium/webdriver/common/__init__.pyc
+${PYSITELIB}/selenium/webdriver/common/__init__.pyo
+${PYSITELIB}/selenium/webdriver/common/action_chains.py
+${PYSITELIB}/selenium/webdriver/common/action_chains.pyc
+${PYSITELIB}/selenium/webdriver/common/action_chains.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/__init__.py
+${PYSITELIB}/selenium/webdriver/common/actions/__init__.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/__init__.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/action_builder.py
+${PYSITELIB}/selenium/webdriver/common/actions/action_builder.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/action_builder.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/input_device.py
+${PYSITELIB}/selenium/webdriver/common/actions/input_device.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/input_device.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/interaction.py
+${PYSITELIB}/selenium/webdriver/common/actions/interaction.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/interaction.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/key_actions.py
+${PYSITELIB}/selenium/webdriver/common/actions/key_actions.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/key_actions.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/key_input.py
+${PYSITELIB}/selenium/webdriver/common/actions/key_input.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/key_input.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/mouse_button.py
+${PYSITELIB}/selenium/webdriver/common/actions/mouse_button.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/mouse_button.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/pointer_actions.py
+${PYSITELIB}/selenium/webdriver/common/actions/pointer_actions.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/pointer_actions.pyo
+${PYSITELIB}/selenium/webdriver/common/actions/pointer_input.py
+${PYSITELIB}/selenium/webdriver/common/actions/pointer_input.pyc
+${PYSITELIB}/selenium/webdriver/common/actions/pointer_input.pyo
+${PYSITELIB}/selenium/webdriver/common/alert.py
+${PYSITELIB}/selenium/webdriver/common/alert.pyc
+${PYSITELIB}/selenium/webdriver/common/alert.pyo
+${PYSITELIB}/selenium/webdriver/common/by.py
+${PYSITELIB}/selenium/webdriver/common/by.pyc
+${PYSITELIB}/selenium/webdriver/common/by.pyo
+${PYSITELIB}/selenium/webdriver/common/desired_capabilities.py
+${PYSITELIB}/selenium/webdriver/common/desired_capabilities.pyc
+${PYSITELIB}/selenium/webdriver/common/desired_capabilities.pyo
+${PYSITELIB}/selenium/webdriver/common/html5/__init__.py
+${PYSITELIB}/selenium/webdriver/common/html5/__init__.pyc
+${PYSITELIB}/selenium/webdriver/common/html5/__init__.pyo
+${PYSITELIB}/selenium/webdriver/common/html5/application_cache.py
+${PYSITELIB}/selenium/webdriver/common/html5/application_cache.pyc
+${PYSITELIB}/selenium/webdriver/common/html5/application_cache.pyo
+${PYSITELIB}/selenium/webdriver/common/keys.py
+${PYSITELIB}/selenium/webdriver/common/keys.pyc
+${PYSITELIB}/selenium/webdriver/common/keys.pyo
+${PYSITELIB}/selenium/webdriver/common/proxy.py
+${PYSITELIB}/selenium/webdriver/common/proxy.pyc
+${PYSITELIB}/selenium/webdriver/common/proxy.pyo
+${PYSITELIB}/selenium/webdriver/common/service.py
+${PYSITELIB}/selenium/webdriver/common/service.pyc
+${PYSITELIB}/selenium/webdriver/common/service.pyo
+${PYSITELIB}/selenium/webdriver/common/touch_actions.py
+${PYSITELIB}/selenium/webdriver/common/touch_actions.pyc
+${PYSITELIB}/selenium/webdriver/common/touch_actions.pyo
+${PYSITELIB}/selenium/webdriver/common/utils.py
+${PYSITELIB}/selenium/webdriver/common/utils.pyc
+${PYSITELIB}/selenium/webdriver/common/utils.pyo
+${PYSITELIB}/selenium/webdriver/edge/__init__.py
+${PYSITELIB}/selenium/webdriver/edge/__init__.pyc
+${PYSITELIB}/selenium/webdriver/edge/__init__.pyo
+${PYSITELIB}/selenium/webdriver/edge/options.py
+${PYSITELIB}/selenium/webdriver/edge/options.pyc
+${PYSITELIB}/selenium/webdriver/edge/options.pyo
+${PYSITELIB}/selenium/webdriver/edge/service.py
+${PYSITELIB}/selenium/webdriver/edge/service.pyc
+${PYSITELIB}/selenium/webdriver/edge/service.pyo
+${PYSITELIB}/selenium/webdriver/edge/webdriver.py
+${PYSITELIB}/selenium/webdriver/edge/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/edge/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/firefox/__init__.py
+${PYSITELIB}/selenium/webdriver/firefox/__init__.pyc
+${PYSITELIB}/selenium/webdriver/firefox/__init__.pyo
+${PYSITELIB}/selenium/webdriver/firefox/amd64/x_ignore_nofocus.so
+${PYSITELIB}/selenium/webdriver/firefox/extension_connection.py
+${PYSITELIB}/selenium/webdriver/firefox/extension_connection.pyc
+${PYSITELIB}/selenium/webdriver/firefox/extension_connection.pyo
+${PYSITELIB}/selenium/webdriver/firefox/firefox_binary.py
+${PYSITELIB}/selenium/webdriver/firefox/firefox_binary.pyc
+${PYSITELIB}/selenium/webdriver/firefox/firefox_binary.pyo
+${PYSITELIB}/selenium/webdriver/firefox/firefox_profile.py
+${PYSITELIB}/selenium/webdriver/firefox/firefox_profile.pyc
+${PYSITELIB}/selenium/webdriver/firefox/firefox_profile.pyo
+${PYSITELIB}/selenium/webdriver/firefox/options.py
+${PYSITELIB}/selenium/webdriver/firefox/options.pyc
+${PYSITELIB}/selenium/webdriver/firefox/options.pyo
+${PYSITELIB}/selenium/webdriver/firefox/remote_connection.py
+${PYSITELIB}/selenium/webdriver/firefox/remote_connection.pyc
+${PYSITELIB}/selenium/webdriver/firefox/remote_connection.pyo
+${PYSITELIB}/selenium/webdriver/firefox/service.py
+${PYSITELIB}/selenium/webdriver/firefox/service.pyc
+${PYSITELIB}/selenium/webdriver/firefox/service.pyo
+${PYSITELIB}/selenium/webdriver/firefox/webdriver.py
+${PYSITELIB}/selenium/webdriver/firefox/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/firefox/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/firefox/webdriver.xpi
+${PYSITELIB}/selenium/webdriver/firefox/webdriver_prefs.json
+${PYSITELIB}/selenium/webdriver/firefox/webelement.py
+${PYSITELIB}/selenium/webdriver/firefox/webelement.pyc
+${PYSITELIB}/selenium/webdriver/firefox/webelement.pyo
+${PYSITELIB}/selenium/webdriver/firefox/x86/x_ignore_nofocus.so
+${PYSITELIB}/selenium/webdriver/ie/__init__.py
+${PYSITELIB}/selenium/webdriver/ie/__init__.pyc
+${PYSITELIB}/selenium/webdriver/ie/__init__.pyo
+${PYSITELIB}/selenium/webdriver/ie/options.py
+${PYSITELIB}/selenium/webdriver/ie/options.pyc
+${PYSITELIB}/selenium/webdriver/ie/options.pyo
+${PYSITELIB}/selenium/webdriver/ie/service.py
+${PYSITELIB}/selenium/webdriver/ie/service.pyc
+${PYSITELIB}/selenium/webdriver/ie/service.pyo
+${PYSITELIB}/selenium/webdriver/ie/webdriver.py
+${PYSITELIB}/selenium/webdriver/ie/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/ie/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/opera/__init__.py
+${PYSITELIB}/selenium/webdriver/opera/__init__.pyc
+${PYSITELIB}/selenium/webdriver/opera/__init__.pyo
+${PYSITELIB}/selenium/webdriver/opera/options.py
+${PYSITELIB}/selenium/webdriver/opera/options.pyc
+${PYSITELIB}/selenium/webdriver/opera/options.pyo
+${PYSITELIB}/selenium/webdriver/opera/webdriver.py
+${PYSITELIB}/selenium/webdriver/opera/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/opera/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/phantomjs/__init__.py
+${PYSITELIB}/selenium/webdriver/phantomjs/__init__.pyc
+${PYSITELIB}/selenium/webdriver/phantomjs/__init__.pyo
+${PYSITELIB}/selenium/webdriver/phantomjs/service.py
+${PYSITELIB}/selenium/webdriver/phantomjs/service.pyc
+${PYSITELIB}/selenium/webdriver/phantomjs/service.pyo
+${PYSITELIB}/selenium/webdriver/phantomjs/webdriver.py
+${PYSITELIB}/selenium/webdriver/phantomjs/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/phantomjs/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/remote/__init__.py
+${PYSITELIB}/selenium/webdriver/remote/__init__.pyc
+${PYSITELIB}/selenium/webdriver/remote/__init__.pyo
+${PYSITELIB}/selenium/webdriver/remote/command.py
+${PYSITELIB}/selenium/webdriver/remote/command.pyc
+${PYSITELIB}/selenium/webdriver/remote/command.pyo
+${PYSITELIB}/selenium/webdriver/remote/errorhandler.py
+${PYSITELIB}/selenium/webdriver/remote/errorhandler.pyc
+${PYSITELIB}/selenium/webdriver/remote/errorhandler.pyo
+${PYSITELIB}/selenium/webdriver/remote/file_detector.py
+${PYSITELIB}/selenium/webdriver/remote/file_detector.pyc
+${PYSITELIB}/selenium/webdriver/remote/file_detector.pyo
+${PYSITELIB}/selenium/webdriver/remote/getAttribute.js
+${PYSITELIB}/selenium/webdriver/remote/isDisplayed.js
+${PYSITELIB}/selenium/webdriver/remote/mobile.py
+${PYSITELIB}/selenium/webdriver/remote/mobile.pyc
+${PYSITELIB}/selenium/webdriver/remote/mobile.pyo
+${PYSITELIB}/selenium/webdriver/remote/remote_connection.py
+${PYSITELIB}/selenium/webdriver/remote/remote_connection.pyc
+${PYSITELIB}/selenium/webdriver/remote/remote_connection.pyo
+${PYSITELIB}/selenium/webdriver/remote/switch_to.py
+${PYSITELIB}/selenium/webdriver/remote/switch_to.pyc
+${PYSITELIB}/selenium/webdriver/remote/switch_to.pyo
+${PYSITELIB}/selenium/webdriver/remote/utils.py
+${PYSITELIB}/selenium/webdriver/remote/utils.pyc
+${PYSITELIB}/selenium/webdriver/remote/utils.pyo
+${PYSITELIB}/selenium/webdriver/remote/webdriver.py
+${PYSITELIB}/selenium/webdriver/remote/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/remote/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/remote/webelement.py
+${PYSITELIB}/selenium/webdriver/remote/webelement.pyc
+${PYSITELIB}/selenium/webdriver/remote/webelement.pyo
+${PYSITELIB}/selenium/webdriver/safari/__init__.py
+${PYSITELIB}/selenium/webdriver/safari/__init__.pyc
+${PYSITELIB}/selenium/webdriver/safari/__init__.pyo
+${PYSITELIB}/selenium/webdriver/safari/service.py
+${PYSITELIB}/selenium/webdriver/safari/service.pyc
+${PYSITELIB}/selenium/webdriver/safari/service.pyo
+${PYSITELIB}/selenium/webdriver/safari/webdriver.py
+${PYSITELIB}/selenium/webdriver/safari/webdriver.pyc
+${PYSITELIB}/selenium/webdriver/safari/webdriver.pyo
+${PYSITELIB}/selenium/webdriver/support/__init__.py
+${PYSITELIB}/selenium/webdriver/support/__init__.pyc
+${PYSITELIB}/selenium/webdriver/support/__init__.pyo
+${PYSITELIB}/selenium/webdriver/support/abstract_event_listener.py
+${PYSITELIB}/selenium/webdriver/support/abstract_event_listener.pyc
+${PYSITELIB}/selenium/webdriver/support/abstract_event_listener.pyo
+${PYSITELIB}/selenium/webdriver/support/color.py
+${PYSITELIB}/selenium/webdriver/support/color.pyc
+${PYSITELIB}/selenium/webdriver/support/color.pyo
+${PYSITELIB}/selenium/webdriver/support/event_firing_webdriver.py
+${PYSITELIB}/selenium/webdriver/support/event_firing_webdriver.pyc
+${PYSITELIB}/selenium/webdriver/support/event_firing_webdriver.pyo
+${PYSITELIB}/selenium/webdriver/support/events.py
+${PYSITELIB}/selenium/webdriver/support/events.pyc
+${PYSITELIB}/selenium/webdriver/support/events.pyo
+${PYSITELIB}/selenium/webdriver/support/expected_conditions.py
+${PYSITELIB}/selenium/webdriver/support/expected_conditions.pyc
+${PYSITELIB}/selenium/webdriver/support/expected_conditions.pyo
+${PYSITELIB}/selenium/webdriver/support/select.py
+${PYSITELIB}/selenium/webdriver/support/select.pyc
+${PYSITELIB}/selenium/webdriver/support/select.pyo
+${PYSITELIB}/selenium/webdriver/support/ui.py
+${PYSITELIB}/selenium/webdriver/support/ui.pyc
+${PYSITELIB}/selenium/webdriver/support/ui.pyo
+${PYSITELIB}/selenium/webdriver/support/wait.py
+${PYSITELIB}/selenium/webdriver/support/wait.pyc
+${PYSITELIB}/selenium/webdriver/support/wait.pyo
diff --git a/www/py-selenium/distinfo b/www/py-selenium/distinfo
new file mode 100644
index 00000000000..070ac5fc95d
--- /dev/null
+++ b/www/py-selenium/distinfo
@@ -0,0 +1,35 @@
+$NetBSD: distinfo,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+SHA1 (buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d.tar.gz) = bb3172f35cdd915f648a15e82f8b03dc077fd4fb
+RMD160 (buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d.tar.gz) = bb00fb2cd0bd9ec82ad1fde5b013ef9641e05f41
+SHA512 (buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d.tar.gz) = 2458543428327f2fabf009809ae3cfc7bb377b09c10d5788969d2386a32766aeec660220bf2156cbab8198a3bd32c80aab72ad8e3f86e4b6f67c45513064ec4c
+Size (buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d.tar.gz) = 393952515 bytes
+SHA1 (jna-4.4.0.tar.gz) = d9b54e98393a696f458468bc8f3167f701a9ea9f
+RMD160 (jna-4.4.0.tar.gz) = d429a117a74206326c9508f267ee953438857c1f
+SHA512 (jna-4.4.0.tar.gz) = b0d60527f9075c24202edc79170cf3a5ffd7ae3533572edb0426109c59084cb3bb2925982ab139d0384ff6399afe3973b6370ae0b77d6e7e11076b446986f2fb
+Size (jna-4.4.0.tar.gz) = 69248416 bytes
+SHA1 (selenium-3.7.1.tar.gz) = ea35a2a5402ef87e68869db9bc6b6c465a219ea1
+RMD160 (selenium-3.7.1.tar.gz) = 791f328c08e3ada70431730f139de609df44ed04
+SHA512 (selenium-3.7.1.tar.gz) = 2aa225d775d414dcc8e97362ae7abce75d583b9cd1c1fba8e6b9e0304c296474348654d20ae03cf354292485a36d4f0adb53eb9f4968cd609739220c8d52bf22
+Size (selenium-3.7.1.tar.gz) = 142414162 bytes
+SHA1 (sqlite-amalgamation-3200000.zip) = 6786fced716237689cfa8212265967f28cef5de9
+RMD160 (sqlite-amalgamation-3200000.zip) = 83ed9c47458f6220047ab45ebc42aa7b7930733d
+SHA512 (sqlite-amalgamation-3200000.zip) = 659b5fe93d526d6121f1530581d3fce5af90c986decf2fab7505fea14dc1ebc9167943261a433207fd70df0019bbcb4faeb5e49e586fc9ba6300439b6e00d1e8
+Size (sqlite-amalgamation-3200000.zip) = 2069628 bytes
+SHA1 (sqlite-jdbc-3.20.0.tar.gz) = 1d38a4f12abb61909cea045cbc3df39080f2cbd3
+RMD160 (sqlite-jdbc-3.20.0.tar.gz) = 0db4de6426786e92ba14915eea7249a1629f284a
+SHA512 (sqlite-jdbc-3.20.0.tar.gz) = c678e02c04287aac7a2810f5b7885c2d01d0ace4a35f6839a3baef977b1e994029f9ae5ba9a4fde966c1b2b9c50d8a3a6264e6be93d54685772c351bf934d400
+Size (sqlite-jdbc-3.20.0.tar.gz) = 10419597 bytes
+SHA1 (patch-buck_bin_buck) = 480c168e0dbe8fa1d106f8f20af7324378b5f421
+SHA1 (patch-buck_programs_buck__tool.py) = 65b8b77d142f21996316e447571c202bd43f95c0
+SHA1 (patch-buck_programs_timing.py) = 45fb598af62322ea76ad31fc5c08d36e4f7eb55d
+SHA1 (patch-buck_src_com_facebook_buck_cxx_toolchain_ArchiverProvider.java) = c714cbeb10285a93427e641af2757806dc8983bb
+SHA1 (patch-buck_src_com_facebook_buck_cxx_toolchain_DefaultCxxPlatforms.java) = 9137be4a52ebafa184282e71dc5e54c2204e23c0
+SHA1 (patch-buck_src_com_facebook_buck_jvm_java_JUnitStep.java) = 5a5d41c58834f37e4b7dd957e3b4bd94d5f3e751
+SHA1 (patch-buck_src_com_facebook_buck_python_PythonBuckConfig.java) = 971eccab2b5d8dd086a028fd3fb62216d97c75c7
+SHA1 (patch-buck_src_com_facebook_buck_util_environment_Platform.java) = 4c840915ac95f8a488d295112dfbe471512048c3
+SHA1 (patch-buck_src_com_facebook_buck_worker_WorkerProcessPoolFactory.java) = be112ad34da8f4382d7f9d61d7d93efe64b68988
+SHA1 (patch-jna_build.xml) = 44beb573483dfe82590f1ffe87cf71594c63ecf2
+SHA1 (patch-rake-tasks_checks.rb) = bf9eda0ccf0f20c6add4d39061bfe7a1c5dae43f
+SHA1 (patch-src_com_facebook_buck_cxx_toolchain_CxxPlatforms.java) = 13a7e28c091e892eac81641055521b1f877aeff4
+SHA1 (patch-src_com_facebook_buck_shell_AbstractGenruleStep.java) = d1267e2e7cbf3c2b278cc3617543937e2f34a43f
diff --git a/www/py-selenium/patches/patch-buck_bin_buck b/www/py-selenium/patches/patch-buck_bin_buck
new file mode 100644
index 00000000000..2e63bb78b2d
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_bin_buck
@@ -0,0 +1,20 @@
+$NetBSD: patch-buck_bin_buck,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+Fix path to bash and python.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/bin/buck.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/bin/buck
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env bash
+
+ # Resolve symlinks if necessary, otherwise madness will follow.
+ # On a GNU system, we could use "-f" to follow all symlinks. BSD based
+@@ -18,5 +18,6 @@ function abs_script_dir_path {
+
+ BUCK_DIR=$(abs_script_dir_path "$0")
+
+-PYTHON=$(command -v python2 python | head -1)
++PYTHON=${PREFIX}/bin/python2.7
++export PYTHON
+ PYTHONPATH="$BUCK_DIR"/../third-party/nailgun exec $PYTHON "$BUCK_DIR"/../programs/buck.py "$@"
diff --git a/www/py-selenium/patches/patch-buck_programs_buck__tool.py b/www/py-selenium/patches/patch-buck_programs_buck__tool.py
new file mode 100644
index 00000000000..481d521ea34
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_programs_buck__tool.py
@@ -0,0 +1,22 @@
+$NetBSD: patch-buck_programs_buck__tool.py,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+openjdk8 on NetBSD gets very confused if argv[0] isn't java.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/programs/buck_tool.py.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/programs/buck_tool.py
+@@ -272,6 +272,7 @@ class BuckTool(object):
+ java = which('java')
+ if java is None:
+ raise BuckToolException('Could not find java on $PATH')
++ command[0] = java
+ with Tracing('buck', args={'command': command}):
+ return subprocess.call(command,
+ cwd=self._buck_project.root,
+@@ -442,6 +443,7 @@ class BuckTool(object):
+ os.close(dev_null_fd)
+
+ creationflags = 0
++ command[0] = which("java")
+ process = subprocess.Popen(
+ command,
+ executable=which("java"),
diff --git a/www/py-selenium/patches/patch-buck_programs_timing.py b/www/py-selenium/patches/patch-buck_programs_timing.py
new file mode 100644
index 00000000000..f92dda78e86
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_programs_timing.py
@@ -0,0 +1,15 @@
+$NetBSD: patch-buck_programs_timing.py,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+buck: NetBSD support.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/programs/timing.py.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/programs/timing.py
+@@ -83,3 +83,8 @@ elif platform.system() == 'FreeBSD':
+ libc = ctypes.CDLL('libc.so.7', use_errno=True)
+ clock_gettime = libc.clock_gettime
+ set_posix_time_nanos(clock_gettime, CLOCK_MONOTONIC)
++elif platform.system() == 'NetBSD':
++ CLOCK_MONOTONIC = 3
++ libc = ctypes.CDLL('libc.so', use_errno=True)
++ clock_gettime = libc.clock_gettime
++ set_posix_time_nanos(clock_gettime, CLOCK_MONOTONIC)
diff --git a/www/py-selenium/patches/patch-buck_src_com_facebook_buck_cxx_toolchain_ArchiverProvider.java b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_cxx_toolchain_ArchiverProvider.java
new file mode 100644
index 00000000000..ad6f56be6c3
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_cxx_toolchain_ArchiverProvider.java
@@ -0,0 +1,14 @@
+$NetBSD: patch-buck_src_com_facebook_buck_cxx_toolchain_ArchiverProvider.java,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+buck: NetBSD support.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/cxx/toolchain/ArchiverProvider.java.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/cxx/toolchain/ArchiverProvider.java
+@@ -52,6 +52,7 @@ public interface ArchiverProvider {
+ switch (platform) {
+ case MACOS:
+ case FREEBSD:
++ case NETBSD:
+ return new BsdArchiver(archiver);
+ case LINUX:
+ return new GnuArchiver(archiver);
diff --git a/www/py-selenium/patches/patch-buck_src_com_facebook_buck_cxx_toolchain_DefaultCxxPlatforms.java b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_cxx_toolchain_DefaultCxxPlatforms.java
new file mode 100644
index 00000000000..0741a3d356b
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_cxx_toolchain_DefaultCxxPlatforms.java
@@ -0,0 +1,14 @@
+$NetBSD: patch-buck_src_com_facebook_buck_cxx_toolchain_DefaultCxxPlatforms.java,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+buck: NetBSD support.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/cxx/toolchain/DefaultCxxPlatforms.java.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/cxx/toolchain/DefaultCxxPlatforms.java
+@@ -126,6 +126,7 @@ public class DefaultCxxPlatforms {
+ defaultToolType = Optional.of(CxxToolProvider.Type.WINDOWS);
+ ranlibCommand = DEFAULT_WINDOWS_RANLIB;
+ break;
++ case NETBSD:
+ case FREEBSD:
+ sharedLibraryExtension = "so";
+ sharedLibraryVersionedExtensionFormat = "so.%s";
diff --git a/www/py-selenium/patches/patch-buck_src_com_facebook_buck_jvm_java_JUnitStep.java b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_jvm_java_JUnitStep.java
new file mode 100644
index 00000000000..6ae1b925549
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_jvm_java_JUnitStep.java
@@ -0,0 +1,14 @@
+$NetBSD: patch-buck_src_com_facebook_buck_jvm_java_JUnitStep.java,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+buck: NetBSD support.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/jvm/java/JUnitStep.java.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/jvm/java/JUnitStep.java
+@@ -118,6 +118,7 @@ public class JUnitStep extends ShellStep
+ switch (platform) {
+ case LINUX:
+ case FREEBSD:
++ case NETBSD:
+ case MACOS:
+ {
+ Field field = process.getClass().getDeclaredField("pid");
diff --git a/www/py-selenium/patches/patch-buck_src_com_facebook_buck_python_PythonBuckConfig.java b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_python_PythonBuckConfig.java
new file mode 100644
index 00000000000..27309a5cb5e
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_python_PythonBuckConfig.java
@@ -0,0 +1,15 @@
+$NetBSD: patch-buck_src_com_facebook_buck_python_PythonBuckConfig.java,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+Fix python binary name.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/python/PythonBuckConfig.java.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/python/PythonBuckConfig.java
+@@ -55,7 +55,7 @@ public class PythonBuckConfig {
+
+ // Prefer "python2" where available (Linux), but fall back to "python" (Mac).
+ private static final ImmutableList<String> PYTHON_INTERPRETER_NAMES =
+- ImmutableList.of("python2", "python");
++ ImmutableList.of(System.getenv("PYTHON") != null ? System.getenv("PYTHON").replaceAll("^.*/", "") : "python2", "python");
+
+ private static final Path DEFAULT_PATH_TO_PEX =
+ Paths.get(System.getProperty("buck.path_to_pex", "src/com/facebook/buck/python/make_pex.py"))
diff --git a/www/py-selenium/patches/patch-buck_src_com_facebook_buck_util_environment_Platform.java b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_util_environment_Platform.java
new file mode 100644
index 00000000000..1f84dbd9565
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_util_environment_Platform.java
@@ -0,0 +1,23 @@
+$NetBSD: patch-buck_src_com_facebook_buck_util_environment_Platform.java,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+buck: NetBSD support.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/util/environment/Platform.java.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/util/environment/Platform.java
+@@ -20,6 +20,7 @@ public enum Platform {
+ MACOS("OS X", "darwin"),
+ WINDOWS("Windows", "windows"),
+ FREEBSD("FreeBSD", "freebsd"),
++ NETBSD("NetBSD", "netbsd"),
+ UNKNOWN("Unknown", "unknown");
+
+ private String autoconfName;
+@@ -51,6 +52,8 @@ public enum Platform {
+ return WINDOWS;
+ } else if (platformName.startsWith("FreeBSD")) {
+ return FREEBSD;
++ } else if (platformName.startsWith("NetBSD")) {
++ return NETBSD;
+ } else {
+ return UNKNOWN;
+ }
diff --git a/www/py-selenium/patches/patch-buck_src_com_facebook_buck_worker_WorkerProcessPoolFactory.java b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_worker_WorkerProcessPoolFactory.java
new file mode 100644
index 00000000000..db7311cf4b5
--- /dev/null
+++ b/www/py-selenium/patches/patch-buck_src_com_facebook_buck_worker_WorkerProcessPoolFactory.java
@@ -0,0 +1,15 @@
+$NetBSD: patch-buck_src_com_facebook_buck_worker_WorkerProcessPoolFactory.java,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+Fix bash location.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/worker/WorkerProcessPoolFactory.java.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/worker/WorkerProcessPoolFactory.java
+@@ -135,7 +135,7 @@ public class WorkerProcessPoolFactory {
+ ImmutableList<String> executionArgs =
+ platform == Platform.WINDOWS
+ ? ImmutableList.of("cmd.exe", "/c")
+- : ImmutableList.of("/bin/bash", "-e", "-c");
++ : ImmutableList.of("/usr/bin/env", "bash", "-e", "-c");
+
+ return ImmutableList.<String>builder()
+ .addAll(executionArgs)
diff --git a/www/py-selenium/patches/patch-jna_build.xml b/www/py-selenium/patches/patch-jna_build.xml
new file mode 100644
index 00000000000..9dfedb8e484
--- /dev/null
+++ b/www/py-selenium/patches/patch-jna_build.xml
@@ -0,0 +1,17 @@
+$NetBSD: patch-jna_build.xml,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+Link with pkgsrc libffi.
+
+--- ../jna-4.4.0/build.xml.orig 2017-09-13 20:12:57.000000000 +0000
++++ ../jna-4.4.0/build.xml
+@@ -36,8 +36,8 @@
+ <property name="testjar" value="${name}-test.jar"/>
+ <property name="debug" value="true"/>
+ <property name="debug.native" value="false"/>
+- <property name="cflags_extra.native" value=""/>
+- <property name="dynlink.native" value="false"/>
++ <property name="cflags_extra.native" value="-I${X11BASE}include"/>
++ <property name="dynlink.native" value="true"/>
+ <property name="native" location="native"/>
+ <property name="src" location="src"/>
+ <property name="platform.src" location="contrib/platform/src"/>
diff --git a/www/py-selenium/patches/patch-rake-tasks_checks.rb b/www/py-selenium/patches/patch-rake-tasks_checks.rb
new file mode 100644
index 00000000000..56ba3da8873
--- /dev/null
+++ b/www/py-selenium/patches/patch-rake-tasks_checks.rb
@@ -0,0 +1,33 @@
+$NetBSD: patch-rake-tasks_checks.rb,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+Add BSD support.
+
+--- rake-tasks/checks.rb.orig 2017-11-06 11:27:01.000000000 +0000
++++ rake-tasks/checks.rb
+@@ -14,12 +14,16 @@ def linux?
+ (/linux/ =~ RbConfig::CONFIG['host_os']) != nil
+ end
+
++def bsd?
++ (/.*BSD/ =~ RbConfig::CONFIG['host_os']) != nil
++end
++
+ def cygwin?
+ RUBY_PLATFORM.downcase.include?("cygwin")
+ end
+
+ def unix?
+- linux? or mac?
++ linux? or mac? or bsd?
+ end
+
+ def classpath_separator?
+@@ -79,7 +83,7 @@ end
+
+ # Think of the confusion if we called this "g++"
+ def gcc?
+- linux? && present?("g++")
++ unix? && present?("g++")
+ end
+
+ def python?
diff --git a/www/py-selenium/patches/patch-src_com_facebook_buck_cxx_toolchain_CxxPlatforms.java b/www/py-selenium/patches/patch-src_com_facebook_buck_cxx_toolchain_CxxPlatforms.java
new file mode 100644
index 00000000000..40971e15a54
--- /dev/null
+++ b/www/py-selenium/patches/patch-src_com_facebook_buck_cxx_toolchain_CxxPlatforms.java
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_com_facebook_buck_cxx_toolchain_CxxPlatforms.java,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+buck: NetBSD support.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/cxx/toolchain/CxxPlatforms.java.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/cxx/toolchain/CxxPlatforms.java
+@@ -196,6 +196,7 @@ public class CxxPlatforms {
+ .put(Platform.MACOS.getAutoconfName(), InternalFlavor.of("macosx-x86_64"))
+ .put(Platform.WINDOWS.getAutoconfName(), InternalFlavor.of("windows-x86_64"))
+ .put(Platform.FREEBSD.getAutoconfName(), InternalFlavor.of("freebsd-x86_64"))
++ .put(Platform.NETBSD.getAutoconfName(), InternalFlavor.of("netbsd-x86_64"))
+ .build();
+ }
+
diff --git a/www/py-selenium/patches/patch-src_com_facebook_buck_shell_AbstractGenruleStep.java b/www/py-selenium/patches/patch-src_com_facebook_buck_shell_AbstractGenruleStep.java
new file mode 100644
index 00000000000..a20154c611e
--- /dev/null
+++ b/www/py-selenium/patches/patch-src_com_facebook_buck_shell_AbstractGenruleStep.java
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_com_facebook_buck_shell_AbstractGenruleStep.java,v 1.1 2017/11/11 21:30:21 tnn Exp $
+
+Fix bash location.
+
+--- ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/shell/AbstractGenruleStep.java.orig 2017-09-21 14:10:58.000000000 +0000
++++ ../buck-buck-release-be2bf932342e5d67f58c9b26f5065c745d285d0d/src/com/facebook/buck/shell/AbstractGenruleStep.java
+@@ -173,7 +173,7 @@ public abstract class AbstractGenruleSte
+
+ private enum ShellType {
+ CMD_EXE("cmd", ImmutableList.of()),
+- BASH("sh", ImmutableList.of("/bin/bash", "-e")),
++ BASH("sh", ImmutableList.of("/usr/bin/env", "bash", "-e")),
+ ;
+ private final String extension;
+ private final ImmutableList<String> executionArgs;
diff --git a/www/py-selenium/selenium-buck.mk b/www/py-selenium/selenium-buck.mk
new file mode 100644
index 00000000000..c20ae14f747
--- /dev/null
+++ b/www/py-selenium/selenium-buck.mk
@@ -0,0 +1,68 @@
+# $NetBSD: selenium-buck.mk,v 1.1 2017/11/11 21:30:21 tnn Exp $
+#
+#
+# This Makefile fragment handles building selenium-buck; a build dependency
+# of Selenium.
+
+PREPEND_PATH+= ${WRKDIR}/buck-buck-release-${BUCK_VERSION}/bin
+
+# buck needs python 2, even when we're targeting python 3.
+BUILD_DEPENDS+= python27-[0-9]*:../../lang/python27
+BUILD_DEPENDS+= apache-ant-[0-9]*:../../devel/apache-ant
+
+USE_TOOLS+= bash gmake perl pkg-config
+EXTRACT_USING= bsdtar
+
+DISTFILES?= ${DEFAULT_DISTFILES}
+
+# Location of Selenium's buck fork.
+BUCK_VERSION= be2bf932342e5d67f58c9b26f5065c745d285d0d
+BUCK_DIST= buck-release-${BUCK_VERSION}.tar.gz
+SITES.${BUCK_DIST}= https://github.com/SeleniumHQ/buck/archive/
+DISTFILES+= ${BUCK_DIST}
+
+# We need to build libsqlitejdbc.so and libjnidispatch.so for the host
+# platform and install them in buck's third party directory.
+# They rely on prebuilt Linux binaries.
+
+SQLITE_JDBC_VERSION= 3.20.0
+SQLITE_JDBC_DIST= sqlite-jdbc-${SQLITE_JDBC_VERSION}.tar.gz
+SITES.${SQLITE_JDBC_DIST}= -https://github.com/xerial/sqlite-jdbc/archive/${SQLITE_JDBC_VERSION}.tar.gz
+DISTFILES+= ${SQLITE_JDBC_DIST}
+
+SQLITE_AMALGAMATION_DIST= sqlite-amalgamation-3200000.zip
+SITES.${SQLITE_AMALGAMATION_DIST}= https://www.sqlite.org/2017/
+DISTFILES+= ${SQLITE_AMALGAMATION_DIST}
+
+JNA_VERSION= 4.4.0
+JNA_DIST= jna-${JNA_VERSION}.tar.gz
+SITES.${JNA_DIST}= -https://github.com/java-native-access/jna/archive/${JNA_VERSION}.tar.gz
+DISTFILES+= ${JNA_DIST}
+
+${WRKDIR}/sqlite-jdbc_done:
+ ${MKDIR} ${WRKDIR}/sqlite-jdbc-${SQLITE_JDBC_VERSION}/target
+ cp ${DISTDIR}/${SQLITE_AMALGAMATION_DIST} ${WRKDIR}/sqlite-jdbc-${SQLITE_JDBC_VERSION}/target/sqlite-${SQLITE_JDBC_VERSION}-amal.zip
+ cd ${WRKDIR}/sqlite-jdbc-${SQLITE_JDBC_VERSION} && \
+ ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} jni-header native
+ cd ${WRKDIR}/sqlite-jdbc-${SQLITE_JDBC_VERSION}/target/classes && \
+ ${PKG_JAVA_HOME}/bin/jar uvf ../../../buck-buck-release-${BUCK_VERSION}/third-party/java/sqlite/sqlite-jdbc-${SQLITE_JDBC_VERSION}.jar org/sqlite/native/${OPSYS}/${MACHINE_ARCH}/libsqlitejdbc.so
+ touch $@
+
+${WRKDIR}/jna_done:
+ cd ${WRKDIR}/jna-${JNA_VERSION} && ${SETENV} ${MAKE_ENV} ${PREFIX}/bin/ant -DX11BASE=${X11BASE} native
+ cd ${WRKDIR}/jna-${JNA_VERSION}/build/classes && \
+ ${PKG_JAVA_HOME}/bin/jar uvf ../../../buck-buck-release-${BUCK_VERSION}/third-party/java/jna/jna-${JNA_VERSION}.jar com/sun/jna/${OPSYS:tl}-${MACHINE_ARCH:S/_/-/}/libjnidispatch.so
+ touch $@
+
+# After that is done, we can build buck itself using ant.
+${WRKDIR}/buck_done: ${WRKDIR}/sqlite-jdbc_done ${WRKDIR}/jna_done
+ cd ${WRKDIR}/buck-buck-release-${BUCK_VERSION} && ${SETENV} ${MAKE_ENV} ANT_OPTS=-Xmx1024M ${PREFIX}/bin/ant
+ touch $@
+
+pre-build: ${WRKDIR}/buck_done
+
+# jna needs libffi and libXt headers
+BUILDLINK_DEPMETHOD.libffi?= build
+.include "../../devel/libffi/buildlink3.mk"
+BUILDLINK_DEPMETHOD.libXt?= build
+.include "../../x11/libXt/buildlink3.mk"