From 0b386fe06e15efc07ee1fa65bf5816c5029685b3 Mon Sep 17 00:00:00 2001 From: Raven Date: Thu, 5 Dec 2024 18:01:54 +0600 Subject: [PATCH] autoconf2.7x: initial build --- base/autoconf2.7x/autoconf-init.el | 16 +++ base/autoconf2.7x/autoconf2.7x.spec | 110 ++++++++++++++++++++ base/autoconf2.7x/autoconf27.patch | 149 ++++++++++++++++++++++++++++ base/autoconf2.7x/config.site | 29 ++++++ 4 files changed, 304 insertions(+) create mode 100755 base/autoconf2.7x/autoconf-init.el create mode 100755 base/autoconf2.7x/autoconf2.7x.spec create mode 100755 base/autoconf2.7x/autoconf27.patch create mode 100755 base/autoconf2.7x/config.site diff --git a/base/autoconf2.7x/autoconf-init.el b/base/autoconf2.7x/autoconf-init.el new file mode 100755 index 0000000..1c5725d --- /dev/null +++ b/base/autoconf2.7x/autoconf-init.el @@ -0,0 +1,16 @@ +;; Activate autoconf-mode + +;; Uncomment the following code if you feel that autoconf-mode.el does better +;; job than Emacs's default autoconf.el. + +;; (autoload 'autoconf-mode "autoconf-mode" +;; "Major mode for editing autoconf files." t) +;; (setq auto-mode-alist +;; (cons '("\.ac\'\|configure\.in\'" . autoconf-mode) +;; auto-mode-alist)) + +;; Activate autotest-mode +(autoload 'autotest-mode "autotest-mode" + "Major mode for editing autotest files." t) +(setq auto-mode-alist + (cons '("\.at\'" . autotest-mode) auto-mode-alist)) diff --git a/base/autoconf2.7x/autoconf2.7x.spec b/base/autoconf2.7x/autoconf2.7x.spec new file mode 100755 index 0000000..aeeb357 --- /dev/null +++ b/base/autoconf2.7x/autoconf2.7x.spec @@ -0,0 +1,110 @@ +# Enable Emacs support +%bcond_without autoconf_enables_emacs +# Run extended test +%bcond_without autoconf_enables_optional_test + +Summary: A GNU tool for automatically configuring source code +Name: autoconf2.7x +Version: 2.72 +Release: 1%{?dist} +License: GPLv2+ and GFDL +Source0: https://ftp.gnu.org/gnu/autoconf/autoconf-%{version}.tar.xz +Source1: config.site +Source2: autoconf-init.el +URL: https://www.gnu.org/software/autoconf/ +Patch0: autoconf27.patch +BuildArch: noarch + + +# run "make check" by default +%bcond_without check + +# m4 >= 1.4.6 is required, >= 1.4.14 is recommended: +BuildRequires: perl +Requires: perl(File::Compare) +Requires: perl-interpreter +BuildRequires: m4 >= 1.4.14 +Requires: m4 >= 1.4.14 +%if %{with autoconf_enables_emacs} +Requires: emacs-filesystem +BuildRequires: emacs +%endif +# the filtering macros are currently in /etc/rpm/macros.perl: +BuildRequires: perl-generators +BuildRequires: perl-macros +BuildRequires: perl(Data::Dumper) +# from f19, Text::ParseWords is not the part of 'perl' package +BuildRequires: perl(Text::ParseWords) + +# %%configure replaces config.guess/config.sub for us, which confuses autoconf +# build system and it produces empty man pages for those scripts if help2man is +# not installed +BuildRequires: help2man +BuildRequires: make, texinfo + +%if %{with check} +%if %{with autoconf_enables_optional_test} +# For extended testsuite coverage +BuildRequires: gcc-gfortran +%if 0%{?fedora} >= 15 +BuildRequires: erlang +%endif +%endif +%endif + +# filter out bogus perl(Autom4te*) dependencies +%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Autom4te:: +%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(Autom4te:: + +%description +GNU's Autoconf is a tool for configuring source code and Makefiles. +Using Autoconf, programmers can create portable and configurable +packages, since the person building the package is allowed to +specify various configuration options. + +You should install Autoconf if you are developing software and +would like to create shell scripts that configure your source code +packages. If you are installing Autoconf, you will also need to +install the GNU m4 package. + +Note that the Autoconf package is not required for the end-user who +may be configuring software with an Autoconf-generated script; +Autoconf is only required for the generation of the scripts, not +their use. + + +%prep +%setup -n autoconf-%{version} +%patch0 -p1 +mv doc/autoconf.info doc/autoconf27.info +mv doc/autoconf.texi doc/autoconf27.texi + +%build +%configure --program-suffix=27 --with-lispdir=%{_emacs_sitelispdir}/autoconf27 +make + +%check +%if %{with check} +make check %{?_smp_mflags} +%endif + + +%install +%make_install +mkdir -p %{buildroot}/share +install -m 0644 %{SOURCE1} %{buildroot}%{_datadir} +##%%mv %{buildroot}/usr/share/autoconf %{buildroot}/usr/share/autoconf_27 + +%files +%license COPYING* +%{_bindir}/* +%{_infodir}/autoconf27.info* +# don't include standards.info, because it comes from binutils... +%exclude %{_infodir}/standards* +# don't include info's TOP directory +%exclude %{_infodir}/dir +%{_datadir}/emacs/site-lisp/* +%{_datadir}/autoconf27/ +%{_datadir}/config.site +%{_mandir}/man1/* +%doc AUTHORS ChangeLog NEWS README THANKS TODO diff --git a/base/autoconf2.7x/autoconf27.patch b/base/autoconf2.7x/autoconf27.patch new file mode 100755 index 0000000..c91c40a --- /dev/null +++ b/base/autoconf2.7x/autoconf27.patch @@ -0,0 +1,149 @@ +Only in autoconf-version/bin: autoconf +Only in autoconf-version/bin: autoconf.in +Only in autoconf-version/bin: autoheader +Only in autoconf-version/bin: autom4te +Only in autoconf-version/bin: autoreconf +Only in autoconf-version/bin: autoscan +Only in autoconf-version/bin: autoupdate +Only in autoconf-version/bin: ifnames +Only in autoconf-version/: config.log +Only in autoconf-version/: config.status +diff -ur autoconf-2.71/doc/autoconf.texi autoconf-version/doc/autoconf.texi +--- autoconf-2.71/doc/autoconf.texi 2021-01-28 21:46:48.000000000 +0100 ++++ autoconf-version/doc/autoconf.texi 2022-01-31 10:05:40.000000000 +0100 +@@ -1,9 +1,9 @@ + \input texinfo @c -*-texinfo-*- + @comment ======================================================== + @comment %**start of header +-@setfilename autoconf.info ++@setfilename autoconf27.info + @include version.texi +-@settitle Autoconf ++@settitle Autoconf_27 + @documentencoding UTF-8 + @set txicodequoteundirected + @set txicodequotebacktick +@@ -227,7 +227,7 @@ + + @dircategory Software development + @direntry +-* Autoconf: (autoconf). Create source code configuration scripts. ++* Autoconf_27: (autoconf27). Create source code configuration scripts. + @end direntry + + @dircategory Individual utilities +Only in autoconf-version/lib/autoconf: autoconf.m4f +Only in autoconf-version/lib: autom4te.cfg +Only in autoconf-version/lib/autoscan: autoscan.list +Only in autoconf-version/lib/autotest: autotest.m4f +Only in autoconf-version/lib/m4sugar: m4sh.m4f +Only in autoconf-version/lib/m4sugar: m4sugar.m4f +Only in autoconf-version/lib/m4sugar: version.m4 +Only in autoconf-version/: Makefile +diff -ur autoconf-2.71/Makefile.in autoconf-version/Makefile.in +--- autoconf-2.71/Makefile.in 2021-01-28 22:06:02.000000000 +0100 ++++ autoconf-version/Makefile.in 2022-01-31 10:37:04.000000000 +0100 +@@ -195,7 +195,7 @@ + test $$has_opt = yes + am__make_dryrun = (target_option=n; $(am__make_running_with_option)) + am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +-pkgdatadir = $(datadir)/@PACKAGE@ ++pkgdatadir = $(datadir)/autoconf27 + pkgincludedir = $(includedir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkglibexecdir = $(libexecdir)/@PACKAGE@ +@@ -311,13 +311,13 @@ + am__v_texidevnull_0 = > /dev/null + am__v_texidevnull_1 = + am__dirstamp = $(am__leading_dot)dirstamp +-INFO_DEPS = $(srcdir)/doc/autoconf.info $(srcdir)/doc/standards.info ++INFO_DEPS = $(srcdir)/doc/autoconf27.info $(srcdir)/doc/standards.info + am__TEXINFO_TEX_DIR = $(srcdir)/build-aux + DVIS = doc/autoconf.dvi doc/standards.dvi + PDFS = doc/autoconf.pdf doc/standards.pdf + PSS = doc/autoconf.ps doc/standards.ps + HTMLS = doc/autoconf.html doc/standards.html +-TEXINFOS = doc/autoconf.texi doc/standards.texi ++TEXINFOS = doc/autoconf27.texi doc/standards.texi + TEXI2DVI = texi2dvi + TEXI2PDF = $(TEXI2DVI) --pdf --batch + MAKEINFOHTML = $(MAKEINFO) --html +@@ -691,7 +691,7 @@ + AM_MAKEINFOFLAGS = --no-split + TEXI2HTML_FLAGS = -split_chapter + TEXINFO_TEX = build-aux/texinfo.tex +-info_TEXINFOS = doc/autoconf.texi doc/standards.texi ++info_TEXINFOS = doc/autoconf27.texi doc/standards.texi + doc_autoconf_TEXINFOS = doc/fdl.texi doc/install.texi + doc_standards_TEXINFOS = doc/fdl.texi doc/gnu-oids.texi doc/make-stds.texi + TAGS_FILES = $(dist_perllib_DATA) $(dist_autoconflib_DATA) \ +@@ -1019,7 +1019,7 @@ + @$(MKDIR_P) doc + @: > doc/$(am__dirstamp) + +-$(srcdir)/doc/autoconf.info: doc/autoconf.texi $(srcdir)/doc/version.texi $(doc_autoconf_TEXINFOS) ++$(srcdir)/doc/autoconf27.info: doc/autoconf27.texi $(srcdir)/doc/version.texi $(doc_autoconf_TEXINFOS) + $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && $(am__cd) $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ +@@ -1030,7 +1030,7 @@ + else :; fi && \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ +- -o $@ $(srcdir)/doc/autoconf.texi; \ ++ -o $@ $(srcdir)/doc/autoconf27.texi; \ + then \ + rc=0; \ + $(am__cd) $(srcdir); \ +@@ -1041,32 +1041,32 @@ + fi; \ + rm -rf $$backupdir; exit $$rc + +-doc/autoconf.dvi: doc/autoconf.texi $(srcdir)/doc/version.texi $(doc_autoconf_TEXINFOS) doc/$(am__dirstamp) ++doc/autoconf.dvi: doc/autoconf27.texi $(srcdir)/doc/version.texi $(doc_autoconf_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ + $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ +- `test -f 'doc/autoconf.texi' || echo '$(srcdir)/'`doc/autoconf.texi ++ `test -f 'doc/autoconf27.texi' || echo '$(srcdir)/'`doc/autoconf27.texi + +-doc/autoconf.pdf: doc/autoconf.texi $(srcdir)/doc/version.texi $(doc_autoconf_TEXINFOS) doc/$(am__dirstamp) ++doc/autoconf.pdf: doc/autoconf27.texi $(srcdir)/doc/version.texi $(doc_autoconf_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ + $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ +- `test -f 'doc/autoconf.texi' || echo '$(srcdir)/'`doc/autoconf.texi ++ `test -f 'doc/autoconf27.texi' || echo '$(srcdir)/'`doc/autoconf27.texi + +-doc/autoconf.html: doc/autoconf.texi $(srcdir)/doc/version.texi $(doc_autoconf_TEXINFOS) doc/$(am__dirstamp) ++doc/autoconf.html: doc/autoconf27.texi $(srcdir)/doc/version.texi $(doc_autoconf_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) + $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ +- -o $(@:.html=.htp) `test -f 'doc/autoconf.texi' || echo '$(srcdir)/'`doc/autoconf.texi; \ ++ -o $(@:.html=.htp) `test -f 'doc/autoconf27.texi' || echo '$(srcdir)/'`doc/autoconf27.texi; \ + then \ + rm -rf $@ && mv $(@:.html=.htp) $@; \ + else \ + rm -rf $(@:.html=.htp); exit 1; \ + fi + $(srcdir)/doc/version.texi: $(srcdir)/doc/stamp-vti +-$(srcdir)/doc/stamp-vti: doc/autoconf.texi $(top_srcdir)/configure ++$(srcdir)/doc/stamp-vti: doc/autoconf27.texi $(top_srcdir)/configure + @test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp) +- @(dir=.; test -f ./doc/autoconf.texi || dir=$(srcdir); \ +- set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/autoconf.texi`; \ ++ @(dir=.; test -f ./doc/autoconf27.texi || dir=$(srcdir); \ ++ set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/autoconf27.texi`; \ + echo "@set UPDATED $$1 $$2 $$3"; \ + echo "@set UPDATED-MONTH $$2 $$3"; \ + echo "@set EDITION $(VERSION)"; \ +Only in autoconf-version/tests: atconfig +Only in autoconf-version/tests: atlocal +Only in autoconf-version/tests: autoconf +Only in autoconf-version/tests: autoheader +Only in autoconf-version/tests: autom4te +Only in autoconf-version/tests: autoreconf +Only in autoconf-version/tests: autoscan +Only in autoconf-version/tests: autoupdate +Only in autoconf-version/tests: ifnames +Only in autoconf-version/tests: wrapper.in diff --git a/base/autoconf2.7x/config.site b/base/autoconf2.7x/config.site new file mode 100755 index 0000000..5bea225 --- /dev/null +++ b/base/autoconf2.7x/config.site @@ -0,0 +1,29 @@ +# This is the config.site file to satisfy FHS defaults when installing below +# /usr. +# +# You may override this file by your config.site using the CONFIG_SITE env +# variable. +# +# Note: This file includes also RHEL/Fedora fix for installing libraries into +# "/lib/lib64" on 64bit systems. + +if test -n "$host"; then + # skip when cross-compiling + return 0 +fi + +if test "$prefix" = /usr \ + || { test "$prefix" = NONE && test "$ac_default_prefix" = /usr ; } +then + test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc + test "$sharedstatedir" = '${prefix}/com' && sharedstatedir=/var + test "$localstatedir" = '${prefix}/var' && localstatedir=/var + + ARCH=`uname -m` + for i in x86_64 ppc64 s390x aarch64; do + if test $ARCH = $i; then + test "$libdir" = '${exec_prefix}/lib' && libdir='${exec_prefix}/lib64' + break + fi + done +fi