diff --git a/flif/flif.patch b/flif/flif.patch new file mode 100644 index 0000000000..6a0a68dfbb --- /dev/null +++ b/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) diff --git a/flif/flif.spec b/flif/flif.spec new file mode 100644 index 0000000000..815bfe4acf --- /dev/null +++ b/flif/flif.spec @@ -0,0 +1,87 @@ +## +## flif.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2017 OpenPKG Foundation e.V. +## +## 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 +