summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenedikt Boehm <hollow@gentoo.org>2010-09-19 20:13:44 +0000
committerBenedikt Boehm <hollow@gentoo.org>2010-09-19 20:13:44 +0000
commit7225328feb8b07d3df52dbacccba4554ba2b08be (patch)
tree290b378e69879b7da702feea96e9b5db21ea6ec9 /media-libs/libraw
parentVersion Bump, fixes 331107 (diff)
downloadgentoo-2-7225328feb8b07d3df52dbacccba4554ba2b08be.tar.gz
gentoo-2-7225328feb8b07d3df52dbacccba4554ba2b08be.tar.bz2
gentoo-2-7225328feb8b07d3df52dbacccba4554ba2b08be.zip
convert build system to autoconf (thanks to corec)
(Portage version: 2.2_rc83/cvs/Linux x86_64)
Diffstat (limited to 'media-libs/libraw')
-rw-r--r--media-libs/libraw/ChangeLog8
-rw-r--r--media-libs/libraw/files/libraw-0.10.0-autoconf.patch297
-rw-r--r--media-libs/libraw/libraw-0.10.0-r1.ebuild42
3 files changed, 346 insertions, 1 deletions
diff --git a/media-libs/libraw/ChangeLog b/media-libs/libraw/ChangeLog
index 804ccc7581a2..92be4ffe75ed 100644
--- a/media-libs/libraw/ChangeLog
+++ b/media-libs/libraw/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-libs/libraw
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libraw/ChangeLog,v 1.2 2010/09/19 08:16:02 hollow Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libraw/ChangeLog,v 1.3 2010/09/19 20:13:44 hollow Exp $
+
+*libraw-0.10.0-r1 (19 Sep 2010)
+
+ 19 Sep 2010; Benedikt Böhm <hollow@gentoo.org> +libraw-0.10.0-r1.ebuild,
+ +files/libraw-0.10.0-autoconf.patch:
+ convert build system to autoconf (thanks to corec)
*libraw-0.10.0 (19 Sep 2010)
diff --git a/media-libs/libraw/files/libraw-0.10.0-autoconf.patch b/media-libs/libraw/files/libraw-0.10.0-autoconf.patch
new file mode 100644
index 000000000000..52b8bc4ec3a7
--- /dev/null
+++ b/media-libs/libraw/files/libraw-0.10.0-autoconf.patch
@@ -0,0 +1,297 @@
+From b2cc25e9258e5e2114f34723afe90f139174d014 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Benedikt=20B=C3=B6hm?= <bb@xnull.de>
+Date: Sun, 19 Sep 2010 18:26:42 +0200
+Subject: [PATCH] add autoconf stuff from corec
+
+---
+ Makefile.am | 79 +++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 46 +++++++++++++++++++++++++
+ libraw.pc.in | 11 ++++++
+ libraw_r.pc.in | 11 ++++++
+ m4/ax_openmp.m4 | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 246 insertions(+), 0 deletions(-)
+ create mode 100644 Makefile.am
+ create mode 100644 configure.ac
+ create mode 100644 libraw.pc.in
+ create mode 100644 libraw_r.pc.in
+ create mode 100644 m4/ax_openmp.m4
+
+diff --git a/Makefile.am b/Makefile.am
+new file mode 100644
+index 0000000..5d4db98
+--- /dev/null
++++ b/Makefile.am
+@@ -0,0 +1,79 @@
++# autoconf macros
++ACLOCAL_AMFLAGS = -I m4
++
++# Headers
++nobase_include_HEADERS = libraw/libraw.h \
++ libraw/libraw_alloc.h \
++ libraw/libraw_const.h \
++ libraw/libraw_datastream.h \
++ libraw/libraw_internal.h \
++ libraw/libraw_types.h \
++ libraw/libraw_version.h
++
++# Docs
++doc_DATA = COPYRIGHT \
++ LICENSE.CDDL \
++ LICENSE.LGPL \
++ LICENSE.LibRaw.pdf \
++ Changelog.txt
++
++# pkg-config .pc files
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libraw.pc libraw_r.pc
++
++# Libraries
++lib_LIBRARIES = libraw.a libraw_r.a
++
++libraw_a_CPPFLAGS = -DLIBRAW_NOTHREADS
++libraw_a_SOURCES = internal/dcraw_common.cpp \
++ internal/dcraw_fileio.cpp \
++ src/libraw_cxx.cpp \
++ src/libraw_c_api.cpp
++
++libraw_r_a_CXXFLAGS = -pthread
++libraw_r_a_SOURCES = $(libraw_a_SOURCES)
++
++
++# Sample binaries
++if EXAMPLES
++bin_PROGRAMS = raw-identify \
++ unprocessed_raw \
++ 4channels \
++ simple_dcraw \
++ mem_image \
++ dcraw_half \
++ half_mt \
++ dcraw_emu
++endif
++
++raw_identify_SOURCES = samples/raw-identify.cpp
++raw_identify_CPPFLAGS = $(libraw_a_CPPFLAGS)
++raw_identify_LDADD = libraw.a -lm -lraw $(LCMS_LIBS)
++
++unprocessed_raw_SOURCES = samples/unprocessed_raw.cpp
++unprocessed_raw_CPPFLAGS = $(libraw_a_CPPFLAGS)
++unprocessed_raw_LDADD = libraw.a -lm -lraw $(LCMS_LIBS)
++
++4channels_SOURCES = samples/4channels.cpp
++4channels_CPPFLAGS = $(libraw_a_CPPFLAGS)
++4channels_LDADD = libraw.a -lm -lraw $(LCMS_LIBS)
++
++simple_dcraw_SOURCES = samples/simple_dcraw.cpp
++simple_dcraw_CPPFLAGS = $(libraw_a_CPPFLAGS)
++simple_dcraw_LDADD = libraw.a -lm -lraw $(LCMS_LIBS)
++
++mem_image_SOURCES = samples/mem_image.cpp
++mem_image_CPPFLAGS = $(libraw_a_CPPFLAGS)
++mem_image_LDADD = libraw.a -lm -lraw $(LCMS_LIBS)
++
++dcraw_half_SOURCES = samples/dcraw_half.c
++dcraw_half_CPPFLAGS = $(libraw_a_CPPFLAGS)
++dcraw_half_LDADD = libraw.a -lm -lraw -lstdc++ $(LCMS_LIBS)
++
++half_mt_SOURCES = samples/half_mt.c
++half_mt_CFLAGS = $(libraw_r_a_CXXFLAGS)
++half_mt_LDADD = libraw_r.a -lm -lraw_r -lstdc++ $(LCMS_LIBS)
++
++dcraw_emu_SOURCES = samples/dcraw_emu.cpp
++dcraw_emu_CPPFLAGS = $(libraw_a_CPPFLAGS)
++dcraw_emu_LDADD = libraw.a -lm -lraw $(LCMS_LIBS)
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..ba4ce0e
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,46 @@
++# Initialization
++AC_INIT([LibRaw], [@@VERSION@@], [info@libraw.org], [], [http://www.libraw.org])
++AM_INIT_AUTOMAKE([foreign no-define])
++AM_SILENT_RULES([yes])
++
++# Tools to use
++AC_PROG_CXX
++AC_PROG_CC
++AC_PROG_RANLIB
++
++# Config files to generate
++AC_CONFIG_FILES([
++ Makefile
++ libraw.pc
++ libraw_r.pc
++])
++
++# check if we want OpenMP support
++AC_ARG_ENABLE([openmp], [AS_HELP_STRING([--disable-openmp], [Enable OpenMP support (default: yes)])])
++
++if test x$enable_openmp != xno ; then
++ AX_OPENMP([
++ CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS"
++ CFLAGS="$CFLAGS $OPENMP_CFLAGS"
++ AC_SUBST([PC_OPENMP],[" $OPENMP_CFLAGS"])
++ ],[
++ AC_MSG_ERROR([OpenMP support cannot be enabled because your system does not support it.])
++ ])
++fi
++
++# check if we want LCMS support
++AC_ARG_ENABLE([lcms], [AS_HELP_STRING([--disable-lcms], [Enable LCMS support (default: yes)])])
++
++if test x$enable_lcms != xno ; then
++ PKG_CHECK_MODULES([LCMS], [lcms], [
++ CPPFLAGS="$CPPFLAGS -DUSE_LCMS"
++ ],[
++ AC_MSG_ERROR([LCMS support cannot be enabled because: '$LCMS_PKG_ERRORS'])
++ ])
++fi
++
++# check if we want build examples
++AC_ARG_ENABLE([examples], [AS_HELP_STRING([--enable-examples], [Enable building of examples (default: no)])])
++AM_CONDITIONAL([EXAMPLES], [test x$enable_examples = xyes])
++
++AC_OUTPUT
+diff --git a/libraw.pc.in b/libraw.pc.in
+new file mode 100644
+index 0000000..dafe9b6
+--- /dev/null
++++ b/libraw.pc.in
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Raw image decoder library (non-thread-safe)
++Requires: lcms
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lraw -lstdc++ @LCMS_LIBS@
++Cflags: -I${includedir}/libraw@PC_OPENMP@
+diff --git a/libraw_r.pc.in b/libraw_r.pc.in
+new file mode 100644
+index 0000000..0cc1585
+--- /dev/null
++++ b/libraw_r.pc.in
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Raw image decoder library (thread-safe)
++Requires: lcms
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lraw_r -lstdc++ @LCMS_LIBS@
++Cflags: -I${includedir}/libraw@PC_OPENMP@
+diff --git a/m4/ax_openmp.m4 b/m4/ax_openmp.m4
+new file mode 100644
+index 0000000..7ea794b
+--- /dev/null
++++ b/m4/ax_openmp.m4
+@@ -0,0 +1,99 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_openmp.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_OPENMP([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro tries to find out how to compile programs that use OpenMP a
++# standard API and set of compiler directives for parallel programming
++# (see http://www-unix.mcs/)
++#
++# On success, it sets the OPENMP_CFLAGS/OPENMP_CXXFLAGS/OPENMP_F77FLAGS
++# output variable to the flag (e.g. -omp) used both to compile *and* link
++# OpenMP programs in the current language.
++#
++# NOTE: You are assumed to not only compile your program with these flags,
++# but also link it with them as well.
++#
++# If you want to compile everything with OpenMP, you should set:
++#
++# CFLAGS="$CFLAGS $OPENMP_CFLAGS"
++# #OR# CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS"
++# #OR# FFLAGS="$FFLAGS $OPENMP_FFLAGS"
++#
++# (depending on the selected language).
++#
++# The user can override the default choice by setting the corresponding
++# environment variable (e.g. OPENMP_CFLAGS).
++#
++# ACTION-IF-FOUND is a list of shell commands to run if an OpenMP flag is
++# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is
++# not found. If ACTION-IF-FOUND is not specified, the default action will
++# define HAVE_OPENMP.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# 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.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 8
++
++AC_DEFUN([AX_OPENMP], [
++AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX
++
++AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]_openmp, [save[]_AC_LANG_PREFIX[]FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
++ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown
++# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI),
++# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none
++ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none"
++if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then
++ ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags"
++fi
++for ax_openmp_flag in $ax_openmp_flags; do
++ case $ax_openmp_flag in
++ none) []_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[] ;;
++ *) []_AC_LANG_PREFIX[]FLAGS="$save[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flag" ;;
++ esac
++ AC_TRY_LINK_FUNC(omp_set_num_threads,
++ [ax_cv_[]_AC_LANG_ABBREV[]_openmp=$ax_openmp_flag; break])
++done
++[]_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[]FLAGS
++])
++if test "x$ax_cv_[]_AC_LANG_ABBREV[]_openmp" = "xunknown"; then
++ m4_default([$2],:)
++else
++ if test "x$ax_cv_[]_AC_LANG_ABBREV[]_openmp" != "xnone"; then
++ OPENMP_[]_AC_LANG_PREFIX[]FLAGS=$ax_cv_[]_AC_LANG_ABBREV[]_openmp
++ fi
++ m4_default([$1], [AC_DEFINE(HAVE_OPENMP,1,[Define if OpenMP is enabled])])
++fi
++])dnl AX_OPENMP
+--
+1.7.2.3
+
diff --git a/media-libs/libraw/libraw-0.10.0-r1.ebuild b/media-libs/libraw/libraw-0.10.0-r1.ebuild
new file mode 100644
index 000000000000..285556c74ceb
--- /dev/null
+++ b/media-libs/libraw/libraw-0.10.0-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libraw/libraw-0.10.0-r1.ebuild,v 1.1 2010/09/19 20:13:44 hollow Exp $
+
+EAPI="3"
+
+inherit eutils autotools
+
+DESCRIPTION="LibRaw is a library for reading RAW files obtained from digital photo cameras"
+HOMEPAGE="http://www.libraw.org/"
+SRC_URI="http://www.libraw.org/data/LibRaw-${PV}.tar.gz"
+
+# Libraw also has it's own license, which is a pdf file and
+# can be obtained from here:
+# http://www.libraw.org/data/LICENSE.LibRaw.pdf
+LICENSE="LGPL-2.1 CDDL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+lcms +openmp examples"
+
+DEPEND="lcms? ( =media-libs/lcms-1* )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/LibRaw-${PV}"
+
+src_prepare() {
+ EPATCH_OPTS="-p1" \
+ epatch "${FILESDIR}/libraw-0.10.0-autoconf.patch"
+
+ sed -i -e "s/@@VERSION@@/${PV}/" configure.ac
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable openmp) \
+ $(use_enable lcms)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}