mirror of
https://github.com/ivabus/pantry
synced 2024-11-22 08:25:07 +03:00
bz2 fix absolute symlinks (#4365)
* for some reason these symlinks are created absolute, fix that * restore the makefile to make the dylib on darwin * it was failing due to bzip2 being a dep for brewkit
This commit is contained in:
parent
51a7a5f2a6
commit
447e3f0245
2 changed files with 100 additions and 28 deletions
44
projects/sourceware.org/bzip2/Makefile-libbz2_dylib
Normal file
44
projects/sourceware.org/bzip2/Makefile-libbz2_dylib
Normal file
|
@ -0,0 +1,44 @@
|
|||
# This Makefile builds a shared version of the library,
|
||||
# libbz2.dylib for MacOSX x86 (10.13.4 or higher),
|
||||
# It is a custom Makefile. Use at own risk.
|
||||
# Run in your MacOS terminal with the following command:
|
||||
# make -f Makefile-libbz2_dylib
|
||||
|
||||
PKG_VERSION?=1.0.8
|
||||
PREFIX?=/usr/local
|
||||
|
||||
# SHELL=/bin/sh
|
||||
# CC=gcc
|
||||
BIGFILES=-D_FILE_OFFSET_BITS=64
|
||||
CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
|
||||
|
||||
OBJS= blocksort.o \
|
||||
huffman.o \
|
||||
crctable.o \
|
||||
randtable.o \
|
||||
compress.o \
|
||||
decompress.o \
|
||||
bzlib.o
|
||||
|
||||
all: $(OBJS)
|
||||
$(CC) -shared -Wl,-install_name -Wl,libbz2.dylib -o libbz2.${PKG_VERSION}.dylib $(OBJS)
|
||||
cp libbz2.${PKG_VERSION}.dylib ${PREFIX}/lib/
|
||||
ln -s libbz2.${PKG_VERSION}.dylib ${PREFIX}/lib/libbz2.dylib
|
||||
|
||||
clean:
|
||||
rm -f libbz2.dylib libbz2.${PKG_VERSION}.dylib
|
||||
|
||||
blocksort.o: blocksort.c
|
||||
$(CC) $(CFLAGS) -c blocksort.c
|
||||
huffman.o: huffman.c
|
||||
$(CC) $(CFLAGS) -c huffman.c
|
||||
crctable.o: crctable.c
|
||||
$(CC) $(CFLAGS) -c crctable.c
|
||||
randtable.o: randtable.c
|
||||
$(CC) $(CFLAGS) -c randtable.c
|
||||
compress.o: compress.c
|
||||
$(CC) $(CFLAGS) -c compress.c
|
||||
decompress.o: decompress.c
|
||||
$(CC) $(CFLAGS) -c decompress.c
|
||||
bzlib.o: bzlib.c
|
||||
$(CC) $(CFLAGS) -c bzlib.c
|
|
@ -9,48 +9,76 @@ versions:
|
|||
provides:
|
||||
- bin/bunzip2
|
||||
- bin/bzcat
|
||||
- bin/bzcmp
|
||||
- bin/bzdiff
|
||||
- bin/bzgrep
|
||||
- bin/bzegrep
|
||||
- bin/bzfgrep
|
||||
- bin/bzip2
|
||||
- bin/bzip2recover
|
||||
- bin/bzmore
|
||||
- bin/bzless
|
||||
|
||||
build:
|
||||
script: |
|
||||
make \
|
||||
--environment-overrides \
|
||||
--jobs {{ hw.concurrency }} \
|
||||
install
|
||||
script:
|
||||
- make --environment-overrides
|
||||
- make --environment-overrides install
|
||||
|
||||
case {{ hw.platform }} in
|
||||
linux)
|
||||
make \
|
||||
--file Makefile-libbz2_so \
|
||||
--environment-overrides \
|
||||
--jobs {{ hw.concurrency }}
|
||||
# fix absolute symlinks
|
||||
- run: |
|
||||
for x in *; do
|
||||
if [ -L $x ]; then
|
||||
y="$(readlink $x)"
|
||||
rm $x
|
||||
ln -s $(basename "$y") $x
|
||||
fi
|
||||
done
|
||||
working-directory: '{{prefix}}/bin'
|
||||
|
||||
mv libbz2.*.1.* {{ prefix }}/lib
|
||||
cd {{ prefix }}/lib
|
||||
test -e libbz2.so || ln -s libbz2.so.{{ version }} libbz2.so
|
||||
test -e libbz2.so.{{ version.major }} || ln -s libbz2.so.{{ version }} libbz2.so.{{ version.major }}
|
||||
;;
|
||||
darwin)
|
||||
cd {{ prefix }}/lib
|
||||
test -e libbz2.dylib
|
||||
test -e libbz2.{{version}}.dylib
|
||||
test -e libbz2.{{version.major}}.dylib
|
||||
;;
|
||||
esac
|
||||
- if: linux
|
||||
run: |
|
||||
make \
|
||||
--file Makefile-libbz2_so \
|
||||
--environment-overrides \
|
||||
--jobs {{ hw.concurrency }}
|
||||
|
||||
mv libbz2.*.1.* {{ prefix }}/lib
|
||||
cd {{ prefix }}/lib
|
||||
test -e libbz2.so || ln -s libbz2.so.{{ version }} libbz2.so
|
||||
test -e libbz2.so.{{ version.major }} || ln -s libbz2.so.{{ version }} libbz2.so.{{ version.major }}
|
||||
|
||||
- if: darwin
|
||||
run: |
|
||||
# necessary until brewkit v1
|
||||
if [ -n "$(ls {{ prefix }}/lib/*.dylib)" ]; then
|
||||
rm {{ prefix }}/lib/*.dylib
|
||||
fi
|
||||
|
||||
make \
|
||||
--file props/Makefile-libbz2_dylib \
|
||||
--environment-overrides \
|
||||
--jobs {{ hw.concurrency }}
|
||||
|
||||
cd {{ prefix }}/lib
|
||||
test -e libbz2.dylib
|
||||
test -e libbz2.{{version}}.dylib
|
||||
ln -s libbz2.{{version}}.dylib libbz2.{{version.major}}.dylib
|
||||
|
||||
env:
|
||||
CFLAGS: -fPIC # so deps link without relocation issues on linux/aarch64
|
||||
PREFIX: ${{ prefix }}
|
||||
darwin:
|
||||
PKG_VERSION: ${{ version }}
|
||||
|
||||
test:
|
||||
script: |
|
||||
OUT=$(echo "$INPUT" | bzip2 | bunzip2)
|
||||
test "$OUT" = "$INPUT"
|
||||
script:
|
||||
- |
|
||||
OUT=$(echo "$INPUT" | bzip2 | bunzip2)
|
||||
test "$OUT" = "$INPUT"
|
||||
# test symlinks are functional
|
||||
# sadly bzegrep has no `--help`
|
||||
- |
|
||||
echo "$INPUT" > file
|
||||
bzip2 file
|
||||
bzegrep test-string file.bz2
|
||||
env:
|
||||
INPUT: tea.xyz
|
||||
INPUT: tea.xyz.test-string
|
||||
|
|
Loading…
Reference in a new issue