# This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation here: # (http://www.gnu.org/licenses/gpl-2.0.html) # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. DEPENDS = ARCH = x86_64 URL = http://www.bzip.org/ DESC = bzip2 is a freely available, patent free, high-quality data compressor SNAPVER = sr0 ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1) TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n') SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//') PATCHDIR := $(PWD)/SRC/patches VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'|sed 's/^-//')$(SNAPVER) MAKE = make -f Makefile-libbz2_so && make clean MAKEINST = make PREFIX=$(ROOT)/usr install SNAPHACKS = mkdir -pv $(ROOT)/lib && \ cp -av $(SRCDIR)/libbz2.so* $(ROOT)/lib && \ ln -sv ../../lib/libbz2.so.1.0 $(ROOT)/usr/lib/libbz2.so && \ mkdir -pv $(ROOT)/bin && \ cp -av $(SRCDIR)/bzip2-shared $(ROOT)/bin/bzip2 && \ rm -v $(ROOT)/usr/bin/{bunzip2,bzcat,bzip2} && \ ln -sv bzip2 $(ROOT)/bin/bunzip2 && \ ln -sv bzip2 $(ROOT)/bin/bzcat && \ mkdir -pv $(ROOT)/usr/share && \ mv $(ROOT)/usr/man $(ROOT)/usr/share include /usr/share/snap/Makefile.snaplinux $(SRCDIR): $(ARCHIVE) @if [ '$(TYPE)' == 'application/x-bzip2' ]; then \ tar -jxf $(ARCHIVE); \ elif [ '$(TYPE)' == 'application/x-gzip' ]; then \ tar -zxf $(ARCHIVE); \ elif [ '$(TYPE)' == 'application/x-tar' ]; then \ tar -xf $(ARCHIVE); \ elif [ '$(TYPE)' == 'application/x-xz' ]; then \ tar -xf $(ARCHIVE); \ else \ echo 'Unable to determine archive type'; \ exit 1; \ fi $(SRCDIR)/bzip2: $(SRCDIR) @if [ -f $(PATCHDIR)/*.patch ]; then \ cd $(SRCDIR) && cat $(PATCHDIR)/*.patch|patch --verbose -Np1; \ fi @cd $(SRCDIR); \ $(MAKE) $(ROOT): $(SRCDIR)/bzip2 @if [ -d $(ROOT) ]; then \ touch $(ROOT); \ else \ mkdir -v $(ROOT); \ fi @cd $(SRCDIR); \ $(MAKEINST) @$(SNAPHACKS) test: @cd $(SRCDIR); \ make test clean: @rm -rvf $(ROOT) \ $(SNAPINFO) \ $(MANIFEST) \ $(FILES) \ $(SRCDIR)