sortix-mirror/tix/tix-build.8
Jonas 'Sortie' Termansen 9588b0d3db Add ports to the Sortix repository.
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.
2022-06-13 22:29:53 +02:00

170 lines
3.9 KiB
Groff

.Dd April 12, 2022
.Dt TIX-BUILD 8
.Os
.Sh NAME
.Nm tix-build
.Nd build a port
.Sh SYNOPSIS
.Nm
.Op Fl \-build Ns = Ns Ar triplet
.Op Fl \-destination Ns = Ns Ar directory
.Op Fl \-end Ns = Ns Ar step
.Op Fl \-exec-prefix Ns = Ns Ar prefix
.Op Fl \-generation Ns = Ns Ar level
.Op Fl \-host Ns = Ns Ar triplet
.Op Fl \-make Ns = Ns Ar path
.Op Fl \-makeflags Ns = Ns Ar makeflags
.Op Fl \-prefix Ns = Ns Ar prefix
.Op Fl \-source-package Ns = Ns Ar source-package
.Op Fl \-source-port Ns = Ns Ar source-port
.Op Fl \-start Ns = Ns Ar step
.Op Fl \-sysroot Ns = Ns Ar directory
.Op Fl \-tar Ns = Ns Ar path
.Op Fl \-target Ns = Ns Ar triplet
.Op Fl \-tmp Ns = Ns Ar directory
.Ar port
.Sh DESCRIPTION
.Nm
builds a source code directory containing a
.Xr port 5
of software for this operating system.
.Nm
is usually invoked through the higher level
.Xr tix-port 7 .
.Pp
The mandatory
.Ar port
argument is the directory containing the source code.
The
.Xr port 5
file containing the build instruction is found by adding
.Pa .port
to this path, or if it does not exist then
.Pa tix.port
inside the directory.
.Pp
The options are as follows:
.Bl -tag -width "12345678"
.It Fl \-build Ns = Ns Ar triplet
The platform
.Ar triplet
for the machine the port is built on.
(Default: Automatically detected.)
.It Fl \-destination Ns = Ns Ar directory
The binary package is placed inside this
.Ar directory .
.It Fl \-end Ns = Ns Ar step
Stop the build after this
.Ar step :
.Pp
.Bl -tag -width "clean, pre-clean" -compact
.It start
The start step before anything has happened.
.It clean, pre-clean
Clean the source directory before the build.
.It configure
Configure the port.
.It build
Build the port.
.It install
Install the port into the
.Ev DESTDIR .
.It post-install
Run the post-installation script.
.It post-clean
Clean the source code after the port.
.It package
Create the binary package.
.It end
The end step after everything has happened.
(Default)
.El
.It Fl \-exec-prefix Ns = Ns Ar prefix
The
.Ar prefix
where architecture dependent files are installed.
(Default:
.Fl \-prefix )
.It Fl \-generation Ns = Ns Ar generation
Create a binary package in the format of this tix generation
.Ar level .
(Default: 2)
.It Fl \-host Ns = Ns Ar triplet
The platform
.Ar triplet
for the machine the port will run on.
(Default:
.Fl \-build )
.It Fl \-make Ns = Ns Ar path
Which
.Xr make 1
to use.
(Default:
.Ev MAKE
if set and otherwise
.Xr make 1 )
.It Fl \-makeflags Ns = Ns Ar makeflags
Override the
.Ev MAKEFLAGS
variable inherited by make.
.It Fl \-prefix Ns = Ns Ar prefix
Build the port into this
.Ar prefix .
(Default: The empty prefix designating the root directory)
.\" After releasing Sortix 1.1, remove this option.
.It Fl \-source-package Ns = Ns Ar source-port
Deprecated alias for
.Fl \-source-port
that will be removed after the next release.
.It Fl \-source-port Ns = Ns Ar source-port
The source code for the
.Sy SOURCE_PORT
per
.Xr port 5
is found in the
.Ar source-port
directory.
.\" TODO: This is different from tix-port(8).
.\"(Default: ../$SOURCE_PORT/$SOURCE_PORT)
(Default: $SOURCE_PORT)
.It Fl \-start Ns = Ns Ar step
Start the build at this step (see
.Fl \-end ) .
(Default:
.Sy start )
.It Fl \-sysroot Ns = Ns Ar directory
The system root to use while building and installing the port.
The toolchain is wrapped to transparently use this sysroot during the build.
.It Fl \-tar Ns = Ns Ar path
Which
.Xr tar 1
to use during the build.
(Default:
.Xr tar 1 )
.It Fl \-target Ns = Ns Ar triplet
The port's outputs targets this platform
.Ar triplet .
(Default:
.Fl \-host )
.It Fl \-tmp Ns = Ns Ar directory
Place temporary files in this
.Ar directory .
(Default:
.Ev TMPDIR
if set otherwise
.Pa /tmp )
.El
.Sh EXIT STATUS
.Nm
will exit 0 on success and non-zero otherwise.
.Sh SEE ALSO
.Xr port 5 ,
.Xr development 7 ,
.Xr porting 7 ,
.Xr tix-collection 8 ,
.Xr tix-install 8 ,
.Xr tix-port 8
.Sh HISTORY
.Nm
originally appeared in Sortix 0.8.