summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-gfx/hugin
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-gfx/hugin')
-rw-r--r--media-gfx/hugin/Manifest2
-rw-r--r--media-gfx/hugin/files/hugin-2014.0.0-ParseExp.patch527
-rw-r--r--media-gfx/hugin/files/hugin-2014.0.0-lensfun-0.3.0.patch15
-rw-r--r--media-gfx/hugin/hugin-2014.0.0-r1.ebuild89
-rw-r--r--media-gfx/hugin/hugin-2014.0.0.ebuild89
-rw-r--r--media-gfx/hugin/hugin-2015.0.0-r1.ebuild86
-rw-r--r--media-gfx/hugin/hugin-2015.0.0.ebuild86
-rw-r--r--media-gfx/hugin/hugin-9999.ebuild88
-rw-r--r--media-gfx/hugin/metadata.xml11
9 files changed, 993 insertions, 0 deletions
diff --git a/media-gfx/hugin/Manifest b/media-gfx/hugin/Manifest
new file mode 100644
index 000000000000..84eaf33f9630
--- /dev/null
+++ b/media-gfx/hugin/Manifest
@@ -0,0 +1,2 @@
+DIST hugin-2014.0.0.tar.bz2 10974274 SHA256 f098aa0ede44010d3bb2bb38693177533fd776c45063a338c4c483d7e471ec29 SHA512 f4dd7a59f96d4574d420691d221265309d1ff18b7df04df2c2f0946f3d669e78823e2a53f038ac7bddaaf2037e21c45bf54f19d2a90ce9d5d95a836331e34ca5 WHIRLPOOL e8915454fcc5d54037289b0e91b8c441288706874891b72541414cad83556f6587d15d18be38405917da6c69b590121bc74a2ffa130bb9f1abea223c6fb1375d
+DIST hugin-2015.0.0.tar.bz2 10611519 SHA256 2cd93c110be95d439f9e68653f3738d059a26f5c28973f75475ef59cbaa2cbbd SHA512 bb2acf4dea80d43280778f67594dd1ddb0c2e186bcbaafe460fe47e0bd464ae2191b9b25344245e7267316e602ac2179cc838a0dcecb0d408c2206890a5ab6a2 WHIRLPOOL f9d47da7962a19894f323b85084fc7fda925ed5041188ffb1fbcea09ce7719baa7b26c95c66ec22139d24b683d6b1cba8b821949c166814e435efc5fc0e0a11e
diff --git a/media-gfx/hugin/files/hugin-2014.0.0-ParseExp.patch b/media-gfx/hugin/files/hugin-2014.0.0-ParseExp.patch
new file mode 100644
index 000000000000..3ee0dee0bff7
--- /dev/null
+++ b/media-gfx/hugin/files/hugin-2014.0.0-ParseExp.patch
@@ -0,0 +1,527 @@
+Contains revisions 6407:917d117ba6b0 6597:5b768c308932 6688:dde84e96b755 6689:e237d6d1d873 of ParseExp.cpp/h
+
+diff -r 917d117ba6b0 -r e237d6d1d873 src/tools/ParseExp.cpp
+--- a/src/tools/ParseExp.cpp Sun Dec 15 18:20:14 2013 +0100
++++ b/src/tools/ParseExp.cpp Sat Sep 13 11:22:39 2014 +0200
+@@ -1,262 +1,246 @@
+-// -*- c-basic-offset: 4 -*-
+-
+-/** @file ParseExp.cpp
+- *
+- * @brief functions to parse expressions from strings
+- *
+- * @author T. Modes
+- *
+- */
+-
+-/* 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 2 of the License, or (at your option) any later version.
+- *
+- * This software 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 software; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+- *
+- */
+-
+-// implementation is based on blog at
+-// http://agentzlerich.blogspot.de/2011/06/using-boost-spirit-21-to-evaluate.html
+-// modified to Hugins need
+-// added if statement
+-
+-#include "ParseExp.h"
+-
+-#include <limits>
+-#include <iterator>
+-
+-#include <boost/spirit/version.hpp>
+-#if !defined(SPIRIT_VERSION) || SPIRIT_VERSION < 0x2010
+-#error "At least Spirit version 2.1 required"
+-#endif
+-#include <boost/math/constants/constants.hpp>
+-#include <boost/spirit/include/phoenix.hpp>
+-#include <boost/spirit/include/qi.hpp>
+-
+-namespace Parser
+-{
+-
+-// helper classes to implement operators
+-
+-//power function
+-struct lazy_pow_
+-{
+- template <typename X, typename Y>
+- struct result { typedef X type; };
+-
+- template <typename X, typename Y>
+- X operator()(X x, Y y) const
+- {
+- return std::pow(x, y);
+- }
+-};
+-
+-// modulus for double values
+-struct lazy_mod_
+-{
+- template <typename X, typename Y>
+- struct result { typedef X type; };
+-
+- template <typename X, typename Y>
+- X operator()(X x, Y y) const
+- {
+- return std::fmod(x,y);
+- }
+-};
+-
+-// if statement
+-struct lazy_if_
+-{
+- template <typename X, typename Y, typename Z>
+- struct result { typedef Y type; };
+-
+- template <typename X, typename Y, typename Z>
+- X operator()(X x, Y y, Z z) const
+- {
+- return x ? y : z;
+- }
+-};
+-
+-// wrapper for unary function
+-struct lazy_ufunc_
+-{
+- template <typename F, typename A1>
+- struct result { typedef A1 type; };
+-
+- template <typename F, typename A1>
+- A1 operator()(F f, A1 a1) const
+- {
+- return f(a1);
+- }
+-};
+-
+-// convert rad into deg
+-double deg(const double d)
+-{
+- return d*180.0/boost::math::constants::pi<double>();
+-};
+-
+-// convert deg into rad
+-double rad(const double d)
+-{
+- return d*boost::math::constants::pi<double>()/180;
+-};
+-
+-// the main grammar class
+-struct grammar:boost::spirit::qi::grammar<std::string::const_iterator, double(), boost::spirit::ascii::space_type>
+-{
+-
+- // symbol table for constants like "pi", e.g. image number and value
+- struct constant_ : boost::spirit::qi::symbols<char, double>
+- {
+- constant_(const ConstantMap constMap)
+- {
+- this->add("pi", boost::math::constants::pi<double>());
+- if(constMap.size()>0)
+- {
+- for(ConstantMap::const_iterator it=constMap.begin(); it!=constMap.end(); it++)
+- {
+- this->add(it->first, it->second);
+- };
+- };
+- };
+- };
+-
+- // symbol table for unary functions like "abs"
+- struct ufunc_ : boost::spirit::qi::symbols<char, double(*)(double) >
+- {
+- ufunc_()
+- {
+- this->add
+- ("abs" , (double (*)(double)) std::abs )
+- ("acos" , (double (*)(double)) std::acos )
+- ("asin" , (double (*)(double)) std::asin )
+- ("atan" , (double (*)(double)) std::atan )
+- ("ceil" , (double (*)(double)) std::ceil )
+- ("sin" , (double (*)(double)) std::sin )
+- ("cos" , (double (*)(double)) std::cos )
+- ("tan" , (double (*)(double)) std::tan )
+- ("exp" , (double (*)(double)) std::exp )
+- ("floor" , (double (*)(double)) std::floor)
+- ("sqrt" , (double (*)(double)) std::sqrt )
+- ("deg" , (double (*)(double)) deg )
+- ("rad" , (double (*)(double)) rad )
+- ;
+- }
+- } ufunc;
+-
+- boost::spirit::qi::rule<std::string::const_iterator, double(), boost::spirit::ascii::space_type> expression, term, factor, primary, compExpression, compTerm, numExpression;
+-
+- grammar(const ConstantMap constMap) : grammar::base_type(expression)
+- {
+- using boost::spirit::qi::real_parser;
+- using boost::spirit::qi::real_policies;
+- real_parser<double,real_policies<double> > real;
+-
+- using boost::spirit::qi::_1;
+- using boost::spirit::qi::_2;
+- using boost::spirit::qi::_3;
+- using boost::spirit::qi::no_case;
+- using boost::spirit::qi::_val;
+- struct constant_ constant(constMap);
+-
+- boost::phoenix::function<lazy_pow_> lazy_pow;
+- boost::phoenix::function<lazy_mod_> lazy_mod;
+- boost::phoenix::function<lazy_if_> lazy_if;
+- boost::phoenix::function<lazy_ufunc_> lazy_ufunc;
+-
+- expression =
+- (compExpression >> '\?' >> compExpression >> ':' >> compExpression) [_val = lazy_if(_1, _2, _3)]
+- | compExpression [_val=_1]
+- ;
+-
+- compExpression=
+- compTerm [_val=_1]
+- >> * ( ("&&" >> compTerm [_val = _val && _1] )
+- |("||" >> compTerm [_val = _val || _1] )
+- )
+- ;
+-
+- compTerm =
+- numExpression [_val = _1 ]
+- >>*( ( '<' >> numExpression [_val = _val < _1])
+- |( '>' >> numExpression [_val = _val > _1])
+- |( "<=" >> numExpression [_val = _val <= _1])
+- |( ">=" >> numExpression [_val = _val >= _1])
+- |( "==" >> numExpression [_val = _val == _1])
+- |( "!=" >> numExpression [_val = _val != _1])
+- )
+- ;
+-
+- numExpression =
+- term [_val = _1]
+- >> *( ('+' >> term [_val += _1])
+- | ('-' >> term [_val -= _1])
+- )
+- ;
+-
+- term =
+- factor [_val = _1]
+- >> *( ('*' >> factor [_val *= _1])
+- | ('/' >> factor [_val /= _1])
+- | ('%' >> factor [_val = lazy_mod(_val, _1)])
+- )
+- ;
+-
+- factor =
+- primary [_val = _1]
+- >> *( ('^' >> factor [_val = lazy_pow(_val, _1)]) )
+- ;
+-
+- primary =
+- real [_val = _1]
+- | '(' >> expression [_val = _1] >> ')'
+- | ('-' >> primary [_val = -_1])
+- | ('+' >> primary [_val = _1])
+- | no_case[constant] [_val = _1]
+- | (no_case[ufunc] >> '(' >> expression >> ')') [_val = lazy_ufunc(_1, _2) ]
+- ;
+-
+- };
+-};
+-
+-//template <typename ParserType, typename Iterator>
+-bool parse(std::string::const_iterator &iter,
+- std::string::const_iterator end,
+- const grammar &g,
+- double& result)
+-{
+- if(!boost::spirit::qi::phrase_parse(iter, end, g, boost::spirit::ascii::space, result))
+- {
+- return false;
+- };
+- // we check if the full string could parsed
+- return iter==end;
+-}
+-
+-// the function which exposes the interface to external
+-// version without pre-defined constants
+-bool ParseExpression(const std::string& expression, double& result)
+-{
+- ConstantMap constants;
+- return ParseExpression(expression, result, constants);
+-};
+-
+-// version with pre-defined constants
+-bool ParseExpression(const std::string& expression, double& result, const ConstantMap& constants)
+-{
+- grammar g(constants);
+- std::string::const_iterator it=expression.begin();
+- return parse(it, expression.end(), g, result);
+-};
+-
+-} // namespace
++// -*- c-basic-offset: 4 -*-
++
++/** @file ParseExp.cpp
++ *
++ * @brief functions to parse expressions from strings
++ *
++ * @author T. Modes
++ *
++ */
++
++/* 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 2 of the License, or (at your option) any later version.
++ *
++ * This software 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 software; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ */
++
++// implementation is based on blog at
++// http://agentzlerich.blogspot.de/2011/06/using-boost-spirit-21-to-evaluate.html
++// modified to Hugins need
++// added if statement
++
++#include "ParseExp.h"
++
++#include <limits>
++#include <iterator>
++
++#define BOOST_SPIRIT_USE_PHOENIX_V3 1
++#include <boost/spirit/version.hpp>
++#if !defined(SPIRIT_VERSION) || SPIRIT_VERSION < 0x2010
++#error "At least Spirit version 2.1 required"
++#endif
++#include <boost/math/constants/constants.hpp>
++#include <boost/spirit/include/phoenix.hpp>
++#include <boost/spirit/include/qi.hpp>
++
++namespace Parser
++{
++
++// helper classes to implement operators
++
++//power function
++struct lazy_pow_
++{
++ typedef double result_type;
++
++ double operator()(double x, double y) const
++ {
++ return std::pow(x, y);
++ }
++};
++
++// modulus for double values
++struct lazy_mod_
++{
++ typedef double result_type;
++
++ double operator()(double x, double y) const
++ {
++ return std::fmod(x,y);
++ }
++};
++
++// if statement
++struct lazy_if_
++{
++ typedef double result_type;
++
++ double operator()(double x, double y, double z) const
++ {
++ return (std::fabs(x)>1e-5) ? y : z;
++ }
++};
++
++// wrapper for unary function
++struct lazy_ufunc_
++{
++ typedef double result_type;
++
++ double operator()(double (*f)(double), double a1) const
++ {
++ return f(a1);
++ }
++};
++
++// convert rad into deg
++const double deg(const double d)
++{
++ return d*180.0/boost::math::constants::pi<double>();
++};
++
++// convert deg into rad
++const double rad(const double d)
++{
++ return d*boost::math::constants::pi<double>()/180;
++};
++
++// the main grammar class
++struct grammar:boost::spirit::qi::grammar<std::string::const_iterator, double(), boost::spirit::ascii::space_type>
++{
++
++ // symbol table for constants like "pi", e.g. image number and value
++ struct constant_ : boost::spirit::qi::symbols<char, double>
++ {
++ constant_(const ConstantMap constMap)
++ {
++ this->add("pi", boost::math::constants::pi<double>());
++ if (constMap.size()>0)
++ {
++ for (ConstantMap::const_iterator it = constMap.begin(); it != constMap.end(); it++)
++ {
++ this->add(it->first, it->second);
++ };
++ };
++ };
++ };
++
++ // symbol table for unary functions like "abs"
++ struct ufunc_ : boost::spirit::qi::symbols<char, double(*)(double) >
++ {
++ ufunc_()
++ {
++ this->add
++ ("abs", (double(*)(double)) std::abs)
++ ("acos", (double(*)(double)) std::acos)
++ ("asin", (double(*)(double)) std::asin)
++ ("atan", (double(*)(double)) std::atan)
++ ("ceil", (double(*)(double)) std::ceil)
++ ("sin", (double(*)(double)) std::sin)
++ ("cos", (double(*)(double)) std::cos)
++ ("tan", (double(*)(double)) std::tan)
++ ("exp", (double(*)(double)) std::exp)
++ ("floor", (double(*)(double)) std::floor)
++ ("sqrt", (double(*)(double)) std::sqrt)
++ ("deg", (double(*)(double)) deg)
++ ("rad", (double(*)(double)) rad)
++ ;
++ }
++ } ufunc;
++
++ boost::spirit::qi::rule<std::string::const_iterator, double(), boost::spirit::ascii::space_type> expression, term, factor, primary, compExpression, compTerm, numExpression;
++
++ grammar(const ConstantMap constMap) : grammar::base_type(expression)
++ {
++ using boost::spirit::qi::real_parser;
++ using boost::spirit::qi::real_policies;
++ real_parser<double, real_policies<double> > real;
++
++ using boost::spirit::qi::_1;
++ using boost::spirit::qi::_2;
++ using boost::spirit::qi::_3;
++ using boost::spirit::qi::no_case;
++ using boost::spirit::qi::_val;
++ struct constant_ constant(constMap);
++
++ boost::phoenix::function<lazy_pow_> lazy_pow;
++ boost::phoenix::function<lazy_mod_> lazy_mod;
++ boost::phoenix::function<lazy_if_> lazy_if;
++ boost::phoenix::function<lazy_ufunc_> lazy_ufunc;
++
++ expression =
++ (compExpression >> '\?' >> compExpression >> ':' >> compExpression)[_val = lazy_if(_1, _2, _3)]
++ | compExpression[_val = _1]
++ ;
++
++ compExpression =
++ compTerm[_val = _1]
++ >> *(("&&" >> compTerm[_val = _val && _1])
++ | ("||" >> compTerm[_val = _val || _1])
++ )
++ ;
++
++ compTerm =
++ numExpression[_val = _1]
++ >> *(('<' >> numExpression[_val = _val < _1])
++ | ('>' >> numExpression[_val = _val > _1])
++ | ("<=" >> numExpression[_val = _val <= _1])
++ | (">=" >> numExpression[_val = _val >= _1])
++ | ("==" >> numExpression[_val = _val == _1])
++ | ("!=" >> numExpression[_val = _val != _1])
++ )
++ ;
++
++ numExpression =
++ term[_val = _1]
++ >> *(('+' >> term[_val += _1])
++ | ('-' >> term[_val -= _1])
++ )
++ ;
++
++ term =
++ factor[_val = _1]
++ >> *(('*' >> factor[_val *= _1])
++ | ('/' >> factor[_val /= _1])
++ | ('%' >> factor[_val = lazy_mod(_val, _1)])
++ )
++ ;
++
++ factor =
++ primary[_val = _1]
++ >> *(('^' >> factor[_val = lazy_pow(_val, _1)]))
++ ;
++
++ primary =
++ real[_val = _1]
++ | '(' >> expression[_val = _1] >> ')'
++ | ('-' >> primary[_val = -_1])
++ | ('+' >> primary[_val = _1])
++ | no_case[constant][_val = _1]
++ | (no_case[ufunc] >> '(' >> expression >> ')')[_val = lazy_ufunc(_1, _2)]
++ ;
++
++ };
++};
++
++bool parse(std::string::const_iterator& iter,
++ std::string::const_iterator end,
++ const grammar& g,
++ double& result)
++{
++ if(!boost::spirit::qi::phrase_parse(iter, end, g, boost::spirit::ascii::space, result))
++ {
++ return false;
++ };
++ // we check if the full string could parsed
++ return iter==end;
++}
++
++// version with pre-defined constants
++bool ParseExpression(const std::string& expression, double& result, const ConstantMap& constants)
++{
++ grammar g(constants);
++ std::string::const_iterator it=expression.begin();
++ return parse(it, expression.end(), g, result);
++};
++
++} // namespace
+diff -r 917d117ba6b0 -r e237d6d1d873 src/tools/ParseExp.h
+--- a/src/tools/ParseExp.h Sun Dec 15 18:20:14 2013 +0100
++++ b/src/tools/ParseExp.h Sat Sep 13 11:22:39 2014 +0200
+@@ -33,8 +33,7 @@
+ {
+ typedef std::map<const char*, double> ConstantMap;
+
+-bool ParseExpression(const std::string& expression, double& result);
+-bool ParseExpression(const std::string& expression, double& result, const ConstantMap& constants);
++bool ParseExpression(const std::string& expression, double& result, const ConstantMap& constants=ConstantMap());
+
+ };
+
diff --git a/media-gfx/hugin/files/hugin-2014.0.0-lensfun-0.3.0.patch b/media-gfx/hugin/files/hugin-2014.0.0-lensfun-0.3.0.patch
new file mode 100644
index 000000000000..f60e68663484
--- /dev/null
+++ b/media-gfx/hugin/files/hugin-2014.0.0-lensfun-0.3.0.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/show_bug.cgi?id=524700
+
+diff -Naur hugin-2014.0.0.orig/src/hugin_base/lensdb/LensDB.cpp hugin-2014.0.0/src/hugin_base/lensdb/LensDB.cpp
+--- hugin-2014.0.0.orig/src/hugin_base/lensdb/LensDB.cpp 2014-04-27 08:26:57.000000000 +0200
++++ hugin-2014.0.0/src/hugin_base/lensdb/LensDB.cpp 2014-10-08 10:44:29.445076647 +0200
+@@ -620,7 +620,9 @@
+ break;
+ case LF_DIST_MODEL_NONE:
+ case LF_DIST_MODEL_POLY5:
++#ifdef LF_DIST_MODEL_FOV1
+ case LF_DIST_MODEL_FOV1:
++#endif
+ default:
+ return false;
+ break;
diff --git a/media-gfx/hugin/hugin-2014.0.0-r1.ebuild b/media-gfx/hugin/hugin-2014.0.0-r1.ebuild
new file mode 100644
index 000000000000..965c600528fc
--- /dev/null
+++ b/media-gfx/hugin/hugin-2014.0.0-r1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="3.0"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit base python-single-r1 wxwidgets versionator cmake-utils
+
+DESCRIPTION="GUI for the creation & processing of panoramic images"
+HOMEPAGE="http://hugin.sf.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 SIFT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+LANGS=" cs da de en_GB es eu fi fr hu it ja nl pl pt_BR ro ru sk sv zh_CN zh_TW"
+IUSE="debug lapack python sift $(echo ${LANGS//\ /\ linguas_})"
+
+CDEPEND="
+ !!dev-util/cocom
+ app-arch/zip
+ dev-cpp/tclap
+ >=dev-libs/boost-1.49.0-r1:=
+ dev-libs/zthread
+ >=media-gfx/enblend-4.0
+ media-gfx/exiv2:=
+ media-libs/freeglut
+ media-libs/glew:=
+ media-libs/lensfun
+ >=media-libs/libpano13-2.9.19_beta1:0=
+ media-libs/libpng:0=
+ media-libs/openexr:=
+ media-libs/tiff
+ sys-libs/zlib
+ virtual/jpeg
+ x11-libs/wxGTK:3.0=[X,opengl]
+ lapack? ( virtual/lapack )
+ sift? ( media-gfx/autopano-sift-C )"
+RDEPEND="${CDEPEND}
+ media-libs/exiftool"
+DEPEND="${CDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig
+ python? ( ${PYTHON_DEPS} >=dev-lang/swig-2.0.4 )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S=${WORKDIR}/${PN}-$(get_version_component_range 1-3)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-lensfun-0.3.0.patch
+ "${FILESDIR}"/${P}-ParseExp.patch
+)
+
+pkg_setup() {
+ DOCS="authors.txt README TODO"
+ mycmakeargs=(
+ $(cmake-utils_use_enable lapack LAPACK)
+ $(cmake-utils_use_build python HSI)
+ )
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ sed \
+ -e 's:-O3::g' \
+ -i src/celeste/CMakeLists.txt || die
+ rm CMakeModules/{FindLAPACK,FindPkgConfig}.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+src_install() {
+ cmake-utils_src_install
+ use python && python_optimize
+
+ for lang in ${LANGS} ; do
+ case ${lang} in
+ ca) dir=ca_ES;;
+ cs) dir=cs_CZ;;
+ *) dir=${lang};;
+ esac
+ use linguas_${lang} || rm -r "${D}"/usr/share/locale/${dir}
+ done
+}
diff --git a/media-gfx/hugin/hugin-2014.0.0.ebuild b/media-gfx/hugin/hugin-2014.0.0.ebuild
new file mode 100644
index 000000000000..9a43a5bcd872
--- /dev/null
+++ b/media-gfx/hugin/hugin-2014.0.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="2.8"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit base python-single-r1 wxwidgets versionator cmake-utils
+
+DESCRIPTION="GUI for the creation & processing of panoramic images"
+HOMEPAGE="http://hugin.sf.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 SIFT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+
+LANGS=" cs da de en_GB es eu fi fr hu it ja nl pl pt_BR ro ru sk sv zh_CN zh_TW"
+IUSE="debug lapack python sift $(echo ${LANGS//\ /\ linguas_})"
+
+CDEPEND="
+ !!dev-util/cocom
+ app-arch/zip
+ dev-cpp/tclap
+ >=dev-libs/boost-1.49.0-r1:=
+ dev-libs/zthread
+ >=media-gfx/enblend-4.0
+ media-gfx/exiv2:=
+ media-libs/freeglut
+ media-libs/glew:=
+ media-libs/lensfun
+ >=media-libs/libpano13-2.9.19_beta1:0=
+ media-libs/libpng:0=
+ media-libs/openexr:=
+ media-libs/tiff
+ sys-libs/zlib
+ virtual/jpeg
+ x11-libs/wxGTK:2.8=[X,opengl,-odbc]
+ lapack? ( virtual/lapack )
+ sift? ( media-gfx/autopano-sift-C )"
+RDEPEND="${CDEPEND}
+ media-libs/exiftool"
+DEPEND="${CDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig
+ python? ( ${PYTHON_DEPS} >=dev-lang/swig-2.0.4 )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S=${WORKDIR}/${PN}-$(get_version_component_range 1-3)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-lensfun-0.3.0.patch
+ "${FILESDIR}"/${P}-ParseExp.patch
+)
+
+pkg_setup() {
+ DOCS="authors.txt README TODO"
+ mycmakeargs=(
+ $(cmake-utils_use_enable lapack LAPACK)
+ $(cmake-utils_use_build python HSI)
+ )
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ sed \
+ -e 's:-O3::g' \
+ -i src/celeste/CMakeLists.txt || die
+ rm CMakeModules/{FindLAPACK,FindPkgConfig}.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+src_install() {
+ cmake-utils_src_install
+ use python && python_optimize
+
+ for lang in ${LANGS} ; do
+ case ${lang} in
+ ca) dir=ca_ES;;
+ cs) dir=cs_CZ;;
+ *) dir=${lang};;
+ esac
+ use linguas_${lang} || rm -r "${D}"/usr/share/locale/${dir}
+ done
+}
diff --git a/media-gfx/hugin/hugin-2015.0.0-r1.ebuild b/media-gfx/hugin/hugin-2015.0.0-r1.ebuild
new file mode 100644
index 000000000000..b42262b77ba2
--- /dev/null
+++ b/media-gfx/hugin/hugin-2015.0.0-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="3.0"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit base python-single-r1 wxwidgets versionator cmake-utils
+
+DESCRIPTION="GUI for the creation & processing of panoramic images"
+HOMEPAGE="http://hugin.sf.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 SIFT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+LANGS=" ca@valencia ca_ES cs_CZ da de en_GB es eu fi fr hu it ja nl pl pt_BR ro ru sk sv zh_CN zh_TW"
+IUSE="debug lapack python sift $(echo ${LANGS//\ /\ linguas_})"
+
+CDEPEND="
+ !!dev-util/cocom
+ dev-db/sqlite:3
+ >=dev-libs/boost-1.49.0-r1:=
+ dev-libs/zthread
+ >=media-gfx/enblend-4.0
+ media-gfx/exiv2:=
+ media-libs/freeglut
+ media-libs/glew:=
+ >=media-libs/libpano13-2.9.19_beta1:0=
+ media-libs/libpng:0=
+ media-libs/openexr:=
+ media-libs/tiff:0
+ >=media-libs/vigra-1.9.0[openexr]
+ sci-libs/fftw:=
+ sys-libs/zlib
+ virtual/glu
+ virtual/jpeg:0
+ virtual/opengl
+ x11-libs/wxGTK:3.0=[X,opengl]
+ lapack? ( virtual/blas virtual/lapack )
+ sift? ( media-gfx/autopano-sift-C )"
+RDEPEND="${CDEPEND}
+ media-libs/exiftool"
+DEPEND="${CDEPEND}
+ dev-cpp/tclap
+ sys-devel/gettext
+ virtual/pkgconfig
+ python? ( ${PYTHON_DEPS} >=dev-lang/swig-2.0.4 )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S=${WORKDIR}/${PN}-$(get_version_component_range 1-3)
+
+pkg_setup() {
+ DOCS="authors.txt README TODO"
+ mycmakeargs=(
+ $(cmake-utils_use_enable lapack LAPACK)
+ $(cmake-utils_use_build python HSI)
+ )
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ sed \
+ -e 's:-O3::g' \
+ -i src/celeste/CMakeLists.txt || die
+ rm CMakeModules/{FindLAPACK,FindPkgConfig}.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+src_install() {
+ cmake-utils_src_install
+ use python && python_optimize
+
+ for lang in ${LANGS} ; do
+ case ${lang} in
+ ca@valencia) dir=ca_ES@valencia;;
+ *) dir=${lang};;
+ esac
+ use linguas_${lang} || rm -r "${D}"/usr/share/locale/${dir}
+ done
+}
diff --git a/media-gfx/hugin/hugin-2015.0.0.ebuild b/media-gfx/hugin/hugin-2015.0.0.ebuild
new file mode 100644
index 000000000000..0798df9b65d6
--- /dev/null
+++ b/media-gfx/hugin/hugin-2015.0.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="2.8"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit base python-single-r1 wxwidgets versionator cmake-utils
+
+DESCRIPTION="GUI for the creation & processing of panoramic images"
+HOMEPAGE="http://hugin.sf.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 SIFT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+LANGS=" ca@valencia ca_ES cs_CZ da de en_GB es eu fi fr hu it ja nl pl pt_BR ro ru sk sv zh_CN zh_TW"
+IUSE="debug lapack python sift $(echo ${LANGS//\ /\ linguas_})"
+
+CDEPEND="
+ !!dev-util/cocom
+ dev-db/sqlite:3
+ >=dev-libs/boost-1.49.0-r1:=
+ dev-libs/zthread
+ >=media-gfx/enblend-4.0
+ media-gfx/exiv2:=
+ media-libs/freeglut
+ media-libs/glew:=
+ >=media-libs/libpano13-2.9.19_beta1:0=
+ media-libs/libpng:0=
+ media-libs/openexr:=
+ media-libs/tiff:0
+ >=media-libs/vigra-1.9.0[openexr]
+ sci-libs/fftw:=
+ sys-libs/zlib
+ virtual/glu
+ virtual/jpeg:0
+ virtual/opengl
+ x11-libs/wxGTK:2.8=[X,opengl,-odbc]
+ lapack? ( virtual/blas virtual/lapack )
+ sift? ( media-gfx/autopano-sift-C )"
+RDEPEND="${CDEPEND}
+ media-libs/exiftool"
+DEPEND="${CDEPEND}
+ dev-cpp/tclap
+ sys-devel/gettext
+ virtual/pkgconfig
+ python? ( ${PYTHON_DEPS} >=dev-lang/swig-2.0.4 )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S=${WORKDIR}/${PN}-$(get_version_component_range 1-3)
+
+pkg_setup() {
+ DOCS="authors.txt README TODO"
+ mycmakeargs=(
+ $(cmake-utils_use_enable lapack LAPACK)
+ $(cmake-utils_use_build python HSI)
+ )
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ sed \
+ -e 's:-O3::g' \
+ -i src/celeste/CMakeLists.txt || die
+ rm CMakeModules/{FindLAPACK,FindPkgConfig}.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+src_install() {
+ cmake-utils_src_install
+ use python && python_optimize
+
+ for lang in ${LANGS} ; do
+ case ${lang} in
+ ca@valencia) dir=ca_ES@valencia;;
+ *) dir=${lang};;
+ esac
+ use linguas_${lang} || rm -r "${D}"/usr/share/locale/${dir}
+ done
+}
diff --git a/media-gfx/hugin/hugin-9999.ebuild b/media-gfx/hugin/hugin-9999.ebuild
new file mode 100644
index 000000000000..ae044a4ee1e9
--- /dev/null
+++ b/media-gfx/hugin/hugin-9999.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="3.0"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit base mercurial python-single-r1 wxwidgets versionator cmake-utils
+
+DESCRIPTION="GUI for the creation & processing of panoramic images"
+HOMEPAGE="http://hugin.sf.net"
+SRC_URI=""
+EHG_REPO_URI="http://hg.code.sf.net/p/hugin/hugin"
+EHG_PROJECT="${PN}-${PN}"
+
+LICENSE="GPL-2 SIFT"
+SLOT="0"
+KEYWORDS=""
+
+LANGS=" ca@valencia ca_ES cs_CZ da de en_GB es eu fi fr hu it ja nl pl pt_BR ro ru sk sv zh_CN zh_TW"
+IUSE="debug lapack python sift $(echo ${LANGS//\ /\ linguas_})"
+
+CDEPEND="
+ !!dev-util/cocom
+ dev-db/sqlite:3
+ >=dev-libs/boost-1.49.0-r1:=
+ dev-libs/zthread
+ >=media-gfx/enblend-4.0
+ media-gfx/exiv2:=
+ media-libs/freeglut
+ media-libs/glew:=
+ >=media-libs/libpano13-2.9.19_beta1:0=
+ media-libs/libpng:0=
+ media-libs/openexr:=
+ media-libs/tiff:0
+ >=media-libs/vigra-1.9.0[openexr]
+ sci-libs/fftw:=
+ sys-libs/zlib
+ virtual/opengl
+ virtual/jpeg:0
+ virtual/opengl
+ x11-libs/wxGTK:3.0=[X,opengl]
+ lapack? ( virtual/blas virtual/lapack )
+ sift? ( media-gfx/autopano-sift-C )"
+RDEPEND="${CDEPEND}
+ media-libs/exiftool"
+DEPEND="${CDEPEND}
+ dev-cpp/tclap
+ sys-devel/gettext
+ virtual/pkgconfig
+ python? ( ${PYTHON_DEPS} >=dev-lang/swig-2.0.4 )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S=${WORKDIR}/${PN}-$(get_version_component_range 1-3)
+
+pkg_setup() {
+ DOCS="authors.txt README TODO"
+ mycmakeargs=(
+ $(cmake-utils_use_enable lapack LAPACK)
+ $(cmake-utils_use_build python HSI)
+ )
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ sed \
+ -e 's:-O3::g' \
+ -i src/celeste/CMakeLists.txt || die
+ rm CMakeModules/{FindLAPACK,FindPkgConfig}.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+src_install() {
+ cmake-utils_src_install
+ use python && python_optimize
+
+ for lang in ${LANGS} ; do
+ case ${lang} in
+ ca@valencia) dir=ca_ES@valencia;;
+ *) dir=${lang};;
+ esac
+ use linguas_${lang} || rm -r "${D}"/usr/share/locale/${dir}
+ done
+}
diff --git a/media-gfx/hugin/metadata.xml b/media-gfx/hugin/metadata.xml
new file mode 100644
index 000000000000..abdaa4cbf3f5
--- /dev/null
+++ b/media-gfx/hugin/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>graphics</herd>
+ <longdescription>hugin is a panorama stitching program</longdescription>
+ <use>
+ <flag name="sift">automatically align images with
+ <pkg>media-gfx/autopano-sift</pkg> or
+ <pkg>media-gfx/autopano-sift-C</pkg></flag>
+ </use>
+</pkgmetadata>