Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
Denis Fateyev
c1ab463420 This library is obsolete. Please use the official gcc C++ standard library. 2022-03-27 03:03:56 +06:00
4 changed files with 2 additions and 181 deletions

6
.gitignore vendored
View file

@ -1,6 +0,0 @@
/ustl-2.1.tar.gz
/ustl-2.3.tar.gz
/ustl-2.4.tar.gz
/ustl-2.5.tar.gz
/ustl-2.7.tar.gz
/ustl-2.8.tar.gz

2
dead.package Normal file
View file

@ -0,0 +1,2 @@
The library "ustl" is obsolete, as announced by the author.
https://github.com/msharov/ustl

View file

@ -1 +0,0 @@
SHA512 (ustl-2.8.tar.gz) = 323515163080d1888202d16c3bc34312c689ea212f6d33da6ee47664c6ea2e8fcb0e64bb52cbe5896875ecd68acc3575236301691e110ed226b57a5d601b6c25

174
ustl.spec
View file

@ -1,174 +0,0 @@
Name: ustl
Version: 2.8
Release: 9%{?dist}
Summary: A size-optimized STL implementation
License: MIT
URL: http://msharov.github.io/ustl/
Source0: https://github.com/msharov/ustl/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: coreutils
BuildRequires: gcc-c++
BuildRequires: libstdc++-static
BuildRequires: pkgconfig
BuildRequires: make
BuildRequires: sed
%description
The C++ standard template library (STL) is a collection of common containers
and algorithms in template form. Unfortunately its standard incarnation
shipped with gcc is implemented without much concern for code size. Not only
is the library itself large, the current version being over a megabyte in
size, but with all the code you instantiate by using a vector for each of
your containers, it is easy to become fearful and opt for using static
arrays instead or, worse yet, abandon C++ altogether for C. This is
especially painful to former DOS assembly programmers like myself, who fret
endlessly when the size of the executable crosses the magic 64k boundary,
forgetting that nobody cares about memory anymore.
Of course, these days everyone has gigabytes of RAM and has no compunction
about loading up OpenOffice, whose source tree is over a gigabyte in size.
Why then bother with saving a kilobyte of code here and there? I can't really
say. Maybe it's that warm fuzzy knowledge that you are making maximum possible
use of your computer's resources. Maybe it's that thrill you get after
expressing your program's functionality in the fewest possible instructions
and the minimum imaginable overhead. Or maybe it really is of no importance
and any code bloat will be easily overcome by faster processors in some near
future. I just know what I like, and it's the sight of clean, concise, and
fast code. Therefore this library.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package contains libraries and header files for
developing applications that use %{name}.
%prep
%setup -q
# No silent build.
sed -i -e 's|\t@|\t|g' Makefile
# Don't strip the symbols, use correct flags
sed -i -e '/ -s -Wl,-gc-sections/s/ -s//g' \
-e 's|CXXFLAGS :=|override CXXFLAGS +=|g' \
Config.mk.in
# Do not interfere with optflags
sed -i -e 's|-march=native||g' configure
# Fix pkgconfig file
sed -i '/^prefix=/d' ustl.pc.in
sed -i -e 's|${prefix}/lib|%{_libdir}|g' ustl.pc.in
sed -i -e 's|${prefix}/include|%{_includedir}|g' ustl.pc.in
%build
./configure \
--prefix=%{buildroot}%{_prefix} \
%ifarch %{ix86}
--without-mmx \
%endif
--with-libstdc++ --force-inline
%make_build CXXFLAGS+="%{optflags}"
%install
%make_install \
LIBDIR="%{buildroot}%{_libdir}" \
INCDIR="%{buildroot}%{_includedir}" \
PKGCONFIGDIR="%{buildroot}%{_libdir}/pkgconfig"
chmod 755 -v %{buildroot}%{_libdir}/*
%check
make check CXXFLAGS+="%{optflags}"
%ldconfig_scriptlets
%files
%license LICENSE
%doc README
%{_libdir}/libustl.so.*
%files devel
%doc docs/*
%{_includedir}/ustl.h
%{_includedir}/ustl/
%{_libdir}/libustl.so
%{_libdir}/pkgconfig/ustl.pc
%changelog
* Thu Feb 10 2022 Denis Fateyev <denis@fateyev.com> - 2.8-9
- Spec modernize and cleanup
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Dec 30 2018 Denis Fateyev <denis@fateyev.com> - 2.8-1
- Update to 2.8 version
* Thu Aug 02 2018 Denis Fateyev <denis@fateyev.com> - 2.7-1
- Update to 2.7 version
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sat Dec 24 2016 Denis Fateyev <denis@fateyev.com> - 2.5-1
- Update to 2.5 version
* Fri May 20 2016 Denis Fateyev <denis@fateyev.com> - 2.4-1
- Update to 2.4 version
- Dropping obsolete patches
* Mon Feb 29 2016 Denis Fateyev <denis@fateyev.com> - 2.3-1
- Update to 2.3 version (including patches)
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Fri Aug 08 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 2.1-3
- Remove -march=native
- Disable SSE on ix86 (not supported by default optflags)
* Tue Jul 29 2014 Christopher Meng <rpm@cicku.me> - 2.1-2
- Fix library location on lib64 system.
* Tue Jan 21 2014 Christopher Meng <rpm@cicku.me> - 2.1-1
- Initial Package.