diff --git a/dev-embedded/esphome/Manifest b/dev-embedded/esphome/Manifest index 6b2fad24a..b4848e7b8 100644 --- a/dev-embedded/esphome/Manifest +++ b/dev-embedded/esphome/Manifest @@ -8,6 +8,7 @@ DIST esphome-1.12.0b3.tar.gz 454671 BLAKE2B 1390f6774cdc042d6012e34fc162939a358b DIST esphome-1.12.0b4.tar.gz 454735 BLAKE2B 249c7af515cb95f60a7b2bf4b94d8c8af28d40a876eaff58232e0e8a7540700a10c30f98d225272d96c44b8913ae696274ae503de68a11b3b21bcc83a46351d2 SHA512 b4416bea17c2a57fa1d176d486be4a9e6368b065fe636195daa8392593040e2f8f44b44f52a0b7c30d3285a650358c71c887a83e1830432395dfa837f00f537a EBUILD esphome-1.11.1-r1.ebuild 2128 BLAKE2B 2834973f853ec775fe4839ebb0c169df48cf7388934ef15c5386d77c960aaee1d5138fc181a4f1c192207983f602fc563c6bfe28f528cfa5fb22ba568accc3bb SHA512 d173b7ce17d0d1025ec50420ef9382a72e02f29cab1e79b79e668970cf0a2e0769393ca4f38bbd4a589c04647bcc8f1853730dbf37b66ff11e3326ac64ff00ff EBUILD esphome-1.11.2-r1.ebuild 2128 BLAKE2B 2834973f853ec775fe4839ebb0c169df48cf7388934ef15c5386d77c960aaee1d5138fc181a4f1c192207983f602fc563c6bfe28f528cfa5fb22ba568accc3bb SHA512 d173b7ce17d0d1025ec50420ef9382a72e02f29cab1e79b79e668970cf0a2e0769393ca4f38bbd4a589c04647bcc8f1853730dbf37b66ff11e3326ac64ff00ff +EBUILD esphome-1.12.0-r1.ebuild 2272 BLAKE2B 0249ec14aada441d43cd3509f5c3896e1b500f9196f6337aeab2fc389315c6d93dc30280bc1fc1a2dc6bdd14d852361f3f424036be8a8421181b1ea969c81510 SHA512 515fc7442641734b11a0b898add8389a3825ce6fb4751c754262b99dbdaa03cb5fbcc6a43d876e17dc01706b7e70ba4e035ffb5dfd778166fc4d39d50a5e7451 EBUILD esphome-1.12.0.ebuild 2273 BLAKE2B 0905ed218237d20e83ccda0b4ac6b922371e50a85d73021001432d75a754032e89e48307561a4633b90c7c9308730692bbb83d2294f5ad7235f3d3d83e8e7c8e SHA512 91648c59f4811bfc545f778e44a9114a4a313e4fc52d3a633aa58953239376cedb45765317c5a2e579c38575db15634f91d09975d309242e21f7219fc94fb2b1 EBUILD esphome-1.12.0_beta3.ebuild 2274 BLAKE2B cddbb2597eafa9ed46692315209e698ca687a4815c05593b21c9790f321e94192f466edb79f3cabfe06420dae8a866d5b63318c593a59be814582a2b16a683af SHA512 6945b2eb911ab72dc9aac75dcfbd0f7efe379f9870db7cb5e5e07b186f64881a4743535ce897a4133cb54c2cb6f92438957a12bd5d39cce331c8e70ecb0cc54b EBUILD esphome-1.12.0_beta4.ebuild 2274 BLAKE2B cddbb2597eafa9ed46692315209e698ca687a4815c05593b21c9790f321e94192f466edb79f3cabfe06420dae8a866d5b63318c593a59be814582a2b16a683af SHA512 6945b2eb911ab72dc9aac75dcfbd0f7efe379f9870db7cb5e5e07b186f64881a4743535ce897a4133cb54c2cb6f92438957a12bd5d39cce331c8e70ecb0cc54b diff --git a/dev-embedded/esphome/esphome-1.12.0-r1.ebuild b/dev-embedded/esphome/esphome-1.12.0-r1.ebuild new file mode 100644 index 000000000..f0843e3fe --- /dev/null +++ b/dev-embedded/esphome/esphome-1.12.0-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit user readme.gentoo-r1 distutils-r1 + +MY_P=${P/_beta/b} +MY_PV=${PV/_beta/b} + +DESCRIPTION="Make creating custom firmwares for ESP32/ESP8266 super easy." +HOMEPAGE="https://github.com/esphome/esphome https://pypi.org/project/esphome/" + +SRC_URI="https://github.com/esphome/esphome/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="server test" + +RDEPEND="" +DEPEND="${REDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/tzlocal-1.5.1[${PYTHON_USEDEP}] + >=dev-python/voluptuous-0.11.5[${PYTHON_USEDEP}] + >=dev-embedded/platformio-3.6.5 + >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] + >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}] + >=dev-python/colorlog-3.1.2[${PYTHON_USEDEP}] + >=www-servers/tornado-5.1.1[${PYTHON_USEDEP}] + >=dev-embedded/esptool-2.6[${PYTHON_USEDEP}] + >=dev-python/typing-3.6.6[${PYTHON_USEDEP}] + >=dev-python/protobuf-python-3.7[${PYTHON_USEDEP}] + >=dev-python/pyserial-3.4[${PYTHON_USEDEP}] + >=dev-python/ifaddr-0.1.6[${PYTHON_USEDEP}] + server? ( >=dev-python/ifaddr-0.1.6 ) + test? ( + dev-python/nose[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + )" + +DISABLE_AUTOFORMATTING=1 +DOC_CONTENTS=" +The ESPHome dashboard listens on port 6052 +ESPHome configuration is in: /etc/${PN} +dashboard command line arguments are configured in: /etc/conf.d/${PN} +logging is to: /var/log/${PN}/{dashboard,warnings}.log +support at https://git.edevau.net/onkelbeh/HomeAssistantRepository +" + +S="${WORKDIR}/${MY_P}" + +DOCS="README.md" + +pkg_setup() { + if use server; then + enewgroup "${PN}" + enewuser "${PN}" -1 -1 "/etc/${PN}" "${PN}" + fi +} + +python_install_all() { + dodoc ${DOCS} + distutils-r1_python_install_all + + if use server; then + keepdir "/etc/${PN}" + fowners -R "${PN}:${PN}" "/etc/${PN}" + + keepdir "/var/log/${PN}" + fowners -R "${PN}:${PN}" "/var/log/${PN}" + + newconfd "${FILESDIR}/${PN}.conf.d" "${PN}" + newinitd "${FILESDIR}/${PN}.init.d-r1" "${PN}" + + readme.gentoo_create_doc + fi +} + +python_test() { + nosetests --verbose || die + py.test -v -v || die +} + +pkg_postinst() { + if use server; then + readme.gentoo_print_elog + fi +} diff --git a/dev-embedded/esphome/files/esphome.init.d b/dev-embedded/esphome/files/esphome.init.d deleted file mode 100644 index 22dc58f1d..000000000 --- a/dev-embedded/esphome/files/esphome.init.d +++ /dev/null @@ -1,30 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -description="ESPHome dashboard" - -command_user="esphome:esphome" - -command="/usr/bin/esphomeyaml" -command_args=" - /etc/esphome - dashboard - ${ESPHOME_OPTS} -" - -output_log="/var/log/esphome/stdout.log" -error_log="/var/log/esphome/dashboard.log" - -command_background=yes -pidfile=/run/esphome.pid - -depend() { - need net - after bootmisc -} - -start_pre() { - checkpath --file --owner $command_user --mode 0644 $output_log - checkpath --file --owner $command_user --mode 0644 $error_log -} diff --git a/dev-embedded/esptool/Manifest b/dev-embedded/esptool/Manifest new file mode 100644 index 000000000..bf554d4b6 --- /dev/null +++ b/dev-embedded/esptool/Manifest @@ -0,0 +1,3 @@ +DIST esptool-2.6.tar.gz 80198 BLAKE2B 17e288c9b018590a364637edbef6c6f1513c42f435327682715df9196f4d1a28cd2e84f573a740dc55a3de60d5801819d00118afae9576d6a6acd9213af26b16 SHA512 e3687cc11c61c14939938be207e92ffcf856b675df924a4776932ecb4e4dcfd9d0c5a000e8599383145b1cdc7b558610c20136f3c51c197e91d5f14cd32dbce3 +EBUILD esptool-2.6.ebuild 741 BLAKE2B ba9d660edc15762726503c622256be9c7824de2dda4f33693c900aa922651df73124b8145872239b719ad13e87ae59d2e329d1bef3aa5440eee38b13d3640eb7 SHA512 ddfa15fbde3adcdfd717ae82e8aee5958bbc93e9ff0c90d0b289a16927c5dc89d89decec2432d9c8a0d823c2056e0585e3d330cff19e793b801da48221710bde +MISC metadata.xml 449 BLAKE2B 517225c4d9d06734745bf749ec6cf81f325146bab22eff7a0577fdf16d005d82f12dc3f426c71f902558c9725506a13e0b60fe1f7ec00818ec5e3a902a15e8c8 SHA512 67e5139fe841bd608087ee72ab5e25e688abe48892a8cf9e18ebcd61223ff16de03840510fe2e4eac852ad8e0c0da32df2edc797cb1b77a7a48639c2a3d16e10 diff --git a/dev-embedded/esptool/esptool-2.6.ebuild b/dev-embedded/esptool/esptool-2.6.ebuild new file mode 100644 index 000000000..43cbf9dc9 --- /dev/null +++ b/dev-embedded/esptool/esptool-2.6.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) + +inherit distutils-r1 + +DESCRIPTION="Utility to communicate with the ROM bootloader in Espressif ESP8266 and ESP32" +HOMEPAGE="https://github.com/espressif/esptool" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" +RDEPEND="${DEPEND} + dev-python/ecdsa[${PYTHON_USEDEP}] + dev-python/pyaes[${PYTHON_USEDEP}] + >=dev-python/pyserial-2.5[${PYTHON_USEDEP}]" + +RESTRICT="test" # Uses a device connected to the serial port + +python_test() { + ${EPYTHON} test/test_esptool.py || die +} diff --git a/dev-embedded/esptool/metadata.xml b/dev-embedded/esptool/metadata.xml new file mode 100644 index 000000000..4f9e54266 --- /dev/null +++ b/dev-embedded/esptool/metadata.xml @@ -0,0 +1,15 @@ + + + + + m.j.everitt@iee.org + Michael Everitt + + + proxy-maint@gentoo.org + Proxy Maintainers + + + espressif/esptool + + diff --git a/dev-libs/protobuf/Manifest b/dev-libs/protobuf/Manifest new file mode 100644 index 000000000..e6925eb8f --- /dev/null +++ b/dev-libs/protobuf/Manifest @@ -0,0 +1,9 @@ +AUX 70protobuf-gentoo.el 170 BLAKE2B 6d9a92bd3310ca09d18dd762bc0bbd4b0b36184c17f95c80c02183c457fe4ff1142ca1e3207e5a77c078fe5f768cb3e85abc712abc1f4c85774ca1ebf178059b SHA512 ed73cd6b1bf6c0019e4da73c3a480b0f917e949dfad2696336e805263c81610b2a8a0514840e389db0f0e78252cf053d754c5e07731dc5e9c93c9e88f0b2923c +AUX proto.vim 49 BLAKE2B 9b6d31105811a8f8cbcf76328172fda5b66b33351bb16573ed1ed08d4c553af2805962a6d6609fbdad4a2644bf9cecd1e771a557f138111ad2c0be959b497ee9 SHA512 65c1f49887c17973d1dfce07fa86d04c5079d2382826eaeb22e128570717f181c53d22ba50905252021f7e476a90ecd29f9d18799c1ccea64b01f4638323538e +AUX protobuf-3.6.0-disable_no-warning-test.patch 965 BLAKE2B 6ec0b1fc9d9d0be4f6dc9bc023d65b6b04c98d624ca4d1926cff0554d774d7cffd8d3597383acff1b7aca1a92dff4dd8368d5d86f1612aace16ede836f025af5 SHA512 82e601a26e51903e6b193c50960024240aecd3ddeeba8b29f437c550ad0bd277573ea4f83bcd70b2a4187c7df2b25af2790de22fb6f009640c403a9502d703be +AUX protobuf-3.6.0-protoc_input_output_files.patch 9632 BLAKE2B 6466f6f6cf08e7a9a89ced8281790593fa9ea85e029d59ff20bba8c9add16bbb039a44d1839516bb109b9a2b269773640b43e6137fb9ccf5f100ef4109ad2b8d SHA512 8ac3c42684869e1b45d0d1ec70912610eaaa6962bc14d9a89b1244f424af7d638b4905b6dbd7445cd5f54bc4520fc1fbae88c66d9f4a9169db879abd1fba2faf +AUX protobuf-3.6.0-system_libraries.patch 6323 BLAKE2B 0fb8e389a58b76c592b592782900b48bb6c68e85fc159d4b9a59a43ab5a116916f7d9ef15cca392e5751f015a887f855631abb124b4d4109d51f6ba401059549 SHA512 ab58b9aa9d1398a15346d6e85611ad826f8e52744aa137ca4f138348b4738afc7c6cd27129f925f5142edac7e272d56da880a83b216b2ce264804d6967997728 +AUX protobuf-3.6.1-libatomic_linking.patch 1753 BLAKE2B 50f8ac92dfada973ebcd187fa508a46ddd5d4e034e2eade2a3fcbb35ffab771578b241fa9a5343b46e91c90c4507e1d3a75a1bebc3426dbb1694c0fbb8cc03bf SHA512 c8bcb885dcf7d2871136a6410750aad69a61450b5a4bc80df56246a5875e1e9895d2d63e9e9e6deda3c4e516cd07344b92619457ef41f4f2ff0710c774957466 +DIST protobuf-3.7.0.tar.gz 4784675 BLAKE2B cb65f3384c7b0f015ab48081764ee9e01ad4bcffdb4903025774d95626f804fb9f72532371cc090de2b2e86c4bb0eb8f618d1cf8ff4d9c54d281c45a43b1cd8b SHA512 c570ece1d42706982dd87f601af6b3dd1d788d1b150b543190d10d2f070c67f0d006726ec4eafd3b9234a679e7ef77ac9d97749414f53f619287a1f23a0b739c +EBUILD protobuf-3.7.0.ebuild 2538 BLAKE2B cdb7ed32938dcdc58e2c85e2c51f6d33ee2a960df6f0885b4ab4df7483ec1e873fb49444bce6a56d881bb6ede0972fdd75e744f9d769af8b160e1f36ee09c7df SHA512 f87873947266f45285734fa8cda6736a5090e320021a0ca8776bf8dd87780965cf835bd3f45657503fe2a360af25235ee8fd6f1371714f7bb8d9bc2c91d6d21c +MISC metadata.xml 543 BLAKE2B 43724e6d32707c62de4e1daffe50ba943c66286f6fe2357ec7171dad9feb7407049c26da517442957d61c11229617bd639d60bf070e7eedab8c871956cb3577a SHA512 f5a65ed219ff9f36c9d7bfdfe3bfe080ce0920e72f31f69820cc16822a04cdb38ec3c5d6b776b3c6cfde0bfc74c474558d048b706ac89e9405376e88504b8983 diff --git a/dev-libs/protobuf/files/70protobuf-gentoo.el b/dev-libs/protobuf/files/70protobuf-gentoo.el new file mode 100644 index 000000000..51370527f --- /dev/null +++ b/dev-libs/protobuf/files/70protobuf-gentoo.el @@ -0,0 +1,3 @@ +(add-to-list 'load-path "@SITELISP@") +(add-to-list 'auto-mode-alist '("\\.proto\\'" . protobuf-mode)) +(autoload 'protobuf-mode "protobuf-mode" "Google protobuf mode." t) diff --git a/dev-libs/protobuf/files/proto.vim b/dev-libs/protobuf/files/proto.vim new file mode 100644 index 000000000..6d26809ef --- /dev/null +++ b/dev-libs/protobuf/files/proto.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.proto set filetype=proto diff --git a/dev-libs/protobuf/files/protobuf-3.6.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.6.0-disable_no-warning-test.patch new file mode 100644 index 000000000..834f6b0d1 --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.6.0-disable_no-warning-test.patch @@ -0,0 +1,19 @@ +Disable no-warning-test which is compiled with -Werror option and whose only purpose is checking if compilation results in any warnings. + +--- /src/Makefile.am ++++ /src/Makefile.am +@@ -717,7 +717,7 @@ + GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock + check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ + protobuf-lite-test test_plugin protobuf-lite-arena-test \ +- no-warning-test $(GZCHECKPROGRAMS) ++ $(GZCHECKPROGRAMS) + protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ + $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ + $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +@@ -900,4 +900,4 @@ + + TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \ + google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \ +- protobuf-lite-arena-test no-warning-test ++ protobuf-lite-arena-test diff --git a/dev-libs/protobuf/files/protobuf-3.6.0-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.6.0-protoc_input_output_files.patch new file mode 100644 index 000000000..8b583522f --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.6.0-protoc_input_output_files.patch @@ -0,0 +1,233 @@ +https://github.com/protocolbuffers/protobuf/pull/235 + +--- /src/google/protobuf/compiler/command_line_interface.cc ++++ /src/google/protobuf/compiler/command_line_interface.cc +@@ -931,6 +931,28 @@ + } + + if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) { ++ bool success = false; ++ int in_fd = STDIN_FILENO; ++ int out_fd = STDOUT_FILENO; ++ ++ if (!protobuf_in_path_.empty()) { ++ in_fd = open(protobuf_in_path_.c_str(), O_RDONLY); ++ if (in_fd == -1) { ++ std::cerr << protobuf_in_path_ << ": error: failed to open file." << std::endl; ++ return 1; ++ } ++ } ++ if (!protobuf_out_path_.empty()) { ++ out_fd = open(protobuf_out_path_.c_str(), ++ O_WRONLY | O_CREAT | O_TRUNC, ++ 0644); ++ if (out_fd == -1) { ++ std::cerr << protobuf_out_path_ << ": error: failed to open file." << std::endl; ++ close(in_fd); ++ return 1; ++ } ++ } ++ + if (codec_type_.empty()) { + // HACK: Define an EmptyMessage type to use for decoding. + DescriptorPool pool; +@@ -939,13 +961,20 @@ + file.add_message_type()->set_name("EmptyMessage"); + GOOGLE_CHECK(pool.BuildFile(file) != NULL); + codec_type_ = "EmptyMessage"; +- if (!EncodeOrDecode(&pool)) { +- return 1; +- } ++ success = EncodeOrDecode(&pool, in_fd, out_fd); + } else { +- if (!EncodeOrDecode(descriptor_pool.get())) { +- return 1; +- } ++ success = EncodeOrDecode(descriptor_pool.get(), in_fd, out_fd); ++ } ++ ++ if (in_fd != STDIN_FILENO) { ++ close(in_fd); ++ } ++ if (out_fd != STDOUT_FILENO) { ++ close(out_fd); ++ } ++ ++ if (!success) { ++ return 1; + } + } + +@@ -983,6 +1012,11 @@ + for (int i = 0; i < proto_path_.size(); i++) { + source_tree->MapPath(proto_path_[i].first, proto_path_[i].second); + } ++ if (mode_ == MODE_COMPILE && ++ (!protobuf_in_path_.empty() || !protobuf_out_path_.empty())) { ++ std::cerr << "--protobuf_in and --protobuf_out are only valid with " ++ << "decode operations. Ignoring."; ++ } + + // Map input files to virtual paths if possible. + if (!MakeInputsBeProtoPathRelative(source_tree)) { +@@ -1571,6 +1605,12 @@ + + codec_type_ = value; + ++ } else if (name == "--protobuf_in") { ++ protobuf_in_path_ = value; ++ ++ } else if (name == "--protobuf_out") { ++ protobuf_out_path_ = value; ++ + } else if (name == "--error_format") { + if (value == "gcc") { + error_format_ = ERROR_FORMAT_GCC; +@@ -1693,18 +1733,29 @@ + " --version Show version info and exit.\n" + " -h, --help Show this text and exit.\n" + " --encode=MESSAGE_TYPE Read a text-format message of the given type\n" +-" from standard input and write it in binary\n" +-" to standard output. The message type must\n" +-" be defined in PROTO_FILES or their imports.\n" +-" --decode=MESSAGE_TYPE Read a binary message of the given type from\n" +-" standard input and write it in text format\n" +-" to standard output. The message type must\n" ++" an write it in binary. The message type must\n" + " be defined in PROTO_FILES or their imports.\n" +-" --decode_raw Read an arbitrary protocol message from\n" +-" standard input and write the raw tag/value\n" +-" pairs in text format to standard output. No\n" ++" The input/output protobuf files are specified\n" ++" using the --protobuf_in and --protobuf_out\n" ++" command line flags.\n" ++" --decode=MESSAGE_TYPE Read a binary message of the given type and\n" ++" write it in text format. The message type\n" ++" must be defined in PROTO_FILES or their\n" ++" imports. The input/output protobuf files are\n" ++" specified using the --protobuf_in and \n" ++" --protobuf_out command line flags.\n" ++" --decode_raw Read an arbitrary protocol message and write\n" ++" the raw tag/value pairs in text format. No\n" + " PROTO_FILES should be given when using this\n" +-" flag.\n" ++" flag. The input/output protobuf files are\n" ++" specified using the --protobuf_in and \n" ++" --protobuf_out command line flags.\n" ++" --protobuf_in Absolute path to the protobuf file to read to\n" ++" encode/decode. If omitted, file will be read\n" ++" from STDIN.\n" ++" --protobuf_out Absolute path to the protobuf file to write to\n" ++" after encode/decode operation. If omitted,\n" ++" output is written to STDOUT.\n" + " --descriptor_set_in=FILES Specifies a delimited list of FILES\n" + " each containing a FileDescriptorSet (a\n" + " protocol buffer defined in descriptor.proto).\n" +@@ -1983,7 +2034,9 @@ + return true; + } + +-bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) { ++bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool, ++ int in_fd, ++ int out_fd) { + // Look up the type. + const Descriptor* type = pool->FindMessageTypeByName(codec_type_); + if (type == NULL) { +@@ -1995,15 +2048,15 @@ + std::unique_ptr message(dynamic_factory.GetPrototype(type)->New()); + + if (mode_ == MODE_ENCODE) { +- SetFdToTextMode(STDIN_FILENO); +- SetFdToBinaryMode(STDOUT_FILENO); ++ SetFdToTextMode(in_fd); ++ SetFdToBinaryMode(out_fd); + } else { +- SetFdToBinaryMode(STDIN_FILENO); +- SetFdToTextMode(STDOUT_FILENO); ++ SetFdToBinaryMode(in_fd); ++ SetFdToTextMode(out_fd); + } + +- io::FileInputStream in(STDIN_FILENO); +- io::FileOutputStream out(STDOUT_FILENO); ++ io::FileInputStream in(in_fd); ++ io::FileOutputStream out(out_fd); + + if (mode_ == MODE_ENCODE) { + // Input is text. +--- /src/google/protobuf/compiler/command_line_interface.h ++++ /src/google/protobuf/compiler/command_line_interface.h +@@ -272,7 +272,9 @@ + GeneratorContext* generator_context, string* error); + + // Implements --encode and --decode. +- bool EncodeOrDecode(const DescriptorPool* pool); ++ bool EncodeOrDecode(const DescriptorPool* pool, ++ int in_fd, ++ int out_fd); + + // Implements the --descriptor_set_out option. + bool WriteDescriptorSet( +@@ -405,6 +407,13 @@ + // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty. + std::vector descriptor_set_in_names_; + ++ // When using --encode / --decode / --decode_raw absolute path to the output ++ // file. (Empty string indicates write to STDOUT). ++ string protobuf_out_path_; ++ // When using --encode / --decode / --decode_raw, absolute path to the input ++ // file. (Empty string indicates read from STDIN). ++ string protobuf_in_path_; ++ + // If --descriptor_set_out was given, this is the filename to which the + // FileDescriptorSet should be written. Otherwise, empty. + string descriptor_set_out_name_; +--- /src/google/protobuf/compiler/command_line_interface_unittest.cc ++++ /src/google/protobuf/compiler/command_line_interface_unittest.cc +@@ -94,7 +94,7 @@ + virtual void SetUp(); + virtual void TearDown(); + +- // Runs the CommandLineInterface with the given command line. The ++ // Run the CommandLineInterface with the given command line. The + // command is automatically split on spaces, and the string "$tmpdir" + // is replaced with TestTempDir(). + void Run(const string& command); +@@ -2337,6 +2337,17 @@ + EXPECT_EQ(StripCR(expected_text), StripCR(captured_stderr_)); + } + ++ void ExpectBinaryFilesMatch(const string &expected_file, ++ const string &actual_file) { ++ string expected_output, actual_output; ++ ASSERT_TRUE(File::ReadFileToString(expected_file, &expected_output)); ++ ASSERT_TRUE(File::ReadFileToString(actual_file, &actual_output)); ++ ++ // Don't use EXPECT_EQ because we don't want to print raw binary data to ++ // stdout on failure. ++ EXPECT_TRUE(expected_output == actual_output); ++ } ++ + private: + void WriteUnittestProtoDescriptorSet() { + unittest_proto_descriptor_set_filename_ = +@@ -2427,6 +2438,18 @@ + "google/protobuf/no_such_file.proto: No such file or directory\n"); + } + ++TEST_P(EncodeDecodeTest, RedirectInputOutput) { ++ string out_file = TestTempDir() + "/golden_message_out.pbf"; ++ string cmd = ""; ++ cmd += "google/protobuf/unittest.proto "; ++ cmd += "--encode=protobuf_unittest.TestAllTypes "; ++ cmd += "--protobuf_in=" + TestSourceDir() + ++ "/google/protobuf/testdata/text_format_unittest_data_oneof_implemented.txt "; ++ cmd += "--protobuf_out=" + out_file; ++ EXPECT_TRUE(Run(cmd)); ++ ExpectBinaryFilesMatch(out_file, TestSourceDir() + "/google/protobuf/testdata/golden_message_oneof_implemented"); ++} ++ + INSTANTIATE_TEST_CASE_P(FileDescriptorSetSource, + EncodeDecodeTest, + testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN)); diff --git a/dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch new file mode 100644 index 000000000..b1408f050 --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch @@ -0,0 +1,121 @@ +--- /Makefile.am ++++ /Makefile.am +@@ -11,28 +11,10 @@ + # Always include third_party directories in distributions. + DIST_SUBDIRS = src conformance benchmarks third_party/googletest + +-# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS +-# because then "make check" would also build and run all of gmock's own tests, +-# which takes a lot of time and is generally not useful to us. Also, we don't +-# want "make install" to recurse into gmock since we don't want to overwrite +-# the installed version of gmock if there is one. + check-local: +- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock" +- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la +- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la + +-# We would like to clean gmock when "make clean" is invoked. But we have to +-# be careful because clean-local is also invoked during "make distclean", but +-# "make distclean" already recurses into gmock because it's listed among the +-# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to +-# cd to the directory again and "make clean" it will fail. So, check that the +-# Makefile exists before recursing. + clean-local: +- @if test -e third_party/googletest/Makefile; then \ +- echo "Making clean in googletest"; \ +- cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \ +- fi; \ +- if test -e conformance/Makefile; then \ ++ @if test -e conformance/Makefile; then \ + echo "Making clean in conformance"; \ + cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \ + fi; \ +--- /configure.ac ++++ /configure.ac +@@ -209,12 +209,5 @@ + + AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory]) + +-# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS, +-# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock +-# too. +-export CFLAGS +-export CXXFLAGS +-AC_CONFIG_SUBDIRS([third_party/googletest]) +- + AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc]) + AC_OUTPUT +--- /src/Makefile.am ++++ /src/Makefile.am +@@ -711,19 +711,11 @@ + google/protobuf/testing/file.cc \ + google/protobuf/testing/file.h + +-GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest +-GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock +-GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest +-GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock + check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ + protobuf-lite-test test_plugin protobuf-lite-arena-test \ + $(GZCHECKPROGRAMS) + protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la +-protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \ +- -I$(GOOGLEMOCK_SRC_DIR)/include ++ -lgtest -lgmock -lgmock_main + # Disable optimization for tests unless the user explicitly asked for it, + # since test_util.cc takes forever to compile with optimization (with GCC). + # See configure.ac for more info. +@@ -811,12 +803,8 @@ + # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. + protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ + libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la +-protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ +- -I$(GOOGLETEST_SRC_DIR)/include \ +- -DPROTOBUF_TEST_NO_DESCRIPTORS ++ -lgtest -lgmock -lgmock_main ++protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS + protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) + protobuf_lazy_descriptor_test_SOURCES = \ + google/protobuf/compiler/cpp/cpp_unittest.cc \ +@@ -837,11 +825,7 @@ + # full runtime and we want to make sure this test builds without full + # runtime. + protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la +-protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \ +- -I$(GOOGLETEST_SRC_DIR)/include ++ -lgtest -lgmock -lgmock_main + protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) + protobuf_lite_test_SOURCES = \ + google/protobuf/lite_unittest.cc \ +@@ -853,11 +837,7 @@ + # gtest when building the test internally our memory sanitizer doesn't detect + # memory leaks (don't know why). + protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la +-protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ +- -I$(GOOGLETEST_SRC_DIR)/include ++ -lgtest -lgmock -lgmock_main + protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) + protobuf_lite_arena_test_SOURCES = \ + google/protobuf/lite_arena_unittest.cc \ +@@ -867,8 +847,7 @@ + + # Test plugin binary. + test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la +-test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include ++ -lgtest + test_plugin_SOURCES = \ + google/protobuf/compiler/mock_code_generator.cc \ + google/protobuf/testing/file.cc \ diff --git a/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch b/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch new file mode 100644 index 000000000..2b357b213 --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch @@ -0,0 +1,49 @@ +https://github.com/protocolbuffers/protobuf/issues/5219 +https://github.com/protocolbuffers/protobuf/pull/5227 +https://github.com/protocolbuffers/protobuf/commit/56b40a8f055cfd05633054aed5d3466a6e058b72 + +--- /configure.ac ++++ /configure.ac +@@ -165,6 +165,22 @@ + ]) + AM_CONDITIONAL([HAVE_ZLIB], [test $HAVE_ZLIB = 1]) + ++dnl On some platforms, std::atomic needs a helper library ++AC_MSG_CHECKING(whether -latomic is needed) ++AC_LINK_IFELSE([AC_LANG_SOURCE([[ ++ #include ++ #include ++ std::atomic v; ++ int main() { ++ return v; ++ } ++]])], STD_ATOMIC_NEED_LIBATOMIC=no, STD_ATOMIC_NEED_LIBATOMIC=yes) ++AC_MSG_RESULT($STD_ATOMIC_NEED_LIBATOMIC) ++if test "x$STD_ATOMIC_NEED_LIBATOMIC" = xyes; then ++ LIBATOMIC_LIBS="-latomic" ++fi ++AC_SUBST([LIBATOMIC_LIBS]) ++ + AS_IF([test "$with_protoc" != "no"], [ + PROTOC=$with_protoc + AS_IF([test "$with_protoc" = "yes"], [ +--- /src/Makefile.am ++++ /src/Makefile.am +@@ -163,7 +163,7 @@ + + lib_LTLIBRARIES = libprotobuf-lite.la libprotobuf.la libprotoc.la + +-libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS) ++libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS) $(LIBATOMIC_LIBS) + libprotobuf_lite_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined + if HAVE_LD_VERSION_SCRIPT + libprotobuf_lite_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf-lite.map +@@ -209,7 +209,7 @@ + google/protobuf/io/zero_copy_stream.cc \ + google/protobuf/io/zero_copy_stream_impl_lite.cc + +-libprotobuf_la_LIBADD = $(PTHREAD_LIBS) ++libprotobuf_la_LIBADD = $(PTHREAD_LIBS) $(LIBATOMIC_LIBS) + libprotobuf_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined + if HAVE_LD_VERSION_SCRIPT + libprotobuf_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf.map diff --git a/dev-libs/protobuf/metadata.xml b/dev-libs/protobuf/metadata.xml new file mode 100644 index 000000000..f37667040 --- /dev/null +++ b/dev-libs/protobuf/metadata.xml @@ -0,0 +1,18 @@ + + + + + arfrever.fta@gmail.com + Arfrever Frehtes Taifersar Arahesis + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Soname version number + + + protocolbuffers/protobuf + + diff --git a/dev-libs/protobuf/protobuf-3.7.0.ebuild b/dev-libs/protobuf/protobuf-3.7.0.ebuild new file mode 100644 index 000000000..97129b917 --- /dev/null +++ b/dev-libs/protobuf/protobuf-3.7.0.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs + +DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" +HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" +SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/17" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" +IUSE="emacs examples static-libs test zlib" + +RDEPEND="emacs? ( virtual/emacs ) + zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )" + +PATCHES=( + "${FILESDIR}/${PN}-3.6.0-disable_no-warning-test.patch" + "${FILESDIR}/${PN}-3.6.0-system_libraries.patch" + "${FILESDIR}/${PN}-3.6.0-protoc_input_output_files.patch" +) +# "${FILESDIR}/${PN}-3.6.1-libatomic_linking.patch" + +DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI + multilib-minimal_src_configure +} + +multilib_src_configure() { + local options=( + $(use_enable static-libs static) + $(use_with zlib) + ) + + if tc-is-cross-compiler; then + # Build system uses protoc when building, so protoc copy runnable on host is needed. + mkdir -p "${WORKDIR}/build" || die + pushd "${WORKDIR}/build" > /dev/null || die + ECONF_SOURCE="${S}" econf_build "${options[@]}" + options+=(--with-protoc="$(pwd)/src/protoc") + popd > /dev/null || die + fi + + ECONF_SOURCE="${S}" econf "${options[@]}" +} + +src_compile() { + multilib-minimal_src_compile + + if use emacs; then + elisp-compile editors/protobuf-mode.el + fi +} + +multilib_src_compile() { + if tc-is-cross-compiler; then + emake -C "${WORKDIR}/build/src" protoc + fi + + default +} + +multilib_src_test() { + emake check +} + +multilib_src_install_all() { + find "${D}" -name "*.la" -delete || die + + insinto /usr/share/vim/vimfiles/syntax + doins editors/proto.vim + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/proto.vim" + + if use emacs; then + elisp-install ${PN} editors/protobuf-mode.el* + elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" + fi + + if use examples; then + DOCS+=(examples) + docompress -x /usr/share/doc/${PF}/examples + fi + + einstalldocs +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest new file mode 100644 index 000000000..3cb4ed1c8 --- /dev/null +++ b/dev-python/protobuf-python/Manifest @@ -0,0 +1,3 @@ +DIST protobuf-3.7.0.tar.gz 4784675 BLAKE2B cb65f3384c7b0f015ab48081764ee9e01ad4bcffdb4903025774d95626f804fb9f72532371cc090de2b2e86c4bb0eb8f618d1cf8ff4d9c54d281c45a43b1cd8b SHA512 c570ece1d42706982dd87f601af6b3dd1d788d1b150b543190d10d2f070c67f0d006726ec4eafd3b9234a679e7ef77ac9d97749414f53f619287a1f23a0b739c +EBUILD protobuf-python-3.7.0.ebuild 1255 BLAKE2B 4a258f7a8e674a56572525d8bbc3df360318c5b347cc0a8cfc7e192751f9ce2cbfe541060a956a02d48657e59eb8f65360bbdb2184ac673f67bf2c56c61562f5 SHA512 6de00197cc7e097365958d54e2a3775083fc931a5d2a32346e600e78fa178f6e7755dafb00c376d5f5dd3dc9bd559de97b39817b82368b87b719380ac2ebbd61 +MISC metadata.xml 656 BLAKE2B e63db63e247b105b51b506a404d8edc821cc0ccc276a3f813df3b06951184218e736e57b577ad2f64880250c55ef09c50a9fe04428f7cec02fb04293c337175a SHA512 5d747585e025672d423690fa2d8df09380a1714c2e0adad5838a41f099e3984b70c7f80c5873ea296101898cd92dea70edee964bf01b9d86acb9a1d0140169fd diff --git a/dev-python/protobuf-python/metadata.xml b/dev-python/protobuf-python/metadata.xml new file mode 100644 index 000000000..0b20fcb37 --- /dev/null +++ b/dev-python/protobuf-python/metadata.xml @@ -0,0 +1,22 @@ + + + + + arfrever.fta@gmail.com + Arfrever Frehtes Taifersar Arahesis + + + proxy-maint@gentoo.org + Proxy Maintainers + + + python@gentoo.org + Python + + + Soname version number of Protobuf + + + protocolbuffers/protobuf + + diff --git a/dev-python/protobuf-python/protobuf-python-3.7.0.ebuild b/dev-python/protobuf-python/protobuf-python-3.7.0.ebuild new file mode 100644 index 000000000..f39a6961f --- /dev/null +++ b/dev-python/protobuf-python/protobuf-python-3.7.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6,3_7}) + +inherit distutils-r1 + +DESCRIPTION="Google's Protocol Buffers - Python bindings" +HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" +SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz" + +LICENSE="BSD" +SLOT="0/17" +KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" +IUSE="" + +DEPEND="${PYTHON_DEPS} + ~dev-libs/protobuf-${PV} + dev-python/namespace-google[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}]" +RDEPEND="${DEPEND} + ! + + + + python@gentoo.org + Python + + + enable support for C implementation using libyaml + + diff --git a/dev-python/pyyaml/pyyaml-5.1.ebuild b/dev-python/pyyaml/pyyaml-5.1.ebuild new file mode 100644 index 000000000..fb7f9db9c --- /dev/null +++ b/dev-python/pyyaml/pyyaml-5.1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy pypy3 ) + +inherit distutils-r1 + +MY_PN="PyYAML" +MY_P="PyYAML-${PV}" + +DESCRIPTION="YAML parser and emitter for Python" +HOMEPAGE="https://pyyaml.org/wiki/PyYAML https://pypi.org/project/PyYAML/" +SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +IUSE="examples libyaml" + +RDEPEND="libyaml? ( dev-libs/libyaml )" +DEPEND="${RDEPEND} + libyaml? ( $(python_gen_cond_dep 'dev-python/cython[${PYTHON_USEDEP}]' python2_7 'python3*') )" + +S="${WORKDIR}/${MY_P}" + +python_configure_all() { + mydistutilsargs=( $(use_with libyaml) ) +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF} + fi +} diff --git a/dev-python/typing/Manifest b/dev-python/typing/Manifest index bb598ca04..e528453a2 100644 --- a/dev-python/typing/Manifest +++ b/dev-python/typing/Manifest @@ -1,5 +1,7 @@ DIST typing-3.5.3.0.tar.gz 60350 BLAKE2B 56b59ce3e38f0d17aed88b3e47c89383798c5d7f781c65d8f7a960ae11c16c30837254b1b1f198116ea9bc748b93faf672844661b0c811b07961c3e814811228 SHA512 e1930de61cbb0b49ebeec49b87ce3a60752ed062ebf44ff2c5becf2e19a22726d08607ce6723b5b4e633190d8a9686176d44f7672c44bd246acb8e367c5d3c37 DIST typing-3.6.4.tar.gz 71347 BLAKE2B dd49919595698347ce4b1004abd075409296acf11e10dd6ae0697d2bf94dc9d1cebedb2afe454be95eddb80fd0a60aebe14ddadc8df8de86545dd2ea05986c57 SHA512 f595e0fc395ba13a129ae45681faca7b199fd5c23e8f1573f49e2a6f162b7f2aef680306e76cbf50b978de9f047c674323219981e89c476474295bb8c02211ce +DIST typing-3.6.6.tar.gz 71799 BLAKE2B d2dccb031b0489acce32fcff7061dc5b12b8fe5890041a47e41b8f109596a125e66619f099dff1cc73852771b0acf3e48637d70aeb9f4274500b6b61ff807c79 SHA512 9baa331a2093276b571f26a21ab6419e85138574109471141eb88ccddb6c30adb6fbda35f11aeb1231adc334191c426c242494b17d593a2b279f09dea1b1f0ca EBUILD typing-3.5.3.0.ebuild 623 BLAKE2B ed970ba343288db7a3b4f6725faf4b861bb482c784076582c1331e943e0690f5614a7e1c6a1f2cdab21224b8fcbea0a1caba68c0ae2bcd6a621323d972c26f5c SHA512 e9c5385d56a05de044e7593345b97697dd529b443364a22f533f1c98190b5636078d65f8e0c012c69a8e22e78930478c46280660ed2619d1a2802a18b1b178f3 EBUILD typing-3.6.4-r1.ebuild 770 BLAKE2B 2a8944a66f0cd81283dc1d36eae3022ffe117d1818ac80f0bd72ef250bb9e1cf57920f97b6382c75b47fa70cb6486deeefc3f4cc2fc814953bcd97dd94d3c60c SHA512 a2306ef1bc1b36c823131dd1c2b47b72e0ccb44b3d3bb884bc165c673f2dd1fb090c61243f612f59eab3816c06b75e5b06264b784dc5a2cbfd5529b4ff451873 +EBUILD typing-3.6.6.ebuild 770 BLAKE2B 2a8944a66f0cd81283dc1d36eae3022ffe117d1818ac80f0bd72ef250bb9e1cf57920f97b6382c75b47fa70cb6486deeefc3f4cc2fc814953bcd97dd94d3c60c SHA512 a2306ef1bc1b36c823131dd1c2b47b72e0ccb44b3d3bb884bc165c673f2dd1fb090c61243f612f59eab3816c06b75e5b06264b784dc5a2cbfd5529b4ff451873 MISC metadata.xml 252 BLAKE2B 507e0ddc9d50b879ff374b903b142f85d020dfd6c486aba2af84fe082c878e780edbb79188ae10104d57db0eb775c86814cc8c06891a3854c9da840a4d377050 SHA512 9470ac9c8a5a4f80e3f767e7aa198addc7b21866c63b2a310e9f41ce65817672fb77423117bdd619e99cb62322025aeadf50717e23eafabf99080fcc106820af diff --git a/dev-python/typing/typing-3.6.6.ebuild b/dev-python/typing/typing-3.6.6.ebuild new file mode 100644 index 000000000..8fe5391db --- /dev/null +++ b/dev-python/typing/typing-3.6.6.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2019 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit distutils-r1 + +DESCRIPTION="Type Hints for Python" +HOMEPAGE="https://docs.python.org/3/library/typing.html https://pypi.org/project/typing/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x64-solaris" +IUSE="" + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" +RDEPEND="" + +python_test() { + if [[ ${EPYTHON} == python2* || ${EPYTHON} == pypy ]]; then + cd "${S}"/python2 || die + else + cd "${S}"/src || die + fi + + "${PYTHON}" test_typing.py || die "tests failed under ${EPYTHON}" +} diff --git a/dev-python/tzlocal/Manifest b/dev-python/tzlocal/Manifest index c0e15e361..cbfe3c6a9 100644 --- a/dev-python/tzlocal/Manifest +++ b/dev-python/tzlocal/Manifest @@ -1,3 +1,5 @@ DIST tzlocal-1.4.tar.gz 15279 BLAKE2B 2d1814c2a4fd2ed5b4b345c94e1cad05c850ab02764fc76e33940aa5f2c4c593c376e9252ca9524a0fc5732b201c222e7d4c1374c2842de6686e277dd537468f SHA512 e846f00cb0571da0c891ca8576d614ebfed622431201c713ef38a80fc990fa19298873bad74e5020648ec4b8307ce8362412e0e05d260121e9d70691814a321b +DIST tzlocal-1.5.1.tar.gz 16809 BLAKE2B e2d73cc7a47623deb179af92b590dd558beed214ea9f203012c0947e848ac7a3abc27a5f00dec666eedfbe5909f1c3ab3521267bf9d417d7e734744693df7742 SHA512 9141e3941435fa16afe040f49b8225cdc3434e10003275fe5df9166cb9562764a51c83bc16b6d5be197feb45c913859a37393e13285f0e612510ce076a6451d9 EBUILD tzlocal-1.4.ebuild 573 BLAKE2B f498a29e56c094a32194af2e5ad9ae5f970dba69b522b34d9be17b60ac66099bbb83a4c959260548e2837063e4d652aa73b3f6495c35016f9b20a8e74834b96f SHA512 c1759bbef8505e48cf00ef41b183652bb7606832f3bedc07055d166d8a1560cf9eb91d13d6f6553d44e973bff838b0e4c1730b3bb936e3e7a79dd20947c3c4f2 +EBUILD tzlocal-1.5.1.ebuild 573 BLAKE2B f498a29e56c094a32194af2e5ad9ae5f970dba69b522b34d9be17b60ac66099bbb83a4c959260548e2837063e4d652aa73b3f6495c35016f9b20a8e74834b96f SHA512 c1759bbef8505e48cf00ef41b183652bb7606832f3bedc07055d166d8a1560cf9eb91d13d6f6553d44e973bff838b0e4c1730b3bb936e3e7a79dd20947c3c4f2 MISC metadata.xml 377 BLAKE2B c85be3067a235a5d7546bcf7c3eb05857986a371bca6743e222e9016ab6d6d5a212f3f65d7e9db523ef9ddb8091b62c1cfbd2d5c5d6d8560fcf881aaa3ffad80 SHA512 3ada56c5037a2a59fb53408483f03bc3ae72c9d7f676dd046125b035b34d4195e653662b67529453d63556dedda4471a9c77daaa1137af1245e49174fef1fd87 diff --git a/dev-python/tzlocal/tzlocal-1.5.1.ebuild b/dev-python/tzlocal/tzlocal-1.5.1.ebuild new file mode 100644 index 000000000..dc86ef728 --- /dev/null +++ b/dev-python/tzlocal/tzlocal-1.5.1.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2019 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit distutils-r1 + +DESCRIPTION="tzinfo object for the local timezone" +HOMEPAGE="https://github.com/regebro/tzlocal" +SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz" + +LICENSE="CC0-1.0" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" +RDPEND="dev-python/pytz[${PYTHON_USEDEP}]" + +python_test() { + unset TZ + "${PYTHON}" -m unittest discover || die "Testing failed with ${EPYTHON}" +} diff --git a/www-servers/tornado/Manifest b/www-servers/tornado/Manifest new file mode 100644 index 000000000..3d4f82cbf --- /dev/null +++ b/www-servers/tornado/Manifest @@ -0,0 +1,3 @@ +DIST tornado-5.1.1.tar.gz 516819 BLAKE2B d0c20d34be67f8f3cb146a3107995efacb20c713e8920b5204a969ef1fa378ab0e108c83db61c065bcd232aba61e4625994b263db7394f6c07f483d2c6dbeae4 SHA512 f9ecedb20c055981f482c9a2a8bb30082dcc479674f75f6c8654afcf40f2ce5a45e82c7e2b5a6ce5d1c9da7896e865e78c7d29a64b6b1d28d6e74a718be62dc7 +EBUILD tornado-5.1.1.ebuild 1614 BLAKE2B b53658c6e6e1ff32c3e24ffcec98fc10f77f9fd13f6715cfd16e9335884bca70ce78fa072ae8b040cfd9e1f8d9b64fee8e91720bce67289cae743cdfb5e4df30 SHA512 f4cdb0adcbb69e364e9dee6baccad15ff19cae62233293cf82706b15fe5ee35b94dc62abfa5447a76658d84e768e7f60840ede1b1ccd989a8deb3b18ef3dd821 +MISC metadata.xml 380 BLAKE2B 16a28ca707ba911df09dfad39b269bd888734c1f5e54fdc57d84f62b541e284f248137a01c13055f5e9fa1e1da0a2c9e1382006119cc11ec19302516262b7dc1 SHA512 e790429d61042b60a9011710e96df0044c64cc5ac941ab6268386138d3a66e46d40ed1098ec8bc164d9f4341040946ec7231e8f28dda11790ecc482b06978771 diff --git a/www-servers/tornado/metadata.xml b/www-servers/tornado/metadata.xml new file mode 100644 index 000000000..752e51121 --- /dev/null +++ b/www-servers/tornado/metadata.xml @@ -0,0 +1,12 @@ + + + + + python@gentoo.org + Python + + + tornado + tornadoweb/tornado + + diff --git a/www-servers/tornado/tornado-5.1.1.ebuild b/www-servers/tornado/tornado-5.1.1.ebuild new file mode 100644 index 000000000..728122716 --- /dev/null +++ b/www-servers/tornado/tornado-5.1.1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 + +DESCRIPTION="Python web framework and asynchronous networking library" +HOMEPAGE="http://www.tornadoweb.org/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux" +IUSE="doc examples test" + +CDEPEND=" + $(python_gen_cond_dep 'dev-python/futures[${PYTHON_USEDEP}]' 'python2_7') + >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}] + >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}] + virtual/python-backports_abc[${PYTHON_USEDEP}] + virtual/python-futures[${PYTHON_USEDEP}] + virtual/python-singledispatch[${PYTHON_USEDEP}] +" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + doc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] + ) + test? ( + ${CDEPEND} + dev-python/mock[${PYTHON_USEDEP}] + ) +" +RDEPEND="${CDEPEND}" + +# doc without intersphinx does not build (asyncio error) +#PATCHES=( +# "${FILESDIR}"/4.5.1-drop-intersphinx.patch +#) + +python_compile_all() { + use doc && emake -C docs sphinx +} + +python_test() { + "${PYTHON}" -m tornado.test.runtests || die "tests failed under ${EPYTHON}" +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/build/html/. ) + if use examples; then + insinto /usr/share/doc/${PF}/examples + doins -r demos/. + docompress -x /usr/share/doc/${PF}/examples +fi + distutils-r1_python_install_all +}