The deeply nested expression for .for loop cannot be completely evaluated at
the time of loop expansion because PKGBASE will be assigned much later.
Approved by: bapt
This also adds a new USE_SDL=gfx2 variable to add SDL2_gfx as
LIB_DEPENDS other ports.
The SDL_gfx library evolved out of the SDL_gfxPrimitives code which provided
basic drawing routines such as lines, circles or polygons and SDL_rotozoom
which implemented a interpolating rotozoomer for SDL surfaces.
The current components of the SDL_gfx library are:
- Graphic Primitives (SDL_gfxPrimitves.h)
- Rotozoomer (SDL_rotozoom.h)
- Framerate control (SDL_framerate.h)
- MMX image filters (SDL_imageFilter.h)
WWW: http://www.ferzkopp.net/Software/SDL_gfx-2.0/
Simplify it a lot,
remove all not supported anymore web browsers,
Prepend private varible behind an underscore
Rename the gecko18, gecko19 target into a simple gecko target
If you are writing a plugin port please use this USES, and if this USES does fit your need please report it so we can improve.
Which is nice in case you end up with something like :
X11_USE= xorg=x11 xorg=ice xorg=sm xorg=xext xorg=xineramaproto
xorg=xinerama xorg=xrandr xorg=xrender xorg=xtst
now you can do :
X11_USE= xorg=x11,ice,sm,xext,xineramaproto,xinerama,xrandr,xrender,xtst
PR: ports/183892
Approved by: bapt
This allows stage dir support for python packages using easy_install
method from setuptools module.
easy_install target does not support a --root so we workaround it with
PYTHONUSERBASE and other user flags.
Submitted by: nivit, wg
With hat on: python
Exp-run: bdrewery
This allows upgrading a kernel without breaking any installed kernel ports
because during the upgrade /boot/kernel is renamed to /boot/kernel.old ,
resulting in moved files.
While /boot/modules is the default, it might be overridden by bsd.own.mk to
/boot/kernel before kmod is included, so setting MODULES_WITH_WORLD has no
effect.
This gives 2 new variables to the porters:
ALT_COMPILER_TYPE which can be empty, clang or cc depending on what ${CC} is
ALT_COMPILER_VERSION which will give the porter a 2 digit version of the alternative compiler
Requested by: many
Additionally, support staging in all ports being changed here, replace
USE_GMAKE=yes with USES=gmake and fix a typo in the CMake parameters passed
in kdevelop-kde4 when the OKTETA option is disabled.
Submitted by: Schaich Alonso <alonsoschaich@fastmail.fm>
always use the "@unexec rmdir" form in TMPPLIST. @dirrmtry lines are
substituted with this in bsd.port.mk, but only when generating TMPPLIST.
While here update the description in the header.
Submitted by: QAT for commit r332642 (8.4-QAT/i386)
Due to the RUN_DEPENDS and BUILD_DEPENDS specification of postgresql
components in bsd.database.mk not matching their package names,
net-mgmt/netmagis-database was failing during the RUN_DEPENDS stage
because it couldn't detect that a component was already installed.
Updating the pltcl line allowed that port to successfully built. The
other lines weren't tested but the problem would be the same.
Suggested by: wg
Bugfixes:
* @cmd in pkg-plist is now properly handled.
- It was previously treated the same as though there was a directory
following it, missing the prefix. (ordering matters in case...esac)
- Due to the cwd=${PREFIX} inside the while read line loop, state
tracking was broken and every new line assumed that cwd were the
prefix.
* stage-qa no longer complains about unstripped binaries if debugging is
active (WITH_DEBUG set && WITHOUT_DEBUG unset).
* The compress-man target uses ECHO_MSG, not ECHO_CMD, to print its
build step.
Additions:
* The plist parser now understands @unexec rmdir ... || ... lines,
including those with redirections, so that there are no false
positives for directories stripped with @unexec rmdir (usually
happens on stuff installed outside $PREFIX, as in /var).
* The system's root and var mtrees are now also expanded to avoid
false @dirrm positives if a port installs directories under /var
and has to create parents in the stagedir that are present in a fully
installed system (i. e. in the real $PREFIX).
* Given that pkg_create is deemed beyond repair with respect to deleting
files outside prefix, generate @unexec rmdir statements for such
directories, rather than @dirrmtry, to sidestep the problem.
Speedups:
* the orphan check now generates sorted lists of staged files,
and plisted/mtree files, and compares them with comm(1).
This saves us the overhead of running one grep process per file
and up to two per directory, and defers the actual list
processing to a shell utility. Complexity has not changed,
but overhead per item has.
* the orphan check now uses one file for directories and one file for
files mentioned in pkg-plist, so we need not decorate them with "dir "
and parse them out any longer.
* qa.sh's shebang scanner only looks at the first line of a file,
sed is told to exit from the 2nd line.
Other Changes:
* Split the makeplist/check-orphans logic out of bsd.stage.mk,
it is too unwieldy to maintain in make-escaped shell syntax,
and permits shell tracing with "SH=sh -x" (including quotes!)
* Unify the functions "makeplist" and "check-orphans" in one
script. The only difference is that makeplist assumes an empty
pkg-plist, whereas check-orphans parses it.
* overhaul the mtree extractor, avoiding awk.
Reviewed by: bapt
Approved by: portmgr (bapt)
USES=kmod takes no arguments and:
- adds kld to CATEGORIES
- sets SSP_UNSAFE
- sets IGNORE if the kernel sources are not found
- defines KMODDIR to /boot/modules by default, add it to
PLIST_SUB and MAKE_ENV, and create it upon installation
- handles cross-referencing kernel modules upon installation and
deinstallation
Approved by: bapt
- update firefox-esr to 24.1.0
- update thunderbird to 24.1.0
- update seamonkey to 22.0
- update libxul to 24.1.0
- don't remove/add share/applications directory
- remove checks for older gecko releases from bsd.gecko.mk
- drop support for FreeBSD 9.0
Not staged yet. I started working on it, but didn't finish it in time for
this release. I'll try to make the next one in 6 weeks.
In collaboration with: Jan Beich
post-install process instead of pre-install. in case pkgng is in
use.
Replace it by a new mecanism that allows to append scripts into
what will become pre-install, post-install, pre-deinstall or
post-deinstall
Change the user-group creation to use that mecanism in case the
ports tree is using pkgng.
Reported by: mandree
Reviewed by: bdrewery
${opt}_CONFIGURE_ENABLE and ${opt}_CONFIGURE_WITH now accept multiple arguments
and will be expanded accordingly, e.g.:
OPT_CONFIGURE_ENABLE= feature1 feature2 -- will add to CONFIGURE_ARGS:
OPT enabled: --enable-feature1 --enable-feature2
OPT disabled: --disable-feature1 --disable-feature2
Approved by: portmgr (bapt)
decided to build world with WITHOUT_ICONV set. There's no need for
this check to be based on OSVERSION.
Some users (i.e. me), report subtle application breakages with the
iconv-from-src that disappear when iconv-from-ports is installed.
Allow for a bridge till these issues are sorted out.
Approved by: portmgr (bdrewery)
- Provide support for Pure Programming Language based projects
PR: ports/179401
Submitted by: nemysis (self)
Approved by: pawel (mentor), bapt (portmgr)
The compiler.mk comments and code state that COMPILER_TYPE can only be
of the value "clang" or "gcc". However, the code that determines this
allows for a possible undefined third state (empty string). BMake
will emit a lot of errors about badly formatted conditionals if
COMPILER_TYPE is empty.
Since, by definition, if the COMPILER_TYPE is not clang, it must be
gcc, so skip the conditional gcc check and just set it. The entire
file must be updated if support for additional compilers is desired.
This bug was discovered because the gcc detection code failed to
identify the DragonFly base compiler (GCC 4.7.3) as gcc.
Approved by: portmgr (bapt)
Proudly brought to you by the KDE on FreeBSD team, with commits by makc@,
Schaich Alonso and yours truly.
Besides the tons of upstream fixes, we have mkspecs for GCC 4.9 and clang33
(from ports), staging support in the Makefiles and dependency fixes related
to pkg-config.
Many thanks to the people who helped test the ports using our area51
repository, and also to the people who provided patches and bug reports via
GNATS!
PR: ports/180615
ports/181921
ports/182049
Beware, this version of GCC is _not_ anywhere near ready for production
use. Use at your own risk, and rather don't use it for regular ports.
Submitted by: devzone.my@gmail.com
failure on every port that does not use shared-mime-info or need it.
Must return 0 at end of functions or it considers the last command ran as
the return code.
Reported by: eadler
With hat: portmgr
A couple of Q/A tests are done if the DEVELOPER macros is set in make.conf
Right now the tests are:
- Check if the symlinks are properly created
- Check if the binaries are stripped (just warn)
- Check if the STAGEDIR or the WORKDIR are referenced in the final files
- Check if the ports provide script with bad shebangs.
Supported arguments are:
- c++11-lang: the port needs a c++11 aware compiler what ever standard
library it uses, implies features
- c++11-lib: the port needs a c++11 standard library, implies features
- c11: the ports needs a c11 aware compiler implies features
- features: this will create a COMPILER_FEATURES variable which contains
the list of features ${CC} do support, implies env.
- env: the COMPILER_TYPE will be set to either gcc or clang.
By default the uses will try to use clang33 from ports when nothing in
base is relevant except if the user explicitly defines
FAVORITE_COMPILER=gcc in his make.conf
Please note that testing tinderbox prior to version: 4.0.1_1 is not able to
properly figure out the dependencies implied by this USES.
This is useful to be able to define extra mirrors in PATCH_SITES for
a group, while still depending on the master list of PATCH_SITES
For example:
.if ${PORT_OPTIONS:MX509}
PATCH_SITES= http://mirror1/x509-${X509_VERSION}/:x509
PATCHFILES= ${PORTNAME}-6.3p1+x509-${X509_VERSION}.diff.gz:-p1:x509
.endif
PATCH_SITES+= http://mirror2/${PORTNAME}/:DEFAULT,x509
This will use mirror1 only for the X509 option and mirror2 for X509. All
other patches will use mirror2 but not mirror1.
With hat: portmgr
PR: ports/52706
Submitted by: Alexey Neyman <alex.neyman@auriga.ru>
level to use. This allows multiple patches in 1 port to use different
PATCH_DIST_STRIP values without changing PATCH_DIST_STRIP.
Syntax: PATCHFILES= patch[:-pX][:distgroup]
PR: ports/168222
Submitted by: knu
With hat: portmgr
- Remove duplicate EXTRA_PATCHES comment
- Minor comment rewording: change "add it to" to "add its content to"
just like how we describe ${opt}_CMAKE_*
PR: ports/182626
Submitted by: sunpoet (myself)
Approved by: bapt (portmgr)
-- add PYTHON option to alsa-lib
-- drop unresponsive mirrors and those that rarely catch up
-- drop --disable-aload from alsa-lib, builds fine without
-- drop USE_LDCONFIG from alsa-plugins, useless for dlopen'd plugins
-- convert to new LIB_DEPENDS syntax and Makefile header
-- convert PLIST_SUB to OPTIONS_SUB
-- don't link alsa-utils against librt for clock_gettime(2)
-- pass paths to configure relative to --prefix value
-- install udev config(s) under PREFIX (for reference)
-- cleanup /var/lib as it's not in default MTREE_FILE
-- remove OSVERSION check for EOL releases
- allow staging
PR: ports/182245 [1]
Submitted by: Jan Beich <jbeich@tormail.org> [1]
Approved by: maintainer timeout
new DEFAULT_VERSIONS variable.
PYTHON_DEFAULT_VERSION, PYTHON2_DEFAULT_VERSION and
PYTHON3_DEFAULT_VERSION are deprecated. If you have set them in your
make.conf, you should change them something like
DEFAULT_VERSIONS=python=2.7 python2=2.7 python3=3.3
the package in STAGEDIR and then linking/copying it over to PACKAGES if
possible
With hat: portmgr
Reviewed by: bapt (earlier version)
Tested by: Stefan Bethke <stb@lassitu.de>
Reported by: many
install-package was depended on twice for install target, but it should
only be in SUSEQ
- Add a comment to make sequence code a bit more readable
With hat: portmgr
via USE_PYTHON=2 (for lang/python2) or USE_PYTHON=3 (for lang/python3).
This can be used for ports, which do not care, which specific minor
release version of Python 2.x or Python 3.x is used, as long as there
are proper symlinks to e.g. bin/python2 or bin/python3.
a kwm, zeising production:
MESA 9.1.6
Starring:
Mesa 9.1.6, including libGL, libGLU and dri (new xorg only)
Addition of libEGL and libglesv2
KMS support for ATI graphics cards in 10-current (new xorg only)
Improved sparc64 support for new xorg. [1]
pixman 0.30.2, including shlib bump and portrevision bumps
libX11 1.6.2
Make absolute pointing devices work with x11-drivers/xf86-input-mouse
x11-drivers/xf86-video-ati 7.2.0 for 10-current (KMS aware ati driver)
Also starring:
Updates to drivers and other libraries and utilities
Additional notes:
When updating MESA related ports (libGL, dri) you need to remove old versions
first. See UPDATING for details.
PR: ports/181962 [2]
Submitted by: marius [1]
zeising [2]
Exp-run by: bdrewery
Approved by: portmgr (bdrewery)
Thanks to all who helped testing!
Add support for specifying multiple versions in arguments, e.g.,
USES+=tcl:84,85. The picked version is the highest available one.
This basically brings in the last functionality that was left out in the
switch from USE_TCL to USES+=tcl, namely TCL_INVALID_VER. To specify an
invalid version, just list the valid ones.
Reviewed by: bdrewery (portmgr)
This will cause the ports framework to create the plist automatically
for distutils-based ports. All files installed via Python's distutils
mechanisms (either the traditional distutils or easy_install) will be
automtically added to the package list, regardless of the Python
version. It is somewhat similar to the RUBYGEM_AUTOPLIST knob.
- Introduce a new port Makefile knob PYTHON_PY3K_PLIST_HACK.
This automatically replaces .pyc and .pyo package list entries with
the relevant __pycache__ entries for Python 3.x. It should only be
used for ports, which do not use one of Python's default package
installation mechanisms and which are guaranteed to work with any
python version.
- perl.mk changes MAN3PREFIX only therefore we keep *MAN3 setting
- PERL5_MAN[124-9] point to non-existence directories
Submitted by: sunpoet
Reviewed by: az
Previous implementation was based on etc/man.d which doesn't exists in FreeBSD 8.
By default MANDIRS is ${MANPREFIX}/man. if a port adds USES=perl5 then the perl default locations is added
Reviewed by: bdrewery
- old USE_ZOPE knob support was removed from bsd.python.mk
- update CHANGES and bsd.sanity.mk accordingly
- add ZOPE options knob and use it in lang/py-mx-base
The work is done by Marcus von Appen, but any problems are mine.
Submitted by: mva (python ML)
The ports tree is now staged by default. With pkgng the sequence hasn't
changed, the main difference is that creating package is now independent
from installing it. With pkg_install, the package is now created first
and make install, do install the package.
New macros:
- STAGEDIR: PATH to the directory where the port will be staged.
- NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area)
Unsupported macro if NO_STAGE is not set:
- MAN* with staging man page compression and handling of hardlinks and
symlinks is automatically done in the stage. the manpages becomes then a
"normal" plist files and should be tracked in pkg-plist.
- MANCOMPRESSED the compress-man target is able to only compress when it
needed.
New target:
- stage: this installs everything into the stage directory
- makeplist: this will create a pkg-plist and print it to stdout. This is
a sample plist and it should always be _reviewed_ not directly used.
NOTE: with staging only what is in the plist will be installed, nothing more,
meaning a port staged cannot have leftovers exect directories left. It is
really important to double check the pkg-plist to make sure all the files
the maintainer want to package are in! make makeplist can help in that area.
The goal is to handle as quickly as possible a full removal of the NO_STAGE
support.
More features can be added once the full ports tree is converted to using the
staging area
Conversion notes:
- Remove NO_STAGE
- in {pre,do,post}-install
* Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES}
prepend ${STAGEDIR}
* Remove any thing that is done by @exec or +INSTALL script it will be
done automatically when syncing packages
* Remove any code to show PKG-MESSAGE it will be done automatically when
syncing packages
* Directory creation should remain in post-install (in particular because
pkgng doesn't work like pkg_install in that area and pkgng ignores the
@exec mkdir but directly pack the directory even if empty)
- PORTDOCS/PORTEXAMPELS
To support PORTDOCS, PORTEXAMPLES most of the time there is no more need
for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your
plist then the given files from the stagedir will or will not sync
according to NOPORTDOCS and NOPORTEXAMPLES.
With hat: portmgr
Reviewed by: bdrewery
has issues with 'installworld' when WITH_SSP is defined. [1]
Keep WITH_SSP support for now since it has been announced as that
already.
- Remove redundant wording in UPDATING [2]
Suggested by: bapt [1]
Reported by: blakkheim on EFNet
With hat: portmgr
on FreeBSD 10, and amd64 on earlier versions.
SSP_UNSAFE is added to disable in a port if it fails to build, but
this should only be used in rare circumstances such as kernel modules.
Otherwise, the port may just be failing due to lack of respecting
LDFLAGS.
On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in
libssp_nonshared.a to address issues linking on i386 [1].
On earlier FreeBSD versions the WITH_SSP knob will add -lssp_nonshared
to LDFLAGS on i386. This is not needed on amd64. However, several hundred
ports do not currently respect LDFLAGS, so this support is disabled currently
as it causes build failures if a dependency is looking for the stack_chk
symbols.
Many thanks to jlh@ for this as he had many years of patience in getting
all of the necessary pieces [1][2] in.
[1] http://svnweb.freebsd.org/base/head/lib/libc/libc.ldscript?revision=251668&view=markup
PR: ports/138228 [2]
Submitted by: jlh (bsd.ssp.mk based on)
Reviewed by: bapt
With hat: portmgr
exp-runs done: 37 over a month on 91i386,91amd64,10i386,10amd64
- Use bsd.default-versions.mk to specify the default Tcl/Tk version (8.6)
- Add warnings about the now deprecated use of USE_TCL, USE_TK, ...
Notes:
* USES+=tcl and USES+=tk take the following optional arguments
- either a version in the form of XY or XY+, or 'wrapper' to depend on
lang/tcl-wrapper or x11-toolkits/tk-wrapper
- either 'build' (bring in build depend) or 'run' (bring in run depend)
* it is an error to specify both 'tcl' and 'tk' in USES.
* The functionality currently implemented via INVALID_TCL_VER and
INVALID_TK_VER is not yet available.
Approved by: bapt (portmgr)
This defines a new macros for end users!
DEFAULT_VERSIONS.
This macros is used to end-users to define what version they want to be
the default version for the whole ports tree (for ports allowing that)
Syntax is the following:
DEFAULT_VERSIONS= perl5=5.18 ruby=2.0
Swith bsd.ruby.mk to use it[1], switch Uses/perl5.mk to use it[2]
If you are maintaining settable multi version port, please change it so
it uses DEFAULT_VERSIONS.
Reviewed by: ruby (swills) [1], perl (az) [2]
Approved by: ruby (swills) [1], perl (az) [2]
- update seamonkey to 2.21
- update firefox-esr to 17.0.9
- enable GSTREAMER by default for html5 with h264/aac/mp3
- WEBRTC is now always built
- add PROFILE and TESTS options
Security: 7dfed67b-20aa-11e3-b8d8-0025905a4771
In collaboration with: Jan Beich <jbeich@tormail.org>
This file is responsible to do some sanity checking on port, as well as doing some sanity checking on users configuration
New macro for developer: WARNING (this will issue a warning to the normal users can be used to warn the user about deprecating feature that will be unsupported soon.
New macro to put in your make.conf for Maintainers: DEVELOPER=yes this macro will activate warning on usage of deprecated features and errors on now unspported usage of macros.
Reviewed by: bdrewery
For minimal breakage reasons, DragonFly has OSVERSION set to the
equivalent of FreeBSD 99. When the readline compatibility for FreeBSD
10 was revoked recently, it broke a lot of dports.
Restore the default to how it was before on DragonFly only to restore
those ports using OPSYS.
Approved by: portmgr (bapt)
binary in $PATH. It can be set in case the user wants to use a
specific python2 version as a default. Its behaviour is similar
to the existing PYTHON3_DEFAULT_VERSION and fixes a small issue with
package builds for different python versions.
- Outline that PYTHON_DEFAULT_VERSION always takes precedence for a
specific python major version.
- Update lang/python2 to use PYTHON2_DEFAULT_VERSION and bump the
PORTREVISION to let the installed port catch up with the change.
- Allow PYTHON3_DEFAULT_VERSION to overriden by a user choice, if
PYTHON_DEFAULT_VERSION is not set to a python3 port.
Reported by: David Demelier <demelier.david@gmail.com>
Reviewed by: koobs@, sbz@
With hat on: python@
they point to. It only works if symlink points to the file directly and
fails if there are more than one level of symlinks. Use realpath(1) to
drill out the actual path to the shared lib and feed it to file(1)
then.
This fixes issue with cerain LIB_DEPENDS, such as databases/db42.
Approved by: portmgr (bapt)
"--with-libiconv=${LOCALBASE}" at systems pre OSVERSION 100043 and "" (null)
otherwise;
. convert all ports which has CONFIGURE_ARGS=--with-libiconv=${LOCALBASE}.
Approved by: portmgr (bapt, implicit)
after r254273
- Fix a bunch of ports to properly work after this
- Mark converters/libiconv as IGNORE for systems with iconv in libc
Reviewed by: bapt
Approved by: portmgr (bapt)
Discussed with: bapt, bsam (who both contributed ideas and code)
ports framework to use the port for *_DEPENDS= ${NONEXISTENT}:PORT:target
dependencies
An example port is irc/gseen.mod, it depends on another port being
extracted, not an installed pkg.
PR: ports/180725
Reported by: antoine
With hat: portmgr
1) Move -a from XMKMF command variable to a new XMKMF_ARGS variable.
For ports that don't need -a introduce USES=imake:notall.
This way ports no longer have to redefine XMKMF.
2) xmkmf -a runs imake with the flags in IMAKECPPFLAGS as extra arguments
to set CPP, CC and CXX. This creates the top Makefile, and then xmkmf
runs make Makefiles. This Makefiles target runs imake for each
subdirectory but these imake invocations did not have the flags from
IMAKECPPFLAGS so the resulting makefiles used the wrong C preprocessor
when clang is used (/usr/bin/cpp instead of /usr/local/bin/tradcpp).
Instead of letting xmkmf pass IMAKECPPFLAGS from the environment to
imake let imake handle IMAKECPPFLAGS itself just like it handles
IMAKEINCLUDE.
This exposed configure errors in x11-clocks/mouseclock and x11-wm/fvwm.
Approved by: portmgr (bapt)
. lib (default, implicit);
. build,
. patch.
The default is the same, all existing ports stay valid.
2. Introduce variable ICONV_CMD with default to ${LOCALBASE}/bin/iconv.
It is intended to get the value of /usr/bin/iconv at recent 10.x.
3. Adopt all ports to using USES+= icomv:build and iconv:patch and
change iconv (executable) at Makefile commands to ${ICONV_CMD} at those ports.
Submitted by: bsam (me, via e-mail)
Approved by: portmgr (bapt)
from existing packages and not fallback on building from source.
This is useful for package building tools such as poudriere and tinderbox
to avoid building from source and confusing the build log, if a dependency
failed to build for some reason.
NOTE: USE_PACKAGE_DEPENDS has not changed here. It has always
reverted to source if the package was not present.
PR: ports/180725
Submitted by: crees
With hat: portmgr
before retrying.
The previous behavior would try to download a range of the new bytes and
then hit the 'Requested Range Not Satisfiable' error and never actually
redownload the file.
This fixes cases where a port is rerolled and distinfo updated, but
users have a bad distfile sitting there that they would manually need
to remove.
Reviewed by: bapt
Reported by: danfe
With hat: portmgr
MAKE_ENV. This only intended to ignore PATH.
All of these were not supporting WITH_CCACHE_BUILD and a partial exp-run
was done on:
audio/fdmf biology/biojava devel/ace games/hex graphics/cimg
graphics/inventor graphics/peps graphics/wings graphics/wings-devel
lang/python26 lang/python27 lang/python31 lang/python32 lang/python33
lang/siod math/py-basemap math/py-basemap-data multimedia/gpodder
multimedia/gstreamer-ffmpeg multimedia/gstreamer1-libav
multimedia/handbrake print/py-reportlab print/py-reportlab2 science/ncs
science/netcdf4 security/nss textproc/adabrowse x11-toolkits/py-kivy
With hat: portmgr