Compare commits

..

5 commits

Author SHA1 Message Date
Denis Fateyev
37447f74c1 ustl: 2.5 release 2016-12-27 01:11:00 +06:00
Denis Fateyev
9f64ddf923 ustl: 2.4 release 2016-05-22 02:48:19 +06:00
Denis Fateyev
6484c5e119 ustl: 2.3 epel release 2016-02-29 23:03:52 +06:00
Christopher Meng
e6476df6bc Merge branch 'master' into f20
Conflicts:
	ustl.spec
2014-08-08 16:57:55 +08:00
Christopher Meng
c19880725d Revert back. 2014-08-05 16:33:41 +08:00
4 changed files with 129 additions and 2 deletions

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
/ustl-2.1.tar.gz
/ustl-2.3.tar.gz
/ustl-2.4.tar.gz
/ustl-2.5.tar.gz

View file

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

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (ustl-2.5.tar.gz) = 3ed26daa5773df9e667d4311778b026fc012d7dadf35eb4fcf26b7c0dacb3fa120ce8e3a9db4c5929bfa1325342a28c601471b63d8c40e70e5d96eb3976fdd27

124
ustl.spec Normal file
View file

@ -0,0 +1,124 @@
Name: ustl
Version: 2.5
Release: 1%{?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: gcc-c++
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, substituted with correct ldflags.
sed -i -e 's|/usr/lib|%{_libdir}|g' \
-i -e 's|-s |-Wl,-z,relro |g' \
-e 's|CXXFLAGS :=|override CXXFLAGS +=|g' \
Config.mk.in
# Do not interfere with optflags, hardened build flags.
sed -i -e 's|-march=native||g' \
-i -e 's|-shared |-shared -Wl,-z,now |g' \
configure
%build
./configure \
--prefix=%{buildroot}%{_prefix} \
%ifarch %{ix86}
--without-mmx \
%endif
--with-libstdc++ --force-inline
make %{?_smp_mflags} \
CXXFLAGS+="%{optflags} -fPIC"
%install
make install LIBDIR="%{buildroot}%{_libdir}"
chmod 755 -v %{buildroot}%{_libdir}/*
%check
make check
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{!?_licensedir:%global license %doc}
%license LICENSE
%doc README
%{_libdir}/libustl.so.*
%files devel
%doc docs/*
%{_includedir}/ustl.h
%{_includedir}/ustl/
%{_libdir}/libustl.so
%changelog
* 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 EPEL branches to 2.3 version
* 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.