Browse Source

new package

master
parent
commit
f71bab6c33
  1. 26
      flif/flif.patch
  2. 87
      flif/flif.spec

26
flif/flif.patch

@ -0,0 +1,26 @@
Index: src/Makefile
--- src/Makefile.orig 2017-04-28 17:46:54.000000000 +0200
+++ src/Makefile 2017-04-29 12:37:38.264938000 +0200
@@ -35,8 +35,8 @@
endif
# Command-line FLIF encoding/decoding tool - LGPLv3
-flif: $(FILES_H) $(FILES_CPP) flif.cpp
- $(CXX) -std=gnu++11 $(CXXFLAGS) $(OPTIMIZATIONS) -g0 -Wall $(FILES_CPP) flif.cpp $(LDFLAGS) -o flif
+flif: $(FILES_CPP:%.cpp=%.o) flif.o
+ $(CXX) -std=gnu++11 $(CXXFLAGS) $(OPTIMIZATIONS) $(FILES_CPP:%.cpp=%.o) flif.o $(LDFLAGS) -o flif
# Command-line FLIF decoding tool - Apache2 (not built by default)
dflif: $(FILES_H) $(FILES_CPP) flif.cpp
@@ -52,6 +52,11 @@
libflif$(LIBEXT): $(FILES_H) $(FILES_CPP) library/*.h library/*.hpp library/*.cpp
$(CXX) -std=gnu++11 $(CXXFLAGS) $(LIB_OPTIMIZATIONS) -g0 -Wall -shared -fPIC $(FILES_CPP) library/flif-interface.cpp $(LDFLAGS) -Wl,$(SONAME),libflif$(LIBEXTV) -o libflif$(LIBEXTV)
ln -sf libflif$(LIBEXTV) libflif$(LIBEXT)
+.cpp.o:
+ $(CXX) -std=gnu++11 $(CXXFLAGS) -c -o $@ $<
+libflif.a: $(FILES_CPP:%.cpp=%.o) library/flif-interface.o
+ ar rc libflif.a $(FILES_CPP:%.cpp=%.o) library/flif-interface.o
+ ranlib libflif.a
libflif.dbg$(LIBEXT): $(FILES_H) $(FILES_CPP) library/*.h library/*.hpp library/*.cpp
$(CXX) -std=gnu++11 $(CXXFLAGS) -DDEBUG -O1 -ggdb3 -Wall -shared -fPIC $(FILES_CPP) library/flif-interface.cpp $(LDFLAGS) -Wl,$(SONAME),libflif$(LIBEXTV) -o libflif.dbg$(LIBEXTV)

87
flif/flif.spec

@ -0,0 +1,87 @@
##
## flif.spec -- OpenPKG RPM Package Specification
## Copyright (c) 2000-2017 OpenPKG Foundation e.V. <http://openpkg.net/>
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# package information
Name: flif
Summary: FLIF Image Format
URL: http://flif.info/
Vendor: Jon Sneyers, Pieter Wuille
Packager: OpenPKG Foundation e.V.
Distribution: OpenPKG Community
Class: EVAL
Group: Graphics
License: LGPL/Apache
Version: 0.3
Release: 20170429
# list of sources
Source0: https://github.com/FLIF-hub/FLIF/archive/v%{version}.tar.gz
Patch0: flif.patch
# build information
BuildPreReq: OpenPKG, openpkg >= 20160101
PreReq: OpenPKG, openpkg >= 20160101
BuildPreReq: png, zlib
PreReq: png, zlib
%description
FLIF is a lossless image format based on MANIAC compression. MANIAC
(Meta-Adaptive Near-zero Integer Arithmetic Coding) is a variant
of CABAC (context-adaptive binary arithmetic coding), where the
contexts are nodes of decision trees which are dynamically learned
at encode time.
%track
prog flif = {
version = %{version}
url = https://github.com/FLIF-hub/FLIF/releases
regex = v(__VER__)\.tar\.gz
}
%prep
%setup -q -n FLIF-%{version}
%patch -p0
%build
cd src
%{l_make} %{l_mflags -O} \
CXX="%{l_cxx} %{l_cxxflags -O} %{l_cppflags} %{l_ldflags}" \
libflif.a flif
%install
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/bin \
$RPM_BUILD_ROOT%{l_prefix}/include/flif \
$RPM_BUILD_ROOT%{l_prefix}/lib
%{l_shtool} install -c -s -m 755 \
src/flif $RPM_BUILD_ROOT%{l_prefix}/bin/
%{l_shtool} install -c -m 644 \
src/libflif.a $RPM_BUILD_ROOT%{l_prefix}/lib/
%{l_shtool} install -c -m 644 \
src/*.hpp $RPM_BUILD_ROOT%{l_prefix}/include/flif/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
Loading…
Cancel
Save