From nobody Sun Apr 02 19:20:43 2023 X-Original-To: pkg-fallout@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PqP4r0bQrz444fQ for ; Sun, 2 Apr 2023 19:20:44 +0000 (UTC) (envelope-from pkg-fallout@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PqP4q421xz4L0h for ; Sun, 2 Apr 2023 19:20:43 +0000 (UTC) (envelope-from pkg-fallout@FreeBSD.org) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680463243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=Vq0RcahrEiXuOXFEqJCM4QOrec8jOHPmfji810Li7kc=; b=N8cktCMzjkQOECqlBgixxx//EymmY909sKtzkKcmJPYTGmwgFyWqtkhWn3VmgIq6FqI9Yu 9WsEkocfZaejpch0hM5hgCHi8XG2DcH+3s2WoqOCJVdDlLAUwdl2Qa3EpyDM4CaGULJgJi c9fE+wtKzEWZHBuuzfNU0TtcseliDbWXPlR6nTMVF6I7Ic4NGXlFYF0s4GsJNu6rUCNU6S b71e3HRmMuYYw4ULpsGmLVBgZ5G0n9I9h7ewQVntpiD3zRgENJ3eh4PTE5vRZXKUqsDaK6 QPhF4IJPGnzebN54RrIMKiotwouxCiU+uVTGDPUoaPPRsMRQAUpuIvG8TTDBjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1680463243; a=rsa-sha256; cv=none; b=j4ClSH7rz66vfUcqA2fuyWG3qwhjSF8plaYkvmR2h55XPEh6wMisLlkCsNX8v+bzpx0Mrz fkLmwGwYR2y5enYuDaTZAEGKgYMKhQ0PJIh1F+iFbpebnsiyyeutSvqdzdlO/JIWmQ1u+m bhj/T2QZmdmzO1mygRj8gfW3zR6mbcQo42qHK8SQjtmbDU046WZFnoRjZWP8RoBV0cgEMi 8ZuduThiQVyVdCpNZpiwN6Kcfxs9qkmV7oBFqoJ0PdKPKg4PdtQlWW+4lKiN/t6+ES9phR 3w4LBEwUUD7ry9BXZDJYkujA0rIJCZoj689E5wLGaW+Kxn4rrgJ72XYtAC3YSw== Received: from ampere1.nyi.freebsd.org (ampere1.nyi.freebsd.org [IPv6:2610:1c1:1:6080::16:23]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PqP4q2cTHzSd4 for ; Sun, 2 Apr 2023 19:20:43 +0000 (UTC) (envelope-from pkg-fallout@FreeBSD.org) Received: from ampere1.nyi.freebsd.org (localhost [127.0.0.1]) by ampere1.nyi.freebsd.org (8.16.1/8.16.1) with ESMTP id 332JKhOH034613 for ; Sun, 2 Apr 2023 19:20:43 GMT (envelope-from pkg-fallout@FreeBSD.org) Received: (from root@localhost) by ampere1.nyi.freebsd.org (8.16.1/8.16.1/Submit) id 332JKhAO034612; Sun, 2 Apr 2023 19:20:43 GMT (envelope-from pkg-fallout@FreeBSD.org) Date: Sun, 2 Apr 2023 19:20:43 GMT From: pkg-fallout@FreeBSD.org Message-Id: <202304021920.332JKhAO034612@ampere1.nyi.freebsd.org> To: pkg-fallout@FreeBSD.org Subject: [package - 131releng-armv7-quarterly][textproc/py-textual] Failed for py39-textual-0.1.18 in run-depends X-ThisMailContainsUnwantedMimeParts: N List-Id: Fallout logs from package building List-Archive: https://lists.freebsd.org/archives/freebsd-pkg-fallout List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-pkg-fallout@freebsd.org You are receiving this mail as a port that you maintain is failing to build on the FreeBSD package build server. Please investigate the failure and submit a PR to fix build. Maintainer: sunpoet@FreeBSD.org Log URL: https://pkg-status.freebsd.org/ampere1/data/131releng-armv7-quarterly/f81b741701ea/logs/py39-textual-0.1.18.log Build URL: https://pkg-status.freebsd.org/ampere1/build.html?mastername=131releng-armv7-quarterly&build=f81b741701ea Log: =>> Building textproc/py-textual build started at Sun Apr 2 19:20:32 UTC 2023 port directory: /usr/ports/textproc/py-textual package name: py39-textual-0.1.18 building for: FreeBSD 131releng-armv7-quarterly-job-10 13.1-RELEASE-p7 FreeBSD 13.1-RELEASE-p7 1301000 arm maintained by: sunpoet@FreeBSD.org Makefile ident: Poudriere version: 3.2.8-23-ga7f8d188 Host OSVERSION: 1400073 Jail OSVERSION: 1301000 Job Id: 10 ---Begin Environment--- SHELL=/bin/csh OSVERSION=1301000 UNAME_v=FreeBSD 13.1-RELEASE-p7 1301000 UNAME_r=13.1-RELEASE-p7 BLOCKSIZE=K MAIL=/var/mail/root MM_CHARSET=UTF-8 LANG=C.UTF-8 STATUS=1 HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin LOCALBASE=/usr/local USER=root LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.2.8-23-ga7f8d188 MASTERMNT=/usr/local/poudriere/data/.m/131releng-armv7-quarterly/ref POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM= PWD=/usr/local/poudriere/data/.m/131releng-armv7-quarterly/ref/.p/pool P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS MASTERNAME=131releng-armv7-quarterly SCRIPTPREFIX=/usr/local/share/poudriere OLDPWD=/usr/local/poudriere/data/.m/131releng-armv7-quarterly/ref/.p SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR=py39 DEPENDS_ARGS= MAKE_ARGS= FLAVOR=py39 ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ---End OPTIONS List--- --MAINTAINER-- sunpoet@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- PYTHON="/usr/local/bin/python3.9" XDG_DATA_HOME=/wrkdirs/usr/ports/textproc/py-textual/work-py39 XDG_CONFIG_HOME=/wrkdirs/usr/ports/textproc/py-textual/work-py39 XDG_CACHE_HOME=/wrkdirs/usr/ports/textproc/py-textual/work-py39/.cache HOME=/wrkdirs/usr/ports/textproc/py-textual/work-py39 TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/textproc/py-textual/work-py39/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/textproc/py-textual/work-py39/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/textproc/py-textual/work-py39 XDG_CONFIG_HOME=/wrkdirs/usr/ports/textproc/py-textual/work-py39 XDG_CACHE_HOME=/wrkdirs/usr/ports/textproc/py-textual/work-py39/.cache HOME=/wrkdirs/usr/ports/textproc/py-textual/work-py39 TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/textproc/py-textual/work-py39/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/textproc/py-textual/work-py39/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES LDSHARED="cc -shared" PYTHONDONTWRITEBYTECODE= PYTHONOPTIMIZE= PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="ins tall -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- PYTHON_INCLUDEDIR=include/python3.9 PYTHON_LIBDIR=lib/python3.9 PYTHON_PLATFORM=freebsd13 PYTHON_SITELIBDIR=lib/python3.9/site-packages PYTHON_SUFFIX=39 PYTHON_EXT_SUFFIX=.cpython-39 PYTHON_VER=3.9 PYTHON_VERSION=python3.9 PYTHON2="@comment " PYTHON3="" OSREL=13.1 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/py39-textual" EXAMPLESDIR="share/examples/py39-textual" DATADIR="share/py39-textual" WWWDIR="www/py39-textual" ETCDIR="etc/py39-textual" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/py39-textual DOCSDIR=/usr/local/share/doc/py39-textual EXAMPLESDIR=/usr/local/share/examples/py39-textual WWWDIR=/usr/local/www/py39-textual ETCDIR=/usr/local/etc/py39-textual --End SUB_LIST-- ---Begin make.conf--- USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles PACKAGE_BUILDING=yes PACKAGE_BUILDING_FLAVORS=yes #### /usr/local/etc/poudriere.d/make.conf #### # XXX: We really need this but cannot use it while 'make checksum' does not # try the next mirror on checksum failure. It currently retries the same # failed mirror and then fails rather then trying another. It *does* # try the next if the size is mismatched though. #MASTER_SITE_FREEBSD=yes # Build ALLOW_MAKE_JOBS_PACKAGES with 2 jobs MAKE_JOBS_NUMBER=2 #### /usr/ports/Mk/Scripts/ports_env.sh #### _CCVERSION_921dbbb2=FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303) Target: armv7-unknown-freebsd13.1-gnueabihf Thread model: posix InstalledDir: /usr/bin _ALTCCVERSION_921dbbb2=none _CXXINTERNAL_acaad9ca=FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303) Target: armv7-unknown-freebsd13.1-gnueabihf Thread model: posix InstalledDir: /usr/bin "/usr/bin/ld" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld-elf.so.1" "--hash-style=both" "--enable-new-dtags" "-o" "a.out" "/usr/lib/crt1.o" "/usr/lib/crti.o" "/usr/lib/crtbegin.o" "-L/usr/lib" "/dev/null" "-lc++" "-lm" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "/usr/lib/crtend.o" "/usr/lib/crtn.o" CC_OUTPUT_921dbbb2_58173849=yes CC_OUTPUT_921dbbb2_9bdba57c=yes CC_OUTPUT_921dbbb2_6a4fe7f5=yes CC_OUTPUT_921dbbb2_6bcac02b=yes CC_OUTPUT_921dbbb2_67d20829=yes CC_OUTPUT_921dbbb2_bfa62e83=yes CC_OUTPUT_921dbbb2_f0b4d593=yes CC_OUTPUT_921dbbb2_308abb44=yes CC_OUTPUT_921dbbb2_f00456e5=yes CC_OUTPUT_921dbbb2_65ad290d=yes CC_OUTPUT_921dbbb2_f2776b26=yes CC_OUTPUT_921dbbb2_53255a77=yes CC_OUTPUT_921dbbb2_911cfe02=yes CC_OUTPUT_921dbbb2_b2657cc3=yes CC_OUTPUT_921dbbb2_380987f7=yes CC_OUTPUT_921dbbb2_160933ec=yes CC_OUTPUT_921dbbb2_fb62803b=yes CC_OUTPUT_921dbbb2_af59ad06=yes CC_OUTPUT_921dbbb2_a15f3fcf=yes _OBJC_CCVERSION_921dbbb2=FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303) Target: armv7-unknown-freebsd13.1-gnueabihf Thread model: posix InstalledDir: /usr/bin _OBJC_ALTCCVERSION_921dbbb2=none ARCH=armv7 OPSYS=FreeBSD _OSRELEASE=13.1-RELEASE-p7 OSREL=13.1 OSVERSION=1301000 PYTHONBASE=/usr/local CONFIGURE_MAX_CMD_LEN=524288 HAVE_PORTS_ENV=1 #### Misc Poudriere #### GID=0 UID=0 ---End make.conf--- --Resource limits-- cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 1048576 stack size (kbytes, -s) 1048576 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 89999 open files (-n) 1024 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited --End resource limits-- =================================================== ===> License MIT accepted by the user =========================================================================== =================================================== ===> py39-textual-0.1.18 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.19.0.pkg [131releng-armv7-quarterly-job-10] Installing pkg-1.19.0... [131releng-armv7-quarterly-job-10] Extracting pkg-1.19.0: .......... done ===> py39-textual-0.1.18 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of py39-textual-0.1.18 =========================================================================== =================================================== =========================================================================== =================================================== ===> License MIT accepted by the user ===> Fetching all distfiles required by py39-textual-0.1.18 for building =========================================================================== =================================================== ===> License MIT accepted by the user ===> Fetching all distfiles required by py39-textual-0.1.18 for building => SHA256 Checksum OK for textual-0.1.18.tar.gz. =========================================================================== =================================================== =========================================================================== =================================================== ===> License MIT accepted by the user ===> Fetching all distfiles required by py39-textual-0.1.18 for building ===> Extracting for py39-textual-0.1.18 => SHA256 Checksum OK for textual-0.1.18.tar.gz. =========================================================================== =================================================== =========================================================================== =================================================== ===> Patching for py39-textual-0.1.18 =========================================================================== =================================================== ===> py39-textual-0.1.18 depends on package: py39-setuptools>=63.1.0 - not found ===> Installing existing package /packages/All/py39-setuptools-63.1.0.pkg [131releng-armv7-quarterly-job-10] Installing py39-setuptools-63.1.0... [131releng-armv7-quarterly-job-10] `-- Installing python39-3.9.16... [131releng-armv7-quarterly-job-10] | `-- Installing gettext-runtime-0.21.1... [131releng-armv7-quarterly-job-10] | | `-- Installing indexinfo-0.3.1... [131releng-armv7-quarterly-job-10] | | `-- Extracting indexinfo-0.3.1: .... done [131releng-armv7-quarterly-job-10] | `-- Extracting gettext-runtime-0.21.1: .......... done [131releng-armv7-quarterly-job-10] | `-- Installing libffi-3.4.4... [131releng-armv7-quarterly-job-10] | `-- Extracting libffi-3.4.4: .......... done [131releng-armv7-quarterly-job-10] | `-- Installing mpdecimal-2.5.1... [131releng-armv7-quarterly-job-10] | `-- Extracting mpdecimal-2.5.1: .......... done [131releng-armv7-quarterly-job-10] | `-- Installing readline-8.2.0... [131releng-armv7-quarterly-job-10] | `-- Extracting readline-8.2.0: .......... done [131releng-armv7-quarterly-job-10] `-- Extracting python39-3.9.16: .......... done [131releng-armv7-quarterly-job-10] Extracting py39-setuptools-63.1.0: .......... done ===== Message from python39-3.9.16: -- Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: py39-gdbm databases/py-gdbm@py39 py39-sqlite3 databases/py-sqlite3@py39 py39-tkinter x11-toolkits/py-tkinter@py39 ===> py39-textual-0.1.18 depends on package: py39-setuptools>=63.1.0 - found ===> Returning to build of py39-textual-0.1.18 ===> py39-textual-0.1.18 depends on file: /usr/local/bin/python3.9 - found =========================================================================== =================================================== =========================================================================== =================================================== ===> Configuring for py39-textual-0.1.18 running config =========================================================================== =================================================== ===> Building for py39-textual-0.1.18 running build running build_py creating build creating build/lib creating build/lib/textual copying src/textual/geometry.py -> build/lib/textual copying src/textual/_xterm_parser.py -> build/lib/textual copying src/textual/message.py -> build/lib/textual copying src/textual/widget.py -> build/lib/textual copying src/textual/case.py -> build/lib/textual copying src/textual/__init__.py -> build/lib/textual copying src/textual/_parser.py -> build/lib/textual copying src/textual/events.py -> build/lib/textual copying src/textual/layout_map.py -> build/lib/textual copying src/textual/_callback.py -> build/lib/textual copying src/textual/screen_update.py -> build/lib/textual copying src/textual/background.py -> build/lib/textual copying src/textual/_profile.py -> build/lib/textual copying src/textual/message_pump.py -> build/lib/textual copying src/textual/binding.py -> build/lib/textual copying src/textual/_context.py -> build/lib/textual copying src/textual/scrollbar.py -> build/lib/textual copying src/textual/_timer.py -> build/lib/textual copying src/textual/actions.py -> build/lib/textual copying src/textual/view.py -> build/lib/textual copying src/textual/_layout_resolve.py -> build/lib/textual copying src/textual/_lines.py -> build/lib/textual copying src/textual/_easing.py -> build/lib/textual copying src/textual/_line_cache.py -> build/lib/textual copying src/textual/_animator.py -> build/lib/textual copying src/textual/keys.py -> build/lib/textual copying src/textual/_loop.py -> build/lib/textual copying src/textual/driver.py -> build/lib/textual copying src/textual/messages.py -> build/lib/textual copying src/textual/_types.py -> build/lib/textual copying src/textual/_ansi_sequences.py -> build/lib/textual copying src/textual/page.py -> build/lib/textual copying src/textual/layout.py -> build/lib/textual copying src/textual/_event_broker.py -> build/lib/textual copying src/textual/reactive.py -> build/lib/textual copying src/textual/app.py -> build/lib/textual creating build/lib/textual/drivers copying src/textual/drivers/win32.py -> build/lib/textual/drivers copying src/textual/drivers/__init__.py -> build/lib/textual/drivers copying src/textual/drivers/linux_driver.py -> build/lib/textual/drivers copying src/textual/drivers/windows_driver.py -> build/lib/textual/drivers creating build/lib/textual/layouts copying src/textual/layouts/grid.py -> build/lib/textual/layouts copying src/textual/layouts/__init__.py -> build/lib/textual/layouts copying src/textual/layouts/vertical.py -> build/lib/textual/layouts copying src/textual/layouts/dock.py -> build/lib/textual/layouts creating build/lib/textual/views copying src/textual/views/_document_view.py -> build/lib/textual/views copying src/textual/views/__init__.py -> build/lib/textual/views copying src/textual/views/_dock_view.py -> build/lib/textual/views copying src/textual/views/_grid_view.py -> build/lib/textual/views copying src/textual/views/_window_view.py -> build/lib/textual/views creating build/lib/textual/widgets copying src/textual/widgets/_static.py -> build/lib/textual/widgets copying src/textual/widgets/__init__.py -> build/lib/textual/widgets copying src/textual/widgets/_footer.py -> build/lib/textual/widgets copying src/textual/widgets/_scroll_view.py -> build/lib/textual/widgets copying src/textual/widgets/_header.py -> build/lib/textual/widgets copying src/textual/widgets/_placeholder.py -> build/lib/textual/widgets copying src/textual/widgets/_button.py -> build/lib/textual/widgets copying src/textual/widgets/_tree_control.py -> build/lib/textual/widgets copying src/textual/widgets/_directory_tree.py -> build/lib/textual/widgets copying src/textual/richreadme.md -> build/lib/textual copying src/textual/py.typed -> build/lib/textual =========================================================================== =================================================== ===> py39-textual-0.1.18 depends on package: py39-rich>=12.3.0<13.0.0 - not found ===> Installing existing package /packages/All/py39-rich-13.0.0.pkg [131releng-armv7-quarterly-job-10] Installing py39-rich-13.0.0... [131releng-armv7-quarterly-job-10] `-- Installing py39-CommonMark-0.9.1... [131releng-armv7-quarterly-job-10] | `-- Installing py39-future-0.18.2... [131releng-armv7-quarterly-job-10] | `-- Extracting py39-future-0.18.2: .......... done [131releng-armv7-quarterly-job-10] `-- Extracting py39-CommonMark-0.9.1: .......... done [131releng-armv7-quarterly-job-10] `-- Installing py39-pygments-2.14.0... [131releng-armv7-quarterly-job-10] `-- Extracting py39-pygments-2.14.0: .......... done [131releng-armv7-quarterly-job-10] Extracting py39-rich-13.0.0: .......... done ===> py39-textual-0.1.18 depends on package: py39-rich>=12.3.0<13.0.0 - not found *** Error code 1 Stop. make: stopped in /usr/ports/textproc/py-textual