|
1 | 1 | # Library Versions |
2 | | -WEBP_VERSION=1.3.2 |
3 | | -LIBDE265_VERSION=1.0.12 |
4 | | -LIBHEIF_VERSION=1.17.1 |
5 | | -VIPS_VERSION=8.14.5 |
6 | | -SHARP_VERSION=0.32.6 |
| 2 | +WEBP_VERSION=1.2.4 |
| 3 | +LIBDE265_VERSION=1.0.8 |
| 4 | +LIBHEIF_VERSION=1.12.0 |
| 5 | +VIPS_VERSION=8.12.2 |
| 6 | +SHARP_VERSION=0.30.7 |
7 | 7 |
|
8 | | -PREFIX_PATH=/usr/local |
9 | | -LIB_PATH=$(PREFIX_PATH)/lib64 |
10 | | -LIBRARY_PATH=$(LIB_PATH) |
11 | | -EXAMPLE_IMAGE_PATH=$(CURDIR)/example-images |
| 8 | +PREFIX_PATH=/opt |
12 | 9 |
|
13 | | -export PKG_CONFIG_PATH=$(LIB_PATH)/pkgconfig |
14 | | -export LD_LIBRARY_PATH=$(LIB_PATH):$$LD_LIBRARY_PATH |
| 10 | +export PKG_CONFIG_PATH=$(PREFIX_PATH)/lib/pkgconfig |
15 | 11 |
|
16 | 12 | build-SharpHEICLayer: libvips |
17 | 13 | mkdir -p "$(ARTIFACTS_DIR)/nodejs" |
18 | 14 | mkdir -p "$(ARTIFACTS_DIR)/lib" |
19 | 15 |
|
20 | | - # sharp uses several of the libs we installed or compiled. extract the full list and copy all of those into $(ARTIFACTS_DIR)/lib |
21 | | - # extract list with ldd from sharp.node, manipulate a bit to only get the absolute paths, then copy |
22 | | - |
23 | | - PKG_CONFIG_PATH=$(LIB_PATH)/pkgconfig LD_LIBRARY_PATH=$(LIB_PATH) npm install --prefix "$(ARTIFACTS_DIR)/nodejs/" --verbose --foreground-scripts sharp@$(SHARP_VERSION) |
24 | | - PKG_CONFIG_PATH=$(LIB_PATH)/pkgconfig LD_LIBRARY_PATH=$(LIB_PATH) ldd $(ARTIFACTS_DIR)/nodejs/node_modules/sharp/build/Release/sharp-linux-x64.node | awk 'BEGIN{OFS=" "}{ print $$3 }' | grep '/' | xargs -I '{}' cp '{}' $(ARTIFACTS_DIR)/lib |
25 | | - |
26 | | - # debug logs |
27 | | - PKG_CONFIG_PATH=$(LIB_PATH)/pkgconfig LD_LIBRARY_PATH=$(LIB_PATH) ldd $(ARTIFACTS_DIR)/nodejs/node_modules/sharp/build/Release/sharp-linux-x64.node |
28 | | - ls -la $(ARTIFACTS_DIR)/lib |
| 16 | + # sharp uses several of the libs we installed or compiled. extract the full list and copy all of those into /opt/lib |
| 17 | + # extract list with ldd from sharp.node, manipulate a bit with sed to only get the absolute paths, then copy |
| 18 | + LD_LIBRARY_PATH=$(PREFIX_PATH)/lib npm --prefix "$(ARTIFACTS_DIR)/nodejs/" install sharp@$(SHARP_VERSION) |
| 19 | + LD_LIBRARY_PATH=$(PREFIX_PATH)/lib ldd $(ARTIFACTS_DIR)/nodejs/node_modules/sharp/build/Release/sharp-linux-x64.node | sed -nE "s/^[^\/\n]*(\/[^ ]+)(.*)/\1/p" | xargs cp -t $(ARTIFACTS_DIR)/lib |
29 | 20 |
|
30 | 21 | libwebp: |
31 | 22 | curl -L https://github.com/webmproject/libwebp/archive/v$(WEBP_VERSION).tar.gz | tar zx |
32 | 23 | cd libwebp-$(WEBP_VERSION) && ./autogen.sh && ./configure --enable-libwebpmux --prefix=$(PREFIX_PATH) && make V=0 && make install |
33 | 24 |
|
34 | 25 | libde265: |
| 26 | + # libde265 |
35 | 27 | curl -L https://github.com/strukturag/libde265/releases/download/v$(LIBDE265_VERSION)/libde265-$(LIBDE265_VERSION).tar.gz | tar zx |
36 | 28 | cd libde265-$(LIBDE265_VERSION) && ./autogen.sh && ./configure --disable-dec265 --disable-sherlock265 --prefix=$(PREFIX_PATH) && make V=0 && make install |
37 | 29 |
|
38 | 30 | libheif: libde265 |
39 | 31 | # libheif |
40 | 32 | curl -L https://github.com/strukturag/libheif/releases/download/v$(LIBHEIF_VERSION)/libheif-$(LIBHEIF_VERSION).tar.gz | tar zx |
41 | | - cd libheif-$(LIBHEIF_VERSION) && mkdir build && cd build && cmake -DCMAKE_INSTALL_LIBDIR=$(LIB_PATH) --preset=release .. && make && make install |
| 33 | + cd libheif-$(LIBHEIF_VERSION) && ./autogen.sh && ./configure --prefix=$(PREFIX_PATH) && make V=0 && make install |
42 | 34 |
|
43 | | -libvips: installLib |
| 35 | +libvips: installLib libheif libwebp |
44 | 36 | # libvips |
45 | | - curl -L https://github.com/libvips/libvips/releases/download/v$(VIPS_VERSION)/vips-$(VIPS_VERSION).tar.xz | tar xJ |
46 | | - cd vips-$(VIPS_VERSION) && meson setup build -Dexamples=true && cd build && meson compile && meson test && meson install |
47 | | - |
48 | | -# libheif: libde265 |
49 | | -# # libheif |
50 | | -# curl -L https://github.com/strukturag/libheif/releases/download/v$(LIBHEIF_VERSION)/libheif-$(LIBHEIF_VERSION).tar.gz | tar zx |
51 | | -# cd libheif-$(LIBHEIF_VERSION) && ./autogen.sh && ./configure --prefix=$(PREFIX_PATH) && make V=0 && make install |
52 | | -# cd libheif-$(LIBHEIF_VERSION)/examples && ./heif-convert example.heic example.jpeg && cp example*.jpeg $(EXAMPLE_IMAGE_PATH) && cp example.heic $(EXAMPLE_IMAGE_PATH) |
53 | | - |
54 | | -# libvips: installLib libheif libwebp |
55 | | -# # libvips |
56 | | -# curl -L https://github.com/libvips/libvips/releases/download/v$(VIPS_VERSION)/vips-$(VIPS_VERSION).tar.gz | tar zx |
57 | | -# cd vips-$(VIPS_VERSION) && ./configure --prefix=$(PREFIX_PATH) && make V=0 && make install |
58 | | -# cd vips-$(VIPS_VERSION)/tools && ./vips rot $(EXAMPLE_IMAGE_PATH)/example.heic $(EXAMPLE_IMAGE_PATH)/example-rot.jpeg d90 |
| 37 | + curl -L https://github.com/libvips/libvips/releases/download/v$(VIPS_VERSION)/vips-$(VIPS_VERSION).tar.gz | tar zx |
| 38 | + cd vips-$(VIPS_VERSION) && ./configure --prefix=$(PREFIX_PATH) && make V=0 && make install |
59 | 39 |
|
60 | 40 | installLib: |
61 | | - dnf groupinstall -y "Development Tools" -x system-rpm-config && \ |
62 | | - dnf install -y \ |
| 41 | + yum install -y yum-plugin-ovl && \ |
| 42 | + yum install -y \ |
63 | 43 | glib2-devel \ |
64 | 44 | expat-devel \ |
| 45 | + libjpeg-devel \ |
65 | 46 | libjpeg-turbo-devel \ |
66 | 47 | libpng-devel \ |
67 | 48 | giflib-devel \ |
68 | 49 | libexif-devel \ |
69 | 50 | librsvg2-devel \ |
70 | 51 | libtiff-devel \ |
71 | | - lcms2-devel \ |
72 | | - gobject-introspection-devel \ |
73 | | - cmake \ |
74 | | - pkgconfig \ |
75 | | - meson \ |
76 | | - ninja-build |
| 52 | + lcms2-devel |
0 commit comments