gnu: Add ISL and CLooG.

* gnu/packages/gcc.scm (%gcc-infrastructure, isl, cloog): New variables.
This commit is contained in:
Ludovic Courtès 2013-03-27 15:37:27 +01:00
parent e9c0b9446b
commit 832abc7687
1 changed files with 73 additions and 0 deletions

View File

@ -26,6 +26,10 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu)) #:use-module (guix build-system gnu))
(define %gcc-infrastructure
;; Base URL for GCC's infrastructure.
"ftp://gcc.gnu.org/pub/gcc/infrastructure/")
(define-public gcc-4.7 (define-public gcc-4.7
(let ((stripped? #t)) ; TODO: make this a parameter (let ((stripped? #t)) ; TODO: make this a parameter
(package (package
@ -138,3 +142,72 @@ GCC development is a part of the GNU Project, aiming to improve the compiler
used in the GNU system including the GNU/Linux variant.") used in the GNU system including the GNU/Linux variant.")
(license gpl3+) (license gpl3+)
(home-page "http://gcc.gnu.org/")))) (home-page "http://gcc.gnu.org/"))))
(define-public isl
(package
(name "isl")
(version "0.11.1")
(source (origin
(method url-fetch)
(uri (list (string-append
"ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/isl-"
version
".tar.bz2")
(string-append %gcc-infrastructure
name "-" version ".tar.gz")))
(sha256
(base32
"13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)))
(home-page "http://www.kotnet.org/~skimo/isl/")
(synopsis
"A library for manipulating sets and relations of integer points bounded
by linear constraints")
(description
"isl is a library for manipulating sets and relations of integer points
bounded by linear constraints. Supported operations on sets include
intersection, union, set difference, emptiness check, convex hull, (integer)
affine hull, integer projection, computing the lexicographic minimum using
parametric integer programming, coalescing and parametric vertex
enumeration. It also includes an ILP solver based on generalized basis
reduction, transitive closures on maps (which may encode infinite graphs),
dependence analysis and bounds on piecewise step-polynomials.")
(license lgpl2.1+)))
(define-public cloog
(package
(name "cloog")
(version "0.18.0")
(source
(origin
(method url-fetch)
(uri (list (string-append
"http://www.bastoul.net/cloog/pages/download/count.php3?url=cloog-"
version
".tar.gz")
(string-append %gcc-infrastructure
name "-" version ".tar.gz")))
(sha256
(base32
"0a12rwfwp22zd0nlld0xyql11cj390rrq1prw35yjsw8wzfshjhw"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("isl" ,isl)))
(arguments '(#:configure-flags '("--with-isl=system")))
(home-page "http://www.cloog.org/")
(synopsis "A library to generate code for scanning Z-polyhedra")
(description
"CLooG is a free software library to generate code for scanning
Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
reaches each integral point of one or more parameterized polyhedra.
CLooG has been originally written to solve the code generation problem
for optimizing compilers based on the polytope model. Nevertheless it
is used now in various area e.g., to build control automata for
high-level synthesis or to find the best polynomial approximation of a
function. CLooG may help in any situation where scanning polyhedra
matters. While the user has full control on generated code quality,
CLooG is designed to avoid control overhead and to produce a very
effective code.")
(license gpl2+)))