Received: (at 62353) by debbugs.gnu.org; 29 Mar 2023 03:01:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 28 23:01:56 2023 Received: from localhost ([127.0.0.1]:51092 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1phM4R-0001S7-W8 for submit <at> debbugs.gnu.org; Tue, 28 Mar 2023 23:01:56 -0400 Received: from mail-qv1-f41.google.com ([209.85.219.41]:36522) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>) id 1phM4M-0001Rr-Aq for 62353 <at> debbugs.gnu.org; Tue, 28 Mar 2023 23:01:54 -0400 Received: by mail-qv1-f41.google.com with SMTP id cu4so10765424qvb.3 for <62353 <at> debbugs.gnu.org>; Tue, 28 Mar 2023 20:01:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680058904; x=1682650904; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=B/5OJ+3+9VpoS38d42u0D8m2jX5mVeDm8YKSgsRzLM8=; b=B8o3LyBzSOcrWrEGo/788MFmR4RPs5AksFK3g+PFG/px9IQDfY/g6MZsHsXB42ed8V jd557F5MZJXRdjtUjSCmNU6JMuccaHcIb9m5JwMkw1U6mODz+UwGm+cJmW7el6H/yFFS kr7FKWGwXgInRMaLOod92/q3LUDfk83J6K/4IZyHbEYQ5GUPeWyYZ/Ki0PDsJw47xr3U 6ec20+3k5xQQxd9EZNPe/LSpoBBRnC0MHyAO0ugLblKecOKW0wOh1B+l5VargcdCUDnb MYxqZ5PeOxF4BgMP0Z0zhBNxf+qYJ9L0LqumANFTImy40Elbmk6V5idXMTII0376ae8u mzjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680058904; x=1682650904; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=B/5OJ+3+9VpoS38d42u0D8m2jX5mVeDm8YKSgsRzLM8=; b=BpzwoyKK0O0BtVcWO9tARNeC09FXacbQhQA+yjl0BTMkXNfdd2VOzjyFl/DwwgLmAn hD6cNvlAfcR2ITL9TMKjCWdp7aeOV68+ZpFUEruT6zXrprDn8Nm5gZNTr1gOunyLCipu tpNyYiSRvqYATRWbXRIQ0ZSBD5v1C6V0jagEpj6nO0DLjSZYzgAWdf03bf7u/Ob/07RM C63D693OpIx6EBBirnG6VfLZRv20iFa98HafWogodmw52MzTiReNPF4OIKmG5F7Bu1r8 dd8BIM8yB8OBuzSi4ytXWF3NxHnWwaFCRvlL/cQfuI0XaxwMJVatZybkJihkTTsD3gZt fL6w== X-Gm-Message-State: AAQBX9fIpiLIMGEj/s7VRz/+cTkDhGG3X5zaK9Lu9mrk4l7qdz1E7L3R c1cDHzntLnONtbTNzLK1kGC01AC3v2SU2g== X-Google-Smtp-Source: AKy350YJFbcU4RHcJWgKQZgXNhruCQN9V0eJkhSBqIbAWWsEkVX10G+ZrcWQGM/fqXmERsOjYZQChw== X-Received: by 2002:a05:6214:d04:b0:56b:eb95:9a52 with SMTP id 4-20020a0562140d0400b0056beb959a52mr26545902qvh.15.1680058904433; Tue, 28 Mar 2023 20:01:44 -0700 (PDT) Received: from hurd (dsl-205-151-56-156.b2b2c.ca. [205.151.56.156]) by smtp.gmail.com with ESMTPSA id x17-20020a376311000000b00741a8e96f25sm7747769qkb.88.2023.03.28.20.01.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Mar 2023 20:01:44 -0700 (PDT) From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> To: Spencer Skylar Chan <schan12@HIDDEN> Subject: Re: bug#62353: [PATCH] gnu: Add glava. References: <a778daaa-66a4-4ccf-d315-259da34b6843@HIDDEN> Date: Tue, 28 Mar 2023 23:01:34 -0400 In-Reply-To: <a778daaa-66a4-4ccf-d315-259da34b6843@HIDDEN> (Spencer Skylar Chan's message of "Tue, 21 Mar 2023 13:58:46 -0400") Message-ID: <87355o45wx.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62353 Cc: 62353 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi Spencer, Spencer Skylar Chan <schan12@HIDDEN> writes: > From 17eb638d8ff5d5cb40c9bdf9f24544ef7f23088e Mon Sep 17 00:00:00 2001 > From: Skylar Chan <schan12@HIDDEN> > Date: Mon, 30 Jan 2023 13:39:53 -0500 > Subject: [PATCH] gnu: Add glava. > > * gnu/packages/audio.scm (glava): New variable. Thank you! I'm having problem applying your patch; git says it's corrupted. It seems the longer lines were folded? I'm using this opportunity to share some review comments. > --- > gnu/packages/audio.scm | 75 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 75 insertions(+) > > diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm > index 6f3fa2a580..a0e73ed55a 100644 > --- a/gnu/packages/audio.scm > +++ b/gnu/packages/audio.scm > @@ -5109,6 +5109,81 @@ (define-public cava > using ALSA, MPD, PulseAudio, or a FIFO buffer as its input.") > (license license:expat))) > > +(define-public glava > + (package > + (name "glava") > + (version "1.6.3") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/jarcode-foss/glava") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "0kqkjxmpqkmgby05lsf6c6iwm45n33jk5qy6gi3zvjx4q4yzal1i")))) > + (build-system gnu-build-system) > + (arguments > + (list #:tests? #f ;no tests. nitpick: You can drop the trailing period since inline comments are not complete sentence (contrary to standalone comments, which should be). > + #:make-flags > + #~(list > + (string-append "DESTDIR=" #$output) > + (string-append "PREFIX=" #$output) > + (string-append "CC=" #$(cc-for-target))) > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'fix-etc-references > + (lambda* (#:key outputs #:allow-other-keys) > + (substitute* (find-files ".*") The first argument to find-files is a directory, not a regexp; so it should probably be ".". It's usually best to use a regexps as a 2nd argument otherwise for large projects it wastes IO scanning tons of files and sometimes fails on binary images for example. > + (("/etc/xdg") (string-append #$output > "/etc/xdg/glava"))))) > > + (add-after 'unpack 'patch-makefile > + (lambda _ > + (substitute* "Makefile" > + (("$(DESTDIR)$(SHADERDIR)") > + "$(SHADERDIR)")))) This substitution must do anything, as the pattern "$(DESTDIR)$(SHADERDIR)" is a regexp, and $ matches the end of line character. You probably meant to escape regexp special characters like: "\\$\\(DESTDIR\\)\\$\\(SHADERDIR\\)" in the pattern. > + (delete 'configure) > + (add-after 'install 'make-wrapper > + ;; > https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/glava/default.nix Please leave a verbose comment (complete sentence) explaining what is the issue, and prefer linking to the 'raw' github file in a (see: $URL) at the end of the explanation. > + (lambda* (#:key inputs outputs #:allow-other-keys) 'inputs' appears unused. > + (let* ((wrapper (string-append #$output "/bin/glava"))) > + (with-output-to-file wrapper > + (lambda _ > + (display > + (string-append > + "#!/bin/sh\n" > + "case \"$1\" in\n" > + " --copy-config|-C)\n" > + "# The binary would symlink it, which won't > work in Guix because the\n" > + "# garbage collector will eventually remove > the original files after\n" > + "# updates.\n" > + " echo \"Guix wrapper: Copying glava config > to ~/.config/glava\"\n" > + " cp -r --no-preserve=all " #$output > "/etc/xdg/glava ~/.config/glava\n" > + " ;;\n" > + "*)\n" > + " exec " #$output "/bin/.glava-real \"$@\"\n" > + "esac\n")))) > + (chmod wrapper #o555)))) Hm. I'm not sure we want to preserve this behavior of messing with the user's HOME files, but I haven't read the issue to get a grasp of what is the exact problem it tries to solve. > + (add-after 'install 'rename-binary > + (lambda* (#:key outputs #:allow-other-keys) > + (mkdir-p (string-append #$output "/bin")) > + (rename-file (string-append #$output "/usr/bin/glava") > + (string-append #$output > "/bin/.glava-real")) > + (delete-file-recursively (string-append #$output > "/usr"))))))) > + (inputs (list pulseaudio > + libx11 > + libxext > + libxcomposite > + libxrender)) > + (native-inputs (list python)) > + (home-page "https://github.com/jarcode-foss/glava") > + (synopsis "OpenGL audio spectrum visualizer") > + (description "GLava is an OpenGL audio spectrum visualizer using > PulseAudio or > +MPD's fifo output. Its primary use case is for desktop windows or > backgrounds. > +It is compatible with most EMWH compliant window managers.") > + (license (list license:gpl3+ > + license:expat)))) ;; khrplatform.h nitpick: Please use single ';' for inline comments :-) Could you please send a revised version with the above taken care of? -- Thanks, Maxim
guix-patches@HIDDEN
:bug#62353
; Package guix-patches
.
Full text available.Received: (at submit) by debbugs.gnu.org; 21 Mar 2023 20:16:08 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 21 16:16:08 2023 Received: from localhost ([127.0.0.1]:60887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1peiOq-0006sJ-JM for submit <at> debbugs.gnu.org; Tue, 21 Mar 2023 16:16:08 -0400 Received: from lists.gnu.org ([209.51.188.17]:45074) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <schan12@HIDDEN>) id 1pegGF-0001UC-VK for submit <at> debbugs.gnu.org; Tue, 21 Mar 2023 13:59:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <schan12@HIDDEN>) id 1pegGF-0001Rd-Me for guix-patches@HIDDEN; Tue, 21 Mar 2023 13:59:03 -0400 Received: from esa4.umd.iphmx.com ([68.232.137.73]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <schan12@HIDDEN>) id 1pegGD-0000Kc-Rt for guix-patches@HIDDEN; Tue, 21 Mar 2023 13:59:03 -0400 X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; d="scan'208,223";a="650483218" Received: from mail-qv1-f70.google.com ([209.85.219.70]) by ob1.umd.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 21 Mar 2023 13:58:49 -0400 Received: by mail-qv1-f70.google.com with SMTP id e11-20020ad4536b000000b005a9292e8c2bso8050685qvv.1 for <guix-patches@HIDDEN>; Tue, 21 Mar 2023 10:58:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umd.edu; s=google; t=1679421528; h=content-transfer-encoding:subject:to:content-language:from :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=umlR4ioj8rr7vYjgF+e4Os0JXfqTiOXiAneUsrNP8nk=; b=QInFuJgKBx5daZn1F86QpquO5mqrGxTLodKkIwK/lRS9T6KO/1jGn2X2htS5Ov4CTT VTxDR9eINwzrpeBEiQLQxwVCcMs6xBo+P7JqmZzP/2oY/C2JpopVP389CE0mS3Kn3Zgw kpl4I3Q9nWkIyZD9+DbDw2BYhx4bBqFMPiucNPML5xMOKmPG1mTR+bfm7oyLThwF6MGN kkFc9cM/KOZwaZAS487cZfL0jjvFy4jhmdEDLXU6jxECTq2+ME3+ffwUHWeg7QXDansn fKgOQj2iLn2RLx21VBGLJDGFUZbFpqwTDJmqUNp/ckrXljwjRo8FzbIoOhzEJIM1Sue/ 9bQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679421528; h=content-transfer-encoding:subject:to:content-language:from :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=umlR4ioj8rr7vYjgF+e4Os0JXfqTiOXiAneUsrNP8nk=; b=w+CKTND0Zv6FYnpsbZfen3hX4jatBgTtJm9hk8LVu6Wl/y3timd7ERyU5z+Wm1fAuI mskEoKql0wz8tZ7u73WMwuqNHw6feoOaRaN+DmXB9Zi5l2g/dmXpmVTTDMdBw5jURqSe r74+5htUd/+Ybu0ToxvUuPxBt8l6j7X/tfwXGZRLlBml1+efNuUYHt9w3OdN9p1bKvH1 GCnIFSOuA6dkyUreyeUcxE8mb7eyIIqfP/lGFZYFWXMe6ZujfEBJVzaH2Axf/KQmMieN xERXZa6mJWgSa1rjcd//edELLmYcgDNI+vuXvoisjEpFrbMxjzxTP73SdwIn8zbLkp1u veuA== X-Gm-Message-State: AO0yUKWF6K/SZbMoGak5Y+qV8tYpJazcmRHpC/d5v3B091R/oFoa4ral iJR3ajxOASrE6K/BfxBlnKzcq0Qgbu1TQ69tpeUM73ehezsEgwT6Owv/uKRU4EZDG0ZWRuVWnot JZy2Rst6yDcmCLWEeVx9XSHjtQOP6VRnU8YeuRQ9IAJuIvH6ssnvKbsZfdUSeZrIc/dJmXdrhDO E9 X-Received: by 2002:a05:622a:651:b0:3bf:e005:3a85 with SMTP id a17-20020a05622a065100b003bfe0053a85mr1477033qtb.5.1679421528743; Tue, 21 Mar 2023 10:58:48 -0700 (PDT) X-Google-Smtp-Source: AK7set9tU9iphO9rIMF6Yu5+V04cGTFYObDoLNp7j002YenyXy22YCzC36z6IR/tyW8i2ijp2MdBLg== X-Received: by 2002:a05:622a:651:b0:3bf:e005:3a85 with SMTP id a17-20020a05622a065100b003bfe0053a85mr1476996qtb.5.1679421528374; Tue, 21 Mar 2023 10:58:48 -0700 (PDT) Received: from ?IPV6:2600:4040:45a2:7800:6539:6b26:e0f0:4523? ([2600:4040:45a2:7800:6539:6b26:e0f0:4523]) by smtp.gmail.com with ESMTPSA id bk12-20020a05620a1a0c00b0074357a6529asm9780326qkb.105.2023.03.21.10.58.47 for <guix-patches@HIDDEN> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Mar 2023 10:58:48 -0700 (PDT) Message-ID: <a778daaa-66a4-4ccf-d315-259da34b6843@HIDDEN> Date: Tue, 21 Mar 2023 13:58:46 -0400 MIME-Version: 1.0 From: Spencer Skylar Chan <schan12@HIDDEN> Content-Language: en-US To: guix-patches@HIDDEN Subject: [PATCH] gnu: Add glava. Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=68.232.137.73; envelope-from=schan12@HIDDEN; helo=esa4.umd.iphmx.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 21 Mar 2023 16:16:04 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) From 17eb638d8ff5d5cb40c9bdf9f24544ef7f23088e Mon Sep 17 00:00:00 2001 From: Skylar Chan <schan12@HIDDEN> Date: Mon, 30 Jan 2023 13:39:53 -0500 Subject: [PATCH] gnu: Add glava. * gnu/packages/audio.scm (glava): New variable. --- gnu/packages/audio.scm | 75 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 6f3fa2a580..a0e73ed55a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -5109,6 +5109,81 @@ (define-public cava using ALSA, MPD, PulseAudio, or a FIFO buffer as its input.") (license license:expat))) +(define-public glava + (package + (name "glava") + (version "1.6.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jarcode-foss/glava") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kqkjxmpqkmgby05lsf6c6iwm45n33jk5qy6gi3zvjx4q4yzal1i")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests. + #:make-flags + #~(list + (string-append "DESTDIR=" #$output) + (string-append "PREFIX=" #$output) + (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-etc-references + (lambda* (#:key outputs #:allow-other-keys) + (substitute* (find-files ".*") + (("/etc/xdg") (string-append #$output "/etc/xdg/glava"))))) + (add-after 'unpack 'patch-makefile + (lambda _ + (substitute* "Makefile" + (("$(DESTDIR)$(SHADERDIR)") + "$(SHADERDIR)")))) + (delete 'configure) + (add-after 'install 'make-wrapper + ;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/glava/default.nix + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((wrapper (string-append #$output "/bin/glava"))) + (with-output-to-file wrapper + (lambda _ + (display + (string-append + "#!/bin/sh\n" + "case \"$1\" in\n" + " --copy-config|-C)\n" + "# The binary would symlink it, which won't work in Guix because the\n" + "# garbage collector will eventually remove the original files after\n" + "# updates.\n" + " echo \"Guix wrapper: Copying glava config to ~/.config/glava\"\n" + " cp -r --no-preserve=all " #$output "/etc/xdg/glava ~/.config/glava\n" + " ;;\n" + "*)\n" + " exec " #$output "/bin/.glava-real \"$@\"\n" + "esac\n")))) + (chmod wrapper #o555)))) + (add-after 'install 'rename-binary + (lambda* (#:key outputs #:allow-other-keys) + (mkdir-p (string-append #$output "/bin")) + (rename-file (string-append #$output "/usr/bin/glava") + (string-append #$output "/bin/.glava-real")) + (delete-file-recursively (string-append #$output "/usr"))))))) + (inputs (list pulseaudio + libx11 + libxext + libxcomposite + libxrender)) + (native-inputs (list python)) + (home-page "https://github.com/jarcode-foss/glava") + (synopsis "OpenGL audio spectrum visualizer") + (description "GLava is an OpenGL audio spectrum visualizer using PulseAudio or +MPD's fifo output. Its primary use case is for desktop windows or backgrounds. +It is compatible with most EMWH compliant window managers.") + (license (list license:gpl3+ + license:expat)))) ;; khrplatform.h + (define-public fluid-3 (let ((commit "871c8ce2002e8b3c198f532fdb4fbcce7914f951")) (package base-commit: 60a211ec705ac98483d76da7f2523f2b8966343a -- 2.39.2
Spencer Skylar Chan <schan12@HIDDEN>
:guix-patches@HIDDEN
.
Full text available.guix-patches@HIDDEN
:bug#62353
; Package guix-patches
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.