This change imports the ports collection from the former porttix and srctix
repositories and converts them to port(5) files with metadata pointing to
the upstream release tarballs with patches checked into this repository.
Ports are now developed and versioned along with the operating system and
are automatically built per the PACKAGES environment variable. The patches
are licensed under the same license as the relevant ports.
Tix has gained support for the new port(5) format. tix-port(8) is the new
high level ports build even point that handles downloading pstream releases
into the new mirror cache directory, applying the patches, building the port
with the lower-level tix-build(8), and finally installing the binary
package. The new tix-vars(8) program parses port(5) files and the new
tix-rmdiff(8) program produces input for tix-rmpatch(8).
The old doc/ directory is discontinued in favor of manual pages documenting
the new ports system.
The obsolete porttix-create(8) and srctix-create(8) programs are removed.
pkg.use-bootstrap can now be set to true to add a bootstrap phase to
cross-builds. I.e. the package is built for the native platform and
installed to a temporary location, which is in the PATH during the
actual cross-compilation. This feature is useful for some misbehaving
ports that can cross-compile, but require the exact same version of the
software installed locally. The bootstrap build is controlled with the
bootstrap.foo variables rather than the normal pkg.foo variables.
pkg.source-package can now be set to the name of another package, whose
source code is built using the current tixbuildinfo. This feature allows
providing multiple packages using the same source code package. By
default, the source code of the source package is assumed to be in
../${pkg.source-package}, but this can be overridden with the option
--source-directory.
pkg.alias-of can now be set to the name of another package to specify
that this package is an alias of the other package, creating an empty
binary package depending on the real package.
pkg.subdir support has been fixed in the clean and post-install phases.
pkg-config support has been improved and PKG_CONFIG is now set to
$HOST-pkg-config and PKG_CONFIG_FOR_BUILD is set to pkg-config.
tix-build has been refactored as needed and generally cleaned up. Error
handling, such as on allocations, have been added in a lot of cases. The
support for FOO_FOR_BUILD variables have been unified and simplified.
Appending to PATH now correctly handles the empty PATH.
tix-build recorded the owner and group as the user building the package,
rather than setting the owner and group to user 0 (root).
tix-install tried to chown extracted files as the owner and group in the
archive, rather than the current user. It also applied the current umask
rather than restoring the same permissions.
I hereby relicense all my work on Sortix under the ISC license as below.
All Sortix contributions by other people are already under this license,
are not substantial enough to be copyrightable, or have been removed.
All imported code from other projects is compatible with this license.
All GPL licensed code from other projects had previously been removed.
Copyright 2011-2016 Jonas 'Sortie' Termansen and contributors.
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.