Track and report code coverage for your package and (optionally) upload
the results to a coverage service like 'Codecov' <http://codecov.io> or
'Coveralls' <http://coveralls.io>.
Code coverage is a measure of the amount of code being exercised by a set
of tests. It is an indirect measure of test quality and completeness.
This package is compatible with any testing methodology or framework and
tracks coverage of both R code and compiled C/C++/FORTRAN code.
The motivation is to consider meson as an application, so there is only
one copy on the system, and as a python 3 program, it can build python 2
packages.
pytest-watch a zero-config CLI tool that runs pytest, and re-runs it when
a file in your project changes. It beeps on failures and can run arbitrary
commands on each passing and failing test run.
Thrift 0.12.0
New Languages
* Common LISP (cl)
* Swift
* Typescript (nodets)
Deprecated Languages
* Cocoa
Breaking Changes (since 0.11.0)
* Rust enum variants are now camel-cased instead of uppercased to conform to Rust naming conventions
* Support for golang 1.6 and earlier has been dropped.
* PHP now uses the PSR-4 loader by default instead of class maps.
* method signatures changed in the compiler's t_oop_generator.
* The C (GLib) compiler's handling of namespaces has been improved.
Known Issues (Blocker or Critical)
* build: use a single build system for thrift
* build: bootstrap.sh is missing from source tarball
* csharp: socket exhaustion in csharp implementation
* cocoa: Getters for fields defined with uppercase names do not work
* cocoa: Extended services aren't subclasses in generated Cocoa
* cocoa: Thrift de-capitalizes the name of IsSet property in Cocoa
* cpp: the http implementation is not standard; interop with other languages is spotty at best
* cpp: Impossible to build Thrift C++ library for Android (NDK)
* cpp: Using multiple async services simultaneously is not thread-safe
* haskell: Defaulted struct parameters on a service generates invalid Haskell
* nodejs: Exception swallowed by deserialization function
* nodejs: map<i64,value> key treated as hex value in JavaScript
* nodejs: ERROR in ./node_modules/thrift/lib/nodejs/lib/thrift/connection.js Module not found: Error: Can't resolve 'child_process'
* nodejs: Sequence numbering for multiplexed protocol broken
* php: sequence and reconnection management issues
* php: Error during deserialization int64 on 32-bit architecture
* php: thrift type i64 java to php serialize/deserealize not working
* php: PHP gets stuck in infinite loop
* python: sending int or float in a double field breaks the connection
* python: unix sockets can get stuck forever
* python: generated code is out of order and causes load issues
* py3: UnicodeDecideError in Python3
Build Process
* D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang
* Use Ubuntu Bionic (18.04 LTS) for CI builds instead of Artful (17.10)
* Define CI operating system coverage rules for the project and (hopefully) simplify CI a little more
* ubuntu install instructions broken on 16.04
* Appveyor builds are failing due to a haskell / cabal update in chocolatey
* optimize Dockerfile (only onetime apt-get update)
* rm `build/docker/ubuntu-trusty/Dockerfile.orig`
* Ubuntu Artful doesn't appear to be compatible with Thrift and Haxe 3.4.2
* DLang Client Pool Test fails sporadically
* CL tutorial build fails sporadically
* Make haxelib download quiet so it doesn't blow up the build log
* bootstrap.sh fails if automake=1.16.1
c_glib
* The C (GLib) compiler's handling of namespaces has been improved.
* glibC compilation issue
* c glib is unable to handle client close unexpectedly
cl (new language support in 0.12.0)
* Common Lisp support
csharp
* reserved Csharp keywords are not escaped in some cases
* C# async mode generates incorrect code with inherited services
* IAsyncResult style methods not being supported by certain transports leads to issues in mixed ISync/IAsync use cases
* Allow TBufferedTransport to be used as base class
* XML docs; code cleanup (tabs->spaces; String->string)
* protected ExceptionType type member of TApplicationException cannot be accessed
* JSONProtocol Base64 Encoding Trims Padding
* Missing dispose calls in ThreadedServer & ThreadpoolServer
* keep InnerException wherever appropriate
* IAsyncResult not supported by layered transports (buffered/framed)
cpp
* Typecasting problem on list items
* TNonblockingServer throwing THRIFT LOGGER: TConnection::workSocket(): THRIFT_EAGAIN (unavailable resources)
* TBufferTransports.h does not compile under Visual Studio 2017
* TNonblockingServer crash because of limitation of select()
* TZlibTransport.cpp doesn't ensure that there is enough space for the zlib flush marker in the buffer.
* ZeroMQ contrib library needs a refresh
* TSSLServerSocket incorrectly prints errors
* Move `TAsyncProtocolProcessor` into main thrift library
* evhttp_connection_new is deprecated; use evhttp_connection_base_new
compiler
* Compiler cannot be compiled on macOS(maybe also on other platforms with clang)
* Thrift generates wrong Python code for immutable structures with optional members
* thrift generated code is not stable for constants
* Avoid updating Thrift compiler generated code if the output has not changed
* Visual Studio Compiler project should link runtime statically in release builds
* plugin.thrift t_const_value is not used as a union in C++ code -- fix this
* Dealing with language keywords in Thrift (e.g. service method names)
* repeated runs of compiler produce different binary output at plugin interface
dlang
* Thrift will not build with dlang 2.078 or later
* dlang servers logError on normal client disconnection
* D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang
dart
* Effective Dart and Exceptions
* Shouldn't download dart.deb directly.
delphi
* Calling wrong exception CTOR leads to "call failed: unknown result" instead of the real exception being thrown
* uncompileable code with member names that are also types under specific conditions
* Add Async implementation via IFuture
* Possible invalid ptr AV with overlapped read/write on pipes
* Thrift exceptions should derive from TException
* buffered transport broken when trying to re-open a formerly closed transport
* Move Thrift.Console.pas out of the Library
* Allow a default service as fallback for multiplex processors connected by old clients
* Large writes/reads may cause range check errors in debug mode
* Compiler directive should match Delphi XE4
* First line in Console duplicated
* FPU ctrl word settings may cause an unexpected "denormalized" error
erlang
* Erlang records should use map() for map type
* Erlang records should allow 'undefined' for non-required fields
* Fix erlang tutorial unpack on Windows
* Ubuntu Xenial erlang 18.3 "make check" fails
golang
* Support for golang 1.6 and earlier has been dropped.
* Go generator assigns strings to field in const instead of pointers.
* Unions Field Count Does Not Consider Binary
* Golang: Panic on p.c.Call when using deprecated initializers
* Required field incorrectly marked as set when fieldType does not match
* Golang: -remote.go client cleanup
* TSimpleServer can exit Accept loop with lock still acquired
* Add support for go 1.10
* golang tests rely on gomock, which has change behaviour, causing tests to fail
* Communication crash when using binary/compact protocol and zlib transport
* golang race detected when closing listener socket
haskell
* Haskell builds with older cabal cannot reconcile complex version requirements
java
* Thrift does not compile due to Ant Maven task errors
* Compiling Thrift from source: Class org.apache.tools.ant.taskdefs.ConditionTask doesn't support the nested "typefound" element
* proposal: add nullability annotations to generated Java code
* Generate missing @Nullable annotations for Java iterator getters
* Getter of binary field in Java creates unnecessary copy
* libthrift is deployed on central with pom packaging instead of jar
* Java Configure Fails for Ant >= 1.10
* Java libraries missing from package when using cmake
* pom files are not generated or provided in the build
* Maven can't download resource from central when behind a proxy and won't use local repository
* Optional rethrow of unhandled exceptions in java processor
* Able to set keyStore and trustStore as InputStream in the TSSLTransportFactory.TSSLTransportParameters
* Pass message of unhandled exception to optional rethrow.
* Remove assertion in Java SASL code that would be ignored in release builds
* Include popular IDE file templates to gitignore
* Make TThreadPoolServer.executorService_ available in inherited classes and refactor methods to be able customization
* Fix logic of THRIFT-2268
* Increase Java Socket Buffer Size
* Remove Magic Number In TFIleTransport
js
* JavaScript: Use modern Promise implementations
* let / const variable decorators for es6 compiler
* ES6 Classes
* JS: readI32 performance on large arrays is very poor in Chrome
* js and nodejs libraries need to be refreshed with current libraries
* thrift.js: Incorrect usage of 'this' in TWebSocketTransport.__onOpen
* Deserialization of nested list discards content
* JS WebSocket client callbacks invoked twice on parallel requests
* Duplicate declaration of InputBufferUnderrunError in lib/nodejs/lib/thrift/json_protocol.js
* Add prettier for consistent JS code formatting
lua
* lua client uses two write() calls per framed message send
* Can't "make install" Lua Library
netcore
* .NET Core Server doesn't close properly when cancelled
* Update .NET Core components, add tests for .Net Core library and .Net Core compiler, fix bugs and build process
* JSONProtocol Base64 Encoding Trims Padding
node.js
* Error handling malformed arguments leaks memory, corrupts transport buffers causing next RPC to fail
* Memory leak while calling oneway method
* add typescript directory support
* TBufferedTransport can leave corrupt data in the buffer
* Node.js Fileserver webroot path
* Unix domain socket support for NodeJS client
* node.js json_protocol throws error in skip function
* NodeJS: Expose Int64 from browser.js for consumption by browser
* NodeJS warning on binary_protocol writeMessageEnd when seqid = 0
perl
* Replace the use of Perl Indirect Object Syntax calls to new()
* Thrift CPAN release is missing Makefile.PL and the clients are unable to build the module
* Perl CPAN Packaging Improvements
php
* PHP generator use PSR-4 default
* PHP generated code match PSR-2
* Extending Thrift class results in "Attempt serialize from non-Thrift object"
* TSocket block on read
* migrate php library to psr-4
* infinite loop in latest PHP library
* TBufferedTransport must have underlying transport
* lib/php/test should be checked for PSR-2
* add phpcs back
* php library use PSR-2
* TCurlClient doesn't check for HTTP status code
* TCurlClient: show actual error message when throwing TTransportException
* Add stream context support into PHP/THttpClient
* reduce php library directory depth
python
* Twisted, slots, and void method fails with "object has no attribute 'success'"
* Potentially server-crashing typo in Python TNonblockingServer
* Supporting TBinaryProtocolAccelerated protocol when using TMultiplexedProcessor in Python
* Outdated cipher string in python unit test
* python build on Vagrant Windows boxes fails
* THeader for Python
* make socket backlog configurable for python
* Python: cleanup socket timeout settings
ruby
* Thrift RSpec test suite fails with Ruby 2.4.x due to Fixnum deprecation
* Support ruby rspec 3
* Add ssl socket option to ruby cross tests
* Add seek support to TCompactInputProtocol in Rust
* Codegen Creates Invalid Ruby for Recursive Structs
* Fix the genspec for ruby so it does not complain about an invalid license
rust
* Rust const string calls function at compile time
* Rust enum name wrong case in generated structs
* Avoid generating conflicting struct names in Rust code
* Rust generation should include #![allow(non_snake_case)] or force conform to Rust style guidelines
* Rust binary protocol and buffered transport cannot handle writes above 4096 bytes
* Rust framed transport cannot handle writes above 4096 bytes
* Rust's TBinaryInputProtocol fails when strict is false
* Dart -> Rust Framed cross tests fail
* Rust cannot create ReadHalf/WriteHalf to implement custom tranports
swift (new language support in 0.12.0)
* Swift Library
test suite
* Gracefully shutdown cross-test servers to fully test teardown
* Add .NET Core to the make cross standard test suite
* Add unix domain sockets in ruby to cross test - code exists
typescript (new language support in 0.12.0)
* add typescript directory support
Also reorganize several dependencies in Makefile and buildlink3.mk.
See the following post for details:
https://mail-index.netbsd.org/pkgsrc-users/2019/09/07/msg029327.htmlhttps://mail-index.netbsd.org/pkgsrc-users/2019/09/13/msg029356.html
Upstream changes (from NEWS):
== Ruby-GNOME 3.3.8: 2019-09-10
This is a partially GLib 2.62.0 support release.
=== Changes
==== All
* Improvements
* Changed our project name to Ruby-GNOME from Ruby-GNOME2.
[GitHub#1277][Suggested by kojix2]
[GitHub#1291][Patch by kojix2]
* Stopped to release (({.tar.gz})) because they are no longer
used.
==== Ruby/GLib2
* Improvements
* (({GLib.convert})): Changed to set correct encoding.
* (({GLib::FILENAME_ENCODING})): Added.
* Changed to use the same enum object for the same enum value.
* (({GLib::Enum.find})): Added.
* (({GLib::Bytes#initialize})): Changed to reuse (({String})) data
even if the given (({String})) isn't frozen.
* (({GLib::Bytes.try_convert})): Added.
* (({GLib::Enum.try_convert})): Added.
* (({GLib::Flags.try_convert})): Added.
* (({GLib::Type.try_convert})): Added.
* (({GLib::MkEnums.create})): Added support for flags to enum
definition.
[GitHub#1295][Patch by Mamoru TASAKA]
==== Ruby/GIO2
* Fixes
* Renamed to (({Gio::Icon#hash})) from (({Gio::Icon.hash})).
[GitHub#1293][Reported by Erik Czumadewski]
==== Ruby/GObjectIntrospection
* Improvements
* Introduced (({try_convert})) protocol.
==== Ruby/CairoGObject
* Improvements
* (({Cairo::Context.try_convert})): Added.
* (({Cairo::Device.try_convert})): Added.
* (({Cairo::Pattern.try_convert})): Added.
* (({Cairo::Surface.try_convert})): Added.
* (({Cairo::ScaledFont.try_convert})): Added.
* (({Cairo::FontFace.try_convert})): Added.
* (({Cairo::FontOptions.try_convert})): Added.
* (({Cairo::Region.try_convert})): Added.
=== Thanks
* kojix2
* Erik Czumadewski
* Mamoru TASAKA
SOPE is an extensive set of frameworks which form a complete Web application server environment. Besides the Apple WebObjects compatible appserver extended with Zope concepts, it contains a large set of reusable classes: XML processing (SAX, DOM, XML-RPC), MIME/IMAP4 processing, LDAP connectivity, RDBMS connectivity, and iCalendar parsing.
libcbor is a C library for parsing and generating CBOR, the
general-purpose schema-less binary data format.
From cbor.io:
RFC 7049 Concise Binary Object Representation
"The Concise Binary Object Representation (CBOR) is a data format
whose design goals include the possibility of extremely small code
size, fairly small message size, and extensibility without the need
for version negotiation."
wayland-protocols contains Wayland protocols that add functionality not
available in the Wayland core protocol. Such protocols either add
completely new functionality, or extend the functionality of some other
protocol either in Wayland core, or some other protocol in
wayland-protocols.
A protocol in wayland-protocols consists of a directory containing a set
of XML files containing the protocol specification, and a README file
containing detailed state and a list of maintainers.
Wayland is a protocol for a compositor to talk to its clients as
well as a C library implementation of that protocol.
Wayland is intended to be simpler replacement for the X window
system, easier to develop and maintain.
Generate your Rd documentation, 'NAMESPACE' file, and collation field
using specially formatted comments. Writing documentation in-line with
code makes it easier to keep your documentation up-to-date as your
requirements change. 'Roxygen2' is inspired by the 'Doxygen' system
for C++.
Simulates the process of installing a package and then attaching it.
This is a key part of the 'devtools' package as it allows you to
rapidly iterate while developing a package.
Run 'R CMD check' from 'R' and capture the results of the individual
checks. Supports running checks in the background, timeouts, pretty
printing and comparing check results.
Automate package and project setup tasks that are otherwise performed
manually. This includes setting up unit testing, test coverage,
continuous integration, Git, 'GitHub', licenses, 'Rcpp', 'RStudio'
projects, and more.
Provides functions used to build R packages. Locates compilers needed
to build R packages on various platforms and ensures the PATH is
configured appropriately so R can use them.
It is sometimes useful to perform a computation in a separate R
process, without affecting the current R process at all. This packages
does exactly that.
Software testing is important, but, in part because it is frustrating
and boring, many of us avoid it. 'testthat' is a testing framework for
R that is easy to learn and use, and integrates with your existing
'workflow'.
Interface to the 'libgit2' library, which is a pure C implementation
of the 'Git' core methods. Provides access to 'Git' repositories to
extract data and running some basic 'Git' commands.
Robust, reliable and flexible paths to files below a project root. The
'root' of a project is defined as a directory that matches a certain
criterion, e.g., it contains a certain regular file.
Query and print information about the current R session. It is similar
to 'utils::sessionInfo()', but includes more information about
packages, and where they were installed from.
Download and install R packages stored in 'GitHub', 'BitBucket', or
plain 'subversion' or 'git' repositories. This package provides the
'install_*' functions in 'devtools'. Indeed most of the code was
copied over from 'devtools'.
Parse simple '.ini' configuration files to an structured list. Users
can manipulate this resulting list with lapply() functions. This same
structured list can be used to write back to file after modifications.
A backend for the selecting functions of the 'tidyverse'. It makes it
easy to implement select-like functions in your own packages in a way
that is consistent with other 'tidyverse' interfaces for selection.
Flexible Isometric Free Engine (FIFE) is a multi-platform isometric game
engine written in C++. It comes with Python bindings allowing users to create
games using Python as well as C++.
Fifechan is a lightweight cross platform GUI library written in C++ specifically
designed for games. It has a small yet powerful built in set of extendable
GUI Widgets allowing users to create virtually unlimited types of widgets.
A set of functions to run code 'with' safely and temporarily modified
global state. Many of these functions were originally a part of the
'devtools' package, this provides a simple package with limited
dependencies to provide access to these functions.
A series of additional Tcl commands and Tk widgets with style and
various functions (under Windows: DDE exchange, access to the registry
and icon manipulation) to supplement the tcltk package
Streamlined data import and export by making assumptions that the user
is probably willing to make: 'import()' and 'export()' determine the
data structure from the file extension, reasonable defaults are used
for data import and export (e.g., 'stringsAsFactors=FALSE'), web-based
import is natively supported (including from SSL/HTTPS), compressed
files can be read directly without explicit decompression, and fast
import packages are used where appropriate. An additional convenience
function, 'convert()', provides a simple method for converting between
file types.
Tests and assertions to perform frequent argument checks. A
substantial part of the package was written in C to minimize any
worries about execution time overhead.
xulrunner192 was the last remains of Firefox 3.6 in pkgsrc.
The last package depending on xulrunner192 was devel/swt. swt isn't used by
anything in pkgsrc (old versions of eclipse which weren't imported, maybe),
and was originally added by jmcneill, who says it can be removed now.
Gcovr provides a utility for managing the use of the GNU gcov utility
and generating summarized code coverage results. This command is
inspired by the Python coverage.py package, which provides a similar
utility for Python.
This module provides a one-to-one interface with the GitLab API v4. Much
is not documented here as it would just be duplicating GitLab's own API
Documentation.
Note that this distribution also includes the gitlab-api-v4 command-line
interface (CLI).
importlib_metadata is a library which provides an API for accessing an
installed package's metadata, such as its entry points or its top-level name.
This functionality intends to replace most uses of pkg_resources entry point
API and metadata API. Along with importlib.resources in Python 3.7 and newer
(backported as importlib_resources for older versions of Python), this can
eliminate the need to use the older and less efficient pkg_resources package.
importlib_metadata is a backport of Python 3.8's standard library
importlib.metadata module for Python 2.7, and 3.4 through 3.7. Users of Python
3.8 and beyond are encouraged to use the standard library module, and in fact
for these versions, importlib_metadata just shadows that module. Developers
looking for detailed API descriptions should refer to the Python 3.8 standard
library documentation.
Backported, durable, and portable selectors designed to replace the standard
library selectors module.
Features
* Support for all major platforms. (Linux, Mac OS, Windows)
* Support many different selectors
- select.kqueue (BSD, Mac OS)
- select.devpoll (Solaris)
- select.epoll (Linux 2.5.44+)
- select.poll (Linux, Mac OS)
- select.select - (Linux, Mac OS, Windows)
* Support for PEP 475 (Retries system calls on interrupt)
* Support for modules which monkey-patch the standard library after import
(like greenlet, gevent)
* Support for systems which define a selector being available but don't
actually implement it.
Pyrsistent is a number of persistent collections (by some referred to as
functional data structures). Persistent in the sense that they are immutable.
All methods on a data structure that would normally mutate it instead return a
new copy of the structure containing the requested updates. The original
structure is left untouched.
This will simplify the reasoning about what a program does since no hidden side
effects ever can take place to these data structures. You can rest assured that
the object you hold a reference to will remain the same throughout its lifetime
and need not worry that somewhere five stack levels below you in the darkest
corner of your application someone has decided to remove that element that you
expected to be there.
Pyrsistent is influenced by persistent data structures such as those found in
the standard library of Clojure. The data structures are designed to share
common elements through path copying. It aims at taking these concepts and make
them as pythonic as possible so that they can be easily integrated into any
python program without hassle.
Run applications under pseudo-terminal (PTY) sessions and replace
TCL/Expect with a simple tool under your favorite shell (sh, bash,
csh, tcsh, ksh, zsh, etc.).
Packaged by David Weller-Fahy in PR pkg/53955.
The PyObjC project aims to provide a bridge between the Python and Objective-C
programming languages. The bridge is intended to be fully bidirectional,
allowing the Python programmer to take full advantage of the power provided by
various Objective-C based toolkits and the Objective-C programmer transparent
access to Python based functionality.
This package contains wrappers for framework 'CoreSpotlight'.
Tevent is an event system based on the talloc memory management library. It is
the core event system used in Samba.
The low level tevent has support for many event types, including timers,
signals, and the classic file descriptor events.
Tevent also provide helpers to deal with asynchronous code providing the
tevent_req (tevent request) functions.
2.0.7:
Bug fixes:
- Fixed assertion in PromptSession: the style_transformation check was wrong.
- Removed 'default' attribute in PromptSession. Only ask for it in the
prompt() method. This fixes the issue that passing default once, will
store it for all consequent calls in the PromptSession.
- Ensure that __pt_formatted_text__ always returns a FormattedText
instance. This fixes an issue with print_formatted_text.
New features:
- Improved handling of situations where stdin or stdout are not a terminal.
(Print warning instead of failing with an assertion.)
- Added print_container utility.
- Sound bell when attempting to edit read-only buffer.
- Handle page-down and page-up keys in RadioList.
- Accept any collections.abc.Sequence for HSplit/VSplit children (instead of
lists only).
- Improved Vi key bindings: return to navigation mode when Insert is pressed.
2.0.6:
Bug fixes:
- Don't use the predefined ANSI colors for colors that are defined as RGB.
(Terminals can assign different color schemes for ansi colors, and we don't
want use any of those for colors that are defined like #aabbcc for instance.)
- Fix in handling of CPRs when patch_stdout is used.
Backwards incompatible changes:
- Change to the Buffer class. Reset the buffer unless the accept_handler
returns True (which means: "keep_text"). This doesn't affect applications
that use PromptSession.
New features:
- Added AdjustBrightnessStyleTransformation. This is a simple style
transformation that improves the rendering on terminals with light or dark
background.
- Improved performance (string width caching and line height calculation).
- Improved TextArea:
* Exposed focus_on_click.
* Added attributes: auto_suggest, complete_while_typing, history,
get_line_prefix, input_processors.
* Made attributes writable: lexer, completer, complete_while_typing,
accept_handler, read_only, wrap_lines.
2.0.5:
Bug fixes:
- Fix in DynamicContainer. Return correct result for get_children. This
fixes a bug related to focusing.
- Properly compute length of start, end and sym_b characters of
progress bar.
- CPR (cursor position request) fix.
Backwards incompatible changes:
- Stop restoring PromptSession attributes when exiting prompt.
New features:
- Added get_line_prefix attribute to window. This opens many
possibilities:
* Line wrapping (soft and hard) can insert whitespace in front
of the line, or insert some symbols in front. Like the Vim "breakindent"
option.
* Single line prompts also support line continuations now.
* Line continuations can have a variable width.
- For VI mode: implemented temporary normal mode (control-O in insert mode).
- Added style transformations API. Useful for swapping between light and
dark color schemes. Added swap_light_and_dark_colors parameter to
prompt() function.
- Added format() method to ANSI formatted text.
- Set cursor position for Button widgets.
- Added pre_run argument to PromptSession.prompt() method.
2.0.4:
Bug fixes:
- Fix render height for rendering full screen applications in Windows.
- Fix in TextArea. Set accept_handler to None if not given.
- Go to the beginning of the next line when enter is pressed in Vi navigation
mode, and the buffer doesn't have an accept handler.
- Fix the default argument of the prompt function when called multiple
times.
- Display decomposed multiwidth characters correctly.
- Accept history in prompt() function again.
Backwards incompatible changes:
- Renamed PipeInput to PosixPipeInput. Added Win32PipeInput and
create_input_pipe.
- Pass buffer argument to the accept_handler of TextArea.
New features:
- Added accept_default argument to prompt().
- Make it easier to change the body/title of a Frame/Dialog.
- Added DynamicContainer.
- Added merge_completers for merging multiple completers together.
- Add vt100 data to key presses in Windows.
- Handle left/right key bindings in Vi block insert mode.
2.0.3:
Bug fixes:
- Fix in 'x' and 'X' Vi key bindings. Correctly handle line endings and args.
- Fixed off by one error in Vi line selection.
- Fixed bugs in Vi block selection. Correctly handle lines that the selection
doesn't cross.
- Python 2 bugfix. Handle str/unicode correctly.
- Handle option+left/right in iTerm.
2.0.2:
Bug fixes:
- Python 3.7 support: correctly handle StopIteration in asynchronous generator.
- Fixed off-by-one bug in Vi visual block mode.
- Bugfix in TabsProcessor: handle situations when the cursor is at the end of
the line.
This is a collection of normalized lua functions for Lua 5.1
(including LuaJIT), 5.2 and 5.3.
It can inject deterministic versions of core Lua functions that do not
behave identically across all supported Lua implementations into your
module's lexical environment. Each function is as thin and fast a
version as is possible in each Lua implementation, evaluating to the
Lua C implementation with no overhead when semantics allow.
From Edgar Fuß in PR pkg/53600
bit32 is the native Lua 5.2 bit manipulation library, in the version
from Lua 5.3; it is compatible with Lua 5.1, 5.2 and 5.3.
From Edgar Fuß in PR pkg/53600
This package contains exception exceptions and implementations which are so
general purpose that they don't belong in Zope application-specific packages.
stem-1.7.0: Python library for controlling the tor daemon
nyx-2.0.4: curses monitor for the tor daemon
sbws-0.8.0: bandwidth scanner
nyx is a standalone application, so give it a meta-package net/nyx
with no py- prefix.
sbws is a standalone application too but only for designated Tor
plumbers, not for ordinary users, so leave it as py-sbws.
This package contains a single module, which implements a platform independent
file lock in Python, which provides a simple way of inter-process communication.
Pytest plugin to randomly order tests and control random.seed.
* Randomly shuffles the order of test items. This is done first at the level of
modules, then at the level of test classes (if you have them), then at the
order of functions. This also works with things like doctests.
* Resets random.seed() at the start of every test case and test to a fixed
number - this defaults to time.time() from the start of your test run, but
you can pass in --randomly-seed to repeat a randomness-induced failure.
* If factory boy is installed, its random state is reset at the start of every
test. This allows for repeatable use of its random 'fuzzy' features.
* If faker is installed, its random state is reset at the start of every test.
This is also for repeatable fuzzy data in tests - factory boy uses faker for
lots of data.
The Python dis module allows you to disassemble bytecode from the same version
of Python that you are running on. But what about bytecode from different
versions?
That's what this package is for. It can "marshal load" Python bytecodes from
different versions of Python. The command-line routine pydisasm will show
disassembly output using Python 3.6 disassembly conventions.
Also, if you need to modfiy and write bytecode, the routines here can be of
help. There are routines to pack and unpack the read-only tuples in Python's
Code type. For interoperability between Python 2 and 3 we provide our own
versions of the Code type, and we provide routines to reduce the tedium in
writing a bytecode file.
This package also has an extensive knowledge of Python bytecode magic numbers,
including Pypy and others, and how to translate from sys.sys_info major, minor,
and release numbers to the corresponding magic value.
So If you want to write a cross-version assembler, or a bytecode-level
optimizer this package may also be useful. In addition to the kinds of
instruction categorization that dis offers, we have additional categories for
things that would be useful in such a bytecode optimizer.
xxHash is an Extremely fast Hash algorithm, running at RAM speed
limits. It successfully completes the SMHasher test suite which
evaluates collision, dispersion and randomness qualities of hash
functions.
"Provide dummy implementations of pthread functions like mutex operations
to enable libraries to be used in both thread-aware and non-threaded
programs.
This is for NetBSD<=2; newer operating systems don't need it."
Announced on tech-pkg on 2018-03-25.
Behavior-driven development (or BDD) is an agile software development technique
that encourages collaboration between developers, QA and non-technical or
business participants in a software project.
behave uses tests written in a natural language style, backed up by Python code.
The zc.lockfile package provides a basic portable implementation of
interprocess locks using lock files. The purpose if not specifically to lock
files, but to simply provide locks with an implementation based on file-locking
primitives. Of course, these locks could be used to mediate access to other
files. For example, the ZODB file storage implementation uses file locks to
mediate access to file-storage database files. The database files and lock file
files are separate files.
RGBDS (Rednex Game Boy Development System) is a free assembler/linker
package for the Game Boy and Game Boy Color. It consists of:
* rgbasm (an assembler)
* rgblink (a linker)
* rgbfix (a checksum/header fixer)
* rgbgfx (a PNG-to-Game Boy graphics converter)
This is a fork of the original RGBDS which aims to make the programs
more like other UNIX tools.
carton is a command line tool to track the Perl module dependencies for
your Perl application. Dependencies are declared using cpanfile format,
and the managed dependencies are tracked in a cpanfile.snapshot file,
which is meant to be version controlled, and the snapshot file allows
other developers of your application will have the exact same versions
of the modules.
Menlo::Legacy is a package to install Menlo::CLI::Compat which is a
compatibility library that implements the classic version of cpanminus
internals and behavios. This is so that existing users of cpanm and API
clients such as Carton, Carmel and App::cpm) can rely on the stable
features and specific behaviors of cpanm.
This way Menlo can evolve and be refactored without the fear of breaking
any downstream clients, including cpanm itself.
Menlo is a backend for cpanm 2.0, developed with the goal to replace
cpanm internals with a set of modules that are more flexible, extensible
and easier to use.
Parse::PMFile - parses .pm file as PAUSE does
The most of the code of this module is taken from the PAUSE code as of
April 2013 almost verbatim. Thus, the heart of this module should be
quite stable. However, I made it not to use pipe ("-|") as well as I
stripped database-related code. If you encounter any issue, that's most
probably because of my modification.
This module doesn't provide features to extract a distribution or parse
meta files intentionally.
This module provides a common library for working with a variety of CPAN
index services. It is intentionally minimalist, trying to use as few
non-core modules as possible.
The CPAN::Common::Index module is an abstract base class that defines a
common API. Individual backends deliver the API for a particular index.
* [ Mark Haber ]
* Fix hours_since for git fake bare repos
* [ Tom Hoover ]
* Fix 'no defined update command error' in example config
* [ Pavel Nakonechnyi ]
* More meaningful names for temporary files
* [ Paul Wise ]
* Mitigate vulns caused by git code execution (CVE-2018-7032)
* Migrate from ack-grep to ack
* More reliable output supervision
* Improve the status output for CVS
* Improve the git-cvs extension
* Allow prepending commands to existing commands
* Allow for fallback to default commands
* Add support for caching command output
* Add shell extension to maintain a repo status cache
* Add graph, remote, upgrade extensions
* git registration improvements
* webcheckout: prefer https transport
pkgsrc changes:
- Rename directory to myrepos, catching up with package name change years ago
PyHamcrest is a framework for writing matcher objects, allowing you to
declaratively define "match" rules. There are a number of situations where
matchers are invaluable, such as UI validation, or data filtering, but it is in
the area of writing flexible tests that matchers are most commonly used.
When writing tests it is sometimes difficult to get the balance right between
overspecifying the test (and making it brittle to changes), and not specifying
enough (making the test less valuable since it continues to pass even when the
thing being tested is broken). Having a tool that allows you to pick out
precisely the aspect under test and describe the values it should have, to a
controlled level of precision, helps greatly in writing tests that are "just
right." Such tests fail when the behavior of the aspect under test deviates
from the expected behavior, yet continue to pass when minor, unrelated changes
to the behaviour are made.
This project provides a database of test results which can be used as part of
developer workflow to ensure/check things like:
* No commits without having had a test failure, test fixed cycle.
* No commits without new tests being added.
* What tests have failed since the last commit (to run just a subset).
* What tests are currently failing and need work.
Test results are inserted using subunit (and thus anything that can output
subunit or be converted into a subunit stream can be accepted).
Specifications for callback functions passed in to an API
If your code lets other people supply callback functions, it's important to
specify the function signature you expect, and check that functions support
that. Adding extra parameters later would break other peoples code unless
you're careful.
backcall provides a way of specifying the callback signature using a prototype
function.
Taint::Util wraps perl's internal routines for checking and setting
the taint flag and thus does not rely on regular expressions for
untainting or odd tricks involving eval and kill for checking
whether data is tainted, instead it checks and flips a flag on the
scalar in-place.