diff --git a/SPECS/libffi.spec b/SPECS/libffi.spec new file mode 100644 index 0000000..a57ced2 --- /dev/null +++ b/SPECS/libffi.spec @@ -0,0 +1,98 @@ +%if 0%{?cpuoptimize:1} == 1 +%global ffiarch native +%else +%global ffiarch x86-64 +%endif + +%if %{!?insinfo:1}%{?insinfo:0} +%global insinfo /sbin/install-info +%endif + +Name: libffi +Version: 3.4.4 +Release: %{?repo}0.rc1%{?dist}%{?cpuoptimize} +Summary: A Portable Foreign Function Interface Library + +Group: System Environment/Libraries +License: MIT +URL: https://sourceware.org/libffi/ +Source0: https://github.com/libffi/libffi/releases/download/v%{version}/%{name}-%{version}.tar.gz + +#BuildRequires: +#Requires: + +%description +The libffi library provides a portable, high level programming interface +to various calling conventions. This allows a programmer to call any +function specified by a call interface description at run-time. + +FFI stands for Foreign Function Interface. A foreign function interface +is the popular name for the interface that allows code written in one +language to call code written in another language. The libffi library +really only provides the lowest, machine dependent layer of a fully +featured foreign function interface. A layer must exist above libffi +that handles type conversions for values passed between the two languages. + +%package devel +Group: Development/Libraries +Summary: Developer files for %{name} +Requires: %{name} = %{version}-%{release} +Requires(post): %{insinfo} +Requires(preun): %{insinfo} + +%description devel +This package contains the develper files that are necessary to compile +software that links against %{name}. + +%prep +%setup -q + + +%build +%configure --disable-static --with-gcc-arch=%{ffiarch} +make %{?_smp_mflags} + +%check +%if 0%{?runtests:1} == 1 +make check > %{name}-make.check.log 2>&1 +%else +echo "make check not run during package build." > %{name}-make.check.log +%endif + +%install +make install DESTDIR=%{buildroot} + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%post devel +%{insinfo} %{_infodir}/%{name}.info %{_infodir}/dir ||: + +%preun devel +if [ $1 = 0 ]; then +%{insinfo} --delete %{_infodir}/%{name}.info %{_infodir}/dir ||: +fi + +%files +%defattr(-,root,root,-) +%attr(0755,root,root) %{_libdir}/libffi.so.8.1.2 +%{_libdir}/libffi.so.8 +%license LICENSE +%doc LICENSE README.md %{name}-make.check.log + +%files devel +%defattr(-,root,root,-) +%attr(0644,root,root) %{_includedir}/*.h +%{_libdir}/libffi.so +%attr(0644,root,root) %{_libdir}/pkgconfig/libffi.pc +%attr(0644,root,root) %{_infodir}/libffi.info* +%exclude %{_infodir}/dir +%attr(0644,root,root) %{_mandir}/man3/ffi.3* +%attr(0644,root,root) %{_mandir}/man3/ffi_call.3* +%attr(0644,root,root) %{_mandir}/man3/ffi_prep_cif.3* +%attr(0644,root,root) %{_mandir}/man3/ffi_prep_cif_var.3* + + +%changelog +* Tue May 09 2023 Michael A. Peters - 3.4.4-0.rc1 +- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3) diff --git a/SPECS/libxml2.spec b/SPECS/libxml2.spec new file mode 100644 index 0000000..0aab930 --- /dev/null +++ b/SPECS/libxml2.spec @@ -0,0 +1,146 @@ +Name: libxml2 +Version: 2.10.3 +Release: %{?repo}0.rc3%{?dist} +Summary: XML/HTML Parser library. + +Group: System Environment/Libraries +License: MIT +URL: https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home +Source0: https://download.gnome.org/sources/libxml2/2.10/libxml2-%{version}.tar.xz + +BuildRequires: pkgconfig(history) +BuildRequires: pkgconfig(icu-i18n) +BuildRequires: pkgconfig(icu-uc) +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(ncursesw) +BuildRequires: pkgconfig(readline) +BuildRequires: pkgconfig(zlib) +BuildRequires: libstdc++-devel +BuildRequires: python3-devel + +%description +This library allows to manipulate XML files. It includes support +to read, modify and write XML and HTML files. There is DTDs support +this includes parsing and validation even with complex DtDs, either +at parse time or later once the document has been modified. The output +can be a simple SAX stream or and in-memory DOM like representations. +In this case one can use the built-in XPath and XPointer implementation +to select sub nodes or ranges. A flexible Input/Output mechanism is +available, with existing HTTP and FTP modules and combined to an +URI library. + +%package utils +Summary: The %{name} utilities +Group: System Environment/Utilities +Requires: %{name} = %{version}-%{release} + +%description utils +This package contains the xmlcatalog and xmllint command line utilities for +working with XML files. + +%package devel +Summary: Header files and related for %{name}. +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +This packages contains the header files and related files needed to compile +software that links against %{name}. + +%package -n python3-%{name} +Summary: Python3 bindings for %{name}. +Group: Python3 +Requires: %{name} = %{version}-%{release} +%if 0%{?python3_ABI:1} == 1 +# Non-Standard Macro +Requires: %{python3_ABI} +%endif + +%description -n python3-%{name} +This package contains the Python3 bindings for %{name}. + +%prep +%setup -q + + +%build +%configure \ + --disable-static \ + --with-history \ + --with-icu \ + PYTHON=%{python3} + +make %{?_smp_mflags} + +%check +%if 0%{?runtests:1} == 1 +make check > %{name}-make.check.log 2>&1 +%else +echo "make check not run at package build" > %{name}-make.check.log +%endif + +%install +make install DESTDIR=%{buildroot} + +mkdir rpmdoc +mv %{buildroot}%{_datadir}/doc/libxml2 rpmdoc/ + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%attr(0755,root,root) %{_libdir}/libxml2.so.2.10.3 +%{_libdir}/libxml2.so.2 +%license Copyright +%doc README.md NEWS Copyright %{name}-make.check.log + +%files utils +%defattr(-,root,root,-) +%attr(0755,root,root) %{_bindir}/xmlcatalog +%attr(0755,root,root) %{_bindir}/xmllint +%attr(0644,root,root) %{_mandir}/man1/xmlcatalog.1* +%attr(0644,root,root) %{_mandir}/man1/xmllint.1* +%license Copyright +%doc README.md NEWS Copyright + +%files devel +%defattr(-,root,root,-) +%attr(0755,root,root) %{_bindir}/xml2-config +%dir %{_includedir}/libxml2 +%dir %{_includedir}/libxml2/libxml +%attr(0644,root,root) %{_includedir}/libxml2/libxml/*.h +%{_libdir}/libxml2.so +%dir %{_libdir}/cmake/libxml2 +%attr(0644,root,root) %{_libdir}/cmake/libxml2/libxml2-config.cmake +%attr(0644,root,root) %{_libdir}/pkgconfig/libxml-2.0.pc +%attr(0644,root,root) %{_datadir}/aclocal/libxml.m4 +%attr(0644,root,root) %{_mandir}/man1/xml2-config.1* +%license Copyright +%doc README.md NEWS Copyright +%doc rpmdoc/libxml2/xmlcatalog.html +%doc rpmdoc/libxml2/xmllint.html +%doc rpmdoc/libxml2/examples +%doc rpmdoc/libxml2/tutorial +%{_datadir}/gtk-doc/html/libxml2 + +%files -n python3-%{name} +%defattr(-,root,root,-) +%attr(0644,root,root) %{python3_sitelib}/drv_libxml2.py +%attr(0644,root,root) %{python3_sitelib}/libxml2.py +%attr(0644,root,root) %{python3_sitelib}/__pycache__/*.pyc +%attr(0755,root,root) %{python3_sitearch}/libxml2mod.so +%doc rpmdoc/libxml2/python + + + +%changelog +* Tue May 09 2023 Michael A. Peters - 2.10.3-0.rc3 +- Major spec file cleanup. + +* Tue Mar 14 2023 Michael A. Peters - 2.10.3-0.rc2 +- Cleaned up the subpackages and dependecies +- Run make check + +* Sat Mar 11 2023 Michael A. Peters - 2.10.3-0.rc1 +- Initial packaging for LFS 11.3 based system