links and dep chain to build it

This commit is contained in:
YellowJacketLinux 2023-04-27 07:29:58 -07:00
parent 1906d5f0b2
commit c59814f0dc
8 changed files with 593 additions and 0 deletions

View File

@ -0,0 +1,13 @@
diff -ur libevent-2.1.12-stable.orig/openssl-compat.h libevent-2.1.12-stable/openssl-compat.h
--- libevent-2.1.12-stable.orig/openssl-compat.h 2020-07-05 05:01:34.000000000 -0700
+++ libevent-2.1.12-stable/openssl-compat.h 2023-04-27 05:16:39.182136717 -0700
@@ -40,7 +40,8 @@
#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) */
-#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L
+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L && \
+ LIBRESSL_VERSION_NUMBER < 0x30500000L
#define BIO_get_init(b) (b)->init
#endif

View File

@ -8,4 +8,7 @@
# Many (most?) distros use /{,usr/}sbin for install-info
%insinfo %{_bindir}/install-info
# Most distros use OpenSSL for the OpenSSL API
%libresslAPI true
####### End Yellow Jacket GNU/Linux Specific Macros

89
SPECS/CMake.spec Normal file
View File

@ -0,0 +1,89 @@
%global cmakev 3.26
Name: CMake
Version: %{cmakev}.3
Release: %{?repo}0.rc1%{?dist}
Summary: Tools to build and test software
Group: Development/Utilities
License: BSD-3-Clause
URL: https://cmake.org/
Source0: https://github.com/Kitware/CMake/releases/download/v%{version}/cmake-%{version}.tar.gz
BuildRequires: expat-devel
BuildRequires: gmp-devel
BuildRequires: libacl-devel
BuildRequires: libarchive-devel
BuildRequires: libattr-devel
BuildRequires: libbz2-devel
BuildRequires: libcurl-devel
BuildRequires: libffi-devel
BuildRequires: libgnutls-devel
BuildRequires: libhogweed-devel
BuildRequires: liblzma-devel
BuildRequires: libnettle-devel
BuildRequires: libp11-kit-devel
BuildRequires: libressl-devel
BuildRequires: libstdc++-devel
BuildRequires: libtasn1-devel
BuildRequires: libunistring-devel
BuildRequires: libuv-devel
BuildRequires: libxml2-devel
BuildRequires: libzstd-devel
BuildRequires: ncurses-devel
BuildRequires: nghttp2-devel
BuildRequires: zlib-devel
#Requires:
%description
CMake is used to control the software compilation process using simple
platform and compiler independent configuration files, and generate
native makefiles and workspaces that can be used in the compiler
environment of your choice.
%prep
%setup -n cmake-%{version}
sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake
%build
./bootstrap --prefix=%{_prefix} \
--system-libs \
--mandir=%{_mandir} \
--no-system-jsoncpp \
--no-system-librhash
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
rm -rf %{buildroot}%{_prefix}/doc
mkdir -p rpmdoc/cmlibrhash
cp -p Utilities/cmlibrhash/COPYING rpmdoc/cmlibrhash/
mkdir -p rpmdoc/cmsys
cp -p Source/kwsys/Copyright.txt rpmdoc/cmsys/
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/ccmake
%attr(0755,root,root) %{_bindir}/cmake
%attr(0755,root,root) %{_bindir}/cpack
%attr(0755,root,root) %{_bindir}/ctest
%attr(0644,root,root) %{_datadir}/aclocal/cmake.m4
%attr(0644,root,root) %{_datadir}/bash-completion/completions/cmake
%attr(0644,root,root) %{_datadir}/bash-completion/completions/cpack
%attr(0644,root,root) %{_datadir}/bash-completion/completions/ctest
%{_datadir}/cmake-%{cmakev}
%attr(0644,root,root) %{_datadir}/emacs/site-lisp/cmake-mode.el
%attr(0644,root,root) %{_datadir}/vim/vimfiles/indent/cmake.vim
%attr(0644,root,root) %{_datadir}/vim/vimfiles/syntax/cmake.vim
%license Copyright.txt Licenses
%doc Copyright.txt rpmdoc/cmlibrhash rpmdoc/cmsys
%changelog
Wed Apr 26 2023 Michael A. Peters <anymouseprophet@gmail.com> - 3.26.3-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)

165
SPECS/brotli.spec Normal file
View File

@ -0,0 +1,165 @@
%if 0%{!?__pip3:1} == 1
%global __pip3 %{_bindir}/pip3
%endif
Name: brotli
Version: 1.0.9
Release: %{?repo}0.rc1%{?dist}
Summary: lossless compression algorithm
Group: System Environment/Utilities
License: MIT
URL: https://github.com/google/brotli
Source0: https://github.com/google/brotli/archive/v%{version}/brotli-%{version}.tar.gz
BuildRequires: %{_bindir}/cmake
BuildRequires: python3-devel
BuildRequires: %{__pip3}
Requires: %{name}-libs = %{version}-%{release}
%description
Brotli is a generic-purpose lossless compression algorithm that
compresses data using a combination of a modern variant of the LZ77
algorithm, Huffman coding and 2nd order context modeling, with a
compression ratio comparable to the best currently available general-
purpose compression methods. It is similar in speed with deflate but
offers more dense compression.
The specification of the Brotli Compressed Data Format is defined in
RFC 7932.
%package libs
Group: System Environment/Libraries
Summary: %{name} shared libraries
%description libs
This package contains the libbrotlicommon, libbrotlidec, and libbrotlienc
shared libraries.
%package devel
Group: Development/Libraries
Summary: %{name} development files
Requires: %{name}-libs = %{version}-%{release}
%description devel
This package contains the headers files needed to compile software
that links against the libbrotlicommon, libbrotlidec, and libbrotlienc
libraries.
%package static
Group: Development/Libraries
Summary: %{name} static libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
This package contains the libbrotlicommon-, libbrotlidec-, and
libbrotlienc-static.a static libraries.
%package -n python3-%{name}
Group: System Environment/Libraries
Summary: Python3 PIP module
Requires: %{name}-libs = %{version}-%{release}
%if 0%{?python3_ABI:1} == 1
Requires: %{python3_ABI}
%endif
%description -n python3-%{name}
This package contains the Python3 bindings for %{name}
%prep
%setup -q
sed -i 's@-R..libdir.@@' scripts/*.pc.in
%build
mkdir out
cd out
%{_bindir}/cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
..
make %{?_smp_mflags}
cd ..
%{__pip3} wheel -w dist --no-build-isolation --no-deps $PWD
%install
cd out
make install DESTDIR=%{buildroot}
cd ..
pip3 install --no-index \
--find-links dist \
--no-cache-dir \
--no-user \
--target=%{buildroot}%{python3_sitelib} \
Brotli
install -m755 -d %{buildroot}%{_mandir}/man1
install -m755 -d %{buildroot}%{_mandir}/man3
install -m644 docs/brotli.1 %{buildroot}%{_mandir}/man1/
install -m644 docs/constants.h.3 %{buildroot}%{_mandir}/man3/brotli-constants.h.3
install -m644 docs/decode.h.3 %{buildroot}%{_mandir}/man3/brotli-decode.h.3
install -m644 docs/encode.h.3 %{buildroot}%{_mandir}/man3/brotli-encode.h.3
install -m644 docs/types.h.3 %{buildroot}%{_mandir}/man3/brotli-types.h.3
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/brotli
%attr(0644,root,root) %{_mandir}/man1/brotli.1*
%license LICENSE
%doc LICENSE README
%files libs
%defattr(-,root,root,-)
%attr(0755,root,root) %{_libdir}/libbrotlicommon.so.1.0.9
%{_libdir}/libbrotlicommon.so.1
%attr(0755,root,root) %{_libdir}/libbrotlidec.so.1.0.9
%{_libdir}/libbrotlidec.so.1
%attr(0755,root,root) %{_libdir}/libbrotlienc.so.1.0.9
%{_libdir}/libbrotlienc.so.1
%license LICENSE
%doc LICENSE README
%files devel
%defattr(-,root,root,-)
%dir %{_includedir}/%{name}
%attr(0644,root,root) %{_includedir}/%{name}/*.h
%{_libdir}/libbrotlicommon.so
%{_libdir}/libbrotlidec.so
%{_libdir}/libbrotlienc.so
%attr(0644,root,root) %{_mandir}/man3/brotli-constants.h.3*
%attr(0644,root,root) %{_mandir}/man3/brotli-decode.h.3*
%attr(0644,root,root) %{_mandir}/man3/brotli-encode.h.3*
%attr(0644,root,root) %{_mandir}/man3/brotli-types.h.3*
%attr(0644,root,root) %{_libdir}/pkgconfig/*.pc
%license LICENSE
%doc LICENSE README
%files static
%defattr(-,root,root)
%attr(0644,root,root) %{_libdir}/libbrotlicommon-static.a
%attr(0644,root,root) %{_libdir}/libbrotlidec-static.a
%attr(0644,root,root) %{_libdir}/libbrotlienc-static.a
%license LICENSE
%doc LICENSE README
%files -n python3-%{name}
%defattr(-,root,root,-)
%dir %{python3_sitelib}/Brotli-%{version}.dist-info
%attr(0644,root,root) %{python3_sitelib}/Brotli-%{version}.dist-info/INSTALLER
%attr(0644,root,root) %{python3_sitelib}/Brotli-%{version}.dist-info/LICENSE
%attr(0644,root,root) %{python3_sitelib}/Brotli-%{version}.dist-info/METADATA
%attr(0644,root,root) %{python3_sitelib}/Brotli-%{version}.dist-info/RECORD
%attr(0644,root,root) %{python3_sitelib}/Brotli-%{version}.dist-info/REQUESTED
%attr(0644,root,root) %{python3_sitelib}/Brotli-%{version}.dist-info/WHEEL
%attr(0644,root,root) %{python3_sitelib}/Brotli-%{version}.dist-info/top_level.txt
%attr(0644,root,root) %{python3_sitelib}/__pycache__/brotli.cpython-%{python3_nodots}.pyc
%attr(0755,root,root) %{python3_sitelib}/_brotli.cpython-%{python3_nodots}-%{python3_os_platform}.so
%attr(0644,root,root) %{python3_sitelib}/brotli.py
%license LICENSE
%doc LICENSE README
%changelog
* Thu Apr 27 2023 Michael A. Peters <anymouseprophet@gmail.com> - 1.0.9-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)

113
SPECS/libevent.spec Normal file
View File

@ -0,0 +1,113 @@
%if 0%{?repo:1} == 1
%if "%{repo}" == "1.core."
%global nodoxygen foo
%endif
%endif
Name: libevent
Version: 2.1.12
Release: %{?repo}0.rc1%{?dist}
Summary: An event notification library
Group: System Environment/Libraries
License: BSD-3-Clause
URL: https://libevent.org/
Source0: https://github.com/libevent/libevent/releases/download/release-%{version}-stable/libevent-%{version}-stable.tar.gz
# see https://github.com/libevent/libevent/pull/1227/files
Patch0: libevent-2.1.12-libressl.patch
%if 0%{?libresslAPI:1} == 1
BuildRequires: libressl-devel
%else
BuildRequires: openssl-devel
%endif
%if 0%{!?nodoxygen:1} == 1
BuildRequires: doxygen
%endif
#Requires:
%description
The libevent API provides a mechanism to execute a callback function
when a specific event occurs on a file descriptor or after a timeout
has been reached. Furthermore, libevent also support callbacks due to
signals or regular timeouts.
libevent is meant to replace the event loop found in event driven network
servers. An application just needs to call event_dispatch() and then
add or remove events dynamically without having to change the event loop.
%package devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
%description devel
This package contains the developer files needed to compile software
that links against %{name}.
%prep
%setup -n %{name}-%{version}-stable
%patch 0 -p1
%__sed -i 's/python/&3/' event_rpcgen.py
%build
%configure --disable-static
make %{?_smp_mflags}
%if 0%{!?nodoxygen:1} == 1
doxygen Doxyfile
%endif
%check
%if 0%{?runtests:1} == 1
make check > %{name}-make.check.log 2>&1
%else
echo "make test not run during package build." > %{name}-make.check.log
%endif
%install
make install DESTDIR=%{buildroot}
%if 0%{!?nodoxygen:1} == 1
mkdir -p rpmdoc/api
cp -v -R doxygen/html/* rpmdoc/api/
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_libdir}/libevent-2.1.so.7.0.1
%{_libdir}/libevent-2.1.so.7
%attr(0755,root,root) %{_libdir}/libevent_core-2.1.so.7.0.1
%{_libdir}/libevent_core-2.1.so.7
%attr(0755,root,root) %{_libdir}/libevent_extra-2.1.so.7.0.1
%{_libdir}/libevent_extra-2.1.so.7
%attr(0755,root,root) %{_libdir}/libevent_openssl-2.1.so.7.0.1
%{_libdir}/libevent_openssl-2.1.so.7
%attr(0755,root,root) %{_libdir}/libevent_pthreads-2.1.so.7.0.1
%{_libdir}/libevent_pthreads-2.1.so.7
%license LICENSE
%doc ChangeLog* LICENSE README.md
%doc %{name}-make.check.log
%files devel
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/event_rpcgen.py
%dir %{_includedir}/event2
%attr(0644,root,root) %{_includedir}/event2/*.h
%attr(0644,root,root) %{_includedir}/*.h
%{_libdir}/libevent.so
%{_libdir}/libevent_core.so
%{_libdir}/libevent_extra.so
%{_libdir}/libevent_openssl.so
%{_libdir}/libevent_pthreads.so
%attr(0644,root,root) %{_libdir}/pkgconfig/*.pc
%license LICENSE
%doc ChangeLog* LICENSE README.md sample
%if 0%{!?nodoxygen:1} == 1
%doc rpmdoc/api
%endif
%changelog
* Thu Apr 27 Michael A. Peters <anymouseprophet@gmail.com> - 2.1.12-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)

71
SPECS/libuv.spec Normal file
View File

@ -0,0 +1,71 @@
Name: libuv
Version: 1.44.2
Release: %{?repo}0.rc1%{?dist}
Summary: asynchronous I/O library
Group: System Environment/Libraries
License: MIT
URL: https://libuv.org/
Source0: https://dist.libuv.org/dist/v%{version}/libuv-v%{version}.tar.gz
#BuildRequires:
#Requires:
%description
libuv is a multi-platform support library with a focus on asynchronous
I/O. It was primarily developed for use by Node.js, but it's also used
by Luvit, Julia, uvloop, and others.
%package devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
%description devel
This package includes the developer files needed to compile software
that links against the %{name} library.
%prep
%setup -n %{name}-v%{version}
%build
sh autogen.sh
%configure --disable-static
make %{?_smp_mflags}
%check
make check > %{name}-make.check.log 2>&1
%install
make install DESTDIR=%{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_libdir}/libuv.so.1.0.0
%{_libdir}/libuv.so.1
%license LICENSE LICENSE-docs
%doc AUTHORS LICENSE ChangeLog *.md
%doc %{name}-make.check.log
%files devel
%defattr(-,root,root,-)
%attr(0644,root,root) %{_includedir}/uv.h
%dir %{_includedir}/uv
%attr(0644,root,root) %{_includedir}/uv/*.h
%{_libdir}/libuv.so
%attr(0644,root,root) %{_libdir}/pkgconfig/libuv.pc
%license LICENSE LICENSE-docs
%doc AUTHORS LICENSE LICENSE-docs ChangeLog *.md docs
%changelog
* Wed Apr 26 2023 Michael A. Peters <anymouseprophet@gmail.com> - 1.44.2-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)

68
SPECS/links.spec Normal file
View File

@ -0,0 +1,68 @@
%if 0%{?repo:1} == 1
%if "%{repo}" == "1.core."
%global nofullgui foo
%endif
%endif
Name: links
Version: 2.29
Release: %{?repo}0.rc1%{?dist}
Summary: Console HTTP/2 Web Browser
Group: Applications/Internet
License: GPL-2.0-or-later
URL: http://links.twibright.com/
Source0: http://links.twibright.com/download/links-%{version}.tar.bz2
BuildRequires: brotli-devel
BuildRequires: libbz2-devel
BuildRequires: libevent-devel
BuildRequires: liblzma-devel
BuildRequires: libzstd-devel
BuildRequires: ncurses-devel
%if 0%{?libresslAPI:1} == 1
BuildRequires: libressl-devel
%else
BuildRequires: openssl-devel
%endif
BuildRequires: GPM-devel
%if 0%{!?nofullgui:1} == 1
BuildRequires: SVGAlib-devel
BuildRequires: DirectFB-devel
BuildRequires: libpng-devel > 1.2.18
BuildRequires: libjpeg-turbo-devel
BuildRequires: librsvg-devel
BuildRequires: libtiff-devel
%endif
#Requires:
%description
Links is a simple web browser that can run either in a console or in a graphical mode.
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/links
%attr(0644,root,root) %{_mandir}/man1/links.1*
%license COPYING
%doc AUTHORS BRAILLE_HOWTO COPYING ChangeLog KEYS NEWS README SITES
%doc Links_logo.png doc/links_cal
%changelog
* Thu Apr 27 2034 Michael A. Peters <anymouseprophet@gmail.com> - 2.29-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)

71
SPECS/nghttp2.spec Normal file
View File

@ -0,0 +1,71 @@
Name: nghttp2
Version: 1.52.0
Release: %{?repo}0.rc1%{?dist}
Summary: HTTP/2 C Library
Group: System Environment/Libraries
License: MIT
URL: https://nghttp2.org/
Source0: https://github.com/nghttp2/nghttp2/releases/download/v1.52.0/nghttp2-%{version}.tar.xz
#BuildRequires: libxml2-devel
#Requires:
%description
nghttp2 is an implementation of HTTP/2 and its header compression
algorithm HPACK in C.
The framing layer of HTTP/2 is implemented as a form of reusable C
library. On top of that, we have implemented HTTP/2 client, server and
proxy. We have also developed load test and benchmarking tool for HTTP/2.
%package devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
%description devel
This package provides the files needed to compile software that links
against the %{name} library.
%prep
%setup -q
%build
%configure \
--disable-static \
--enable-lib-only
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
rm -rf %{buildroot}%{_datadir}/doc/nghttp2
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_libdir}/libnghttp2.so.14.24.1
%{_libdir}/libnghttp2.so.14
%attr(0644,root,root) %{_mandir}/man1/*.1*
%dir %{_datadir}/nghttp2
%attr(0755,root,root) %{_datadir}/nghttp2/fetch-ocsp-response
%license COPYING
%doc AUTHORS COPYING ChangeLog README.rst
%files devel
%defattr(-,root,root,-)
%dir %{_includedir}/nghttp2
%attr(0644,root,root) %{_includedir}/nghttp2/*.h
%{_libdir}/libnghttp2.so
%{_libdir}/pkgconfig/libnghttp2.pc
%license COPYING
%doc AUTHORS COPYING ChangeLog README.rst examples
%changelog
* Wed Apr 26 2023 Michael A. Peters <anymouseprophet@gmail.com> - 1.52.0-0.rc1
- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)