Index: head/devel/Makefile =================================================================== --- head/devel/Makefile (revision 518407) +++ head/devel/Makefile (revision 518408) @@ -1,6620 +1,6621 @@ # $FreeBSD$ # COMMENT = Development utilities SUBDIR += 9base SUBDIR += ChipmunkPhysics SUBDIR += ElectricFence SUBDIR += ORBit2 SUBDIR += ORBit2-reference SUBDIR += R-cran-BH SUBDIR += R-cran-Defaults SUBDIR += R-cran-Hmisc SUBDIR += R-cran-ModelMetrics SUBDIR += R-cran-R6 SUBDIR += R-cran-RUnit SUBDIR += R-cran-Rcpp SUBDIR += R-cran-Rdpack SUBDIR += R-cran-abind SUBDIR += R-cran-bindr SUBDIR += R-cran-bindrcpp SUBDIR += R-cran-bit SUBDIR += R-cran-bit64 SUBDIR += R-cran-bitops SUBDIR += R-cran-broom SUBDIR += R-cran-caTools SUBDIR += R-cran-caret SUBDIR += R-cran-chron SUBDIR += R-cran-classInt SUBDIR += R-cran-cli SUBDIR += R-cran-clipr SUBDIR += R-cran-covr SUBDIR += R-cran-crayon SUBDIR += R-cran-data.table SUBDIR += R-cran-doParallel SUBDIR += R-cran-ellipsis SUBDIR += R-cran-evaluate SUBDIR += R-cran-fansi SUBDIR += R-cran-foreach SUBDIR += R-cran-gbRd SUBDIR += R-cran-gbm SUBDIR += R-cran-gdata SUBDIR += R-cran-generics SUBDIR += R-cran-getopt SUBDIR += R-cran-glmnet SUBDIR += R-cran-glue SUBDIR += R-cran-gmodels SUBDIR += R-cran-gsubfn SUBDIR += R-cran-gtools SUBDIR += R-cran-hms SUBDIR += R-cran-iterators SUBDIR += R-cran-itertools SUBDIR += R-cran-later SUBDIR += R-cran-lifecycle SUBDIR += R-cran-lubridate SUBDIR += R-cran-magrittr SUBDIR += R-cran-memoise SUBDIR += R-cran-microbenchmark SUBDIR += R-cran-optparse SUBDIR += R-cran-pillar SUBDIR += R-cran-pkgconfig SUBDIR += R-cran-pkgmaker SUBDIR += R-cran-plogr SUBDIR += R-cran-plyr SUBDIR += R-cran-praise SUBDIR += R-cran-prettyunits SUBDIR += R-cran-progress SUBDIR += R-cran-promises SUBDIR += R-cran-proto SUBDIR += R-cran-purrr SUBDIR += R-cran-randomForest SUBDIR += R-cran-registry SUBDIR += R-cran-repr SUBDIR += R-cran-reshape SUBDIR += R-cran-reshape2 SUBDIR += R-cran-rgexf SUBDIR += R-cran-rlang SUBDIR += R-cran-rngtools SUBDIR += R-cran-rprojroot SUBDIR += R-cran-rstudioapi SUBDIR += R-cran-sfsmisc SUBDIR += R-cran-sourcetools SUBDIR += R-cran-sys SUBDIR += R-cran-testthat SUBDIR += R-cran-tibble SUBDIR += R-cran-tidyr SUBDIR += R-cran-tidyselect SUBDIR += R-cran-vcd SUBDIR += R-cran-vctrs SUBDIR += R-cran-withr SUBDIR += R-cran-zeallot SUBDIR += RStudio SUBDIR += SpecTcl SUBDIR += aap SUBDIR += aarch64-gcc SUBDIR += aarch64-none-elf-gcc SUBDIR += aarch64-xtoolchain-gcc SUBDIR += abi-compliance-checker SUBDIR += abseil SUBDIR += ace SUBDIR += acsccid SUBDIR += activitymail SUBDIR += ada-util SUBDIR += adabooch SUBDIR += adacurses SUBDIR += adaid SUBDIR += aegis SUBDIR += agar SUBDIR += ahven SUBDIR += aifad SUBDIR += ald SUBDIR += allegro SUBDIR += allegro-devel SUBDIR += alog SUBDIR += amd64-gcc SUBDIR += amd64-xtoolchain-gcc SUBDIR += amqp-cpp SUBDIR += android-tools-adb SUBDIR += android-tools-fastboot SUBDIR += android-tools-simpleperf SUBDIR += anjuta SUBDIR += antlr SUBDIR += antlr3 SUBDIR += antlr4 SUBDIR += apache-ant SUBDIR += apache-commons-configuration SUBDIR += apache-commons-daemon SUBDIR += apache-commons-io SUBDIR += apache-commons-jxpath SUBDIR += apache-commons-modeler SUBDIR += apache-rat SUBDIR += aphpbreakdown SUBDIR += aphpunit SUBDIR += api-sanity-autotest SUBDIR += apitrace SUBDIR += appstream-glib SUBDIR += apr1 SUBDIR += apr2 SUBDIR += arachne-pnr SUBDIR += arcanist SUBDIR += arcanist-lib SUBDIR += arduino SUBDIR += arduino-avrdude SUBDIR += arduino-bsd-mk SUBDIR += arduino-builder SUBDIR += arduino-core SUBDIR += arduino-ctags SUBDIR += arduino-irremote SUBDIR += arduino-mk SUBDIR += arduino-openglcd SUBDIR += arduino-sevseg SUBDIR += arduino-tools SUBDIR += arduino18 SUBDIR += arduinoOTA SUBDIR += argdata SUBDIR += argouml SUBDIR += argp-standalone SUBDIR += args SUBDIR += argtable SUBDIR += arm-elf-binutils SUBDIR += arm-none-eabi-gcc SUBDIR += arm-none-eabi-gcc492 SUBDIR += arm-none-eabi-gdb SUBDIR += arm-none-eabi-newlib SUBDIR += aros-sdk SUBDIR += arpc SUBDIR += art SUBDIR += artifactory SUBDIR += asl SUBDIR += asmutils SUBDIR += asmx SUBDIR += astah-community SUBDIR += astyle SUBDIR += asyncplusplus SUBDIR += atf SUBDIR += atlas SUBDIR += atlas-devel SUBDIR += aunit SUBDIR += autobook SUBDIR += autoconf SUBDIR += autoconf-archive SUBDIR += autoconf-wrapper SUBDIR += autoconf213 SUBDIR += autodia SUBDIR += autodist SUBDIR += autogen SUBDIR += automake SUBDIR += autotools SUBDIR += avalon-framework SUBDIR += avarice SUBDIR += avce00 SUBDIR += avr-gcc SUBDIR += avr-gdb SUBDIR += avr-libc SUBDIR += avra SUBDIR += avrdude SUBDIR += avro SUBDIR += avro-c SUBDIR += avro-cpp SUBDIR += awless SUBDIR += aws-c-commons SUBDIR += aws-c-event-stream SUBDIR += aws-checksums SUBDIR += aws-sdk-cpp SUBDIR += aws-sdk-php SUBDIR += awscli SUBDIR += b2 SUBDIR += babeltrace SUBDIR += bam SUBDIR += bashdb SUBDIR += bats-core SUBDIR += bazel SUBDIR += bazel-buildtools SUBDIR += bazel029 SUBDIR += bbfreeze SUBDIR += bbfreeze-loader SUBDIR += bcc SUBDIR += bcpp SUBDIR += bcunit SUBDIR += bear SUBDIR += benchmark SUBDIR += bennugd-core SUBDIR += bennugd-modules SUBDIR += bglibs SUBDIR += bicyclerepair SUBDIR += bin86 SUBDIR += binaryen SUBDIR += bingrep SUBDIR += binutils SUBDIR += bison SUBDIR += blame SUBDIR += blitz SUBDIR += bloaty SUBDIR += bmake SUBDIR += bmkdep SUBDIR += bnf SUBDIR += boehm-gc SUBDIR += boehm-gc-redirect SUBDIR += boehm-gc-threaded SUBDIR += boost-all SUBDIR += boost-docs SUBDIR += boost-jam SUBDIR += boost-libs SUBDIR += boost-python-libs SUBDIR += boost_build SUBDIR += bossa SUBDIR += bouml-doc SUBDIR += bpython SUBDIR += breakpad SUBDIR += brz SUBDIR += bsdbuild SUBDIR += bsdcflow SUBDIR += bsdowl SUBDIR += bugzilla44 SUBDIR += bugzilla50 SUBDIR += build SUBDIR += buildstream SUBDIR += buildtool SUBDIR += buildtool-doc SUBDIR += bullet SUBDIR += busybee SUBDIR += byacc SUBDIR += byaccj SUBDIR += bzr SUBDIR += bzr-builder SUBDIR += bzr-colo SUBDIR += bzr-externals SUBDIR += bzr-fastimport SUBDIR += bzr-git SUBDIR += bzr-gtk SUBDIR += bzr-loom SUBDIR += bzr-pipeline SUBDIR += bzr-rewrite SUBDIR += bzr-scmproj SUBDIR += bzr-stats SUBDIR += bzr-svn SUBDIR += bzr-upload SUBDIR += bzrtools SUBDIR += c2mdoc SUBDIR += caf SUBDIR += calibrator SUBDIR += capnproto SUBDIR += capstone3 SUBDIR += capstone4 SUBDIR += cargo-c SUBDIR += cargo-tree SUBDIR += cask SUBDIR += catch SUBDIR += cbrowser SUBDIR += cc65 SUBDIR += ccache SUBDIR += ccache-memcached SUBDIR += ccache-memcached-static SUBDIR += ccache-static SUBDIR += cccc SUBDIR += ccdoc SUBDIR += ccls SUBDIR += ccrtp SUBDIR += cctz SUBDIR += cdash SUBDIR += cdecl SUBDIR += cdialog SUBDIR += cdk SUBDIR += cervisia SUBDIR += cflow SUBDIR += cflow2vcg SUBDIR += cfr SUBDIR += cgdb SUBDIR += cgilib SUBDIR += cgit SUBDIR += cgprof SUBDIR += charva SUBDIR += check SUBDIR += checkbashisms SUBDIR += checkheaders SUBDIR += chromium-gn SUBDIR += chrpath SUBDIR += chruby SUBDIR += cil SUBDIR += cityhash SUBDIR += cjose SUBDIR += cl-alexandria SUBDIR += cl-alexandria-sbcl SUBDIR += cl-asdf SUBDIR += cl-cffi SUBDIR += cl-infix SUBDIR += cl-infix-sbcl SUBDIR += cl-port SUBDIR += cl-port-sbcl SUBDIR += cl-split-sequence SUBDIR += cl-split-sequence-sbcl SUBDIR += cl-trivial-features SUBDIR += cl-trivial-features-sbcl SUBDIR += cl-trivial-gray-streams SUBDIR += cl-trivial-gray-streams-sbcl SUBDIR += clanlib SUBDIR += clanlib1 SUBDIR += clazy SUBDIR += cld2 SUBDIR += clewn SUBDIR += cli11 SUBDIR += clig SUBDIR += cligen SUBDIR += clinfo SUBDIR += clipp SUBDIR += clisp-hyperspec SUBDIR += clixon SUBDIR += clojure-cider SUBDIR += cloudabi SUBDIR += cloudabi-toolchain SUBDIR += clthreads SUBDIR += cltune SUBDIR += cmake SUBDIR += cmake-doc SUBDIR += cmake-fedora SUBDIR += cmake-gui SUBDIR += cmake-modules-webos SUBDIR += cmph SUBDIR += cmunge SUBDIR += cobf SUBDIR += coccinelle SUBDIR += codeblocks SUBDIR += codeblocks-devel SUBDIR += codequery SUBDIR += codesearch-py SUBDIR += codeville SUBDIR += codeworker SUBDIR += collada-dom SUBDIR += colorgcc SUBDIR += colormake SUBDIR += commit-patch SUBDIR += commoncpp SUBDIR += compiler-rt SUBDIR += compiz-bcop SUBDIR += concurrencykit SUBDIR += configkit SUBDIR += cons SUBDIR += cons-test SUBDIR += containers SUBDIR += cook SUBDIR += corrade SUBDIR += courier-unicode SUBDIR += coursier SUBDIR += covtool SUBDIR += cpan-upload SUBDIR += cpan-upload-http SUBDIR += cpp-hocon SUBDIR += cpp-netlib SUBDIR += cpp2py SUBDIR += cppcheck SUBDIR += cppcheck-gui SUBDIR += cppi SUBDIR += cpprestsdk SUBDIR += cpptest SUBDIR += cppunit SUBDIR += cppurses SUBDIR += cpputest SUBDIR += cproto SUBDIR += cpu_features SUBDIR += cquery SUBDIR += cram SUBDIR += crc32c SUBDIR += creduce SUBDIR += critcl SUBDIR += cscope SUBDIR += cscout SUBDIR += csmith SUBDIR += csoap SUBDIR += cssc SUBDIR += ctags SUBDIR += ctypes.sh SUBDIR += cunit SUBDIR += cut SUBDIR += cutils SUBDIR += cutter SUBDIR += cvs SUBDIR += cvs+ipv6 SUBDIR += cvs-devel SUBDIR += cvs-syncmail SUBDIR += cvs2cl SUBDIR += cvs2darcs SUBDIR += cvs2html SUBDIR += cvs2svn SUBDIR += cvsadmin SUBDIR += cvsbook SUBDIR += cvschangelogbuilder SUBDIR += cvschk SUBDIR += cvsd SUBDIR += cvsdadm SUBDIR += cvsdelta SUBDIR += cvsdiff2patch SUBDIR += cvsgraph SUBDIR += cvslines SUBDIR += cvsmonitor SUBDIR += cvsplot SUBDIR += cvsps SUBDIR += cvsps-devel SUBDIR += cvsspam SUBDIR += cvstrac SUBDIR += cvsutils SUBDIR += cvsweb SUBDIR += cvsweb3 SUBDIR += cvswrap SUBDIR += cweb SUBDIR += cwrap SUBDIR += cx_Freeze SUBDIR += cxmon SUBDIR += cxref SUBDIR += cxxopts SUBDIR += cxxtest SUBDIR += cxxtools SUBDIR += d-feet SUBDIR += d-scanner SUBDIR += darts SUBDIR += dash.el SUBDIR += datadraw SUBDIR += date SUBDIR += dbus SUBDIR += dbus-c++ SUBDIR += dbus-glib SUBDIR += dbus-sharp SUBDIR += dbus-sharp-glib SUBDIR += dbus-tcl SUBDIR += dcd-client SUBDIR += dcd-server SUBDIR += dconf SUBDIR += dconf-editor SUBDIR += debugedit SUBDIR += dee SUBDIR += deforaos-libsystem SUBDIR += deheader SUBDIR += delta SUBDIR += dep SUBDIR += deployer SUBDIR += derelict-sdl2 SUBDIR += derelict-util SUBDIR += desktop-file-utils SUBDIR += dev86 SUBDIR += devhelp SUBDIR += devtodo SUBDIR += dfuife-curses SUBDIR += dia2code SUBDIR += dia2code+ SUBDIR += diffuse SUBDIR += ding-libs SUBDIR += directfb SUBDIR += dispy SUBDIR += distcc SUBDIR += distel SUBDIR += distorm SUBDIR += ditrack SUBDIR += djgpp-binutils SUBDIR += djgpp-crx SUBDIR += dlib SUBDIR += dmake SUBDIR += dmalloc SUBDIR += dmlc-core SUBDIR += dmucs SUBDIR += docopt.cpp SUBDIR += doctorj SUBDIR += dolphin-plugins SUBDIR += dotconf SUBDIR += double-conversion SUBDIR += doxygen SUBDIR += dparser SUBDIR += dragon SUBDIR += dreampie SUBDIR += drpython SUBDIR += ds2 SUBDIR += dsymbol SUBDIR += dub SUBDIR += dulwich SUBDIR += dupl SUBDIR += duplo SUBDIR += dwarfdump SUBDIR += dxa65 SUBDIR += dyncall SUBDIR += e00compr SUBDIR += e2fsprogs-libss SUBDIR += eastl SUBDIR += easygit SUBDIR += easyloggingpp SUBDIR += ebnf2yacc SUBDIR += ecgi SUBDIR += editline SUBDIR += efivar SUBDIR += efl SUBDIR += egypt SUBDIR += eiffelstudio SUBDIR += electron4 + SUBDIR += electron6 SUBDIR += elf SUBDIR += elfio SUBDIR += elfkickers SUBDIR += elfrc SUBDIR += elfsh SUBDIR += elfutils SUBDIR += elixir-apex SUBDIR += elixir-bson SUBDIR += elixir-cachex SUBDIR += elixir-calendar SUBDIR += elixir-combine SUBDIR += elixir-conform SUBDIR += elixir-connection SUBDIR += elixir-coverex SUBDIR += elixir-crontab SUBDIR += elixir-csv SUBDIR += elixir-decimal SUBDIR += elixir-deppie SUBDIR += elixir-dialyze SUBDIR += elixir-distillery SUBDIR += elixir-estree SUBDIR += elixir-eternal SUBDIR += elixir-exactor SUBDIR += elixir-excoveralls SUBDIR += elixir-exjsx SUBDIR += elixir-exprotobuf SUBDIR += elixir-gen_stage SUBDIR += elixir-gen_state_machine SUBDIR += elixir-gettext SUBDIR += elixir-hex SUBDIR += elixir-inflex SUBDIR += elixir-libring SUBDIR += elixir-make SUBDIR += elixir-math SUBDIR += elixir-msgpax SUBDIR += elixir-nadia SUBDIR += elixir-nats SUBDIR += elixir-nimble_csv SUBDIR += elixir-paratize SUBDIR += elixir-plug SUBDIR += elixir-poison SUBDIR += elixir-quantum SUBDIR += elixir-smppex SUBDIR += elixir-swarm SUBDIR += elixir-timex SUBDIR += elixir-tirexs SUBDIR += elixir-trailing_format_plug SUBDIR += elixir-tzdata SUBDIR += elixir-unsafe SUBDIR += elm-format SUBDIR += embb SUBDIR += emscripten SUBDIR += entt SUBDIR += epl.el SUBDIR += epm SUBDIR += epydoc SUBDIR += eric6 SUBDIR += eris SUBDIR += erlang-backoff SUBDIR += erlang-bbmustache SUBDIR += erlang-bear SUBDIR += erlang-certifi SUBDIR += erlang-cf SUBDIR += erlang-cl SUBDIR += erlang-clique SUBDIR += erlang-common_lib SUBDIR += erlang-cuttlefish SUBDIR += erlang-erlware_commons SUBDIR += erlang-esdl SUBDIR += erlang-exmpp SUBDIR += erlang-folsom SUBDIR += erlang-gen_leader SUBDIR += erlang-gen_rpc SUBDIR += erlang-gen_smtp SUBDIR += erlang-getopt SUBDIR += erlang-goldrush SUBDIR += erlang-gpb SUBDIR += erlang-gproc SUBDIR += erlang-hut SUBDIR += erlang-jobs SUBDIR += erlang-jsx SUBDIR += erlang-jsxd SUBDIR += erlang-katana SUBDIR += erlang-lager SUBDIR += erlang-lager_syslog SUBDIR += erlang-meck SUBDIR += erlang-metrics SUBDIR += erlang-msgpack SUBDIR += erlang-neotoma SUBDIR += erlang-oserl SUBDIR += erlang-parse_trans SUBDIR += erlang-poolboy SUBDIR += erlang-pooler SUBDIR += erlang-providers SUBDIR += erlang-rebar3_hex SUBDIR += erlang-recon SUBDIR += erlang-sbroker SUBDIR += erlang-ssl_verify_fun SUBDIR += erlang-syslog SUBDIR += erlang-unicode_util_compat SUBDIR += es-eric6 SUBDIR += estd SUBDIR += etcd SUBDIR += etcd31 SUBDIR += etcd32 SUBDIR += etcd33 SUBDIR += etcd34 SUBDIR += etl SUBDIR += euca2ools SUBDIR += evdev-proto SUBDIR += evemu SUBDIR += eventxx SUBDIR += evolution-gconf-tools SUBDIR += exercisix SUBDIR += f18 SUBDIR += f77flow SUBDIR += fam SUBDIR += fastcrc SUBDIR += fb-adb SUBDIR += fb303 SUBDIR += fc++ SUBDIR += fhist SUBDIR += fifechan SUBDIR += firmware-utils SUBDIR += fistgen SUBDIR += flang SUBDIR += flang-clang SUBDIR += flatbuffers SUBDIR += flatcc SUBDIR += flatzebra SUBDIR += flex-sdk SUBDIR += flex-sdk35 SUBDIR += flexdock SUBDIR += flexjson SUBDIR += florist-gpl SUBDIR += flyspray SUBDIR += fmake SUBDIR += fnccheck SUBDIR += fnorb SUBDIR += folly SUBDIR += fortran-utils SUBDIR += fortytwo-encore SUBDIR += fossil SUBDIR += fossology-nomos-standalone SUBDIR += fp16 SUBDIR += fpc-bfd SUBDIR += fpc-dbus SUBDIR += fpc-fcl-async SUBDIR += fpc-fcl-base SUBDIR += fpc-fcl-db SUBDIR += fpc-fcl-extra SUBDIR += fpc-fcl-fpcunit SUBDIR += fpc-fcl-image SUBDIR += fpc-fcl-js SUBDIR += fpc-fcl-json SUBDIR += fpc-fcl-net SUBDIR += fpc-fcl-passrc SUBDIR += fpc-fcl-pdf SUBDIR += fpc-fcl-registry SUBDIR += fpc-fcl-res SUBDIR += fpc-fcl-sdo SUBDIR += fpc-fcl-sound SUBDIR += fpc-fcl-stl SUBDIR += fpc-fcl-web SUBDIR += fpc-fcl-xml SUBDIR += fpc-fppkg SUBDIR += fpc-fv SUBDIR += fpc-gdbint SUBDIR += fpc-newt SUBDIR += fpc-pthreads SUBDIR += fpc-regexpr SUBDIR += fpc-sdl SUBDIR += fpc-symbolic SUBDIR += fpc-zlib SUBDIR += fpp SUBDIR += frama-c SUBDIR += freebsd-gcc6 SUBDIR += frink SUBDIR += fsmtrie SUBDIR += fstrcmp SUBDIR += fstrm SUBDIR += ftjam SUBDIR += ftnchek SUBDIR += fuel SUBDIR += fuzzylite SUBDIR += fxdiv SUBDIR += ga SUBDIR += gaa SUBDIR += gamin SUBDIR += gauche-readline SUBDIR += gaul SUBDIR += gazpacho SUBDIR += gb SUBDIR += gcc-arm-embedded SUBDIR += gcc-msp430-ti-toolchain SUBDIR += gccmakedep SUBDIR += gconf2 SUBDIR += gconf2-reference SUBDIR += gconfmm26 SUBDIR += gdb SUBDIR += gdcm SUBDIR += geany SUBDIR += geany-plugin-addons SUBDIR += geany-plugin-autoclose SUBDIR += geany-plugin-automark SUBDIR += geany-plugin-codenav SUBDIR += geany-plugin-commander SUBDIR += geany-plugin-ctags SUBDIR += geany-plugin-debugger SUBDIR += geany-plugin-defineformat SUBDIR += geany-plugin-doc SUBDIR += geany-plugin-extrasel SUBDIR += geany-plugin-geanypy SUBDIR += geany-plugin-gendoc SUBDIR += geany-plugin-geniuspaste SUBDIR += geany-plugin-git-changebar SUBDIR += geany-plugin-insertnum SUBDIR += geany-plugin-latex SUBDIR += geany-plugin-lineoperations SUBDIR += geany-plugin-lipsum SUBDIR += geany-plugin-lua SUBDIR += geany-plugin-macro SUBDIR += geany-plugin-markdown SUBDIR += geany-plugin-miniscript SUBDIR += geany-plugin-multiterm SUBDIR += geany-plugin-numberedbookmarks SUBDIR += geany-plugin-overview SUBDIR += geany-plugin-pairtaghighlighter SUBDIR += geany-plugin-pg SUBDIR += geany-plugin-pohelper SUBDIR += geany-plugin-pretty-printer SUBDIR += geany-plugin-prj SUBDIR += geany-plugin-projectorganizer SUBDIR += geany-plugin-scope SUBDIR += geany-plugin-sendmail SUBDIR += geany-plugin-shiftcolumn SUBDIR += geany-plugin-spellcheck SUBDIR += geany-plugin-tableconvert SUBDIR += geany-plugin-treebrowser SUBDIR += geany-plugin-updatechecker SUBDIR += geany-plugin-utilslib SUBDIR += geany-plugin-vc SUBDIR += geany-plugin-vimode SUBDIR += geany-plugin-workbench SUBDIR += geany-plugin-xmlsnippets SUBDIR += geany-plugins SUBDIR += geany-plugins-l10n SUBDIR += geany-themes SUBDIR += gearmand SUBDIR += gearmand-devel SUBDIR += gecode SUBDIR += generate SUBDIR += gengetopt SUBDIR += genie SUBDIR += gettext SUBDIR += gettext-lint SUBDIR += gettext-msghack SUBDIR += gettext-runtime SUBDIR += gettext-tools SUBDIR += gflags SUBDIR += ghidra SUBDIR += ghq SUBDIR += ghub SUBDIR += gindent SUBDIR += gio-sharp SUBDIR += git SUBDIR += git-absorb SUBDIR += git-bzr-ng SUBDIR += git-cinnabar SUBDIR += git-codereview SUBDIR += git-cola SUBDIR += git-cvs SUBDIR += git-delta SUBDIR += git-extras SUBDIR += git-gui SUBDIR += git-lfs SUBDIR += git-lite SUBDIR += git-merge-changelog SUBDIR += git-modes SUBDIR += git-remote-hg SUBDIR += git-review SUBDIR += git-subrepo SUBDIR += git-town SUBDIR += gitaly SUBDIR += gitblit SUBDIR += gitflow SUBDIR += gitg SUBDIR += gitg0 SUBDIR += github-backup-utils SUBDIR += gitinspector SUBDIR += gitlab-runner SUBDIR += gitlab-shell SUBDIR += gitlist SUBDIR += gitolite SUBDIR += gitolite2 SUBDIR += gittrac SUBDIR += glade SUBDIR += glade2 SUBDIR += glade3 SUBDIR += glademm SUBDIR += glib20 SUBDIR += glib20-reference SUBDIR += glibmm SUBDIR += glibmm-reference SUBDIR += gllvm SUBDIR += global SUBDIR += glog SUBDIR += glrparser SUBDIR += glslang SUBDIR += glui SUBDIR += gmake SUBDIR += gn SUBDIR += gnatpython SUBDIR += gnome-builder SUBDIR += gnome-common SUBDIR += gnome-js-common SUBDIR += gnome-vfs SUBDIR += gnome-vfs-reference SUBDIR += gnome-vfsmm SUBDIR += gnu-efi SUBDIR += gnucflow SUBDIR += gnulib SUBDIR += gnulibiberty SUBDIR += gnustep SUBDIR += gnustep-make SUBDIR += go-bindata SUBDIR += go-bindata-assetfs SUBDIR += go-git SUBDIR += go-glide SUBDIR += go-godef SUBDIR += go-protobuf SUBDIR += go-tools SUBDIR += gob2 SUBDIR += gobject-introspection SUBDIR += godep SUBDIR += godot SUBDIR += godot-tools SUBDIR += godot2 SUBDIR += godot2-tools SUBDIR += goffice SUBDIR += goffice010 SUBDIR += gogland-eap SUBDIR += gogs SUBDIR += golint SUBDIR += google-cloud-cpp SUBDIR += google-gdata SUBDIR += google-perftools SUBDIR += google-styleguide SUBDIR += googlemock SUBDIR += googletest SUBDIR += goprotobuf SUBDIR += gorm SUBDIR += goswagger SUBDIR += govendor SUBDIR += gperf SUBDIR += gperf31 SUBDIR += gpm SUBDIR += gprbuild SUBDIR += gputils SUBDIR += gradle SUBDIR += gradle4 SUBDIR += gradle5 SUBDIR += grantlee5 SUBDIR += graphql.el SUBDIR += grpc SUBDIR += grumpy SUBDIR += grv SUBDIR += gsettings-desktop-schemas SUBDIR += gsoap SUBDIR += gstreamer-plugins-gconf SUBDIR += gstreamer-plugins-gio SUBDIR += gstreamer-plugins-gnomevfs SUBDIR += gstreamer-plugins-sdl SUBDIR += gstreamer-plugins-soup SUBDIR += gstreamer1-plugins-soup SUBDIR += gtgt SUBDIR += gtkparasite SUBDIR += gtranslator SUBDIR += guichan SUBDIR += guile-lib SUBDIR += gumbo SUBDIR += gvfs SUBDIR += gvp SUBDIR += gwenhywfar SUBDIR += gwenhywfar-fox16 SUBDIR += gwenhywfar-gtk2 SUBDIR += gwenhywfar-gtk3 SUBDIR += gwenhywfar-qt5 SUBDIR += gzstream SUBDIR += hachoir-core SUBDIR += hachoir-parser SUBDIR += hachoir-regex SUBDIR += hadoop SUBDIR += hadoop2 SUBDIR += hapy SUBDIR += hcs12mem SUBDIR += heaptrack SUBDIR += heimdall SUBDIR += hexcompare SUBDIR += hexd SUBDIR += hg-git SUBDIR += hgreviewboard SUBDIR += hgsvn SUBDIR += hhdate SUBDIR += highlighterkit SUBDIR += hive SUBDIR += horde-content SUBDIR += horde-timeobjects SUBDIR += horde-whups SUBDIR += hp48cc SUBDIR += hp48xgcc SUBDIR += hpx SUBDIR += hs-ShellCheck SUBDIR += hs-alex SUBDIR += hs-bytestring-nums SUBDIR += hs-c2hs SUBDIR += hs-cabal-install SUBDIR += hs-cpphs SUBDIR += hs-darcs SUBDIR += hs-data-default SUBDIR += hs-data-default-class SUBDIR += hs-data-default-instances-base SUBDIR += hs-data-default-instances-containers SUBDIR += hs-data-default-instances-dlist SUBDIR += hs-data-default-instances-old-locale SUBDIR += hs-dlist SUBDIR += hs-extensible-exceptions SUBDIR += hs-ghc-events SUBDIR += hs-ghcprofview SUBDIR += hs-git-annex SUBDIR += hs-haddock SUBDIR += hs-happy SUBDIR += hs-hashable SUBDIR += hs-hasktags SUBDIR += hs-hlint SUBDIR += hs-hoogle SUBDIR += hs-hpack SUBDIR += hs-hspec-discover SUBDIR += hs-mtl SUBDIR += hs-mueval SUBDIR += hs-old-locale SUBDIR += hs-old-time SUBDIR += hs-profiteur SUBDIR += hs-random SUBDIR += hs-setlocale SUBDIR += hs-shake SUBDIR += hs-spago SUBDIR += hs-threadscope SUBDIR += hs-transformers-compat SUBDIR += hs-unordered-containers SUBDIR += hs-utf8-string SUBDIR += htable SUBDIR += hub SUBDIR += hwloc SUBDIR += hyperscan SUBDIR += i386-gcc SUBDIR += i386-xtoolchain-gcc SUBDIR += ice SUBDIR += ice37 SUBDIR += icestorm SUBDIR += icmake SUBDIR += icontheme SUBDIR += icu SUBDIR += icu-le-hb SUBDIR += icu-lx SUBDIR += idutils SUBDIR += ignition-cmake SUBDIR += ignition-common SUBDIR += ignition-msgs SUBDIR += ignition-plugin SUBDIR += ignition-tools SUBDIR += ikos SUBDIR += imake SUBDIR += inastemp SUBDIR += include-what-you-use SUBDIR += inifiled SUBDIR += inilib SUBDIR += inilike SUBDIR += iniparser SUBDIR += initutil SUBDIR += injeqt SUBDIR += interactive_rebase_tool SUBDIR += ioncube SUBDIR += ipython SUBDIR += ipython5 SUBDIR += ireport SUBDIR += isa-l SUBDIR += isfreedesktop SUBDIR += isl SUBDIR += ispc SUBDIR += itext SUBDIR += ivykis SUBDIR += iz SUBDIR += jam SUBDIR += jansson SUBDIR += java-findbugs SUBDIR += jclassinfo SUBDIR += jcmdline SUBDIR += jech-dht SUBDIR += jenkins SUBDIR += jenkins-lts SUBDIR += jetbrains-clion SUBDIR += jetbrains-goland SUBDIR += jetbrains-phpstorm SUBDIR += jetbrains-webstorm SUBDIR += jfrog-cli SUBDIR += jiic SUBDIR += jiri SUBDIR += jline SUBDIR += jna SUBDIR += jrtplib SUBDIR += jsap SUBDIR += jsl SUBDIR += jsmin SUBDIR += json-c SUBDIR += json-glib SUBDIR += jsoncpp SUBDIR += jsonnet SUBDIR += jsonrpc-glib SUBDIR += judy SUBDIR += jwasm SUBDIR += k8048 SUBDIR += kBuild SUBDIR += kapptemplate SUBDIR += kcachegrind SUBDIR += kcov SUBDIR += kdbg SUBDIR += kde-dev-scripts SUBDIR += kde-dev-utils SUBDIR += kdesdk SUBDIR += kdesdk-thumbnailers SUBDIR += kdesvn SUBDIR += kdev-php SUBDIR += kdev-python SUBDIR += kdevelop SUBDIR += kdevelop-pg-qt SUBDIR += kerl SUBDIR += kf5-extra-cmake-modules SUBDIR += kf5-kapidox SUBDIR += kf5-kauth SUBDIR += kf5-kbookmarks SUBDIR += kf5-kcmutils SUBDIR += kf5-kconfig SUBDIR += kf5-kcoreaddons SUBDIR += kf5-kcrash SUBDIR += kf5-kdbusaddons SUBDIR += kf5-kdeclarative SUBDIR += kf5-kdoctools SUBDIR += kf5-kfilemetadata SUBDIR += kf5-ki18n SUBDIR += kf5-kidletime SUBDIR += kf5-kio SUBDIR += kf5-kitemmodels SUBDIR += kf5-knewstuff SUBDIR += kf5-knotifications SUBDIR += kf5-knotifyconfig SUBDIR += kf5-kpackage SUBDIR += kf5-kparts SUBDIR += kf5-kpeople SUBDIR += kf5-kpty SUBDIR += kf5-kservice SUBDIR += kf5-ktexteditor SUBDIR += kf5-kunitconversion SUBDIR += kf5-solid SUBDIR += kf5-threadweaver SUBDIR += kio-extras SUBDIR += kiwix-lib SUBDIR += kms-cmake-utils SUBDIR += kodi-platform SUBDIR += kore SUBDIR += kronosnet SUBDIR += ksql SUBDIR += kyra SUBDIR += kyua SUBDIR += lab SUBDIR += lasi SUBDIR += lattice-ice40-examples-hx1k SUBDIR += lattice-ice40-examples-hx8k SUBDIR += lattice-ice40-tools SUBDIR += lazygit SUBDIR += lcov SUBDIR += leaktracer SUBDIR += leatherman SUBDIR += leiningen SUBDIR += lemon SUBDIR += lfcbase SUBDIR += lfcxml SUBDIR += libCello SUBDIR += libIDL SUBDIR += libPropList SUBDIR += libafterbase SUBDIR += liballium SUBDIR += libantlr3c SUBDIR += libappindicator SUBDIR += libaravis SUBDIR += libarea SUBDIR += libarena SUBDIR += libassa SUBDIR += libassetml SUBDIR += libast SUBDIR += libastylej SUBDIR += libastylej-arduino SUBDIR += libatomic_ops SUBDIR += libaura SUBDIR += libavl SUBDIR += libb2 SUBDIR += libbde SUBDIR += libbegemot SUBDIR += libbfd SUBDIR += libbinio SUBDIR += libbonobo SUBDIR += libbonobo-reference SUBDIR += libbpfjit SUBDIR += libbson SUBDIR += libburn SUBDIR += libcbor SUBDIR += libccid SUBDIR += libcdb SUBDIR += libcfg SUBDIR += libcfu SUBDIR += libchipcard SUBDIR += libcidr SUBDIR += libcii SUBDIR += libcircllhist SUBDIR += libcjson SUBDIR += libclc SUBDIR += libcli SUBDIR += libconcurrent SUBDIR += libconfig SUBDIR += libconfuse SUBDIR += libcrossguid SUBDIR += libcutl SUBDIR += libcwd SUBDIR += libdaemon SUBDIR += libdap SUBDIR += libdatrie SUBDIR += libdbusmenu SUBDIR += libdbusmenu-qt SUBDIR += libddoc SUBDIR += libdevq SUBDIR += libdfui SUBDIR += libdill SUBDIR += libdisasm SUBDIR += libdisorder SUBDIR += libdispatch SUBDIR += libdistance SUBDIR += libdlmalloc SUBDIR += libdlna SUBDIR += libdnsres SUBDIR += libdombey SUBDIR += libdparse SUBDIR += libds SUBDIR += libdsp SUBDIR += libdwarf SUBDIR += libe SUBDIR += libedit SUBDIR += libeio SUBDIR += libelf SUBDIR += libepoll-shim SUBDIR += libepp-nicbr SUBDIR += liberasurecode SUBDIR += libesedb SUBDIR += libestr SUBDIR += libev SUBDIR += libevdev SUBDIR += libevent SUBDIR += libevt SUBDIR += libevtx SUBDIR += libewf SUBDIR += libexplain SUBDIR += libfaketime SUBDIR += libfastcommon SUBDIR += libfastjson SUBDIR += libffcall SUBDIR += libffi SUBDIR += libfirm SUBDIR += libfixposix SUBDIR += libflatarray SUBDIR += libfmt SUBDIR += libfortuna SUBDIR += libfreefare SUBDIR += libfsapfs SUBDIR += libfsntfs SUBDIR += libftdi SUBDIR += libftdi1 SUBDIR += libfwnt SUBDIR += libfwsi SUBDIR += libg19 SUBDIR += libg19draw SUBDIR += libgamepad SUBDIR += libgdata SUBDIR += libgee SUBDIR += libgee06 SUBDIR += libgetline SUBDIR += libght SUBDIR += libgit2 SUBDIR += libgit2-glib SUBDIR += libglade2 SUBDIR += libglade2-reference SUBDIR += libglademm24 SUBDIR += libgpc SUBDIR += libgpkg SUBDIR += libgrading SUBDIR += libgsf SUBDIR += libgta SUBDIR += libgtop SUBDIR += libgudev SUBDIR += libgutenfetch SUBDIR += libhash SUBDIR += libhid SUBDIR += libhoard SUBDIR += libhtp SUBDIR += libhyve-remote SUBDIR += libical SUBDIR += libindicator SUBDIR += libinotify SUBDIR += libiqxmlrpc SUBDIR += libisofs SUBDIR += libixp SUBDIR += libjitterentropy SUBDIR += libjson++ SUBDIR += libk8055 SUBDIR += libklel SUBDIR += liblangtag SUBDIR += liblas SUBDIR += liblas12 SUBDIR += liblnk SUBDIR += liblockfile SUBDIR += liblogging SUBDIR += liblognorm SUBDIR += liblouis SUBDIR += liblpm SUBDIR += libltdl SUBDIR += liblxqt SUBDIR += libmaa SUBDIR += libmatheval SUBDIR += libmba SUBDIR += libmill SUBDIR += libmimedir SUBDIR += libmonetra SUBDIR += libmowgli SUBDIR += libmowgli2 SUBDIR += libmpcbdm SUBDIR += libmpsse SUBDIR += libmsiecf SUBDIR += libmsocket SUBDIR += libmtdev SUBDIR += libmtrie SUBDIR += libmustache SUBDIR += libnaji SUBDIR += libnfc SUBDIR += libnotify SUBDIR += libnsutils SUBDIR += libnxt SUBDIR += liboil SUBDIR += libol SUBDIR += libolecf SUBDIR += liboobs SUBDIR += libopenbsd SUBDIR += libopencm3 SUBDIR += libopensync SUBDIR += libopkele SUBDIR += liborcus SUBDIR += libosinfo SUBDIR += libosmo-abis SUBDIR += libosmo-netif SUBDIR += libosmo-sccp SUBDIR += libosmocore SUBDIR += libowfat SUBDIR += libpafe SUBDIR += libpafe-ruby SUBDIR += libparserutils SUBDIR += libpasori SUBDIR += libpci SUBDIR += libpciaccess SUBDIR += libpcl SUBDIR += libpdel SUBDIR += libpeak SUBDIR += libpeas SUBDIR += libpff SUBDIR += libphk SUBDIR += libphutil SUBDIR += libplist SUBDIR += libpo6 SUBDIR += libpololu-avr SUBDIR += libpru SUBDIR += libpthread-stubs SUBDIR += libqb SUBDIR += libqcow SUBDIR += libqsbr SUBDIR += libqtxdg SUBDIR += libr3 SUBDIR += librcc SUBDIR += librcd SUBDIR += libreadline-java SUBDIR += libredblack SUBDIR += libregf SUBDIR += librelp SUBDIR += librest SUBDIR += librevisa SUBDIR += librevisa-vish SUBDIR += librevisa-vxi SUBDIR += librolegen SUBDIR += libruin SUBDIR += libs11n SUBDIR += libscca SUBDIR += libsearpc SUBDIR += libserialport SUBDIR += libserver SUBDIR += libshbuf SUBDIR += libshhmsg SUBDIR += libshhopt SUBDIR += libsigc++12 SUBDIR += libsigc++20 SUBDIR += libsigrok SUBDIR += libsigrokdecode SUBDIR += libsigscan SUBDIR += libsigsegv SUBDIR += libsimdpp SUBDIR += libslang2 SUBDIR += libsmdev SUBDIR += libsml SUBDIR += libsmpp34 SUBDIR += libsmraw SUBDIR += libsoup SUBDIR += libsoup-gnome SUBDIR += libspark2012 SUBDIR += libspice-server SUBDIR += libstatgrab SUBDIR += libstatgrab0 SUBDIR += libstrfunc SUBDIR += libstroke SUBDIR += libsysctlmibinfo SUBDIR += libsysinfo SUBDIR += libtai SUBDIR += libtap SUBDIR += libtar SUBDIR += libtecla SUBDIR += libtermkey SUBDIR += libtextstyle SUBDIR += libthai SUBDIR += libthmap SUBDIR += libtifiles2 SUBDIR += libtool SUBDIR += libtpl SUBDIR += libtsm SUBDIR += libtuntap SUBDIR += libublio SUBDIR += libubox SUBDIR += libudev-devd SUBDIR += libukcprog SUBDIR += libunicode SUBDIR += libuninum SUBDIR += libunistring SUBDIR += libunwind SUBDIR += libuutil SUBDIR += libuv SUBDIR += libvanessa_adt SUBDIR += libvanessa_logger SUBDIR += libvanessa_socket SUBDIR += libvc SUBDIR += libversion SUBDIR += libvhdi SUBDIR += libvirt SUBDIR += libvirt-dbus SUBDIR += libvirt-glib SUBDIR += libvirt-java SUBDIR += libvmdk SUBDIR += libvolume_id SUBDIR += libvshadow SUBDIR += libvslvm SUBDIR += libvterm SUBDIR += libwfut SUBDIR += libx86 SUBDIR += libxalloc SUBDIR += libxo SUBDIR += libxs SUBDIR += libzim SUBDIR += libzookeeper SUBDIR += libzrtpcpp SUBDIR += libzvbi SUBDIR += lightning SUBDIR += linenoise-ng SUBDIR += linux-c6-dbus-glib SUBDIR += linux-c6-dbus-libs SUBDIR += linux-c6-devtools SUBDIR += linux-c6-elfutils-libelf SUBDIR += linux-c6-icu SUBDIR += linux-c6-libgfortran SUBDIR += linux-c6-libglade2 SUBDIR += linux-c6-libpciaccess SUBDIR += linux-c6-libsigc++20 SUBDIR += linux-c6-libsoup SUBDIR += linux-c6-libthai SUBDIR += linux-c6-libunwind SUBDIR += linux-c6-nspr SUBDIR += linux-c6-qt47 SUBDIR += linux-c6-sdl12 SUBDIR += linux-c7-dbus-glib SUBDIR += linux-c7-dbus-libs SUBDIR += linux-c7-devtools SUBDIR += linux-c7-elfutils-libelf SUBDIR += linux-c7-elfutils-libs SUBDIR += linux-c7-icu SUBDIR += linux-c7-libgfortran SUBDIR += linux-c7-libglade2 SUBDIR += linux-c7-libpciaccess SUBDIR += linux-c7-libsigc++20 SUBDIR += linux-c7-libthai SUBDIR += linux-c7-libunwind SUBDIR += linux-c7-make SUBDIR += linux-c7-nspr SUBDIR += linux-c7-qt SUBDIR += linux-c7-sdl12 SUBDIR += linux-c7-sdl20 SUBDIR += linux-c7-strace SUBDIR += linux-c7-systemd-libs SUBDIR += linux-ltp SUBDIR += linux_libusb SUBDIR += lion SUBDIR += listserialc SUBDIR += liteide SUBDIR += llbuild SUBDIR += llnextgen SUBDIR += llvm SUBDIR += llvm-cheri SUBDIR += llvm-devel SUBDIR += llvm60 SUBDIR += llvm70 SUBDIR += llvm80 SUBDIR += llvm90 SUBDIR += lm4tools SUBDIR += lmdbg SUBDIR += lndir SUBDIR += lnphost SUBDIR += loccount SUBDIR += lockfree-malloc SUBDIR += log4c SUBDIR += log4cplus SUBDIR += log4cpp SUBDIR += log4cxx SUBDIR += log4j SUBDIR += log4net SUBDIR += log4sh SUBDIR += log4shib SUBDIR += lokalize SUBDIR += loki SUBDIR += looks SUBDIR += love SUBDIR += love07 SUBDIR += love08 SUBDIR += love10 SUBDIR += love5 SUBDIR += lpc21isp SUBDIR += lrmi SUBDIR += lua-MessagePack SUBDIR += lua-bitlib SUBDIR += lua-bitop SUBDIR += lua-cjson SUBDIR += lua-gettext SUBDIR += lua-lgi SUBDIR += lua-lpeg SUBDIR += lua-luacheck SUBDIR += lua-luarocks SUBDIR += lua-lunit SUBDIR += lua-posix SUBDIR += lua-pty SUBDIR += lua-rds-parser SUBDIR += lua-resty-string SUBDIR += lua-stdlib SUBDIR += lua-stdlib-debug SUBDIR += lua-stdlib-normalize SUBDIR += lua-sysctl SUBDIR += lua51-bitop SUBDIR += lua51-cjson SUBDIR += lua51-libevent SUBDIR += luabind SUBDIR += luafilesystem SUBDIR += luafilesystem-51 SUBDIR += luajava SUBDIR += lutok SUBDIR += luv SUBDIR += lwp SUBDIR += lxqt-build-tools SUBDIR += m17n-db SUBDIR += m17n-docs SUBDIR += m17n-inscript2 SUBDIR += m17n-lib SUBDIR += m4 SUBDIR += mage SUBDIR += magit SUBDIR += magit-popup SUBDIR += make++ SUBDIR += makedepend SUBDIR += marisa-trie SUBDIR += mate-common SUBDIR += matreshka SUBDIR += maven SUBDIR += maven-wrapper SUBDIR += maven3 SUBDIR += maven31 SUBDIR += maven33 SUBDIR += mcpp SUBDIR += mdb SUBDIR += mdds SUBDIR += menhir SUBDIR += mercator SUBDIR += mercurial SUBDIR += mercurialeclipse SUBDIR += mergify SUBDIR += meson SUBDIR += mill SUBDIR += mimalloc SUBDIR += mime SUBDIR += mimir SUBDIR += mingw32-bin-msvcrt SUBDIR += mingw32-directx SUBDIR += mingw32-gcc SUBDIR += mingw32-libffi SUBDIR += mingw32-libyaml SUBDIR += mingw32-openssl SUBDIR += mingw32-pdcurses SUBDIR += mingw32-pthreads SUBDIR += mingw32-zlib SUBDIR += mips-gcc SUBDIR += mips-xtoolchain-gcc SUBDIR += mips64-gcc SUBDIR += mips64-xtoolchain-gcc SUBDIR += mir-core SUBDIR += mk-configure SUBDIR += mm SUBDIR += mm-common SUBDIR += modd SUBDIR += mongo-c-driver SUBDIR += mongo-cxx-driver SUBDIR += mono-addins SUBDIR += monodevelop SUBDIR += monotone SUBDIR += motor SUBDIR += mpatrol SUBDIR += mph SUBDIR += mq4cpp SUBDIR += msbuild SUBDIR += msgpack SUBDIR += msgpack-d SUBDIR += msgpuck SUBDIR += msp430-debug-stack SUBDIR += mspdebug SUBDIR += mstch SUBDIR += mtbl SUBDIR += mutagen SUBDIR += myrepos SUBDIR += nana SUBDIR += nant SUBDIR += nasm SUBDIR += naturaldocs SUBDIR += ncc SUBDIR += ncnf SUBDIR += ncurses SUBDIR += ndesk-dbus SUBDIR += ndesk-dbus-glib SUBDIR += ndesk-options SUBDIR += netscape-java40 SUBDIR += netsurf-buildsystem SUBDIR += newfile SUBDIR += newt SUBDIR += newtonsoft-json SUBDIR += nextpnr SUBDIR += nexus2-oss SUBDIR += nimble SUBDIR += nini SUBDIR += ninja SUBDIR += nlohmann-json SUBDIR += node-thrift SUBDIR += notify-sharp SUBDIR += npth SUBDIR += nsgenbind SUBDIR += nspr SUBDIR += nss_wrapper SUBDIR += nsync SUBDIR += nuitka SUBDIR += obby SUBDIR += objecthash SUBDIR += ocaml-annexlib SUBDIR += ocaml-calendar SUBDIR += ocaml-camljava SUBDIR += ocaml-camlp4 SUBDIR += ocaml-camlp5 SUBDIR += ocaml-camomile SUBDIR += ocaml-camomile-examples SUBDIR += ocaml-cfg SUBDIR += ocaml-classes SUBDIR += ocaml-cmdliner SUBDIR += ocaml-cppo SUBDIR += ocaml-deriving-ocsigen SUBDIR += ocaml-dune SUBDIR += ocaml-extlib SUBDIR += ocaml-findlib SUBDIR += ocaml-ipaddr SUBDIR += ocaml-lacaml SUBDIR += ocaml-lwt SUBDIR += ocaml-magic SUBDIR += ocaml-ocamlbuild SUBDIR += ocaml-opam SUBDIR += ocaml-ounit SUBDIR += ocaml-parmap SUBDIR += ocaml-pcre SUBDIR += ocaml-pomap SUBDIR += ocaml-ppx-tools SUBDIR += ocaml-re SUBDIR += ocaml-react SUBDIR += ocaml-res SUBDIR += ocaml-result SUBDIR += ocaml-sdl SUBDIR += ocaml-sem SUBDIR += ocaml-sexplib SUBDIR += ocaml-type_conv SUBDIR += ocaml-ulex SUBDIR += ocaml-uutf SUBDIR += ocaml-xstr SUBDIR += ocaml-xstrp4 SUBDIR += ocl-icd SUBDIR += oclgrind SUBDIR += ode SUBDIR += ois SUBDIR += okteta SUBDIR += omake SUBDIR += omniORB SUBDIR += omnisharp-server SUBDIR += oniguruma SUBDIR += oozie SUBDIR += open-beagle SUBDIR += open-usp-tukubai SUBDIR += opencl SUBDIR += opencvs SUBDIR += opendht SUBDIR += opengrok SUBDIR += openmp SUBDIR += openocd SUBDIR += openwince-include SUBDIR += openzz SUBDIR += orc SUBDIR += osc SUBDIR += ossp-al SUBDIR += ossp-cfg SUBDIR += ossp-ex SUBDIR += ossp-l2 SUBDIR += ossp-val SUBDIR += ossp-var SUBDIR += ossp-xds SUBDIR += p4 SUBDIR += p4.el SUBDIR += p4api SUBDIR += p4delta SUBDIR += p4genpatch SUBDIR += p5-AI-Pathfinding-AStar SUBDIR += p5-AI-Prolog SUBDIR += p5-ARGV-Struct SUBDIR += p5-Acme-Comment SUBDIR += p5-Acme-Damn SUBDIR += p5-Acme-MetaSyntactic SUBDIR += p5-Agent SUBDIR += p5-Algorithm-Accounting SUBDIR += p5-Algorithm-Annotate SUBDIR += p5-Algorithm-Binpack SUBDIR += p5-Algorithm-Bucketizer SUBDIR += p5-Algorithm-C3 SUBDIR += p5-Algorithm-ChooseSubsets SUBDIR += p5-Algorithm-Cluster SUBDIR += p5-Algorithm-Cron SUBDIR += p5-Algorithm-Dependency SUBDIR += p5-Algorithm-Dependency-Objects SUBDIR += p5-Algorithm-Diff SUBDIR += p5-Algorithm-Evolutionary SUBDIR += p5-Algorithm-FloodControl SUBDIR += p5-Algorithm-IncludeExclude SUBDIR += p5-Algorithm-Interval2Prefix SUBDIR += p5-Algorithm-LCS SUBDIR += p5-Algorithm-LUHN SUBDIR += p5-Algorithm-MarkovChain SUBDIR += p5-Algorithm-Merge SUBDIR += p5-Algorithm-MinMax SUBDIR += p5-Algorithm-NaiveBayes SUBDIR += p5-Algorithm-Networksort SUBDIR += p5-Algorithm-Numerical-Shuffle SUBDIR += p5-Algorithm-Permute SUBDIR += p5-Algorithm-SVM SUBDIR += p5-Alias SUBDIR += p5-Alien-Base-ModuleBuild SUBDIR += p5-Alien-Build SUBDIR += p5-Alien-SDL SUBDIR += p5-Alzabo SUBDIR += p5-Any-Daemon SUBDIR += p5-Any-Moose SUBDIR += p5-Any-Moose-Convert SUBDIR += p5-AnyData SUBDIR += p5-AnyEvent SUBDIR += p5-AnyEvent-AIO SUBDIR += p5-AnyEvent-Connection SUBDIR += p5-AnyEvent-DBI SUBDIR += p5-AnyEvent-DBI-Abstract SUBDIR += p5-AnyEvent-DBus SUBDIR += p5-AnyEvent-Filesys-Notify SUBDIR += p5-AnyEvent-Gearman SUBDIR += p5-AnyEvent-Graphite SUBDIR += p5-AnyEvent-I3 SUBDIR += p5-AnyEvent-MessagePack SUBDIR += p5-AnyEvent-RPC SUBDIR += p5-AnyEvent-Run SUBDIR += p5-AnyEvent-Subprocess SUBDIR += p5-AnyEvent-Task SUBDIR += p5-AnyEvent-Worker SUBDIR += p5-AnyMQ SUBDIR += p5-App-Build SUBDIR += p5-App-CLI SUBDIR += p5-App-CLI-Extension SUBDIR += p5-App-Cache SUBDIR += p5-App-Cmd SUBDIR += p5-App-Control SUBDIR += p5-App-FatPacker SUBDIR += p5-App-GitGot SUBDIR += p5-App-GitHub SUBDIR += p5-App-Info SUBDIR += p5-App-Options SUBDIR += p5-App-Rad SUBDIR += p5-App-SD SUBDIR += p5-App-SVN-Bisect SUBDIR += p5-App-Trace SUBDIR += p5-App-cpanminus SUBDIR += p5-App-cpanminus-reporter SUBDIR += p5-App-cpanoutdated SUBDIR += p5-App-local-lib-helper SUBDIR += p5-App-perlbrew SUBDIR += p5-App-scan_prereqs_cpanfile SUBDIR += p5-AppConfig SUBDIR += p5-AppConfig-Std SUBDIR += p5-Array-Group SUBDIR += p5-Array-Heap SUBDIR += p5-Array-Iterator SUBDIR += p5-Array-Unique SUBDIR += p5-Array-Window SUBDIR += p5-Async-Interrupt SUBDIR += p5-Async-MergePoint SUBDIR += p5-AtExit SUBDIR += p5-Attribute-Handlers SUBDIR += p5-Attribute-Handlers-Prospective SUBDIR += p5-Attribute-Persistent SUBDIR += p5-AutoLoader SUBDIR += p5-AutoXS-Header SUBDIR += p5-B-C SUBDIR += p5-B-Compiling SUBDIR += p5-B-Deobfuscate SUBDIR += p5-B-Flags SUBDIR += p5-B-Generate SUBDIR += p5-B-Graph SUBDIR += p5-B-Hooks-EndOfScope SUBDIR += p5-B-Hooks-OP-Annotation SUBDIR += p5-B-Hooks-OP-Check SUBDIR += p5-B-Hooks-OP-Check-EntersubForCV SUBDIR += p5-B-Hooks-OP-PPAddr SUBDIR += p5-B-Hooks-Parser SUBDIR += p5-B-Keywords SUBDIR += p5-B-OPCheck SUBDIR += p5-B-Size2 SUBDIR += p5-B-Utils SUBDIR += p5-BFD SUBDIR += p5-BS-Event SUBDIR += p5-BSD-Resource SUBDIR += p5-BSD-devstat SUBDIR += p5-BSD-stat SUBDIR += p5-BZ-Client SUBDIR += p5-Badger SUBDIR += p5-Benchmark-Timer SUBDIR += p5-Best SUBDIR += p5-Border-Style SUBDIR += p5-Brannigan SUBDIR += p5-Bread-Board SUBDIR += p5-Bread-Board-Declare SUBDIR += p5-Bundle-Perl6 SUBDIR += p5-C-Scan SUBDIR += p5-CBOR-XS SUBDIR += p5-CHI SUBDIR += p5-CHI-Driver-DBI SUBDIR += p5-CLASS SUBDIR += p5-CPAN-Changes SUBDIR += p5-CPAN-Checksums SUBDIR += p5-CPAN-DistnameInfo SUBDIR += p5-CPAN-Inject SUBDIR += p5-CPAN-Meta SUBDIR += p5-CPAN-Meta-Check SUBDIR += p5-CPAN-Meta-Requirements SUBDIR += p5-CPAN-Meta-YAML SUBDIR += p5-CPAN-Mini SUBDIR += p5-CPAN-Perl-Releases SUBDIR += p5-CPAN-Recent-Uploads SUBDIR += p5-CPAN-Reporter SUBDIR += p5-CPAN-Reporter-Smoker SUBDIR += p5-CPAN-SQLite SUBDIR += p5-CPAN-Site SUBDIR += p5-CPAN-Testers-Common-Client SUBDIR += p5-CPAN-Testers-Report SUBDIR += p5-CPAN-Uploader SUBDIR += p5-CPAN-YACSmoke SUBDIR += p5-CPANPLUS SUBDIR += p5-CPANPLUS-Dist-Build SUBDIR += p5-CPS SUBDIR += p5-Cache SUBDIR += p5-Cache-AgainstFile SUBDIR += p5-Cache-Cache SUBDIR += p5-Cache-FastMmap SUBDIR += p5-Cache-LRU SUBDIR += p5-Cache-Memcached-Tie SUBDIR += p5-Cache-Mmap SUBDIR += p5-Cache-Simple-TimedExpiry SUBDIR += p5-Cairo-GObject SUBDIR += p5-Calendar-Simple SUBDIR += p5-Call-Context SUBDIR += p5-Callback-Frame SUBDIR += p5-Canary-Stability SUBDIR += p5-Capture-Tiny SUBDIR += p5-Carp SUBDIR += p5-Carp-Always SUBDIR += p5-Carp-Always-Color SUBDIR += p5-Carp-Assert SUBDIR += p5-Carp-Assert-More SUBDIR += p5-Carp-Clan SUBDIR += p5-Carp-Clan-Share SUBDIR += p5-Carp-Datum SUBDIR += p5-Carp-REPL SUBDIR += p5-Cdk SUBDIR += p5-Check-ISA SUBDIR += p5-Child SUBDIR += p5-Chooser SUBDIR += p5-Class-Accessor SUBDIR += p5-Class-Accessor-Chained SUBDIR += p5-Class-Accessor-Children SUBDIR += p5-Class-Accessor-Complex SUBDIR += p5-Class-Accessor-Constructor SUBDIR += p5-Class-Accessor-Fast-Contained SUBDIR += p5-Class-Accessor-Fast-XS SUBDIR += p5-Class-Accessor-Grouped SUBDIR += p5-Class-Accessor-Installer SUBDIR += p5-Class-Accessor-Lite SUBDIR += p5-Class-Accessor-Lvalue SUBDIR += p5-Class-Accessor-Named SUBDIR += p5-Class-Adapter SUBDIR += p5-Class-AlzaboWrapper SUBDIR += p5-Class-ArrayObjects SUBDIR += p5-Class-AutoClass SUBDIR += p5-Class-Autouse SUBDIR += p5-Class-Base SUBDIR += p5-Class-BlackHole SUBDIR += p5-Class-C3 SUBDIR += p5-Class-C3-Adopt-NEXT SUBDIR += p5-Class-C3-Componentised SUBDIR += p5-Class-C3-XS SUBDIR += p5-Class-Closure SUBDIR += p5-Class-CodeStyler SUBDIR += p5-Class-Component SUBDIR += p5-Class-Constant SUBDIR += p5-Class-Container SUBDIR += p5-Class-Contract SUBDIR += p5-Class-Data-ConfigHash SUBDIR += p5-Class-Data-Inheritable SUBDIR += p5-Class-Date SUBDIR += p5-Class-Declare SUBDIR += p5-Class-Default SUBDIR += p5-Class-Delegation SUBDIR += p5-Class-EHierarchy SUBDIR += p5-Class-ErrorHandler SUBDIR += p5-Class-Factory SUBDIR += p5-Class-Factory-Util SUBDIR += p5-Class-Field SUBDIR += p5-Class-Fields SUBDIR += p5-Class-Forward SUBDIR += p5-Class-Generate SUBDIR += p5-Class-Gomor SUBDIR += p5-Class-Handle SUBDIR += p5-Class-Hook SUBDIR += p5-Class-ISA SUBDIR += p5-Class-Inner SUBDIR += p5-Class-InsideOut SUBDIR += p5-Class-Inspector SUBDIR += p5-Class-Interfaces SUBDIR += p5-Class-Load SUBDIR += p5-Class-Load-XS SUBDIR += p5-Class-Loader SUBDIR += p5-Class-MakeMethods SUBDIR += p5-Class-Measure SUBDIR += p5-Class-Method-Modifiers SUBDIR += p5-Class-Method-Modifiers-Fast SUBDIR += p5-Class-MethodMaker SUBDIR += p5-Class-MethodMapper SUBDIR += p5-Class-Mix SUBDIR += p5-Class-Mixin SUBDIR += p5-Class-MixinFactory SUBDIR += p5-Class-Multimethods SUBDIR += p5-Class-Multimethods-Pure SUBDIR += p5-Class-NamedParms SUBDIR += p5-Class-Null SUBDIR += p5-Class-OOorNO SUBDIR += p5-Class-ObjectTemplate SUBDIR += p5-Class-ObjectTemplate-DB SUBDIR += p5-Class-Observable SUBDIR += p5-Class-ParmList SUBDIR += p5-Class-Prototyped SUBDIR += p5-Class-ReturnValue SUBDIR += p5-Class-Roles SUBDIR += p5-Class-STL-Containers SUBDIR += p5-Class-Singleton SUBDIR += p5-Class-Spiffy SUBDIR += p5-Class-StateMachine SUBDIR += p5-Class-Std SUBDIR += p5-Class-Std-Fast SUBDIR += p5-Class-Std-Utils SUBDIR += p5-Class-StrongSingleton SUBDIR += p5-Class-Tangram SUBDIR += p5-Class-Throwable SUBDIR += p5-Class-Tiny SUBDIR += p5-Class-Tiny-Chained SUBDIR += p5-Class-Tom SUBDIR += p5-Class-Trigger SUBDIR += p5-Class-Unload SUBDIR += p5-Class-Virtual SUBDIR += p5-Class-WhiteHole SUBDIR += p5-Class-Workflow SUBDIR += p5-Class-XPath SUBDIR += p5-Class-XSAccessor SUBDIR += p5-Clone SUBDIR += p5-Clone-Choose SUBDIR += p5-Clone-Fast SUBDIR += p5-Clone-More SUBDIR += p5-Clone-PP SUBDIR += p5-Code-Perl SUBDIR += p5-Color-ANSI-Util SUBDIR += p5-Color-RGB-Util SUBDIR += p5-Color-Theme-Role SUBDIR += p5-Commandable SUBDIR += p5-Commands-Guarded SUBDIR += p5-CommitBit SUBDIR += p5-Compiler-Lexer SUBDIR += p5-Config-AST SUBDIR += p5-Config-Any SUBDIR += p5-Config-ApacheFormat SUBDIR += p5-Config-Auto SUBDIR += p5-Config-AutoConf SUBDIR += p5-Config-Fast SUBDIR += p5-Config-General SUBDIR += p5-Config-GitLike SUBDIR += p5-Config-Grammar SUBDIR += p5-Config-INI SUBDIR += p5-Config-INI-Reader-Ordered SUBDIR += p5-Config-INI-Simple SUBDIR += p5-Config-Identity SUBDIR += p5-Config-IniFiles SUBDIR += p5-Config-IniHash SUBDIR += p5-Config-IniRegEx SUBDIR += p5-Config-JFDI SUBDIR += p5-Config-JSON SUBDIR += p5-Config-MVP SUBDIR += p5-Config-MVP-Reader-INI SUBDIR += p5-Config-Merge SUBDIR += p5-Config-Model SUBDIR += p5-Config-Model-Tester SUBDIR += p5-Config-MySQL SUBDIR += p5-Config-Objective SUBDIR += p5-Config-Options SUBDIR += p5-Config-Parser SUBDIR += p5-Config-Parser-ldap SUBDIR += p5-Config-Perl-V SUBDIR += p5-Config-Properties SUBDIR += p5-Config-Record SUBDIR += p5-Config-Setting SUBDIR += p5-Config-Simple SUBDIR += p5-Config-Std SUBDIR += p5-Config-Tiny SUBDIR += p5-Config-Validator SUBDIR += p5-Config-Versioned SUBDIR += p5-Config-Wrest SUBDIR += p5-Config-YAML SUBDIR += p5-ConfigReader SUBDIR += p5-ConfigReader-Simple SUBDIR += p5-Connector SUBDIR += p5-Const-Exporter SUBDIR += p5-Const-Fast SUBDIR += p5-Context-Preserve SUBDIR += p5-Contextual-Return SUBDIR += p5-Coro SUBDIR += p5-Curses SUBDIR += p5-Curses-Application SUBDIR += p5-Curses-Forms SUBDIR += p5-Curses-UI SUBDIR += p5-Curses-Widgets SUBDIR += p5-Cvs SUBDIR += p5-Cwd-Guard SUBDIR += p5-DB_File-Lock SUBDIR += p5-Daemon-Control SUBDIR += p5-Dancer-Debug SUBDIR += p5-Dancer-Logger-Syslog SUBDIR += p5-Danga-Socket SUBDIR += p5-Danga-Socket-Callback SUBDIR += p5-Data-ACL SUBDIR += p5-Data-Alias SUBDIR += p5-Data-Average SUBDIR += p5-Data-Binary SUBDIR += p5-Data-Bind SUBDIR += p5-Data-Capture SUBDIR += p5-Data-ClearSilver-HDF SUBDIR += p5-Data-Clone SUBDIR += p5-Data-Compare SUBDIR += p5-Data-Diver SUBDIR += p5-Data-Domain SUBDIR += p5-Data-Dump SUBDIR += p5-Data-Dump-Color SUBDIR += p5-Data-Dump-Streamer SUBDIR += p5-Data-DumpXML SUBDIR += p5-Data-Dumper SUBDIR += p5-Data-Dumper-Concise SUBDIR += p5-Data-Dumper-Perltidy SUBDIR += p5-Data-Dumper-Simple SUBDIR += p5-Data-Flow SUBDIR += p5-Data-GUID SUBDIR += p5-Data-Grouper SUBDIR += p5-Data-HashArray SUBDIR += p5-Data-HexDump SUBDIR += p5-Data-HexDump-Range SUBDIR += p5-Data-Hexdumper SUBDIR += p5-Data-Hexify SUBDIR += p5-Data-Hierarchy SUBDIR += p5-Data-IEEE754 SUBDIR += p5-Data-Inherited SUBDIR += p5-Data-Inspect SUBDIR += p5-Data-Integer SUBDIR += p5-Data-JavaScript-Anon SUBDIR += p5-Data-Lazy SUBDIR += p5-Data-Localize SUBDIR += p5-Data-Lock SUBDIR += p5-Data-MessagePack SUBDIR += p5-Data-MessagePack-Stream SUBDIR += p5-Data-Miscellany SUBDIR += p5-Data-Model SUBDIR += p5-Data-Munge SUBDIR += p5-Data-Object SUBDIR += p5-Data-ObjectDriver SUBDIR += p5-Data-OptList SUBDIR += p5-Data-Page-NoTotalEntries SUBDIR += p5-Data-Page-Pageset SUBDIR += p5-Data-ParseBinary SUBDIR += p5-Data-Path SUBDIR += p5-Data-Peek SUBDIR += p5-Data-Perl SUBDIR += p5-Data-Printer SUBDIR += p5-Data-Properties SUBDIR += p5-Data-Rand SUBDIR += p5-Data-Rand-Obscure SUBDIR += p5-Data-Random SUBDIR += p5-Data-Range-Compare SUBDIR += p5-Data-Record SUBDIR += p5-Data-Recursive-Encode SUBDIR += p5-Data-Remember SUBDIR += p5-Data-Rmap SUBDIR += p5-Data-RoundRobin SUBDIR += p5-Data-Rx SUBDIR += p5-Data-SExpression SUBDIR += p5-Data-Sah-Normalize SUBDIR += p5-Data-Section SUBDIR += p5-Data-Section-Simple SUBDIR += p5-Data-Serializable SUBDIR += p5-Data-Serializer SUBDIR += p5-Data-Serializer-Sereal SUBDIR += p5-Data-ShowTable SUBDIR += p5-Data-Stag SUBDIR += p5-Data-Stream-Bulk SUBDIR += p5-Data-Structure-Util SUBDIR += p5-Data-Swap SUBDIR += p5-Data-Table SUBDIR += p5-Data-Taxonomy-Tags SUBDIR += p5-Data-TemporaryBag SUBDIR += p5-Data-Throttler SUBDIR += p5-Data-Throttler-Memcached SUBDIR += p5-Data-Thunk SUBDIR += p5-Data-TreeDumper SUBDIR += p5-Data-TreeDumper-Renderer-GTK SUBDIR += p5-Data-Types SUBDIR += p5-Data-URIEncode SUBDIR += p5-Data-UUID SUBDIR += p5-Data-Uniqid SUBDIR += p5-Data-Util SUBDIR += p5-Data-Validate SUBDIR += p5-Data-Validator SUBDIR += p5-Data-Visitor SUBDIR += p5-Data-Visitor-Encode SUBDIR += p5-Data-Walk SUBDIR += p5-Date-Business SUBDIR += p5-Date-Calc SUBDIR += p5-Date-Calc-Iterator SUBDIR += p5-Date-Calc-XS SUBDIR += p5-Date-DayOfWeek SUBDIR += p5-Date-Easter SUBDIR += p5-Date-Extract SUBDIR += p5-Date-EzDate SUBDIR += p5-Date-Holidays-DK SUBDIR += p5-Date-ICal SUBDIR += p5-Date-ISO SUBDIR += p5-Date-Leapyear SUBDIR += p5-Date-Manip SUBDIR += p5-Date-Pcalc SUBDIR += p5-Date-Piece SUBDIR += p5-Date-Range SUBDIR += p5-Date-Roman SUBDIR += p5-Date-Simple SUBDIR += p5-DateConvert SUBDIR += p5-DateTime SUBDIR += p5-DateTime-Astro SUBDIR += p5-DateTime-Calendar-Chinese SUBDIR += p5-DateTime-Calendar-Christian SUBDIR += p5-DateTime-Calendar-Discordian SUBDIR += p5-DateTime-Calendar-FrenchRevolutionary SUBDIR += p5-DateTime-Calendar-Hebrew SUBDIR += p5-DateTime-Calendar-Japanese SUBDIR += p5-DateTime-Calendar-Julian SUBDIR += p5-DateTime-Calendar-Mayan SUBDIR += p5-DateTime-Calendar-Pataphysical SUBDIR += p5-DateTime-Cron-Simple SUBDIR += p5-DateTime-Event-Chinese SUBDIR += p5-DateTime-Event-Cron SUBDIR += p5-DateTime-Event-Easter SUBDIR += p5-DateTime-Event-ICal SUBDIR += p5-DateTime-Event-Lunar SUBDIR += p5-DateTime-Event-NameDay SUBDIR += p5-DateTime-Event-Random SUBDIR += p5-DateTime-Event-Recurrence SUBDIR += p5-DateTime-Event-Sunrise SUBDIR += p5-DateTime-Event-Zodiac SUBDIR += p5-DateTime-Fiscal-Year SUBDIR += p5-DateTime-Format-Baby SUBDIR += p5-DateTime-Format-Bork SUBDIR += p5-DateTime-Format-Builder SUBDIR += p5-DateTime-Format-DBI SUBDIR += p5-DateTime-Format-DateManip SUBDIR += p5-DateTime-Format-DateParse SUBDIR += p5-DateTime-Format-Duration SUBDIR += p5-DateTime-Format-Epoch SUBDIR += p5-DateTime-Format-Excel SUBDIR += p5-DateTime-Format-Flexible SUBDIR += p5-DateTime-Format-HTTP SUBDIR += p5-DateTime-Format-IBeat SUBDIR += p5-DateTime-Format-ICal SUBDIR += p5-DateTime-Format-ISO8601 SUBDIR += p5-DateTime-Format-Mail SUBDIR += p5-DateTime-Format-MySQL SUBDIR += p5-DateTime-Format-Natural SUBDIR += p5-DateTime-Format-Oracle SUBDIR += p5-DateTime-Format-Pg SUBDIR += p5-DateTime-Format-RFC3339 SUBDIR += p5-DateTime-Format-RSS SUBDIR += p5-DateTime-Format-Roman SUBDIR += p5-DateTime-Format-SQLite SUBDIR += p5-DateTime-Format-Strptime SUBDIR += p5-DateTime-Format-W3CDTF SUBDIR += p5-DateTime-Format-XSD SUBDIR += p5-DateTime-Functions SUBDIR += p5-DateTime-HiRes SUBDIR += p5-DateTime-Incomplete SUBDIR += p5-DateTime-Locale SUBDIR += p5-DateTime-Precise SUBDIR += p5-DateTime-Set SUBDIR += p5-DateTime-TimeZone SUBDIR += p5-DateTime-TimeZone-Alias SUBDIR += p5-DateTime-TimeZone-LMT SUBDIR += p5-DateTime-Util-Calc SUBDIR += p5-DateTimeX-Easy SUBDIR += p5-Debug-Client SUBDIR += p5-Decision-ACL SUBDIR += p5-Declare-Constraints-Simple SUBDIR += p5-DefHash SUBDIR += p5-Devel-ArgNames SUBDIR += p5-Devel-Autoflush SUBDIR += p5-Devel-Backtrace SUBDIR += p5-Devel-BeginLift SUBDIR += p5-Devel-CallChecker SUBDIR += p5-Devel-Caller SUBDIR += p5-Devel-Caller-IgnoreNamespaces SUBDIR += p5-Devel-Caller-Perl SUBDIR += p5-Devel-Callsite SUBDIR += p5-Devel-CheckBin SUBDIR += p5-Devel-CheckCompiler SUBDIR += p5-Devel-CheckLib SUBDIR += p5-Devel-CheckOS SUBDIR += p5-Devel-Confess SUBDIR += p5-Devel-Constants SUBDIR += p5-Devel-CoreStack SUBDIR += p5-Devel-Cover SUBDIR += p5-Devel-Cover-Report-Clover SUBDIR += p5-Devel-Cycle SUBDIR += p5-Devel-DProfPP SUBDIR += p5-Devel-Declare SUBDIR += p5-Devel-Declare-Parser SUBDIR += p5-Devel-Diagram SUBDIR += p5-Devel-Ditto SUBDIR += p5-Devel-Dumpvar SUBDIR += p5-Devel-EvalContext SUBDIR += p5-Devel-Events SUBDIR += p5-Devel-Events-Objects SUBDIR += p5-Devel-FindPerl SUBDIR += p5-Devel-Gladiator SUBDIR += p5-Devel-GlobalDestruction SUBDIR += p5-Devel-GlobalDestruction-XS SUBDIR += p5-Devel-Hide SUBDIR += p5-Devel-InheritNamespace SUBDIR += p5-Devel-KYTProf SUBDIR += p5-Devel-Leak SUBDIR += p5-Devel-Leak-Cb SUBDIR += p5-Devel-Leak-Object SUBDIR += p5-Devel-LeakGuard-Object SUBDIR += p5-Devel-LeakTrace SUBDIR += p5-Devel-LexAlias SUBDIR += p5-Devel-MAT SUBDIR += p5-Devel-MAT-Dumper SUBDIR += p5-Devel-Messenger SUBDIR += p5-Devel-Modlist SUBDIR += p5-Devel-NYTProf SUBDIR += p5-Devel-OverloadInfo SUBDIR += p5-Devel-PPPort SUBDIR += p5-Devel-PackagePath SUBDIR += p5-Devel-PartialDump SUBDIR += p5-Devel-PatchPerl SUBDIR += p5-Devel-Platform-Info SUBDIR += p5-Devel-Pointer SUBDIR += p5-Devel-Profile SUBDIR += p5-Devel-REPL SUBDIR += p5-Devel-Refactor SUBDIR += p5-Devel-Refcount SUBDIR += p5-Devel-Required SUBDIR += p5-Devel-RingBuffer SUBDIR += p5-Devel-STrace SUBDIR += p5-Devel-SimpleTrace SUBDIR += p5-Devel-Size SUBDIR += p5-Devel-Size-Report SUBDIR += p5-Devel-SmallProf SUBDIR += p5-Devel-StackTrace SUBDIR += p5-Devel-StackTrace-AsHTML SUBDIR += p5-Devel-StackTrace-WithLexicals SUBDIR += p5-Devel-StealthDebug SUBDIR += p5-Devel-Symdump SUBDIR += p5-Devel-Timer SUBDIR += p5-Devel-Trace SUBDIR += p5-Devel-TraceCalls SUBDIR += p5-Devel-TraceUse SUBDIR += p5-Devel-ebug SUBDIR += p5-Devel-ptkdb SUBDIR += p5-Device-USB SUBDIR += p5-Digest-TransformPath SUBDIR += p5-Dir-Project SUBDIR += p5-Dir-Self SUBDIR += p5-Dir-Watch SUBDIR += p5-Directory-Queue SUBDIR += p5-Directory-Scratch SUBDIR += p5-Directory-Scratch-Structured SUBDIR += p5-Dist-CheckConflicts SUBDIR += p5-Dist-Joseki SUBDIR += p5-Dist-Metadata SUBDIR += p5-Dist-Zilla SUBDIR += p5-Doxygen-Filter-Perl SUBDIR += p5-DynaLoader-Functions SUBDIR += p5-EV SUBDIR += p5-Env-PS1 SUBDIR += p5-Env-Path SUBDIR += p5-Error-Helper SUBDIR += p5-Eval-Closure SUBDIR += p5-Eval-Context SUBDIR += p5-Eval-LineNumbers SUBDIR += p5-Eval-WithLexicals SUBDIR += p5-Event SUBDIR += p5-Event-ExecFlow SUBDIR += p5-Event-Join SUBDIR += p5-Event-Lib SUBDIR += p5-Event-Notify SUBDIR += p5-Event-RPC SUBDIR += p5-Every SUBDIR += p5-Exception-Class SUBDIR += p5-Exception-Class-TryCatch SUBDIR += p5-Exception-Handler SUBDIR += p5-Expect-Simple SUBDIR += p5-ExportTo SUBDIR += p5-Exporter SUBDIR += p5-Exporter-Declare SUBDIR += p5-Exporter-Easy SUBDIR += p5-Exporter-Lite SUBDIR += p5-Exporter-Tidy SUBDIR += p5-Exporter-Tiny SUBDIR += p5-ExtUtils-AutoInstall SUBDIR += p5-ExtUtils-CBuilder SUBDIR += p5-ExtUtils-CChecker SUBDIR += p5-ExtUtils-Config SUBDIR += p5-ExtUtils-Constant SUBDIR += p5-ExtUtils-CppGuess SUBDIR += p5-ExtUtils-Depends SUBDIR += p5-ExtUtils-Helpers SUBDIR += p5-ExtUtils-Install SUBDIR += p5-ExtUtils-InstallPaths SUBDIR += p5-ExtUtils-LibBuilder SUBDIR += p5-ExtUtils-MakeMaker SUBDIR += p5-ExtUtils-MakeMaker-CPANfile SUBDIR += p5-ExtUtils-MakeMaker-Coverage SUBDIR += p5-ExtUtils-Manifest SUBDIR += p5-ExtUtils-ParseXS SUBDIR += p5-ExtUtils-PkgConfig SUBDIR += p5-ExtUtils-XSBuilder SUBDIR += p5-ExtUtils-XSpp SUBDIR += p5-FFI-CheckLib SUBDIR += p5-FFI-Platypus SUBDIR += p5-FSA-Rules SUBDIR += p5-Fennec-Lite SUBDIR += p5-File-Append-TempFile SUBDIR += p5-File-Assets SUBDIR += p5-File-Attributes SUBDIR += p5-File-Attributes-Recursive SUBDIR += p5-File-BOM SUBDIR += p5-File-BaseDir SUBDIR += p5-File-BasicFlock SUBDIR += p5-File-Binary SUBDIR += p5-File-Cache SUBDIR += p5-File-Cat SUBDIR += p5-File-ChangeNotify SUBDIR += p5-File-ConfigDir SUBDIR += p5-File-Copy-Link SUBDIR += p5-File-Copy-Recursive SUBDIR += p5-File-Copy-Recursive-Reduced SUBDIR += p5-File-CountLines SUBDIR += p5-File-CreationTime SUBDIR += p5-File-DesktopEntry SUBDIR += p5-File-Dir-Dumper SUBDIR += p5-File-DirSync SUBDIR += p5-File-ExtAttr SUBDIR += p5-File-FcntlLock SUBDIR += p5-File-Find-Closures SUBDIR += p5-File-Find-Object SUBDIR += p5-File-Find-Rule SUBDIR += p5-File-Find-Rule-Filesys-Virtual SUBDIR += p5-File-Find-Rule-Perl SUBDIR += p5-File-Find-Rule-VCS SUBDIR += p5-File-Finder SUBDIR += p5-File-Flat SUBDIR += p5-File-Flock SUBDIR += p5-File-Flock-Retry SUBDIR += p5-File-FnMatch SUBDIR += p5-File-Grep SUBDIR += p5-File-HStore SUBDIR += p5-File-HomeDir SUBDIR += p5-File-HomeDir-PathClass SUBDIR += p5-File-Iterator SUBDIR += p5-File-LibMagic SUBDIR += p5-File-MMagic SUBDIR += p5-File-MMagic-XS SUBDIR += p5-File-Map SUBDIR += p5-File-MimeInfo SUBDIR += p5-File-Modified SUBDIR += p5-File-Monitor SUBDIR += p5-File-NCopy SUBDIR += p5-File-NFSLock SUBDIR += p5-File-Path SUBDIR += p5-File-Path-Expand SUBDIR += p5-File-Path-Tiny SUBDIR += p5-File-PathConvert SUBDIR += p5-File-Pid SUBDIR += p5-File-Pid-Quick SUBDIR += p5-File-Policy SUBDIR += p5-File-Random SUBDIR += p5-File-ReadBackwards SUBDIR += p5-File-Remove SUBDIR += p5-File-SafeDO SUBDIR += p5-File-SearchPath SUBDIR += p5-File-Share SUBDIR += p5-File-ShareDir SUBDIR += p5-File-ShareDir-Install SUBDIR += p5-File-ShareDir-PAR SUBDIR += p5-File-ShareDir-PathClass SUBDIR += p5-File-ShareDir-ProjectDistDir SUBDIR += p5-File-ShareDir-Tarball SUBDIR += p5-File-Slurp SUBDIR += p5-File-Slurp-Tiny SUBDIR += p5-File-Slurp-Tree SUBDIR += p5-File-Slurper SUBDIR += p5-File-Spec-Native SUBDIR += p5-File-Stream SUBDIR += p5-File-Sync SUBDIR += p5-File-Tail SUBDIR += p5-File-Tail-Dir SUBDIR += p5-File-Tail-Multi SUBDIR += p5-File-Tail-Scribe SUBDIR += p5-File-Temp SUBDIR += p5-File-Tempdir SUBDIR += p5-File-Touch SUBDIR += p5-File-Type SUBDIR += p5-File-Util SUBDIR += p5-File-Write-Rotate SUBDIR += p5-File-chdir SUBDIR += p5-File-chmod SUBDIR += p5-File-pushd SUBDIR += p5-FileHandle-Fmode SUBDIR += p5-FileHandle-Unget SUBDIR += p5-Filesys-Notify-KQueue SUBDIR += p5-Filesys-Notify-Simple SUBDIR += p5-Filesys-Virtual SUBDIR += p5-Filesys-Virtual-Plain SUBDIR += p5-Filter SUBDIR += p5-Filter-Template SUBDIR += p5-Find-Lib SUBDIR += p5-FindBin-libs SUBDIR += p5-Forest SUBDIR += p5-Form-Sensible SUBDIR += p5-FreeBSD-i386-Ptrace SUBDIR += p5-FreezeThaw SUBDIR += p5-Function-Fallback-CoreOrPP SUBDIR += p5-Function-Parameters SUBDIR += p5-Future SUBDIR += p5-Gearman SUBDIR += p5-Gearman-Client-Async SUBDIR += p5-Gearman-Server SUBDIR += p5-Gearman-XS SUBDIR += p5-Geo-JSON SUBDIR += p5-Geo-ShapeFile SUBDIR += p5-Getargs-Long SUBDIR += p5-Getopt-ArgvFile SUBDIR += p5-Getopt-Attribute SUBDIR += p5-Getopt-Compact SUBDIR += p5-Getopt-Compact-WithCmd SUBDIR += p5-Getopt-Declare SUBDIR += p5-Getopt-EX SUBDIR += p5-Getopt-Euclid SUBDIR += p5-Getopt-GUI-Long SUBDIR += p5-Getopt-Long SUBDIR += p5-Getopt-Long-Descriptive SUBDIR += p5-Getopt-Tabular SUBDIR += p5-Git-PurePerl SUBDIR += p5-Git-Repository SUBDIR += p5-Git-Repository-Plugin-Log SUBDIR += p5-Git-Sub SUBDIR += p5-Git-Version-Compare SUBDIR += p5-Git-Wrapper SUBDIR += p5-Glib-Object-Introspection SUBDIR += p5-Glib2 SUBDIR += p5-Gnome2-GConf SUBDIR += p5-Goo-Canvas SUBDIR += p5-Goo-Canvas2 SUBDIR += p5-Google-Checkout SUBDIR += p5-Google-ProtocolBuffers SUBDIR += p5-GraphQL SUBDIR += p5-Gravatar-URL SUBDIR += p5-Gtk2-Notify SUBDIR += p5-Gtk2-Spell SUBDIR += p5-Guard SUBDIR += p5-HOP-Lexer SUBDIR += p5-HOP-Stream SUBDIR += p5-Hash-AsObject SUBDIR += p5-Hash-AutoHash SUBDIR += p5-Hash-AutoHash-Args SUBDIR += p5-Hash-Case SUBDIR += p5-Hash-Diff SUBDIR += p5-Hash-FieldHash SUBDIR += p5-Hash-Flatten SUBDIR += p5-Hash-Merge-Simple SUBDIR += p5-Hash-MoreUtils SUBDIR += p5-Hash-MultiKey SUBDIR += p5-Hash-MultiValue SUBDIR += p5-Hash-NoRef SUBDIR += p5-Hash-Objectify SUBDIR += p5-Hash-Slice SUBDIR += p5-Hash-Union SUBDIR += p5-Hash-Util-FieldHash-Compat SUBDIR += p5-Hash-WithDefaults SUBDIR += p5-Heap SUBDIR += p5-Heap-Simple SUBDIR += p5-Heap-Simple-Perl SUBDIR += p5-Heap-Simple-XS SUBDIR += p5-Hook-LexWrap SUBDIR += p5-IO-AIO SUBDIR += p5-IO-All SUBDIR += p5-IO-All-LWP SUBDIR += p5-IO-Any SUBDIR += p5-IO-Async SUBDIR += p5-IO-BufferedSelect SUBDIR += p5-IO-Callback SUBDIR += p5-IO-Capture SUBDIR += p5-IO-CaptureOutput SUBDIR += p5-IO-Digest SUBDIR += p5-IO-Event SUBDIR += p5-IO-FDPass SUBDIR += p5-IO-File-AtomicChange SUBDIR += p5-IO-HTML SUBDIR += p5-IO-Handle-Util SUBDIR += p5-IO-Interactive SUBDIR += p5-IO-KQueue SUBDIR += p5-IO-Lambda SUBDIR += p5-IO-LockedFile SUBDIR += p5-IO-MultiPipe SUBDIR += p5-IO-Multiplex SUBDIR += p5-IO-NestedCapture SUBDIR += p5-IO-Null SUBDIR += p5-IO-Pager SUBDIR += p5-IO-Pipely SUBDIR += p5-IO-Prompt SUBDIR += p5-IO-Prompt-Simple SUBDIR += p5-IO-Prompt-Tiny SUBDIR += p5-IO-Prompter SUBDIR += p5-IO-Pty-Easy SUBDIR += p5-IO-SessionData SUBDIR += p5-IO-String SUBDIR += p5-IO-Stty SUBDIR += p5-IO-Tee SUBDIR += p5-IO-TieCombine SUBDIR += p5-IO-Toolkit SUBDIR += p5-IO-Tty SUBDIR += p5-IO-Util SUBDIR += p5-IO-YAML SUBDIR += p5-IO-stringy SUBDIR += p5-IOC SUBDIR += p5-IPC-Cache SUBDIR += p5-IPC-Cmd SUBDIR += p5-IPC-DirQueue SUBDIR += p5-IPC-Locker SUBDIR += p5-IPC-MM SUBDIR += p5-IPC-MMA SUBDIR += p5-IPC-Mmap SUBDIR += p5-IPC-Mmap-Share SUBDIR += p5-IPC-Open3-Simple SUBDIR += p5-IPC-PerlSSH SUBDIR += p5-IPC-PubSub SUBDIR += p5-IPC-Run SUBDIR += p5-IPC-Run-SafeHandles SUBDIR += p5-IPC-Run3 SUBDIR += p5-IPC-ShareLite SUBDIR += p5-IPC-Shareable SUBDIR += p5-IPC-SharedCache SUBDIR += p5-IPC-ShellCmd SUBDIR += p5-IPC-Signal SUBDIR += p5-IPC-System-Simple SUBDIR += p5-IRI SUBDIR += p5-Import-Base SUBDIR += p5-Import-Into SUBDIR += p5-Importer SUBDIR += p5-Inline SUBDIR += p5-Inline-ASM SUBDIR += p5-Inline-C SUBDIR += p5-Inline-CPP SUBDIR += p5-Inline-Files SUBDIR += p5-Inline-Filters SUBDIR += p5-Inline-Java SUBDIR += p5-Inline-Python SUBDIR += p5-Inline-TT SUBDIR += p5-Inline-Tcl SUBDIR += p5-InlineX-C2XS SUBDIR += p5-InlineX-CPP2XS SUBDIR += p5-Input-Validator SUBDIR += p5-Ioctl SUBDIR += p5-Iodef-Pb-Simple SUBDIR += p5-Iterator SUBDIR += p5-Iterator-IO SUBDIR += p5-Iterator-Misc SUBDIR += p5-Iterator-Simple SUBDIR += p5-Iterator-Util SUBDIR += p5-JIRA-REST SUBDIR += p5-JQuery SUBDIR += p5-JSON-Hyper SUBDIR += p5-JSON-Parse SUBDIR += p5-JSON-Path SUBDIR += p5-JSON-Pointer SUBDIR += p5-JSON-RPC SUBDIR += p5-JSON-RPC-Common SUBDIR += p5-JSON-RPC-Dispatcher SUBDIR += p5-JSON-Schema SUBDIR += p5-Java SUBDIR += p5-Jonk SUBDIR += p5-Keyword-Pluggable SUBDIR += p5-LV SUBDIR += p5-Lexical-Alias SUBDIR += p5-Lexical-Import SUBDIR += p5-Lexical-Persistence SUBDIR += p5-Lexical-SealRequireHints SUBDIR += p5-Lexical-Var SUBDIR += p5-Lingua-JA-Fold SUBDIR += p5-Lingua-Translit SUBDIR += p5-List-AllUtils SUBDIR += p5-List-Cycle SUBDIR += p5-List-Flatten SUBDIR += p5-List-Gen SUBDIR += p5-List-Group SUBDIR += p5-List-Objects-Types SUBDIR += p5-List-Objects-WithUtils SUBDIR += p5-List-Pairwise SUBDIR += p5-List-Permutor SUBDIR += p5-List-PowerSet SUBDIR += p5-List-Regexp SUBDIR += p5-List-Rotation-Cycle SUBDIR += p5-List-SomeUtils SUBDIR += p5-List-SomeUtils-XS SUBDIR += p5-List-Uniq SUBDIR += p5-List-UtilsBy SUBDIR += p5-List-UtilsBy-XS SUBDIR += p5-Locale-Maketext SUBDIR += p5-Locale-Maketext-Fuzzy SUBDIR += p5-Locale-Maketext-Gettext SUBDIR += p5-Locale-Maketext-Lexicon SUBDIR += p5-Locale-Maketext-Simple SUBDIR += p5-Locale-Msgfmt SUBDIR += p5-Locale-PGetText SUBDIR += p5-Locale-PO SUBDIR += p5-Locale-XGettext SUBDIR += p5-Locale-gettext SUBDIR += p5-Locale-libintl SUBDIR += p5-LockFile-Simple SUBDIR += p5-Log-Accounting-SVK SUBDIR += p5-Log-Accounting-SVN SUBDIR += p5-Log-Agent SUBDIR += p5-Log-Agent-Logger SUBDIR += p5-Log-Any SUBDIR += p5-Log-Any-Adapter-Callback SUBDIR += p5-Log-Any-Adapter-Dispatch SUBDIR += p5-Log-Any-Adapter-Log4perl SUBDIR += p5-Log-Any-App SUBDIR += p5-Log-Any-IfLOG SUBDIR += p5-Log-Contextual SUBDIR += p5-Log-Defer SUBDIR += p5-Log-Dispatch SUBDIR += p5-Log-Dispatch-Array SUBDIR += p5-Log-Dispatch-ArrayWithLimits SUBDIR += p5-Log-Dispatch-Colorful SUBDIR += p5-Log-Dispatch-Config SUBDIR += p5-Log-Dispatch-Configurator-Any SUBDIR += p5-Log-Dispatch-Configurator-YAML SUBDIR += p5-Log-Dispatch-DBI SUBDIR += p5-Log-Dispatch-Dir SUBDIR += p5-Log-Dispatch-Email-EmailSend SUBDIR += p5-Log-Dispatch-File-Rolling SUBDIR += p5-Log-Dispatch-File-Stamped SUBDIR += p5-Log-Dispatch-FileRotate SUBDIR += p5-Log-Dispatch-FileShared SUBDIR += p5-Log-Dispatch-FileWriteRotate SUBDIR += p5-Log-Dispatch-Perl SUBDIR += p5-Log-Dispatch-Screen-Color SUBDIR += p5-Log-Dispatch-Scribe SUBDIR += p5-Log-Dispatchouli SUBDIR += p5-Log-Dump SUBDIR += p5-Log-Handler SUBDIR += p5-Log-Log4perl SUBDIR += p5-Log-Log4perl-Appender-RabbitMQ SUBDIR += p5-Log-Log4perl-Appender-Socket-UNIX SUBDIR += p5-Log-Log4perl-Layout-JSON SUBDIR += p5-Log-Log4perl-Tiny SUBDIR += p5-Log-Message SUBDIR += p5-Log-Message-Simple SUBDIR += p5-Log-Minimal SUBDIR += p5-Log-Report SUBDIR += p5-Log-Report-Optional SUBDIR += p5-Log-Simple SUBDIR += p5-Log-Trace SUBDIR += p5-Log-TraceMessages SUBDIR += p5-Log-ger SUBDIR += p5-Logfile-Rotate SUBDIR += p5-Luka SUBDIR += p5-Lvalue SUBDIR += p5-MCE SUBDIR += p5-MCE-Shared SUBDIR += p5-MRO-Compat SUBDIR += p5-MRO-Define SUBDIR += p5-Mac-FileSpec-Unixish SUBDIR += p5-Mac-PropertyList SUBDIR += p5-Make SUBDIR += p5-Media-Type-Simple SUBDIR += p5-Memoize SUBDIR += p5-Memoize-ExpireLRU SUBDIR += p5-Meta-Builder SUBDIR += p5-MetaCPAN-Client SUBDIR += p5-Metabase-Client-Simple SUBDIR += p5-Metabase-Fact SUBDIR += p5-Method-Alias SUBDIR += p5-Method-Signatures SUBDIR += p5-Method-Signatures-Simple SUBDIR += p5-Minilla SUBDIR += p5-Minion SUBDIR += p5-Mixin-Event-Dispatch SUBDIR += p5-Mixin-Linewise SUBDIR += p5-Mknod SUBDIR += p5-Mo SUBDIR += p5-Mock-Quick SUBDIR += p5-Module-Build SUBDIR += p5-Module-Build-Convert SUBDIR += p5-Module-Build-Kwalitee SUBDIR += p5-Module-Build-Pluggable SUBDIR += p5-Module-Build-Pluggable-ReadmeMarkdownFromPod SUBDIR += p5-Module-Build-Tiny SUBDIR += p5-Module-Build-XSUtil SUBDIR += p5-Module-CPANTS-Analyse SUBDIR += p5-Module-CPANfile SUBDIR += p5-Module-CheckDeps SUBDIR += p5-Module-CheckVersion SUBDIR += p5-Module-Collect SUBDIR += p5-Module-Compile SUBDIR += p5-Module-CoreList SUBDIR += p5-Module-Dependency SUBDIR += p5-Module-Depends SUBDIR += p5-Module-Extract SUBDIR += p5-Module-Extract-Use SUBDIR += p5-Module-ExtractUse SUBDIR += p5-Module-Find SUBDIR += p5-Module-Functions SUBDIR += p5-Module-Implementation SUBDIR += p5-Module-Info SUBDIR += p5-Module-Info-File SUBDIR += p5-Module-Inspector SUBDIR += p5-Module-Install SUBDIR += p5-Module-Install-AuthorRequires SUBDIR += p5-Module-Install-AuthorTests SUBDIR += p5-Module-Install-ReadmeFromPod SUBDIR += p5-Module-Install-Repository SUBDIR += p5-Module-Install-Template SUBDIR += p5-Module-Install-TestBase SUBDIR += p5-Module-Install-XSUtil SUBDIR += p5-Module-List SUBDIR += p5-Module-Load SUBDIR += p5-Module-Load-Conditional SUBDIR += p5-Module-Loaded SUBDIR += p5-Module-Loader SUBDIR += p5-Module-Manifest SUBDIR += p5-Module-Math-Depends SUBDIR += p5-Module-Metadata SUBDIR += p5-Module-Path SUBDIR += p5-Module-Pluggable SUBDIR += p5-Module-Pluggable-Fast SUBDIR += p5-Module-Pluggable-Ordered SUBDIR += p5-Module-Reader SUBDIR += p5-Module-Recursive-Require SUBDIR += p5-Module-Refresh SUBDIR += p5-Module-Release SUBDIR += p5-Module-Reload SUBDIR += p5-Module-Reload-Sel SUBDIR += p5-Module-Runtime SUBDIR += p5-Module-Runtime-Conflicts SUBDIR += p5-Module-ScanDeps SUBDIR += p5-Module-Setup SUBDIR += p5-Module-Starter SUBDIR += p5-Module-Starter-PBP SUBDIR += p5-Module-Starter-Plugin-SimpleStore SUBDIR += p5-Module-Starter-Plugin-TT2 SUBDIR += p5-Module-Used SUBDIR += p5-Module-Util SUBDIR += p5-Module-Version SUBDIR += p5-Module-Versions SUBDIR += p5-Module-Versions-Report SUBDIR += p5-Mojolicious-Plugin-NYTProf SUBDIR += p5-Moo SUBDIR += p5-MooX-Aliases SUBDIR += p5-MooX-Attribute-ENV SUBDIR += p5-MooX-Cmd SUBDIR += p5-MooX-ConfigFromFile SUBDIR += p5-MooX-File-ConfigDir SUBDIR += p5-MooX-HandlesVia SUBDIR += p5-MooX-Locale-Passthrough SUBDIR += p5-MooX-Options SUBDIR += p5-MooX-Role-Parameterized SUBDIR += p5-MooX-Singleton SUBDIR += p5-MooX-StrictConstructor SUBDIR += p5-MooX-Thunking SUBDIR += p5-MooX-Traits SUBDIR += p5-MooX-TypeTiny SUBDIR += p5-MooX-Types-MooseLike SUBDIR += p5-MooX-Types-MooseLike-Numeric SUBDIR += p5-MooX-late SUBDIR += p5-Moos SUBDIR += p5-Moose SUBDIR += p5-Moose-Autobox SUBDIR += p5-Moose-Policy SUBDIR += p5-Moose-Test SUBDIR += p5-MooseX-Aliases SUBDIR += p5-MooseX-App SUBDIR += p5-MooseX-App-Cmd SUBDIR += p5-MooseX-ArrayRef SUBDIR += p5-MooseX-Async SUBDIR += p5-MooseX-Attribute-Chained SUBDIR += p5-MooseX-Attribute-ENV SUBDIR += p5-MooseX-AttributeHelpers SUBDIR += p5-MooseX-AttributeShortcuts SUBDIR += p5-MooseX-AuthorizedMethods SUBDIR += p5-MooseX-ClassAttribute SUBDIR += p5-MooseX-Clone SUBDIR += p5-MooseX-CompileTime-Traits SUBDIR += p5-MooseX-ConfigFromFile SUBDIR += p5-MooseX-CoverableModifiers SUBDIR += p5-MooseX-Daemonize SUBDIR += p5-MooseX-Declare SUBDIR += p5-MooseX-Emulate-Class-Accessor-Fast SUBDIR += p5-MooseX-FollowPBP SUBDIR += p5-MooseX-Getopt SUBDIR += p5-MooseX-Has-Options SUBDIR += p5-MooseX-Has-Sugar SUBDIR += p5-MooseX-HasDefaults SUBDIR += p5-MooseX-IOC SUBDIR += p5-MooseX-InsideOut SUBDIR += p5-MooseX-LazyRequire SUBDIR += p5-MooseX-Lists SUBDIR += p5-MooseX-Log-Log4perl SUBDIR += p5-MooseX-MarkAsMethods SUBDIR += p5-MooseX-Meta-TypeConstraint-ForceCoercion SUBDIR += p5-MooseX-Meta-TypeConstraint-Mooish SUBDIR += p5-MooseX-MetaDescription SUBDIR += p5-MooseX-Method-Signatures SUBDIR += p5-MooseX-MethodAttributes SUBDIR += p5-MooseX-MultiInitArg SUBDIR += p5-MooseX-MultiMethods SUBDIR += p5-MooseX-MungeHas SUBDIR += p5-MooseX-NonMoose SUBDIR += p5-MooseX-Object-Pluggable SUBDIR += p5-MooseX-OneArgNew SUBDIR += p5-MooseX-POE SUBDIR += p5-MooseX-Params-Validate SUBDIR += p5-MooseX-RelatedClassRoles SUBDIR += p5-MooseX-Role-Loggable SUBDIR += p5-MooseX-Role-Matcher SUBDIR += p5-MooseX-Role-Parameterized SUBDIR += p5-MooseX-Role-Strict SUBDIR += p5-MooseX-Runnable SUBDIR += p5-MooseX-SemiAffordanceAccessor SUBDIR += p5-MooseX-SetOnce SUBDIR += p5-MooseX-SimpleConfig SUBDIR += p5-MooseX-Singleton SUBDIR += p5-MooseX-Storage SUBDIR += p5-MooseX-StrictConstructor SUBDIR += p5-MooseX-TraitFor-Meta-Class-BetterAnonClassNames SUBDIR += p5-MooseX-Traits SUBDIR += p5-MooseX-Traits-Pluggable SUBDIR += p5-MooseX-TransactionalMethods SUBDIR += p5-MooseX-Types SUBDIR += p5-MooseX-Types-Common SUBDIR += p5-MooseX-Types-DateTime SUBDIR += p5-MooseX-Types-DateTime-ButMaintained SUBDIR += p5-MooseX-Types-DateTime-MoreCoercions SUBDIR += p5-MooseX-Types-DateTime-MySQL SUBDIR += p5-MooseX-Types-DateTimeX SUBDIR += p5-MooseX-Types-ISO8601 SUBDIR += p5-MooseX-Types-JSON SUBDIR += p5-MooseX-Types-LoadableClass SUBDIR += p5-MooseX-Types-Path-Class SUBDIR += p5-MooseX-Types-Path-Tiny SUBDIR += p5-MooseX-Types-Perl SUBDIR += p5-MooseX-Types-PortNumber SUBDIR += p5-MooseX-Types-Set-Object SUBDIR += p5-MooseX-Types-Signal SUBDIR += p5-MooseX-Types-Stringlike SUBDIR += p5-MooseX-Types-Structured SUBDIR += p5-MooseX-Types-URI SUBDIR += p5-MooseX-Types-VariantTable SUBDIR += p5-MooseX-Util SUBDIR += p5-Mouse SUBDIR += p5-MouseX-App-Cmd SUBDIR += p5-MouseX-AttributeHelpers SUBDIR += p5-MouseX-ConfigFromFile SUBDIR += p5-MouseX-Foreign SUBDIR += p5-MouseX-Getopt SUBDIR += p5-MouseX-NativeTraits SUBDIR += p5-MouseX-StrictConstructor SUBDIR += p5-MouseX-Traits SUBDIR += p5-MouseX-Types SUBDIR += p5-MouseX-Types-Path-Class SUBDIR += p5-Multiplex-CMD SUBDIR += p5-NEXT SUBDIR += p5-Net-DBus SUBDIR += p5-Net-ZooKeeper SUBDIR += p5-No-Worries SUBDIR += p5-Number-Bytes-Human SUBDIR += p5-Number-Tolerant SUBDIR += p5-OLE-Storage_Lite SUBDIR += p5-OOTools SUBDIR += p5-Object-Accessor SUBDIR += p5-Object-Array SUBDIR += p5-Object-Authority SUBDIR += p5-Object-Container SUBDIR += p5-Object-Declare SUBDIR += p5-Object-Destroyer SUBDIR += p5-Object-Enum SUBDIR += p5-Object-Event SUBDIR += p5-Object-Import SUBDIR += p5-Object-InsideOut SUBDIR += p5-Object-MultiType SUBDIR += p5-Object-Pluggable SUBDIR += p5-Object-Realize-Later SUBDIR += p5-Object-Role SUBDIR += p5-Object-Signature SUBDIR += p5-Object-Simple SUBDIR += p5-Object-Tiny SUBDIR += p5-Object-Tiny-Lvalue SUBDIR += p5-Olson-Abbreviations SUBDIR += p5-Opcodes SUBDIR += p5-OrePAN2 SUBDIR += p5-Ouch SUBDIR += p5-PAR SUBDIR += p5-PAR-Dist SUBDIR += p5-PAR-Packer SUBDIR += p5-PCSC-Card SUBDIR += p5-PHP-Serialization SUBDIR += p5-POE SUBDIR += p5-POE-API-Hooks SUBDIR += p5-POE-API-Peek SUBDIR += p5-POE-Component-Child SUBDIR += p5-POE-Component-Cron SUBDIR += p5-POE-Component-Daemon SUBDIR += p5-POE-Component-DebugShell SUBDIR += p5-POE-Component-DirWatch SUBDIR += p5-POE-Component-Hailo SUBDIR += p5-POE-Component-IKC SUBDIR += p5-POE-Component-JobQueue SUBDIR += p5-POE-Component-Logger SUBDIR += p5-POE-Component-Pluggable SUBDIR += p5-POE-Component-RSS SUBDIR += p5-POE-Component-RSSAggregator SUBDIR += p5-POE-Component-Schedule SUBDIR += p5-POE-Component-Server-XMLRPC SUBDIR += p5-POE-Component-Syndicator SUBDIR += p5-POE-Component-TSTP SUBDIR += p5-POE-Devel-Profiler SUBDIR += p5-POE-Loop-AnyEvent SUBDIR += p5-POE-Loop-Glib SUBDIR += p5-POE-Loop-Tk SUBDIR += p5-POE-Quickie SUBDIR += p5-POE-Session-MultiDispatch SUBDIR += p5-POE-Stage SUBDIR += p5-POE-Test-Loops SUBDIR += p5-POE-XS-Loop-Poll SUBDIR += p5-POE-XS-Queue-Array SUBDIR += p5-POEx-Role-SessionInstantiation SUBDIR += p5-POEx-Role-Streaming SUBDIR += p5-POEx-Types SUBDIR += p5-POSIX-strftime-Compiler SUBDIR += p5-POSIX-strptime SUBDIR += p5-PPerl SUBDIR += p5-PV SUBDIR += p5-Package-Constants SUBDIR += p5-Package-DeprecationManager SUBDIR += p5-Package-Generator SUBDIR += p5-Package-MoreUtil SUBDIR += p5-Package-Stash SUBDIR += p5-Package-Stash-XS SUBDIR += p5-Package-Variant SUBDIR += p5-PadWalker SUBDIR += p5-Parallel-Async SUBDIR += p5-Parallel-Fork-BossWorker SUBDIR += p5-Parallel-ForkManager SUBDIR += p5-Parallel-Iterator SUBDIR += p5-Parallel-Prefork SUBDIR += p5-Parallel-Scoreboard SUBDIR += p5-Params-CallbackRequest SUBDIR += p5-Params-Check SUBDIR += p5-Params-Classify SUBDIR += p5-Params-Coerce SUBDIR += p5-Params-Util SUBDIR += p5-Params-Validate SUBDIR += p5-Params-Validate-Dependencies SUBDIR += p5-Params-ValidationCompiler SUBDIR += p5-Paranoid SUBDIR += p5-Paranoid-Log-Email SUBDIR += p5-Paranoid-Log-Syslog SUBDIR += p5-Parse-CPAN-Packages SUBDIR += p5-Parse-CPAN-Packages-Fast SUBDIR += p5-Parse-ErrorString-Perl SUBDIR += p5-Parse-ExuberantCTags SUBDIR += p5-Parse-LocalDistribution SUBDIR += p5-Parse-Method-Signatures SUBDIR += p5-Parse-PMFile SUBDIR += p5-Parse-PerlConfig SUBDIR += p5-Parse-PlainConfig SUBDIR += p5-Parse-RecDescent SUBDIR += p5-Parse-VarName SUBDIR += p5-Parse-Win32Registry SUBDIR += p5-Parse-Yapp SUBDIR += p5-ParseLex SUBDIR += p5-ParseTemplate SUBDIR += p5-PatchReader SUBDIR += p5-Path-Abstract SUBDIR += p5-Path-Class SUBDIR += p5-Path-Class-File-Lockable SUBDIR += p5-Path-Dispatcher SUBDIR += p5-Path-Dispatcher-Declarative SUBDIR += p5-Path-Extended SUBDIR += p5-Path-FindDev SUBDIR += p5-Path-IsDev SUBDIR += p5-Path-Iterator-Rule SUBDIR += p5-Path-Resource SUBDIR += p5-Path-Tiny SUBDIR += p5-PathTools SUBDIR += p5-Paws SUBDIR += p5-Pegex SUBDIR += p5-Perl-Critic-Deprecated SUBDIR += p5-Perl-Metrics-Lite SUBDIR += p5-Perl-Metrics-Simple SUBDIR += p5-Perl-OSType SUBDIR += p5-Perl-PrereqScanner SUBDIR += p5-Perl-PrereqScanner-Lite SUBDIR += p5-Perl-PrereqScanner-NotQuiteLite SUBDIR += p5-Perl-Tidy SUBDIR += p5-Perl-Unsafe-Signals SUBDIR += p5-Perl-Version SUBDIR += p5-Perl-osnames SUBDIR += p5-Perl4-CoreLibs SUBDIR += p5-Perl6-Builtins SUBDIR += p5-Perl6-Export SUBDIR += p5-Perl6-Export-Attrs SUBDIR += p5-Perl6-Form SUBDIR += p5-Perl6-Junction SUBDIR += p5-Perl6-Rules SUBDIR += p5-Perl6-Say SUBDIR += p5-Perl6-Slurp SUBDIR += p5-PerlIO-Layers SUBDIR += p5-PerlIO-Util SUBDIR += p5-PerlIO-eol SUBDIR += p5-PerlIO-locale SUBDIR += p5-PerlIO-utf8_strict SUBDIR += p5-PerlIO-via-MD5 SUBDIR += p5-PerlIO-via-Timeout SUBDIR += p5-PerlIO-via-dynamic SUBDIR += p5-PerlIO-via-symlink SUBDIR += p5-PerlX-Maybe SUBDIR += p5-PerlX-Maybe-XS SUBDIR += p5-Pid-File-Flock SUBDIR += p5-Pipeline SUBDIR += p5-Pithub SUBDIR += p5-PkgConfig SUBDIR += p5-PkgConfig-LibPkgConf SUBDIR += p5-Pod-Coverage SUBDIR += p5-Pod-Coverage-Moose SUBDIR += p5-Pod-Coverage-TrustPod SUBDIR += p5-Pod-Tests SUBDIR += p5-Pod-Usage SUBDIR += p5-Pragmatic SUBDIR += p5-Proc-BackOff SUBDIR += p5-Proc-Background SUBDIR += p5-Proc-Daemon SUBDIR += p5-Proc-Fork SUBDIR += p5-Proc-Guard SUBDIR += p5-Proc-PID-File SUBDIR += p5-Proc-Pidfile SUBDIR += p5-Proc-ProcessTable SUBDIR += p5-Proc-Queue SUBDIR += p5-Proc-Reliable SUBDIR += p5-Proc-SafeExec SUBDIR += p5-Proc-Simple SUBDIR += p5-Proc-Wait3 SUBDIR += p5-Proc-WaitStat SUBDIR += p5-Progress-Any SUBDIR += p5-Project-Gantt SUBDIR += p5-Project-Libs SUBDIR += p5-Pthread-GetThreadId SUBDIR += p5-Qudo SUBDIR += p5-RPSL-Parser SUBDIR += p5-RRDTool-OO SUBDIR += p5-Range-String SUBDIR += p5-Rcs SUBDIR += p5-Rcs-Agent SUBDIR += p5-Readonly SUBDIR += p5-Readonly-XS SUBDIR += p5-ReadonlyX SUBDIR += p5-Reaper SUBDIR += p5-Ref-Util SUBDIR += p5-Ref-Util-XS SUBDIR += p5-Reflex SUBDIR += p5-Regexp-Assemble SUBDIR += p5-Regexp-Assemble-Compressed SUBDIR += p5-Regexp-Bind SUBDIR += p5-Regexp-Compare SUBDIR += p5-Regexp-Grammars SUBDIR += p5-Regexp-Lexer SUBDIR += p5-Regexp-RegGrp SUBDIR += p5-Regexp-Shellish SUBDIR += p5-Regexp-Subst-Parallel SUBDIR += p5-Regexp-Trie SUBDIR += p5-Religion SUBDIR += p5-Reply SUBDIR += p5-ResourcePool SUBDIR += p5-Resources SUBDIR += p5-Return-MultiLevel SUBDIR += p5-Return-Type SUBDIR += p5-Return-Value SUBDIR += p5-Rinci SUBDIR += p5-Role-Basic SUBDIR += p5-Role-HasMessage SUBDIR += p5-Role-Identifiable SUBDIR += p5-Role-Tiny SUBDIR += p5-Rose-DateTime SUBDIR += p5-Rose-Object SUBDIR += p5-Router-R3 SUBDIR += p5-Routes-Tiny SUBDIR += p5-RunApp SUBDIR += p5-SDL SUBDIR += p5-SNMP-Persist SUBDIR += p5-SOAP-WSDL SUBDIR += p5-SPOPS SUBDIR += p5-SSN-Validate SUBDIR += p5-SUPER SUBDIR += p5-SVN-ACL SUBDIR += p5-SVN-Access SUBDIR += p5-SVN-Agent SUBDIR += p5-SVN-Dump SUBDIR += p5-SVN-Dumpfile SUBDIR += p5-SVN-Hook SUBDIR += p5-SVN-Hooks SUBDIR += p5-SVN-Log SUBDIR += p5-SVN-Look SUBDIR += p5-SVN-Mirror SUBDIR += p5-SVN-Notify SUBDIR += p5-SVN-Notify-Config SUBDIR += p5-SVN-Notify-Filter-AuthZMail SUBDIR += p5-SVN-Notify-Filter-EmailFlatFileDB SUBDIR += p5-SVN-Notify-Filter-Markdown SUBDIR += p5-SVN-Notify-Filter-Watchers SUBDIR += p5-SVN-Notify-Mirror SUBDIR += p5-SVN-Notify-Snapshot SUBDIR += p5-SVN-S4 SUBDIR += p5-SVN-Simple SUBDIR += p5-SVN-Statistics SUBDIR += p5-SVN-Web SUBDIR += p5-Safe-Isa SUBDIR += p5-Sah SUBDIR += p5-Scalar-Defer SUBDIR += p5-Scalar-Does SUBDIR += p5-Scalar-Listify SUBDIR += p5-Scalar-String SUBDIR += p5-Scalar-Util-LooksLikeNumber SUBDIR += p5-Scalar-Util-Numeric SUBDIR += p5-Scope-Container SUBDIR += p5-Scope-Guard SUBDIR += p5-Scope-Upper SUBDIR += p5-Script-isAperlScript SUBDIR += p5-Sentinel SUBDIR += p5-Sepia SUBDIR += p5-Set-Array SUBDIR += p5-Set-ConsistentHash SUBDIR += p5-Set-Crontab SUBDIR += p5-Set-CrossProduct SUBDIR += p5-Set-Infinite SUBDIR += p5-Set-NestedGroups SUBDIR += p5-Set-Object SUBDIR += p5-Set-Scalar SUBDIR += p5-Set-Tiny SUBDIR += p5-Shape SUBDIR += p5-Shell-Base SUBDIR += p5-Shell-Config-Generate SUBDIR += p5-Shell-EnvImporter SUBDIR += p5-Shell-Guess SUBDIR += p5-Shell-Parser SUBDIR += p5-Shell-Source SUBDIR += p5-ShipIt SUBDIR += p5-ShipIt-Step-Manifest SUBDIR += p5-Signal-Mask SUBDIR += p5-Slurp SUBDIR += p5-Smart-Comments SUBDIR += p5-Sort-Array SUBDIR += p5-Sort-ArrayOfArrays SUBDIR += p5-Sort-Key SUBDIR += p5-Sort-Key-DateTime SUBDIR += p5-Sort-Key-Top SUBDIR += p5-Sort-Maker SUBDIR += p5-Sort-Tree SUBDIR += p5-Sort-Versions SUBDIR += p5-Specio SUBDIR += p5-Spiffy SUBDIR += p5-Spoon SUBDIR += p5-Storable SUBDIR += p5-Stream SUBDIR += p5-Stream-Buffered SUBDIR += p5-Stream-Reader SUBDIR += p5-String-Approx SUBDIR += p5-String-CRC32 SUBDIR += p5-String-Checker SUBDIR += p5-String-Diff SUBDIR += p5-String-Dump SUBDIR += p5-String-Ediff SUBDIR += p5-String-Errf SUBDIR += p5-String-Formatter SUBDIR += p5-String-LRC SUBDIR += p5-String-Parity SUBDIR += p5-String-Random SUBDIR += p5-String-RexxParse SUBDIR += p5-String-Similarity SUBDIR += p5-String-TT SUBDIR += p5-Struct-Dumb SUBDIR += p5-Sub-Alias SUBDIR += p5-Sub-Current SUBDIR += p5-Sub-Delete SUBDIR += p5-Sub-Exporter SUBDIR += p5-Sub-Exporter-ForMethods SUBDIR += p5-Sub-Exporter-GlobExporter SUBDIR += p5-Sub-Exporter-Lexical SUBDIR += p5-Sub-Exporter-Progressive SUBDIR += p5-Sub-Identify SUBDIR += p5-Sub-Infix SUBDIR += p5-Sub-Info SUBDIR += p5-Sub-Install SUBDIR += p5-Sub-Installer SUBDIR += p5-Sub-Multi SUBDIR += p5-Sub-Name SUBDIR += p5-Sub-Override SUBDIR += p5-Sub-Prototype SUBDIR += p5-Sub-Quote SUBDIR += p5-Sub-Signatures SUBDIR += p5-Sub-Uplevel SUBDIR += p5-Sub-WrapPackages SUBDIR += p5-Symbol-Get SUBDIR += p5-Symbol-Global-Name SUBDIR += p5-Symbol-Util SUBDIR += p5-Syntax-Keyword-Gather SUBDIR += p5-Syntax-Keyword-Junction SUBDIR += p5-Sys-CPU SUBDIR += p5-Sys-Info SUBDIR += p5-Sys-Info-Base SUBDIR += p5-Sys-Info-Driver-BSD SUBDIR += p5-Sys-MemInfo SUBDIR += p5-Sys-Mmap SUBDIR += p5-Sys-RunAlone SUBDIR += p5-Sys-RunAlways SUBDIR += p5-Sys-Sendfile SUBDIR += p5-Sys-Sendfile-FreeBSD SUBDIR += p5-Sys-Sig SUBDIR += p5-Sys-SigAction SUBDIR += p5-Sys-Syscall SUBDIR += p5-Sys-Trace SUBDIR += p5-Sys-Virt SUBDIR += p5-System-Command SUBDIR += p5-System-Info SUBDIR += p5-System-Sub SUBDIR += p5-System2 SUBDIR += p5-TAP-Formatter-JUnit SUBDIR += p5-TAP-Harness-JUnit SUBDIR += p5-TAP-SimpleOutput SUBDIR += p5-Taint-Runtime SUBDIR += p5-Taint-Util SUBDIR += p5-Task-Tiny SUBDIR += p5-Task-Weaken SUBDIR += p5-Tee SUBDIR += p5-Template-Provider-Encode SUBDIR += p5-Term-ANSIColor SUBDIR += p5-Term-ANSIScreen SUBDIR += p5-Term-Animation SUBDIR += p5-Term-App-Roles SUBDIR += p5-Term-CallEditor SUBDIR += p5-Term-Choose SUBDIR += p5-Term-Choose-Util SUBDIR += p5-Term-Clui SUBDIR += p5-Term-Detect-Software SUBDIR += p5-Term-EditLine SUBDIR += p5-Term-Encoding SUBDIR += p5-Term-Form SUBDIR += p5-Term-Menus SUBDIR += p5-Term-ProgressBar SUBDIR += p5-Term-ProgressBar-Quiet SUBDIR += p5-Term-ProgressBar-Simple SUBDIR += p5-Term-Prompt SUBDIR += p5-Term-Query SUBDIR += p5-Term-RawInput SUBDIR += p5-Term-ReadKey SUBDIR += p5-Term-ReadLine SUBDIR += p5-Term-ReadLine-Gnu SUBDIR += p5-Term-ReadLine-Perl SUBDIR += p5-Term-ReadLine-TTYtter SUBDIR += p5-Term-ReadLine-Zoid SUBDIR += p5-Term-ReadPassword SUBDIR += p5-Term-Screen SUBDIR += p5-Term-ScreenColor SUBDIR += p5-Term-Shell SUBDIR += p5-Term-Size SUBDIR += p5-Term-Size-Any SUBDIR += p5-Term-Size-Perl SUBDIR += p5-Term-Sk SUBDIR += p5-Term-Table SUBDIR += p5-Term-TablePrint SUBDIR += p5-Term-Title SUBDIR += p5-Term-UI SUBDIR += p5-Term-VT102 SUBDIR += p5-Term-VT102-Boundless SUBDIR += p5-Term-Visual SUBDIR += p5-Test-API SUBDIR += p5-Test-Able SUBDIR += p5-Test-Able-Runner SUBDIR += p5-Test-Aggregate SUBDIR += p5-Test-Assertions SUBDIR += p5-Test-Base SUBDIR += p5-Test-Benchmark SUBDIR += p5-Test-BinaryData SUBDIR += p5-Test-Bits SUBDIR += p5-Test-CPAN-Meta SUBDIR += p5-Test-CPAN-Meta-YAML SUBDIR += p5-Test-CheckDeps SUBDIR += p5-Test-CheckManifest SUBDIR += p5-Test-Class SUBDIR += p5-Test-Class-Most SUBDIR += p5-Test-ClassAPI SUBDIR += p5-Test-Classy SUBDIR += p5-Test-CleanNamespaces SUBDIR += p5-Test-Cmd SUBDIR += p5-Test-Command SUBDIR += p5-Test-Command-Simple SUBDIR += p5-Test-Compile SUBDIR += p5-Test-DBIx-Class SUBDIR += p5-Test-Data SUBDIR += p5-Test-Debugger SUBDIR += p5-Test-Declare SUBDIR += p5-Test-Deep SUBDIR += p5-Test-Deep-UnorderedPairs SUBDIR += p5-Test-Dependencies SUBDIR += p5-Test-DependentModules SUBDIR += p5-Test-Differences SUBDIR += p5-Test-Distribution SUBDIR += p5-Test-EOL SUBDIR += p5-Test-Exception SUBDIR += p5-Test-Exit SUBDIR += p5-Test-Expect SUBDIR += p5-Test-FailWarnings SUBDIR += p5-Test-Fake-HTTPD SUBDIR += p5-Test-Fatal SUBDIR += p5-Test-File SUBDIR += p5-Test-File-Contents SUBDIR += p5-Test-File-ShareDir SUBDIR += p5-Test-Filename SUBDIR += p5-Test-Fixme SUBDIR += p5-Test-Fixture-DBIC-Schema SUBDIR += p5-Test-Group SUBDIR += p5-Test-HTML-Tidy SUBDIR += p5-Test-Harness SUBDIR += p5-Test-Harness-Straps SUBDIR += p5-Test-HasVersion SUBDIR += p5-Test-HexDifferences SUBDIR += p5-Test-HexString SUBDIR += p5-Test-Identity SUBDIR += p5-Test-If SUBDIR += p5-Test-InDistDir SUBDIR += p5-Test-Inline SUBDIR += p5-Test-Inter SUBDIR += p5-Test-JSON SUBDIR += p5-Test-Kwalitee SUBDIR += p5-Test-Lazy SUBDIR += p5-Test-LeakTrace SUBDIR += p5-Test-LectroTest SUBDIR += p5-Test-LoadAllModules SUBDIR += p5-Test-Log-Log4perl SUBDIR += p5-Test-Log4perl SUBDIR += p5-Test-LongString SUBDIR += p5-Test-Manifest SUBDIR += p5-Test-ManyParams SUBDIR += p5-Test-Memory-Cycle SUBDIR += p5-Test-Mini SUBDIR += p5-Test-Mini-Unit SUBDIR += p5-Test-Mock-Guard SUBDIR += p5-Test-Mock-LWP SUBDIR += p5-Test-Mock-LWP-Dispatch SUBDIR += p5-Test-Mock-Redis SUBDIR += p5-Test-MockDateTime SUBDIR += p5-Test-MockModule SUBDIR += p5-Test-MockObject SUBDIR += p5-Test-MockRandom SUBDIR += p5-Test-MockTime SUBDIR += p5-Test-Modern SUBDIR += p5-Test-Module-Used SUBDIR += p5-Test-Moose-More SUBDIR += p5-Test-More-UTF8 SUBDIR += p5-Test-Most SUBDIR += p5-Test-Name-FromLine SUBDIR += p5-Test-Needs SUBDIR += p5-Test-Net-LDAP SUBDIR += p5-Test-Net-RabbitMQ SUBDIR += p5-Test-NoTabs SUBDIR += p5-Test-NoWarnings SUBDIR += p5-Test-Number-Delta SUBDIR += p5-Test-Object SUBDIR += p5-Test-OpenLDAP SUBDIR += p5-Test-Output SUBDIR += p5-Test-POE-Client-TCP SUBDIR += p5-Test-POE-Server-TCP SUBDIR += p5-Test-Parser SUBDIR += p5-Test-PerlTidy SUBDIR += p5-Test-Pod SUBDIR += p5-Test-Pod-Coverage SUBDIR += p5-Test-Pod-Coverage-Permissive SUBDIR += p5-Test-Portability-Files SUBDIR += p5-Test-Prereq SUBDIR += p5-Test-RandomResults SUBDIR += p5-Test-Refcount SUBDIR += p5-Test-Reporter SUBDIR += p5-Test-Reporter-Transport-Metabase SUBDIR += p5-Test-Requires SUBDIR += p5-Test-Requires-Git SUBDIR += p5-Test-RequiresInternet SUBDIR += p5-Test-Roo SUBDIR += p5-Test-Script SUBDIR += p5-Test-Script-Run SUBDIR += p5-Test-SharedFork SUBDIR += p5-Test-Signature SUBDIR += p5-Test-Simple SUBDIR += p5-Test-Singleton SUBDIR += p5-Test-Spec SUBDIR += p5-Test-Spelling SUBDIR += p5-Test-Strict SUBDIR += p5-Test-SubCalls SUBDIR += p5-Test-Synopsis SUBDIR += p5-Test-Sys-Info SUBDIR += p5-Test-TAP-HTMLMatrix SUBDIR += p5-Test-TAP-Model SUBDIR += p5-Test-TCP SUBDIR += p5-Test-TableDriven SUBDIR += p5-Test-Taint SUBDIR += p5-Test-TempDir-Tiny SUBDIR += p5-Test-Time SUBDIR += p5-Test-Timer SUBDIR += p5-Test-TinyMocker SUBDIR += p5-Test-Trap SUBDIR += p5-Test-UNIXSock SUBDIR += p5-Test-Unit SUBDIR += p5-Test-UseAllModules SUBDIR += p5-Test-Version SUBDIR += p5-Test-WWW-Declare SUBDIR += p5-Test-WWW-Mechanize SUBDIR += p5-Test-WWW-Mechanize-CGI SUBDIR += p5-Test-WWW-Mechanize-CGIApp SUBDIR += p5-Test-WWW-Mechanize-Catalyst SUBDIR += p5-Test-WWW-Mechanize-PSGI SUBDIR += p5-Test-WWW-Selenium SUBDIR += p5-Test-Warn SUBDIR += p5-Test-Warnings SUBDIR += p5-Test-Weaken SUBDIR += p5-Test-Without-Module SUBDIR += p5-Test-XML SUBDIR += p5-Test-XML-Valid SUBDIR += p5-Test-YAML SUBDIR += p5-Test-YAML-Meta SUBDIR += p5-Test-YAML-Valid SUBDIR += p5-Test-utf8 SUBDIR += p5-Test2-Harness SUBDIR += p5-Test2-Plugin-DBIProfile SUBDIR += p5-Test2-Plugin-MemUsage SUBDIR += p5-Test2-Plugin-NoWarnings SUBDIR += p5-Test2-Plugin-UUID SUBDIR += p5-Test2-Suite SUBDIR += p5-Test2-Tools-Explain SUBDIR += p5-Text-Levenshtein SUBDIR += p5-Text-Levenshtein-Damerau SUBDIR += p5-Text-LevenshteinXS SUBDIR += p5-Text-Outdent SUBDIR += p5-Text-vFile-asData SUBDIR += p5-TheSchwartz SUBDIR += p5-TheSchwartz-Simple SUBDIR += p5-TheSchwartz-Worker-SendEmail SUBDIR += p5-Thread-Apartment SUBDIR += p5-Thread-Cancel SUBDIR += p5-Thread-Pool-Simple SUBDIR += p5-Thread-Queue SUBDIR += p5-Thread-Queue-Duplex SUBDIR += p5-Thread-Suspend SUBDIR += p5-Thrift SUBDIR += p5-Thrift-XS SUBDIR += p5-Throwable SUBDIR += p5-Tie-Array-Pack SUBDIR += p5-Tie-Array-Sorted SUBDIR += p5-Tie-CPHash SUBDIR += p5-Tie-Cache SUBDIR += p5-Tie-DB_File-SplitHash SUBDIR += p5-Tie-DB_FileLock SUBDIR += p5-Tie-File SUBDIR += p5-Tie-File-AsHash SUBDIR += p5-Tie-FileLRUCache SUBDIR += p5-Tie-Function SUBDIR += p5-Tie-Hash-Indexed SUBDIR += p5-Tie-Hash-MultiValue SUBDIR += p5-Tie-Hash-Regex SUBDIR += p5-Tie-Hash-Sorted SUBDIR += p5-Tie-Hash-TwoWay SUBDIR += p5-Tie-IxHash SUBDIR += p5-Tie-LLHash SUBDIR += p5-Tie-RefHash SUBDIR += p5-Tie-RefHash-Weak SUBDIR += p5-Tie-RegexpHash SUBDIR += p5-Tie-Restore SUBDIR += p5-Tie-ShareLite SUBDIR += p5-Tie-Simple SUBDIR += p5-Tie-ToObject SUBDIR += p5-Tie-Util SUBDIR += p5-Tie-iCal SUBDIR += p5-Time-Clock SUBDIR += p5-Time-Crontab SUBDIR += p5-Time-Duration SUBDIR += p5-Time-Duration-Parse SUBDIR += p5-Time-Format SUBDIR += p5-Time-HiRes SUBDIR += p5-Time-Interval SUBDIR += p5-Time-Local SUBDIR += p5-Time-Mock SUBDIR += p5-Time-Moment SUBDIR += p5-Time-Moment-Role-TimeZone SUBDIR += p5-Time-Object SUBDIR += p5-Time-Out SUBDIR += p5-Time-ParseDate SUBDIR += p5-Time-Period SUBDIR += p5-Time-Piece SUBDIR += p5-Time-Piece-Range SUBDIR += p5-Time-Progress SUBDIR += p5-Time-Stopwatch SUBDIR += p5-Time-Warp SUBDIR += p5-Time-modules SUBDIR += p5-Time-timegm SUBDIR += p5-TimeDate SUBDIR += p5-ToolSet SUBDIR += p5-TraceFuncs SUBDIR += p5-Tree-Binary SUBDIR += p5-Tree-Binary-Dictionary SUBDIR += p5-Tree-DAG_Node SUBDIR += p5-Tree-Node SUBDIR += p5-Tree-Parser SUBDIR += p5-Tree-R SUBDIR += p5-Tree-RedBlack SUBDIR += p5-Tree-Simple SUBDIR += p5-Tree-Simple-View SUBDIR += p5-Tree-Simple-VisitorFactory SUBDIR += p5-Tree-Trie SUBDIR += p5-Type-Tie SUBDIR += p5-Type-Tiny SUBDIR += p5-Type-Tiny-Signatures SUBDIR += p5-Type-Tiny-XS SUBDIR += p5-Types-Core SUBDIR += p5-Types-Path-Tiny SUBDIR += p5-Types-Serialiser SUBDIR += p5-Types-URI SUBDIR += p5-Types-UUID SUBDIR += p5-UDCode SUBDIR += p5-UI-Dialog SUBDIR += p5-UNIVERSAL-can SUBDIR += p5-UNIVERSAL-isa SUBDIR += p5-UNIVERSAL-moniker SUBDIR += p5-UNIVERSAL-ref SUBDIR += p5-UNIVERSAL-require SUBDIR += p5-UNIVERSAL-which SUBDIR += p5-UUID SUBDIR += p5-UUID-Random SUBDIR += p5-UUID-Random-Patch-UseMRS SUBDIR += p5-UUID-Tiny SUBDIR += p5-UUID-URandom SUBDIR += p5-Uniq SUBDIR += p5-Unix-Groups SUBDIR += p5-Unix-Groups-FFI SUBDIR += p5-Unix-Statgrab SUBDIR += p5-Unix-Uptime SUBDIR += p5-User-Identity SUBDIR += p5-Util-Any SUBDIR += p5-VCP-Dest-svk SUBDIR += p5-VCP-Source-cvsbk SUBDIR += p5-VCP-autrijus SUBDIR += p5-VCS SUBDIR += p5-VCS-CVS SUBDIR += p5-VCS-Lite SUBDIR += p5-Validation-Class SUBDIR += p5-Variable-Eject SUBDIR += p5-Variable-Magic SUBDIR += p5-Want SUBDIR += p5-WeakRef SUBDIR += p5-Workflow SUBDIR += p5-X-Tiny SUBDIR += p5-XML-Compile-Tester SUBDIR += p5-XML-Pastor SUBDIR += p5-XS-Object-Magic SUBDIR += p5-XSLoader SUBDIR += p5-Xporter SUBDIR += p5-YAML-AppConfig SUBDIR += p5-Yada-Yada-Yada SUBDIR += p5-ZML SUBDIR += p5-accessors SUBDIR += p5-accessors-fast SUBDIR += p5-aliased SUBDIR += p5-asa SUBDIR += p5-autobox SUBDIR += p5-autobox-Core SUBDIR += p5-autodie SUBDIR += p5-autovivification SUBDIR += p5-bareword-filehandles SUBDIR += p5-boolean SUBDIR += p5-capitalization SUBDIR += p5-carton SUBDIR += p5-common-sense SUBDIR += p5-constant SUBDIR += p5-constant-boolean SUBDIR += p5-constant-def SUBDIR += p5-constant-defer SUBDIR += p5-constant-lexical SUBDIR += p5-cpan-listchanges SUBDIR += p5-curry SUBDIR += p5-enum SUBDIR += p5-ex-lib SUBDIR += p5-experimental SUBDIR += p5-forks SUBDIR += p5-github_creator SUBDIR += p5-goto-file SUBDIR += p5-iCal-Parser SUBDIR += p5-indirect SUBDIR += p5-interface SUBDIR += p5-latest SUBDIR += p5-lexical-underscore SUBDIR += p5-lib-abs SUBDIR += p5-libalarm SUBDIR += p5-libxml-enno SUBDIR += p5-local-lib SUBDIR += p5-match-simple SUBDIR += p5-mem SUBDIR += p5-mixin SUBDIR += p5-mocked SUBDIR += p5-multidimensional SUBDIR += p5-namespace-autoclean SUBDIR += p5-namespace-clean SUBDIR += p5-namespace-clean-xs SUBDIR += p5-namespace-sweep SUBDIR += p5-orz SUBDIR += p5-parent SUBDIR += p5-pip SUBDIR += p5-prefork SUBDIR += p5-relative SUBDIR += p5-rpm-build-perl SUBDIR += p5-self SUBDIR += p5-self-init SUBDIR += p5-strictures SUBDIR += p5-subatom SUBDIR += p5-subversion SUBDIR += p5-superclass SUBDIR += p5-syntax SUBDIR += p5-threads SUBDIR += p5-threads-shared SUBDIR += p5-true SUBDIR += p5-uni-perl SUBDIR += p5-version SUBDIR += p8-platform SUBDIR += packr SUBDIR += paexec SUBDIR += pam_wrapper SUBDIR += papi SUBDIR += papilio-loader SUBDIR += pas2dox SUBDIR += pasm SUBDIR += patch SUBDIR += pcc-libs SUBDIR += pccts SUBDIR += pcl SUBDIR += pcre SUBDIR += pcre++ SUBDIR += pcre2 SUBDIR += pcsc-ada SUBDIR += pcsc-lite SUBDIR += pdcurses SUBDIR += pear SUBDIR += pear-Config SUBDIR += pear-Console_Color SUBDIR += pear-Console_CommandLine SUBDIR += pear-Console_Getargs SUBDIR += pear-Console_Table SUBDIR += pear-Date SUBDIR += pear-Date_Holidays SUBDIR += pear-Date_Holidays_Austria SUBDIR += pear-Date_Holidays_Brazil SUBDIR += pear-Date_Holidays_Denmark SUBDIR += pear-Date_Holidays_Discordian SUBDIR += pear-Date_Holidays_EnglandWales SUBDIR += pear-Date_Holidays_Germany SUBDIR += pear-Date_Holidays_Iceland SUBDIR += pear-Date_Holidays_Ireland SUBDIR += pear-Date_Holidays_Italy SUBDIR += pear-Date_Holidays_Japan SUBDIR += pear-Date_Holidays_Netherlands SUBDIR += pear-Date_Holidays_Norway SUBDIR += pear-Date_Holidays_PHPdotNet SUBDIR += pear-Date_Holidays_Romania SUBDIR += pear-Date_Holidays_Slovenia SUBDIR += pear-Date_Holidays_Sweden SUBDIR += pear-Date_Holidays_UNO SUBDIR += pear-Date_Holidays_USA SUBDIR += pear-Date_Holidays_Ukraine SUBDIR += pear-Event_Dispatcher SUBDIR += pear-FSM SUBDIR += pear-File_Iterator SUBDIR += pear-HTML_BBCodeParser SUBDIR += pear-HTML_CSS SUBDIR += pear-HTML_Common SUBDIR += pear-HTML_Common2 SUBDIR += pear-HTML_Form SUBDIR += pear-HTML_Javascript SUBDIR += pear-HTML_Page2 SUBDIR += pear-HTML_QuickForm SUBDIR += pear-HTML_QuickForm2 SUBDIR += pear-HTML_QuickForm_Controller SUBDIR += pear-HTML_QuickForm_Livesearch SUBDIR += pear-HTML_QuickForm_Renderer_Tableless SUBDIR += pear-HTML_QuickForm_SelectFilter SUBDIR += pear-HTML_QuickForm_advmultiselect SUBDIR += pear-HTML_Select SUBDIR += pear-HTML_Select_Common SUBDIR += pear-HTML_Table SUBDIR += pear-HTML_Template_Flexy SUBDIR += pear-HTML_Template_IT SUBDIR += pear-HTML_Template_PHPLIB SUBDIR += pear-HTML_Template_Sigma SUBDIR += pear-HTML_TreeMenu SUBDIR += pear-Horde_Alarm SUBDIR += pear-Horde_Argv SUBDIR += pear-Horde_Autoloader SUBDIR += pear-Horde_Autoloader_Cache SUBDIR += pear-Horde_Cache SUBDIR += pear-Horde_Cli SUBDIR += pear-Horde_Constraint SUBDIR += pear-Horde_Controller SUBDIR += pear-Horde_Core SUBDIR += pear-Horde_Data SUBDIR += pear-Horde_Date SUBDIR += pear-Horde_Date_Parser SUBDIR += pear-Horde_Exception SUBDIR += pear-Horde_History SUBDIR += pear-Horde_Icalendar SUBDIR += pear-Horde_Injector SUBDIR += pear-Horde_Itip SUBDIR += pear-Horde_Lock SUBDIR += pear-Horde_LoginTasks SUBDIR += pear-Horde_Nls SUBDIR += pear-Horde_Notification SUBDIR += pear-Horde_Prefs SUBDIR += pear-Horde_Queue SUBDIR += pear-Horde_Rdo SUBDIR += pear-Horde_Role SUBDIR += pear-Horde_Scheduler SUBDIR += pear-Horde_Serialize SUBDIR += pear-Horde_Stream SUBDIR += pear-Horde_Stream_Filter SUBDIR += pear-Horde_Stream_Wrapper SUBDIR += pear-Horde_Support SUBDIR += pear-Horde_Thrift SUBDIR += pear-Horde_Timezone SUBDIR += pear-Horde_Token SUBDIR += pear-Horde_Translation SUBDIR += pear-Horde_Tree SUBDIR += pear-Horde_Util SUBDIR += pear-Horde_View SUBDIR += pear-I18N SUBDIR += pear-Math_Fraction SUBDIR += pear-Net_Gearman SUBDIR += pear-OLE SUBDIR += pear-PEAR_Info SUBDIR += pear-PEAR_PackageFileManager SUBDIR += pear-PEAR_PackageFileManager2 SUBDIR += pear-PEAR_PackageFileManager_Plugins SUBDIR += pear-PHPDoc SUBDIR += pear-PHPTAL SUBDIR += pear-PHPUnit_MockObject SUBDIR += pear-PHP_ArrayOf SUBDIR += pear-PHP_Beautifier SUBDIR += pear-PHP_CodeBrowser SUBDIR += pear-PHP_CodeCoverage SUBDIR += pear-PHP_CodeSniffer SUBDIR += pear-PHP_Compat SUBDIR += pear-PHP_CompatInfo SUBDIR += pear-PHP_Depend SUBDIR += pear-PHP_PMD SUBDIR += pear-PHP_Parser SUBDIR += pear-PHP_ParserGenerator SUBDIR += pear-PHP_Timer SUBDIR += pear-PHP_TokenStream SUBDIR += pear-PHP_UML SUBDIR += pear-Pager SUBDIR += pear-PhpDocumentor SUBDIR += pear-Pirum SUBDIR += pear-SebastianBergmann_FinderFacade SUBDIR += pear-SebastianBergmann_Git SUBDIR += pear-SebastianBergmann_PHPCPD SUBDIR += pear-SebastianBergmann_PHPLOC SUBDIR += pear-SebastianBergmann_Version SUBDIR += pear-Structure_LinkedList SUBDIR += pear-Structures_DataGrid SUBDIR += pear-Structures_DataGrid_Renderer_Console SUBDIR += pear-Structures_DataGrid_Renderer_HTMLSortForm SUBDIR += pear-Structures_DataGrid_Renderer_HTMLTable SUBDIR += pear-Structures_DataGrid_Renderer_XUL SUBDIR += pear-Symfony_Component_Console SUBDIR += pear-Symfony_Component_Finder SUBDIR += pear-System_Command SUBDIR += pear-Testing_Selenium SUBDIR += pear-Text_Diff SUBDIR += pear-TheSeer_DirectoryScanner SUBDIR += pear-TheSeer_fDOMDocument SUBDIR += pear-TheSeer_fXSL SUBDIR += pear-TheSeer_phpDox SUBDIR += pear-VFS SUBDIR += pear-Validate SUBDIR += pear-Validate_AU SUBDIR += pear-Validate_Finance SUBDIR += pear-Validate_Finance_CreditCard SUBDIR += pear-Validate_US SUBDIR += pear-Var_Dump SUBDIR += pear-VersionControl_Git SUBDIR += pear-VersionControl_SVN SUBDIR += pear-XML_NITF SUBDIR += pear-XML_Parser SUBDIR += pear-XML_RSS SUBDIR += pear-XML_SVG SUBDIR += pear-XML_Serializer SUBDIR += pear-XML_Transformer SUBDIR += pear-XML_Tree SUBDIR += pear-XML_Util SUBDIR += pear-channel-doctrine SUBDIR += pear-channel-ezc SUBDIR += pear-channel-geshi SUBDIR += pear-channel-horde SUBDIR += pear-channel-htmlpurifier.org SUBDIR += pear-channel-openpear SUBDIR += pear-channel-pdepend SUBDIR += pear-channel-phing SUBDIR += pear-channel-phpdoc SUBDIR += pear-channel-phpmd SUBDIR += pear-channel-phpunit SUBDIR += pear-channel-pirum SUBDIR += pear-channel-symfony SUBDIR += pear-channel-symfony2 SUBDIR += pear-channel-theseer SUBDIR += pear-channel-twig SUBDIR += pear-codegen SUBDIR += pear-ezc_Base SUBDIR += pear-ezc_ConsoleTools SUBDIR += pear-geshi SUBDIR += pear-htmlpurifier SUBDIR += pear-pdepend-staticReflection SUBDIR += pear-phing SUBDIR += pecl-APCu SUBDIR += pecl-dio SUBDIR += pecl-ds SUBDIR += pecl-eio SUBDIR += pecl-ev SUBDIR += pecl-event SUBDIR += pecl-grpc SUBDIR += pecl-hrtime SUBDIR += pecl-inotify SUBDIR += pecl-jsmin SUBDIR += pecl-json_post SUBDIR += pecl-jsond SUBDIR += pecl-msgpack SUBDIR += pecl-mustache SUBDIR += pecl-propro2 SUBDIR += pecl-protobuf SUBDIR += pecl-psr SUBDIR += pecl-raphf2 SUBDIR += pecl-request SUBDIR += pecl-swoole SUBDIR += pecl-sync SUBDIR += pecl-uploadprogress SUBDIR += pecl-uuid SUBDIR += pecl-uv SUBDIR += pecl-vld SUBDIR += pecl-weakref2 SUBDIR += pecl-xdebug SUBDIR += pecl-yac SUBDIR += pecl-yaconf SUBDIR += pecl-zookeeper SUBDIR += pep8 SUBDIR += performance SUBDIR += perlconsole SUBDIR += phabricator SUBDIR += php-Psr_Log SUBDIR += php-composer SUBDIR += php-geshi SUBDIR += php-ice37 SUBDIR += php-libawl SUBDIR += php-maxminddb SUBDIR += php71-gettext SUBDIR += php71-intl SUBDIR += php71-json SUBDIR += php71-pcntl SUBDIR += php71-readline SUBDIR += php71-shmop SUBDIR += php71-sysvmsg SUBDIR += php71-sysvsem SUBDIR += php71-sysvshm SUBDIR += php71-tokenizer SUBDIR += php72-gettext SUBDIR += php72-intl SUBDIR += php72-json SUBDIR += php72-pcntl SUBDIR += php72-readline SUBDIR += php72-shmop SUBDIR += php72-sysvmsg SUBDIR += php72-sysvsem SUBDIR += php72-sysvshm SUBDIR += php72-tokenizer SUBDIR += php73-gettext SUBDIR += php73-intl SUBDIR += php73-json SUBDIR += php73-pcntl SUBDIR += php73-readline SUBDIR += php73-shmop SUBDIR += php73-sysvmsg SUBDIR += php73-sysvsem SUBDIR += php73-sysvshm SUBDIR += php73-tokenizer SUBDIR += php74-ffi SUBDIR += php74-gettext SUBDIR += php74-intl SUBDIR += php74-json SUBDIR += php74-pcntl SUBDIR += php74-readline SUBDIR += php74-shmop SUBDIR += php74-sysvmsg SUBDIR += php74-sysvsem SUBDIR += php74-sysvshm SUBDIR += php74-tokenizer SUBDIR += phpbt SUBDIR += phpsh SUBDIR += phpunit6 SUBDIR += phpunit7 SUBDIR += phpunit8 SUBDIR += physfs SUBDIR += picojson SUBDIR += picp SUBDIR += picprog SUBDIR += pig SUBDIR += pijul SUBDIR += pipestatus SUBDIR += pire SUBDIR += pit SUBDIR += pkg-info.el SUBDIR += pkgconf SUBDIR += plan9port SUBDIR += plasma SUBDIR += plasma5-khotkeys SUBDIR += plasma5-kwrited SUBDIR += plasma5-plasma-sdk SUBDIR += pmccabe SUBDIR += pmd SUBDIR += pmdk SUBDIR += poco SUBDIR += popt SUBDIR += powerpc64-gcc SUBDIR += powerpc64-xtoolchain-gcc SUBDIR += poxml SUBDIR += ppl SUBDIR += pprof SUBDIR += pragmarcs SUBDIR += premake SUBDIR += premake4 SUBDIR += projectcenter SUBDIR += protobuf SUBDIR += protobuf-c SUBDIR += protobuf-java SUBDIR += protobuf25 SUBDIR += prototool SUBDIR += protozero SUBDIR += pructl SUBDIR += psimd SUBDIR += psptoolchain SUBDIR += psptoolchain-binutils SUBDIR += psptoolchain-gcc-stage1 SUBDIR += psptoolchain-gcc-stage2 SUBDIR += psptoolchain-gdb SUBDIR += psptoolchain-newlib SUBDIR += psptoolchain-pspsdk-stage1 SUBDIR += psptoolchain-pspsdk-stage2 SUBDIR += pstreams SUBDIR += psvn SUBDIR += pth SUBDIR += pth-hard SUBDIR += pthreadpool SUBDIR += pthsem SUBDIR += ptlib SUBDIR += ptmalloc SUBDIR += ptmalloc2 SUBDIR += pty SUBDIR += ptypes SUBDIR += publib SUBDIR += pushmi SUBDIR += py-Acquisition SUBDIR += py-AddOns SUBDIR += py-Automat SUBDIR += py-Breve SUBDIR += py-BytecodeAssembler SUBDIR += py-DateTime SUBDIR += py-DocumentTemplate SUBDIR += py-Dumper SUBDIR += py-ExtensionClass SUBDIR += py-Faker SUBDIR += py-IBMQuantumExperience SUBDIR += py-Jinja2 SUBDIR += py-Jinja2-doc SUBDIR += py-Js2Py SUBDIR += py-Missing SUBDIR += py-MultiMapping SUBDIR += py-PEAK-Rules SUBDIR += py-PeachPy SUBDIR += py-Persistence SUBDIR += py-Pint SUBDIR += py-Products.ATContentTypes SUBDIR += py-Products.ATReferenceBrowserWidget SUBDIR += py-Products.Archetypes SUBDIR += py-Products.BTreeFolder2 SUBDIR += py-Products.CMFActionIcons SUBDIR += py-Products.CMFCalendar SUBDIR += py-Products.CMFCore SUBDIR += py-Products.CMFDefault SUBDIR += py-Products.CMFDiffTool SUBDIR += py-Products.CMFDynamicViewFTI SUBDIR += py-Products.CMFEditions SUBDIR += py-Products.CMFFormController SUBDIR += py-Products.CMFPlacefulWorkflow SUBDIR += py-Products.CMFQuickInstallerTool SUBDIR += py-Products.CMFTestCase SUBDIR += py-Products.CMFUid SUBDIR += py-Products.DCWorkflow SUBDIR += py-Products.ExtendedPathIndex SUBDIR += py-Products.ExternalEditor SUBDIR += py-Products.ExternalMethod SUBDIR += py-Products.GenericSetup SUBDIR += py-Products.LDAPMultiPlugins SUBDIR += py-Products.LDAPUserFolder SUBDIR += py-Products.MIMETools SUBDIR += py-Products.Marshall SUBDIR += py-Products.MimetypesRegistry SUBDIR += py-Products.OFSP SUBDIR += py-Products.PasswordResetTool SUBDIR += py-Products.PlacelessTranslationService SUBDIR += py-Products.PloneLanguageTool SUBDIR += py-Products.PloneTestCase SUBDIR += py-Products.PluginRegistry SUBDIR += py-Products.PortalTransforms SUBDIR += py-Products.PythonScripts SUBDIR += py-Products.ResourceRegistries SUBDIR += py-Products.StandardCacheManagers SUBDIR += py-Products.ZCTextIndex SUBDIR += py-Products.ZCatalog SUBDIR += py-Products.ZSQLMethods SUBDIR += py-Products.ZopeVersionControl SUBDIR += py-Products.contentmigration SUBDIR += py-Products.statusmessages SUBDIR += py-Products.validation SUBDIR += py-PyExecJS SUBDIR += py-PyLD SUBDIR += py-PyODE SUBDIR += py-PyUtilib SUBDIR += py-QtPy SUBDIR += py-RPyC SUBDIR += py-Record SUBDIR += py-SymbolType SUBDIR += py-ToscaWidgets SUBDIR += py-XStatic SUBDIR += py-XStatic-Angular SUBDIR += py-XStatic-Angular-Bootstrap SUBDIR += py-XStatic-Angular-FileUpload SUBDIR += py-XStatic-Angular-Gettext SUBDIR += py-XStatic-Angular-Schema-Form SUBDIR += py-XStatic-Angular-lrdragndrop SUBDIR += py-XStatic-Bootstrap-Datepicker SUBDIR += py-XStatic-Bootstrap-SCSS SUBDIR += py-XStatic-D3 SUBDIR += py-XStatic-Font-Awesome SUBDIR += py-XStatic-Hogan SUBDIR += py-XStatic-JQuery-Migrate SUBDIR += py-XStatic-JQuery.TableSorter SUBDIR += py-XStatic-JQuery.quicksearch SUBDIR += py-XStatic-JSEncrypt SUBDIR += py-XStatic-Jasmine SUBDIR += py-XStatic-Rickshaw SUBDIR += py-XStatic-Spin SUBDIR += py-XStatic-bootswatch SUBDIR += py-XStatic-jQuery SUBDIR += py-XStatic-jquery-ui SUBDIR += py-XStatic-mdi SUBDIR += py-XStatic-objectpath SUBDIR += py-XStatic-roboto-fontface SUBDIR += py-XStatic-smart-table SUBDIR += py-XStatic-term.js SUBDIR += py-XStatic-tv4 SUBDIR += py-ZopeUndo SUBDIR += py-absl SUBDIR += py-adb SUBDIR += py-addict SUBDIR += py-aenum SUBDIR += py-aiofiles SUBDIR += py-aioice SUBDIR += py-aiorpcX SUBDIR += py-aiortc SUBDIR += py-akismet SUBDIR += py-amalgamate SUBDIR += py-aniso8601 SUBDIR += py-anonfunc SUBDIR += py-antlr4-python2-runtime SUBDIR += py-antlr4-python3-runtime SUBDIR += py-anyconfig SUBDIR += py-anyjson SUBDIR += py-apache_conf_parser SUBDIR += py-apipkg SUBDIR += py-apns2 SUBDIR += py-appdirs SUBDIR += py-application SUBDIR += py-applicationinsights SUBDIR += py-apptools SUBDIR += py-apscheduler SUBDIR += py-archetypes.querywidget SUBDIR += py-archetypes.referencebrowserwidget SUBDIR += py-archetypes.schemaextender SUBDIR += py-argcomplete SUBDIR += py-argh SUBDIR += py-argparse SUBDIR += py-args SUBDIR += py-arpeggio SUBDIR += py-arrow SUBDIR += py-asciimatics SUBDIR += py-asn1crypto SUBDIR += py-aspects SUBDIR += py-aspy.yaml SUBDIR += py-aspyct SUBDIR += py-astor SUBDIR += py-astroid SUBDIR += py-astroid1 SUBDIR += py-asttokens SUBDIR += py-async_generator SUBDIR += py-async_timeout SUBDIR += py-asyncio SUBDIR += py-asynctest SUBDIR += py-atomiclong SUBDIR += py-atomicwrites SUBDIR += py-atpublic SUBDIR += py-attrs SUBDIR += py-automaton SUBDIR += py-avro SUBDIR += py-aws-sam-translator SUBDIR += py-aws-xray-sdk SUBDIR += py-azure-batch SUBDIR += py-azure-cosmos SUBDIR += py-azure-datalake-store SUBDIR += py-azure-functions-devops-build SUBDIR += py-azure-graphrbac SUBDIR += py-azure-keyvault SUBDIR += py-azure-mgmt-advisor SUBDIR += py-azure-mgmt-apimanagement SUBDIR += py-azure-mgmt-appconfiguration SUBDIR += py-azure-mgmt-applicationinsights SUBDIR += py-azure-mgmt-authorization SUBDIR += py-azure-mgmt-batch SUBDIR += py-azure-mgmt-batchai SUBDIR += py-azure-mgmt-billing SUBDIR += py-azure-mgmt-botservice SUBDIR += py-azure-mgmt-cdn SUBDIR += py-azure-mgmt-cognitiveservices SUBDIR += py-azure-mgmt-compute SUBDIR += py-azure-mgmt-consumption SUBDIR += py-azure-mgmt-containerinstance SUBDIR += py-azure-mgmt-containerregistry SUBDIR += py-azure-mgmt-containerservice SUBDIR += py-azure-mgmt-cosmosdb SUBDIR += py-azure-mgmt-datalake-analytics SUBDIR += py-azure-mgmt-datalake-store SUBDIR += py-azure-mgmt-datamigration SUBDIR += py-azure-mgmt-deploymentmanager SUBDIR += py-azure-mgmt-devtestlabs SUBDIR += py-azure-mgmt-dns SUBDIR += py-azure-mgmt-eventgrid SUBDIR += py-azure-mgmt-eventhub SUBDIR += py-azure-mgmt-hdinsight SUBDIR += py-azure-mgmt-imagebuilder SUBDIR += py-azure-mgmt-iotcentral SUBDIR += py-azure-mgmt-iothub SUBDIR += py-azure-mgmt-iothubprovisioningservices SUBDIR += py-azure-mgmt-keyvault SUBDIR += py-azure-mgmt-kusto SUBDIR += py-azure-mgmt-loganalytics SUBDIR += py-azure-mgmt-managedservices SUBDIR += py-azure-mgmt-managementgroups SUBDIR += py-azure-mgmt-maps SUBDIR += py-azure-mgmt-marketplaceordering SUBDIR += py-azure-mgmt-media SUBDIR += py-azure-mgmt-monitor SUBDIR += py-azure-mgmt-msi SUBDIR += py-azure-mgmt-netapp SUBDIR += py-azure-mgmt-network SUBDIR += py-azure-mgmt-policyinsights SUBDIR += py-azure-mgmt-privatedns SUBDIR += py-azure-mgmt-rdbms SUBDIR += py-azure-mgmt-recoveryservices SUBDIR += py-azure-mgmt-recoveryservicesbackup SUBDIR += py-azure-mgmt-redis SUBDIR += py-azure-mgmt-relay SUBDIR += py-azure-mgmt-reservations SUBDIR += py-azure-mgmt-resource SUBDIR += py-azure-mgmt-search SUBDIR += py-azure-mgmt-security SUBDIR += py-azure-mgmt-servicebus SUBDIR += py-azure-mgmt-servicefabric SUBDIR += py-azure-mgmt-signalr SUBDIR += py-azure-mgmt-sql SUBDIR += py-azure-mgmt-sqlvirtualmachine SUBDIR += py-azure-mgmt-storage SUBDIR += py-azure-mgmt-trafficmanager SUBDIR += py-azure-mgmt-web SUBDIR += py-azure-multiapi-storage SUBDIR += py-azure-storage-blob SUBDIR += py-azure-storage-common SUBDIR += py-babel SUBDIR += py-babelfish SUBDIR += py-backcall SUBDIR += py-backports SUBDIR += py-backports.csv SUBDIR += py-backports.functools_lru_cache SUBDIR += py-backports.os SUBDIR += py-backports.shutil_get_terminal_size SUBDIR += py-backports.tempfile SUBDIR += py-backports.weakref SUBDIR += py-backports_abc SUBDIR += py-banal SUBDIR += py-bandit SUBDIR += py-bcdoc SUBDIR += py-bidict SUBDIR += py-billiard SUBDIR += py-binaryornot SUBDIR += py-biplist SUBDIR += py-bison SUBDIR += py-bitarray SUBDIR += py-bitstring SUBDIR += py-black SUBDIR += py-blessings SUBDIR += py-blinker SUBDIR += py-blist SUBDIR += py-bluelet SUBDIR += py-boolean.py SUBDIR += py-boto SUBDIR += py-botocore SUBDIR += py-bsd SUBDIR += py-btest SUBDIR += py-buildbot SUBDIR += py-buildbot-console-view SUBDIR += py-buildbot-grid-view SUBDIR += py-buildbot-pkg SUBDIR += py-buildbot-waterfall-view SUBDIR += py-buildbot-worker SUBDIR += py-buildbot-www SUBDIR += py-bullet3 SUBDIR += py-cabby SUBDIR += py-cached-property SUBDIR += py-cachetools SUBDIR += py-calendar SUBDIR += py-canonicaljson SUBDIR += py-capstone SUBDIR += py-castellan SUBDIR += py-cbor SUBDIR += py-cbor2 SUBDIR += py-cclib SUBDIR += py-cdg SUBDIR += py-celery SUBDIR += py-cerberus SUBDIR += py-certsrv SUBDIR += py-cffi SUBDIR += py-cfgparse SUBDIR += py-cfgv SUBDIR += py-cfn-lint SUBDIR += py-cftime SUBDIR += py-chainmap SUBDIR += py-characteristic SUBDIR += py-check-manifest SUBDIR += py-cheetah SUBDIR += py-cheetah3 SUBDIR += py-ciphon SUBDIR += py-circuits SUBDIR += py-cjson SUBDIR += py-cld SUBDIR += py-cli-helpers SUBDIR += py-cliapp SUBDIR += py-click SUBDIR += py-click-completion SUBDIR += py-click-log SUBDIR += py-click-plugins SUBDIR += py-click-threading SUBDIR += py-click6 SUBDIR += py-cliff SUBDIR += py-cligj SUBDIR += py-clint SUBDIR += py-clonedigger SUBDIR += py-cloudpickle SUBDIR += py-cluster SUBDIR += py-cmd2 SUBDIR += py-cmdtest SUBDIR += py-codecov SUBDIR += py-codegen SUBDIR += py-cog SUBDIR += py-collective.monkeypatcher SUBDIR += py-collective.z3cform.datetimewidget SUBDIR += py-colorama SUBDIR += py-coloredlogs SUBDIR += py-colorful SUBDIR += py-colorlog SUBDIR += py-columnize SUBDIR += py-conditional SUBDIR += py-configargparse SUBDIR += py-configobj SUBDIR += py-configparser SUBDIR += py-confusable_homoglyphs SUBDIR += py-constantly SUBDIR += py-construct SUBDIR += py-contextlib2 SUBDIR += py-convertdate SUBDIR += py-cookiecutter SUBDIR += py-coreapi SUBDIR += py-coreschema SUBDIR += py-country SUBDIR += py-cov-core SUBDIR += py-coverage SUBDIR += py-crank SUBDIR += py-crc32c SUBDIR += py-crcmod SUBDIR += py-ctags SUBDIR += py-cuisine SUBDIR += py-cursive SUBDIR += py-curtsies SUBDIR += py-cxx SUBDIR += py-cycler SUBDIR += py-cymem SUBDIR += py-cytoolz SUBDIR += py-d2to1 SUBDIR += py-daemon SUBDIR += py-daemon-runner SUBDIR += py-daemonize SUBDIR += py-daemons SUBDIR += py-dal SUBDIR += py-darcsver SUBDIR += py-darts.util.lru SUBDIR += py-dataclasses SUBDIR += py-datatest SUBDIR += py-dateparser SUBDIR += py-dateutil SUBDIR += py-dateutils SUBDIR += py-datrie SUBDIR += py-dbus SUBDIR += py-ddt SUBDIR += py-ddtrace SUBDIR += py-debtcollector SUBDIR += py-decorator SUBDIR += py-decoratortools SUBDIR += py-deepdiff SUBDIR += py-defusedxml SUBDIR += py-delfick_error SUBDIR += py-deliciousapi SUBDIR += py-demjson SUBDIR += py-deprecated SUBDIR += py-deprecation SUBDIR += py-dexml SUBDIR += py-dialog SUBDIR += py-dialog3 SUBDIR += py-diazo SUBDIR += py-dill SUBDIR += py-dirspec SUBDIR += py-dis3 SUBDIR += py-distlib SUBDIR += py-distorm SUBDIR += py-dj22-django-rq SUBDIR += py-django-rq SUBDIR += py-django-rq-dashboard SUBDIR += py-django-tastypie-mongoengine SUBDIR += py-docker-py SUBDIR += py-dockerpty SUBDIR += py-docopt SUBDIR += py-dogpile.cache SUBDIR += py-doit SUBDIR += py-dtfabric SUBDIR += py-durus SUBDIR += py-dynrules SUBDIR += py-easyprocess SUBDIR += py-editdistance SUBDIR += py-efl SUBDIR += py-eggtestinfo SUBDIR += py-ejson SUBDIR += py-entrypoints SUBDIR += py-enum-compat SUBDIR += py-enum34 SUBDIR += py-envisage SUBDIR += py-epdb SUBDIR += py-epsilon SUBDIR += py-evdev SUBDIR += py-eventlib SUBDIR += py-ewmh SUBDIR += py-exam SUBDIR += py-expiringdict SUBDIR += py-extras SUBDIR += py-extremes SUBDIR += py-ezpyinline SUBDIR += py-fabric SUBDIR += py-fabric1 SUBDIR += py-fabric3 SUBDIR += py-fam SUBDIR += py-fastcache SUBDIR += py-fasteners SUBDIR += py-fastentrypoints SUBDIR += py-fastimport SUBDIR += py-fastnumbers SUBDIR += py-fbprophet SUBDIR += py-filemagic SUBDIR += py-first SUBDIR += py-five.customerize SUBDIR += py-five.formlib SUBDIR += py-five.globalrequest SUBDIR += py-five.localsitemanager SUBDIR += py-fixtures SUBDIR += py-flake8 SUBDIR += py-flake8-bugbear SUBDIR += py-flake8-builtins SUBDIR += py-flake8-docstrings SUBDIR += py-flake8-import-order SUBDIR += py-flake8-polyfill SUBDIR += py-flake8-quotes SUBDIR += py-flaky SUBDIR += py-flask-babel SUBDIR += py-flatbuffers SUBDIR += py-flex SUBDIR += py-flexmock SUBDIR += py-fluent-logger SUBDIR += py-flufl.i18n SUBDIR += py-flufl.lock SUBDIR += py-foolscap SUBDIR += py-fortran SUBDIR += py-freebsd SUBDIR += py-freebsd-sysctl SUBDIR += py-freenas.dispatcher SUBDIR += py-freenas.utils SUBDIR += py-freezegun SUBDIR += py-frozendict SUBDIR += py-fs SUBDIR += py-fs2 SUBDIR += py-fsm SUBDIR += py-fudge SUBDIR += py-funcparserlib SUBDIR += py-funcsigs SUBDIR += py-functools32 SUBDIR += py-funcy SUBDIR += py-furl SUBDIR += py-fusefs SUBDIR += py-fusepy SUBDIR += py-future SUBDIR += py-futures SUBDIR += py-futurist SUBDIR += py-fuzzywuzzy SUBDIR += py-fypp SUBDIR += py-game SUBDIR += py-game_sdl2 SUBDIR += py-gamin SUBDIR += py-gast SUBDIR += py-gdata SUBDIR += py-gdbgui SUBDIR += py-gearman SUBDIR += py-generate SUBDIR += py-genty SUBDIR += py-geojson SUBDIR += py-geotypes SUBDIR += py-gevent SUBDIR += py-git-up SUBDIR += py-git-url-parse SUBDIR += py-git_semver SUBDIR += py-gitdb2 SUBDIR += py-gitless SUBDIR += py-gitosis SUBDIR += py-gitpython SUBDIR += py-glance-store SUBDIR += py-glob2 SUBDIR += py-gobject SUBDIR += py-gobject3 SUBDIR += py-google-apputils SUBDIR += py-google-cloud-iam SUBDIR += py-google-i18n-address SUBDIR += py-google-pasta SUBDIR += py-googleapis-common-protos SUBDIR += py-grab SUBDIR += py-graphene SUBDIR += py-graphene-django SUBDIR += py-graphene-sqlalchemy SUBDIR += py-graphql-core SUBDIR += py-graphql-relay SUBDIR += py-greenlet SUBDIR += py-grizzled SUBDIR += py-grouch SUBDIR += py-grpcio SUBDIR += py-grpcio-gcp SUBDIR += py-grpcio-tools SUBDIR += py-gtfslib SUBDIR += py-gyp SUBDIR += py-hash_ring SUBDIR += py-hghooks SUBDIR += py-hgsubversion SUBDIR += py-hgtools SUBDIR += py-holidays SUBDIR += py-http-prompt SUBDIR += py-humanize SUBDIR += py-hypothesis SUBDIR += py-icalendar SUBDIR += py-ice SUBDIR += py-ice37 SUBDIR += py-identify SUBDIR += py-ijson SUBDIR += py-imgkit SUBDIR += py-importlab SUBDIR += py-importlib-metadata SUBDIR += py-importlib-resources SUBDIR += py-incremental SUBDIR += py-inflect SUBDIR += py-inflection SUBDIR += py-inifile SUBDIR += py-iniparse SUBDIR += py-initgroups SUBDIR += py-instant SUBDIR += py-intbitset SUBDIR += py-intervaltree SUBDIR += py-invoke SUBDIR += py-ioflo SUBDIR += py-ipaddr SUBDIR += py-ipdb SUBDIR += py-ipykernel SUBDIR += py-ipykernel5 SUBDIR += py-ipyparallel SUBDIR += py-ipython_genutils SUBDIR += py-ipywidgets SUBDIR += py-iso8601 SUBDIR += py-isodate SUBDIR += py-isort SUBDIR += py-iterpipes SUBDIR += py-itypes SUBDIR += py-jaraco SUBDIR += py-jaraco.classes SUBDIR += py-jaraco.context SUBDIR += py-jaraco.functools SUBDIR += py-jaraco.itertools SUBDIR += py-jaraco.logging SUBDIR += py-jaraco.timing SUBDIR += py-jaraco.util SUBDIR += py-javaproperties SUBDIR += py-jcc SUBDIR += py-jdcal SUBDIR += py-jedi SUBDIR += py-jeepney SUBDIR += py-jellyfish SUBDIR += py-jenkins-job-builder SUBDIR += py-jep SUBDIR += py-jinja2-time SUBDIR += py-jira SUBDIR += py-jitterentropy SUBDIR += py-jmespath SUBDIR += py-joblib SUBDIR += py-jsbeautifier SUBDIR += py-jsmin SUBDIR += py-json-py SUBDIR += py-json-sempai SUBDIR += py-json5 SUBDIR += py-json_tricks SUBDIR += py-jsondiff SUBDIR += py-jsonform SUBDIR += py-jsonlib SUBDIR += py-jsonlib2 SUBDIR += py-jsonlines SUBDIR += py-jsonpatch SUBDIR += py-jsonpath-rw SUBDIR += py-jsonpickle SUBDIR += py-jsonpointer SUBDIR += py-jsonref SUBDIR += py-jsonrpclib SUBDIR += py-jsonrpclib-pelix SUBDIR += py-jsonschema SUBDIR += py-jsonsir SUBDIR += py-jupyter_client SUBDIR += py-jupyter_console SUBDIR += py-jupyter_core SUBDIR += py-jupyterlab SUBDIR += py-jupyterlab_launcher SUBDIR += py-jupyterlab_server SUBDIR += py-kaitaistruct SUBDIR += py-kaptan SUBDIR += py-kayako SUBDIR += py-kazoo SUBDIR += py-keystone-engine SUBDIR += py-keystoneauth1 SUBDIR += py-keystonemiddleware SUBDIR += py-kid SUBDIR += py-kitchen SUBDIR += py-kjbuckets SUBDIR += py-knack SUBDIR += py-kqueue SUBDIR += py-lark-parser SUBDIR += py-launchpadlib SUBDIR += py-lazr.config SUBDIR += py-lazr.delegates SUBDIR += py-lazr.restfulclient SUBDIR += py-lazr.uri SUBDIR += py-lazy SUBDIR += py-lazy-object-proxy SUBDIR += py-libioc SUBDIR += py-libiocage SUBDIR += py-liblarch SUBDIR += py-libpeas SUBDIR += py-libplist SUBDIR += py-libtaxii SUBDIR += py-libtmux SUBDIR += py-libusb1 SUBDIR += py-libversion SUBDIR += py-libvirt SUBDIR += py-libzfs SUBDIR += py-linecache2 SUBDIR += py-lineedit SUBDIR += py-llfuse SUBDIR += py-llvmcpy SUBDIR += py-llvmlite SUBDIR += py-lock_file SUBDIR += py-lockfile SUBDIR += py-log4py SUBDIR += py-logan SUBDIR += py-logbook SUBDIR += py-logfury SUBDIR += py-logilab-common SUBDIR += py-logutils SUBDIR += py-louie SUBDIR += py-lunardate SUBDIR += py-lxml SUBDIR += py-macholib SUBDIR += py-magic SUBDIR += py-mailcap-fix SUBDIR += py-manuel SUBDIR += py-marshmallow SUBDIR += py-matrix-angular-sdk SUBDIR += py-mccabe SUBDIR += py-mdv SUBDIR += py-medikit SUBDIR += py-meliae SUBDIR += py-memory_profiler SUBDIR += py-microversion-parse SUBDIR += py-minimongo SUBDIR += py-minio SUBDIR += py-mock SUBDIR += py-molecule SUBDIR += py-mondrian SUBDIR += py-mongokit SUBDIR += py-monotonic SUBDIR += py-monty SUBDIR += py-more-itertools SUBDIR += py-more-itertools5 SUBDIR += py-mox SUBDIR += py-mox3 SUBDIR += py-msgpack SUBDIR += py-multi_key_dict SUBDIR += py-multipledispatch SUBDIR += py-multiprocess SUBDIR += py-munch SUBDIR += py-murmurhash SUBDIR += py-mwlib SUBDIR += py-mwlib.ext SUBDIR += py-mwlib.rl SUBDIR += py-mx-experimental SUBDIR += py-mygpoclient SUBDIR += py-mypy SUBDIR += py-mypy-protobuf SUBDIR += py-mypy_extensions SUBDIR += py-nagioscheck SUBDIR += py-naiveBayesClassifier SUBDIR += py-nanotime SUBDIR += py-natsort SUBDIR += py-natural SUBDIR += py-nbconvert SUBDIR += py-nbformat SUBDIR += py-ncurses SUBDIR += py-nodeenv SUBDIR += py-nose SUBDIR += py-nose-cov SUBDIR += py-nose-timer SUBDIR += py-nose2 SUBDIR += py-noseofyeti SUBDIR += py-notifier SUBDIR += py-notify SUBDIR += py-notify2 SUBDIR += py-num2words SUBDIR += py-numba SUBDIR += py-ocempgui SUBDIR += py-oci SUBDIR += py-odfpy SUBDIR += py-offtrac SUBDIR += py-olefile SUBDIR += py-oletools SUBDIR += py-omnijson SUBDIR += py-omniorb SUBDIR += py-opcodes SUBDIR += py-openapi-codec SUBDIR += py-openapi-spec-validator SUBDIR += py-opendht SUBDIR += py-opengrok-tools SUBDIR += py-openstacksdk SUBDIR += py-opentracing SUBDIR += py-opster SUBDIR += py-optik SUBDIR += py-option_merge SUBDIR += py-orbit SUBDIR += py-ordered-set SUBDIR += py-ordereddict SUBDIR += py-orderedmultidict SUBDIR += py-os-brick SUBDIR += py-os-client-config SUBDIR += py-os-service-types SUBDIR += py-os-vif SUBDIR += py-os-win SUBDIR += py-osc-lib SUBDIR += py-oslo.cache SUBDIR += py-oslo.concurrency SUBDIR += py-oslo.config SUBDIR += py-oslo.context SUBDIR += py-oslo.db SUBDIR += py-oslo.i18n SUBDIR += py-oslo.log SUBDIR += py-oslo.messaging SUBDIR += py-oslo.middleware SUBDIR += py-oslo.policy SUBDIR += py-oslo.privsep SUBDIR += py-oslo.reports SUBDIR += py-oslo.rootwrap SUBDIR += py-oslo.serialization SUBDIR += py-oslo.service SUBDIR += py-oslo.utils SUBDIR += py-oslo.versionedobjects SUBDIR += py-oslo.vmware SUBDIR += py-oslotest SUBDIR += py-osprofiler SUBDIR += py-ovs SUBDIR += py-p4python SUBDIR += py-packaging SUBDIR += py-palm SUBDIR += py-parallax SUBDIR += py-parsedatetime SUBDIR += py-parver SUBDIR += py-patch SUBDIR += py-path.py SUBDIR += py-pathlib SUBDIR += py-pathlib2 SUBDIR += py-pathspec SUBDIR += py-pathtools SUBDIR += py-paver SUBDIR += py-pbr SUBDIR += py-pebble SUBDIR += py-pefile SUBDIR += py-pendulum SUBDIR += py-pep8-naming SUBDIR += py-period SUBDIR += py-petname SUBDIR += py-pew SUBDIR += py-pex SUBDIR += py-phabricator SUBDIR += py-phonenumbers SUBDIR += py-phply SUBDIR += py-phpserialize SUBDIR += py-pid SUBDIR += py-pika SUBDIR += py-pika-pool SUBDIR += py-pinocchio SUBDIR += py-pip SUBDIR += py-pip-api SUBDIR += py-pip-tools SUBDIR += py-pipdeptree SUBDIR += py-pipenv SUBDIR += py-pipreqs SUBDIR += py-pkgconfig SUBDIR += py-plac SUBDIR += py-plan SUBDIR += py-plex SUBDIR += py-pluggy SUBDIR += py-pluginbase SUBDIR += py-ply SUBDIR += py-podcastparser SUBDIR += py-polib SUBDIR += py-pooch SUBDIR += py-portalocker SUBDIR += py-positional SUBDIR += py-posix_ipc SUBDIR += py-poyo SUBDIR += py-pp SUBDIR += py-prance SUBDIR += py-pre-commit SUBDIR += py-preshed SUBDIR += py-pretend SUBDIR += py-prettyprinter SUBDIR += py-prettytable SUBDIR += py-prioritized_methods SUBDIR += py-proglog SUBDIR += py-progress SUBDIR += py-promise SUBDIR += py-prompt_toolkit SUBDIR += py-prompt_toolkit1 SUBDIR += py-protobuf SUBDIR += py-protocols SUBDIR += py-ptable SUBDIR += py-ptpython SUBDIR += py-ptrace SUBDIR += py-ptvsd SUBDIR += py-pudb SUBDIR += py-purl SUBDIR += py-py SUBDIR += py-py-ubjson SUBDIR += py-py_interface SUBDIR += py-pyasn1 SUBDIR += py-pyasn1-modules SUBDIR += py-pybind11 SUBDIR += py-pybloomfiltermmap SUBDIR += py-pycadf SUBDIR += py-pycalendar SUBDIR += py-pycallgraph SUBDIR += py-pycapsicum SUBDIR += py-pycerberus SUBDIR += py-pycmd SUBDIR += py-pycodeexport SUBDIR += py-pycodestyle SUBDIR += py-pycompilation SUBDIR += py-pycparser SUBDIR += py-pydantic SUBDIR += py-pydenticon SUBDIR += py-pydevd SUBDIR += py-pydispatcher SUBDIR += py-pydocstyle SUBDIR += py-pydoop SUBDIR += py-pydrive SUBDIR += py-pyechonest SUBDIR += py-pyee SUBDIR += py-pyelftools SUBDIR += py-pyev SUBDIR += py-pyface SUBDIR += py-pyfcm SUBDIR += py-pyflakes SUBDIR += py-pyformance SUBDIR += py-pygdbmi SUBDIR += py-pygit2 SUBDIR += py-pygithub SUBDIR += py-pygpx SUBDIR += py-pyhashxx SUBDIR += py-pyhcl SUBDIR += py-pyicu SUBDIR += py-pyinotify SUBDIR += py-pyinstaller SUBDIR += py-pyjq SUBDIR += py-pyjsparser SUBDIR += py-pyke SUBDIR += py-pylama SUBDIR += py-pylibsrtp SUBDIR += py-pylru SUBDIR += py-pylru-cache SUBDIR += py-pymarc SUBDIR += py-pymaven-patch SUBDIR += py-pymisp SUBDIR += py-pympler SUBDIR += py-pymtbl SUBDIR += py-pyopencl SUBDIR += py-pyparsing SUBDIR += py-pyperclip SUBDIR += py-pyplusplus SUBDIR += py-pypugjs SUBDIR += py-pyqi SUBDIR += py-pyqtree SUBDIR += py-pyral SUBDIR += py-pyrepl SUBDIR += py-pyrfc3339 SUBDIR += py-pyro SUBDIR += py-pyrsistent SUBDIR += py-pysdl2 SUBDIR += py-pyshapelib SUBDIR += py-pyshp SUBDIR += py-pysparklines SUBDIR += py-pystorm SUBDIR += py-pyte SUBDIR += py-pytemplate SUBDIR += py-pytest SUBDIR += py-pytest-aiohttp SUBDIR += py-pytest-asyncio SUBDIR += py-pytest-azurepipelines SUBDIR += py-pytest-cache SUBDIR += py-pytest-capturelog SUBDIR += py-pytest-cov SUBDIR += py-pytest-django SUBDIR += py-pytest-fixture-config SUBDIR += py-pytest-flake8 SUBDIR += py-pytest-flakes SUBDIR += py-pytest-forked SUBDIR += py-pytest-helpers-namespace SUBDIR += py-pytest-localserver SUBDIR += py-pytest-mock SUBDIR += py-pytest-pycodestyle SUBDIR += py-pytest-relaxed SUBDIR += py-pytest-rerunfailures SUBDIR += py-pytest-runner SUBDIR += py-pytest-shutil SUBDIR += py-pytest-sugar SUBDIR += py-pytest-timeout SUBDIR += py-pytest-tornado SUBDIR += py-pytest-virtualenv SUBDIR += py-pytest-xdist SUBDIR += py-pytest-xprocess SUBDIR += py-python-Levenshtein SUBDIR += py-python-bugzilla SUBDIR += py-python-distutils-extra SUBDIR += py-python-dtrace SUBDIR += py-python-easyconfig SUBDIR += py-python-editor SUBDIR += py-python-engineio SUBDIR += py-python-gflags SUBDIR += py-python-gilt SUBDIR += py-python-gist SUBDIR += py-python-gitlab SUBDIR += py-python-jenkins SUBDIR += py-python-magic SUBDIR += py-python-mimeparse SUBDIR += py-python-pcre SUBDIR += py-python-socketio SUBDIR += py-python-statsd SUBDIR += py-python-subunit SUBDIR += py-python2-pythondialog SUBDIR += py-pythonbrew SUBDIR += py-pytimeparse SUBDIR += py-pytools SUBDIR += py-pytrie SUBDIR += py-pytvmaze SUBDIR += py-pytz SUBDIR += py-pyudev SUBDIR += py-pyupgrade SUBDIR += py-pyutil SUBDIR += py-pyvalid SUBDIR += py-pyvisa SUBDIR += py-pyvisa-py SUBDIR += py-pyxb SUBDIR += py-pyxml2obj SUBDIR += py-q SUBDIR += py-qpid SUBDIR += py-qserve SUBDIR += py-qt5 SUBDIR += py-qt5-core SUBDIR += py-qt5-dbus SUBDIR += py-qt5-dbussupport SUBDIR += py-qt5-designer SUBDIR += py-qt5-designerplugin SUBDIR += py-qt5-help SUBDIR += py-qt5-qscintilla2 SUBDIR += py-qt5-test SUBDIR += py-qtconsole SUBDIR += py-qutip SUBDIR += py-ramlfications SUBDIR += py-ratelimiter SUBDIR += py-rauth SUBDIR += py-raven SUBDIR += py-rchitect SUBDIR += py-rcsparse SUBDIR += py-readme_renderer SUBDIR += py-rebulk SUBDIR += py-rednose SUBDIR += py-rekall-efilter SUBDIR += py-remote-pdb SUBDIR += py-repoze.lru SUBDIR += py-repoze.sphinx.autointerface SUBDIR += py-repoze.tm2 SUBDIR += py-repoze.what SUBDIR += py-repoze.what-pylons SUBDIR += py-repoze.who SUBDIR += py-repoze.who-friendlyform SUBDIR += py-repoze.who-testutil SUBDIR += py-repoze.xmliter SUBDIR += py-represent SUBDIR += py-requestsexceptions SUBDIR += py-resolver SUBDIR += py-resource SUBDIR += py-resourcepackage SUBDIR += py-responses SUBDIR += py-retrying SUBDIR += py-riak_pb SUBDIR += py-rlcompleter2 SUBDIR += py-robotframework SUBDIR += py-robotframework-databaselibrary SUBDIR += py-robotframework-pabot SUBDIR += py-robotframework-ride SUBDIR += py-robotframework-seleniumlibrary SUBDIR += py-robotremoteserver SUBDIR += py-rope SUBDIR += py-rose SUBDIR += py-roxlib SUBDIR += py-rply SUBDIR += py-rq SUBDIR += py-rtree SUBDIR += py-rtslib-fb SUBDIR += py-ruamel.ordereddict SUBDIR += py-ruamel.yaml SUBDIR += py-rubymarshal SUBDIR += py-rwt SUBDIR += py-rx SUBDIR += py-rx1 SUBDIR += py-sanetime SUBDIR += py-saneyaml SUBDIR += py-sarge SUBDIR += py-schedule SUBDIR += py-schema SUBDIR += py-schematics-patched SUBDIR += py-scikit-build SUBDIR += py-scripttest SUBDIR += py-selection SUBDIR += py-selectors2 SUBDIR += py-selectors34 SUBDIR += py-semantic_version SUBDIR += py-semantic_version26 SUBDIR += py-semver SUBDIR += py-serializable SUBDIR += py-serpent SUBDIR += py-setproctitle SUBDIR += py-setuptools SUBDIR += py-setuptools-git SUBDIR += py-setuptools-pkg SUBDIR += py-setuptools_darcs SUBDIR += py-setuptools_hg SUBDIR += py-setuptools_scm SUBDIR += py-setuptools_scm_git_archive SUBDIR += py-sexpdata SUBDIR += py-sh SUBDIR += py-shapely SUBDIR += py-shellingham SUBDIR += py-should_dsl SUBDIR += py-simpleeval SUBDIR += py-simplegeneric SUBDIR += py-simplejson SUBDIR += py-simpleparse SUBDIR += py-simpletal SUBDIR += py-simpy SUBDIR += py-singledispatch SUBDIR += py-sip SUBDIR += py-six SUBDIR += py-smmap2 SUBDIR += py-snakeviz SUBDIR += py-sortedcontainers SUBDIR += py-sourcemap SUBDIR += py-spark SUBDIR += py-speaklater SUBDIR += py-spyder SUBDIR += py-sqlcc SUBDIR += py-stackexchange SUBDIR += py-statgrab SUBDIR += py-statsd SUBDIR += py-stdnum SUBDIR += py-stevedore SUBDIR += py-stopit SUBDIR += py-strategies SUBDIR += py-streamparse SUBDIR += py-strict-rfc3339 SUBDIR += py-structlog SUBDIR += py-stsci.distutils SUBDIR += py-subprocess32 SUBDIR += py-subversion SUBDIR += py-subvertpy SUBDIR += py-sure SUBDIR += py-swagger-spec-validator SUBDIR += py-sysctl SUBDIR += py-sysv_ipc SUBDIR += py-tables SUBDIR += py-tabulate SUBDIR += py-tabulator SUBDIR += py-tapi SUBDIR += py-tarantool-queue SUBDIR += py-taskflow SUBDIR += py-tblib SUBDIR += py-tconfpy SUBDIR += py-tempora SUBDIR += py-tempstorage SUBDIR += py-tenacity SUBDIR += py-termcolor SUBDIR += py-terminable_thread SUBDIR += py-termstyle SUBDIR += py-testfixtures SUBDIR += py-testgears SUBDIR += py-testinfra SUBDIR += py-testoob SUBDIR += py-testpath SUBDIR += py-testrepository SUBDIR += py-testresources SUBDIR += py-testscenarios SUBDIR += py-testtools SUBDIR += py-threema-msgapi SUBDIR += py-thrift SUBDIR += py-thriftpy SUBDIR += py-timelib SUBDIR += py-tinyarray SUBDIR += py-tinyrpc SUBDIR += py-tipper SUBDIR += py-tokenize-rt SUBDIR += py-toolz SUBDIR += py-tooz SUBDIR += py-toposort SUBDIR += py-total-ordering SUBDIR += py-tox SUBDIR += py-trace2html SUBDIR += py-traceback2 SUBDIR += py-traitlets SUBDIR += py-traits SUBDIR += py-transaction SUBDIR += py-transitions SUBDIR += py-tree-format SUBDIR += py-trollius SUBDIR += py-ttystatus SUBDIR += py-tvrage SUBDIR += py-tw.forms SUBDIR += py-twext SUBDIR += py-twiggy SUBDIR += py-twilio SUBDIR += py-twine SUBDIR += py-twisted SUBDIR += py-txaio SUBDIR += py-typechecks SUBDIR += py-typed-ast SUBDIR += py-typing SUBDIR += py-typing-extensions SUBDIR += py-tzlocal SUBDIR += py-u-msgpack-python SUBDIR += py-ua_parser SUBDIR += py-uhid-freebsd SUBDIR += py-ujson SUBDIR += py-uncompyle2 SUBDIR += py-unicodecsv SUBDIR += py-unicodedata2 SUBDIR += py-unipath SUBDIR += py-unittest2 SUBDIR += py-unpaddedbase64 SUBDIR += py-update_checker SUBDIR += py-urlimport SUBDIR += py-urwid SUBDIR += py-urwidtrees SUBDIR += py-usb SUBDIR += py-user_agents SUBDIR += py-utils SUBDIR += py-uvloop SUBDIR += py-validators SUBDIR += py-validictory SUBDIR += py-vcrpy SUBDIR += py-vcversioner SUBDIR += py-venusian SUBDIR += py-verboselogs SUBDIR += py-versiontools SUBDIR += py-vine SUBDIR += py-virtualenv SUBDIR += py-virtualenv-clone SUBDIR += py-virtualenvwrapper SUBDIR += py-visitor SUBDIR += py-voluptuous SUBDIR += py-vsts SUBDIR += py-vsts-cd-manager SUBDIR += py-vulture SUBDIR += py-wadllib SUBDIR += py-warlock SUBDIR += py-watchdog SUBDIR += py-wcwidth SUBDIR += py-weakrefmethod SUBDIR += py-weblib SUBDIR += py-websockets SUBDIR += py-websockify SUBDIR += py-wheel SUBDIR += py-whichcraft SUBDIR += py-whistle SUBDIR += py-widgetsnbextension SUBDIR += py-wlc SUBDIR += py-wrapt SUBDIR += py-wsgi_intercept SUBDIR += py-wsgi_xmlrpc SUBDIR += py-wsgitools SUBDIR += py-wsgiutils SUBDIR += py-wsme SUBDIR += py-xarray SUBDIR += py-xarray011 SUBDIR += py-xattr SUBDIR += py-xcaplib SUBDIR += py-xdg SUBDIR += py-xdis SUBDIR += py-xerox SUBDIR += py-xmltodict SUBDIR += py-xoltar-toolkit SUBDIR += py-xxhash SUBDIR += py-yaml SUBDIR += py-yamllint SUBDIR += py-yamlordereddictloader SUBDIR += py-yandex-money-sdk SUBDIR += py-yappi SUBDIR += py-yapps2 SUBDIR += py-yarg SUBDIR += py-yattag SUBDIR += py-ydbf SUBDIR += py-yg.lockfile SUBDIR += py-yum-metadata-parser SUBDIR += py-yunomi SUBDIR += py-z3c.autoinclude SUBDIR += py-z3c.batching SUBDIR += py-z3c.caching SUBDIR += py-z3c.form SUBDIR += py-z3c.formwidget.query SUBDIR += py-z3c.zcmlhook SUBDIR += py-zExceptions SUBDIR += py-zLOG SUBDIR += py-zc.buildout SUBDIR += py-zclockfile SUBDIR += py-zconfig SUBDIR += py-zipp SUBDIR += py-zkpython SUBDIR += py-zope.annotation SUBDIR += py-zope.app.applicationcontrol SUBDIR += py-zope.app.appsetup SUBDIR += py-zope.app.basicskin SUBDIR += py-zope.app.broken SUBDIR += py-zope.app.cache SUBDIR += py-zope.app.component SUBDIR += py-zope.app.container SUBDIR += py-zope.app.content SUBDIR += py-zope.app.debug SUBDIR += py-zope.app.dependable SUBDIR += py-zope.app.error SUBDIR += py-zope.app.exception SUBDIR += py-zope.app.file SUBDIR += py-zope.app.folder SUBDIR += py-zope.app.form SUBDIR += py-zope.app.generations SUBDIR += py-zope.app.http SUBDIR += py-zope.app.pagetemplate SUBDIR += py-zope.app.publication SUBDIR += py-zope.app.publisher SUBDIR += py-zope.app.renderer SUBDIR += py-zope.app.rotterdam SUBDIR += py-zope.app.schema SUBDIR += py-zope.app.testing SUBDIR += py-zope.app.zcmlfiles SUBDIR += py-zope.app.zopeappgenerations SUBDIR += py-zope.applicationcontrol SUBDIR += py-zope.broken SUBDIR += py-zope.browser SUBDIR += py-zope.browsermenu SUBDIR += py-zope.browserpage SUBDIR += py-zope.browserresource SUBDIR += py-zope.cachedescriptors SUBDIR += py-zope.component SUBDIR += py-zope.componentvocabulary SUBDIR += py-zope.configuration SUBDIR += py-zope.container SUBDIR += py-zope.contentprovider SUBDIR += py-zope.contenttype SUBDIR += py-zope.copy SUBDIR += py-zope.copypastemove SUBDIR += py-zope.datetime SUBDIR += py-zope.deferredimport SUBDIR += py-zope.deprecation SUBDIR += py-zope.dottedname SUBDIR += py-zope.dublincore SUBDIR += py-zope.error SUBDIR += py-zope.event SUBDIR += py-zope.exceptions SUBDIR += py-zope.filerepresentation SUBDIR += py-zope.formlib SUBDIR += py-zope.generations SUBDIR += py-zope.globalrequest SUBDIR += py-zope.i18n SUBDIR += py-zope.interface SUBDIR += py-zope.lifecycleevent SUBDIR += py-zope.location SUBDIR += py-zope.minmax SUBDIR += py-zope.pagetemplate SUBDIR += py-zope.processlifetime SUBDIR += py-zope.ptresource SUBDIR += py-zope.publisher SUBDIR += py-zope.ramcache SUBDIR += py-zope.schema SUBDIR += py-zope.sequencesort SUBDIR += py-zope.site SUBDIR += py-zope.size SUBDIR += py-zope.tales SUBDIR += py-zope.testbrowser SUBDIR += py-zope.testing SUBDIR += py-zope.traversing SUBDIR += py-zope.viewlet SUBDIR += py-zsm-lib SUBDIR += py_static_check SUBDIR += pybind11 SUBDIR += pybugz SUBDIR += pycanberra SUBDIR += pycharm-ce SUBDIR += pychecker SUBDIR += pycos SUBDIR += pycount SUBDIR += pydbus-common SUBDIR += pygobject3-common SUBDIR += pylint SUBDIR += pylint1 SUBDIR += pymacs SUBDIR += pyobfuscate SUBDIR += pyotherside-qt5 SUBDIR += pyrex SUBDIR += pyside2 SUBDIR += pyside2-tools SUBDIR += pyst SUBDIR += pysvn SUBDIR += pythk SUBDIR += pythontidy SUBDIR += qbs SUBDIR += qca SUBDIR += qconf SUBDIR += qgit SUBDIR += qjson SUBDIR += qmake SUBDIR += qscintilla2-designerplugin-qt5 SUBDIR += qscintilla2-qt5 SUBDIR += qt-maybe SUBDIR += qt5 SUBDIR += qt5-assistant SUBDIR += qt5-buildtools SUBDIR += qt5-concurrent SUBDIR += qt5-core SUBDIR += qt5-dbus SUBDIR += qt5-designer SUBDIR += qt5-help SUBDIR += qt5-linguist SUBDIR += qt5-linguisttools SUBDIR += qt5-location SUBDIR += qt5-qdbus SUBDIR += qt5-qdbusviewer SUBDIR += qt5-qdoc SUBDIR += qt5-qdoc-data SUBDIR += qt5-qmake SUBDIR += qt5-remoteobjects SUBDIR += qt5-script SUBDIR += qt5-scripttools SUBDIR += qt5-scxml SUBDIR += qt5-testlib SUBDIR += qt5-uitools SUBDIR += qtcreator SUBDIR += quickcheck++ SUBDIR += quilt SUBDIR += rabs SUBDIR += racer SUBDIR += racerd SUBDIR += radare2 SUBDIR += radian SUBDIR += ragel SUBDIR += raknet SUBDIR += rang SUBDIR += range-v3 SUBDIR += rapidcheck SUBDIR += rapidjson SUBDIR += raylib SUBDIR += rbenv SUBDIR += rbtools SUBDIR += rclint SUBDIR += rcs SUBDIR += rcs57 SUBDIR += re2 SUBDIR += re2c SUBDIR += readline SUBDIR += rebar SUBDIR += rebar3 SUBDIR += redasm SUBDIR += redo SUBDIR += regexx SUBDIR += regexxer SUBDIR += relx SUBDIR += remake SUBDIR += remotery SUBDIR += replay SUBDIR += replxx SUBDIR += resolv_wrapper SUBDIR += rhtvision SUBDIR += riscv64-gcc SUBDIR += riscv64-xtoolchain-gcc SUBDIR += rlog SUBDIR += rlwrap SUBDIR += robin-map SUBDIR += roboctl SUBDIR += robodoc SUBDIR += ros-catkin_pkg SUBDIR += ros-console_bridge SUBDIR += ros-rosdep SUBDIR += ros-rosdistro SUBDIR += ros-rosinstall SUBDIR += ros-rosinstall_generator SUBDIR += ros-rospkg SUBDIR += ros-urdfdom SUBDIR += ros-urdfdom_headers SUBDIR += ros-vcstools SUBDIR += ros-wstool SUBDIR += rote SUBDIR += rpc2 SUBDIR += rpclib SUBDIR += rpm-spec-mode.el SUBDIR += rsvndump SUBDIR += rth SUBDIR += rttr SUBDIR += ruby-bsearch SUBDIR += ruby-build SUBDIR += ruby-gems SUBDIR += ruby-rbprof SUBDIR += ruby-sdl SUBDIR += ruby-setup.rb SUBDIR += ruby-subversion SUBDIR += rubygem-CFPropertyList SUBDIR += rubygem-abstract SUBDIR += rubygem-actionpack-action_caching SUBDIR += rubygem-actionview4 SUBDIR += rubygem-actionview5 SUBDIR += rubygem-actionview50 SUBDIR += rubygem-actionview52 SUBDIR += rubygem-active_scaffold SUBDIR += rubygem-activejob4 SUBDIR += rubygem-activejob5 SUBDIR += rubygem-activejob50 SUBDIR += rubygem-activejob52 SUBDIR += rubygem-activemessaging SUBDIR += rubygem-activerecord-deprecated_finders SUBDIR += rubygem-activesupport4 SUBDIR += rubygem-activesupport5 SUBDIR += rubygem-activesupport50 SUBDIR += rubygem-activesupport52 SUBDIR += rubygem-airborne SUBDIR += rubygem-akismet SUBDIR += rubygem-algebrick SUBDIR += rubygem-algorithms SUBDIR += rubygem-allison SUBDIR += rubygem-analogger SUBDIR += rubygem-annoy SUBDIR += rubygem-ansi SUBDIR += rubygem-apipie-bindings SUBDIR += rubygem-apipie-params SUBDIR += rubygem-app_config SUBDIR += rubygem-appraisal SUBDIR += rubygem-arr-pm SUBDIR += rubygem-arrayfields SUBDIR += rubygem-ascii85 SUBDIR += rubygem-asetus SUBDIR += rubygem-aspectr SUBDIR += rubygem-ast SUBDIR += rubygem-astrolabe SUBDIR += rubygem-async SUBDIR += rubygem-async-io SUBDIR += rubygem-atomic SUBDIR += rubygem-attic SUBDIR += rubygem-attr_required SUBDIR += rubygem-authlogic SUBDIR += rubygem-avro SUBDIR += rubygem-awesome_print SUBDIR += rubygem-aws-eventstream SUBDIR += rubygem-aws-partitions SUBDIR += rubygem-aws-sdk SUBDIR += rubygem-aws-sdk-acm SUBDIR += rubygem-aws-sdk-acmpca SUBDIR += rubygem-aws-sdk-alexaforbusiness SUBDIR += rubygem-aws-sdk-amplify SUBDIR += rubygem-aws-sdk-apigateway SUBDIR += rubygem-aws-sdk-apigatewaymanagementapi SUBDIR += rubygem-aws-sdk-apigatewayv2 SUBDIR += rubygem-aws-sdk-applicationautoscaling SUBDIR += rubygem-aws-sdk-applicationdiscoveryservice SUBDIR += rubygem-aws-sdk-applicationinsights SUBDIR += rubygem-aws-sdk-appmesh SUBDIR += rubygem-aws-sdk-appstream SUBDIR += rubygem-aws-sdk-appsync SUBDIR += rubygem-aws-sdk-athena SUBDIR += rubygem-aws-sdk-autoscaling SUBDIR += rubygem-aws-sdk-autoscalingplans SUBDIR += rubygem-aws-sdk-backup SUBDIR += rubygem-aws-sdk-batch SUBDIR += rubygem-aws-sdk-budgets SUBDIR += rubygem-aws-sdk-chime SUBDIR += rubygem-aws-sdk-cloud9 SUBDIR += rubygem-aws-sdk-clouddirectory SUBDIR += rubygem-aws-sdk-cloudformation SUBDIR += rubygem-aws-sdk-cloudfront SUBDIR += rubygem-aws-sdk-cloudhsm SUBDIR += rubygem-aws-sdk-cloudhsmv2 SUBDIR += rubygem-aws-sdk-cloudsearch SUBDIR += rubygem-aws-sdk-cloudsearchdomain SUBDIR += rubygem-aws-sdk-cloudtrail SUBDIR += rubygem-aws-sdk-cloudwatch SUBDIR += rubygem-aws-sdk-cloudwatchevents SUBDIR += rubygem-aws-sdk-cloudwatchlogs SUBDIR += rubygem-aws-sdk-codebuild SUBDIR += rubygem-aws-sdk-codecommit SUBDIR += rubygem-aws-sdk-codedeploy SUBDIR += rubygem-aws-sdk-codepipeline SUBDIR += rubygem-aws-sdk-codestar SUBDIR += rubygem-aws-sdk-codestarnotifications SUBDIR += rubygem-aws-sdk-cognitoidentity SUBDIR += rubygem-aws-sdk-cognitoidentityprovider SUBDIR += rubygem-aws-sdk-cognitosync SUBDIR += rubygem-aws-sdk-comprehend SUBDIR += rubygem-aws-sdk-comprehendmedical SUBDIR += rubygem-aws-sdk-configservice SUBDIR += rubygem-aws-sdk-connect SUBDIR += rubygem-aws-sdk-core SUBDIR += rubygem-aws-sdk-core2 SUBDIR += rubygem-aws-sdk-costandusagereportservice SUBDIR += rubygem-aws-sdk-costexplorer SUBDIR += rubygem-aws-sdk-databasemigrationservice SUBDIR += rubygem-aws-sdk-dataexchange SUBDIR += rubygem-aws-sdk-datapipeline SUBDIR += rubygem-aws-sdk-datasync SUBDIR += rubygem-aws-sdk-dax SUBDIR += rubygem-aws-sdk-devicefarm SUBDIR += rubygem-aws-sdk-directconnect SUBDIR += rubygem-aws-sdk-directoryservice SUBDIR += rubygem-aws-sdk-dlm SUBDIR += rubygem-aws-sdk-docdb SUBDIR += rubygem-aws-sdk-dynamodb SUBDIR += rubygem-aws-sdk-dynamodbstreams SUBDIR += rubygem-aws-sdk-ec2 SUBDIR += rubygem-aws-sdk-ec2instanceconnect SUBDIR += rubygem-aws-sdk-ecr SUBDIR += rubygem-aws-sdk-ecs SUBDIR += rubygem-aws-sdk-efs SUBDIR += rubygem-aws-sdk-eks SUBDIR += rubygem-aws-sdk-elasticache SUBDIR += rubygem-aws-sdk-elasticbeanstalk SUBDIR += rubygem-aws-sdk-elasticloadbalancing SUBDIR += rubygem-aws-sdk-elasticloadbalancingv2 SUBDIR += rubygem-aws-sdk-elasticsearchservice SUBDIR += rubygem-aws-sdk-elastictranscoder SUBDIR += rubygem-aws-sdk-emr SUBDIR += rubygem-aws-sdk-eventbridge SUBDIR += rubygem-aws-sdk-firehose SUBDIR += rubygem-aws-sdk-fms SUBDIR += rubygem-aws-sdk-forecastqueryservice SUBDIR += rubygem-aws-sdk-forecastservice SUBDIR += rubygem-aws-sdk-fsx SUBDIR += rubygem-aws-sdk-gamelift SUBDIR += rubygem-aws-sdk-glacier SUBDIR += rubygem-aws-sdk-globalaccelerator SUBDIR += rubygem-aws-sdk-glue SUBDIR += rubygem-aws-sdk-greengrass SUBDIR += rubygem-aws-sdk-groundstation SUBDIR += rubygem-aws-sdk-guardduty SUBDIR += rubygem-aws-sdk-health SUBDIR += rubygem-aws-sdk-iam SUBDIR += rubygem-aws-sdk-importexport SUBDIR += rubygem-aws-sdk-inspector SUBDIR += rubygem-aws-sdk-iot SUBDIR += rubygem-aws-sdk-iot1clickdevicesservice SUBDIR += rubygem-aws-sdk-iot1clickprojects SUBDIR += rubygem-aws-sdk-iotanalytics SUBDIR += rubygem-aws-sdk-iotdataplane SUBDIR += rubygem-aws-sdk-iotevents SUBDIR += rubygem-aws-sdk-ioteventsdata SUBDIR += rubygem-aws-sdk-iotjobsdataplane SUBDIR += rubygem-aws-sdk-iotthingsgraph SUBDIR += rubygem-aws-sdk-kafka SUBDIR += rubygem-aws-sdk-kinesis SUBDIR += rubygem-aws-sdk-kinesisanalytics SUBDIR += rubygem-aws-sdk-kinesisanalyticsv2 SUBDIR += rubygem-aws-sdk-kinesisvideo SUBDIR += rubygem-aws-sdk-kinesisvideoarchivedmedia SUBDIR += rubygem-aws-sdk-kinesisvideomedia SUBDIR += rubygem-aws-sdk-kms SUBDIR += rubygem-aws-sdk-lakeformation SUBDIR += rubygem-aws-sdk-lambda SUBDIR += rubygem-aws-sdk-lambdapreview SUBDIR += rubygem-aws-sdk-lex SUBDIR += rubygem-aws-sdk-lexmodelbuildingservice SUBDIR += rubygem-aws-sdk-licensemanager SUBDIR += rubygem-aws-sdk-lightsail SUBDIR += rubygem-aws-sdk-machinelearning SUBDIR += rubygem-aws-sdk-macie SUBDIR += rubygem-aws-sdk-managedblockchain SUBDIR += rubygem-aws-sdk-marketplacecatalog SUBDIR += rubygem-aws-sdk-marketplacecommerceanalytics SUBDIR += rubygem-aws-sdk-marketplaceentitlementservice SUBDIR += rubygem-aws-sdk-marketplacemetering SUBDIR += rubygem-aws-sdk-mediaconnect SUBDIR += rubygem-aws-sdk-mediaconvert SUBDIR += rubygem-aws-sdk-medialive SUBDIR += rubygem-aws-sdk-mediapackage SUBDIR += rubygem-aws-sdk-mediapackagevod SUBDIR += rubygem-aws-sdk-mediastore SUBDIR += rubygem-aws-sdk-mediastoredata SUBDIR += rubygem-aws-sdk-mediatailor SUBDIR += rubygem-aws-sdk-migrationhub SUBDIR += rubygem-aws-sdk-mobile SUBDIR += rubygem-aws-sdk-mq SUBDIR += rubygem-aws-sdk-mturk SUBDIR += rubygem-aws-sdk-neptune SUBDIR += rubygem-aws-sdk-opsworks SUBDIR += rubygem-aws-sdk-opsworkscm SUBDIR += rubygem-aws-sdk-organizations SUBDIR += rubygem-aws-sdk-personalize SUBDIR += rubygem-aws-sdk-personalizeevents SUBDIR += rubygem-aws-sdk-personalizeruntime SUBDIR += rubygem-aws-sdk-pi SUBDIR += rubygem-aws-sdk-pinpoint SUBDIR += rubygem-aws-sdk-pinpointemail SUBDIR += rubygem-aws-sdk-pinpointsmsvoice SUBDIR += rubygem-aws-sdk-polly SUBDIR += rubygem-aws-sdk-pricing SUBDIR += rubygem-aws-sdk-qldb SUBDIR += rubygem-aws-sdk-qldbsession SUBDIR += rubygem-aws-sdk-quicksight SUBDIR += rubygem-aws-sdk-ram SUBDIR += rubygem-aws-sdk-rds SUBDIR += rubygem-aws-sdk-rdsdataservice SUBDIR += rubygem-aws-sdk-redshift SUBDIR += rubygem-aws-sdk-rekognition SUBDIR += rubygem-aws-sdk-resourcegroups SUBDIR += rubygem-aws-sdk-resourcegroupstaggingapi SUBDIR += rubygem-aws-sdk-resources SUBDIR += rubygem-aws-sdk-resources2 SUBDIR += rubygem-aws-sdk-robomaker SUBDIR += rubygem-aws-sdk-route53 SUBDIR += rubygem-aws-sdk-route53domains SUBDIR += rubygem-aws-sdk-route53resolver SUBDIR += rubygem-aws-sdk-s3 SUBDIR += rubygem-aws-sdk-s3control SUBDIR += rubygem-aws-sdk-sagemaker SUBDIR += rubygem-aws-sdk-sagemakerruntime SUBDIR += rubygem-aws-sdk-savingsplans SUBDIR += rubygem-aws-sdk-secretsmanager SUBDIR += rubygem-aws-sdk-securityhub SUBDIR += rubygem-aws-sdk-serverlessapplicationrepository SUBDIR += rubygem-aws-sdk-servicecatalog SUBDIR += rubygem-aws-sdk-servicediscovery SUBDIR += rubygem-aws-sdk-servicequotas SUBDIR += rubygem-aws-sdk-ses SUBDIR += rubygem-aws-sdk-sesv2 SUBDIR += rubygem-aws-sdk-shield SUBDIR += rubygem-aws-sdk-signer SUBDIR += rubygem-aws-sdk-simpledb SUBDIR += rubygem-aws-sdk-sms SUBDIR += rubygem-aws-sdk-snowball SUBDIR += rubygem-aws-sdk-sns SUBDIR += rubygem-aws-sdk-sqs SUBDIR += rubygem-aws-sdk-ssm SUBDIR += rubygem-aws-sdk-sso SUBDIR += rubygem-aws-sdk-ssooidc SUBDIR += rubygem-aws-sdk-states SUBDIR += rubygem-aws-sdk-storagegateway SUBDIR += rubygem-aws-sdk-support SUBDIR += rubygem-aws-sdk-swf SUBDIR += rubygem-aws-sdk-textract SUBDIR += rubygem-aws-sdk-transcribeservice SUBDIR += rubygem-aws-sdk-transcribestreamingservice SUBDIR += rubygem-aws-sdk-transfer SUBDIR += rubygem-aws-sdk-translate SUBDIR += rubygem-aws-sdk-v1 SUBDIR += rubygem-aws-sdk-waf SUBDIR += rubygem-aws-sdk-wafregional SUBDIR += rubygem-aws-sdk-workdocs SUBDIR += rubygem-aws-sdk-worklink SUBDIR += rubygem-aws-sdk-workmail SUBDIR += rubygem-aws-sdk-workmailmessageflow SUBDIR += rubygem-aws-sdk-workspaces SUBDIR += rubygem-aws-sdk-xray SUBDIR += rubygem-aws-sdk2 SUBDIR += rubygem-aws-sigv2 SUBDIR += rubygem-aws-sigv4 SUBDIR += rubygem-axiom-types SUBDIR += rubygem-backports SUBDIR += rubygem-bacon SUBDIR += rubygem-baf SUBDIR += rubygem-batch-loader SUBDIR += rubygem-benelux SUBDIR += rubygem-bin_utils SUBDIR += rubygem-bindata SUBDIR += rubygem-bindex SUBDIR += rubygem-binding_of_caller SUBDIR += rubygem-bit-struct SUBDIR += rubygem-blankslate SUBDIR += rubygem-blockenspiel SUBDIR += rubygem-bones SUBDIR += rubygem-bootsnap SUBDIR += rubygem-bootstrap_form SUBDIR += rubygem-bson SUBDIR += rubygem-buftok SUBDIR += rubygem-bugspots SUBDIR += rubygem-builder SUBDIR += rubygem-byebug SUBDIR += rubygem-c21e SUBDIR += rubygem-cabin SUBDIR += rubygem-caesars SUBDIR += rubygem-cairo-gobject SUBDIR += rubygem-capybara SUBDIR += rubygem-capybara-screenshot SUBDIR += rubygem-celluloid SUBDIR += rubygem-celluloid-essentials SUBDIR += rubygem-celluloid-extras SUBDIR += rubygem-celluloid-fsm SUBDIR += rubygem-celluloid-io SUBDIR += rubygem-celluloid-pool SUBDIR += rubygem-celluloid-supervision SUBDIR += rubygem-cf-uaa-lib SUBDIR += rubygem-chef-provisioning SUBDIR += rubygem-cheffish SUBDIR += rubygem-childprocess SUBDIR += rubygem-chronic SUBDIR += rubygem-chronic_duration SUBDIR += rubygem-clamp SUBDIR += rubygem-clamp11 SUBDIR += rubygem-classifier SUBDIR += rubygem-classifier-reborn SUBDIR += rubygem-climate_control SUBDIR += rubygem-clio SUBDIR += rubygem-cliprompt SUBDIR += rubygem-cloudfiles SUBDIR += rubygem-cms_scanner SUBDIR += rubygem-cocaine SUBDIR += rubygem-coercible SUBDIR += rubygem-coffee-rails-rails5 SUBDIR += rubygem-coffee-rails-rails50 SUBDIR += rubygem-coffee-rails-rails52 SUBDIR += rubygem-coffee-rails4 SUBDIR += rubygem-coffee-rails41 SUBDIR += rubygem-coffee-script SUBDIR += rubygem-coffee-script-source SUBDIR += rubygem-colorize SUBDIR += rubygem-columnize SUBDIR += rubygem-commander SUBDIR += rubygem-concurrent-ruby SUBDIR += rubygem-concurrent-ruby-edge SUBDIR += rubygem-concurrent-ruby-ext SUBDIR += rubygem-configatron SUBDIR += rubygem-configstruct SUBDIR += rubygem-configuration SUBDIR += rubygem-console SUBDIR += rubygem-contracts SUBDIR += rubygem-cookbook-omnifetch SUBDIR += rubygem-cool.io SUBDIR += rubygem-corefines SUBDIR += rubygem-countries SUBDIR += rubygem-crack SUBDIR += rubygem-cri SUBDIR += rubygem-cucumber SUBDIR += rubygem-cucumber-core SUBDIR += rubygem-cucumber-expressions SUBDIR += rubygem-cucumber-expressions6 SUBDIR += rubygem-cucumber-formatter-dots SUBDIR += rubygem-cucumber-messages SUBDIR += rubygem-cucumber-rails SUBDIR += rubygem-cucumber-tag_expressions SUBDIR += rubygem-cucumber-tag_expressions1 SUBDIR += rubygem-cucumber-wire SUBDIR += rubygem-curses SUBDIR += rubygem-cyoi SUBDIR += rubygem-daemon_controller SUBDIR += rubygem-daemons SUBDIR += rubygem-ddplugin SUBDIR += rubygem-ddtrace SUBDIR += rubygem-debug_inspector SUBDIR += rubygem-debugger-linecache SUBDIR += rubygem-debugger-ruby_core_source SUBDIR += rubygem-debugger-xml SUBDIR += rubygem-declarative SUBDIR += rubygem-declarative-option SUBDIR += rubygem-deep_merge SUBDIR += rubygem-deep_test SUBDIR += rubygem-deface SUBDIR += rubygem-default_value_for SUBDIR += rubygem-delayed_job SUBDIR += rubygem-delayer SUBDIR += rubygem-delayer-deferred SUBDIR += rubygem-deprecated SUBDIR += rubygem-deprecated2 SUBDIR += rubygem-descendants_tracker SUBDIR += rubygem-device_detector SUBDIR += rubygem-devise SUBDIR += rubygem-devise-rails5 SUBDIR += rubygem-devise-rails52 SUBDIR += rubygem-dig_rb SUBDIR += rubygem-directory_watcher SUBDIR += rubygem-ditz SUBDIR += rubygem-diva SUBDIR += rubygem-docile SUBDIR += rubygem-dry-inflector SUBDIR += rubygem-drydock SUBDIR += rubygem-dynflow SUBDIR += rubygem-edavis10-object_daddy SUBDIR += rubygem-elif SUBDIR += rubygem-enumerize SUBDIR += rubygem-equalizer SUBDIR += rubygem-equatable SUBDIR += rubygem-errand SUBDIR += rubygem-et-orbi SUBDIR += rubygem-eventmachine SUBDIR += rubygem-excon SUBDIR += rubygem-execjs SUBDIR += rubygem-extlib SUBDIR += rubygem-extras SUBDIR += rubygem-facets SUBDIR += rubygem-faker SUBDIR += rubygem-faraday_middleware-aws-signers-v4 SUBDIR += rubygem-faraday_middleware-multi_json SUBDIR += rubygem-fast-stemmer SUBDIR += rubygem-fast_blank SUBDIR += rubygem-fast_gettext SUBDIR += rubygem-fast_gettext1 SUBDIR += rubygem-fast_stack SUBDIR += rubygem-fast_xor SUBDIR += rubygem-fastercsv SUBDIR += rubygem-fastri SUBDIR += rubygem-fattr SUBDIR += rubygem-ffi SUBDIR += rubygem-ffi-compiler SUBDIR += rubygem-ffi-win32-extensions SUBDIR += rubygem-ffi-yajl SUBDIR += rubygem-ffi110 SUBDIR += rubygem-file-tail SUBDIR += rubygem-filesize SUBDIR += rubygem-flexmock SUBDIR += rubygem-flipper SUBDIR += rubygem-flipper-active_support_cache_store SUBDIR += rubygem-flipper-ui SUBDIR += rubygem-fluent-logger SUBDIR += rubygem-fog SUBDIR += rubygem-fog-core SUBDIR += rubygem-fog-core1 SUBDIR += rubygem-fog-core210 SUBDIR += rubygem-fog-json SUBDIR += rubygem-font-awesome-rails SUBDIR += rubygem-font-awesome-rails-rails5 SUBDIR += rubygem-font-awesome-rails-rails50 SUBDIR += rubygem-font-awesome-rails-rails52 SUBDIR += rubygem-foreigner SUBDIR += rubygem-foreman SUBDIR += rubygem-formatador SUBDIR += rubygem-forwardable-extended SUBDIR += rubygem-fugit SUBDIR += rubygem-fugit12 SUBDIR += rubygem-gdata SUBDIR += rubygem-gem-compare SUBDIR += rubygem-gem_plugin SUBDIR += rubygem-gemcutter SUBDIR += rubygem-gemdiff SUBDIR += rubygem-gemnasium-parser SUBDIR += rubygem-gems SUBDIR += rubygem-generator_spec-rails4 SUBDIR += rubygem-generator_spec-rails5 SUBDIR += rubygem-georuby SUBDIR += rubygem-get_process_mem SUBDIR += rubygem-getopt SUBDIR += rubygem-gettext SUBDIR += rubygem-gettext-setup SUBDIR += rubygem-gettext_i18n_rails SUBDIR += rubygem-gettext_i18n_rails_js-rails5 SUBDIR += rubygem-gettext_i18n_rails_js-rails50 SUBDIR += rubygem-gettext_i18n_rails_js-rails52 SUBDIR += rubygem-gh SUBDIR += rubygem-gibbler SUBDIR += rubygem-gio2 SUBDIR += rubygem-git SUBDIR += rubygem-git-version-bump SUBDIR += rubygem-github_api SUBDIR += rubygem-gitlab-labkit SUBDIR += rubygem-gitlab-license SUBDIR += rubygem-gitlab-peek-rails52 SUBDIR += rubygem-gitlab-pygments.rb SUBDIR += rubygem-gitlab-sidekiq-fetcher SUBDIR += rubygem-gitlab_chronic_duration SUBDIR += rubygem-gitlab_git SUBDIR += rubygem-gitlab_meta SUBDIR += rubygem-glib2 SUBDIR += rubygem-gobject-introspection SUBDIR += rubygem-google-api-client SUBDIR += rubygem-google-gax SUBDIR += rubygem-google-protobuf SUBDIR += rubygem-google-protobuf38 SUBDIR += rubygem-googleapis-common-protos SUBDIR += rubygem-googleapis-common-protos-types SUBDIR += rubygem-graf SUBDIR += rubygem-grape SUBDIR += rubygem-grape-entity SUBDIR += rubygem-grape-path-helpers SUBDIR += rubygem-grape-route-helpers SUBDIR += rubygem-grape-swagger SUBDIR += rubygem-grape11 SUBDIR += rubygem-grape_logging SUBDIR += rubygem-graphiql-rails SUBDIR += rubygem-graphql SUBDIR += rubygem-graphql-docs SUBDIR += rubygem-grit SUBDIR += rubygem-grpc-google-iam-v1 SUBDIR += rubygem-guess_html_encoding SUBDIR += rubygem-gyoku SUBDIR += rubygem-hamster SUBDIR += rubygem-hashdiff SUBDIR += rubygem-hashery SUBDIR += rubygem-hashie SUBDIR += rubygem-hashie-forbidden_attributes SUBDIR += rubygem-hashie2 SUBDIR += rubygem-health_check SUBDIR += rubygem-health_check26-rails5 SUBDIR += rubygem-health_check26-rails52 SUBDIR += rubygem-heapy SUBDIR += rubygem-highline SUBDIR += rubygem-hike SUBDIR += rubygem-hike1 SUBDIR += rubygem-hitimes SUBDIR += rubygem-hocon SUBDIR += rubygem-hoe SUBDIR += rubygem-holidays SUBDIR += rubygem-http_accept_language SUBDIR += rubygem-i18n SUBDIR += rubygem-i18n_data SUBDIR += rubygem-icalendar SUBDIR += rubygem-ice_cube SUBDIR += rubygem-ice_nine SUBDIR += rubygem-inflecto SUBDIR += rubygem-iniparse SUBDIR += rubygem-insist SUBDIR += rubygem-instance_storage SUBDIR += rubygem-interact SUBDIR += rubygem-io-like SUBDIR += rubygem-iobuffer SUBDIR += rubygem-irb SUBDIR += rubygem-iso8601 SUBDIR += rubygem-jaeger-client SUBDIR += rubygem-jammit SUBDIR += rubygem-jaro_winkler SUBDIR += rubygem-jasmine-core SUBDIR += rubygem-jbuilder SUBDIR += rubygem-jbuilder-rails5 SUBDIR += rubygem-jbuilder-rails50 SUBDIR += rubygem-jbuilder-rails52 SUBDIR += rubygem-jekyll-coffeescript SUBDIR += rubygem-jenkins_api_client SUBDIR += rubygem-jeweler SUBDIR += rubygem-jira-ruby SUBDIR += rubygem-jmespath SUBDIR += rubygem-jquery-ui-themes SUBDIR += rubygem-jruby-jars SUBDIR += rubygem-json SUBDIR += rubygem-json-schema SUBDIR += rubygem-json1 SUBDIR += rubygem-json_pure SUBDIR += rubygem-json_pure1 SUBDIR += rubygem-jsonapi-renderer SUBDIR += rubygem-kafo SUBDIR += rubygem-kafo_parsers SUBDIR += rubygem-kafo_wizards SUBDIR += rubygem-kgio SUBDIR += rubygem-launchy SUBDIR += rubygem-launchy22 SUBDIR += rubygem-lazy_priority_queue SUBDIR += rubygem-librarian SUBDIR += rubygem-librarianp SUBDIR += rubygem-libyajl2 SUBDIR += rubygem-licensee SUBDIR += rubygem-licensee8 SUBDIR += rubygem-listen SUBDIR += rubygem-little-plugger SUBDIR += rubygem-local_time SUBDIR += rubygem-local_time-rails5 SUBDIR += rubygem-locale SUBDIR += rubygem-lockfile SUBDIR += rubygem-logging SUBDIR += rubygem-logster SUBDIR += rubygem-loquacious SUBDIR += rubygem-lru_redux SUBDIR += rubygem-lumberjack SUBDIR += rubygem-main SUBDIR += rubygem-manpages SUBDIR += rubygem-map SUBDIR += rubygem-marcel SUBDIR += rubygem-memoist SUBDIR += rubygem-memoizable SUBDIR += rubygem-memoize SUBDIR += rubygem-memory_profiler SUBDIR += rubygem-mercenary SUBDIR += rubygem-message_bus SUBDIR += rubygem-metaclass SUBDIR += rubygem-metaid SUBDIR += rubygem-metasm SUBDIR += rubygem-method_source SUBDIR += rubygem-micromachine SUBDIR += rubygem-micromachine2 SUBDIR += rubygem-mini_portile2 SUBDIR += rubygem-minitest SUBDIR += rubygem-mixlib-archive SUBDIR += rubygem-mixlib-authentication SUBDIR += rubygem-mixlib-cli SUBDIR += rubygem-mixlib-config SUBDIR += rubygem-mixlib-install SUBDIR += rubygem-mixlib-log SUBDIR += rubygem-mixlib-shellout SUBDIR += rubygem-mixlib-versioning SUBDIR += rubygem-mize SUBDIR += rubygem-mkrf SUBDIR += rubygem-mmap2 SUBDIR += rubygem-mocha SUBDIR += rubygem-molinillo SUBDIR += rubygem-moneta SUBDIR += rubygem-mongo SUBDIR += rubygem-mono_logger SUBDIR += rubygem-msgpack SUBDIR += rubygem-mspec SUBDIR += rubygem-multi_json SUBDIR += rubygem-multi_test SUBDIR += rubygem-murmurhash3 SUBDIR += rubygem-mustache SUBDIR += rubygem-mustache0 SUBDIR += rubygem-mustermann SUBDIR += rubygem-mustermann-grape SUBDIR += rubygem-mutter SUBDIR += rubygem-nakayoshi_fork SUBDIR += rubygem-native-package-installer SUBDIR += rubygem-naught SUBDIR += rubygem-necromancer SUBDIR += rubygem-needle SUBDIR += rubygem-nenv SUBDIR += rubygem-nesty SUBDIR += rubygem-netaddr SUBDIR += rubygem-newrelic-grape SUBDIR += rubygem-newrelic_rpm SUBDIR += rubygem-nice-ffi SUBDIR += rubygem-nio4r SUBDIR += rubygem-nori SUBDIR += rubygem-notiffany SUBDIR += rubygem-notify SUBDIR += rubygem-nprogress-rails SUBDIR += rubygem-nsa-rails5 SUBDIR += rubygem-numerizer SUBDIR += rubygem-numerizer01 SUBDIR += rubygem-oci SUBDIR += rubygem-octopress-hooks SUBDIR += rubygem-oj SUBDIR += rubygem-omniauth_crowd SUBDIR += rubygem-omniauth_crowd22 SUBDIR += rubygem-open3_backport SUBDIR += rubygem-open4 SUBDIR += rubygem-opentracing SUBDIR += rubygem-opentracing04 SUBDIR += rubygem-opt_parse_validator SUBDIR += rubygem-optimist SUBDIR += rubygem-orm_adapter SUBDIR += rubygem-os SUBDIR += rubygem-p4ruby SUBDIR += rubygem-paint SUBDIR += rubygem-paint1 SUBDIR += rubygem-paperclip SUBDIR += rubygem-paperclip-rails5 SUBDIR += rubygem-paperclip-rails50 SUBDIR += rubygem-parser SUBDIR += rubygem-pastel SUBDIR += rubygem-patch_finder SUBDIR += rubygem-pathspec SUBDIR += rubygem-pathutil SUBDIR += rubygem-pdk SUBDIR += rubygem-peek SUBDIR += rubygem-peek-gc-rails5 SUBDIR += rubygem-peek-gc-rails52 SUBDIR += rubygem-peek-host SUBDIR += rubygem-peek-performance_bar SUBDIR += rubygem-peek-rails4 SUBDIR += rubygem-peek-rails5 SUBDIR += rubygem-peek-rails52 SUBDIR += rubygem-peek-rblineprof-rails5 SUBDIR += rubygem-peek-rblineprof-rails52 SUBDIR += rubygem-peek-redis-rails5 SUBDIR += rubygem-peek-redis-rails52 SUBDIR += rubygem-pkg-config SUBDIR += rubygem-platform SUBDIR += rubygem-pleaserun SUBDIR += rubygem-plist SUBDIR += rubygem-pluggaloid SUBDIR += rubygem-polyamorous SUBDIR += rubygem-polyglot SUBDIR += rubygem-popen4 SUBDIR += rubygem-posix-spawn SUBDIR += rubygem-power_assert SUBDIR += rubygem-powerbar SUBDIR += rubygem-powerpack SUBDIR += rubygem-pqueue SUBDIR += rubygem-progressbar SUBDIR += rubygem-prometheus-client-mmap SUBDIR += rubygem-protected_attributes SUBDIR += rubygem-protocol SUBDIR += rubygem-pry SUBDIR += rubygem-pry-byebug SUBDIR += rubygem-pry-rails SUBDIR += rubygem-pry-remote-em SUBDIR += rubygem-ptreloaded SUBDIR += rubygem-puppet-resource_api SUBDIR += rubygem-pygments.rb SUBDIR += rubygem-r18n-core SUBDIR += rubygem-rabl SUBDIR += rubygem-rabl-rails50 SUBDIR += rubygem-racc SUBDIR += rubygem-rack-mini-profiler SUBDIR += rubygem-rack-raw-upload SUBDIR += rubygem-rails-deprecated_sanitizer SUBDIR += rubygem-rails-deprecated_sanitizer-rails5 SUBDIR += rubygem-rails-deprecated_sanitizer-rails50 SUBDIR += rubygem-rails-i18n-4 SUBDIR += rubygem-rails-i18n-rails5 SUBDIR += rubygem-rails-i18n-rails50 SUBDIR += rubygem-rails-i18n-rails52 SUBDIR += rubygem-rails-observers SUBDIR += rubygem-rainbow SUBDIR += rubygem-rake SUBDIR += rubygem-rake-compiler SUBDIR += rubygem-rake-compiler-dock SUBDIR += rubygem-rake-contrib SUBDIR += rubygem-ransack SUBDIR += rubygem-rapt SUBDIR += rubygem-rash SUBDIR += rubygem-rb-fsevent SUBDIR += rubygem-rb-inotify SUBDIR += rubygem-rb-kqueue SUBDIR += rubygem-rblineprof SUBDIR += rubygem-rbtrace SUBDIR += rubygem-rdoc SUBDIR += rubygem-re2 SUBDIR += rubygem-react-rails SUBDIR += rubygem-react-rails-rails5 SUBDIR += rubygem-readwritesettings SUBDIR += rubygem-recaptcha SUBDIR += rubygem-recursive-open-struct SUBDIR += rubygem-redis-activesupport SUBDIR += rubygem-redis-activesupport-rails5 SUBDIR += rubygem-redis-activesupport-rails50 SUBDIR += rubygem-redis-activesupport-rails52 SUBDIR += rubygem-redis-store SUBDIR += rubygem-redmine_plugin_support SUBDIR += rubygem-reentrant_flock SUBDIR += rubygem-ref SUBDIR += rubygem-request_store SUBDIR += rubygem-require_all SUBDIR += rubygem-resque SUBDIR += rubygem-retriable SUBDIR += rubygem-retryable SUBDIR += rubygem-rgl SUBDIR += rubygem-rice SUBDIR += rubygem-rodzilla SUBDIR += rubygem-rotp SUBDIR += rubygem-rr SUBDIR += rubygem-rrd-ffi SUBDIR += rubygem-rscm SUBDIR += rubygem-rspec SUBDIR += rubygem-rspec-core SUBDIR += rubygem-rspec-expectations SUBDIR += rubygem-rspec-its SUBDIR += rubygem-rspec-logsplit SUBDIR += rubygem-rspec-mocks SUBDIR += rubygem-rspec-rails SUBDIR += rubygem-rspec-support SUBDIR += rubygem-rspec_junit_formatter SUBDIR += rubygem-rubocop SUBDIR += rubygem-ruby-atmos-pure SUBDIR += rubygem-ruby-bugzilla SUBDIR += rubygem-ruby-enum SUBDIR += rubygem-ruby-filemagic SUBDIR += rubygem-ruby-fogbugz SUBDIR += rubygem-ruby-fogbugz021 SUBDIR += rubygem-ruby-libvirt SUBDIR += rubygem-ruby-macho SUBDIR += rubygem-ruby-ole SUBDIR += rubygem-ruby-prof SUBDIR += rubygem-ruby-progressbar SUBDIR += rubygem-ruby-sdl-ffi SUBDIR += rubygem-ruby2ruby SUBDIR += rubygem-ruby_dep SUBDIR += rubygem-ruby_parser SUBDIR += rubygem-rubygame SUBDIR += rubygem-rubygems-mirror SUBDIR += rubygem-rubygems-tasks SUBDIR += rubygem-rubygems-test SUBDIR += rubygem-rubyinline SUBDIR += rubygem-rubyinlineaccel SUBDIR += rubygem-rubytree SUBDIR += rubygem-rufus-scheduler SUBDIR += rubygem-rugged SUBDIR += rubygem-runt SUBDIR += rubygem-ruport SUBDIR += rubygem-safe_yaml SUBDIR += rubygem-schash SUBDIR += rubygem-sdoc SUBDIR += rubygem-semantic_puppet SUBDIR += rubygem-semi_semantic SUBDIR += rubygem-semver2 SUBDIR += rubygem-semverse SUBDIR += rubygem-sentry-raven SUBDIR += rubygem-sentry-raven25 SUBDIR += rubygem-sequel SUBDIR += rubygem-settingslogic SUBDIR += rubygem-sexp_processor SUBDIR += rubygem-shoulda SUBDIR += rubygem-shoulda-context SUBDIR += rubygem-shoulda-matchers SUBDIR += rubygem-sidekiq SUBDIR += rubygem-sidekiq-bulk SUBDIR += rubygem-sidekiq-cron SUBDIR += rubygem-sidekiq-scheduler SUBDIR += rubygem-sidekiq-unique-jobs SUBDIR += rubygem-sidetiq SUBDIR += rubygem-sigdump SUBDIR += rubygem-simple-navigation SUBDIR += rubygem-simple-navigation-rails50 SUBDIR += rubygem-simple_form SUBDIR += rubygem-simple_form-rails5 SUBDIR += rubygem-simple_form-rails50 SUBDIR += rubygem-simplecov SUBDIR += rubygem-skiptrace SUBDIR += rubygem-slack-notifier SUBDIR += rubygem-slack-notifier1 SUBDIR += rubygem-slim SUBDIR += rubygem-slop SUBDIR += rubygem-slop3 SUBDIR += rubygem-snowplow-tracker SUBDIR += rubygem-soap4r SUBDIR += rubygem-solve SUBDIR += rubygem-spring SUBDIR += rubygem-spring-watcher-listen SUBDIR += rubygem-sprockets SUBDIR += rubygem-sprockets-es6 SUBDIR += rubygem-sprockets-helpers SUBDIR += rubygem-sprockets-rails-rails4 SUBDIR += rubygem-sprockets-rails-rails5 SUBDIR += rubygem-sprockets-rails-rails50 SUBDIR += rubygem-sprockets-rails-rails52 SUBDIR += rubygem-sprockets-sass SUBDIR += rubygem-sprockets3 SUBDIR += rubygem-spruz SUBDIR += rubygem-state_machine SUBDIR += rubygem-state_machines SUBDIR += rubygem-statsd SUBDIR += rubygem-statsd-instrument SUBDIR += rubygem-statsd-ruby SUBDIR += rubygem-stella SUBDIR += rubygem-stemmer SUBDIR += rubygem-stomp SUBDIR += rubygem-stoplight SUBDIR += rubygem-storable SUBDIR += rubygem-stream SUBDIR += rubygem-streetaddress SUBDIR += rubygem-stringex SUBDIR += rubygem-strings SUBDIR += rubygem-strings-ansi SUBDIR += rubygem-strong_migrations SUBDIR += rubygem-strptime SUBDIR += rubygem-structured_warnings SUBDIR += rubygem-stud SUBDIR += rubygem-subexec SUBDIR += rubygem-sugar-high SUBDIR += rubygem-sumbur SUBDIR += rubygem-sundawg_country_codes SUBDIR += rubygem-svn2git SUBDIR += rubygem-sysinfo SUBDIR += rubygem-systemu SUBDIR += rubygem-table_print SUBDIR += rubygem-tdiff SUBDIR += rubygem-templater SUBDIR += rubygem-temple SUBDIR += rubygem-term-ansicolor SUBDIR += rubygem-terrapin SUBDIR += rubygem-test-unit SUBDIR += rubygem-thor SUBDIR += rubygem-thread_safe SUBDIR += rubygem-thread_safe1 SUBDIR += rubygem-thrift SUBDIR += rubygem-tilt SUBDIR += rubygem-tilt1 SUBDIR += rubygem-timers SUBDIR += rubygem-tins SUBDIR += rubygem-titlecase SUBDIR += rubygem-tool SUBDIR += rubygem-transaction-simple SUBDIR += rubygem-travis SUBDIR += rubygem-treetop SUBDIR += rubygem-trollop SUBDIR += rubygem-trollop1 SUBDIR += rubygem-tty SUBDIR += rubygem-tty-box SUBDIR += rubygem-tty-color SUBDIR += rubygem-tty-command SUBDIR += rubygem-tty-config SUBDIR += rubygem-tty-cursor SUBDIR += rubygem-tty-editor SUBDIR += rubygem-tty-file SUBDIR += rubygem-tty-font SUBDIR += rubygem-tty-logger SUBDIR += rubygem-tty-markdown SUBDIR += rubygem-tty-pager SUBDIR += rubygem-tty-pie SUBDIR += rubygem-tty-platform SUBDIR += rubygem-tty-progressbar SUBDIR += rubygem-tty-prompt SUBDIR += rubygem-tty-reader SUBDIR += rubygem-tty-screen SUBDIR += rubygem-tty-spinner SUBDIR += rubygem-tty-table SUBDIR += rubygem-tty-tree SUBDIR += rubygem-tty-which SUBDIR += rubygem-turn SUBDIR += rubygem-typed-array SUBDIR += rubygem-tzinfo SUBDIR += rubygem-tzinfo-data SUBDIR += rubygem-tzinfo1 SUBDIR += rubygem-uber SUBDIR += rubygem-unicode SUBDIR += rubygem-unicode-display_width SUBDIR += rubygem-unicode_utils SUBDIR += rubygem-unleash SUBDIR += rubygem-useragent SUBDIR += rubygem-uuid SUBDIR += rubygem-uuidtools SUBDIR += rubygem-validatable SUBDIR += rubygem-validate_email SUBDIR += rubygem-validate_url SUBDIR += rubygem-versionomy SUBDIR += rubygem-virtus SUBDIR += rubygem-warbler SUBDIR += rubygem-warden SUBDIR += rubygem-wdm SUBDIR += rubygem-web-console-rails5 SUBDIR += rubygem-web-console-rails50 SUBDIR += rubygem-web-console-rails52 SUBDIR += rubygem-web-console2 SUBDIR += rubygem-webby SUBDIR += rubygem-webfinger SUBDIR += rubygem-webpacker-rails5 SUBDIR += rubygem-webpacker-rails50 SUBDIR += rubygem-will_paginate SUBDIR += rubygem-windows_error SUBDIR += rubygem-wisper SUBDIR += rubygem-wmi-lite SUBDIR += rubygem-xdg SUBDIR += rubygem-xdg2 SUBDIR += rubygem-xpath SUBDIR += rubygem-yajl-ruby SUBDIR += rubygem-yui-compressor SUBDIR += rubygem-zeitwerk SUBDIR += rubygem-zentest SUBDIR += rudeconfig SUBDIR += rudiments SUBDIR += runsnakerun SUBDIR += rust-bindgen SUBDIR += rust-cbindgen SUBDIR += rvi SUBDIR += rvm SUBDIR += sabre SUBDIR += safe-iop SUBDIR += samurai SUBDIR += sasm SUBDIR += sbt SUBDIR += scalatest SUBDIR += scandoc SUBDIR += sccache SUBDIR += scons SUBDIR += sdl12 SUBDIR += sdl20 SUBDIR += sdl2pp SUBDIR += sdl_console SUBDIR += sdl_gnat SUBDIR += sdl_sge SUBDIR += sdlmm SUBDIR += sdlskk SUBDIR += sdts++ SUBDIR += sedsed SUBDIR += serd SUBDIR += serdisplib SUBDIR += sfml SUBDIR += sfml1 SUBDIR += sgb SUBDIR += shapelib SUBDIR += shards SUBDIR += shedskin SUBDIR += shell-toolbox SUBDIR += shflags SUBDIR += shfmt SUBDIR += shiboken2 SUBDIR += shmap SUBDIR += shtk SUBDIR += shtool SUBDIR += sigar SUBDIR += sigslot SUBDIR += silc-toolkit SUBDIR += silentbob SUBDIR += simavr SUBDIR += simgear SUBDIR += simian SUBDIR += simple_components SUBDIR += skalibs SUBDIR += skypat SUBDIR += slf4j SUBDIR += slibtool SUBDIR += smake SUBDIR += smc SUBDIR += smv SUBDIR += snorenotify SUBDIR += soapui SUBDIR += socket_wrapper SUBDIR += sonar-ant-task SUBDIR += sonar-scanner-cli SUBDIR += sonarqube SUBDIR += sope2 SUBDIR += sope3 SUBDIR += sope4 SUBDIR += sord SUBDIR += sourcenav SUBDIR += sparc64-gcc SUBDIR += sparc64-xtoolchain-gcc SUBDIR += spark SUBDIR += sparsehash SUBDIR += spatialindex SUBDIR += spdlog SUBDIR += spice-protocol SUBDIR += spin SUBDIR += spirv-tools SUBDIR += splint SUBDIR += spread-sheet-widget SUBDIR += srecord SUBDIR += st SUBDIR += stack SUBDIR += staf SUBDIR += statcvs SUBDIR += statik SUBDIR += statsvn SUBDIR += stdx-allocator SUBDIR += stfl SUBDIR += stlfilt SUBDIR += stlink SUBDIR += storm SUBDIR += str SUBDIR += strace SUBDIR += stringencoders SUBDIR += stxxl SUBDIR += subversion SUBDIR += subversion-book SUBDIR += subversion-lts SUBDIR += subversive SUBDIR += svk SUBDIR += svn2git SUBDIR += svn_load_dirs SUBDIR += svntrac SUBDIR += swank-clojure SUBDIR += swig30 SUBDIR += synfig SUBDIR += sysconftool SUBDIR += sysfsutils SUBDIR += systemc SUBDIR += t1lib SUBDIR += ta-lib SUBDIR += tablist SUBDIR += tailor SUBDIR += talloc SUBDIR += talloc1 SUBDIR += tass64 SUBDIR += tbb SUBDIR += tcl-memchan SUBDIR += tcl-mmap SUBDIR += tcl-signal SUBDIR += tcl-trf SUBDIR += tclap SUBDIR += tclbsd SUBDIR += tclcheck SUBDIR += tcllauncher SUBDIR += tcllib SUBDIR += tcllibc SUBDIR += tcloo SUBDIR += tclreadline SUBDIR += tclthread SUBDIR += tcltls SUBDIR += tclvfs SUBDIR += tclxml SUBDIR += tdl SUBDIR += template-glib SUBDIR += termbox SUBDIR += terminality SUBDIR += tevent SUBDIR += tevent1 SUBDIR += tex-kpathsea SUBDIR += tex-libtexlua SUBDIR += tex-libtexluajit SUBDIR += tex-synctex SUBDIR += tex-web2c SUBDIR += thonny SUBDIR += thrift SUBDIR += thrift-c_glib SUBDIR += thrift-cpp SUBDIR += thrust SUBDIR += thunar-vcs-plugin SUBDIR += ticcutils SUBDIR += tig SUBDIR += tigcc SUBDIR += tijmp SUBDIR += tinycbor SUBDIR += tinylaf SUBDIR += tkcon SUBDIR += tkcvs SUBDIR += tkmerge SUBDIR += tkp4 SUBDIR += tla SUBDIR += tmake SUBDIR += tnt SUBDIR += toh SUBDIR += tokamak SUBDIR += tokei SUBDIR += tortoisehg SUBDIR += tpasm SUBDIR += trac-bitten SUBDIR += tradcpp SUBDIR += treepy.el SUBDIR += trellis SUBDIR += trio SUBDIR += truc SUBDIR += ua_parser-core SUBDIR += uatraits SUBDIR += uclcmd SUBDIR += ucommon SUBDIR += ucpp SUBDIR += udis86 SUBDIR += uid_wrapper SUBDIR += ultragetopt SUBDIR += umbrello SUBDIR += umlgraph SUBDIR += unibilium SUBDIR += unittest-cpp SUBDIR += universal-ctags SUBDIR += upnp SUBDIR += upp SUBDIR += upslug SUBDIR += urjtag SUBDIR += utf8cpp SUBDIR += uthash SUBDIR += valgrind SUBDIR += valgrind-devel SUBDIR += varconf SUBDIR += vasm SUBDIR += vc SUBDIR += vcglib SUBDIR += vera++ SUBDIR += vexcl SUBDIR += viewvc SUBDIR += violet SUBDIR += visualparadigm SUBDIR += vitables SUBDIR += vstr SUBDIR += vulkan-headers SUBDIR += vulkan-tools SUBDIR += vulkan-validation-layers SUBDIR += vxlog SUBDIR += wand-libconfig SUBDIR += wandio SUBDIR += websocketpp SUBDIR += websvn SUBDIR += wf-config SUBDIR += wininfo SUBDIR += wizardkit SUBDIR += woff2 SUBDIR += wxGlade SUBDIR += wxformbuilder SUBDIR += xa65 SUBDIR += xbyak SUBDIR += xc3sprog SUBDIR += xdg-user-dirs SUBDIR += xdg-utils SUBDIR += xdgpaths SUBDIR += xeus SUBDIR += xeus-cling SUBDIR += xfce4-dev-tools SUBDIR += xmake SUBDIR += xmltooling SUBDIR += xorg-macros SUBDIR += xparam SUBDIR += xsd SUBDIR += xtensa-esp32-elf SUBDIR += xtl SUBDIR += xtl-quant-stack SUBDIR += xtoolchain-llvm-devel SUBDIR += xtoolchain-llvm60 SUBDIR += xtoolchain-llvm70 SUBDIR += xtoolchain-llvm80 SUBDIR += xtoolchain-llvm90 SUBDIR += xwpe SUBDIR += xxgdb SUBDIR += xxhash SUBDIR += xxl SUBDIR += yaggo SUBDIR += yajl SUBDIR += yajl-tcl SUBDIR += yaml-cpp SUBDIR += yaml-cpp03 SUBDIR += yaml2argdata SUBDIR += yasm SUBDIR += yasm-devel SUBDIR += yosys SUBDIR += youcompleteme SUBDIR += z80-asm SUBDIR += z80asm SUBDIR += z80ex SUBDIR += zanata-cli SUBDIR += zanata-platform SUBDIR += zapcc SUBDIR += zeal SUBDIR += zfp SUBDIR += zookeeper SUBDIR += zpu-binutils SUBDIR += zpu-gcc SUBDIR += zthread SUBDIR += zziplib .include Index: head/devel/electron6/Makefile =================================================================== --- head/devel/electron6/Makefile (nonexistent) +++ head/devel/electron6/Makefile (revision 518408) @@ -0,0 +1,332 @@ +# $FreeBSD$ + +PORTNAME= electron +DISTVERSIONPREFIX= v +DISTVERSION= ${ELECTRON_VER:S/-beta./.b/} +CATEGORIES= devel java +MASTER_SITES= https://github.com/tagattie/FreeBSD-Electron/releases/download/v6.0.9/:chromium \ + https://commondatastorage.googleapis.com/chromium-browser-official/:chromium_official \ + https://commondatastorage.googleapis.com/chromium-nodejs/:chromium_node \ + https://commondatastorage.googleapis.com/chromium-fonts/:chromium_testfonts +PKGNAMESUFFIX= 6 +DISTFILES= chromium-${CHROMIUM_VER}${EXTRACT_SUFX}:chromium \ + chromium-${CHROMIUM_OFFICIAL_VER}${EXTRACT_SUFX}:chromium_official \ + ${CHROMIUM_NODE_MODULES_HASH}:chromium_node \ + electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch +DIST_SUBDIR= ${PORTNAME} + +MAINTAINER= tagattie@yandex.com +COMMENT= Build cross-platform desktop apps with JavaScript, HTML, and CSS + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/electron/LICENSE + +FETCH_DEPENDS= yarn:www/yarn-node12 +EXTRACT_DEPENDS= yarn:www/yarn-node12 +PATCH_DEPENDS= git:devel/git +BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \ + gperf:devel/gperf \ + yasm:devel/yasm \ + ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ + node:www/node12 \ + npm:www/npm-node12 +LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \ + libsnappy.so:archivers/snappy \ + libFLAC.so:audio/flac \ + libopus.so:audio/opus \ + libdbus-1.so:devel/dbus \ + libnotify.so:devel/libnotify \ + libpci.so:devel/libpci \ + libnspr4.so:devel/nspr \ + libre2.so:devel/re2 \ + libdrm.so:graphics/libdrm \ + libwebp.so:graphics/webp \ + libavcodec.so:multimedia/ffmpeg \ + libvpx.so:multimedia/libvpx \ + libopenh264.so:multimedia/openh264 \ + libfreetype.so:print/freetype2 \ + libharfbuzz.so:print/harfbuzz \ + libsecret-1.so:security/libsecret \ + libnss3.so:security/nss \ + libexpat.so:textproc/expat2 \ + libfontconfig.so:x11-fonts/fontconfig +RUN_DEPENDS= xdg-open:devel/xdg-utils +TEST_DEPENDS= yarn:www/yarn-node12 + +USES= bison dos2unix gettext-tools gl gnome jpeg localbase:ldflags \ + ninja pkgconfig python:2.7,build tar:xz xorg + +CONFLICTS_INSTALL= electron4 electron5 + +USE_GITHUB= yes +GH_TAGNAME= ${DISTVERSIONPREFIX}${ELECTRON_VER} +GH_TUPLE= nodejs:node:v${NODE_VER}:node + # boto:boto:f7574aa6cc2c819430c1f05e9a1a1a666ef8169b:boto \ + # yaml:pyyaml:3.12:pyyaml \ + # kennethreitz:requests:e4d59bedfd3c7f4f254f4f5d036587bcd8152458:requests + +ELECTRON_VER= 6.1.4 +# Official chromium version containing "gn" which is known to work +CHROMIUM_OFFICIAL_VER= 76.0.3809.132 +# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER +CHROMIUM_VER= 76.0.3809.146 +# See ${WRKSRC}/third_party/node/node_modules.tar.gz.sha1 for CHROMIUM_NODE_MODULES_HASH +CHROMIUM_NODE_MODULES_HASH= 2dd750e768cec597fc018509009637819ae4549c +# See ${WRKSRC}/third_party/test_fonts/test_fonts.tar.gz.sha1 for CHROMIUM_TEST_FONTS_HASH +CHROMIUM_TEST_FONTS_HASH= a22de844e32a3f720d219e3911c3da3478039f89 +# See ${WRKSRC}/electron/DEPS for NODE_VER +NODE_VER= 12.4.0 + +NO_WRKSUBDIR= yes +WRKSRC_SUBDIR= src + +DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h +BINARY_ALIAS= python=${PYTHON_CMD} + +USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \ + xrender xscrnsaver xtst +USE_GL= gl glesv2 +USE_GNOME= atk cairo pango gdkpixbuf2 gtk30 libxml2 libxslt +USE_JAVA= yes +JAVA_VERSION= 1.8 +JAVA_BUILD= yes + +USE_LDCONFIG= ${DATADIR} + +GN_ARGS+= clang_use_chrome_plugins=false \ + enable_hangout_services_extension=true \ + enable_nacl=false \ + enable_remoting=false \ + fieldtrial_testing_like_official_build=true \ + is_clang=true \ + toolkit_views=true \ + treat_warnings_as_errors=false \ + use_allocator="none" \ + use_allocator_shim=false \ + use_aura=true \ + use_custom_libcxx=false \ + use_gnome_keyring=false \ + use_jumbo_build=true \ + use_lld=true \ + use_sysroot=false \ + use_system_freetype=true \ + use_system_harfbuzz=true \ + use_system_lcms2=true \ + use_system_libdrm=true \ + use_system_libjpeg=true \ + extra_cxxflags="${CXXFLAGS}" \ + extra_ldflags="${LDFLAGS}" +GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles + +ALL_TARGET= electron +MAKE_ARGS= -C out/${BUILDTYPE} +MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ + CPLUS_INCLUDE_PATH=${LOCALBASE}/include + +OPTIONS_DEFINE= CUPS DEBUG DIST DRIVER KERBEROS TEST +DIST_DESC= Build distribution zip files +DRIVER_DESC= Install chromedriver +OPTIONS_GROUP= AUDIO +OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO +OPTIONS_DEFAULT= CUPS DRIVER KERBEROS ALSA +OPTIONS_SUB= yes + +.if make(makesum) +.MAKEFLAGS: WITH="${OPTIONS_DEFINE}" +.endif + +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins +ALSA_VARS= GN_ARGS+=use_alsa=true +ALSA_VARS_OFF= GN_ARGS+=use_alsa=false + +CUPS_LIB_DEPENDS= libcups.so:print/cups +CUPS_VARS= GN_ARGS+=use_cups=true +CUPS_VARS_OFF= GN_ARGS+=use_cups=false + +DEBUG_VARS= BUILDTYPE=Debug \ + GN_ARGS+=is_component_build=false +DEBUG_VARS_OFF= BUILDTYPE=Release + +DIST_IMPLIES= DRIVER + +DRIVER_ALL_TARGET= chromedriver + +KERBEROS_VARS= GN_ARGS+=use_kerberos=true +KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false + +PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio +PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true +PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false + +.include "Makefile.tests" +TEST_DISTFILES= ${CHROMIUM_TEST_FONTS_HASH}:chromium_testfonts +TEST_ALL_TARGET= ${TEST_TARGETS} +TEST_ALL_TARGET+= third_party/electron_node:headers + +POST_BUILD_TARGETS= licenses version +POST_BUILD_DIST_TARGETS= dist.zip chromedriver.zip mksnapshot.zip + +YARN_TIMESTAMP= 1573637891 + +PLIST_SUB= ELECTRON_VER=${ELECTRON_VER} + +.include + +.if ${ARCH} == "amd64" +PLIST_SUB+= AMD64="" +.else +PLIST_SUB+= AMD64="@comment " +.endif + +.if ${ARCH} == "i386" +PLIST_SUB+= I386="" +.else +PLIST_SUB+= I386="@comment " +.endif + +pre-fetch: + @${MKDIR} ${DISTDIR}/${DIST_SUBDIR} + if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} ]; \ + then ${MKDIR} ${WRKDIR}; \ + ${SED} -e 's|$${WRKDIR}|${WRKDIR}|' \ + ${FILESDIR}/yarnrc-offline-mirror >> ${WRKDIR}/.yarnrc; \ + ${CP} ${FILESDIR}/package.json ${FILESDIR}/yarn.lock ${WRKDIR}; \ + cd ${WRKDIR} && ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache \ + yarn --frozen-lockfile; \ + ${MTREE_CMD} -cbnSp yarn-offline-cache | ${MTREE_CMD} -C | ${SED} \ + -e 's:time=[0-9.]*:time=${YARN_TIMESTAMP}.000000000:' \ + -e 's:\([gu]id\)=[0-9]*:\1=0:g' \ + -e 's:flags=.*:flags=none:' \ + -e 's:^\.:./yarn-offline-cache:' > yarn-offline-cache.mtree; \ + ${TAR} cJf ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} \ + @yarn-offline-cache.mtree; \ + ${RM} -r ${WRKDIR}; \ + fi + +post-extract: + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_VER} ${WRKSRC} + ${RM} -r ${WRKSRC}/tools/gn + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_OFFICIAL_VER}/tools/gn \ + ${WRKSRC}/tools/gn + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${PORTNAME}-${ELECTRON_VER} ${WRKSRC}/electron + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_node}-${NODE_VER} \ + ${WRKSRC}/third_party/electron_node + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/yarn-offline-cache ${WRKDIR} + ${SED} -e 's|$${WRKDIR}|${WRKDIR}|' ${FILESDIR}/yarnrc-offline-mirror >> ${WRKSRC}/electron/.yarnrc + cd ${WRKSRC}/electron && \ + ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache yarn --frozen-lockfile --offline + # ${RMDIR} ${WRKSRC}/electron/vendor/${GH_PROJECT_boto} + # ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_boto}-${GH_TAGNAME_boto} \ + # ${WRKSRC}/electron/vendor/${GH_PROJECT_boto} + # ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_pyyaml}-${GH_TAGNAME_pyyaml} \ + # ${WRKSRC}/electron/vendor/${GH_PROJECT_pyyaml} + # ${RMDIR} ${WRKSRC}/electron/vendor/${GH_PROJECT_requests} + # ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_requests}-${GH_TAGNAME_requests} \ + # ${WRKSRC}/electron/vendor/${GH_PROJECT_requests} + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/node_modules ${WRKSRC}/third_party/node + +post-extract-TEST-on: + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/test_fonts ${WRKSRC}/third_party/test_fonts + +pre-patch: + ${SH} ${FILESDIR}/apply-electron-patches.sh ${WRKSRC} + # ${FIND} ${WRKSRC} -type f -name '*.orig' -print -delete + # ${FIND} ${WRKSRC} -type f -name '*~' -print -delete + +pre-configure: + # cd ${WRKSRC}/electron/vendor/${GH_PROJECT_boto} && \ + # ${PYTHON_CMD} setup.py build + # cd ${WRKSRC}/electron/vendor/${GH_PROJECT_requests} && \ + # ${PYTHON_CMD} setup.py build + # We used to remove bundled libraries to be sure that chromium uses + # system libraries and not shipped ones. + # cd ${WRKSRC} && ${PYTHON_CMD} \ + #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ + ./build/linux/unbundle/replace_gn_files.py --system-libraries \ + ffmpeg flac fontconfig freetype harfbuzz-ng libdrm libjpeg \ + libusb libvpx libwebp libxml libxslt openh264 opus re2 snappy \ + yasm || ${FALSE} + +do-configure: + # GN generator bootstrapping and generating ninja files + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ + READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ + ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn gen out/${BUILDTYPE} \ + --args='import("//electron/build/args/${BUILDTYPE:tl}.gn") ${GN_ARGS}' + # Setup nodejs dependency + ${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin + ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node + # Setup java dependency + ${MKDIR} ${WRKDIR}/bin + ${LN} -sf ${LOCALBASE}/openjdk8/bin/java ${WRKDIR}/bin/java + +# do-build: +# cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ninja -C out/${BUILDTYPE} ${ALL_TARGET} + +post-build: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ + ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_TARGETS} + +post-build-DIST-on: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ + ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_DIST_TARGETS} + cd ${WRKSRC}/out/${BUILDTYPE} && \ + ${CP} chromedriver.zip chromedriver-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ + ${CP} dist.zip electron-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ + ${CP} mksnapshot.zip mksnapshot-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ + ${SHA256} -r *-v${ELECTRON_VER}-freebsd-*.zip | ${SED} -e 's/ / */' > SHASUMS256.txt + +do-install: + ${MKDIR} ${STAGEDIR}${DATADIR} +.for f in electron mksnapshot v8_context_snapshot_generator + ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor +.for f in libEGL.so libGLESv2.so + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor + ${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader +.for f in libEGL.so libGLESv2.so + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${f} ${STAGEDIR}${DATADIR}/swiftshader +.endfor +.for f in LICENSE LICENSES.chromium.html icudtl.dat natives_blob.bin snapshot_blob.bin v8_context_snapshot.bin version + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor +.for f in chrome_100_percent.pak chrome_200_percent.pak resources.pak + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor + ${MKDIR} ${STAGEDIR}${DATADIR}/locales + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/locales/*.pak ${STAGEDIR}${DATADIR}/locales + ${MKDIR} ${STAGEDIR}${DATADIR}/resources +.for f in default_app.asar electron.asar + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/resources/${f} ${STAGEDIR}${DATADIR}/resources +.endfor + ${RLN} ${STAGEDIR}${DATADIR}/electron ${STAGEDIR}${PREFIX}/bin + +post-install-DIST-on: + ${MKDIR} ${STAGEDIR}${DATADIR}/releases + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/SHASUMS256.txt ${STAGEDIR}${DATADIR}/releases + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*-v${ELECTRON_VER}-freebsd-*.zip ${STAGEDIR}${DATADIR}/releases + +post-install-DRIVER-on: + ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver ${STAGEDIR}${DATADIR} + +do-test-TEST-on: + # chromium unit tests +# .for t in ${TEST_ALL_TARGET} +# cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ +# ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} +# .endfor + # electron unit tests + # Note 1: "npm install" will run before actual tests are executed + # Note 2: Xvfb or something similar is necessary for headless testing + # **Note 3: unit test won't run yet. (robotjs doesn't build with node 12).** +.for t in ${TEST_MODULES} + cd ${WRKSRC}/electron && \ + ${SETENV} ${TEST_ENV} ELECTRON_OUT_DIR=${BUILDTYPE} \ + npm run test -- --ci -g '${t}' || ${TRUE} +.endfor + +.include Property changes on: head/devel/electron6/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/Makefile.tests =================================================================== --- head/devel/electron6/Makefile.tests (nonexistent) +++ head/devel/electron6/Makefile.tests (revision 518408) @@ -0,0 +1,87 @@ +# $FreeBSD$ + +TEST_TARGETS= base_unittests \ + chromedriver_unittests \ + crypto_unittests \ + printing_unittests \ + url_unittests + +# capture_unittests \ +# cc_unittests \ +# compositor_unittests \ +# content_unittests \ +# dbus_unittests \ +# display_unittests \ +# events_unittests \ +# gin_unittests \ +# gl_unittests \ +# gpu_unittests \ +# headless_unittests \ +# media_unittests \ +# media_mojo_unittests \ +# midi_unittests \ +# mojo_unittests \ +# net_unittests \ +# ppapi_unittests \ +# skia_unittests \ +# sql_unittests \ +# storage_unittests \ +# ui_base_unittests \ +# url_ipc_unittests \ +# unittests \ + +TEST_MODULES= electron\ module \ + app\ module \ + default\ behavior \ + webContents\ module \ + autoUpdater\ module \ + BrowserView\ module \ + BrowserWindow\ with\ affinity\ module \ + BrowserWindow\ module \ + CallbacksRegistry\ module \ + clipboard\ module \ + contentTracing \ + debugger\ module \ + deprecations \ + desktopCapturer \ + dialog\ module \ + globalShortcut\ module \ + ipc\ main\ module \ + ipc\ renderer\ module \ + MenuItems \ + Menu\ module \ + nativeImage\ module \ + netLog\ module \ + net\ module \ + Notification\ module \ + powerMonitor \ + powerSaveBlocker\ module \ + process\ module \ + protocol\ module \ + remote\ module \ + screen\ module \ + session\ module \ + shell\ module \ + renderer\ nodeIntegrationInSubFrames \ + systemPreferences\ module \ + TouchBar\ module \ + tray\ module \ + View \ + WebContentsView \ + webFrame\ module \ + webRequest\ module \ + asar\ package \ + chrome\ api \ + chromium\ feature \ + font\ fallback \ + chrome\ extension\ content\ scripts \ + feature-string\ parsing \ + modules\ support \ + node\ feature \ + security\ warnings \ + bump-version\ utils \ + bump-version\ script \ + \ tag + +# crashReporter\ module \ +# inAppPurchase\ module \ Property changes on: head/devel/electron6/Makefile.tests ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/distinfo =================================================================== --- head/devel/electron6/distinfo (nonexistent) +++ head/devel/electron6/distinfo (revision 518408) @@ -0,0 +1,15 @@ +TIMESTAMP = 1573639983 +SHA256 (electron/chromium-76.0.3809.146.tar.xz) = 1538c7118fb94c1ba6b6da18f4b8f6a6d303dee855ee0e5c3f9025f17563f3cd +SIZE (electron/chromium-76.0.3809.146.tar.xz) = 1355929024 +SHA256 (electron/chromium-76.0.3809.132.tar.xz) = d54e4640b5e399d170dffbc5bcff65157eb1b29314b94b5d808f727d9ce45241 +SIZE (electron/chromium-76.0.3809.132.tar.xz) = 728899912 +SHA256 (electron/2dd750e768cec597fc018509009637819ae4549c) = d63b5953e3e8a0d6b7ed344043f9ffe7a49ddcf4e591d59aebaf87e299360730 +SIZE (electron/2dd750e768cec597fc018509009637819ae4549c) = 4182260 +SHA256 (electron/electron-yarn-cache-6.1.4.tar.xz) = f05c5ed9d00bdb28351867f1172af488fc0ff040dece628ebe9e3841b2927d1b +SIZE (electron/electron-yarn-cache-6.1.4.tar.xz) = 36875872 +SHA256 (electron/a22de844e32a3f720d219e3911c3da3478039f89) = 6e331676d098a57c53c1250821dc47ed84c47f823901bf30c4704df90d8a34be +SIZE (electron/a22de844e32a3f720d219e3911c3da3478039f89) = 17469927 +SHA256 (electron/electron-electron-v6.1.4_GH0.tar.gz) = 881ca1f9e0904b0cd193b38b063e878c63926b48317ce356bcaf35aec97e3ad7 +SIZE (electron/electron-electron-v6.1.4_GH0.tar.gz) = 4152215 +SHA256 (electron/nodejs-node-v12.4.0_GH0.tar.gz) = fc7df2a5cdb43b7a186f07a04e6b0f5c5c3b4c117f08185ffec3345613c71d94 +SIZE (electron/nodejs-node-v12.4.0_GH0.tar.gz) = 70296027 Property changes on: head/devel/electron6/distinfo ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/apply-electron-patches.sh =================================================================== --- head/devel/electron6/files/apply-electron-patches.sh (nonexistent) +++ head/devel/electron6/files/apply-electron-patches.sh (revision 518408) @@ -0,0 +1,20 @@ +#! /bin/sh + +PATH=/bin:/usr/bin:/usr/local/bin + +PATCH_CMD="git apply" +#PATCH_FLAGS="--numstat --check" # for debugging +PATCH_FLAGS="--verbose --reject" + +WRKSRC=$1 +PATCH_CONF=${WRKSRC}/electron/patches/common/config.json + +PATCHD_REPOD_PAIRS=$(sed -e '1d; $d; /^$/d; s/[",]//g; s/: */:/' "${PATCH_CONF}") +for prp in ${PATCHD_REPOD_PAIRS}; do + pd=$(echo "${prp}" | awk -F: '{print $1}' | sed -e 's/src/./') + rd=$(echo "${prp}" | awk -F: '{print $2}' | sed -e 's/src/./') + (cd "${WRKSRC}/${rd}" && \ + while read -r p; do + ${PATCH_CMD} ${PATCH_FLAGS} "${WRKSRC}/${pd}/${p}" + done < "${WRKSRC}/${pd}/.patches") +done Property changes on: head/devel/electron6/files/apply-electron-patches.sh ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/package.json =================================================================== --- head/devel/electron6/files/package.json (nonexistent) +++ head/devel/electron6/files/package.json (revision 518408) @@ -0,0 +1,135 @@ +{ + "name": "electron", + "version": "6.1.4", + "repository": "https://github.com/electron/electron", + "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS", + "devDependencies": { + "@octokit/rest": "^16.3.2", + "@types/chai": "^4.1.7", + "@types/chai-as-promised": "^7.1.0", + "@types/express": "^4.16.1", + "@types/fs-extra": "^5.0.5", + "@types/mocha": "^5.2.6", + "@types/node": "^10.12.21", + "@types/split": "^1.0.0", + "@typescript-eslint/eslint-plugin": "^1.4.2", + "@typescript-eslint/parser": "^1.4.2", + "aliasify": "^2.1.0", + "asar": "^1.0.0", + "browserify": "^16.2.3", + "check-for-leaks": "^1.0.2", + "clang-format": "^1.2.3", + "colors": "^1.1.2", + "dotenv-safe": "^4.0.4", + "dugite": "^1.45.0", + "electron-docs-linter": "^3.0.1", + "electron-typescript-definitions": "^8.2.2", + "eslint": "^5.13.0", + "eslint-config-standard": "^12.0.0", + "eslint-plugin-import": "^2.17.2", + "eslint-plugin-mocha": "^5.2.0", + "eslint-plugin-node": "^8.0.1", + "eslint-plugin-standard": "^4.0.0", + "eslint-plugin-typescript": "^0.14.0", + "express": "^4.16.4", + "folder-hash": "^2.1.1", + "fs-extra": "^7.0.1", + "husky": "^0.14.3", + "klaw": "^3.0.0", + "lint": "^1.1.2", + "lint-staged": "^8.1.0", + "minimist": "^1.2.0", + "nugget": "^2.0.1", + "octicons": "^7.3.0", + "plist": "^3.0.1", + "pre-flight": "^1.1.0", + "remark-cli": "^4.0.0", + "remark-preset-lint-markdown-style-guide": "^2.1.1", + "request": "^2.88.0", + "semver": "^5.6.0", + "serve": "^6.5.8", + "shx": "^0.3.2", + "standard-markdown": "^5.0.0", + "sumchecker": "^2.0.2", + "temp": "^0.8.3", + "ts-node": "^6.0.3", + "tsify": "^4.0.1", + "typescript": "~3.3.3333" + }, + "private": true, + "scripts": { + "asar": "asar", + "browserify": "browserify", + "bump-version": "./script/bump-version.js", + "check-tls": "python ./script/tls.py", + "clang-format": "find atom/ chromium_src/ -iname *.h -o -iname *.cc -o -iname *.mm | xargs clang-format -i", + "lint": "node ./script/lint.js && npm run lint:clang-format && npm run lint:docs", + "lint:js": "node ./script/lint.js --js", + "lint:clang-format": "python script/run-clang-format.py -r -c atom/ chromium_src/ || (echo \"\\nCode not formatted correctly.\" && exit 1)", + "lint:cpp": "node ./script/lint.js --cc", + "lint:py": "node ./script/lint.js --py", + "lint:gn": "node ./script/lint.js --gn", + "lint:docs": "remark docs -qf && npm run lint:js-in-markdown && npm run create-typescript-definitions && npm run lint:docs-relative-links && npm run lint:check-trailing-whitespace", + "lint:docs-relative-links": "python ./script/check-relative-doc-links.py", + "lint:check-trailing-whitespace": "python ./script/check-trailing-whitespace.py", + "lint:js-in-markdown": "standard-markdown docs", + "create-api-json": "electron-docs-linter docs --outfile=electron-api.json", + "create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --in=electron-api.json --out=electron.d.ts && node spec/ts-smoke/runner.js", + "gn-typescript-definitions": "npm run create-typescript-definitions && shx cp electron.d.ts", + "pre-flight": "pre-flight", + "preinstall": "node -e 'process.exit(0)'", + "precommit": "lint-staged", + "prepack": "check-for-leaks", + "prepush": "check-for-leaks", + "repl": "node ./script/start.js --interactive", + "start": "node ./script/start.js", + "test": "node ./script/spec-runner.js", + "tsc": "tsc" + }, + "license": "MIT", + "author": "Electron Community", + "keywords": [ + "electron" + ], + "aliasify": { + "replacements": { + "@electron/internal/(.+)": "./lib/$1" + }, + "appliesTo": { + "includeExtensions": [ + ".js", + ".ts" + ] + } + }, + "lint-staged": { + "*.{js,ts}": [ + "node script/lint.js --js --fix --only --", + "git add" + ], + "*.{js,ts,d.ts}": [ + "node script/gen-filenames.js", + "git add" + ], + "*.{cc,mm,c,h}": [ + "python script/run-clang-format.py -r -c --fix", + "git add" + ], + "*.md": [ + "remark -qf" + ], + "*.{gn,gni}": [ + "python script/run-gn-format.py", + "git add" + ], + "*.py": [ + "node script/lint.js --py --fix --only --", + "git add" + ], + "docs/api/**/*.md": [ + "node script/gen-filenames.js", + "python script/check-trailing-whitespace.py --fix", + "git add filenames.auto.gni" + ] + } +} Property changes on: head/devel/electron6/files/package.json ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-BUILD.gn =================================================================== --- head/devel/electron6/files/patch-BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-BUILD.gn (revision 518408) @@ -0,0 +1,95 @@ +--- BUILD.gn.orig 2019-09-10 11:13:30 UTC ++++ BUILD.gn +@@ -386,7 +386,7 @@ group("gn_all") { + ] + } + +- if (is_linux || is_android) { ++ if ((is_linux && !is_bsd) || is_android) { + deps += [ + "//third_party/breakpad:breakpad_unittests", + "//third_party/breakpad:core-2-minidump", +@@ -427,8 +427,6 @@ group("gn_all") { + "//net:disk_cache_memory_test", + "//net:quic_client", + "//net:quic_server", +- "//sandbox/linux:chrome_sandbox", +- "//sandbox/linux:sandbox_linux_unittests", + "//testing:empty_main", + ] + +@@ -483,10 +481,6 @@ group("gn_all") { + "//chrome/test:load_library_perf_tests", + "//chrome/test:sync_performance_tests", + "//chrome/test/chromedriver:chromedriver", +- "//courgette:courgette", +- "//courgette:courgette_fuzz", +- "//courgette:courgette_minimal_tool", +- "//courgette:courgette_unittests", + "//media/cast:generate_barcode_video", + "//media/cast:generate_timecode_audio", + "//net:crash_cache", +@@ -541,10 +535,6 @@ group("gn_all") { + "//mojo:mojo_perftests", + "//services/service_manager/public/cpp", + "//testing/gmock:gmock_main", +- "//third_party/breakpad:dump_syms($host_toolchain)", +- "//third_party/breakpad:microdump_stackwalk($host_toolchain)", +- "//third_party/breakpad:minidump_dump($host_toolchain)", +- "//third_party/breakpad:minidump_stackwalk($host_toolchain)", + ] + + if (!is_android) { +@@ -619,7 +609,7 @@ group("gn_all") { + host_os == "win") { + deps += [ "//chrome/test/mini_installer:mini_installer_tests" ] + } +- } else if (!is_android && !is_ios && !is_fuchsia) { ++ } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) { + deps += [ "//third_party/breakpad:symupload($host_toolchain)" ] + } + +@@ -758,7 +748,6 @@ group("gn_all") { + "//chrome/browser/vr:vr_common_perftests", + "//chrome/browser/vr:vr_common_unittests", + "//chrome/browser/vr:vr_pixeltests", +- "//tools/perf/contrib/vr_benchmarks:vr_perf_tests", + ] + if (is_desktop_linux && use_ozone) { + deps += [ "//chrome/browser/vr/testapp:vr_testapp" ] +@@ -877,7 +866,6 @@ if (is_chromeos) { + "//ppapi/examples/video_decode", + "//sandbox/linux:chrome_sandbox", + "//sandbox/linux:sandbox_linux_unittests", +- "//third_party/breakpad:minidump_stackwalk($host_toolchain)", + + # Blocked on https://github.com/catapult-project/catapult/issues/2297 + #"//third_party/catapult/telemetry:bitmaptools", +@@ -1033,7 +1021,7 @@ if (!is_ios) { + ] + } + +- if (!is_win && !is_android) { ++ if (!is_win && !is_android && !is_bsd) { + data_deps += + [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] + } +@@ -1042,7 +1030,7 @@ if (!is_ios) { + data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] + } + +@@ -1185,9 +1173,6 @@ group("chromium_builder_perf") { + + if (is_win) { + data_deps += [ "//chrome/installer/mini_installer:mini_installer" ] +- } else { +- data_deps += +- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] + } + if (is_win || is_android) { + data_deps += [ Property changes on: head/devel/electron6/files/patch-BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-apps_ui_views_app__window__frame__view.cc =================================================================== --- head/devel/electron6/files/patch-apps_ui_views_app__window__frame__view.cc (nonexistent) +++ head/devel/electron6/files/patch-apps_ui_views_app__window__frame__view.cc (revision 518408) @@ -0,0 +1,11 @@ +--- apps/ui/views/app_window_frame_view.cc.orig 2019-09-10 10:42:26 UTC ++++ apps/ui/views/app_window_frame_view.cc +@@ -125,7 +125,7 @@ gfx::Rect AppWindowFrameView::GetBoundsForClientView() + gfx::Rect AppWindowFrameView::GetWindowBoundsForClientBounds( + const gfx::Rect& client_bounds) const { + gfx::Rect window_bounds = client_bounds; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // Get the difference between the widget's client area bounds and window + // bounds, and grow |window_bounds| by that amount. + gfx::Insets native_frame_insets = Property changes on: head/devel/electron6/files/patch-apps_ui_views_app__window__frame__view.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-ash_display_mirror__window__controller.cc =================================================================== --- head/devel/electron6/files/patch-ash_display_mirror__window__controller.cc (nonexistent) +++ head/devel/electron6/files/patch-ash_display_mirror__window__controller.cc (revision 518408) @@ -0,0 +1,14 @@ +--- ash/display/mirror_window_controller.cc.orig 2019-09-10 10:42:26 UTC ++++ ash/display/mirror_window_controller.cc +@@ -274,7 +274,11 @@ void MirrorWindowController::UpdateWindow( + return info.id() == iter->first; + }) == display_info_list.end()) { + CloseAndDeleteHost(iter->second, true); ++#if defined(__llvm__) ++ mirroring_host_info_map_.erase(iter++); ++#else + iter = mirroring_host_info_map_.erase(iter); ++#endif + } else { + ++iter; + } Property changes on: head/devel/electron6/files/patch-ash_display_mirror__window__controller.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-base_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-base_BUILD.gn (revision 518408) @@ -0,0 +1,67 @@ +--- base/BUILD.gn.orig 2019-09-10 11:13:31 UTC ++++ base/BUILD.gn +@@ -1258,7 +1258,7 @@ jumbo_component("base") { + # Needed for if using newer C++ library than sysroot, except if + # building inside the cros_sdk environment - use host_toolchain as a + # more robust check for this. +- if (!use_sysroot && (is_android || (is_linux && !is_chromecast)) && ++ if (!use_sysroot && (is_android || (is_linux && !is_chromecast) && !is_clang) && + host_toolchain != "//build/toolchain/cros:host") { + libs += [ "atomic" ] + } +@@ -1284,7 +1284,7 @@ jumbo_component("base") { + "allocator/allocator_shim_override_glibc_weak_symbols.h", + ] + deps += [ "//base/allocator:tcmalloc" ] +- } else if (is_linux && use_allocator == "none") { ++ } else if ((is_linux && !is_bsd) && use_allocator == "none") { + sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ] + } else if (is_android && use_allocator == "none") { + sources += [ +@@ -1862,6 +1862,33 @@ jumbo_component("base") { + } + } + ++ if (is_bsd) { ++ sources -= [ ++ "files/file_path_watcher_linux.cc", ++ "files/file_util_linux.cc", ++ "process/memory_linux.cc", ++ "process/process_handle_linux.cc", ++ "process/process_iterator_linux.cc", ++ "process/process_metrics_linux.cc", ++ "system/sys_info_linux.cc" ++ ] ++ sources += [ ++ "files/file_path_watcher_kqueue.cc", ++ "files/file_path_watcher_kqueue.h", ++ "files/file_path_watcher_stub.cc", ++ "process/memory_stubs.cc", ++ "process/process_handle_freebsd.cc", ++ "process/process_iterator_freebsd.cc", ++ "process/process_metrics_freebsd.cc", ++ "system/sys_info_freebsd.cc", ++ ] ++ libs = [ ++ "execinfo", # logging.cc ++ "kvm", # process_metrics_freebsd ++ "util" # process_metrics_freebsd ++ ] ++ } ++ + # iOS + if (is_ios) { + set_sources_assignment_filter([]) +@@ -2999,6 +3026,12 @@ test("base_unittests") { + ] + set_sources_assignment_filter(sources_assignment_filter) + } ++ ++ if (is_bsd) { ++ sources -= [ ++ "debug/proc_maps_linux_unittest.cc", ++ ] ++ } + + if (is_win) { + deps += [ "//base:scoped_handle_test_dll" ] Property changes on: head/devel/electron6/files/patch-base_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_allocator_allocator__shim.cc =================================================================== --- head/devel/electron6/files/patch-base_allocator_allocator__shim.cc (nonexistent) +++ head/devel/electron6/files/patch-base_allocator_allocator__shim.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/allocator/allocator_shim.cc.orig 2019-09-10 11:13:31 UTC ++++ base/allocator/allocator_shim.cc +@@ -70,7 +70,7 @@ inline const base::allocator::AllocatorDispatch* GetCh + // Unfortunately due to that bug NoBarrier_Load() is mistakenly fully + // barriered on Linux+Clang, and that causes visible perf regressons. + return reinterpret_cast( +-#if defined(OS_LINUX) && defined(__clang__) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && defined(__clang__) + *static_cast(&g_chain_head) + #else + base::subtle::NoBarrier_Load(&g_chain_head) Property changes on: head/devel/electron6/files/patch-base_allocator_allocator__shim.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc =================================================================== --- head/devel/electron6/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc (nonexistent) +++ head/devel/electron6/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc (revision 518408) @@ -0,0 +1,76 @@ +--- base/allocator/allocator_shim_default_dispatch_to_glibc.cc.orig 2019-09-10 10:42:26 UTC ++++ base/allocator/allocator_shim_default_dispatch_to_glibc.cc +@@ -5,18 +5,28 @@ + #include "base/allocator/allocator_shim.h" + + #include +-#include ++#include ++#include ++#include + + // This translation unit defines a default dispatch for the allocator shim which + // routes allocations to libc functions. +-// The code here is strongly inspired from tcmalloc's libc_override_glibc.h. ++// The code here is strongly inspired from tcmalloc's override_glibc.h. + + extern "C" { +-void* __libc_malloc(size_t size); +-void* __libc_calloc(size_t n, size_t size); +-void* __libc_realloc(void* address, size_t size); +-void* __libc_memalign(size_t alignment, size_t size); +-void __libc_free(void* ptr); ++void* __malloc(size_t size); ++void* __calloc(size_t n, size_t size); ++void* __realloc(void* address, size_t len); ++void* __memalign(size_t alignment, size_t size) { ++ void *ret; ++ if (__posix_memalign(&ret, alignment, size) != 0) { ++ return nullptr; ++ } else { ++ return ret; ++ } ++} ++int __posix_memalign(void **ptr, size_t alignment, size_t size); ++void __free(void* ptr); + } // extern "C" + + namespace { +@@ -24,32 +34,32 @@ namespace { + using base::allocator::AllocatorDispatch; + + void* GlibcMalloc(const AllocatorDispatch*, size_t size, void* context) { +- return __libc_malloc(size); ++ return __malloc(size); + } + + void* GlibcCalloc(const AllocatorDispatch*, + size_t n, + size_t size, + void* context) { +- return __libc_calloc(n, size); ++ return __calloc(n, size); + } + + void* GlibcRealloc(const AllocatorDispatch*, + void* address, + size_t size, + void* context) { +- return __libc_realloc(address, size); ++ return __realloc(address, size); + } + + void* GlibcMemalign(const AllocatorDispatch*, + size_t alignment, + size_t size, + void* context) { +- return __libc_memalign(alignment, size); ++ return __memalign(alignment, size); + } + + void GlibcFree(const AllocatorDispatch*, void* address, void* context) { +- __libc_free(address); ++ __free(address); + } + + size_t GlibcGetSizeEstimate(const AllocatorDispatch*, Property changes on: head/devel/electron6/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_allocator_allocator__shim__override__libc__symbols.h =================================================================== --- head/devel/electron6/files/patch-base_allocator_allocator__shim__override__libc__symbols.h (nonexistent) +++ head/devel/electron6/files/patch-base_allocator_allocator__shim__override__libc__symbols.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/allocator/allocator_shim_override_libc_symbols.h.orig 2019-09-10 10:42:26 UTC ++++ base/allocator/allocator_shim_override_libc_symbols.h +@@ -10,7 +10,7 @@ + #endif + #define BASE_ALLOCATOR_ALLOCATOR_SHIM_OVERRIDE_LIBC_SYMBOLS_H_ + +-#include ++#include + + #include "base/allocator/allocator_shim_internals.h" + Property changes on: head/devel/electron6/files/patch-base_allocator_allocator__shim__override__libc__symbols.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_allocator_allocator__shim__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_allocator_allocator__shim__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_allocator_allocator__shim__unittest.cc (revision 518408) @@ -0,0 +1,36 @@ +--- base/allocator/allocator_shim_unittest.cc.orig 2019-09-10 10:42:26 UTC ++++ base/allocator/allocator_shim_unittest.cc +@@ -348,7 +348,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { + ASSERT_GE(aligned_allocs_intercepted_by_size[61], 1u); + #endif // !OS_WIN + +-#if !defined(OS_WIN) && !defined(OS_MACOSX) ++#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD) + void* memalign_ptr = memalign(128, 53); + ASSERT_NE(nullptr, memalign_ptr); + ASSERT_EQ(0u, reinterpret_cast(memalign_ptr) % 128); +@@ -361,7 +361,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { + ASSERT_GE(aligned_allocs_intercepted_by_alignment[kPageSize], 1u); + // pvalloc rounds the size up to the next page. + ASSERT_GE(aligned_allocs_intercepted_by_size[kPageSize], 1u); +-#endif // !OS_WIN && !OS_MACOSX ++#endif // !OS_WIN && !OS_MACOSX && !OS_BSD + + char* realloc_ptr = static_cast(malloc(10)); + strcpy(realloc_ptr, "foobar"); +@@ -377,13 +377,13 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { + free(zero_alloc_ptr); + ASSERT_GE(frees_intercepted_by_addr[Hash(zero_alloc_ptr)], 1u); + +-#if !defined(OS_WIN) && !defined(OS_MACOSX) ++#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD) + free(memalign_ptr); + ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u); + + free(pvalloc_ptr); + ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u); +-#endif // !OS_WIN && !OS_MACOSX ++#endif // !OS_WIN && !OS_MACOSX && !OS_BSD + + #if !defined(OS_WIN) + free(posix_memalign_ptr); Property changes on: head/devel/electron6/files/patch-base_allocator_allocator__shim__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h =================================================================== --- head/devel/electron6/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h (nonexistent) +++ head/devel/electron6/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2019-09-10 11:13:31 UTC ++++ base/allocator/partition_allocator/page_allocator_internals_posix.h +@@ -16,7 +16,7 @@ + + #include + #endif +-#if defined(OS_LINUX) ++#if defined(OS_BSD) || defined(OS_LINUX) + #include + + #include Property changes on: head/devel/electron6/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_base__switches.cc =================================================================== --- head/devel/electron6/files/patch-base_base__switches.cc (nonexistent) +++ head/devel/electron6/files/patch-base_base__switches.cc (revision 518408) @@ -0,0 +1,20 @@ +--- base/base_switches.cc.orig 2019-09-10 11:13:31 UTC ++++ base/base_switches.cc +@@ -107,7 +107,7 @@ const char kProfilingFlush[] = "profiling-flush"; + const char kDisableUsbKeyboardDetect[] = "disable-usb-keyboard-detect"; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // The /dev/shm partition is too small in certain VM environments, causing + // Chrome to fail or crash (see http://crbug.com/715363). Use this flag to + // work-around this issue (a temporary directory will always be used to create +@@ -128,7 +128,7 @@ const char kEnableCrashReporterForTesting[] = + const char kEnableReachedCodeProfiler[] = "enable-reached-code-profiler"; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Controls whether or not retired instruction counts are surfaced for threads + // in trace events on Linux. + // Property changes on: head/devel/electron6/files/patch-base_base__switches.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_base__switches.h =================================================================== --- head/devel/electron6/files/patch-base_base__switches.h (nonexistent) +++ head/devel/electron6/files/patch-base_base__switches.h (revision 518408) @@ -0,0 +1,20 @@ +--- base/base_switches.h.orig 2019-09-10 11:13:31 UTC ++++ base/base_switches.h +@@ -36,7 +36,7 @@ extern const char kWaitForDebugger[]; + extern const char kDisableUsbKeyboardDetect[]; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + extern const char kDisableDevShmUsage[]; + #endif + +@@ -49,7 +49,7 @@ extern const char kEnableReachedCodeProfiler[]; + extern const char kOrderfileMemoryOptimization[]; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + extern const char kEnableThreadInstructionCount[]; + #endif + Property changes on: head/devel/electron6/files/patch-base_base__switches.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_cpu.cc =================================================================== --- head/devel/electron6/files/patch-base_cpu.cc (nonexistent) +++ head/devel/electron6/files/patch-base_cpu.cc (revision 518408) @@ -0,0 +1,38 @@ +--- base/cpu.cc.orig 2019-09-10 11:13:31 UTC ++++ base/cpu.cc +@@ -15,7 +15,7 @@ + #include "base/stl_util.h" + #include "build/build_config.h" + +-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + #include "base/files/file_util.h" + #endif + +@@ -97,7 +97,7 @@ uint64_t xgetbv(uint32_t xcr) { + + #endif // ARCH_CPU_X86_FAMILY + +-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + std::string* CpuInfoBrand() { + static std::string* brand = []() { + // This function finds the value from /proc/cpuinfo under the key "model +@@ -127,7 +127,7 @@ std::string* CpuInfoBrand() { + return brand; + } + #endif // defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || +- // defined(OS_LINUX)) ++ // defined(OS_LINUX) || defined(OS_BSD)) + + } // namespace + +@@ -252,7 +252,7 @@ void CPU::Initialize() { + } + } + #elif defined(ARCH_CPU_ARM_FAMILY) +-#if (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + cpu_brand_ = *CpuInfoBrand(); + #elif defined(OS_WIN) + // Windows makes high-resolution thread timing information available in Property changes on: head/devel/electron6/files/patch-base_cpu.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_debug_debugger__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_debug_debugger__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_debug_debugger__posix.cc (revision 518408) @@ -0,0 +1,56 @@ +--- base/debug/debugger_posix.cc.orig 2019-09-10 11:13:31 UTC ++++ base/debug/debugger_posix.cc +@@ -87,7 +87,7 @@ bool BeingDebugged() { + KERN_PROC, + KERN_PROC_PID, + getpid() +-#if defined(OS_OPENBSD) ++#if defined(OS_BSD) + , sizeof(struct kinfo_proc), + 0 + #endif +@@ -95,33 +95,35 @@ bool BeingDebugged() { + + // Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and + // binary interfaces may change. +- struct kinfo_proc info; +- size_t info_size = sizeof(info); ++ struct kinfo_proc *info; ++ size_t info_size; + +-#if defined(OS_OPENBSD) + if (sysctl(mib, base::size(mib), NULL, &info_size, NULL, 0) < 0) + return -1; + ++ info = (struct kinfo_proc *)malloc(info_size); + mib[5] = (info_size / sizeof(struct kinfo_proc)); +-#endif + +- int sysctl_result = sysctl(mib, base::size(mib), &info, &info_size, NULL, 0); ++ int sysctl_result = sysctl(mib, base::size(mib), info, &info_size, NULL, 0); + DCHECK_EQ(sysctl_result, 0); + if (sysctl_result != 0) { + is_set = true; + being_debugged = false; +- return being_debugged; ++ goto out; + } + + // This process is being debugged if the P_TRACED flag is set. + is_set = true; + #if defined(OS_FREEBSD) +- being_debugged = (info.ki_flag & P_TRACED) != 0; ++ being_debugged = (info->ki_flag & P_TRACED) != 0; + #elif defined(OS_BSD) +- being_debugged = (info.p_flag & P_TRACED) != 0; ++ being_debugged = (info->p_flag & P_TRACED) != 0; + #else +- being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; ++ being_debugged = (info->kp_proc.p_flag & P_TRACED) != 0; + #endif ++ ++out: ++ free(info); + return being_debugged; + } + Property changes on: head/devel/electron6/files/patch-base_debug_debugger__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_debug_elf__reader.cc =================================================================== --- head/devel/electron6/files/patch-base_debug_elf__reader.cc (nonexistent) +++ head/devel/electron6/files/patch-base_debug_elf__reader.cc (revision 518408) @@ -0,0 +1,18 @@ +--- base/debug/elf_reader.cc.orig 2019-09-10 10:42:27 UTC ++++ base/debug/elf_reader.cc +@@ -83,6 +83,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, + reinterpret_cast(elf_base + header.p_vaddr); + bool found = false; + while (current_note < section_end) { ++#if !defined(OS_BSD) + if (current_note->n_type == NT_GNU_BUILD_ID) { + const char* note_name = + reinterpret_cast(current_note) + sizeof(Nhdr); +@@ -92,6 +93,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, + break; + } + } ++#endif + + current_note = reinterpret_cast( + reinterpret_cast(current_note) + sizeof(Nhdr) + Property changes on: head/devel/electron6/files/patch-base_debug_elf__reader.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_debug_proc__maps__linux.cc =================================================================== --- head/devel/electron6/files/patch-base_debug_proc__maps__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-base_debug_proc__maps__linux.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/debug/proc_maps_linux.cc.orig 2019-09-10 10:42:27 UTC ++++ base/debug/proc_maps_linux.cc +@@ -12,7 +12,7 @@ + #include "base/strings/string_split.h" + #include "build/build_config.h" + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_ANDROID) + #include + #endif + Property changes on: head/devel/electron6/files/patch-base_debug_proc__maps__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_debug_stack__trace.cc =================================================================== --- head/devel/electron6/files/patch-base_debug_stack__trace.cc (nonexistent) +++ head/devel/electron6/files/patch-base_debug_stack__trace.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/debug/stack_trace.cc.orig 2019-09-10 10:42:27 UTC ++++ base/debug/stack_trace.cc +@@ -14,7 +14,7 @@ + + #if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #include + #include "base/process/process_handle.h" + #include "base/threading/platform_thread.h" Property changes on: head/devel/electron6/files/patch-base_debug_stack__trace.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_debug_stack__trace.h =================================================================== --- head/devel/electron6/files/patch-base_debug_stack__trace.h (nonexistent) +++ head/devel/electron6/files/patch-base_debug_stack__trace.h (revision 518408) @@ -0,0 +1,10 @@ +--- base/debug/stack_trace.h.orig 2019-09-10 11:13:31 UTC ++++ base/debug/stack_trace.h +@@ -16,6 +16,7 @@ + #include "build/build_config.h" + + #if defined(OS_POSIX) ++#include + #include + #endif + Property changes on: head/devel/electron6/files/patch-base_debug_stack__trace.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_debug_stack__trace__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_debug_stack__trace__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_debug_stack__trace__posix.cc (revision 518408) @@ -0,0 +1,31 @@ +--- base/debug/stack_trace_posix.cc.orig 2019-09-10 11:13:31 UTC ++++ base/debug/stack_trace_posix.cc +@@ -35,7 +35,7 @@ + #include + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/debug/proc_maps_linux.h" + #endif + +@@ -653,6 +653,11 @@ class SandboxSymbolizeHelper { + // for the modules that are loaded in the current process. + // Returns true on success. + bool CacheMemoryRegions() { ++#if defined(OS_BSD) ++ // TODO (rene) avoid link error, implement something? ++ NOTIMPLEMENTED(); ++ return false; ++#else + // Reads /proc/self/maps. + std::string contents; + if (!ReadProcMaps(&contents)) { +@@ -670,6 +675,7 @@ class SandboxSymbolizeHelper { + + is_initialized_ = true; + return true; ++#endif + } + + // Opens all object files and caches their file descriptors. Property changes on: head/devel/electron6/files/patch-base_debug_stack__trace__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_files_file__path__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_files_file__path__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_files_file__path__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/files/file_path_unittest.cc.orig 2019-09-10 11:13:31 UTC ++++ base/files/file_path_unittest.cc +@@ -1139,7 +1139,7 @@ TEST_F(FilePathTest, FromUTF8Unsafe_And_AsUTF8Unsafe) + "\xEF\xBC\xA1\xEF\xBC\xA2\xEF\xBC\xA3.txt" }, + }; + +-#if !defined(SYSTEM_NATIVE_UTF8) && defined(OS_LINUX) ++#if !defined(SYSTEM_NATIVE_UTF8) && (defined(OS_LINUX) || defined(OS_BSD)) + ScopedLocale locale("en_US.UTF-8"); + #endif + Property changes on: head/devel/electron6/files/patch-base_files_file__path__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_files_file__path__watcher.cc =================================================================== --- head/devel/electron6/files/patch-base_files_file__path__watcher.cc (nonexistent) +++ head/devel/electron6/files/patch-base_files_file__path__watcher.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/files/file_path_watcher.cc.orig 2019-09-10 10:42:27 UTC ++++ base/files/file_path_watcher.cc +@@ -20,7 +20,7 @@ FilePathWatcher::~FilePathWatcher() { + // static + bool FilePathWatcher::RecursiveWatchAvailable() { + #if (defined(OS_MACOSX) && !defined(OS_IOS)) || defined(OS_WIN) || \ +- defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++ defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + return true; + #else + // FSEvents isn't available on iOS. Property changes on: head/devel/electron6/files/patch-base_files_file__path__watcher.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_files_file__path__watcher__kqueue.h =================================================================== --- head/devel/electron6/files/patch-base_files_file__path__watcher__kqueue.h (nonexistent) +++ head/devel/electron6/files/patch-base_files_file__path__watcher__kqueue.h (revision 518408) @@ -0,0 +1,13 @@ +--- base/files/file_path_watcher_kqueue.h.orig 2019-09-10 10:42:27 UTC ++++ base/files/file_path_watcher_kqueue.h +@@ -5,6 +5,10 @@ + #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ + #define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ + ++#ifdef __FreeBSD__ ++#include ++#include ++#endif + #include + + #include Property changes on: head/devel/electron6/files/patch-base_files_file__path__watcher__kqueue.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_files_file__path__watcher__stub.cc =================================================================== --- head/devel/electron6/files/patch-base_files_file__path__watcher__stub.cc (nonexistent) +++ head/devel/electron6/files/patch-base_files_file__path__watcher__stub.cc (revision 518408) @@ -0,0 +1,51 @@ +--- base/files/file_path_watcher_stub.cc.orig 2019-09-10 10:42:27 UTC ++++ base/files/file_path_watcher_stub.cc +@@ -1,14 +1,15 @@ +-// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Copyright 2014 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + +-// This file exists for Unix systems which don't have the inotify headers, and +-// thus cannot build file_watcher_inotify.cc + +-#include "base/files/file_path_watcher.h" ++#include + ++#include "base/files/file_path_watcher.h" ++#include "base/files/file_path_watcher_kqueue.h" + #include "base/macros.h" + #include "base/memory/ptr_util.h" ++#include "build/build_config.h" + + namespace base { + +@@ -22,12 +23,26 @@ class FilePathWatcherImpl : public FilePathWatcher::Pl + bool Watch(const FilePath& path, + bool recursive, + const FilePathWatcher::Callback& callback) override { +- return false; ++ DCHECK(!impl_.get()); ++ if (recursive) { ++ if (!FilePathWatcher::RecursiveWatchAvailable()) ++ return false; ++ } else { ++ impl_ = std::make_unique(); ++ } ++ DCHECK(impl_.get()); ++ return impl_->Watch(path, recursive, callback); + } + +- void Cancel() override {} ++ void Cancel() override { ++ if (impl_.get()) ++ impl_->Cancel(); ++ set_cancelled(); ++ } + + private: ++ std::unique_ptr impl_; ++ + DISALLOW_COPY_AND_ASSIGN(FilePathWatcherImpl); + }; + Property changes on: head/devel/electron6/files/patch-base_files_file__path__watcher__stub.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_files_file__path__watcher__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_files_file__path__watcher__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_files_file__path__watcher__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/files/file_path_watcher_unittest.cc.orig 2019-09-10 11:13:31 UTC ++++ base/files/file_path_watcher_unittest.cc +@@ -436,7 +436,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { + VLOG(1) << "Waiting for file1 creation"; + ASSERT_TRUE(WaitForEvents()); + +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + // Mac implementation does not detect files modified in a directory. + ASSERT_TRUE(WriteFile(file1, "content v2")); + VLOG(1) << "Waiting for file1 modification"; Property changes on: head/devel/electron6/files/patch-base_files_file__path__watcher__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_files_file__util.h =================================================================== --- head/devel/electron6/files/patch-base_files_file__util.h (nonexistent) +++ head/devel/electron6/files/patch-base_files_file__util.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/files/file_util.h.orig 2019-09-10 11:13:31 UTC ++++ base/files/file_util.h +@@ -476,7 +476,7 @@ BASE_EXPORT bool VerifyPathControlledByAdmin(const bas + // the directory |path|, in the number of FilePath::CharType, or -1 on failure. + BASE_EXPORT int GetMaximumPathComponentLength(const base::FilePath& path); + +-#if defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + // Broad categories of file systems as returned by statfs() on Linux. + enum FileSystemType { + FILE_SYSTEM_UNKNOWN, // statfs failed. Property changes on: head/devel/electron6/files/patch-base_files_file__util.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_files_file__util__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_files_file__util__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_files_file__util__posix.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/files/file_util_posix.cc.orig 2019-09-10 11:13:31 UTC ++++ base/files/file_util_posix.cc +@@ -419,7 +419,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd, + } + + bool CreateLocalNonBlockingPipe(int fds[2]) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0; + #else + int raw_fds[2]; Property changes on: head/devel/electron6/files/patch-base_files_file__util__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_files_scoped__file.cc =================================================================== --- head/devel/electron6/files/patch-base_files_scoped__file.cc (nonexistent) +++ head/devel/electron6/files/patch-base_files_scoped__file.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/files/scoped_file.cc.orig 2019-09-10 10:42:27 UTC ++++ base/files/scoped_file.cc +@@ -30,7 +30,7 @@ void ScopedFDCloseTraits::Free(int fd) { + // a single open directory would bypass the entire security model. + int ret = IGNORE_EINTR(close(fd)); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || \ ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + defined(OS_ANDROID) + // NB: Some file descriptors can return errors from close() e.g. network + // filesystems such as NFS and Linux input devices. On Linux, macOS, and Property changes on: head/devel/electron6/files/patch-base_files_scoped__file.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_i18n_icu__util.cc =================================================================== --- head/devel/electron6/files/patch-base_i18n_icu__util.cc (nonexistent) +++ head/devel/electron6/files/patch-base_i18n_icu__util.cc (revision 518408) @@ -0,0 +1,20 @@ +--- base/i18n/icu_util.cc.orig 2019-09-10 10:42:27 UTC ++++ base/i18n/icu_util.cc +@@ -20,7 +20,7 @@ + #include "build/build_config.h" + #include "third_party/icu/source/common/unicode/putil.h" + #include "third_party/icu/source/common/unicode/udata.h" +-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_ANDROID) ++#if (defined(OS_LINUX) || defined(OS_BSD) && !defined(OS_CHROMEOS)) || defined(OS_ANDROID) + #include "third_party/icu/source/i18n/unicode/timezone.h" + #endif + +@@ -285,7 +285,7 @@ bool InitializeICU() { + // TODO(jungshik): Some callers do not care about tz at all. If necessary, + // add a boolean argument to this function to init'd the default tz only + // when requested. +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + if (result) + std::unique_ptr zone(icu::TimeZone::createDefault()); + #endif Property changes on: head/devel/electron6/files/patch-base_i18n_icu__util.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_linux__util.cc =================================================================== --- head/devel/electron6/files/patch-base_linux__util.cc (nonexistent) +++ head/devel/electron6/files/patch-base_linux__util.cc (revision 518408) @@ -0,0 +1,18 @@ +--- base/linux_util.cc.orig 2019-09-10 10:42:27 UTC ++++ base/linux_util.cc +@@ -90,12 +90,14 @@ char g_linux_distro[kDistroSize] = + "CrOS"; + #elif defined(OS_ANDROID) + "Android"; ++#elif defined(OS_BSD) ++ "BSD"; + #else // if defined(OS_LINUX) + "Unknown"; + #endif + + std::string GetLinuxDistro() { +-#if defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + return g_linux_distro; + #elif defined(OS_LINUX) + LinuxDistroHelper* distro_state_singleton = LinuxDistroHelper::GetInstance(); Property changes on: head/devel/electron6/files/patch-base_linux__util.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_logging__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_logging__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_logging__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/logging_unittest.cc.orig 2019-09-10 11:13:31 UTC ++++ base/logging_unittest.cc +@@ -444,7 +444,7 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo + // need the arch-specific boilerplate below, which is inspired by breakpad. + // At the same time, on OSX, ucontext.h is deprecated but si_addr works fine. + uintptr_t crash_addr = 0; +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + crash_addr = reinterpret_cast(info->si_addr); + #else // OS_POSIX && !OS_MACOSX + ucontext_t* context = reinterpret_cast(context_ptr); Property changes on: head/devel/electron6/files/patch-base_logging__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_memory_protected__memory__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_memory_protected__memory__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_memory_protected__memory__posix.cc (revision 518408) @@ -0,0 +1,31 @@ +--- base/memory/protected_memory_posix.cc.orig 2019-09-10 10:42:27 UTC ++++ base/memory/protected_memory_posix.cc +@@ -8,9 +8,9 @@ + #include + #include + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_MACOSX) && !defined(OS_IOS) + #include +@@ -44,7 +44,7 @@ bool AutoWritableMemory::SetMemoryReadOnly(void* start + return SetMemory(start, end, PROT_READ); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void AssertMemoryIsReadOnly(const void* ptr) { + #if DCHECK_IS_ON() + const uintptr_t page_mask = ~(base::GetPageSize() - 1); +@@ -74,6 +74,6 @@ void AssertMemoryIsReadOnly(const void* ptr) { + DCHECK_EQ(region_info.protection, VM_PROT_READ); + #endif // DCHECK_IS_ON() + } +-#endif // defined(OS_LINUX) || (defined(OS_MACOSX) && !defined(OS_IOS)) ++#endif // defined(OS_LINUX) || (defined(OS_MACOSX) && !defined(OS_IOS)) || defined(OS_BSD) + + } // namespace base Property changes on: head/devel/electron6/files/patch-base_memory_protected__memory__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_native__library__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_native__library__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_native__library__posix.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/native_library_posix.cc.orig 2019-09-10 10:42:27 UTC ++++ base/native_library_posix.cc +@@ -29,7 +29,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FileP + // http://crbug.com/17943, http://crbug.com/17557, http://crbug.com/36892, + // and http://crbug.com/40794. + int flags = RTLD_LAZY; +-#if defined(OS_ANDROID) || !defined(RTLD_DEEPBIND) ++#if defined(OS_ANDROID) || !defined(RTLD_DEEPBIND) || defined(OS_BSD) + // Certain platforms don't define RTLD_DEEPBIND. Android dlopen() requires + // further investigation, as it might vary across versions. Crash here to + // warn developers that they're trying to rely on uncertain behavior. Property changes on: head/devel/electron6/files/patch-base_native__library__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_native__library__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_native__library__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_native__library__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/native_library_unittest.cc.orig 2019-09-10 10:42:27 UTC ++++ base/native_library_unittest.cc +@@ -120,7 +120,7 @@ TEST(NativeLibraryTest, LoadLibrary) { + // Android dlopen() requires further investigation, as it might vary across + // versions with respect to symbol resolution scope. + // TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255 +-#if !defined(OS_ANDROID) && !defined(THREAD_SANITIZER) && \ ++#if !defined(OS_ANDROID) && !defined(OS_BSD) && !defined(THREAD_SANITIZER) && \ + !defined(MEMORY_SANITIZER) + + // Verifies that the |prefer_own_symbols| option satisfies its guarantee that Property changes on: head/devel/electron6/files/patch-base_native__library__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_numerics_safe__math__shared__impl.h =================================================================== --- head/devel/electron6/files/patch-base_numerics_safe__math__shared__impl.h (nonexistent) +++ head/devel/electron6/files/patch-base_numerics_safe__math__shared__impl.h (revision 518408) @@ -0,0 +1,13 @@ +--- base/numerics/safe_math_shared_impl.h.orig 2019-09-10 11:13:31 UTC ++++ base/numerics/safe_math_shared_impl.h +@@ -19,9 +19,7 @@ + + // Where available use builtin math overflow support on Clang and GCC. + #if !defined(__native_client__) && \ +- ((defined(__clang__) && \ +- ((__clang_major__ > 3) || \ +- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ ++ ((defined(__clang__) && (__clang_major__ > 6)) || \ + (defined(__GNUC__) && __GNUC__ >= 5)) + #include "base/numerics/safe_math_clang_gcc_impl.h" + #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) Property changes on: head/devel/electron6/files/patch-base_numerics_safe__math__shared__impl.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_posix_can__lower__nice__to.cc =================================================================== --- head/devel/electron6/files/patch-base_posix_can__lower__nice__to.cc (nonexistent) +++ head/devel/electron6/files/patch-base_posix_can__lower__nice__to.cc (revision 518408) @@ -0,0 +1,20 @@ +--- base/posix/can_lower_nice_to.cc.orig 2019-09-10 10:42:27 UTC ++++ base/posix/can_lower_nice_to.cc +@@ -31,6 +31,9 @@ bool CanLowerNiceTo(int nice_value) { + if (geteuid() == 0) + return true; + ++#if defined(OS_BSD) ++ return false; ++#else + // 2. Skip checking the CAP_SYS_NICE permission because it would require + // libcap.so. + +@@ -54,6 +57,7 @@ bool CanLowerNiceTo(int nice_value) { + // And lowering niceness to |nice_value| is allowed if it is greater than or + // equal to the limit: + return nice_value >= lowest_nice_allowed; ++#endif + } + + } // namespace internal Property changes on: head/devel/electron6/files/patch-base_posix_can__lower__nice__to.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_posix_unix__domain__socket.cc =================================================================== --- head/devel/electron6/files/patch-base_posix_unix__domain__socket.cc (nonexistent) +++ head/devel/electron6/files/patch-base_posix_unix__domain__socket.cc (revision 518408) @@ -0,0 +1,49 @@ +--- base/posix/unix_domain_socket.cc.orig 2019-09-10 10:42:27 UTC ++++ base/posix/unix_domain_socket.cc +@@ -5,7 +5,10 @@ + #include "base/posix/unix_domain_socket.h" + + #include ++#include + #include ++#include ++#include + #if !defined(OS_NACL_NONSFI) + #include + #endif +@@ -28,6 +31,14 @@ namespace base { + + const size_t UnixDomainSocket::kMaxFileDescriptors = 16; + ++#ifndef SCM_CREDENTIALS ++# define SCM_CREDENTIALS 0x9001 ++#endif ++ ++#ifndef SO_PASSCRED ++# define SO_PASSCRED 0x9002 ++#endif ++ + #if !defined(OS_NACL_NONSFI) + bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { + int raw_socks[2]; +@@ -150,7 +161,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + #if !defined(OS_NACL_NONSFI) && !defined(OS_MACOSX) + // The PNaCl toolchain for Non-SFI binary build and macOS do not support + // ucred. macOS supports xucred, but this structure is insufficient. +- + CMSG_SPACE(sizeof(struct ucred)) ++ + CMSG_SPACE(sizeof(struct cmsgcred)) + #endif // OS_NACL_NONSFI or OS_MACOSX + ; + char control_buffer[kControlBufferSize]; +@@ -180,9 +191,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + // SCM_CREDENTIALS. + if (cmsg->cmsg_level == SOL_SOCKET && + cmsg->cmsg_type == SCM_CREDENTIALS) { +- DCHECK_EQ(payload_len, sizeof(struct ucred)); ++ DCHECK_EQ(payload_len, sizeof(struct cmsgcred)); + DCHECK_EQ(pid, -1); +- pid = reinterpret_cast(CMSG_DATA(cmsg))->pid; ++ pid = getpid(); + } + #endif // !defined(OS_NACL_NONSFI) && !defined(OS_MACOSX) + } Property changes on: head/devel/electron6/files/patch-base_posix_unix__domain__socket.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_posix_unix__domain__socket__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_posix_unix__domain__socket__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_posix_unix__domain__socket__unittest.cc (revision 518408) @@ -0,0 +1,12 @@ +--- base/posix/unix_domain_socket_unittest.cc.orig 2019-09-10 10:42:27 UTC ++++ base/posix/unix_domain_socket_unittest.cc +@@ -8,6 +8,9 @@ + #include + #include + #include ++#if defined(OS_BSD) ++#include ++#endif + #include + + #include "base/bind.h" Property changes on: head/devel/electron6/files/patch-base_posix_unix__domain__socket__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_internal__linux.cc =================================================================== --- head/devel/electron6/files/patch-base_process_internal__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_internal__linux.cc (revision 518408) @@ -0,0 +1,16 @@ +--- base/process/internal_linux.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/internal_linux.cc +@@ -60,10 +60,13 @@ bool ReadProcFile(const FilePath& file, std::string* b + // Synchronously reading files in /proc is safe. + ThreadRestrictions::ScopedAllowIO allow_io; + ++#if !defined(OS_BSD) + if (!ReadFileToString(file, buffer)) { + DLOG(WARNING) << "Failed to read " << file.MaybeAsASCII(); + return false; + } ++#endif ++ + return !buffer->empty(); + } + Property changes on: head/devel/electron6/files/patch-base_process_internal__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_internal__linux.h =================================================================== --- head/devel/electron6/files/patch-base_process_internal__linux.h (nonexistent) +++ head/devel/electron6/files/patch-base_process_internal__linux.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/process/internal_linux.h.orig 2019-09-10 10:42:27 UTC ++++ base/process/internal_linux.h +@@ -14,6 +14,8 @@ + + #include "base/files/file_path.h" + ++#include /* pid_t */ ++ + namespace base { + + class Time; Property changes on: head/devel/electron6/files/patch-base_process_internal__linux.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_kill.h =================================================================== --- head/devel/electron6/files/patch-base_process_kill.h (nonexistent) +++ head/devel/electron6/files/patch-base_process_kill.h (revision 518408) @@ -0,0 +1,16 @@ +--- base/process/kill.h.orig 2019-09-10 10:42:27 UTC ++++ base/process/kill.h +@@ -111,11 +111,11 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro + BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus( + ProcessHandle handle, int* exit_code); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Spawns a thread to wait asynchronously for the child |process| to exit + // and then reaps it. + BASE_EXPORT void EnsureProcessGetsReaped(Process process); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + #endif // defined(OS_POSIX) + + // Registers |process| to be asynchronously monitored for termination, forcibly Property changes on: head/devel/electron6/files/patch-base_process_kill.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_kill__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_process_kill__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_kill__posix.cc (revision 518408) @@ -0,0 +1,20 @@ +--- base/process/kill_posix.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/kill_posix.cc +@@ -168,7 +168,7 @@ void EnsureProcessTerminated(Process process) { + 0, new BackgroundReaper(std::move(process), TimeDelta::FromSeconds(2))); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void EnsureProcessGetsReaped(Process process) { + DCHECK(!process.is_current()); + +@@ -179,7 +179,7 @@ void EnsureProcessGetsReaped(Process process) { + PlatformThread::CreateNonJoinable( + 0, new BackgroundReaper(std::move(process), TimeDelta())); + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #endif // !defined(OS_MACOSX) + #endif // !defined(OS_NACL_NONSFI) Property changes on: head/devel/electron6/files/patch-base_process_kill__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_launch.cc =================================================================== --- head/devel/electron6/files/patch-base_process_launch.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_launch.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/process/launch.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/launch.cc +@@ -15,7 +15,7 @@ LaunchOptions::~LaunchOptions() = default; + + LaunchOptions LaunchOptionsForTest() { + LaunchOptions options; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // To prevent accidental privilege sharing to an untrusted child, processes + // are started with PR_SET_NO_NEW_PRIVS. Do not set that here, since this + // new child will be used for testing only. Property changes on: head/devel/electron6/files/patch-base_process_launch.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_launch.h =================================================================== --- head/devel/electron6/files/patch-base_process_launch.h (nonexistent) +++ head/devel/electron6/files/patch-base_process_launch.h (revision 518408) @@ -0,0 +1,20 @@ +--- base/process/launch.h.orig 2019-09-10 11:13:31 UTC ++++ base/process/launch.h +@@ -181,7 +181,7 @@ struct BASE_EXPORT LaunchOptions { + bool clear_environment = false; + #endif // OS_WIN || OS_POSIX || OS_FUCHSIA + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // If non-zero, start the process using clone(), using flags as provided. + // Unlike in clone, clone_flags may not contain a custom termination signal + // that is sent to the parent when the child dies. The termination signal will +@@ -194,7 +194,7 @@ struct BASE_EXPORT LaunchOptions { + + // Sets parent process death signal to SIGKILL. + bool kill_on_parent_death = false; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_MACOSX) && !defined(OS_IOS) + // Mach ports that will be accessible to the child process. These are not Property changes on: head/devel/electron6/files/patch-base_process_launch.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_launch__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_process_launch__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_launch__posix.cc (revision 518408) @@ -0,0 +1,10 @@ +--- base/process/launch_posix.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/launch_posix.cc +@@ -65,6 +65,7 @@ + #error "macOS should use launch_mac.cc" + #endif + ++#pragma weak environ + extern char** environ; + + namespace base { Property changes on: head/devel/electron6/files/patch-base_process_launch__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_memory.cc =================================================================== --- head/devel/electron6/files/patch-base_process_memory.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_memory.cc (revision 518408) @@ -0,0 +1,20 @@ +--- base/process/memory.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/memory.cc +@@ -10,7 +10,7 @@ + namespace base { + + // Defined in memory_win.cc for Windows. +-#if !defined(OS_WIN) ++#if !defined(OS_WIN) && !defined(OS_BSD) + + namespace { + +@@ -31,7 +31,7 @@ void TerminateBecauseOutOfMemory(size_t size) { + #endif + + // Defined in memory_mac.mm for Mac. +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + + bool UncheckedCalloc(size_t num_items, size_t size, void** result) { + const size_t alloc_size = num_items * size; Property changes on: head/devel/electron6/files/patch-base_process_memory.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_memory.h =================================================================== --- head/devel/electron6/files/patch-base_process_memory.h (nonexistent) +++ head/devel/electron6/files/patch-base_process_memory.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/process/memory.h.orig 2019-09-10 11:13:31 UTC ++++ base/process/memory.h +@@ -32,7 +32,7 @@ BASE_EXPORT void EnableTerminationOnOutOfMemory(); + // Crash reporting classifies such crashes as OOM. + BASE_EXPORT void TerminateBecauseOutOfMemory(size_t size); + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + BASE_EXPORT extern size_t g_oom_size; + + // The maximum allowed value for the OOM score. Property changes on: head/devel/electron6/files/patch-base_process_memory.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_memory__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_process_memory__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_memory__unittest.cc (revision 518408) @@ -0,0 +1,18 @@ +--- base/process/memory_unittest.cc.orig 2019-09-10 11:13:31 UTC ++++ base/process/memory_unittest.cc +@@ -104,7 +104,7 @@ TEST(MemoryTest, AllocatorShimWorking) { + // OpenBSD does not support these tests. Don't test these on ASan/TSan/MSan + // configurations: only test the real allocator. + // Windows only supports these tests with the allocator shim in place. +-#if !defined(OS_OPENBSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \ ++#if !defined(OS_BSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \ + !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) + + namespace { +@@ -529,5 +529,5 @@ TEST_F(OutOfMemoryHandledTest, UncheckedCalloc) { + EXPECT_FALSE(base::UncheckedCalloc(1, test_size_, &value_)); + EXPECT_TRUE(value_ == nullptr); + } +-#endif // !defined(OS_OPENBSD) && BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) && ++#endif // !defined(OS_BSD) && BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) && + // !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) Property changes on: head/devel/electron6/files/patch-base_process_memory__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__handle.cc =================================================================== --- head/devel/electron6/files/patch-base_process_process__handle.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__handle.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/process/process_handle.cc.orig 2019-09-10 11:13:31 UTC ++++ base/process/process_handle.cc +@@ -39,7 +39,7 @@ uint32_t GetUniqueIdForProcess() { + return g_unique_id; + } + +-#if defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + + void InitUniqueIdForProcessInPidNamespace(ProcessId pid_outside_of_namespace) { + g_unique_id = MangleProcessId(pid_outside_of_namespace); Property changes on: head/devel/electron6/files/patch-base_process_process__handle.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__handle.h =================================================================== --- head/devel/electron6/files/patch-base_process_process__handle.h (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__handle.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/process/process_handle.h.orig 2019-09-10 11:13:31 UTC ++++ base/process/process_handle.h +@@ -64,7 +64,7 @@ BASE_EXPORT ProcessId GetCurrentProcId(); + // a process's PID. + BASE_EXPORT uint32_t GetUniqueIdForProcess(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // When a process is started in a different PID namespace from the browser + // process, this function must be called with the process's PID in the browser's + // PID namespace in order to initialize its unique ID. Not thread safe. Property changes on: head/devel/electron6/files/patch-base_process_process__handle.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__handle__freebsd.cc =================================================================== --- head/devel/electron6/files/patch-base_process_process__handle__freebsd.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__handle__freebsd.cc (revision 518408) @@ -0,0 +1,17 @@ +--- base/process/process_handle_freebsd.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/process_handle_freebsd.cc +@@ -16,10 +16,13 @@ namespace base { + + ProcessId GetParentProcessId(ProcessHandle process) { + struct kinfo_proc info; +- size_t length; ++ size_t length = sizeof(struct kinfo_proc); + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + + if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0) ++ return -1; ++ ++ if (length < sizeof(struct kinfo_proc)) + return -1; + + return info.ki_ppid; Property changes on: head/devel/electron6/files/patch-base_process_process__handle__freebsd.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__iterator__freebsd.cc =================================================================== --- head/devel/electron6/files/patch-base_process_process__iterator__freebsd.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__iterator__freebsd.cc (revision 518408) @@ -0,0 +1,44 @@ +--- base/process/process_iterator_freebsd.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/process_iterator_freebsd.cc +@@ -10,6 +10,10 @@ + #include + #include + ++/* getuid() */ ++#include ++#include ++ + #include "base/logging.h" + #include "base/stl_util.h" + #include "base/strings/string_split.h" +@@ -40,7 +44,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + num_of_kinfo_proc += 16; + kinfo_procs_.resize(num_of_kinfo_proc); + len = num_of_kinfo_proc * sizeof(struct kinfo_proc); +- if (sysctl(mib, base::size(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) { ++ if (sysctl(mib, base::size(mib), kinfo_procs_.data(), &len, NULL, 0) < 0) { + // If we get a mem error, it just means we need a bigger buffer, so + // loop around again. Anything else is a real error and give up. + if (errno != ENOMEM) { +@@ -72,18 +76,13 @@ bool ProcessIterator::CheckForNextProcess() { + for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) { + size_t length; + struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_]; +- int mib[] = { CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid }; ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid }; + + if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB)) + continue; + +- length = 0; +- if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0) { +- LOG(ERROR) << "failed to figure out the buffer size for a command line"; +- continue; +- } +- +- data.resize(length); ++ data.resize(ARG_MAX); ++ length = ARG_MAX; + + if (sysctl(mib, base::size(mib), &data[0], &length, NULL, 0) < 0) { + LOG(ERROR) << "failed to fetch a commandline"; Property changes on: head/devel/electron6/files/patch-base_process_process__iterator__freebsd.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__linux.cc =================================================================== --- head/devel/electron6/files/patch-base_process_process__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__linux.cc (revision 518408) @@ -0,0 +1,18 @@ +--- base/process/process_linux.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/process_linux.cc +@@ -88,6 +88,7 @@ Time Process::CreationTime() const { + return Time(boot_time + start_offset); + } + ++#if !defined(OS_BSD) + // static + bool Process::CanBackgroundProcesses() { + #if defined(OS_CHROMEOS) +@@ -139,6 +140,7 @@ bool Process::SetProcessBackgrounded(bool background) + DPCHECK(result == 0); + return result == 0; + } ++#endif // !defined(OS_BSD) + + #if defined(OS_CHROMEOS) + bool IsProcessBackgroundedCGroup(const StringPiece& cgroup_contents) { Property changes on: head/devel/electron6/files/patch-base_process_process__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__metrics.cc =================================================================== --- head/devel/electron6/files/patch-base_process_process__metrics.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__metrics.cc (revision 518408) @@ -0,0 +1,38 @@ +--- base/process/process_metrics.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/process_metrics.cc +@@ -57,7 +57,7 @@ SystemMetrics SystemMetrics::Sample() { + SystemMetrics system_metrics; + + system_metrics.committed_memory_ = GetSystemCommitCharge(); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + GetSystemMemoryInfo(&system_metrics.memory_info_); + GetVmStatInfo(&system_metrics.vmstat_info_); + GetSystemDiskInfo(&system_metrics.disk_info_); +@@ -75,7 +75,7 @@ std::unique_ptr SystemMetrics::ToValue() const + std::unique_ptr res(new DictionaryValue()); + + res->SetIntKey("committed_memory", static_cast(committed_memory_)); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + std::unique_ptr meminfo = memory_info_.ToValue(); + std::unique_ptr vmstat = vmstat_info_.ToValue(); + meminfo->MergeDictionary(vmstat.get()); +@@ -126,7 +126,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( + } + #endif + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + int ProcessMetrics::CalculateIdleWakeupsPerSecond( + uint64_t absolute_idle_wakeups) { + return CalculateEventsPerSecond(absolute_idle_wakeups, +@@ -138,7 +138,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() { + NOTIMPLEMENTED(); // http://crbug.com/120488 + return 0; + } +-#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + + #if defined(OS_MACOSX) + int ProcessMetrics::CalculatePackageIdleWakeupsPerSecond( Property changes on: head/devel/electron6/files/patch-base_process_process__metrics.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__metrics.h =================================================================== --- head/devel/electron6/files/patch-base_process_process__metrics.h (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__metrics.h (revision 518408) @@ -0,0 +1,131 @@ +--- base/process/process_metrics.h.orig 2019-09-10 11:13:31 UTC ++++ base/process/process_metrics.h +@@ -41,7 +41,7 @@ namespace base { + // Full declaration is in process_metrics_iocounters.h. + struct IoCounters; + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Minor and major page fault counts since the process creation. + // Both counts are process-wide, and exclude child processes. + // +@@ -51,7 +51,7 @@ struct PageFaultCounts { + int64_t minor; + int64_t major; + }; +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + // Convert a POSIX timeval to microseconds. + BASE_EXPORT int64_t TimeValToMicroseconds(const struct timeval& tv); +@@ -92,7 +92,7 @@ class BASE_EXPORT ProcessMetrics { + // convenience wrapper for CreateProcessMetrics(). + static std::unique_ptr CreateCurrentProcessMetrics(); + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Resident Set Size is a Linux/Android specific memory concept. Do not + // attempt to extend this to other platforms. + BASE_EXPORT size_t GetResidentSetSize() const; +@@ -199,14 +199,14 @@ class BASE_EXPORT ProcessMetrics { + int GetOpenFdSoftLimit() const; + #endif // defined(OS_POSIX) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Bytes of swap as reported by /proc/[pid]/status. + uint64_t GetVmSwapBytes() const; + + // Minor and major page fault count as reported by /proc/[pid]/stat. + // Returns true for success. + bool GetPageFaultCounts(PageFaultCounts* counts) const; +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + // Returns total memory usage of malloc. + size_t GetMallocUsage(); +@@ -218,7 +218,7 @@ class BASE_EXPORT ProcessMetrics { + ProcessMetrics(ProcessHandle process, PortProvider* port_provider); + #endif // !defined(OS_MACOSX) || defined(OS_IOS) + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); + #endif + #if defined(OS_MACOSX) +@@ -247,7 +247,7 @@ class BASE_EXPORT ProcessMetrics { + // Number of bytes transferred to/from disk in bytes. + uint64_t last_cumulative_disk_usage_ = 0; + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + // Same thing for idle wakeups. + TimeTicks last_idle_wakeups_time_; + uint64_t last_absolute_idle_wakeups_; +@@ -292,7 +292,7 @@ BASE_EXPORT size_t GetMaxFds(); + BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_descriptors); + #endif // defined(OS_POSIX) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_FUCHSIA) + // Data about system-wide memory consumption. Values are in KB. Available on + // Windows, Mac, Linux, Android and Chrome OS. +@@ -326,7 +326,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { + int avail_phys = 0; + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + // This provides an estimate of available memory as described here: + // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 + // NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always +@@ -340,7 +340,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { + int swap_free = 0; + #endif + +-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || \ ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) || \ + defined(OS_FUCHSIA) + int buffers = 0; + int cached = 0; +@@ -350,7 +350,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { + int inactive_file = 0; + int dirty = 0; + int reclaimable = 0; +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) || + // defined(OS_FUCHSIA) + + #if defined(OS_CHROMEOS) +@@ -376,10 +376,10 @@ struct BASE_EXPORT SystemMemoryInfoKB { + // Exposed for memory debugging widget. + BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo); + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + // defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_FUCHSIA) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + // Parse the data found in /proc//stat and return the sum of the + // CPU-related ticks. Returns -1 on parse error. + // Exposed for testing. +@@ -452,7 +452,7 @@ BASE_EXPORT bool GetSystemDiskInfo(SystemDiskInfo* dis + // Returns the amount of time spent in user space since boot across all CPUs. + BASE_EXPORT TimeDelta GetUserCpuTimeSinceBoot(); + +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + #if defined(OS_CHROMEOS) + // Data from files in directory /sys/block/zram0 about ZRAM usage. +@@ -547,7 +547,7 @@ class BASE_EXPORT SystemMetrics { + FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics); + + size_t committed_memory_; +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + SystemMemoryInfoKB memory_info_; + VmStatInfo vmstat_info_; + SystemDiskInfo disk_info_; Property changes on: head/devel/electron6/files/patch-base_process_process__metrics.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__metrics__freebsd.cc =================================================================== --- head/devel/electron6/files/patch-base_process_process__metrics__freebsd.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__metrics__freebsd.cc (revision 518408) @@ -0,0 +1,259 @@ +--- base/process/process_metrics_freebsd.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/process_metrics_freebsd.cc +@@ -5,6 +5,7 @@ + #include "base/process/process_metrics.h" + + #include ++#include + #include + #include + #include +@@ -14,11 +15,29 @@ + #include "base/process/process_metrics_iocounters.h" + #include "base/stl_util.h" + ++#include /* getpagesize() */ ++#include /* O_RDONLY */ ++#include ++#include ++ + namespace base { ++namespace { + ++int GetPageShift() { ++ int pagesize = getpagesize(); ++ int pageshift = 0; ++ ++ while (pagesize > 1) { ++ pageshift++; ++ pagesize >>= 1; ++ } ++ ++ return pageshift; ++} ++} ++ + ProcessMetrics::ProcessMetrics(ProcessHandle process) +- : process_(process), +- last_cpu_(0) {} ++ : process_(process) {} + + // static + std::unique_ptr ProcessMetrics::CreateProcessMetrics( +@@ -69,4 +88,216 @@ size_t GetSystemCommitCharge() { + return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); + } + ++int GetNumberOfThreads(ProcessHandle process) { ++ // Taken from FreeBSD top (usr.bin/top/machine.c) ++ ++ kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); ++ if (kd == NULL) ++ return 0; ++ ++ struct kinfo_proc* pbase; ++ int nproc; ++ pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc); ++ if (pbase == NULL) ++ return 0; ++ ++ if (kvm_close(kd) == -1) ++ return 0; ++ ++ return nproc; ++} ++ ++bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) { ++ unsigned int mem_total, mem_free, swap_total, swap_used; ++ size_t length; ++ int pagesizeKB; ++ ++ pagesizeKB = getpagesize() / 1024; ++ ++ length = sizeof(mem_total); ++ if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total, ++ &length, NULL, 0) != 0 || length != sizeof(mem_total)) ++ return false; ++ ++ length = sizeof(mem_free); ++ if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0) ++ != 0 || length != sizeof(mem_free)) ++ return false; ++ ++ length = sizeof(swap_total); ++ if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0) ++ != 0 || length != sizeof(swap_total)) ++ return false; ++ ++ length = sizeof(swap_used); ++ if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0) ++ != 0 || length != sizeof(swap_used)) ++ return false; ++ ++ meminfo->total = mem_total * pagesizeKB; ++ meminfo->free = mem_free * pagesizeKB; ++ meminfo->swap_total = swap_total * pagesizeKB; ++ meminfo->swap_free = (swap_total - swap_used) * pagesizeKB; ++ ++ return true; ++} ++ ++int ProcessMetrics::GetOpenFdCount() const { ++ struct kinfo_file * kif; ++ int cnt; ++ ++ if ((kif = kinfo_getfile(process_, &cnt)) == NULL) ++ return -1; ++ ++ free(kif); ++ ++ return cnt; ++} ++ ++int ProcessMetrics::GetOpenFdSoftLimit() const { ++ size_t length; ++ int total_count = 0; ++ int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC }; ++ ++ length = sizeof(total_count); ++ ++ if (sysctl(mib, base::size(mib), &total_count, &length, NULL, 0) < 0) { ++ total_count = -1; ++ } ++ ++ return total_count; ++} ++ ++size_t ProcessMetrics::GetResidentSetSize() const { ++ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); ++ ++ if (kd == nullptr) ++ return 0; ++ ++ struct kinfo_proc *pp; ++ int nproc; ++ ++ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { ++ kvm_close(kd); ++ return 0; ++ } ++ ++ size_t rss; ++ ++ if (nproc > 0) { ++ rss = pp->ki_rssize << GetPageShift(); ++ } else { ++ rss = 0; ++ } ++ ++ kvm_close(kd); ++ return rss; ++} ++ ++uint64_t ProcessMetrics::GetVmSwapBytes() const { ++ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); ++ ++ if (kd == nullptr) ++ return 0; ++ ++ struct kinfo_proc *pp; ++ int nproc; ++ ++ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { ++ kvm_close(kd); ++ return 0; ++ } ++ ++ size_t swrss; ++ ++ if (nproc > 0) { ++ swrss = pp->ki_swrss > pp->ki_rssize ++ ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift() ++ : 0; ++ } else { ++ swrss = 0; ++ } ++ ++ kvm_close(kd); ++ return swrss; ++} ++ ++int ProcessMetrics::GetIdleWakeupsPerSecond() { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++bool GetVmStatInfo(VmStatInfo* vmstat) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++SystemDiskInfo::SystemDiskInfo() { ++ reads = 0; ++ reads_merged = 0; ++ sectors_read = 0; ++ read_time = 0; ++ writes = 0; ++ writes_merged = 0; ++ sectors_written = 0; ++ write_time = 0; ++ io = 0; ++ io_time = 0; ++ weighted_io_time = 0; ++} ++ ++SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; ++ ++std::unique_ptr SystemDiskInfo::ToValue() const { ++ auto res = std::make_unique(); ++ ++ // Write out uint64_t variables as doubles. ++ // Note: this may discard some precision, but for JS there's no other option. ++ res->SetDouble("reads", static_cast(reads)); ++ res->SetDouble("reads_merged", static_cast(reads_merged)); ++ res->SetDouble("sectors_read", static_cast(sectors_read)); ++ res->SetDouble("read_time", static_cast(read_time)); ++ res->SetDouble("writes", static_cast(writes)); ++ res->SetDouble("writes_merged", static_cast(writes_merged)); ++ res->SetDouble("sectors_written", static_cast(sectors_written)); ++ res->SetDouble("write_time", static_cast(write_time)); ++ res->SetDouble("io", static_cast(io)); ++ res->SetDouble("io_time", static_cast(io_time)); ++ res->SetDouble("weighted_io_time", static_cast(weighted_io_time)); ++ ++ return std::move(res); ++} ++ ++std::unique_ptr SystemMemoryInfoKB::ToValue() const { ++ auto res = std::make_unique(); ++ res->SetIntKey("total", total); ++ res->SetIntKey("free", free); ++ res->SetIntKey("available", available); ++ res->SetIntKey("buffers", buffers); ++ res->SetIntKey("cached", cached); ++ res->SetIntKey("active_anon", active_anon); ++ res->SetIntKey("inactive_anon", inactive_anon); ++ res->SetIntKey("active_file", active_file); ++ res->SetIntKey("inactive_file", inactive_file); ++ res->SetIntKey("swap_total", swap_total); ++ res->SetIntKey("swap_free", swap_free); ++ res->SetIntKey("swap_used", swap_total - swap_free); ++ res->SetIntKey("dirty", dirty); ++ res->SetIntKey("reclaimable", reclaimable); ++ ++ return res; ++} ++ ++std::unique_ptr VmStatInfo::ToValue() const { ++ auto res = std::make_unique(); ++ res->SetIntKey("pswpin", pswpin); ++ res->SetIntKey("pswpout", pswpout); ++ res->SetIntKey("pgmajfault", pgmajfault); ++ return res; ++} + } // namespace base Property changes on: head/devel/electron6/files/patch-base_process_process__metrics__freebsd.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__metrics__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_process_process__metrics__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__metrics__posix.cc (revision 518408) @@ -0,0 +1,20 @@ +--- base/process/process_metrics_posix.cc.orig 2019-09-10 11:13:31 UTC ++++ base/process/process_metrics_posix.cc +@@ -19,6 +19,8 @@ + + #if defined(OS_MACOSX) + #include ++#elif defined(OS_FREEBSD) ++#include + #else + #include + #endif +@@ -107,7 +109,7 @@ size_t ProcessMetrics::GetMallocUsage() { + #else + return minfo.hblkhd + minfo.arena; + #endif +-#elif defined(OS_FUCHSIA) ++#elif defined(OS_FUCHSIA) || defined(OS_BSD) + // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. + return 0; + #endif Property changes on: head/devel/electron6/files/patch-base_process_process__metrics__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_process_process__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_process_process__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_process_process__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/process/process_unittest.cc.orig 2019-09-10 10:42:27 UTC ++++ base/process/process_unittest.cc +@@ -148,7 +148,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { + // was spawned and a time recorded after it was spawned. However, since the + // base::Time and process creation clocks don't match, tolerate some error. + constexpr base::TimeDelta kTolerance = +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, process creation time is relative to boot time which has a + // 1-second resolution. Tolerate 1 second for the imprecise boot time and + // 100 ms for the imprecise clock. Property changes on: head/devel/electron6/files/patch-base_process_process__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_profiler_stack__sampling__profiler__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_profiler_stack__sampling__profiler__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_profiler_stack__sampling__profiler__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/profiler/stack_sampling_profiler_unittest.cc.orig 2019-09-10 11:13:31 UTC ++++ base/profiler/stack_sampling_profiler_unittest.cc +@@ -41,7 +41,7 @@ + #include + #include + #include +-#else ++#elif !defined(OS_BSD) + #include + #endif + Property changes on: head/devel/electron6/files/patch-base_profiler_stack__sampling__profiler__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc =================================================================== --- head/devel/electron6/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc (nonexistent) +++ head/devel/electron6/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc (revision 518408) @@ -0,0 +1,24 @@ +--- base/sampling_heap_profiler/sampling_heap_profiler.cc.orig 2019-09-10 11:13:31 UTC ++++ base/sampling_heap_profiler/sampling_heap_profiler.cc +@@ -30,6 +30,10 @@ + #include + #endif + ++#if defined(OS_BSD) ++#include ++#endif ++ + #if defined(OS_ANDROID) && BUILDFLAG(CAN_UNWIND_WITH_CFI_TABLE) && \ + defined(OFFICIAL_BUILD) + #include "base/trace_event/cfi_backtrace_android.h" +@@ -65,6 +69,10 @@ const char* GetAndLeakThreadName() { + #elif defined(OS_MACOSX) + int err = pthread_getname_np(pthread_self(), name, kBufferLen); + if (err == 0 && *name != '\0') ++ return strdup(name); ++#elif defined(OS_BSD) && __FreeBSD__ >= 12 ++ pthread_get_name_np(pthread_self(), name, kBufferLen); ++ if (*name != '\0') + return strdup(name); + #endif // defined(OS_LINUX) || defined(OS_ANDROID) + Property changes on: head/devel/electron6/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_security__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_security__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_security__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/security_unittest.cc.orig 2019-09-10 11:13:31 UTC ++++ base/security_unittest.cc +@@ -60,7 +60,7 @@ NOINLINE Type HideValueFromCompiler(volatile Type valu + // FAILS_ is too clunky. + void OverflowTestsSoftExpectTrue(bool overflow_detected) { + if (!overflow_detected) { +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_NACL) + // Sadly, on Linux, Android, and OSX we don't have a good story yet. Don't + // fail the test, but report. + printf("Platform has overflow: %s\n", Property changes on: head/devel/electron6/files/patch-base_security__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_strings_safe__sprintf__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_strings_safe__sprintf__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_strings_safe__sprintf__unittest.cc (revision 518408) @@ -0,0 +1,18 @@ +--- base/strings/safe_sprintf_unittest.cc.orig 2019-09-10 10:42:27 UTC ++++ base/strings/safe_sprintf_unittest.cc +@@ -730,6 +730,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { + } + + TEST(SafeSPrintfTest, EmitNULL) { ++/* Avoid compiler error: http://pastebin.com/1edWUE84 + char buf[40]; + #if defined(__GNUC__) + #pragma GCC diagnostic push +@@ -741,6 +742,7 @@ TEST(SafeSPrintfTest, EmitNULL) { + EXPECT_EQ("0x0", std::string(buf)); + EXPECT_EQ(6, SafeSPrintf(buf, "%s", NULL)); + EXPECT_EQ("", std::string(buf)); ++*/ + #if defined(__GCC__) + #pragma GCC diagnostic pop + #endif Property changes on: head/devel/electron6/files/patch-base_strings_safe__sprintf__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_syslog__logging.cc =================================================================== --- head/devel/electron6/files/patch-base_syslog__logging.cc (nonexistent) +++ head/devel/electron6/files/patch-base_syslog__logging.cc (revision 518408) @@ -0,0 +1,20 @@ +--- base/syslog_logging.cc.orig 2019-09-10 11:13:31 UTC ++++ base/syslog_logging.cc +@@ -9,7 +9,7 @@ + #include "base/bind.h" + #include "base/callback_helpers.h" + #include "base/debug/stack_trace.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + // defines LOG_INFO, LOG_WARNING macros that could conflict with + // base::LOG_INFO, base::LOG_WARNING. + #include +@@ -94,7 +94,7 @@ EventLogMessage::~EventLogMessage() { + 1, 0, strings, nullptr)) { + stream() << " !!NOT ADDED TO EVENTLOG!!"; + } +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + const char kEventSource[] = "chrome"; + openlog(kEventSource, LOG_NOWAIT | LOG_PID, LOG_USER); + // We can't use the defined names for the logging severity from syslog.h Property changes on: head/devel/electron6/files/patch-base_syslog__logging.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_system_sys__info.h =================================================================== --- head/devel/electron6/files/patch-base_system_sys__info.h (nonexistent) +++ head/devel/electron6/files/patch-base_system_sys__info.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/system/sys_info.h.orig 2019-09-10 10:42:27 UTC ++++ base/system/sys_info.h +@@ -192,7 +192,7 @@ class BASE_EXPORT SysInfo { + static bool IsLowEndDeviceImpl(); + static HardwareInfo GetHardwareInfoSync(); + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + static int64_t AmountOfAvailablePhysicalMemory( + const SystemMemoryInfoKB& meminfo); + #endif Property changes on: head/devel/electron6/files/patch-base_system_sys__info.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_system_sys__info__freebsd.cc =================================================================== --- head/devel/electron6/files/patch-base_system_sys__info__freebsd.cc (nonexistent) +++ head/devel/electron6/files/patch-base_system_sys__info__freebsd.cc (revision 518408) @@ -0,0 +1,71 @@ +--- base/system/sys_info_freebsd.cc.orig 2019-09-10 10:42:27 UTC ++++ base/system/sys_info_freebsd.cc +@@ -13,26 +13,58 @@ + namespace base { + + int64_t SysInfo::AmountOfPhysicalMemoryImpl() { +- int pages, page_size; ++ int pages, page_size, r = 0; + size_t size = sizeof(pages); +- sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); +- sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); +- if (pages == -1 || page_size == -1) { ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); ++ if(r == 0) ++ r =sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); ++ if(r == -1) { + NOTREACHED(); + return 0; + } + return static_cast(pages) * page_size; + } + +-// static +-uint64_t SysInfo::MaxSharedMemorySize() { +- size_t limit; +- size_t size = sizeof(limit); +- if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { ++int64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { ++ int page_size, r = 0; ++ unsigned pgfree, pginact, pgcache; ++ size_t size = sizeof(page_size); ++ size_t szpg = sizeof(pgfree); ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_free_count", &pgfree, &szpg, NULL, 0); ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_inactive_count", &pginact, &szpg, NULL, 0); ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_cache_count", &pgcache, &szpg, NULL, 0); ++ if(r == -1) { + NOTREACHED(); + return 0; + } +- return static_cast(limit); ++ return static_cast((pgfree + pginact + pgcache) * page_size); ++} ++ ++// static ++std::string SysInfo::CPUModelName() { ++ int mib[] = { CTL_HW, HW_MODEL }; ++ char name[256]; ++ size_t size = base::size(name); ++ if (sysctl(mib, base::size(mib), &name, &size, NULL, 0) == 0) ++ return name; ++ return std::string(); ++} ++ ++int SysInfo::NumberOfProcessors() { ++ int mib[] = { CTL_HW, HW_NCPU }; ++ int ncpu; ++ size_t size = sizeof(ncpu); ++ if (sysctl(mib, base::size(mib), &ncpu, &size, NULL, 0) == -1) { ++ NOTREACHED(); ++ return 1; ++ } ++ return ncpu; + } + + } // namespace base Property changes on: head/devel/electron6/files/patch-base_system_sys__info__freebsd.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_system_sys__info__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_system_sys__info__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_system_sys__info__posix.cc (revision 518408) @@ -0,0 +1,38 @@ +--- base/system/sys_info_posix.cc.orig 2019-09-10 11:13:31 UTC ++++ base/system/sys_info_posix.cc +@@ -38,7 +38,7 @@ + + namespace { + +-#if !defined(OS_OPENBSD) && !defined(OS_FUCHSIA) ++#if !defined(OS_FUCHSIA) && !defined(OS_BSD) + int NumberOfProcessors() { + // sysconf returns the number of "logical" (not "physical") processors on both + // Mac and Linux. So we get the number of max available "logical" processors. +@@ -64,7 +64,7 @@ int NumberOfProcessors() { + + base::LazyInstance>:: + Leaky g_lazy_number_of_processors = LAZY_INSTANCE_INITIALIZER; +-#endif // !defined(OS_OPENBSD) && !defined(OS_FUCHSIA) ++#endif // !defined(OS_FUCHSIA) && !defined(OS_BSD) + + #if !defined(OS_FUCHSIA) + int64_t AmountOfVirtualMemory() { +@@ -132,7 +132,7 @@ bool GetDiskSpaceInfo(const base::FilePath& path, + + namespace base { + +-#if !defined(OS_OPENBSD) && !defined(OS_FUCHSIA) ++#if !defined(OS_FUCHSIA) && !defined(OS_BSD) + int SysInfo::NumberOfProcessors() { + return g_lazy_number_of_processors.Get().value(); + } +@@ -227,6 +227,8 @@ std::string SysInfo::OperatingSystemArchitecture() { + arch = "x86"; + } else if (arch == "amd64") { + arch = "x86_64"; ++ } else if (arch == "arm64") { ++ arch = "aarch64"; + } else if (std::string(info.sysname) == "AIX") { + arch = "ppc64"; + } Property changes on: head/devel/electron6/files/patch-base_system_sys__info__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_task_thread__pool_environment__config__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_task_thread__pool_environment__config__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_task_thread__pool_environment__config__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/task/thread_pool/environment_config_unittest.cc.orig 2019-09-10 10:42:27 UTC ++++ base/task/thread_pool/environment_config_unittest.cc +@@ -14,7 +14,7 @@ namespace internal { + TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPriorityForWorker) { + #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_IOS) + EXPECT_TRUE(CanUseBackgroundPriorityForWorkerThread()); +-#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) || defined(OS_NACL) + EXPECT_FALSE(CanUseBackgroundPriorityForWorkerThread()); + #else Property changes on: head/devel/electron6/files/patch-base_task_thread__pool_environment__config__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_test_fontconfig__util__linux.cc =================================================================== --- head/devel/electron6/files/patch-base_test_fontconfig__util__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-base_test_fontconfig__util__linux.cc (revision 518408) @@ -0,0 +1,408 @@ +--- base/test/fontconfig_util_linux.cc.orig 2019-09-10 10:42:27 UTC ++++ base/test/fontconfig_util_linux.cc +@@ -6,24 +6,397 @@ + + #include + +-#include +- + #include "base/base_paths.h" + #include "base/environment.h" + #include "base/files/file_path.h" ++#include "base/files/file_util.h" + #include "base/logging.h" ++#include "base/macros.h" + #include "base/path_service.h" ++#include "base/strings/string_util.h" + + namespace base { + ++namespace { ++ ++const char kFontsConfTemplate[] = R"( ++ ++ ++ ++ ++ $1 ++ ++ ++ $2 ++ ++ ++ ++ ++ false ++ ++ ++ ++ ++ ++ Times ++ ++ ++ Tinos ++ ++ ++ ++ ++ ++ sans ++ ++ ++ DejaVu Sans ++ ++ ++ ++ ++ ++ sans serif ++ ++ ++ Arimo ++ ++ ++ ++ ++ ++ ++ Helvetica ++ ++ ++ Arimo ++ ++ ++ ++ ++ ++ sans-serif ++ ++ ++ Arimo ++ ++ ++ ++ ++ ++ serif ++ ++ ++ Tinos ++ ++ ++ ++ ++ ++ mono ++ ++ ++ Cousine ++ ++ ++ ++ ++ ++ monospace ++ ++ ++ Cousine ++ ++ ++ ++ ++ ++ Courier ++ ++ ++ Cousine ++ ++ ++ ++ ++ ++ cursive ++ ++ ++ Comic Sans MS ++ ++ ++ ++ ++ ++ fantasy ++ ++ ++ Impact ++ ++ ++ ++ ++ ++ Monaco ++ ++ ++ Tinos ++ ++ ++ ++ ++ ++ Arial ++ ++ ++ Arimo ++ ++ ++ ++ ++ ++ Courier New ++ ++ ++ Cousine ++ ++ ++ ++ ++ ++ Georgia ++ ++ ++ Gelasio ++ ++ ++ ++ ++ ++ Times New Roman ++ ++ ++ Tinos ++ ++ ++ ++ ++ ++ Verdana ++ ++ ++ ++ Arimo ++ ++ ++ ++ ++ ++ ++ NonAntiAliasedSans ++ ++ ++ Arimo ++ ++ ++ false ++ ++ ++ ++ ++ ++ SlightHintedGeorgia ++ ++ ++ Gelasio ++ ++ ++ hintslight ++ ++ ++ ++ ++ ++ NonHintedSans ++ ++ ++ Arimo ++ ++ ++ ++ hintfull ++ ++ ++ false ++ ++ ++ ++ ++ ++ AutohintedSerif ++ ++ ++ Arimo ++ ++ ++ true ++ ++ ++ hintmedium ++ ++ ++ ++ ++ ++ HintedSerif ++ ++ ++ Arimo ++ ++ ++ false ++ ++ ++ hintmedium ++ ++ ++ ++ ++ ++ FullAndAutoHintedSerif ++ ++ ++ Arimo ++ ++ ++ true ++ ++ ++ hintfull ++ ++ ++ ++ ++ ++ SubpixelEnabledArial ++ ++ ++ Arimo ++ ++ ++ rgb ++ ++ ++ ++ ++ ++ SubpixelDisabledArial ++ ++ ++ Arimo ++ ++ ++ none ++ ++ ++ ++ ++ ++ ++ SubpixelPositioning ++ ++ ++ Tinos ++ ++ ++ ++ ++ ++ ++ SubpixelPositioningAhem ++ ++ ++ ahem ++ ++ ++ ++ ++ ++ SlightHintedTimesNewRoman ++ ++ ++ Tinos ++ ++ ++ hintslight ++ ++ ++ ++ ++ ++ ++ DejaVu Sans ++ ++ ++ ++ ++)"; ++ ++} // namespace ++ + void SetUpFontconfig() { +- FilePath dir_module; +- CHECK(PathService::Get(DIR_MODULE, &dir_module)); ++ std::unique_ptr env = Environment::Create(); ++ if (!env->HasVar("FONTCONFIG_FILE")) { ++ // fonts.conf must be generated on-the-fly since it contains absolute paths ++ // which may be different if ++ // 1. The user moves/renames their build directory (or any parent dirs). ++ // 2. The build directory is mapped on a swarming bot at a location ++ // different from the one the buildbot used. ++ FilePath dir_module; ++ PathService::Get(DIR_MODULE, &dir_module); ++ FilePath font_cache = dir_module.Append("fontconfig_caches"); ++ FilePath test_fonts = dir_module.Append("test_fonts"); ++ std::string fonts_conf = ReplaceStringPlaceholders( ++ kFontsConfTemplate, {font_cache.value(), test_fonts.value()}, nullptr); + +- std::unique_ptr env(Environment::Create()); +- // TODO(thomasanderson): This still stat()'s the real /etc/fonts/fonts.conf. +- // Prevent fontconfig from doing this. +- CHECK(env->SetVar("FONTCONFIG_SYSROOT", dir_module.value().c_str())); ++ // Write the data to a different file and then atomically rename it to ++ // fonts.conf. This avoids the file being in a bad state when different ++ // parallel tests call this function at the same time. ++ FilePath fonts_conf_file_temp; ++ if(!CreateTemporaryFileInDir(dir_module, &fonts_conf_file_temp)) ++ CHECK(CreateTemporaryFile(&fonts_conf_file_temp)); ++ CHECK( ++ WriteFile(fonts_conf_file_temp, fonts_conf.c_str(), fonts_conf.size())); ++ FilePath fonts_conf_file = dir_module.Append("fonts.conf"); ++ if (ReplaceFile(fonts_conf_file_temp, fonts_conf_file, nullptr)) ++ env->SetVar("FONTCONFIG_FILE", fonts_conf_file.value()); ++ else ++ env->SetVar("FONTCONFIG_FILE", fonts_conf_file_temp.value()); ++ } + } + + } // namespace base Property changes on: head/devel/electron6/files/patch-base_test_fontconfig__util__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_test_generate__fontconfig__caches.cc =================================================================== --- head/devel/electron6/files/patch-base_test_generate__fontconfig__caches.cc (nonexistent) +++ head/devel/electron6/files/patch-base_test_generate__fontconfig__caches.cc (revision 518408) @@ -0,0 +1,25 @@ +--- base/test/generate_fontconfig_caches.cc.orig 2019-09-10 10:42:27 UTC ++++ base/test/generate_fontconfig_caches.cc +@@ -52,14 +52,21 @@ int main() { + + // Delete directory before generating fontconfig caches. This will notify + // future fontconfig_caches changes. +- CHECK(base::DeleteFile(fontconfig_caches, /*recursive=*/true)); + ++ CHECK(base::DeleteFile(fontconfig_caches, /*recursive=*/true)); + base::SetUpFontconfig(); + FcInit(); + FcFini(); + + // Check existence of intended fontconfig cache file. ++#if defined(OS_BSD) ++ // Our version of fontconfig is too old to respect .uuid files in font directories, ++ // so we check for the CACHEDIR.TAG file instead + CHECK(base::PathExists( ++ fontconfig_caches.Append("CACHEDIR.TAG"))); ++#else ++ CHECK(base::PathExists( + fontconfig_caches.Append(base::StrCat({uuid, "-le64.cache-7"})))); ++#endif + return 0; + } Property changes on: head/devel/electron6/files/patch-base_test_generate__fontconfig__caches.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_test_launcher_test__launcher.cc =================================================================== --- head/devel/electron6/files/patch-base_test_launcher_test__launcher.cc (nonexistent) +++ head/devel/electron6/files/patch-base_test_launcher_test__launcher.cc (revision 518408) @@ -0,0 +1,10 @@ +--- base/test/launcher/test_launcher.cc.orig 2019-09-10 11:13:31 UTC ++++ base/test/launcher/test_launcher.cc +@@ -53,6 +53,7 @@ + #include "testing/gtest/include/gtest/gtest.h" + + #if defined(OS_POSIX) ++#include + #include + + #include "base/files/file_descriptor_watcher_posix.h" Property changes on: head/devel/electron6/files/patch-base_test_launcher_test__launcher.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_test_test__file__util__linux.cc =================================================================== --- head/devel/electron6/files/patch-base_test_test__file__util__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-base_test_test__file__util__linux.cc (revision 518408) @@ -0,0 +1,13 @@ +--- base/test/test_file_util_linux.cc.orig 2019-09-10 10:42:27 UTC ++++ base/test/test_file_util_linux.cc +@@ -51,8 +51,10 @@ bool EvictFileFromSystemCache(const FilePath& file) { + return false; + if (fdatasync(fd.get()) != 0) + return false; ++#if !defined(OS_BSD) + if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0) + return false; ++#endif + return true; + } + Property changes on: head/devel/electron6/files/patch-base_test_test__file__util__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_test_test__file__util__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_test_test__file__util__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_test_test__file__util__posix.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/test/test_file_util_posix.cc.orig 2019-09-10 10:42:27 UTC ++++ base/test/test_file_util_posix.cc +@@ -85,7 +85,7 @@ void SyncPageCacheToDisk() { + sync(); + } + +-#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + bool EvictFileFromSystemCache(const FilePath& file) { + // There doesn't seem to be a POSIX way to cool the disk cache. + NOTIMPLEMENTED(); Property changes on: head/devel/electron6/files/patch-base_test_test__file__util__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_third__party_libevent_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-base_third__party_libevent_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-base_third__party_libevent_BUILD.gn (revision 518408) @@ -0,0 +1,24 @@ +--- base/third_party/libevent/BUILD.gn.orig 2019-09-10 10:42:27 UTC ++++ base/third_party/libevent/BUILD.gn +@@ -43,13 +43,20 @@ static_library("libevent") { + "mac/event-config.h", + ] + include_dirs = [ "mac" ] +- } else if (is_linux) { ++ } else if (is_linux && !is_bsd) { + sources += [ + "epoll.c", + "linux/config.h", + "linux/event-config.h", + ] + include_dirs = [ "linux" ] ++ } else if (is_bsd) { ++ sources += [ ++ "kqueue.c", ++ "freebsd/config.h", ++ "freebsd/event-config.h", ++ ] ++ include_dirs = [ "freebsd" ] + } else if (is_android) { + sources += [ + "android/config.h", Property changes on: head/devel/electron6/files/patch-base_third__party_libevent_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_threading_platform__thread.h =================================================================== --- head/devel/electron6/files/patch-base_threading_platform__thread.h (nonexistent) +++ head/devel/electron6/files/patch-base_threading_platform__thread.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/threading/platform_thread.h.orig 2019-09-10 11:13:31 UTC ++++ base/threading/platform_thread.h +@@ -220,7 +220,7 @@ class BASE_EXPORT PlatformThread { + + static ThreadPriority GetCurrentThreadPriority(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Toggles a specific thread's priority at runtime. This can be used to + // change the priority of a thread in a different process and will fail + // if the calling process does not have proper permissions. The Property changes on: head/devel/electron6/files/patch-base_threading_platform__thread.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_threading_platform__thread__linux.cc =================================================================== --- head/devel/electron6/files/patch-base_threading_platform__thread__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-base_threading_platform__thread__linux.cc (revision 518408) @@ -0,0 +1,30 @@ +--- base/threading/platform_thread_linux.cc.orig 2019-09-10 10:42:27 UTC ++++ base/threading/platform_thread_linux.cc +@@ -18,7 +18,9 @@ + + #if !defined(OS_NACL) && !defined(OS_AIX) + #include ++#if !defined(OS_BSD) + #include ++#endif + #include + #include + #include +@@ -99,7 +101,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN + + Optional CanIncreaseCurrentThreadPriorityForPlatform( + ThreadPriority priority) { +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke + // pthread_setschedparam in SetCurrentThreadPriorityForPlatform(). + struct rlimit rlim; +@@ -141,7 +143,7 @@ Optional GetCurrentThreadPriorityForPl + void PlatformThread::SetName(const std::string& name) { + ThreadIdNameManager::GetInstance()->SetName(name); + +-#if !defined(OS_NACL) && !defined(OS_AIX) ++#if !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD) + // On linux we can get the thread names to show up in the debugger by setting + // the process name for the LWP. We don't want to do this for the main + // thread because that would rename the process, causing tools like killall Property changes on: head/devel/electron6/files/patch-base_threading_platform__thread__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_threading_platform__thread__posix.cc =================================================================== --- head/devel/electron6/files/patch-base_threading_platform__thread__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-base_threading_platform__thread__posix.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/threading/platform_thread_posix.cc.orig 2019-09-10 10:42:27 UTC ++++ base/threading/platform_thread_posix.cc +@@ -66,7 +66,7 @@ void* ThreadFunc(void* params) { + if (!thread_params->joinable) + base::ThreadRestrictions::SetSingletonAllowed(false); + +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + // Threads on linux/android may inherit their priority from the thread + // where they were created. This explicitly sets the priority of all new + // threads. Property changes on: head/devel/electron6/files/patch-base_threading_platform__thread__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_threading_thread__local__storage__unittest.cc =================================================================== --- head/devel/electron6/files/patch-base_threading_thread__local__storage__unittest.cc (nonexistent) +++ head/devel/electron6/files/patch-base_threading_thread__local__storage__unittest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/threading/thread_local_storage_unittest.cc.orig 2019-09-10 10:42:27 UTC ++++ base/threading/thread_local_storage_unittest.cc +@@ -86,7 +86,7 @@ class ThreadLocalStorageRunner : public DelegateSimple + void ThreadLocalStorageCleanup(void *value) { + int *ptr = reinterpret_cast(value); + // Destructors should never be called with a NULL. +- ASSERT_NE(reinterpret_cast(NULL), ptr); ++ ASSERT_NE(static_cast(NULL), ptr); + if (*ptr == kFinalTlsValue) + return; // We've been called enough times. + ASSERT_LT(kFinalTlsValue, *ptr); Property changes on: head/devel/electron6/files/patch-base_threading_thread__local__storage__unittest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_threading_thread__task__runner__handle.cc =================================================================== --- head/devel/electron6/files/patch-base_threading_thread__task__runner__handle.cc (nonexistent) +++ head/devel/electron6/files/patch-base_threading_thread__task__runner__handle.cc (revision 518408) @@ -0,0 +1,26 @@ +--- base/threading/thread_task_runner_handle.cc.orig 2019-09-10 10:42:27 UTC ++++ base/threading/thread_task_runner_handle.cc +@@ -8,6 +8,7 @@ + #include + + #include "base/bind.h" ++#include "base/callback_helpers.h" + #include "base/lazy_instance.h" + #include "base/logging.h" + #include "base/run_loop.h" +@@ -37,6 +38,7 @@ bool ThreadTaskRunnerHandle::IsSet() { + return !!thread_task_runner_tls.Pointer()->Get(); + } + ++#if defined(OS_BSD) + // static + ScopedClosureRunner ThreadTaskRunnerHandle::OverrideForTesting( + scoped_refptr overriding_task_runner) { +@@ -81,6 +83,7 @@ ScopedClosureRunner ThreadTaskRunnerHandle::OverrideFo + base::Unretained(ttrh->task_runner_.get()), + std::move(no_running_during_override))); + } ++#endif + + ThreadTaskRunnerHandle::ThreadTaskRunnerHandle( + scoped_refptr task_runner) Property changes on: head/devel/electron6/files/patch-base_threading_thread__task__runner__handle.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_trace__event_malloc__dump__provider.cc =================================================================== --- head/devel/electron6/files/patch-base_trace__event_malloc__dump__provider.cc (nonexistent) +++ head/devel/electron6/files/patch-base_trace__event_malloc__dump__provider.cc (revision 518408) @@ -0,0 +1,21 @@ +--- base/trace_event/malloc_dump_provider.cc.orig 2019-09-10 11:13:31 UTC ++++ base/trace_event/malloc_dump_provider.cc +@@ -17,6 +17,8 @@ + + #if defined(OS_MACOSX) + #include ++#elif defined(OS_BSD) ++#include + #else + #include + #endif +@@ -132,6 +134,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump + } + #elif defined(OS_FUCHSIA) + // TODO(fuchsia): Port, see https://crbug.com/706592. ++#elif defined(OS_BSD) ++ total_virtual_size = 0; ++ allocated_objects_size = 0; + #else + struct mallinfo info = mallinfo(); + DCHECK_GE(info.arena + info.hblkhd, info.uordblks); Property changes on: head/devel/electron6/files/patch-base_trace__event_malloc__dump__provider.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_trace__event_process__memory__dump.cc =================================================================== --- head/devel/electron6/files/patch-base_trace__event_process__memory__dump.cc (nonexistent) +++ head/devel/electron6/files/patch-base_trace__event_process__memory__dump.cc (revision 518408) @@ -0,0 +1,11 @@ +--- base/trace_event/process_memory_dump.cc.orig 2019-09-10 10:42:27 UTC ++++ base/trace_event/process_memory_dump.cc +@@ -94,7 +94,7 @@ size_t ProcessMemoryDump::CountResidentBytes(void* sta + #if defined(OS_WIN) + std::unique_ptr vec( + new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]); +-#elif defined(OS_MACOSX) ++#elif defined(OS_MACOSX) || defined(OS_BSD) + std::unique_ptr vec(new char[max_vec_size]); + #elif defined(OS_POSIX) || defined(OS_FUCHSIA) + std::unique_ptr vec(new unsigned char[max_vec_size]); Property changes on: head/devel/electron6/files/patch-base_trace__event_process__memory__dump.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-base_trace__event_process__memory__dump.h =================================================================== --- head/devel/electron6/files/patch-base_trace__event_process__memory__dump.h (nonexistent) +++ head/devel/electron6/files/patch-base_trace__event_process__memory__dump.h (revision 518408) @@ -0,0 +1,11 @@ +--- base/trace_event/process_memory_dump.h.orig 2019-09-10 10:42:27 UTC ++++ base/trace_event/process_memory_dump.h +@@ -22,7 +22,7 @@ + + // Define COUNT_RESIDENT_BYTES_SUPPORTED if platform supports counting of the + // resident memory. +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + #define COUNT_RESIDENT_BYTES_SUPPORTED + #endif + Property changes on: head/devel/electron6/files/patch-base_trace__event_process__memory__dump.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-build_config_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-build_config_BUILD.gn (revision 518408) @@ -0,0 +1,30 @@ +--- build/config/BUILD.gn.orig 2019-09-10 11:13:31 UTC ++++ build/config/BUILD.gn +@@ -161,7 +161,7 @@ config("debug") { + # builds, and we have to tell it to turn it off. + defines += [ "_HAS_ITERATOR_DEBUGGING=0" ] + } +- } else if (is_linux && current_cpu == "x64" && enable_iterator_debugging) { ++ } else if ((is_linux || is_bsd) && current_cpu == "x64" && enable_iterator_debugging) { + # Enable libstdc++ debugging facilities to help catch problems early, see + # http://crbug.com/65151 . + # TODO(phajdan.jr): Should we enable this for all of POSIX? +@@ -259,9 +259,7 @@ config("default_libs") { + ] + } else if (is_linux) { + libs = [ +- "dl", + "pthread", +- "rt", + ] + } + } +@@ -349,7 +347,7 @@ config("executable_config") { + "//build/config/ios:ios_dynamic_flags", + "//build/config/ios:ios_executable_flags", + ] +- } else if (is_linux || is_android || current_os == "aix") { ++ } else if (is_linux || is_bsd || is_android || current_os == "aix") { + configs += [ "//build/config/gcc:executable_config" ] + if (is_chromecast) { + configs += [ "//build/config/chromecast:executable_config" ] Property changes on: head/devel/electron6/files/patch-build_config_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_BUILDCONFIG.gn =================================================================== --- head/devel/electron6/files/patch-build_config_BUILDCONFIG.gn (nonexistent) +++ head/devel/electron6/files/patch-build_config_BUILDCONFIG.gn (revision 518408) @@ -0,0 +1,48 @@ +--- build/config/BUILDCONFIG.gn.orig 2019-09-16 09:24:24 UTC ++++ build/config/BUILDCONFIG.gn +@@ -134,10 +134,10 @@ declare_args() { + is_official_build = false + + # Whether we're a traditional desktop unix. +- is_desktop_linux = current_os == "linux" ++ is_desktop_linux = current_os == "linux" || current_os == "freebsd" + + # Set to true when compiling with the Clang compiler. +- is_clang = current_os != "linux" || ++ is_clang = current_os != "linux" || current_os == "freebsd" || + (current_cpu != "s390x" && current_cpu != "s390" && + current_cpu != "ppc64" && current_cpu != "ppc" && + current_cpu != "mips" && current_cpu != "mips64") +@@ -189,8 +189,8 @@ if (host_toolchain == "") { + # TODO(dpranke): Add some sort of assert here that verifies that + # no toolchain omitted host_toolchain from its toolchain_args(). + +- if (host_os == "linux") { +- if (target_os != "linux") { ++ if (host_os == "linux" || host_os == "freebsd") { ++ if (target_os != "linux" && target_os != "freebsd") { + host_toolchain = "//build/toolchain/linux:clang_$host_cpu" + } else if (is_clang) { + host_toolchain = "//build/toolchain/linux:clang_$host_cpu" +@@ -227,7 +227,7 @@ if (target_os == "android") { + assert(host_os == "linux" || host_os == "mac", + "Android builds are only supported on Linux and Mac hosts.") + _default_toolchain = "//build/toolchain/android:android_clang_$target_cpu" +-} else if (target_os == "chromeos" || target_os == "linux") { ++} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd") { + # See comments in build/toolchain/cros/BUILD.gn about board compiles. + if (is_clang) { + _default_toolchain = "//build/toolchain/linux:clang_$target_cpu" +@@ -291,10 +291,11 @@ is_android = current_os == "android" + is_chromeos = current_os == "chromeos" + is_fuchsia = current_os == "fuchsia" + is_ios = current_os == "ios" +-is_linux = current_os == "chromeos" || current_os == "linux" ++is_linux = current_os == "chromeos" || current_os == "linux" || current_os == "freebsd" + is_mac = current_os == "mac" + is_nacl = current_os == "nacl" + is_win = current_os == "win" || current_os == "winuwp" ++is_bsd = current_os == "freebsd" + + is_posix = !is_win && !is_fuchsia + Property changes on: head/devel/electron6/files/patch-build_config_BUILDCONFIG.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_allocator.gni =================================================================== --- head/devel/electron6/files/patch-build_config_allocator.gni (nonexistent) +++ head/devel/electron6/files/patch-build_config_allocator.gni (revision 518408) @@ -0,0 +1,20 @@ +--- build/config/allocator.gni.orig 2019-09-10 11:13:31 UTC ++++ build/config/allocator.gni +@@ -6,7 +6,7 @@ import("//build/config/sanitizers/sanitizers.gni") + + # Temporarily disable tcmalloc on arm64 linux to get rid of compilation errors. + if (is_android || is_mac || is_ios || is_asan || is_lsan || is_tsan || +- is_msan || is_win || is_fuchsia || (is_linux && target_cpu == "arm64")) { ++ is_msan || is_win || is_fuchsia || (is_linux && target_cpu == "arm64") || is_bsd) { + _default_allocator = "none" + } else { + _default_allocator = "tcmalloc" +@@ -17,7 +17,7 @@ if (is_android || is_mac || is_ios || is_asan || is_ls + # against the debug CRT with "is_nacl=false". + if ((is_linux || is_android || is_mac || + (is_win && !is_component_build && !is_debug)) && !is_asan && !is_hwasan && +- !is_lsan && !is_tsan && !is_msan) { ++ !is_lsan && !is_tsan && !is_msan && !is_bsd) { + _default_use_allocator_shim = true + } else { + _default_use_allocator_shim = false Property changes on: head/devel/electron6/files/patch-build_config_allocator.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_compiler_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-build_config_compiler_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-build_config_compiler_BUILD.gn (revision 518408) @@ -0,0 +1,92 @@ +--- build/config/compiler/BUILD.gn.orig 2019-09-10 11:13:31 UTC ++++ build/config/compiler/BUILD.gn +@@ -54,7 +54,7 @@ declare_args() { + # only two architectures that are currently checked in). Turn this off when + # you are using a custom toolchain and need to control -B in cflags. + linux_use_bundled_binutils = +- linux_use_bundled_binutils_override && is_linux && ++ linux_use_bundled_binutils_override && (is_linux && !is_bsd) && + (current_cpu == "x64" || current_cpu == "x86") + binutils_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin", + root_build_dir) +@@ -269,7 +269,7 @@ config("compiler") { + # Linker warnings. + if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") && + !(is_android && use_order_profiling) && !is_mac && !is_ios && +- current_os != "aix") { ++ current_os != "aix" && !is_bsd) { + # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 + # TODO(lizeb,pasko): Fix link errors when linking with order_profiling=1 + # crbug.com/485542 +@@ -363,7 +363,7 @@ config("compiler") { + + # Compiler instrumentation can introduce dependencies in DSOs to symbols in + # the executable they are loaded into, so they are unresolved at link-time. +- if (!using_sanitizer) { ++ if (!using_sanitizer && !is_bsd) { + ldflags += [ + "-Wl,-z,defs", + "-Wl,--as-needed", +@@ -471,7 +471,7 @@ config("compiler") { + } + } + +- if (is_clang && !is_nacl && !use_xcode_clang) { ++ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) { + cflags += [ "-fcrash-diagnostics-dir=" + + rebase_path("//tools/clang/crashreports", root_build_dir) ] + +@@ -741,7 +741,7 @@ config("compiler_cpu_abi") { + cflags += [ "-mtune=$arm_tune" ] + } + } else if (current_cpu == "arm64") { +- if (is_clang && !is_android && !is_nacl && !is_fuchsia) { ++ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) { + cflags += [ "--target=aarch64-linux-gnu" ] + ldflags += [ "--target=aarch64-linux-gnu" ] + } +@@ -1102,7 +1102,7 @@ config("compiler_deterministic") { + "-Xclang", + ".", + ] +- if (!is_win) { ++ if (!is_win && !is_bsd) { + # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) + asmflags = [ "-Wa,-fdebug-compilation-dir,." ] + } +@@ -1492,7 +1492,7 @@ config("default_warnings") { + cflags += [ "-Wno-nonportable-include-path" ] + } + +- if (current_toolchain == host_toolchain || !use_xcode_clang) { ++ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { + # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not + # recognize. + cflags += [ +@@ -1701,7 +1701,7 @@ config("thin_archive") { + # Mac and iOS use the mac-specific "libtool" command, not ar, which doesn't + # have a "thin archive" mode (it does accept -T, but it means truncating + # archive names to 16 characters, which is not what we want). +- if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) { ++ if ((is_posix && !is_nacl && !is_mac && !is_ios && !is_bsd) || is_fuchsia) { + arflags = [ "-T" ] + } else if (is_win && use_lld) { + arflags = [ "/llvmlibthin" ] +@@ -2288,7 +2288,7 @@ config("symbols") { + # flag, so we can use use -g1 for pnacl and nacl-clang compiles. + # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang. + if (!is_nacl || is_clang) { +- cflags += [ "-g2" ] ++ cflags += [ "-g0" ] + } + + if (use_debug_fission && !is_nacl && !is_android) { +@@ -2309,7 +2309,7 @@ config("symbols") { + # DWARF info may be corrupt; offsets in a range list entry are in different + # sections" there. Maybe just a bug in nacl_switch_32.S. + if (!is_mac && !is_ios && !is_nacl && current_cpu != "x86" && +- (use_gold || use_lld)) { ++ (use_gold || use_lld) && !is_bsd) { + if (is_clang) { + # This flag enables the GNU-format pubnames and pubtypes sections, + # which lld needs in order to generate a correct GDB index. Property changes on: head/devel/electron6/files/patch-build_config_compiler_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_compiler_compiler.gni =================================================================== --- head/devel/electron6/files/patch-build_config_compiler_compiler.gni (nonexistent) +++ head/devel/electron6/files/patch-build_config_compiler_compiler.gni (revision 518408) @@ -0,0 +1,11 @@ +--- build/config/compiler/compiler.gni.orig 2019-09-10 11:13:31 UTC ++++ build/config/compiler/compiler.gni +@@ -179,7 +179,7 @@ declare_args() { + declare_args() { + # Whether to use the gold linker from binutils instead of lld or bfd. + use_gold = +- !use_lld && !(is_chromecast && is_linux && ++ !is_bsd && !use_lld && !(is_chromecast && is_linux && + (current_cpu == "arm" || current_cpu == "mipsel")) && + ((is_linux && (current_cpu == "x64" || current_cpu == "x86" || + current_cpu == "arm" || current_cpu == "arm64" || Property changes on: head/devel/electron6/files/patch-build_config_compiler_compiler.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_features.gni =================================================================== --- head/devel/electron6/files/patch-build_config_features.gni (nonexistent) +++ head/devel/electron6/files/patch-build_config_features.gni (revision 518408) @@ -0,0 +1,11 @@ +--- build/config/features.gni.orig 2019-09-10 11:13:32 UTC ++++ build/config/features.gni +@@ -45,7 +45,7 @@ declare_args() { + } + + # libudev usage. This currently only affects the content layer. +- use_udev = is_linux && !is_chromecast ++ use_udev = is_linux && !is_chromecast && !is_bsd + + use_dbus = is_linux && !is_chromecast + Property changes on: head/devel/electron6/files/patch-build_config_features.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_freetype_freetype.gni =================================================================== --- head/devel/electron6/files/patch-build_config_freetype_freetype.gni (nonexistent) +++ head/devel/electron6/files/patch-build_config_freetype_freetype.gni (revision 518408) @@ -0,0 +1,9 @@ +--- build/config/freetype/freetype.gni.orig 2019-09-10 10:42:27 UTC ++++ build/config/freetype/freetype.gni +@@ -10,5 +10,5 @@ declare_args() { + # than version 2.7.1 and have color bitmap support compiled in. WARNING: + # System FreeType configurations other than as described WILL INTRODUCE TEXT + # RENDERING AND SECURITY REGRESSIONS. +- use_system_freetype = false ++ use_system_freetype = true + } Property changes on: head/devel/electron6/files/patch-build_config_freetype_freetype.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_linux_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-build_config_linux_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-build_config_linux_BUILD.gn (revision 518408) @@ -0,0 +1,11 @@ +--- build/config/linux/BUILD.gn.orig 2019-09-10 10:42:27 UTC ++++ build/config/linux/BUILD.gn +@@ -28,7 +28,7 @@ config("runtime_library") { + } + + if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && +- (!use_custom_libcxx || current_cpu == "mipsel")) { ++ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { + libs = [ "atomic" ] + } + } Property changes on: head/devel/electron6/files/patch-build_config_linux_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_linux_pkg-config.py =================================================================== --- head/devel/electron6/files/patch-build_config_linux_pkg-config.py (nonexistent) +++ head/devel/electron6/files/patch-build_config_linux_pkg-config.py (revision 518408) @@ -0,0 +1,26 @@ +--- build/config/linux/pkg-config.py.orig 2019-09-10 10:42:27 UTC ++++ build/config/linux/pkg-config.py +@@ -59,8 +59,12 @@ def SetConfigPath(options): + print("You must specify an architecture via -a if using a sysroot.") + sys.exit(1) + +- libdir = sysroot + '/usr/' + options.system_libdir + '/pkgconfig' +- libdir += ':' + sysroot + '/usr/share/pkgconfig' ++ if "linux" in sys.platform: ++ libdir = sysroot + '/libdata/' + options.system_libdir + '/pkgconfig' ++ libdir += ':' + sysroot + '/usr/share/pkgconfig' ++ elif "bsd" in sys.platform: ++ libdir = sysroot + '/libdata/pkgconfig' ++ libdir += ':' + '/usr/libdata/pkgconfig' + os.environ['PKG_CONFIG_LIBDIR'] = libdir + return libdir + +@@ -109,7 +113,7 @@ def main(): + # If this is run on non-Linux platforms, just return nothing and indicate + # success. This allows us to "kind of emulate" a Linux build from other + # platforms. +- if "linux" not in sys.platform: ++ if "bsd" not in sys.platform: + print("[[],[],[],[],[]]") + return 0 + Property changes on: head/devel/electron6/files/patch-build_config_linux_pkg-config.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_config_sysroot.gni =================================================================== --- head/devel/electron6/files/patch-build_config_sysroot.gni (nonexistent) +++ head/devel/electron6/files/patch-build_config_sysroot.gni (revision 518408) @@ -0,0 +1,15 @@ +--- build/config/sysroot.gni.orig 2019-09-10 11:13:32 UTC ++++ build/config/sysroot.gni +@@ -15,9 +15,10 @@ declare_args() { + # The absolute path to directory containing linux sysroot images + target_sysroot_dir = "//build/linux" + +- use_sysroot = current_cpu == "x86" || current_cpu == "x64" || ++ use_sysroot = !is_bsd && ( ++ current_cpu == "x86" || current_cpu == "x64" || + current_cpu == "arm" || current_cpu == "arm64" || +- current_cpu == "mipsel" || current_cpu == "mips64el" ++ current_cpu == "mipsel" || current_cpu == "mips64el") + } + + if (current_os == target_os && current_cpu == target_cpu && Property changes on: head/devel/electron6/files/patch-build_config_sysroot.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_detect__host__arch.py =================================================================== --- head/devel/electron6/files/patch-build_detect__host__arch.py (nonexistent) +++ head/devel/electron6/files/patch-build_detect__host__arch.py (revision 518408) @@ -0,0 +1,11 @@ +--- build/detect_host_arch.py.orig 2019-09-10 10:42:27 UTC ++++ build/detect_host_arch.py +@@ -21,6 +21,8 @@ def HostArch(): + host_arch = 'ia32' + elif host_arch in ['x86_64', 'amd64']: + host_arch = 'x64' ++ elif host_arch.startswith('arm64'): ++ host_arch = 'arm64' + elif host_arch.startswith('arm'): + host_arch = 'arm' + elif host_arch.startswith('aarch64'): Property changes on: head/devel/electron6/files/patch-build_detect__host__arch.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_gn__run__binary.py =================================================================== --- head/devel/electron6/files/patch-build_gn__run__binary.py (nonexistent) +++ head/devel/electron6/files/patch-build_gn__run__binary.py (revision 518408) @@ -0,0 +1,11 @@ +--- build/gn_run_binary.py.orig 2019-09-10 10:42:27 UTC ++++ build/gn_run_binary.py +@@ -24,7 +24,7 @@ if not os.path.isabs(path): + # The rest of the arguments are passed directly to the executable. + args = [path] + sys.argv[2:] + +-ret = subprocess.call(args) ++ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome"}) + if ret != 0: + if ret <= -100: + # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to Property changes on: head/devel/electron6/files/patch-build_gn__run__binary.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_linux_chrome.map =================================================================== --- head/devel/electron6/files/patch-build_linux_chrome.map (nonexistent) +++ head/devel/electron6/files/patch-build_linux_chrome.map (revision 518408) @@ -0,0 +1,29 @@ +--- build/linux/chrome.map.orig 2019-09-10 10:42:27 UTC ++++ build/linux/chrome.map +@@ -1,4 +1,7 @@ + { ++local: ++ *; ++ + global: + __bss_start; + __data_start; +@@ -20,6 +23,10 @@ global: + # Program entry point. + _start; + ++ # FreeBSD specific variables. ++ __progname; ++ environ; ++ + # Memory allocation symbols. We want chrome and any libraries to + # share the same heap, so it is correct to export these symbols. + calloc; +@@ -81,7 +88,4 @@ global: + localtime64; + localtime64_r; + localtime_r; +- +-local: +- *; + }; Property changes on: head/devel/electron6/files/patch-build_linux_chrome.map ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_linux_libpci_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-build_linux_libpci_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-build_linux_libpci_BUILD.gn (revision 518408) @@ -0,0 +1,53 @@ +--- build/linux/libpci/BUILD.gn.orig 2019-09-10 10:42:27 UTC ++++ build/linux/libpci/BUILD.gn +@@ -3,20 +3,36 @@ + # found in the LICENSE file. + + import("//tools/generate_library_loader/generate_library_loader.gni") ++import("//build/config/linux/pkg_config.gni") + +-# This generates a target named "libpci". +-generate_library_loader("libpci") { +- name = "LibPciLoader" +- output_h = "libpci.h" +- output_cc = "libpci_loader.cc" +- header = "" ++declare_args() { ++ use_system_libpci = is_bsd ++} + +- functions = [ +- "pci_alloc", +- "pci_init", +- "pci_cleanup", +- "pci_scan_bus", +- "pci_fill_info", +- "pci_lookup_name", +- ] ++if (use_system_libpci) { ++ pkg_config("system_libpci") { ++ packages = [ "libpci" ] ++ } ++ ++ source_set("libpci") { ++ public_configs = [ ":system_libpci" ] ++ } ++ ++} else { ++ # This generates a target named "libpci". ++ generate_library_loader("libpci") { ++ name = "LibPciLoader" ++ output_h = "libpci.h" ++ output_cc = "libpci_loader.cc" ++ header = "" ++ ++ functions = [ ++ "pci_alloc", ++ "pci_init", ++ "pci_cleanup", ++ "pci_scan_bus", ++ "pci_fill_info", ++ "pci_lookup_name", ++ ] ++ } + } Property changes on: head/devel/electron6/files/patch-build_linux_libpci_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_linux_unbundle_libusb.gn =================================================================== --- head/devel/electron6/files/patch-build_linux_unbundle_libusb.gn (nonexistent) +++ head/devel/electron6/files/patch-build_linux_unbundle_libusb.gn (revision 518408) @@ -0,0 +1,27 @@ +--- build/linux/unbundle/libusb.gn.orig 2019-09-16 09:25:10 UTC ++++ build/linux/unbundle/libusb.gn +@@ -0,0 +1,24 @@ ++# Copyright 2016 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_libusb") { ++ packages = [ "libusb-1.0" ] ++} ++ ++shim_headers("libusb_shim") { ++ root_path = "src/libusb" ++ headers = [ ++ "libusb.h", ++ ] ++} ++ ++source_set("libusb") { ++ deps = [ ++ ":libusb_shim", ++ ] ++ public_configs = [ ":system_libusb" ] ++} Property changes on: head/devel/electron6/files/patch-build_linux_unbundle_libusb.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_linux_unbundle_replace__gn__files.py =================================================================== --- head/devel/electron6/files/patch-build_linux_unbundle_replace__gn__files.py (nonexistent) +++ head/devel/electron6/files/patch-build_linux_unbundle_replace__gn__files.py (revision 518408) @@ -0,0 +1,10 @@ +--- build/linux/unbundle/replace_gn_files.py.orig 2019-09-10 10:42:27 UTC ++++ build/linux/unbundle/replace_gn_files.py +@@ -27,6 +27,7 @@ REPLACEMENTS = { + 'libevent': 'base/third_party/libevent/BUILD.gn', + 'libjpeg': 'third_party/libjpeg.gni', + 'libpng': 'third_party/libpng/BUILD.gn', ++ 'libusb': 'third_party/libusb/BUILD.gn', + 'libvpx': 'third_party/libvpx/BUILD.gn', + 'libwebp': 'third_party/libwebp/BUILD.gn', + 'libxml': 'third_party/libxml/BUILD.gn', Property changes on: head/devel/electron6/files/patch-build_linux_unbundle_replace__gn__files.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_toolchain_gcc__toolchain.gni =================================================================== --- head/devel/electron6/files/patch-build_toolchain_gcc__toolchain.gni (nonexistent) +++ head/devel/electron6/files/patch-build_toolchain_gcc__toolchain.gni (revision 518408) @@ -0,0 +1,45 @@ +--- build/toolchain/gcc_toolchain.gni.orig 2019-09-10 11:13:32 UTC ++++ build/toolchain/gcc_toolchain.gni +@@ -36,6 +36,11 @@ if (is_linux && target_os == "android") { + enable_resource_whitelist_generation = false + } + ++declare_args() { ++ extra_cxxflags = "" ++ extra_ldflags = "" ++} ++ + # This template defines a toolchain for something that works like gcc + # (including clang). + # +@@ -617,13 +622,23 @@ template("clang_toolchain") { + } + + gcc_toolchain(target_name) { +- prefix = rebase_path("$clang_base_path/bin", root_build_dir) +- cc = "$prefix/clang" +- cxx = "$prefix/clang++" +- ld = cxx +- readelf = "${toolprefix}readelf" +- ar = "${prefix}/llvm-ar" +- nm = "${toolprefix}nm" ++ if (is_bsd) { ++ prefix = "/usr/local/bin" ++ cc = "cc" ++ cxx = "c++" ++ ld = cxx ++ readelf = "readelf" ++ ar = "${prefix}/ar" ++ nm = "${toolprefix}nm" ++ } else { ++ prefix = rebase_path("$clang_base_path/bin", root_build_dir) ++ cc = "$prefix/clang" ++ cxx = "$prefix/clang++" ++ ld = cxx ++ readelf = "${toolprefix}readelf" ++ ar = "${prefix}/llvm-ar" ++ nm = "${toolprefix}nm" ++ } + + forward_variables_from(invoker, + [ Property changes on: head/devel/electron6/files/patch-build_toolchain_gcc__toolchain.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_toolchain_get__concurrent__links.py =================================================================== --- head/devel/electron6/files/patch-build_toolchain_get__concurrent__links.py (nonexistent) +++ head/devel/electron6/files/patch-build_toolchain_get__concurrent__links.py (revision 518408) @@ -0,0 +1,17 @@ +--- build/toolchain/get_concurrent_links.py.orig 2019-09-10 10:42:27 UTC ++++ build/toolchain/get_concurrent_links.py +@@ -48,6 +48,14 @@ def _GetTotalMemoryInBytes(): + return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'])) + except Exception: + return 0 ++ elif sys.platform.startswith('freebsd'): ++ try: ++ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem'])) ++ # With -fuse-lld it doesn't take a lot of ram, feel free to change that ++ # 1 * ... to needed amount ++ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB ++ except Exception: ++ return 1 + # TODO(scottmg): Implement this for other platforms. + return 0 + Property changes on: head/devel/electron6/files/patch-build_toolchain_get__concurrent__links.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-build_toolchain_linux_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-build_toolchain_linux_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-build_toolchain_linux_BUILD.gn (revision 518408) @@ -0,0 +1,10 @@ +--- build/toolchain/linux/BUILD.gn.orig 2019-09-10 10:42:27 UTC ++++ build/toolchain/linux/BUILD.gn +@@ -22,7 +22,6 @@ clang_toolchain("clang_arm") { + } + + clang_toolchain("clang_arm64") { +- toolprefix = "aarch64-linux-gnu-" + toolchain_args = { + current_cpu = "arm64" + current_os = "linux" Property changes on: head/devel/electron6/files/patch-build_toolchain_linux_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-cc_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-cc_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-cc_BUILD.gn (revision 518408) @@ -0,0 +1,21 @@ +--- cc/BUILD.gn.orig 2019-09-10 11:13:32 UTC ++++ cc/BUILD.gn +@@ -566,7 +566,7 @@ cc_test_static_library("test_support") { + if (enable_vulkan) { + deps += [ "//gpu/vulkan/init" ] + } +- if (!is_android) { ++ if (!is_android && !is_bsd) { + data_deps = [ + "//third_party/mesa_headers", + ] +@@ -767,9 +767,6 @@ cc_test("cc_unittests") { + "//ui/gfx/geometry", + "//ui/gl", + "//ui/gl:test_support", +- ] +- data_deps = [ +- "//third_party/mesa_headers", + ] + } + Property changes on: head/devel/electron6/files/patch-cc_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-cc_layers_scrollbar__layer__impl__base.cc =================================================================== --- head/devel/electron6/files/patch-cc_layers_scrollbar__layer__impl__base.cc (nonexistent) +++ head/devel/electron6/files/patch-cc_layers_scrollbar__layer__impl__base.cc (revision 518408) @@ -0,0 +1,13 @@ +--- cc/layers/scrollbar_layer_impl_base.cc.orig 2019-09-10 11:13:32 UTC ++++ cc/layers/scrollbar_layer_impl_base.cc +@@ -218,8 +218,8 @@ gfx::Rect ScrollbarLayerImplBase::ComputeThumbQuadRect + int thumb_offset = TrackStart(); + if (maximum > 0) { + float ratio = clamped_current_pos / maximum; +- float max_offset = track_length - thumb_length; +- thumb_offset += static_cast(ratio * max_offset); ++ float _max_offset = track_length - thumb_length; ++ thumb_offset += static_cast(ratio * _max_offset); + } + + float thumb_thickness_adjustment = Property changes on: head/devel/electron6/files/patch-cc_layers_scrollbar__layer__impl__base.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-cc_trees_property__tree.cc =================================================================== --- head/devel/electron6/files/patch-cc_trees_property__tree.cc (nonexistent) +++ head/devel/electron6/files/patch-cc_trees_property__tree.cc (revision 518408) @@ -0,0 +1,20 @@ +--- cc/trees/property_tree.cc.orig 2019-09-10 11:13:33 UTC ++++ cc/trees/property_tree.cc +@@ -1348,13 +1348,13 @@ gfx::ScrollOffset ScrollTree::MaxScrollOffset(int scro + + gfx::Size clip_layer_bounds = container_bounds(scroll_node->id); + +- gfx::ScrollOffset max_offset( ++ gfx::ScrollOffset _max_offset( + scaled_scroll_bounds.width() - clip_layer_bounds.width(), + scaled_scroll_bounds.height() - clip_layer_bounds.height()); + +- max_offset.Scale(1 / scale_factor); +- max_offset.SetToMax(gfx::ScrollOffset()); +- return max_offset; ++ _max_offset.Scale(1 / scale_factor); ++ _max_offset.SetToMax(gfx::ScrollOffset()); ++ return _max_offset; + } + + gfx::SizeF ScrollTree::scroll_bounds(int scroll_node_id) const { Property changes on: head/devel/electron6/files/patch-cc_trees_property__tree.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_chrome__command__ids.h =================================================================== --- head/devel/electron6/files/patch-chrome_app_chrome__command__ids.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_chrome__command__ids.h (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/app/chrome_command_ids.h.orig 2019-09-10 11:13:35 UTC ++++ chrome/app/chrome_command_ids.h +@@ -63,7 +63,7 @@ + #define IDC_VISIT_DESKTOP_OF_LRU_USER_2 34049 + #define IDC_VISIT_DESKTOP_OF_LRU_USER_3 34050 + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #define IDC_USE_SYSTEM_TITLE_BAR 34051 + #define IDC_RESTORE_WINDOW 34052 + #endif Property changes on: head/devel/electron6/files/patch-chrome_app_chrome__command__ids.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_chrome__content__browser__overlay__manifest.cc =================================================================== --- head/devel/electron6/files/patch-chrome_app_chrome__content__browser__overlay__manifest.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_chrome__content__browser__overlay__manifest.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/app/chrome_content_browser_overlay_manifest.cc.orig 2019-09-10 11:13:35 UTC ++++ chrome/app/chrome_content_browser_overlay_manifest.cc +@@ -79,7 +79,7 @@ + #include "chrome/services/app_service/public/cpp/manifest.h" + #endif + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + #include "chrome/browser/performance_manager/webui_graph_dump.mojom.h" // nogncheck + #include "chrome/browser/ui/webui/discards/discards.mojom.h" +@@ -240,7 +240,7 @@ const service_manager::Manifest& GetChromeContentBrows + #else + app_management::mojom::PageHandlerFactory, + #endif +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + mojom::DiscardsDetailsProvider, + performance_manager::mojom::WebUIGraphDump, Property changes on: head/devel/electron6/files/patch-chrome_app_chrome__content__browser__overlay__manifest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_chrome__main.cc =================================================================== --- head/devel/electron6/files/patch-chrome_app_chrome__main.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_chrome__main.cc (revision 518408) @@ -0,0 +1,16 @@ +--- chrome/app/chrome_main.cc.orig 2019-09-10 11:13:35 UTC ++++ chrome/app/chrome_main.cc +@@ -94,11 +94,11 @@ int ChromeMain(int argc, const char** argv) { + #endif + + // Chrome-specific process modes. +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + if (command_line->HasSwitch(switches::kHeadless)) { + return headless::HeadlessShellMain(params); + } +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + + int rv = content::ContentMain(params); + Property changes on: head/devel/electron6/files/patch-chrome_app_chrome__main.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_chrome__main__delegate.cc =================================================================== --- head/devel/electron6/files/patch-chrome_app_chrome__main__delegate.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_chrome__main__delegate.cc (revision 518408) @@ -0,0 +1,137 @@ +--- chrome/app/chrome_main_delegate.cc.orig 2019-09-10 11:13:35 UTC ++++ chrome/app/chrome_main_delegate.cc +@@ -100,7 +100,7 @@ + #include "chrome/app/shutdown_signal_handlers_posix.h" + #endif + +-#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) ++#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD) + #include "components/nacl/common/nacl_paths.h" + #include "components/nacl/zygote/nacl_fork_delegate_linux.h" + #endif +@@ -137,7 +137,7 @@ + #include "v8/include/v8.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/environment.h" + #endif + +@@ -241,7 +241,7 @@ bool UseHooks() { + + #endif // defined(OS_WIN) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + void AdjustLinuxOOMScore(const std::string& process_type) { + // Browsers and zygotes should still be killable, but killed last. + const int kZygoteScore = 0; +@@ -300,7 +300,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty + if (score > -1) + base::AdjustOOMScore(base::GetCurrentProcId(), score); + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) && !defined(OS_BSD) + + // Returns true if this subprocess type needs the ResourceBundle initialized + // and resources loaded. +@@ -345,7 +345,7 @@ bool HandleVersionSwitches(const base::CommandLine& co + return false; + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Show the man page if --help or -h is on the command line. + void HandleHelpSwitches(const base::CommandLine& command_line) { + if (command_line.HasSwitch(switches::kHelp) || +@@ -355,7 +355,7 @@ void HandleHelpSwitches(const base::CommandLine& comma + PLOG(FATAL) << "execlp failed"; + } + } +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + #if !defined(OS_MACOSX) && !defined(OS_ANDROID) + void SIGTERMProfilingShutdown(int signal) { +@@ -409,7 +409,7 @@ void InitializeUserDataDir(base::CommandLine* command_ + std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, Chrome does not support running multiple copies under different + // DISPLAYs, so the profile directory can be specified in the environment to + // support the virtual desktop use-case. +@@ -421,7 +421,7 @@ void InitializeUserDataDir(base::CommandLine* command_ + user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string); + } + } +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + #if defined(OS_MACOSX) + policy::path_parser::CheckUserDataDirPolicy(&user_data_dir); + #endif // OS_MAC +@@ -478,7 +478,7 @@ void InitLogging(const std::string& process_type) { + void RecordMainStartupMetrics(base::TimeTicks exe_entry_point_ticks) { + if (!exe_entry_point_ticks.is_null()) + startup_metric_utils::RecordExeMainEntryPointTicks(exe_entry_point_ticks); +-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + // Record the startup process creation time on supported platforms. + startup_metric_utils::RecordStartupProcessCreationTime( + base::Process::Current().CreationTime()); +@@ -650,7 +650,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi + *exit_code = 0; + return true; // Got a --version switch; exit with a success error code. + } +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // This will directly exit if the user asked for help. + HandleHelpSwitches(command_line); + #endif +@@ -674,7 +674,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi + #if defined(OS_CHROMEOS) + chromeos::RegisterPathProvider(); + #endif +-#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) ++#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD) + nacl::RegisterPathProvider(); + #endif + +@@ -868,7 +868,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + #if defined(OS_WIN) + child_process_logging::Init(); + #endif +-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + // Create an instance of the CPU class to parse /proc/cpuinfo and cache + // cpu_brand info. + base::CPU cpu_info; +@@ -996,7 +996,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + InitializePDF(); + #endif + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + // Zygote needs to call InitCrashReporter() in RunZygote(). + if (process_type != service_manager::switches::kZygoteProcess) { + #if defined(OS_ANDROID) +@@ -1011,7 +1011,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + breakpad::InitCrashReporter(process_type); + #endif // defined(OS_ANDROID) + } +-#endif // defined(OS_POSIX) && !defined(OS_MACOSX) ++#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + + // After all the platform Breakpads have been initialized, store the command + // line for crash reporting. +@@ -1021,7 +1021,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + void ChromeMainDelegate::SandboxInitialized(const std::string& process_type) { + // Note: If you are adding a new process type below, be sure to adjust the + // AdjustLinuxOOMScore function too. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + AdjustLinuxOOMScore(process_type); + #endif + #if defined(OS_WIN) Property changes on: head/devel/electron6/files/patch-chrome_app_chrome__main__delegate.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_chromium__strings.grd =================================================================== --- head/devel/electron6/files/patch-chrome_app_chromium__strings.grd (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_chromium__strings.grd (revision 518408) @@ -0,0 +1,29 @@ +--- chrome/app/chromium_strings.grd.orig 2019-09-10 11:13:35 UTC ++++ chrome/app/chromium_strings.grd +@@ -690,7 +690,7 @@ Signing in anyway will merge Chromium information like + + + +- ++ + + Your system administrator has configured Chromium to open an alternative browser to access $1example.com. + +@@ -815,7 +815,7 @@ Signing in anyway will merge Chromium information like + + + +- ++ + + The profile appears to be in use by another Chromium process ($112345) on another computer ($2example.com). Chromium has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium. + +@@ -1074,7 +1074,7 @@ Please check your email at $2 + + + +- ++ + + Restart Chromium to enable $1Flash + Property changes on: head/devel/electron6/files/patch-chrome_app_chromium__strings.grd ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_generated__resources.grd =================================================================== --- head/devel/electron6/files/patch-chrome_app_generated__resources.grd (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_generated__resources.grd (revision 518408) @@ -0,0 +1,29 @@ +--- chrome/app/generated_resources.grd.orig 2019-09-10 11:13:35 UTC ++++ chrome/app/generated_resources.grd +@@ -4805,7 +4805,7 @@ Keep your key file in a safe place. You will need it t + + + +- ++ + + Legacy Browser Support + +@@ -6370,7 +6370,7 @@ the Bookmarks menu."> + Google Pay + + +- ++ + + Use system title bar and borders + +@@ -7223,7 +7223,7 @@ Please help our engineers fix this problem. Tell us wh + Set as default + + +- ++ + + Minimize + Property changes on: head/devel/electron6/files/patch-chrome_app_generated__resources.grd ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_google__chrome__strings.grd =================================================================== --- head/devel/electron6/files/patch-chrome_app_google__chrome__strings.grd (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_google__chrome__strings.grd (revision 518408) @@ -0,0 +1,29 @@ +--- chrome/app/google_chrome_strings.grd.orig 2019-09-10 11:13:35 UTC ++++ chrome/app/google_chrome_strings.grd +@@ -702,7 +702,7 @@ Signing in anyway will merge Chrome information like b + + + +- ++ + + Your system administrator has configured Google Chrome to open an alternative browser to access $1example.com. + +@@ -827,7 +827,7 @@ Signing in anyway will merge Chrome information like b + + + +- ++ + + The profile appears to be in use by another Google Chrome process ($112345) on another computer ($2example.com). Chrome has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chrome. + +@@ -1093,7 +1093,7 @@ Please check your email at $2 + + + +- ++ + + Restart Chrome to enable $1Flash + Property changes on: head/devel/electron6/files/patch-chrome_app_google__chrome__strings.grd ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_settings__strings.grdp =================================================================== --- head/devel/electron6/files/patch-chrome_app_settings__strings.grdp (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_settings__strings.grdp (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/app/settings_strings.grdp.orig 2019-09-10 11:13:37 UTC ++++ chrome/app/settings_strings.grdp +@@ -653,7 +653,7 @@ + Themes + + +- ++ + + GTK+ + +@@ -667,7 +667,7 @@ + Use Classic + + +- ++ + + Reset to default + Property changes on: head/devel/electron6/files/patch-chrome_app_settings__strings.grdp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_shutdown__signal__handlers__posix.cc =================================================================== --- head/devel/electron6/files/patch-chrome_app_shutdown__signal__handlers__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_shutdown__signal__handlers__posix.cc (revision 518408) @@ -0,0 +1,21 @@ +--- chrome/app/shutdown_signal_handlers_posix.cc.orig 2019-09-10 10:42:28 UTC ++++ chrome/app/shutdown_signal_handlers_posix.cc +@@ -186,12 +186,18 @@ void InstallShutdownSignalHandlers( + g_pipe_pid = getpid(); + g_shutdown_pipe_read_fd = pipefd[0]; + g_shutdown_pipe_write_fd = pipefd[1]; ++#if defined(OS_BSD) ++ // PTHREAD_STACK_MIN causes chromium to crash under FreeBSD, ++ // we request the default pthread stack size by specifying 0 here. ++ const size_t kShutdownDetectorThreadStackSize = 0; ++#else + #if !defined(ADDRESS_SANITIZER) + const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; + #else + // ASan instrumentation bloats the stack frames, so we need to increase the + // stack size to avoid hitting the guard page. + const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; ++#endif + #endif + ShutdownDetector* detector = new ShutdownDetector( + g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner); Property changes on: head/devel/electron6/files/patch-chrome_app_shutdown__signal__handlers__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_app_theme_chrome__unscaled__resources.grd =================================================================== --- head/devel/electron6/files/patch-chrome_app_theme_chrome__unscaled__resources.grd (nonexistent) +++ head/devel/electron6/files/patch-chrome_app_theme_chrome__unscaled__resources.grd (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/app/theme/chrome_unscaled_resources.grd.orig 2019-09-10 11:13:37 UTC ++++ chrome/app/theme/chrome_unscaled_resources.grd +@@ -18,7 +18,7 @@ + + + +- ++ + + + +@@ -100,7 +100,7 @@ + + + +- ++ + + + Property changes on: head/devel/electron6/files/patch-chrome_app_theme_chrome__unscaled__resources.grd ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_about__flags.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_about__flags.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_about__flags.cc (revision 518408) @@ -0,0 +1,183 @@ +--- chrome/browser/about_flags.cc.orig 2019-09-10 11:13:37 UTC ++++ chrome/browser/about_flags.cc +@@ -621,7 +621,7 @@ const FeatureEntry::FeatureVariation + nullptr}}; + #endif // OS_ANDROID + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + const FeatureEntry::FeatureParam + kAutofillSaveCreditCardUsesImprovedMessagingStoreCard[] = { + {autofill::features:: +@@ -668,7 +668,7 @@ const FeatureEntry::FeatureVariation + kAutofillSaveCreditCardUsesImprovedMessagingConfirmAndSaveCard), + nullptr}, + }; +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + const FeatureEntry::Choice kMemlogModeChoices[] = { + {flags_ui::kGenericExperimentChoiceDisabled, "", ""}, +@@ -776,7 +776,7 @@ const FeatureEntry::FeatureVariation kOmniboxMaxURLMat + {"6 matches", kOmniboxMaxURLMatches6, base::size(kOmniboxMaxURLMatches6), + nullptr}}; + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || \ ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + const FeatureEntry::FeatureParam kTranslateBubbleUIButton[] = { + {language::kTranslateUIBubbleKey, language::kTranslateUIBubbleButtonValue}}; +@@ -792,7 +792,7 @@ const FeatureEntry::FeatureVariation kTranslateBubbleU + {"Tab", kTranslateBubbleUITab, base::size(kTranslateBubbleUITab), nullptr}, + {"Button_GM2", kTranslateBubbleUIButtonGM2, + base::size(kTranslateBubbleUIButton), nullptr}}; +-#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS ++#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_BSD || OS_CHROMEOS + + const FeatureEntry::FeatureParam kOmniboxUIVerticalMargin0px[] = { + {OmniboxFieldTrial::kUIVerticalMarginParam, "0"}}; +@@ -1567,13 +1567,13 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kCloudPrintXpsDescription, kOsWin, + SINGLE_VALUE_TYPE(switches::kEnableCloudPrintXps)}, + #endif // OS_WIN +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + {"enable-webgl2-compute-context", + flag_descriptions::kWebGL2ComputeContextName, + flag_descriptions::kWebGL2ComputeContextDescription, + kOsWin | kOsLinux | kOsCrOS, + SINGLE_VALUE_TYPE(switches::kEnableWebGL2ComputeContext)}, +-#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + {"enable-webgl-draft-extensions", + flag_descriptions::kWebglDraftExtensionsName, + flag_descriptions::kWebglDraftExtensionsDescription, kOsAll, +@@ -1614,14 +1614,14 @@ const FeatureEntry kFeatureEntries[] = { + "OverrideTranslateTriggerInIndia")}, + #endif // OS_ANDROID + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || \ ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + {"translate-ui-bubble-options", flag_descriptions::kTranslateBubbleUIName, + flag_descriptions::kTranslateBubbleUIDescription, kOsDesktop, + FEATURE_WITH_PARAMS_VALUE_TYPE(language::kUseButtonTranslateBubbleUI, + kTranslateBubbleUIVariations, + "UseButtonTranslateBubbleUI")}, +-#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS ++#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_BSD || OS_CHROMEOS + + #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) && !defined(OS_CHROMEOS) + {"enable-native-notifications", +@@ -1762,7 +1762,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE( + previews::features::kHTTPSServerPreviewsUsingURLLoader)}, + #endif // OS_ANDROID +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + {"enable-save-data", flag_descriptions::kEnableSaveDataName, + flag_descriptions::kEnableSaveDataDescription, kOsCrOS, + SINGLE_VALUE_TYPE( +@@ -2091,12 +2091,12 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(chrome::android::kAndroidNightMode)}, + #endif // BUILDFLAG(ENABLE_ANDROID_NIGHT_MODE) + #endif // OS_ANDROID +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + {"passwords-migrate-linux-to-login-db", + flag_descriptions::kPasswordsMigrateLinuxToLoginDBName, + flag_descriptions::kPasswordsMigrateLinuxToLoginDBDescription, kOsLinux, + FEATURE_VALUE_TYPE(password_manager::features::kMigrateLinuxToLoginDB)}, +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + {"enable-experimental-accessibility-features", + flag_descriptions::kExperimentalAccessibilityFeaturesName, + flag_descriptions::kExperimentalAccessibilityFeaturesDescription, kOsCrOS, +@@ -2423,7 +2423,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kOmniboxLocalEntitySuggestionsDescription, kOsDesktop, + FEATURE_VALUE_TYPE(omnibox::kOmniboxLocalEntitySuggestions)}, + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + {"omnibox-experimental-keyword-mode", + flag_descriptions::kOmniboxExperimentalKeywordModeName, + flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop, +@@ -2470,7 +2470,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kOmniboxDeduplicateDriveUrlsName, + flag_descriptions::kOmniboxDeduplicateDriveUrlsDescription, kOsDesktop, + FEATURE_VALUE_TYPE(omnibox::kDedupeGoogleDriveURLs)}, +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + + {"enable-speculative-service-worker-start-on-query-input", + flag_descriptions::kSpeculativeServiceWorkerStartOnQueryInputName, +@@ -2696,7 +2696,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kClickToOpenPDFDescription, kOsAll, + FEATURE_VALUE_TYPE(features::kClickToOpenPDFPlaceholder)}, + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + {"direct-manipulation-stylus", + flag_descriptions::kDirectManipulationStylusName, + flag_descriptions::kDirectManipulationStylusDescription, +@@ -2707,7 +2707,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kShowManagedUiDescription, + kOsWin | kOsMac | kOsLinux | kOsCrOS, + FEATURE_VALUE_TYPE(features::kShowManagedUi)}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if !defined(OS_ANDROID) + {"chrome-colors", flag_descriptions::kChromeColorsName, +@@ -3514,7 +3514,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kForceEnableSystemAec)}, + #endif // defined(OS_MACOSX) || defined(OS_CHROMEOS) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + {"autofill-always-show-server-cards-in-sync-transport", + flag_descriptions::kAutofillAlwaysShowServerCardsInSyncTransportName, + flag_descriptions:: +@@ -3522,7 +3522,7 @@ const FeatureEntry kFeatureEntries[] = { + kOsMac | kOsWin | kOsLinux, + FEATURE_VALUE_TYPE( + autofill::features::kAutofillAlwaysShowServerCardsInSyncTransport)}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if BUILDFLAG(ENABLE_PRINT_PREVIEW) && defined(OS_MACOSX) + {"enable-custom-mac-paper-sizes", +@@ -3562,13 +3562,13 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kCrostiniAppSearch)}, + #endif // OS_CHROMEOS + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + {"autofill-settings-split-by-card-type", + flag_descriptions::kAutofillSettingsSplitByCardTypeName, + flag_descriptions::kAutofillSettingsSplitByCardTypeDescription, + kOsMac | kOsWin | kOsLinux, + FEATURE_VALUE_TYPE(autofill::features::kAutofillSettingsCardTypeSplit)}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if !defined(OS_ANDROID) + {"hardware-media-key-handling", +@@ -3895,7 +3895,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kAudioWorkletRealtimeThreadDescription, kOsAll, + FEATURE_VALUE_TYPE(blink::features::kAudioWorkletRealtimeThread)}, + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + {"enable-autofill-save-credit-card-uses-improved-messaging", + flag_descriptions::kEnableAutofillSaveCreditCardUsesImprovedMessagingName, + flag_descriptions:: +@@ -3905,7 +3905,7 @@ const FeatureEntry kFeatureEntries[] = { + autofill::features::kAutofillSaveCreditCardUsesImprovedMessaging, + kAutofillSaveCreditCardUsesImprovedMessagingVariations, + "AutofillSaveCreditCardUsesImprovedMessaging")}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_CHROMEOS) + {"smart-dim-model-v3", flag_descriptions::kSmartDimModelV3Name, Property changes on: head/devel/electron6/files/patch-chrome_browser_about__flags.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_after__startup__task__utils.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_after__startup__task__utils.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_after__startup__task__utils.cc (revision 518408) @@ -0,0 +1,38 @@ +--- chrome/browser/after_startup_task_utils.cc.orig 2019-09-10 11:13:37 UTC ++++ chrome/browser/after_startup_task_utils.cc +@@ -32,7 +32,7 @@ + #include "chrome/browser/ui/tabs/tab_strip_model.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "ui/views/linux_ui/linux_ui.h" + #endif + +@@ -118,7 +118,7 @@ void QueueTask(std::unique_ptr queue + + void SetBrowserStartupIsComplete() { + DCHECK_CURRENTLY_ON(BrowserThread::UI); +-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + // Process::Current().CreationTime() is not available on all platforms. + const base::Time process_creation_time = + base::Process::Current().CreationTime(); +@@ -126,7 +126,7 @@ void SetBrowserStartupIsComplete() { + UMA_HISTOGRAM_LONG_TIMES("Startup.AfterStartupTaskDelayedUntilTime", + base::Time::Now() - process_creation_time); + } +-#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + UMA_HISTOGRAM_COUNTS_10000("Startup.AfterStartupTaskCount", + g_after_startup_tasks.Get().size()); + g_startup_complete_flag.Get().Set(); +@@ -135,7 +135,7 @@ void SetBrowserStartupIsComplete() { + g_after_startup_tasks.Get().clear(); + g_after_startup_tasks.Get().shrink_to_fit(); + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Make sure we complete the startup notification sequence, or launchers will + // get confused by not receiving the expected message from the main process. + views::LinuxUI* linux_ui = views::LinuxUI::instance(); Property changes on: head/devel/electron6/files/patch-chrome_browser_after__startup__task__utils.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc (revision 518408) @@ -0,0 +1,70 @@ +--- chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc +@@ -4,6 +4,11 @@ + + #include "chrome/browser/apps/platform_apps/api/music_manager_private/device_id.h" + ++#if defined(OS_FREEBSD) ++#include ++#include ++#endif ++ + #include + #include + #include +@@ -106,9 +111,36 @@ class MacAddressProcessor { + const char* const prefixes[], + size_t prefixes_count) { + const int MAC_LENGTH = 6; ++#if defined(OS_FREEBSD) ++ struct ifaddrs *ifap, *ifinfo; ++#else + struct ifreq ifinfo; ++#endif + + memset(&ifinfo, 0, sizeof(ifinfo)); ++ ++#if defined(OS_FREEBSD) ++ int result = getifaddrs(&ifap); ++ ++ if (result != 0) ++ return true; ++ ++ result = 1; // no MAC found yet ++ ++ for (ifinfo = ifap; ifinfo != NULL; ifinfo = ifinfo->ifa_next) { ++ struct sockaddr* sa = ifinfo->ifa_addr; ++ if (sa->sa_family == AF_LINK && ++ !strncmp(ifinfo->ifa_name, ifaddr->ifa_name, ++ sizeof(ifinfo->ifa_name) - 1)) { ++ result = 0; ++ break; ++ } ++ } ++ ++ char mac_address[6]; ++ ++ strncpy(mac_address, (const char*)LLADDR((struct sockaddr_dl*)ifinfo->ifa_addr), sizeof(mac_address)); ++#else + strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1); + + int sd = socket(AF_INET, SOCK_DGRAM, 0); +@@ -120,11 +152,18 @@ class MacAddressProcessor { + + const char* mac_address = + static_cast(ifinfo.ifr_hwaddr.sa_data); ++#endif ++ + if (!is_valid_mac_address_.Run(mac_address, MAC_LENGTH)) + return true; + ++#if defined(OS_FREEBSD) ++ if (!IsValidPrefix(ifinfo->ifa_name, prefixes, prefixes_count)) ++ return true; ++#else + if (!IsValidPrefix(ifinfo.ifr_name, prefixes, prefixes_count)) + return true; ++#endif + + // Got one! + found_mac_address_ = Property changes on: head/devel/electron6/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc (revision 518408) @@ -0,0 +1,17 @@ +--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc +@@ -59,12 +59,12 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch + return metrics::OmniboxInputType::QUERY; + + case ExternalProtocolHandler::UNKNOWN: { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Linux impl of GetApplicationNameForProtocol doesn't distinguish + // between URL schemes with handers and those without. This will + // make the default behaviour be search on Linux. + return metrics::OmniboxInputType::INVALID; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + // If block state is unknown, check if there is an application registered + // for the url scheme. + GURL url(scheme + "://"); Property changes on: head/devel/electron6/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_background_background__mode__optimizer.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_background_background__mode__optimizer.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_background_background__mode__optimizer.cc (revision 518408) @@ -0,0 +1,15 @@ +--- chrome/browser/background/background_mode_optimizer.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/background/background_mode_optimizer.cc +@@ -30,10 +30,10 @@ std::unique_ptr BackgroundMod + switches::kKeepAliveForTest)) + return nullptr; + +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart)) + return base::WrapUnique(new BackgroundModeOptimizer()); +-#endif // defined(OS_WIN) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + + return nullptr; + } Property changes on: head/devel/electron6/files/patch-chrome_browser_background_background__mode__optimizer.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_browser__resources.grd =================================================================== --- head/devel/electron6/files/patch-chrome_browser_browser__resources.grd (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_browser__resources.grd (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/browser_resources.grd.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/browser_resources.grd +@@ -77,7 +77,7 @@ + + + +- ++ + + + +@@ -666,7 +666,7 @@ + + + +- ++ + + + Property changes on: head/devel/electron6/files/patch-chrome_browser_browser__resources.grd ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_chrome__browser__main.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_chrome__browser__main.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_chrome__browser__main.cc (revision 518408) @@ -0,0 +1,75 @@ +--- chrome/browser/chrome_browser_main.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/chrome_browser_main.cc +@@ -220,9 +220,9 @@ + #include "components/arc/metrics/stability_metrics_manager.h" + #endif // defined(OS_CHROMEOS) + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include "chrome/browser/first_run/upgrade_util_linux.h" +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + + #if defined(OS_LINUX) + #include "components/crash/content/app/breakpad_linux.h" +@@ -260,7 +260,7 @@ + #endif // defined(OS_WIN) + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)) + #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h" + #include "chrome/browser/profiles/profile_activity_metrics_recorder.h" + #endif +@@ -1079,7 +1079,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs); + } + +-#if defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + // Create directory for user-level Native Messaging manifest files. This + // makes it less likely that the directory will be created by third-party + // software with incorrect owner or permission. See crbug.com/725513 . +@@ -1088,14 +1088,14 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + &user_native_messaging_dir)); + if (!base::PathExists(user_native_messaging_dir)) + base::CreateDirectory(user_native_messaging_dir); +-#endif // defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + } + #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS) + +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) + // Set the product channel for crash reports. + breakpad::SetChannelCrashKey(chrome::GetChannelName()); +-#endif // defined(OS_LINUX) || defined(OS_OPENBSD) ++#endif // defined(OS_LINUX) + + #if defined(OS_MACOSX) + // Get the Keychain API to register for distributed notifications on the main +@@ -1125,7 +1125,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + } + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)) + metrics::DesktopSessionDurationTracker::Initialize(); + ProfileActivityMetricsRecorder::Initialize(); + #endif +@@ -1291,6 +1291,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { + base::TimeDelta::FromMinutes(1)); + + #if !defined(OS_ANDROID) ++#if !defined(OS_BSD) + if (base::FeatureList::IsEnabled(features::kWebUsb)) { + web_usb_detector_.reset(new WebUsbDetector()); + BrowserThread::PostAfterStartupTask( +@@ -1299,6 +1300,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { + base::BindOnce(&WebUsbDetector::Initialize, + base::Unretained(web_usb_detector_.get()))); + } ++#endif + if (base::FeatureList::IsEnabled(features::kTabMetricsLogging)) { + // Initialize the TabActivityWatcher to begin logging tab activity events. + resource_coordinator::TabActivityWatcher::GetInstance(); Property changes on: head/devel/electron6/files/patch-chrome_browser_chrome__browser__main.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_chrome__browser__main__linux.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_chrome__browser__main__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_chrome__browser__main__linux.cc (revision 518408) @@ -0,0 +1,27 @@ +--- chrome/browser/chrome_browser_main_linux.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/chrome_browser_main_linux.cc +@@ -90,12 +90,14 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() { + void ChromeBrowserMainPartsLinux::PostProfileInit() { + ChromeBrowserMainPartsPosix::PostProfileInit(); + ++#if !defined(OS_BSD) + g_browser_process->metrics_service()->RecordBreakpadRegistration( + breakpad::IsCrashReporterEnabled()); ++#endif + } + + void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() { +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + bluez::BluezDBusManager::Initialize(nullptr /* system_bus */); + #endif + +@@ -103,7 +105,7 @@ void ChromeBrowserMainPartsLinux::PostMainMessageLoopS + } + + void ChromeBrowserMainPartsLinux::PostDestroyThreads() { +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + bluez::BluezDBusManager::Shutdown(); + bluez::BluezDBusThreadManager::Shutdown(); + #endif Property changes on: head/devel/electron6/files/patch-chrome_browser_chrome__browser__main__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_chrome__browser__main__posix.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_chrome__browser__main__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_chrome__browser__main__posix.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/chrome_browser_main_posix.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/chrome_browser_main_posix.cc +@@ -70,7 +70,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa + // ExitHandler takes care of deleting itself. + new ExitHandler(); + } else { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + switch (signal) { + case SIGINT: + case SIGHUP: +@@ -166,7 +166,7 @@ void ChromeBrowserMainPartsPosix::PostMainMessageLoopS + void ChromeBrowserMainPartsPosix::ShowMissingLocaleMessageBox() { + #if defined(OS_CHROMEOS) + NOTREACHED(); // Should not ever happen on ChromeOS. +-#elif defined(OS_MACOSX) ++#elif defined(OS_MACOSX) || defined(OS_BSD) + // Not called on Mac because we load the locale files differently. + NOTREACHED(); + #elif defined(USE_AURA) Property changes on: head/devel/electron6/files/patch-chrome_browser_chrome__browser__main__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_chrome__content__browser__client.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_chrome__content__browser__client.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_chrome__content__browser__client.cc (revision 518408) @@ -0,0 +1,92 @@ +--- chrome/browser/chrome_content_browser_client.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/chrome_content_browser_client.cc +@@ -429,7 +429,7 @@ + #include "chromeos/services/secure_channel/secure_channel_service.h" + #include "components/user_manager/user_manager.h" + #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/chrome_browser_main_linux.h" + #elif defined(OS_ANDROID) + #include "base/android/application_status_listener.h" +@@ -484,7 +484,7 @@ + #endif // !defined(OS_ANDROID) + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h" + #endif + +@@ -510,7 +510,7 @@ + #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #if defined(USE_X11) + #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux_x11.h" + #else +@@ -1250,7 +1250,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( + #elif defined(OS_CHROMEOS) + main_parts = std::make_unique( + parameters, startup_data_); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + main_parts = + std::make_unique(parameters, startup_data_); + #elif defined(OS_ANDROID) +@@ -1276,7 +1276,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( + // Construct additional browser parts. Stages are called in the order in + // which they are added. + #if defined(TOOLKIT_VIEWS) +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #if defined(USE_X11) + main_parts->AddParts(new ChromeBrowserMainExtraPartsViewsLinuxX11()); + #else +@@ -2093,7 +2093,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + command_line->AppendSwitchASCII(switches::kMetricsClientID, + client_info->client_id); + } +-#elif defined(OS_POSIX) ++#elif defined(OS_POSIX) && !defined(OS_BSD) + #if defined(OS_ANDROID) + bool enable_crash_reporter = true; + #else +@@ -2318,7 +2318,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + process_type, + command_line); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Processes may only query perf_event_open with the BPF sandbox disabled. + if (browser_command_line.HasSwitch(switches::kEnableThreadInstructionCount) && + command_line->HasSwitch(service_manager::switches::kNoSandbox)) { +@@ -3660,7 +3660,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst + } + } + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, +@@ -4362,7 +4362,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati + } + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + std::unique_ptr browser_switcher_throttle = + browser_switcher::BrowserSwitcherNavigationThrottle :: + MaybeCreateThrottleFor(handle); +@@ -5205,7 +5205,7 @@ bool ChromeContentBrowserClient::HandleExternalProtoco + std::unique_ptr + ChromeContentBrowserClient::CreateWindowForPictureInPicture( + content::PictureInPictureWindowController* controller) { +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + // Note: content::OverlayWindow::Create() is defined by platform-specific + // implementation in chrome/browser/ui/views. This layering hack, which goes Property changes on: head/devel/electron6/files/patch-chrome_browser_chrome__content__browser__client.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_chrome__content__browser__client.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_chrome__content__browser__client.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_chrome__content__browser__client.h (revision 518408) @@ -0,0 +1,17 @@ +--- chrome/browser/chrome_content_browser_client.h.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/chrome_content_browser_client.h +@@ -380,12 +380,12 @@ class ChromeContentBrowserClient : public content::Con + void OverridePageVisibilityState( + content::RenderFrameHost* render_frame_host, + content::PageVisibilityState* visibility_state) override; +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + void GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, + content::PosixFileDescriptorInfo* mappings) override; +-#endif // defined(OS_POSIX) && !defined(OS_MACOSX) ++#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + #if defined(OS_WIN) + bool PreSpawnRenderer(sandbox::TargetPolicy* policy) override; + base::string16 GetAppContainerSidForSandboxType( Property changes on: head/devel/electron6/files/patch-chrome_browser_chrome__content__browser__client.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/custom_handlers/protocol_handler_registry.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/custom_handlers/protocol_handler_registry.cc +@@ -48,7 +48,7 @@ const ProtocolHandler& LookupHandler( + // If true default protocol handlers will be removed if the OS level + // registration for a protocol is no longer Chrome. + bool ShouldRemoveHandlersNotInOS() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // We don't do this on Linux as the OS registration there is not reliable, + // and Chrome OS doesn't have any notion of OS registration. + // TODO(benwells): When Linux support is more reliable remove this Property changes on: head/devel/electron6/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_defaults.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_defaults.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_defaults.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/defaults.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/defaults.cc +@@ -43,7 +43,7 @@ const bool kSyncAutoStarts = true; + const bool kSyncAutoStarts = false; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + const bool kScrollEventChangesTab = true; + #else + const bool kScrollEventChangesTab = false; Property changes on: head/devel/electron6/files/patch-chrome_browser_defaults.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/devtools/devtools_eye_dropper.cc +@@ -164,7 +164,7 @@ void DevToolsEyeDropper::UpdateCursor() { + // magnified projection only with centered hotspot. + // Mac Retina requires cursor to be > 120px in order to render smoothly. + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const float kCursorSize = 63; + const float kDiameter = 63; + const float kHotspotOffset = 32; Property changes on: head/devel/electron6/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_diagnostics_diagnostics__writer.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_diagnostics_diagnostics__writer.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_diagnostics_diagnostics__writer.h (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/diagnostics/diagnostics_writer.h +@@ -15,6 +15,8 @@ namespace diagnostics { + // Console base class used internally. + class SimpleConsole; + ++#undef MACHINE ++ + class DiagnosticsWriter : public DiagnosticsModel::Observer { + public: + // The type of formatting done by this writer. Property changes on: head/devel/electron6/files/patch-chrome_browser_diagnostics_diagnostics__writer.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2019-09-10 11:13:38 UTC ++++ chrome/browser/download/chrome_download_manager_delegate.cc +@@ -1237,7 +1237,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe + target_info->is_filetype_handled_safely) + DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (item->GetOriginalMimeType() == "application/x-x509-user-cert") + DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); + #endif +@@ -1267,7 +1267,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe + + bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile( + const base::FilePath& path) { +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) { + return !download_prefs_->ShouldOpenPdfInSystemReader(); + } Property changes on: head/devel/electron6/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_download__commands.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_download__commands.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_download__commands.cc (revision 518408) @@ -0,0 +1,35 @@ +--- chrome/browser/download/download_commands.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/download/download_commands.cc +@@ -30,7 +30,7 @@ + #include "net/base/url_util.h" + #include "ui/base/clipboard/scoped_clipboard_writer.h" + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + #include "chrome/browser/ui/browser.h" + #include "chrome/browser/ui/browser_finder.h" + #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" +@@ -157,7 +157,7 @@ void DownloadCommands::ExecuteCommand(Command command) + model_->ExecuteCommand(this, command); + } + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + Browser* DownloadCommands::GetBrowser() const { + chrome::ScopedTabbedBrowserDisplayer browser_displayer(model_->profile()); +@@ -180,12 +180,12 @@ bool DownloadCommands::CanOpenPdfInSystemViewer() cons + return IsDownloadPdf() && + (IsAdobeReaderDefaultPDFViewer() ? is_adobe_pdf_reader_up_to_date + : true); +-#elif defined(OS_MACOSX) || defined(OS_LINUX) ++#elif defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + return IsDownloadPdf(); + #endif + } + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + void DownloadCommands::CopyFileAsImageToClipboard() { + if (model_->GetState() != download::DownloadItem::COMPLETE || Property changes on: head/devel/electron6/files/patch-chrome_browser_download_download__commands.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_download__commands.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_download__commands.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_download__commands.h (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/download/download_commands.h.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/download/download_commands.h +@@ -45,7 +45,7 @@ class DownloadCommands { + bool IsCommandVisible(Command command) const; + void ExecuteCommand(Command command); + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + bool IsDownloadPdf() const; + bool CanOpenPdfInSystemViewer() const; + Browser* GetBrowser() const; Property changes on: head/devel/electron6/files/patch-chrome_browser_download_download__commands.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_download__item__model.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_download__item__model.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_download__item__model.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_item_model.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/download/download_item_model.cc +@@ -560,7 +560,7 @@ bool DownloadItemModel::IsCommandChecked( + return download_->GetOpenWhenComplete() || + download_crx_util::IsExtensionDownload(*download_); + case DownloadCommands::ALWAYS_OPEN_TYPE: +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (download_commands->CanOpenPdfInSystemViewer()) { + DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); + return prefs->ShouldOpenPdfInSystemReader(); +@@ -597,7 +597,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand + bool is_checked = IsCommandChecked(download_commands, + DownloadCommands::ALWAYS_OPEN_TYPE); + DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (download_commands->CanOpenPdfInSystemViewer()) { + prefs->SetShouldOpenPdfInSystemReader(!is_checked); + SetShouldPreferOpeningInBrowser(is_checked); Property changes on: head/devel/electron6/files/patch-chrome_browser_download_download__item__model.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_download__prefs.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_download__prefs.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_download__prefs.cc (revision 518408) @@ -0,0 +1,65 @@ +--- chrome/browser/download/download_prefs.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/download/download_prefs.cc +@@ -62,7 +62,7 @@ namespace { + // Consider downloads 'dangerous' if they go to the home directory on Linux and + // to the desktop on any platform. + bool DownloadPathIsDangerous(const base::FilePath& download_path) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::FilePath home_dir = base::GetHomeDir(); + if (download_path == home_dir) { + return true; +@@ -155,7 +155,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi + GetDefaultDownloadDirectoryForProfile())); + #endif // defined(OS_CHROMEOS) + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + should_open_pdf_in_system_reader_ = + prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); + #endif +@@ -257,7 +257,7 @@ void DownloadPrefs::RegisterProfilePrefs( + default_download_path); + registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, + default_download_path); +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); + #endif + #if defined(OS_ANDROID) +@@ -354,7 +354,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const { + } + + bool DownloadPrefs::IsAutoOpenUsed() const { +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (ShouldOpenPdfInSystemReader()) + return true; + #endif +@@ -368,7 +368,7 @@ bool DownloadPrefs::IsAutoOpenEnabledBasedOnExtension( + return false; + DCHECK(extension[0] == base::FilePath::kExtensionSeparator); + extension.erase(0, 1); +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (base::FilePath::CompareEqualIgnoreCase(extension, + FILE_PATH_LITERAL("pdf")) && + ShouldOpenPdfInSystemReader()) +@@ -405,7 +405,7 @@ void DownloadPrefs::DisableAutoOpenBasedOnExtension( + SaveAutoOpenState(); + } + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { + if (should_open_pdf_in_system_reader_ == should_open) + return; +@@ -426,7 +426,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons + #endif + + void DownloadPrefs::ResetAutoOpen() { +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + SetShouldOpenPdfInSystemReader(false); + #endif + auto_open_.clear(); Property changes on: head/devel/electron6/files/patch-chrome_browser_download_download__prefs.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_download__prefs.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_download__prefs.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_download__prefs.h (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_prefs.h.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/download/download_prefs.h +@@ -102,7 +102,7 @@ class DownloadPrefs { + // Disables auto-open based on file extension. + void DisableAutoOpenBasedOnExtension(const base::FilePath& file_name); + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + // Store the user preference to disk. If |should_open| is true, also disable + // the built-in PDF plugin. If |should_open| is false, enable the PDF plugin. + void SetShouldOpenPdfInSystemReader(bool should_open); +@@ -150,7 +150,7 @@ class DownloadPrefs { + AutoOpenCompareFunctor> AutoOpenSet; + AutoOpenSet auto_open_; + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + bool should_open_pdf_in_system_reader_; + #endif + Property changes on: head/devel/electron6/files/patch-chrome_browser_download_download__prefs.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_download__query.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_download__query.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_download__query.cc (revision 518408) @@ -0,0 +1,14 @@ +--- chrome/browser/download/download_query.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/download/download_query.cc +@@ -27,7 +27,11 @@ + #include "components/download/public/common/download_item.h" + #include "components/url_formatter/url_formatter.h" + #include "content/public/browser/content_browser_client.h" ++#if defined(OS_BSD) ++#include ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + #include "url/gurl.h" + + using download::DownloadDangerType; Property changes on: head/devel/electron6/files/patch-chrome_browser_download_download__query.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_download__shelf__context__menu.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_download__shelf__context__menu.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_download__shelf__context__menu.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/download/download_shelf_context_menu.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/download/download_shelf_context_menu.cc +@@ -127,7 +127,7 @@ base::string16 DownloadShelfContextMenu::GetLabelForCo + : IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS; + break; + } +-#elif defined(OS_MACOSX) || defined(OS_LINUX) ++#elif defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + if (can_open_pdf_in_system_viewer) { + id = IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS; + break; Property changes on: head/devel/electron6/files/patch-chrome_browser_download_download__shelf__context__menu.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_download_download__status__updater.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_download_download__status__updater.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_download_download__status__updater.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_status_updater.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/download/download_status_updater.cc +@@ -13,7 +13,7 @@ + #include "base/memory/ptr_util.h" + #include "build/build_config.h" + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #include "ui/views/linux_ui/linux_ui.h" + #endif + +@@ -136,7 +136,7 @@ void DownloadStatusUpdater::OnDownloadUpdated(content: + #if defined(OS_ANDROID) || (defined(USE_AURA) && !defined(OS_WIN)) + void DownloadStatusUpdater::UpdateAppIconDownloadProgress( + download::DownloadItem* download) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + const views::LinuxUI* linux_ui = views::LinuxUI::instance(); + if (linux_ui) { + float progress = 0; Property changes on: head/devel/electron6/files/patch-chrome_browser_download_download__status__updater.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_BUILD.gn =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_BUILD.gn (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_BUILD.gn (revision 518408) @@ -0,0 +1,15 @@ +--- chrome/browser/extensions/BUILD.gn.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/BUILD.gn +@@ -1135,6 +1135,12 @@ jumbo_static_library("extensions") { + deps += [ "//chrome/common:service_process_mojom" ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "api/image_writer_private/removable_storage_provider_linux.cc", ++ ] ++ } ++ + if (enable_service_discovery) { + sources += [ + "api/mdns/mdns_api.cc", Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_activity__log_activity__log.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_activity__log_activity__log.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_activity__log_activity__log.cc (revision 518408) @@ -0,0 +1,14 @@ +--- chrome/browser/extensions/activity_log/activity_log.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/activity_log/activity_log.cc +@@ -53,7 +53,11 @@ + #include "extensions/browser/extensions_browser_client.h" + #include "extensions/common/extension.h" + #include "extensions/common/extension_messages.h" ++#if defined(OS_BSD) ++#include ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + #include "url/gurl.h" + + namespace constants = activity_log_constants; Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_activity__log_activity__log.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc +@@ -21,6 +21,7 @@ static base::LazyInstancePostTask( + FROM_HERE, +@@ -34,6 +35,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, + base::BindOnce(&RemovableStorageProvider::PopulateDeviceList), + std::move(callback)); ++#else ++ NOTIMPLEMENTED(); ++#endif + } + + // static Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/input_ime/input_ime_api.h.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/api/input_ime/input_ime_api.h +@@ -31,7 +31,7 @@ + + #if defined(OS_CHROMEOS) + #include "chrome/browser/extensions/api/input_ime/input_ime_api_chromeos.h" +-#elif defined(OS_LINUX) || defined(OS_WIN) ++#elif defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + #include "chrome/browser/extensions/api/input_ime/input_ime_api_nonchromeos.h" + #endif // defined(OS_CHROMEOS) + Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc +@@ -299,6 +299,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor + info->os = extensions::api::runtime::PLATFORM_OS_CROS; + } else if (strcmp(os, "linux") == 0) { + info->os = extensions::api::runtime::PLATFORM_OS_LINUX; ++ } else if (strcmp(os, "freebsd") == 0) { ++ info->os = extensions::api::runtime::PLATFORM_OS_FREEBSD; + } else if (strcmp(os, "openbsd") == 0) { + info->os = extensions::api::runtime::PLATFORM_OS_OPENBSD; + } else { Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/api/settings_private/prefs_util.cc +@@ -128,7 +128,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetWhitelist + settings_api::PrefType::PREF_TYPE_BOOLEAN; + (*s_whitelist)[bookmarks::prefs::kShowBookmarkBar] = + settings_api::PrefType::PREF_TYPE_BOOLEAN; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + (*s_whitelist)[::prefs::kUseCustomChromeFrame] = + settings_api::PrefType::PREF_TYPE_BOOLEAN; + #endif +@@ -138,7 +138,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetWhitelist + // Appearance settings. + (*s_whitelist)[::prefs::kCurrentThemeID] = + settings_api::PrefType::PREF_TYPE_STRING; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + (*s_whitelist)[::prefs::kUsesSystemTheme] = + settings_api::PrefType::PREF_TYPE_BOOLEAN; + #endif Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc (revision 518408) @@ -0,0 +1,43 @@ +--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc +@@ -29,7 +29,7 @@ + #include "extensions/browser/process_manager.h" + #include "extensions/common/error_utils.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "extensions/common/permissions/permissions_data.h" + #endif + +@@ -38,7 +38,7 @@ namespace { + bool CanEnableAudioDebugRecordingsFromExtension( + const extensions::Extension* extension) { + bool enabled_by_permissions = false; +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + if (extension) { + enabled_by_permissions = + extension->permissions_data()->active_permissions().HasAPIPermission( +@@ -609,7 +609,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi + } + + bool WebrtcLoggingPrivateGetLogsDirectoryFunction::RunAsync() { +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object, + // this function shouldn't be called by a component extension on behalf of + // some web code. It returns a DirectoryEntry for use directly in the calling +@@ -633,11 +633,11 @@ bool WebrtcLoggingPrivateGetLogsDirectoryFunction::Run + &WebrtcLoggingPrivateGetLogsDirectoryFunction::FireErrorCallback, + this)); + return true; +-#else // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#else // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + SetError("Not supported on the current OS"); + SendResponse(false); + return false; +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + } + + void WebrtcLoggingPrivateGetLogsDirectoryFunction::FireCallback( Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_bookmark__app__extension__util.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_bookmark__app__extension__util.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_bookmark__app__extension__util.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/bookmark_app_extension_util.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/bookmark_app_extension_util.cc +@@ -34,7 +34,7 @@ namespace { + + #if !defined(OS_CHROMEOS) + bool CanOsAddDesktopShortcuts() { +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + return true; + #else + return false; Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_bookmark__app__extension__util.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/browser_context_keyed_service_factories.cc +@@ -54,7 +54,7 @@ + #include "chrome/browser/chromeos/extensions/input_method_api.h" + #include "chrome/browser/chromeos/extensions/media_player_api.h" + #include "chrome/browser/extensions/api/input_ime/input_ime_api.h" +-#elif defined(OS_LINUX) || defined(OS_WIN) ++#elif defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + #include "chrome/browser/extensions/api/input_ime/input_ime_api.h" + #endif + +@@ -92,7 +92,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() + #if defined(OS_CHROMEOS) + extensions::InputImeAPI::GetFactoryInstance(); + extensions::InputMethodAPI::GetFactoryInstance(); +-#elif defined(OS_LINUX) || defined(OS_WIN) ++#elif defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + extensions::InputImeAPI::GetFactoryInstance(); + #endif + extensions::LanguageSettingsPrivateDelegateFactory::GetInstance(); Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_external__provider__impl.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_external__provider__impl.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_external__provider__impl.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/external_provider_impl.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/extensions/external_provider_impl.cc +@@ -755,7 +755,7 @@ void ExternalProviderImpl::CreateExternalProviders( + chromeos::DemoSession::Get()->SetExtensionsExternalLoader(loader); + provider_list->push_back(std::move(demo_apps_provider)); + } +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + provider_list->push_back(std::make_unique( + service, + new ExternalPrefLoader(chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS, +@@ -782,7 +782,7 @@ void ExternalProviderImpl::CreateExternalProviders( + bundled_extension_creation_flags)); + + // Define a per-user source of external extensions. +-#if defined(OS_MACOSX) || (defined(OS_LINUX) && defined(CHROMIUM_BUILD)) ++#if defined(OS_MACOSX) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(CHROMIUM_BUILD)) + provider_list->push_back(std::make_unique( + service, + new ExternalPrefLoader(chrome::DIR_USER_EXTERNAL_EXTENSIONS, Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_external__provider__impl.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_extensions_install__signer.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_extensions_install__signer.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_extensions_install__signer.cc (revision 518408) @@ -0,0 +1,18 @@ +--- chrome/browser/extensions/install_signer.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/extensions/install_signer.cc +@@ -293,13 +293,13 @@ void LogRequestStartHistograms() { + DCHECK(g_single_thread_checker.Get().CalledOnValidThread()); + + // Process::Current().CreationTime is only defined on some platforms. +-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + const base::Time process_creation_time = + base::Process::Current().CreationTime(); + UMA_HISTOGRAM_COUNTS_1M( + "ExtensionInstallSigner.UptimeAtTimeOfRequest", + (base::Time::Now() - process_creation_time).InSeconds()); +-#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + + base::TimeDelta delta; + base::TimeTicks now = base::TimeTicks::Now(); Property changes on: head/devel/electron6/files/patch-chrome_browser_extensions_install__signer.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_first__run_first__run__dialog.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_first__run_first__run__dialog.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_first__run_first__run__dialog.h (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/first_run/first_run_dialog.h.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/first_run/first_run_dialog.h +@@ -9,7 +9,7 @@ + #include "build/build_config.h" + + // Hide this function on platforms where the dialog does not exist. +-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + class Profile; + Property changes on: head/devel/electron6/files/patch-chrome_browser_first__run_first__run__dialog.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_first__run_first__run__internal.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_first__run_first__run__internal.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_first__run_first__run__internal.h (revision 518408) @@ -0,0 +1,18 @@ +--- chrome/browser/first_run/first_run_internal.h.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/first_run/first_run_internal.h +@@ -64,13 +64,13 @@ FirstRunState DetermineFirstRunState(bool has_sentinel + bool force_first_run, + bool no_first_run); + +-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // For testing, forces the first run dialog to either be shown or not. If not + // called, the decision to show the dialog or not will be made by Chrome based + // on a number of factors (such as install type, whether it's a Chrome-branded + // build, etc). + void ForceFirstRunDialogShownForTesting(bool shown); +-#endif // defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#endif // defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + } // namespace internal + } // namespace first_run Property changes on: head/devel/electron6/files/patch-chrome_browser_first__run_first__run__internal.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_first__run_first__run__internal__posix.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_first__run_first__run__internal__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_first__run_first__run__internal__posix.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/first_run/first_run_internal_posix.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/first_run/first_run_internal_posix.cc +@@ -44,7 +44,7 @@ enum class ForcedShowDialogState { + ForcedShowDialogState g_forced_show_dialog_state = + ForcedShowDialogState::kNotForced; + +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + // Returns whether the first run dialog should be shown. This is only true for + // certain builds, and only if the user has not already set preferences. In a + // real, official-build first run, initializes the default metrics reporting if +@@ -95,7 +95,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) { + } + + void DoPostImportPlatformSpecificTasks(Profile* profile) { +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + if (!ShouldShowFirstRunDialog()) + return; + Property changes on: head/devel/electron6/files/patch-chrome_browser_first__run_first__run__internal__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_flag__descriptions.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_flag__descriptions.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_flag__descriptions.cc (revision 518408) @@ -0,0 +1,28 @@ +--- chrome/browser/flag_descriptions.cc.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/flag_descriptions.cc +@@ -3256,21 +3256,21 @@ const char kInstallableInkDropDescription[] = + + // Random platform combinations ----------------------------------------------- + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + const char kWebGL2ComputeContextName[] = "WebGL 2.0 Compute"; + const char kWebGL2ComputeContextDescription[] = + "Enable the use of WebGL 2.0 Compute API."; + +-#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + const char kDirectManipulationStylusName[] = "Direct Manipulation Stylus"; + const char kDirectManipulationStylusDescription[] = + "If enabled, Chrome will scroll web pages on stylus drag."; + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_MACOSX) || defined(OS_CHROMEOS) + Property changes on: head/devel/electron6/files/patch-chrome_browser_flag__descriptions.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_flag__descriptions.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_flag__descriptions.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_flag__descriptions.h (revision 518408) @@ -0,0 +1,26 @@ +--- chrome/browser/flag_descriptions.h.orig 2019-09-10 11:13:39 UTC ++++ chrome/browser/flag_descriptions.h +@@ -1963,19 +1963,19 @@ extern const char kInstallableInkDropDescription[]; + + // Random platform combinations ----------------------------------------------- + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + extern const char kWebGL2ComputeContextName[]; + extern const char kWebGL2ComputeContextDescription[]; + +-#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + extern const char kDirectManipulationStylusName[]; + extern const char kDirectManipulationStylusDescription[]; + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_MACOSX) || defined(OS_CHROMEOS) + Property changes on: head/devel/electron6/files/patch-chrome_browser_flag__descriptions.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc (revision 518408) @@ -0,0 +1,15 @@ +--- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc +@@ -39,10 +39,12 @@ void MTPDeviceMapService::RegisterMTPFileSystem( + // Note that this initializes the delegate asynchronously, but since + // the delegate will only be used from the IO thread, it is guaranteed + // to be created before use of it expects it to be there. ++#if !defined(OS_FREEBSD) + CreateMTPDeviceAsyncDelegate( + device_location, read_only, + base::Bind(&MTPDeviceMapService::AddAsyncDelegate, + base::Unretained(this), device_location, read_only)); ++#endif + mtp_device_usage_map_[key] = 0; + } + Property changes on: head/devel/electron6/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc (revision 518408) @@ -0,0 +1,14 @@ +--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/media_galleries/media_file_system_registry.cc +@@ -732,7 +732,10 @@ class MediaFileSystemRegistry::MediaFileSystemContextI + // Constructor in 'private' section because depends on private class definition. + MediaFileSystemRegistry::MediaFileSystemRegistry() + : file_system_context_(new MediaFileSystemContextImpl) { +- StorageMonitor::GetInstance()->AddObserver(this); ++ // This conditional is needed for shutdown. Destructors ++ // try to get the media file system registry. ++ if (StorageMonitor::GetInstance()) ++ StorageMonitor::GetInstance()->AddObserver(this); + } + + MediaFileSystemRegistry::~MediaFileSystemRegistry() { Property changes on: head/devel/electron6/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc (revision 518408) @@ -0,0 +1,28 @@ +--- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + #include + +@@ -19,7 +20,7 @@ + #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h" + #include "net/base/net_errors.h" + +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + #include + #else + #include +@@ -28,7 +29,7 @@ + namespace media_router { + namespace { + +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + using sll = struct sockaddr_ll; + #define SOCKET_ARP_TYPE(s) ((s)->sll_hatype) + #define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen) Property changes on: head/devel/electron6/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc (revision 518408) @@ -0,0 +1,27 @@ +--- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc +@@ -9,8 +9,6 @@ + #include + #include + +-#include +- + #include "base/files/scoped_file.h" + #include "base/logging.h" + #include "net/base/network_interfaces_linux.h" +@@ -20,6 +18,7 @@ namespace media_router { + bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) { + DCHECK(ssid_out); + ++#if !defined(OS_BSD) + base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0)); + if (!ioctl_socket.is_valid()) { + // AF_INET is for IPv4, so it may fail for IPv6-only hosts even when there +@@ -41,6 +40,7 @@ bool MaybeGetWifiSSID(const std::string& if_name, std: + ssid_out->assign(ssid); + return true; + } ++#endif + return false; + } + Property changes on: head/devel/electron6/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc (revision 518408) @@ -0,0 +1,23 @@ +--- chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc +@@ -112,6 +112,12 @@ void WiredDisplayMediaRouteProvider::CreateRoute( + bool incognito, + CreateRouteCallback callback) { + DCHECK(!base::ContainsKey(presentations_, presentation_id)); ++#if defined(OS_BSD) // XXX ++ std::move(callback).Run(base::nullopt, nullptr, ++ std::string("Not implemented"), ++ RouteRequestResult::UNKNOWN_ERROR); ++ return; ++#else + base::Optional display = GetDisplayBySinkId(sink_id); + if (!display) { + std::move(callback).Run(base::nullopt, nullptr, +@@ -138,6 +144,7 @@ void WiredDisplayMediaRouteProvider::CreateRoute( + std::move(callback).Run(route, nullptr, base::nullopt, + RouteRequestResult::OK); + NotifyRouteObservers(); ++#endif + } + + void WiredDisplayMediaRouteProvider::JoinRoute( Property changes on: head/devel/electron6/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc +@@ -36,7 +36,7 @@ constexpr size_t kExpectedMimeOverheadBytes = 1000; / + const char kProduct[] = "Chrome"; + #elif defined(OS_MACOSX) + const char kProduct[] = "Chrome_Mac"; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + const char kProduct[] = "Chrome_Linux"; + #elif defined(OS_ANDROID) + const char kProduct[] = "Chrome_Android"; Property changes on: head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/media/webrtc/webrtc_log_uploader.cc +@@ -393,6 +393,8 @@ void WebRtcLogUploader::SetupMultipart( + const char product[] = "Chrome_Android"; + #elif defined(OS_CHROMEOS) + const char product[] = "Chrome_ChromeOS"; ++#elif defined(OS_FREEBSD) ++ const char product[] = "Chrome_FreeBSD"; + #else + #error Platform not supported. + #endif Property changes on: head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__logging__handler__host.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__logging__handler__host.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__logging__handler__host.cc (revision 518408) @@ -0,0 +1,33 @@ +--- chrome/browser/media/webrtc/webrtc_logging_handler_host.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/media/webrtc/webrtc_logging_handler_host.cc +@@ -26,10 +26,10 @@ + #include "content/public/browser/content_browser_client.h" + #include "content/public/browser/render_process_host.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "content/public/browser/child_process_security_policy.h" + #include "storage/browser/fileapi/isolated_context.h" +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + using content::BrowserThread; + using webrtc_event_logging::WebRtcEventLogManager; +@@ -281,7 +281,7 @@ void WebRtcLoggingHandlerHost::StartEventLogging( + web_app_id, callback); + } + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + void WebRtcLoggingHandlerHost::GetLogsDirectory( + const LogsDirectoryCallback& callback, + const LogsDirectoryErrorCallback& error_callback) { +@@ -328,7 +328,7 @@ void WebRtcLoggingHandlerHost::GrantLogsDirectoryAcces + FROM_HERE, {BrowserThread::UI}, + base::BindOnce(callback, file_system.id(), registered_name)); + } +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD + + void WebRtcLoggingHandlerHost::OnRtpPacket( + std::unique_ptr packet_header, Property changes on: head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__logging__handler__host.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__logging__handler__host.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__logging__handler__host.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__logging__handler__host.h (revision 518408) @@ -0,0 +1,36 @@ +--- chrome/browser/media/webrtc/webrtc_logging_handler_host.h.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/media/webrtc/webrtc_logging_handler_host.h +@@ -153,13 +153,13 @@ class WebRtcLoggingHandlerHost : public content::Brows + size_t web_app_id, + const StartEventLoggingCallback& callback); + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // Ensures that the WebRTC Logs directory exists and then grants render + // process access to the 'WebRTC Logs' directory, and invokes |callback| with + // the ids necessary to create a DirectoryEntry object. + void GetLogsDirectory(const LogsDirectoryCallback& callback, + const LogsDirectoryErrorCallback& error_callback); +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + private: + friend class content::BrowserThread; +@@ -226,7 +226,7 @@ class WebRtcLoggingHandlerHost : public content::Brows + bool success, + const std::string& error_message); + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // Grants the render process access to the 'WebRTC Logs' directory, and + // invokes |callback| with the ids necessary to create a DirectoryEntry + // object. If the |logs_path| couldn't be created or found, |error_callback| +@@ -235,7 +235,7 @@ class WebRtcLoggingHandlerHost : public content::Brows + const LogsDirectoryCallback& callback, + const LogsDirectoryErrorCallback& error_callback, + const base::FilePath& logs_path); +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + // The render process ID this object belongs to. + const int render_process_id_; Property changes on: head/devel/electron6/files/patch-chrome_browser_media_webrtc_webrtc__logging__handler__host.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_memory__details.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_memory__details.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_memory__details.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/memory_details.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/memory_details.cc +@@ -38,7 +38,7 @@ + #include "services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h" + #include "ui/base/l10n/l10n_util.h" + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + #include "services/service_manager/zygote/zygote_host_linux.h" + #endif + +@@ -336,7 +336,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() { + process.titles.push_back(title); + } + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + if (service_manager::ZygoteHost::GetInstance()->IsZygotePid(process.pid)) { + process.process_type = content::PROCESS_TYPE_ZYGOTE; + } Property changes on: head/devel/electron6/files/patch-chrome_browser_memory__details.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_memory__details__linux.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_memory__details__linux.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_memory__details__linux.cc (revision 518408) @@ -0,0 +1,13 @@ +--- chrome/browser/memory_details_linux.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/memory_details_linux.cc +@@ -72,8 +72,10 @@ ProcessData GetProcessDataMemoryInformation( + + std::unique_ptr metrics( + base::ProcessMetrics::CreateProcessMetrics(pid)); ++#if !defined(OS_BSD) + pmi.num_open_fds = metrics->GetOpenFdCount(); + pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit(); ++#endif + + process_data.processes.push_back(pmi); + } Property changes on: head/devel/electron6/files/patch-chrome_browser_memory__details__linux.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc (revision 518408) @@ -0,0 +1,13 @@ +--- chrome/browser/metrics/bluetooth_available_utility.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/metrics/bluetooth_available_utility.cc +@@ -76,8 +76,10 @@ void ReportBluetoothAvailability() { + return; + } + ++#if !defined(OS_BSD) + device::BluetoothAdapterFactory::Get().GetAdapter( + base::BindOnce(&OnGetAdapter)); ++#endif + } + + } // namespace bluetooth_utility Property changes on: head/devel/electron6/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc (revision 518408) @@ -0,0 +1,21 @@ +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc +@@ -44,7 +44,9 @@ + + #if defined(OS_LINUX) && !defined(OS_CHROMEOS) + #include ++#endif + ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "base/linux_util.h" + #include "base/strings/string_split.h" + #include "base/strings/string_util.h" +@@ -52,7 +54,7 @@ + #if defined(USE_X11) + #include "ui/base/x/x11_util.h" + #endif +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + #if defined(USE_OZONE) || defined(USE_X11) + #include "ui/events/devices/input_device_event_observer.h" Property changes on: head/devel/electron6/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/metrics/chrome_metrics_service_client.cc +@@ -902,7 +902,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve + } + #endif + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // This creates the DesktopProfileSessionDurationsServices if it didn't exist + // already. + metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext( Property changes on: head/devel/electron6/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/metrics/process_memory_metrics_emitter.cc +@@ -360,7 +360,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc + + builder->SetPrivateMemoryFootprint(pmd.os_dump().private_footprint_kb / 1024); + builder->SetSharedMemoryFootprint(pmd.os_dump().shared_footprint_kb / 1024); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + builder->SetPrivateSwapFootprint(pmd.os_dump().private_footprint_swap_kb / + 1024); + #endif +@@ -383,7 +383,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc + MEMORY_METRICS_HISTOGRAM_MB( + std::string(UMA_PREFIX) + process_name + ".SharedMemoryFootprint", + pmd.os_dump().shared_footprint_kb / 1024); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + MEMORY_METRICS_HISTOGRAM_MB( + std::string(UMA_PREFIX) + process_name + ".PrivateSwapFootprint", + pmd.os_dump().private_footprint_swap_kb / 1024); Property changes on: head/devel/electron6/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_net_system__network__context__manager.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_net_system__network__context__manager.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_net_system__network__context__manager.cc (revision 518408) @@ -0,0 +1,65 @@ +--- chrome/browser/net/system_network_context_manager.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/net/system_network_context_manager.cc +@@ -72,12 +72,12 @@ + #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" + #endif // defined(OS_CHROMEOS) + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include "chrome/common/chrome_paths_internal.h" + #include "chrome/common/chrome_switches.h" + #include "chrome/grit/chromium_strings.h" + #include "ui/base/l10n/l10n_util.h" +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + + namespace { + +@@ -191,10 +191,10 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut + auth_dynamic_params->enable_negotiate_port = + local_state->GetBoolean(prefs::kEnableAuthNegotiatePort); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + auth_dynamic_params->delegate_by_kdc_policy = + local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy); +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if defined(OS_POSIX) + auth_dynamic_params->ntlm_v2_enabled = +@@ -434,10 +434,10 @@ SystemNetworkContextManager::SystemNetworkContextManag + pref_change_registrar_.Add(prefs::kEnableAuthNegotiatePort, + auth_pref_callback); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy, + auth_pref_callback); +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if defined(OS_POSIX) + pref_change_registrar_.Add(prefs::kNtlmV2Enabled, auth_pref_callback); +@@ -486,10 +486,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe + registry->RegisterStringPref(prefs::kAuthServerWhitelist, std::string()); + registry->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist, + std::string()); +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy, + false); +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if defined(OS_POSIX) + registry->RegisterBooleanPref( +@@ -586,7 +586,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea + content::GetNetworkService()->ConfigureStubHostResolver( + stub_resolver_enabled, std::move(dns_over_https_servers)); + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + const base::CommandLine& command_line = + *base::CommandLine::ForCurrentProcess(); + Property changes on: head/devel/electron6/files/patch-chrome_browser_net_system__network__context__manager.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_notifications_notification__display__service__impl.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_notifications_notification__display__service__impl.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_notifications_notification__display__service__impl.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/notifications/notification_display_service_impl.cc +@@ -31,7 +31,7 @@ + #include "chrome/browser/notifications/notification_platform_bridge_message_center.h" + #endif + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" + #endif + +@@ -121,7 +121,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer + AddNotificationHandler(NotificationHandler::Type::WEB_PERSISTENT, + std::make_unique()); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + AddNotificationHandler( + NotificationHandler::Type::SEND_TAB_TO_SELF, + std::make_unique( Property changes on: head/devel/electron6/files/patch-chrome_browser_notifications_notification__display__service__impl.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc (revision 518408) @@ -0,0 +1,14 @@ +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2019-09-10 11:13:40 UTC ++++ chrome/browser/password_manager/chrome_password_manager_client.cc +@@ -82,7 +82,11 @@ + #include "net/cert/cert_status_flags.h" + #include "services/identity/public/cpp/identity_manager.h" + #include "services/metrics/public/cpp/ukm_recorder.h" ++#if defined(OS_BSD) ++#include ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + #include "url/url_constants.h" + + #if defined(FULL_SAFE_BROWSING) Property changes on: head/devel/electron6/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_password__manager_password__store__factory.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_password__manager_password__store__factory.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_password__manager_password__store__factory.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/password_manager/password_store_factory.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/password_manager/password_store_factory.cc +@@ -302,7 +302,7 @@ PasswordStoreFactory::BuildServiceInstanceFor( + network_context_getter); + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + std::unique_ptr notifier = + std::make_unique( + profile); Property changes on: head/devel/electron6/files/patch-chrome_browser_password__manager_password__store__factory.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc (revision 518408) @@ -0,0 +1,38 @@ +--- chrome/browser/performance_monitor/process_metrics_history.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/performance_monitor/process_metrics_history.cc +@@ -47,7 +47,7 @@ void ProcessMetricsHistory::SampleMetrics() { + #if defined(OS_WIN) + disk_usage_ = process_metrics_->GetDiskUsageBytesPerSecond(); + #endif +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + idle_wakeups_ = process_metrics_->GetIdleWakeupsPerSecond(); + #endif + #if defined(OS_MACOSX) +@@ -87,7 +87,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() { + kDiskUsageHistogramMin, kDiskUsageHistogramMax, + kDiskUsageHistogramBucketCount); + #endif +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + UMA_HISTOGRAM_COUNTS_10000( + "PerformanceMonitor.IdleWakeups.BrowserProcess", idle_wakeups_); + #endif +@@ -105,7 +105,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() { + UMA_HISTOGRAM_BOOLEAN("PerformanceMonitor.HighCPU.RendererProcess", + true); + } +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + UMA_HISTOGRAM_COUNTS_10000( + "PerformanceMonitor.IdleWakeups.RendererProcess", idle_wakeups_); + #endif +@@ -122,7 +122,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() { + kHistogramBucketCount); + if (cpu_usage_ > kHighCPUUtilizationThreshold) + UMA_HISTOGRAM_BOOLEAN("PerformanceMonitor.HighCPU.GPUProcess", true); +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + UMA_HISTOGRAM_COUNTS_10000("PerformanceMonitor.IdleWakeups.GPUProcess", + idle_wakeups_); + #endif Property changes on: head/devel/electron6/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_performance__monitor_process__metrics__history.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_performance__monitor_process__metrics__history.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_performance__monitor_process__metrics__history.h (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/performance_monitor/process_metrics_history.h.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/performance_monitor/process_metrics_history.h +@@ -72,7 +72,7 @@ class ProcessMetricsHistory { + uint64_t disk_usage_ = 0; + #endif + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + int idle_wakeups_ = 0; + #endif + #if defined(OS_MACOSX) Property changes on: head/devel/electron6/files/patch-chrome_browser_performance__monitor_process__metrics__history.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_platform__util.h =================================================================== --- head/devel/electron6/files/patch-chrome_browser_platform__util.h (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_platform__util.h (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/platform_util.h.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/platform_util.h +@@ -41,7 +41,7 @@ enum OpenOperationResult { + enum OpenItemType { + OPEN_FILE, + OPEN_FOLDER, +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + SHOW_ITEM_IN_FOLDER + #endif + }; Property changes on: head/devel/electron6/files/patch-chrome_browser_platform__util.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/plugins/plugin_info_host_impl.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/plugins/plugin_info_host_impl.cc +@@ -411,7 +411,7 @@ void PluginInfoHostImpl::ComponentPluginLookupDone( + std::unique_ptr cus_plugin_info) { + if (cus_plugin_info) { + output->status = chrome::mojom::PluginStatus::kComponentUpdateRequired; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (cus_plugin_info->version != base::Version("0")) { + output->status = chrome::mojom::PluginStatus::kRestartRequired; + } Property changes on: head/devel/electron6/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_plugins_plugins__resource__service.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_plugins_plugins__resource__service.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_plugins_plugins__resource__service.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/plugins/plugins_resource_service.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/plugins/plugins_resource_service.cc +@@ -63,7 +63,7 @@ GURL GetPluginsServerURL() { + filename = "plugins_win.json"; + #elif defined(OS_CHROMEOS) + filename = "plugins_chromeos.json"; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + filename = "plugins_linux.json"; + #elif defined(OS_MACOSX) + filename = "plugins_mac.json"; Property changes on: head/devel/electron6/files/patch-chrome_browser_plugins_plugins__resource__service.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc (revision 518408) @@ -0,0 +1,34 @@ +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/policy/configuration_policy_handler_list_factory.cc +@@ -109,7 +109,7 @@ + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" + #endif + +@@ -321,11 +321,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + { key::kSafeSitesFilterBehavior, + policy_prefs::kSafeSitesFilterBehavior, + base::Value::Type::INTEGER}, +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + { key::kAuthNegotiateDelegateByKdcPolicy, + prefs::kAuthNegotiateDelegateByKdcPolicy, + base::Value::Type::BOOLEAN }, +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #if defined(OS_POSIX) + { key::kNtlmV2Enabled, + prefs::kNtlmV2Enabled, +@@ -1021,7 +1021,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::BOOLEAN }, + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + { key::kAlternativeBrowserPath, + browser_switcher::prefs::kAlternativeBrowserPath, + base::Value::Type::STRING }, Property changes on: head/devel/electron6/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/policy/policy_prefs_browsertest.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/policy/policy_prefs_browsertest.cc +@@ -183,6 +183,8 @@ class PolicyTestCase { + const std::string os("chromeos"); + #elif defined(OS_LINUX) + const std::string os("linux"); ++#elif defined(OS_FREEBSD) ++ const std::string os("freebsd"); + #else + #error "Unknown platform" + #endif Property changes on: head/devel/electron6/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_prefs_browser__prefs.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_prefs_browser__prefs.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_prefs_browser__prefs.cc (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/prefs/browser_prefs.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/prefs/browser_prefs.cc +@@ -338,7 +338,7 @@ + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" + #endif + +@@ -872,7 +872,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); + #endif + Property changes on: head/devel/electron6/files/patch-chrome_browser_prefs_browser__prefs.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/prefs/pref_service_incognito_whitelist.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/prefs/pref_service_incognito_whitelist.cc +@@ -183,7 +183,7 @@ const char* const kPersistentPrefNames[] = { + prefs::kShowFullscreenToolbar, + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + // Toggleing custom frames affects all open windows in the profile, hence + // should be written to the regular profile when changed in incognito mode. + prefs::kUseCustomChromeFrame, Property changes on: head/devel/electron6/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_process__singleton__posix.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_process__singleton__posix.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_process__singleton__posix.cc (revision 518408) @@ -0,0 +1,34 @@ +--- chrome/browser/process_singleton_posix.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/process_singleton_posix.cc +@@ -94,11 +94,11 @@ + #include "net/base/network_interfaces.h" + #include "ui/base/l10n/l10n_util.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/ui/process_singleton_dialog_linux.h" + #endif + +-#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #include "ui/views/linux_ui/linux_ui.h" + #endif + +@@ -325,7 +325,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo + if (g_disable_prompt) + return g_user_opted_unlock_in_use_profile; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::string16 relaunch_button_text = l10n_util::GetStringUTF16( + IDS_PROFILE_IN_USE_LINUX_RELAUNCH); + return ShowProcessSingletonDialog(error, relaunch_button_text); +@@ -901,7 +901,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::Notif + SendRemoteProcessInteractionResultHistogram(REMOTE_PROCESS_SHUTTING_DOWN); + return PROCESS_NONE; + } else if (strncmp(buf, kACKToken, base::size(kACKToken) - 1) == 0) { +-#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // Likely NULL in unit tests. + views::LinuxUI* linux_ui = views::LinuxUI::instance(); + if (linux_ui) Property changes on: head/devel/electron6/files/patch-chrome_browser_process__singleton__posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +@@ -330,7 +330,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + MediaGalleriesPreferencesFactory::GetInstance(); + #endif + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); + #endif + ModelTypeStoreServiceFactory::GetInstance(); Property changes on: head/devel/electron6/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_profiles_profile__attributes__entry.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_profiles_profile__attributes__entry.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_profiles_profile__attributes__entry.cc (revision 518408) @@ -0,0 +1,11 @@ +--- chrome/browser/profiles/profile_attributes_entry.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/profiles/profile_attributes_entry.cc +@@ -83,7 +83,7 @@ void ProfileAttributesEntry::Initialize(ProfileInfoCac + if (is_force_signin_enabled_) { + if (!IsAuthenticated()) + is_force_signin_profile_locked_ = true; +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + } else if (IsSigninRequired()) { + // Profiles that require signin in the absence of an enterprise policy are + // left-overs from legacy supervised users. Just unlock them, so users can Property changes on: head/devel/electron6/files/patch-chrome_browser_profiles_profile__attributes__entry.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc (revision 518408) @@ -0,0 +1,29 @@ +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2019-09-10 11:13:41 UTC ++++ chrome/browser/renderer_context_menu/render_view_context_menu.cc +@@ -1672,7 +1672,7 @@ void RenderViewContextMenu::AppendEditableItems() { + // 'Undo' and 'Redo' for text input with no suggestions and no text selected. + // We make an exception for OS X as context clicking will select the closest + // word. In this case both items are always shown. +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_UNDO, + IDS_CONTENT_CONTEXT_UNDO); + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_REDO, +@@ -1714,7 +1714,7 @@ void RenderViewContextMenu::AppendLanguageSettings() { + if (!use_spelling) + return; + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS, + IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS); + #else +@@ -1994,7 +1994,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) + case IDC_CHECK_SPELLING_WHILE_TYPING: + return prefs->GetBoolean(spellcheck::prefs::kSpellCheckEnable); + +-#if !defined(OS_MACOSX) && defined(OS_POSIX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) && defined(OS_POSIX) + // TODO(suzhe): this should not be enabled for password fields. + case IDC_INPUT_METHODS_MENU: + return true; Property changes on: head/devel/electron6/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_renderer__preferences__util.cc =================================================================== --- head/devel/electron6/files/patch-chrome_browser_renderer__preferences__util.cc (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_renderer__preferences__util.cc (revision 518408) @@ -0,0 +1,29 @@ +--- chrome/browser/renderer_preferences_util.cc.orig 2019-09-10 10:42:29 UTC ++++ chrome/browser/renderer_preferences_util.cc +@@ -30,7 +30,7 @@ + #include "ui/base/cocoa/defaults_utils.h" + #endif + +-#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(USE_AURA) && (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include "chrome/browser/themes/theme_service.h" + #include "chrome/browser/themes/theme_service_factory.h" + #include "ui/views/linux_ui/linux_ui.h" +@@ -130,7 +130,7 @@ void UpdateFromSystemSettings(blink::mojom::RendererPr + prefs->caret_blink_interval = interval; + #endif + +-#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(USE_AURA) && (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + views::LinuxUI* linux_ui = views::LinuxUI::instance(); + if (linux_ui) { + if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { +@@ -149,7 +149,7 @@ void UpdateFromSystemSettings(blink::mojom::RendererPr + } + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_WIN) || defined(OS_BSD) + content::UpdateFontRendererPreferencesFromSystemSettings(prefs); + #endif + Property changes on: head/devel/electron6/files/patch-chrome_browser_renderer__preferences__util.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py =================================================================== --- head/devel/electron6/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py (revision 518408) @@ -0,0 +1,19 @@ +--- chrome/browser/resources/safe_browsing/gen_file_type_proto.py.orig 2019-09-10 10:42:30 UTC ++++ chrome/browser/resources/safe_browsing/gen_file_type_proto.py +@@ -31,6 +31,7 @@ def PlatformTypes(): + "android": download_file_types_pb2.DownloadFileType.PLATFORM_ANDROID, + "chromeos": download_file_types_pb2.DownloadFileType.PLATFORM_CHROME_OS, + "linux": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, ++ "bsd": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, + "mac": download_file_types_pb2.DownloadFileType.PLATFORM_MAC, + "win": download_file_types_pb2.DownloadFileType.PLATFORM_WINDOWS, + } +@@ -169,7 +170,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera + 'Outfile must have a %d for version and %s for platform.') + parser.add_option('-t', '--type', + help='The platform type. One of android, chromeos, ' + +- 'linux, mac, win') ++ 'linux, bsd, mac, win') + + def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command): + if opts.type is not None: Property changes on: head/devel/electron6/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js =================================================================== --- head/devel/electron6/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js (revision 518408) @@ -0,0 +1,20 @@ +--- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.js.orig 2019-09-10 11:13:42 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.js +@@ -35,7 +35,7 @@ cr.define('settings', function() { + + useDefaultTheme() {} + +- // ++ // + useSystemTheme() {} + + // +@@ -93,7 +93,7 @@ cr.define('settings', function() { + chrome.send('useDefaultTheme'); + } + +- // ++ // + /** @override */ + useSystemTheme() { + chrome.send('useSystemTheme'); Property changes on: head/devel/electron6/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/electron6/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html =================================================================== --- head/devel/electron6/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html (nonexistent) +++ head/devel/electron6/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html (revision 518408) @@ -0,0 +1,29 @@ +--- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2019-09-10 11:13:42 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_page.html +@@ -64,7 +64,7 @@ + +- ++ + + +- ++ +