view src/openexr.mk @ 4618:de2eedecd6ba

update broken PKG_UPDATE rules, handle missing update rules * Makefile.in: add handling for packages with no update rule * src/gtk2.mk, src/gtk3.mk, src/libvpx.mk, src/taglib.mk, src/hunspell.mk, src/vala.mk : use github tags for version info * src/llvm.mk: add '?' to update url * src/openscenegraph.mk: update SED rule for version extraction * src/pthread-stubs.mk, src/qt5.mk, src/renderproto.mk, src/sm.mk, src/s2tc.mk, src/util-macros.mk: added dummy PKG_UPDATE rule * src/qscintilla.mk: change search name for version extraction * src/qtbase.mk: use short pkg version in update path * src/suitesparse.mk: update change in main url/version url * src/tre.mk: update download page link * src/vmime.mk: update download and update url * src/wget.mk, src/xapian-core.mk: update url, sed rule * src/wt.mk: update to use github download/update * src/src-msys-libcrypt.mk: update sed rule
author John Donoghue
date Fri, 09 Mar 2018 11:46:42 -0500
parents a98f4ebb8a3c
children 6215676cc6ff
line wrap: on
line source

# This file is part of MXE.
# See index.html for further information.

PKG             := openexr
$(PKG)_IGNORE   :=
$(PKG)_VERSION  := 2.1.0
$(PKG)_CHECKSUM := 4a3db5ea527856145844556e0ee349f45ed4cbc7
$(PKG)_SUBDIR   := openexr-$($(PKG)_VERSION)
$(PKG)_FILE     := openexr-$($(PKG)_VERSION).tar.gz
$(PKG)_URL      := http://download.savannah.nongnu.org/releases/openexr/$($(PKG)_FILE)
$(PKG)_DEPS     := ilmbase pthreads zlib

define $(PKG)_UPDATE
    $(WGET) -q -O- 'http://www.openexr.com/downloads.html' | \
    grep 'openexr-' | \
    $(SED) -n 's,.*openexr-\([0-9][^>]*\)\.tar.*,\1,p' | \
    head -1
endef

define $(PKG)_BUILD
    # unpack and build a native version of ilmbase
    cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,ilmbase,$(TAR))
    $(foreach PKG_PATCH,$(sort $(wildcard $(TOP_DIR)/src/ilmbase-*.patch)),
        (cd '$(1)/$(ilmbase_SUBDIR)' && $(PATCH) -p1 -u) < $(PKG_PATCH))
    echo 'echo $1' > '$(1)/$(ilmbase_SUBDIR)/config.sub'
    cd '$(1)/$(ilmbase_SUBDIR)' && $(SHELL) ./configure \
        --build='$(BUILD_SYSTEM)' \
        $(ENABLE_SHARED_OR_STATIC) \
        --prefix='$(1)/ilmbase' \
        --enable-threading=no \
        --disable-posix-sem \
        CONFIG_SHELL=$(SHELL)
    $(MAKE) -C '$(1)/$(ilmbase_SUBDIR)' -j '$(JOBS)' install \
        bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
    cd '$(1)' && ./configure \
        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
        $(ENABLE_SHARED_OR_STATIC) \
        --prefix='$(HOST_PREFIX)' \
        --disable-threading \
        --disable-posix-sem \
        --disable-ilmbasetest \
        PKG_CONFIG='$(MXE_PKG_CONFIG)'
    # build the code generator manually
    cd '$(1)/IlmImf' && g++ \
        -I'$(1)/ilmbase/include/OpenEXR' \
        -L'$(1)/ilmbase/lib' \
        b44ExpLogTable.cpp \
        -lImath -lHalf -lIex -lIlmThread -lpthread \
        -o b44ExpLogTable
    '$(1)/IlmImf/b44ExpLogTable' > '$(1)/IlmImf/b44ExpLogTable.h'
    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
endef