Patchwork [v2] eigen: new package

login
register
mail settings
Submitter Matt Weber
Date Sept. 5, 2013, 1:53 p.m.
Message ID <1378389207-31680-1-git-send-email-mlweber1@rockwellcollins.com>
Download mbox | patch
Permalink /patch/272892/
State Accepted
Headers show

Comments

Matt Weber - Sept. 5, 2013, 1:53 p.m.
Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com>
---
Changes v1 -> v2:
  * Fixed order of where new pkg was added in package/Config.in (suggested by Arnout)
  * Cleaned up pkg description in package/eigen/Config.in (suggested by Arnout)
  * Fixed SITE/SOURCE issue.  Ended up switching to a mercurial repo tag instead of
    source pkg.  This was because of the download site renaming the archive
    to have a different name then what was provided for a download URL.
    (version vs hashtag used in archive naming) (suggested by Arnout)
  * Cleaned up license list and added all the license files (suggested by Arnout)
  * Removed uninstall and added cleanup cmds before the cp in the install staging (suggested by Arnout)

 package/Config.in       |    1 +
 package/eigen/Config.in |   14 ++++++++++++++
 package/eigen/eigen.mk  |   22 ++++++++++++++++++++++
 3 files changed, 37 insertions(+), 0 deletions(-)
 create mode 100644 package/eigen/Config.in
 create mode 100644 package/eigen/eigen.mk
Peter Korsgaard - Sept. 8, 2013, 8:29 p.m.
>>>>> "Matt" == Matt Weber <mlweber1@rockwellcollins.com> writes:

 Matt> Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com>
 Matt> ---
 Matt> Changes v1 -> v2:
 Matt>   * Fixed order of where new pkg was added in package/Config.in (suggested by Arnout)
 Matt>   * Cleaned up pkg description in package/eigen/Config.in (suggested by Arnout)
 Matt>   * Fixed SITE/SOURCE issue.  Ended up switching to a mercurial repo tag instead of
 Matt>     source pkg.  This was because of the download site renaming the archive
 Matt>     to have a different name then what was provided for a download URL.
 Matt>     (version vs hashtag used in archive naming) (suggested by Arnout)
 Matt>   * Cleaned up license list and added all the license files (suggested by Arnout)
 Matt>   * Removed uninstall and added cleanup cmds before the cp in the install staging (suggested by Arnout)

Committed with minor fixes (see below) - Thanks.

 Matt> +config BR2_PACKAGE_EIGEN
 Matt> +	bool "eigen"
 Matt> +	help
 Matt> +	  Eigen is a C++ template library for linear algebra: vectors, 
 Matt> +	  matrices, and related algorithms. It is versatile, fast, elegant 
 Matt> +	  and works on many platforms (OS/Compilers).
 Matt> +
 Matt> +	  This package only installs header files to the include path. 
 Matt> +	  If you just want to use Eigen, you can use the header files 
 Matt> +	  right away. There is no binary to link to. Eigen is a pure 
 Matt> +	  template library defined in the headers.

You have trailing spaces.

 Matt> +
 Matt> +	  http://eigen.tuxfamily.org/
 Matt> +

There shouldn't be an empty line after the URL.

 Matt> diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
 Matt> new file mode 100644
 Matt> index 0000000..1a88d90
 Matt> --- /dev/null
 Matt> +++ b/package/eigen/eigen.mk
 Matt> @@ -0,0 +1,22 @@
 Matt> +#############################################################
 Matt> +#
 Matt> +# Eigen - a C++ template library for linear algebra
 Matt> +#
 Matt> +#############################################################

The ##### header lines should be 80 chars and only contain the package
name, and there should be an empty line before the EIGEN_ variables.

 Matt> +# version 3.2
 Matt> +EIGEN_VERSION = ffa86ffb5570
 Matt> +EIGEN_SITE    = https://bitbucket.org/eigen/eigen/
 Matt> +EIGEN_SITE_METHOD = hg
 Matt> +EIGEN_LICENSE = MPL2, BSD-3c, LGPLv2.1
 Matt> +EIGEN_LICENSE_FILES = COPYING.MPL2 COPYING.BSD COPYING.LGPL COPYING.README
 Matt> +EIGEN_INSTALL_STAGING = YES
 Matt> +EIGEN_INSTALL_TARGET = NO
 Matt> +
 Matt> +# This package only consists of headers that need to be
 Matt> +# copied over to the sysroot for compile time use
 Matt> +define EIGEN_INSTALL_STAGING_CMDS
 Matt> +	$(RM) -r $(STAGING_DIR)/usr/include/Eigen
 Matt> +	cp -a $(@D)/Eigen $(STAGING_DIR)/usr/include/
 Matt> +endef
 Matt> +
 Matt> +$(eval $(generic-package))
 Matt> -- 
 Matt> 1.7.1

Patch

diff --git a/package/Config.in b/package/Config.in
index a94cb62..52513a9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -616,6 +616,7 @@  source "package/apr-util/Config.in"
 source "package/libcofi/Config.in"
 source "package/classpath/Config.in"
 source "package/cppcms/Config.in"
+source "package/eigen/Config.in"
 source "package/elfutils/Config.in"
 source "package/fftw/Config.in"
 source "package/libargtable2/Config.in"
diff --git a/package/eigen/Config.in b/package/eigen/Config.in
new file mode 100644
index 0000000..bfb1ab7
--- /dev/null
+++ b/package/eigen/Config.in
@@ -0,0 +1,14 @@ 
+config BR2_PACKAGE_EIGEN
+	bool "eigen"
+	help
+	  Eigen is a C++ template library for linear algebra: vectors, 
+	  matrices, and related algorithms. It is versatile, fast, elegant 
+	  and works on many platforms (OS/Compilers).
+
+	  This package only installs header files to the include path. 
+	  If you just want to use Eigen, you can use the header files 
+	  right away. There is no binary to link to. Eigen is a pure 
+	  template library defined in the headers.
+
+	  http://eigen.tuxfamily.org/
+
diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
new file mode 100644
index 0000000..1a88d90
--- /dev/null
+++ b/package/eigen/eigen.mk
@@ -0,0 +1,22 @@ 
+#############################################################
+#
+# Eigen - a C++ template library for linear algebra
+#
+#############################################################
+# version 3.2
+EIGEN_VERSION = ffa86ffb5570
+EIGEN_SITE    = https://bitbucket.org/eigen/eigen/
+EIGEN_SITE_METHOD = hg
+EIGEN_LICENSE = MPL2, BSD-3c, LGPLv2.1
+EIGEN_LICENSE_FILES = COPYING.MPL2 COPYING.BSD COPYING.LGPL COPYING.README
+EIGEN_INSTALL_STAGING = YES
+EIGEN_INSTALL_TARGET = NO
+
+# This package only consists of headers that need to be
+# copied over to the sysroot for compile time use
+define EIGEN_INSTALL_STAGING_CMDS
+	$(RM) -r $(STAGING_DIR)/usr/include/Eigen
+	cp -a $(@D)/Eigen $(STAGING_DIR)/usr/include/
+endef
+
+$(eval $(generic-package))