98 lines
3.3 KiB
RPMSpec
98 lines
3.3 KiB
RPMSpec
Name: ustl
|
|
Version: 2.1
|
|
Release: 4%{?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
|
|
|
|
%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, substituted with correct ldflags.
|
|
sed -i -e 's|-s |%{?__global_ldflags} |g' Config.mk.in
|
|
sed -i -e 's|/usr/lib|%{_libdir}|g' \
|
|
-e 's|CXXFLAGS :=|override CXXFLAGS +=|g' \
|
|
Config.mk.in
|
|
|
|
# Do not interfere with optflags
|
|
sed -i -e 's|-march=native||g' configure
|
|
|
|
%build
|
|
./configure \
|
|
--prefix=%{buildroot}%{_prefix} \
|
|
%ifarch %{ix86}
|
|
--without-mmx \
|
|
%endif
|
|
--with-libstdc++ --force-inline
|
|
|
|
%make_build CXXFLAGS+="%{optflags}"
|
|
|
|
%install
|
|
%make_install LIBDIR="%{buildroot}%{_libdir}"
|
|
|
|
chmod 755 -v %{buildroot}%{_libdir}/*
|
|
|
|
%check
|
|
make check
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%files
|
|
%doc LICENSE
|
|
%{_libdir}/libustl.so.*
|
|
|
|
%files devel
|
|
%doc README docs/
|
|
%{_includedir}/ustl.h
|
|
%{_includedir}/ustl/
|
|
%{_libdir}/libustl.so
|
|
|
|
%changelog
|
|
* 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.
|