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: Re: [PATCH] gnu: Add s2tc. Date: Fri, 13 Mar 2015 16:21:25 +0100 Message-ID: <87ioe47wju.fsf@taylan.uni.cx> References: <87y4n36wd9.fsf@taylan.uni.cx> <87pp8e6i4y.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]:41134) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWRP1-0004Yj-AY for guix-devel@gnu.org; Fri, 13 Mar 2015 11:21:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YWROz-00006J-Vg for guix-devel@gnu.org; Fri, 13 Mar 2015 11:21:31 -0400 Received: from mail-wi0-x234.google.com ([2a00:1450:400c:c05::234]:42523) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWROz-000069-Gz for guix-devel@gnu.org; Fri, 13 Mar 2015 11:21:29 -0400 Received: by widex7 with SMTP id ex7so6879303wid.1 for ; Fri, 13 Mar 2015 08:21:29 -0700 (PDT) Received: from taylan.uni.cx (p200300514A47CD460213E8FFFEED36FB.dip0.t-ipconnect.de. [2003:51:4a47:cd46:213:e8ff:feed:36fb]) by mx.google.com with ESMTPSA id gj16sm3197157wic.24.2015.03.13.08.21.26 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Mar 2015 08:21:27 -0700 (PDT) In-Reply-To: <87pp8e6i4y.fsf@taylan.uni.cx> ("Taylan Ulrich \=\?utf-8\?Q\?\=5C\=22Bay\=C4\=B1rl\=C4\=B1\=2FKammer\=5C\=22\=22's\?\= message of "Thu, 12 Mar 2015 22:05:49 +0100") 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 the updated patch, which adds a mesa-headers package, and fixes the dlopening of s2tc. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-gnu-Add-s2tc.patch Content-Description: patch >From 01539ae1ff353ac7feccdfdd05992ad295dcdd00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Wed, 11 Mar 2015 21:49:24 +0100 Subject: [PATCH 1/3] gnu: Add s2tc. * gnu/packages/gl.scm (s2tc): New variable. (mesa): Add input s2tc, patch references to "libtxc_dxtn.so". (mesa-headers): New variable. --- gnu/packages/gl.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 7d549d3..e237cb1 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -21,11 +21,13 @@ (define-module (gnu packages gl) #:use-module (ice-9 match) + #:use-module (guix build utils) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages pkg-config) @@ -123,6 +125,37 @@ rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines, Polygon meshes, and Extruded polygon meshes") (license l:x11))) +(define-public s2tc + (package + (name "s2tc") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/divVerent/s2tc/archive/v" version ".tar.gz")) + (sha256 + (base32 "0ibfdib277fhbqvxzan0bmglwnsl1y1rw2g8skvz82l1sfmmn752")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("mesa-headers" ,mesa-headers))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after unpack autogen + (lambda _ + (zero? (system* "sh" "autogen.sh"))))))) + (home-page "https://github.com/divVerent/s2tc") + (synopsis "S3 Text Compression implementation") + (description + "S2TC is a patent-free S3TC compatible implementation and provides +texture compression to Mesa.") + (license l:expat))) + (define-public mesa (package (name "mesa") @@ -153,7 +186,8 @@ Polygon meshes, and Extruded polygon meshes") ("libxml2" ,libxml2) ;; TODO: Add 'libva' ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support - ("makedepend" ,makedepend))) + ("makedepend" ,makedepend) + ("s2tc" ,s2tc))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gnu-gettext) @@ -187,7 +221,17 @@ Polygon meshes, and Extruded polygon meshes") (lambda _ (substitute* "src/glsl/tests/lower_jumps/create_test_cases.py" (("/usr/bin/env bash") (which "bash")))) - %standard-phases)))) + (alist-cons-before + 'build 'fix-dxtn-libname + (lambda* (#:key inputs #:allow-other-keys) + (let ((s2tc (assoc-ref inputs "s2tc"))) + (substitute* + '("src/gallium/auxiliary/util/u_format_s3tc.c" + "src/mesa/main/texcompress_s3tc.c") + (("\"libtxc_dxtn\\.so\"") + (string-append + "\"" s2tc "/lib/libtxc_dxtn.so\""))))) + %standard-phases))))) (home-page "http://mesa3d.org/") (synopsis "OpenGL implementation") (description "Mesa is a free implementation of the OpenGL specification - @@ -196,6 +240,25 @@ allows Mesa to be used in many different environments ranging from software emulation to complete hardware acceleration for modern GPUs.") (license l:x11))) +(define-public mesa-headers + (package + (inherit mesa) + (name "mesa-headers") + (propagated-inputs '()) + (inputs '()) + (native-inputs '()) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete configure) + (delete build) + (delete check) + (replace install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "include" (string-append + (assoc-ref outputs "out") + "/include"))))))))) + (define-public glew (package (name "glew") -- 2.2.1 --=-=-=--