From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: [Patch] gst-plugins-base Date: Wed, 30 Mar 2016 17:53:14 -0400 Message-ID: <87shz71vlh.fsf@netris.org> References: <20160330183809.29bd3b17@debian-netbook> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48991) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1alO3K-00085d-VK for guix-devel@gnu.org; Wed, 30 Mar 2016 17:53:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1alO3G-0000GN-TX for guix-devel@gnu.org; Wed, 30 Mar 2016 17:53:26 -0400 Received: from world.peace.net ([50.252.239.5]:41546) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1alO3G-0000GH-Pj for guix-devel@gnu.org; Wed, 30 Mar 2016 17:53:22 -0400 In-Reply-To: <20160330183809.29bd3b17@debian-netbook> (Efraim Flashner's message of "Wed, 30 Mar 2016 18:38:09 +0300") 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: Efraim Flashner Cc: guix-devel@gnu.org Efraim Flashner writes: > Currently on both mips64 and on armhf gst-plugins-base doesn't build, and I'm > not sure if it has any time recently. On arm, the orc related tests fail, and > on mips orc fails to build entirely. Orc is a nice addition to > gst-plugins-base, but it will build without it. This patch would have arm and > mips go without it. Currently gst-plugins-base is the only program that > directly depends on orc, so the other ~50 programs that depend on > gst-plugins-base will have a chance of building now. Sounds good. See below for comments. > From c7a03250b130928a9d0c00e8861218abb08c22b5 Mon Sep 17 00:00:00 2001 > From: Efraim Flashner > Date: Wed, 30 Mar 2016 18:03:53 +0300 > Subject: [PATCH] gnu: gst-plugins-base: Don't build with orc on arm/mips > architectures. > > * gnu/packages/gstreamer.scm (gst-plugins-base)[inputs]: Only use orc as > an input on armhf or mips architectures. > --- > gnu/packages/gstreamer.scm | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm > index 5cf59cd..c44cbec 100644 > --- a/gnu/packages/gstreamer.scm > +++ b/gnu/packages/gstreamer.scm > @@ -160,7 +160,6 @@ This package provides the core library and elements.") > `(("gstreamer" ,gstreamer))) ; required by gstreamer-plugins-base-1.0.pc > (inputs > `(("cdparanoia" ,cdparanoia) > - ("orc" ,orc) > ("pango" ,pango) > ("libogg" ,libogg) > ("libtheora" ,libtheora) > @@ -169,7 +168,12 @@ This package provides the core library and elements.") > ("zlib" ,zlib) > ("libXext" ,libxext) > ("libxv" ,libxv) > - ("alsa-lib" ,alsa-lib))) > + ("alsa-lib" ,alsa-lib) > + ,@(if (not (string-prefix? (or "armhf" "mips") > + (or (%current-target-system) > + (%current-system)))) > + `(("orc" ,orc)) > + '()))) Several issues here: * (or "armhf" "mips") always evaluates to "armhf", so this doesn't do what you seem to be hoping for. As you have it above, orc would still be included as an input on mips. * When cross-compiling (%current-target-system) returns a GNU triplet string instead of a Nix system string, and those strings start with "arm" but not "armhf". * If you put this ",@if" in the same place where ("orc" ,orc) is currently located, then we can avoid rebuilding a lot of stuff on intel architectures. * Finally, by our indentation conventions, the consequent of the 'if' should be lined up under the condition. Here's one way to do it: --8<---------------cut here---------------start------------->8--- (inputs `(("cdparanoia" ,cdparanoia) ,@(if (any (cute string-prefix? <> (or (%current-target-system) (%current-system))) '("arm" "mips")) '() `(("orc" ,orc))) --8<---------------cut here---------------end--------------->8--- You'll need to import (srfi srfi-1) for 'any' and (srfi srfi-26) for 'cute'. What do you think? Can you send an updated patch? Thank you! Mark