From mboxrd@z Thu Jan 1 00:00:00 1970 From: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer?=) Subject: [PATCHES] Various Date: Sun, 22 Mar 2015 12:52:52 +0100 Message-ID: <87sicx2qqz.fsf@taylan.uni.cx> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34426) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZeRE-0003NA-Ec for guix-devel@gnu.org; Sun, 22 Mar 2015 07:53:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YZeR7-0001gL-KS for guix-devel@gnu.org; Sun, 22 Mar 2015 07:53:04 -0400 Received: from mail-wi0-x233.google.com ([2a00:1450:400c:c05::233]:36491) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZeR7-0001gF-4E for guix-devel@gnu.org; Sun, 22 Mar 2015 07:52:57 -0400 Received: by wibg7 with SMTP id g7so24557402wib.1 for ; Sun, 22 Mar 2015 04:52:55 -0700 (PDT) Received: from taylan.uni.cx (p200300514A2A44A20213E8FFFEED36FB.dip0.t-ipconnect.de. [2003:51:4a2a:44a2:213:e8ff:feed:36fb]) by mx.google.com with ESMTPSA id ka1sm14580031wjc.2.2015.03.22.04.52.53 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 22 Mar 2015 04:52:54 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain Here's a series of patches from tracking libva's and VapourSynth's recursive dependencies. (They themselves are optional dependencies to mpv, to whose review-awaiting patch I added them, which shouldn't change the review result.) All patches add packages without anything unusual, except for: - (gnu packages ocrad) renamed to (gnu packages ocr), - freeglut now propagates mesa. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-gnu-Add-libva.patch >From 2474d2e4818975255e02dd2d17496faf5ff42755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 20 Mar 2015 15:52:52 +0100 Subject: [PATCH 1/8] gnu: Add libva. * gnu/packages/video.scm (libva): New variable. --- gnu/packages/video.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index a7f39b8..c3ab772 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -71,6 +71,7 @@ #:use-module (gnu packages web) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (gnu packages yasm) #:use-module (gnu packages zip)) @@ -195,6 +196,35 @@ developed according to the official standards for DV video: IEC 61834 and SMPTE 314M.") (license lgpl2.1+))) +(define-public libva + (package + (name "libva") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.freedesktop.org/software/vaapi/releases/libva/libva-" + version".tar.bz2")) + (sha256 + (base32 "01d01mm9fgpwzqycmjjcj3in3vvzcibi3f64icsw2sksmmgb4495")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libdrm" ,libdrm) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("mesa" ,mesa))) + (home-page "http://www.freedesktop.org/wiki/Software/vaapi/") + (synopsis "Video Acceleration API") + (description "The main motivation for VA-API (Video Acceleration API) is +to enable hardware accelerated video decode/encode at various +entry-points (VLD, IDCT, Motion Compensation etc.) for prevailing coding +standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") + (license expat))) + (define-public ffmpeg (package (name "ffmpeg") -- 2.2.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-gnu-freeglut-Add-mesa-to-propagated-inputs.patch >From a82ac3f13f71764405575df875409e375fb71b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sat, 21 Mar 2015 19:36:25 +0100 Subject: [PATCH 2/8] gnu: freeglut: Add mesa to propagated inputs. * gnu/packages/gl.scm (freeglut): Add mesa to propagated inputs. --- gnu/packages/gl.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index e9b2c53..dc90a12 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -84,7 +84,10 @@ as ASCII text.") ("libxxf86vm" ,libxxf86vm) ("inputproto" ,inputproto) ("xinput" ,xinput))) - (propagated-inputs `(("glu" ,glu))) + (propagated-inputs + ;; Headers from Mesa and GLU are needed. + `(("glu" ,glu) + ("mesa" ,mesa))) (home-page "http://freeglut.sourceforge.net/") (synopsis "Alternative to the OpenGL Utility Toolkit (GLUT)") (description -- 2.2.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-gnu-Add-libwebp.patch >From f74b6c39b8b6f90fe4dbe19c925cf703c82e3d59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sat, 21 Mar 2015 19:40:21 +0100 Subject: [PATCH 3/8] gnu: Add libwebp. * gnu/packages/image.scm (freeimage): New variable. --- gnu/packages/image.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 11cb63a..9c7e504 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages doxygen) #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gl) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -475,3 +476,39 @@ algorithms and data structures. It is particularly strong for multi-dimensional image processing.") (license license:expat) (home-page "https://hci.iwr.uni-heidelberg.de/vigra"))) + +(define-public libwebp + (package + (name "libwebp") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://downloads.webmproject.org/releases/webp/libwebp-" version + ".tar.gz")) + (sha256 + (base32 "1i4hfczjm3b1qj1g4cc9hgb69l47f3nkgf6hk7nz4dm9zmc0vgpg")))) + (build-system gnu-build-system) + (inputs + `(("freeglut" ,freeglut) + ("giflib" ,giflib) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff))) + (arguments + '(#:configure-flags '("--enable-libwebpmux" + "--enable-libwebpdemux" + "--enable-libwebpdecoder"))) + (home-page "https://developers.google.com/speed/webp/") + (synopsis "Lossless and lossy image compression") + (description + "WebP is a new image format that provides lossless and lossy compression +for images. WebP lossless images are 26% smaller in size compared to +PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at +equivalent SSIM index. WebP supports lossless transparency (also known as +alpha channel) with just 22% additional bytes. Transparency is also supported +with lossy compression and typically provides 3x smaller file sizes compared +to PNG when lossy compression is acceptable for the red/green/blue color +channels.") + (license license:bsd-3))) -- 2.2.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-gnu-Add-leptonica.patch >From 469c7605b457385e730a8d429b85f05c6e4d32d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sat, 21 Mar 2015 19:41:54 +0100 Subject: [PATCH 4/8] gnu: Add leptonica. * gnu/packages/image.scm (leptonica): New variable. --- gnu/packages/image.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 9c7e504..537cd57 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -24,6 +24,7 @@ (define-module (gnu packages image) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages doxygen) @@ -164,6 +165,54 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.") ;; 'COPYING' is the GPLv2, but file headers say LGPLv2.0+. (license license:lgpl2.0+))) +(define-public leptonica + (package + (name "leptonica") + (version "1.71") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.leptonica.com/source/leptonica-" + version ".tar.gz")) + (sha256 + (base32 "0j5qgrff6im5n9waflbi7w643q1p6mahyf2z35gb4vj9h5p76pfc")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gnuplot" ,gnuplot) ;needed for test suite + ("libtool" ,libtool))) + (inputs + `(("giflib" ,giflib) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("libwebp" ,libwebp) + ("openjpeg" ,openjpeg) + ("zlib" ,zlib))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after + unpack autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vif")))) + (add-after + autoreconf patch-reg-wrapper + (lambda _ + (substitute* "prog/reg_wrapper.sh" + ((" /bin/sh ") + (string-append " " (which "sh") " ")))))))) + (home-page "http://www.leptonica.com/") + (synopsis "Image processing and image analysis operations") + (description + "Leptonica is a C library for efficient image processing and image +analysis operations. It supports rasterop, affine transformations, binary and +grayscale morphology, rank order, and convolution, seedfill and connected +components, image transformations combining changes in scale and pixel depth, +and pixelwise masking, blending, enhancement, arithmetic ops.") + (license license:bsd-2))) + (define-public jbig2dec (package (name "jbig2dec") -- 2.2.1 --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename=0005-gnu-Rename-gnu-packages-ocrad-to-gnu-packages-ocr.patch Content-Transfer-Encoding: quoted-printable >From a37984a20b50d8be8ec3d1a9cd01a7f08057c9bc Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Taylan=3D20Ulrich=3D20Bay=3DC4=3DB1rl=3DC4=3DB1/Kammer?=3D Date: Fri, 20 Mar 2015 16:22:34 +0100 Subject: [PATCH 5/8] gnu: Rename (gnu packages ocrad) to (gnu packages ocr). * gnu/packages/ocrad.scm: Deleted. * gnu/packages/ocr.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Change ocrad.scm to ocr.scm. --- gnu-system.am | 2 +- gnu/packages/ocr.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/ocrad.scm | 46 ---------------------------------------------- 3 files changed, 47 insertions(+), 47 deletions(-) create mode 100644 gnu/packages/ocr.scm delete mode 100644 gnu/packages/ocrad.scm diff --git a/gnu-system.am b/gnu-system.am index 154f51f..04c9c5e 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -218,7 +218,7 @@ GNU_SYSTEM_MODULES =3D \ gnu/packages/nutrition.scm \ gnu/packages/nvi.scm \ gnu/packages/ocaml.scm \ - gnu/packages/ocrad.scm \ + gnu/packages/ocr.scm \ gnu/packages/onc-rpc.scm \ gnu/packages/openbox.scm \ gnu/packages/openldap.scm \ diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm new file mode 100644 index 0000000..8408b43 --- /dev/null +++ b/gnu/packages/ocr.scm @@ -0,0 +1,46 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2013 Ludovic Court=C3=A8s +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix 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. +;;; +;;; GNU Guix 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 GNU Guix. If not, see . + +(define-module (gnu packages ocr) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module ((gnu packages compression) + #:select (lzip))) + +(define-public ocrad + (package + (name "ocrad") + (version "0.24") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/ocrad/ocrad-" + version ".tar.lz")) + (sha256 + (base32 + "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv")))) + (build-system gnu-build-system) + (native-inputs `(("lzip" ,lzip))) + (home-page "http://www.gnu.org/software/ocrad/") + (synopsis "Optical character recognition based on feature extraction") + (description + "GNU Ocrad is an optical character recognition program based on a +feature extraction method. It can read images in PBM, PGM or PPM formats = and +it produces text in 8-bit or UTF-8 formats.") + (license gpl3+))) diff --git a/gnu/packages/ocrad.scm b/gnu/packages/ocrad.scm deleted file mode 100644 index 8ad4f32..0000000 --- a/gnu/packages/ocrad.scm +++ /dev/null @@ -1,46 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright =C2=A9 2013 Ludovic Court=C3=A8s -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix 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. -;;; -;;; GNU Guix 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 GNU Guix. If not, see . - -(define-module (gnu packages ocrad) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module ((gnu packages compression) - #:select (lzip))) - -(define-public ocrad - (package - (name "ocrad") - (version "0.24") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/ocrad/ocrad-" - version ".tar.lz")) - (sha256 - (base32 - "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv")))) - (build-system gnu-build-system) - (native-inputs `(("lzip" ,lzip))) - (home-page "http://www.gnu.org/software/ocrad/") - (synopsis "Optical character recognition based on feature extraction") - (description - "GNU Ocrad is an optical character recognition program based on a -feature extraction method. It can read images in PBM, PGM or PPM formats = and -it produces text in 8-bit or UTF-8 formats.") - (license gpl3+))) --=20 2.2.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0006-gnu-Add-tesseract-ocr.patch >From 44d0388a570bfc683c2b58f39ac039232f4eb1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sat, 21 Mar 2015 20:11:56 +0100 Subject: [PATCH 6/8] gnu: Add tesseract-ocr. * gnu/packages/ocr.scm (tesseract-ocr): New variable. --- gnu/packages/ocr.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm index 8408b43..3c0fd40 100644 --- a/gnu/packages/ocr.scm +++ b/gnu/packages/ocr.scm @@ -17,12 +17,14 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages ocr) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module ((gnu packages compression) - #:select (lzip))) + #:use-module (gnu packages autotools) + #:use-module (gnu packages compression) + #:use-module (gnu packages image) + #:use-module (gnu packages pkg-config)) (define-public ocrad (package @@ -43,4 +45,47 @@ "GNU Ocrad is an optical character recognition program based on a feature extraction method. It can read images in PBM, PGM or PPM formats and it produces text in 8-bit or UTF-8 formats.") - (license gpl3+))) + (license license:gpl3+))) + +(define-public tesseract-ocr + (package + (name "tesseract-ocr") + (version "3.02.02") + (source + (origin + (method url-fetch) + (uri (string-append + "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-" + version ".tar.gz")) + (sha256 + (base32 "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("leptonica" ,leptonica))) + (propagated-inputs + ;; These are linked in as well when linking against libocr. + `(("openjpeg" ,openjpeg) + ("zlib" ,zlib))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after + unpack autogen + (lambda _ + (zero? (system* "sh" "autogen.sh"))))) + #:configure-flags + (let ((leptonica (assoc-ref %build-inputs "leptonica"))) + (list (string-append "LIBLEPT_HEADERSDIR=" leptonica "/include"))))) + (home-page "https://code.google.com/p/tesseract-ocr/") + (synopsis "Optical character recognition engine") + (description + "Tesseract is an optical character recognition (OCR) engine with very +high accuracy. It supports many languages, output text formatting, hOCR +positional information and page layout analysis. Several image formats are +supported through the Leptonica library. It can also detect whether text is +monospaced or proportional.") + (license license:asl2.0))) -- 2.2.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0007-gnu-Add-vapoursynth.patch >From e7dd88e1158bc4e804e8eb43c0b0fff165b94703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sat, 21 Mar 2015 23:09:11 +0100 Subject: [PATCH 7/8] gnu: Add vapoursynth. * gnu/packages/video.scm (vapoursynth): New variable. --- gnu/packages/video.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c3ab772..6107c62 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages lua) #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) + #:use-module (gnu packages ocr) #:use-module (gnu packages openssl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -1095,6 +1096,45 @@ capabilities.") (alist-delete 'install %standard-phases))))))))) +(define-public vapoursynth + (package + (name "vapoursynth") + (version "26") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/vapoursynth/vapoursynth/archive/R" + version ".tar.gz")) + (sha256 + (base32 + "1qbg5kg0kgrxldd0ckn1s7vy7vx2ig8nqzv6djp38fxccpzw3x9k")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("cython" ,python-cython) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("yasm" ,yasm))) + (inputs + `(("ffmpeg" ,ffmpeg) + ("libass" ,libass) + ("tesseract-ocr" ,tesseract-ocr))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after + unpack autogen + (lambda _ + (zero? (system* "sh" "autogen.sh"))))))) + (home-page "http://www.vapoursynth.com/") + (synopsis "Video processing framework") + (description "VapourSynth is a video processing framework with simplicity +in mind. ") + ;; As seen from the source files. + (license lgpl2.1+))) + (define-public xvid (package (name "xvid") -- 2.2.1 --=-=-=--