diff options
author | Chris Johns <chrisj@rtems.org> | 2023-04-11 21:18:25 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2023-04-12 12:08:43 +1000 |
commit | 4c73a76c802588d3864c64ee4dd48a84b953201a (patch) | |
tree | d4ac23d099631cf2bf2cc94b64d6b4aedcd72e23 /source-builder | |
parent | gdb-common: Fix the python-config library parsing (diff) | |
download | rtems-source-builder-4c73a76c802588d3864c64ee4dd48a84b953201a.tar.bz2 |
print/texinfo: Add texinfo package
- MacOS systems do not come with makeinfo
- Fix the internal build logic. There was config logic in a
bset file that does not support logic operators. Use a
special tmp internal path to isolate the internal tools.
Diffstat (limited to 'source-builder')
-rw-r--r-- | source-builder/config/gsed-1.cfg | 6 | ||||
-rw-r--r-- | source-builder/config/texinfo-1.cfg | 107 | ||||
-rw-r--r-- | source-builder/defaults.mc | 5 |
3 files changed, 113 insertions, 5 deletions
diff --git a/source-builder/config/gsed-1.cfg b/source-builder/config/gsed-1.cfg index 87eb0fb..9135414 100644 --- a/source-builder/config/gsed-1.cfg +++ b/source-builder/config/gsed-1.cfg @@ -11,9 +11,6 @@ %ifn %{defined _internal_gsed} %define _internal_gsed no %endif -%ifn %{defined _internal_gsed_path} - %define _internal_gsed_path %{_prefix} -%endif Name: gsed-%{gsed_version}-%{_host}-%{release} Summary: GNU sed v%{gsed_version} for host %{_host} @@ -30,6 +27,9 @@ URL: https://www.gnu.org/software/sed/ # Remap the install paths if it is an internal build # %if %{_internal_gsed} == yes + %if !%{defined _internal_gsed_path} + %error no gsed internal install path defined + %endif %define gsed_prefix %{_internal_gsed_path} %else %define gsed_prefix %{_prefix} diff --git a/source-builder/config/texinfo-1.cfg b/source-builder/config/texinfo-1.cfg new file mode 100644 index 0000000..d1fc2a0 --- /dev/null +++ b/source-builder/config/texinfo-1.cfg @@ -0,0 +1,107 @@ +# +# GNU texinfo 7.xx Version 1. +# +# This configuration file configure's, make's and install's GNU's texinfo +# + +%if %{release} == %{nil} + %define release 1 +%endif + +%ifn %{defined _internal_texinfo} + %define _internal_texinfo no +%endif + +Name: texinfo-%{texinfo_version}-%{_host}-%{release} +Summary: GNU texinfo v%{texinfo_version} for host %{_host} +Version: %{texinfo_version} +Release: %{release} +URL: https://www.gnu.org/software/texinfo/ + +# +# Source +# +%source set texinfo https://ftp.gnu.org/gnu/texinfo/texinfo-%{texinfo_version}.tar.gz + +# +# Remap the install paths if it is an internal build +# +%if %{_internal_texinfo} == yes + %if !%{defined _internal_texinfo_path} + %error no texinfo internal install path defined + %endif + %define texinfo_prefix %{_internal_texinfo_path} +%else + %define texinfo_prefix %{_prefix} +%endif + +%define texinfo_exec_prefix %{texinfo_prefix} +%define texinfo_bindir %{texinfo_exec_prefix}/bin +%define texinfo_sbindir %{texinfo_exec_prefix}/sbin +%define texinfo_libexecdir %{texinfo_exec_prefix}/libexec +%define texinfo_datarootdir %{texinfo_prefix}/share +%define texinfo_datadir %{texinfo_datarootdir} +%define texinfo_sysconfdir %{texinfo_prefix}/etc +%define texinfo_sharedstatedir %{texinfo_prefix}/com +%define texinfo_localstatedir %{texinfo_prefix}/var +%define texinfo_includedir %{texinfo_prefix}/include +%define texinfo_libdir %{texinfo_exec_prefix}/%{_lib} +%define texinfo_mandir %{texinfo_datarootdir}/man +%define texinfo_infodir %{texinfo_datarootdir}/info +%define texinfo_localedir %{texinfo_datarootdir}/locale + +# +# Prepare the source code. +# +%prep + build_top=$(pwd) + + source_dir_texinfo="texinfo-%{texinfo_version}" + %source setup texinfo -q -n texinfo-%{texinfo_version} + %patch setup texinfo -p1 + + cd ${build_top} + +%build + build_top=$(pwd) + + %if %{defined _internal_texinfo_path} + export PATH="%{_internal_texinfo_path}/bin:${PATH}" + %endif + + %{build_directory} + + mkdir -p ${build_dir} + cd ${build_dir} + + %{host_build_flags} + + ../${source_dir_texinfo}/configure \ + --prefix=%{texinfo_prefix} \ + --bindir=%{texinfo_bindir} \ + --exec_prefix=%{texinfo_exec_prefix} \ + --includedir=%{texinfo_includedir} \ + --libdir=%{texinfo_libdir} \ + --libexecdir=%{texinfo_libexecdir} \ + --mandir=%{texinfo_mandir} \ + --infodir=%{texinfo_infodir} \ + --datadir=%{texinfo_datadir} \ + + %{__make} %{?_smp_mflags} all + + cd ${build_top} + +%install + build_top=$(pwd) + + %{__rmdir} $SB_BUILD_ROOT + + cd ${build_dir} + + %if %{_internal_texinfo} == yes + %{__make} install + %else + %{__make} DESTDIR=$SB_BUILD_ROOT install + %endif + + cd ${build_top} diff --git a/source-builder/defaults.mc b/source-builder/defaults.mc index 503dd92..6575e35 100644 --- a/source-builder/defaults.mc +++ b/source-builder/defaults.mc @@ -109,6 +109,7 @@ _docdir: dir, none, '%{_defaultdocdir}' _tmppath: dir, none, '%{_topdir}/build/tmp' _tmproot: dir, none, '%{_tmppath}/sb-%{_uid}/%{_bset_tmp}' _tmpcxcroot: dir, none, '%{_tmppath}/sb-%{_uid}-cxc/%{_bset_tmp}' +_tmpinternal: dir, none, '%{_tmppath}/sb-%{_uid}-internal' _datadir: dir, none, '%{_prefix}/share' _defaultdocdir: dir, none, '%{_prefix}/share/doc' _dry_run: none, none, '0' @@ -131,7 +132,7 @@ _infodir: dir, none, '%{_datarootdir}/info' _localedir: dir, none, '%{_datarootdir}/locale' _localedir: dir, none, '%{_datadir}/locale' _localstatedir: dir, none, '%{_prefix}/var' -_pathprepend: none, none, '' +_pathprepend: none, none, '%{_tmpinternal}/bin' _pathpostpend: none, none, '' _prefix: dir, none, '%{_usr}' _usr: dir, none, '/usr/local' @@ -179,7 +180,7 @@ __ld: exe, required, '/usr/bin/ld' __ldconfig: exe, required, '/sbin/ldconfig' __ln_s: exe, none, 'ln -s' __make: exe, required, 'make' -__makeinfo: exe, required, '/usr/bin/makeinfo' +__makeinfo: exe, optional, '/usr/bin/makeinfo' __mkdir: exe, required, '/bin/mkdir' __mkdir_p: exe, none, '/bin/mkdir -p' __mv: exe, required, '/bin/mv' |