From patchwork Sun Dec 5 14:35:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Langlois X-Patchwork-Id: 34981 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 11A4027BBEA; Sun, 5 Dec 2021 18:12:35 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 601EE27BBE9 for ; Sun, 5 Dec 2021 18:12:34 +0000 (GMT) Received: from localhost ([::1]:46432 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mtw01-0007us-GT for patchwork@mira.cbaines.net; Sun, 05 Dec 2021 13:12:33 -0500 Received: from eggs.gnu.org ([209.51.188.92]:39666) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtvwh-0001sg-Gx for guix-patches@gnu.org; Sun, 05 Dec 2021 13:09:07 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:47787) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mtvwh-00064N-9I for guix-patches@gnu.org; Sun, 05 Dec 2021 13:09:07 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mtvwh-0000ZN-55 for guix-patches@gnu.org; Sun, 05 Dec 2021 13:09:07 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#52309] [PATCH, core-updates-frozen] gnu: helm: Fix build with GCC 9 and later. Resent-From: Pierre Langlois Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 05 Dec 2021 18:09:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 52309 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 52309@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16387276921890 (code B ref -1); Sun, 05 Dec 2021 18:09:06 +0000 Received: (at submit) by debbugs.gnu.org; 5 Dec 2021 18:08:12 +0000 Received: from localhost ([127.0.0.1]:59276 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mtvvn-0000UI-Fy for submit@debbugs.gnu.org; Sun, 05 Dec 2021 13:08:12 -0500 Received: from lists.gnu.org ([209.51.188.17]:35036) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mtsem-0006Iq-Sf for submit@debbugs.gnu.org; Sun, 05 Dec 2021 09:38:25 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59904) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtsem-0001FS-Lk for guix-patches@gnu.org; Sun, 05 Dec 2021 09:38:24 -0500 Received: from mout.gmx.net ([212.227.17.21]:44821) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtsej-0002pG-W4 for guix-patches@gnu.org; Sun, 05 Dec 2021 09:38:24 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1638715098; bh=Sb+tHZw0LsuxgyiweB7pfFw/bzEOGJrsElN4uQoV5XE=; h=X-UI-Sender-Class:From:To:Subject:Date; b=KgxJFH+nTdGzk0bAoHsjsIC65x9kfy0C29LhEVdbATDO4Ca1eagfkLalW+mhOt7JB yp2C+Qpo9KIeHCASbplaR1S6Qmh2AWkNpMow7Bin920nSxfXnVaFXty6SMCZJcR+EW h3aIO7T0L9olZeyKESMQaXTgTiBjbVnyp5iE3Fa8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MvsEx-1mbnJ728Nb-00srP0 for ; Sun, 05 Dec 2021 15:38:18 +0100 User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois Date: Sun, 05 Dec 2021 14:35:12 +0000 Message-ID: <87zgpfce1y.fsf@gmx.com> MIME-Version: 1.0 X-Provags-ID: V03:K1:kASi7dPIhiGam+eyTJIiHJ5HxAhVDUUiTXH1XsxOWdAL6hXVOa/ H7iItMm2pNBnOTqzCdy0eD2hcx77FKzf71GCRt/lBbj+kYokMFx02igTgqugSaFoAz/Nv4G HsQ9qPou4lo2FedbnZoG/KXa6z7rdnAF0HFmKBJvYD2uMaADL+fiFRIZTnnKQugjhzRC13C Y4AMB+kUauEvuJTsnJhXA== X-UI-Out-Filterresults: notjunk:1;V03:K0:uXJ+YBl3xTU=:P29F7mmmIqNnoAWvWjCgwl xe1WHMPkon1rNo0sVpH10He6s7XsVFDqra3YTGBoJNQ/F4fGzwlF8dV5Wb3PPAHaHyj4idLr5 P5ylNTMaOKXf9oDl9yi8yl0rQ39XbjaklupPuE+6gFqBMxJpx/64Ubsqkr92CSz5YpoAQqhUC 3bXP+nKuBbHvljI+kuDGmMwPpMTQOELbLj4xiZqPn1aItKLMiKzML+if4ELFsZGdtxyWaz9LE kVDcRY+spIVlB6DaPzgZFniaY0ham53xPgFSibNvYy8XU3eHXf8PGLjohEH3SkKrdaeBVPDnM 23dzNP3r/vwtjuvs0SA7u+bnYPI40hikBNqdt018/KUSbOT0zh39RIJdsy25mIOnBDThR6evr x/tqDwUs+T3jdlOzchy2fdaaXyCe7ZzOqr28B7HF0vunJNPYZqzQ1dagSh4OLYgdQ/zDmH6hS JAi8/qICoAMH1sEeDLbvDUMMw8zn+XKa+IWmx4NwEygecGQReu3/eeZR6jE82s70glusPFH+x TXs+XZeIdyHYog/o4lZGqwgzkP0ui+dpWA0GOaipSX0RGs0Fa7ncS2NLZvnxUgTKz+uHtwlRY DpqGbkJySJmJlsjek6ba6jtrhas+sLHZbN/uSKM6ne91AtHHHsHhJHviDQzh754BofEAVfb4c JwdZ1S3p/6v3nnQ9PQ6dd8IaDhbkNDj+mhXyZMDvs1HkIuuKEPcvZEQ4tqBY8n36kr2SBv1In qwZklw52QXyJPy4jwFDQq/elhULoYunjS1LgAA12DRYUA0QKJ1Fv8rUEb+LKMdhqTa37jXMvy dAfGeTQzZ4auMaob643wQFuECILvrSrqLH9GGy8+ZhxhZObmax7kpBZAeAb20kEiKCcTngKyh h+terLI5WxB4xAtwSSvh7+P5G6LRD1v+hqzTFRnnqaqpN8xQs8bB5vMkazvcazKW5pdepVzZ0 HKpZ8wDhHgTm6AawDVe/WFa9t7MmsO9P29VAkbzNJSQl1hpfaXK/ygCRF211u6CaOmO5DkHMm 1qCuUPZwpSsY15KD+qsm0iff0J5qj1vrescLT4vL28FThnR1YqWIaLLg2zQjfsDTMiewki1Mh se19aOt+OkFhxU= Received-SPF: pass client-ip=212.227.17.21; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hi Guix! I see the helm synthesizer doesn't build on core-updates-frozen so here's a patch, taken from https://github.com/mtytel/helm/pull/233. Thanks, Pierre From cfbb5b926d0a5d6278554174aca3237d642bee97 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 20 Nov 2021 14:51:13 +0000 Subject: [PATCH] gnu: helm: Fix build with GCC 9 and later. * gnu/packages/music.scm (helm)[origin]: Add patch. * gnu/packages/patches/helm-fix-gcc-9-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/music.scm | 4 +- .../patches/helm-fix-gcc-9-build.patch | 140 ++++++++++++++++++ 3 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/helm-fix-gcc-9-build.patch diff --git a/gnu/local.mk b/gnu/local.mk index a2a8c4a9e5..21b8c70e4d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1243,6 +1243,7 @@ dist_patch_DATA = \ %D%/packages/patches/hdf-eos5-fix-szip.patch \ %D%/packages/patches/hdf-eos5-fortrantests.patch \ %D%/packages/patches/hedgewars-network-bsd.patch \ + %D%/packages/patches/helm-fix-gcc-9-build.patch \ %D%/packages/patches/http-parser-CVE-2020-8287.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-cross.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 28dbf1b624..6d04aae59c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -6396,7 +6396,9 @@ (define-public helm (file-name (git-file-name name version)) (sha256 (base32 - "17ys2vvhncx9i3ydg3xwgz1d3gqv4yr5mqi7vr0i0ca6nad6x3d4")))) + "17ys2vvhncx9i3ydg3xwgz1d3gqv4yr5mqi7vr0i0ca6nad6x3d4")) + ;; Apply GCC 9 fixes from https://github.com/mtytel/helm/pull/233 + (patches (search-patches "helm-fix-gcc-9-build.patch")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target diff --git a/gnu/packages/patches/helm-fix-gcc-9-build.patch b/gnu/packages/patches/helm-fix-gcc-9-build.patch new file mode 100644 index 0000000000..f623fef203 --- /dev/null +++ b/gnu/packages/patches/helm-fix-gcc-9-build.patch @@ -0,0 +1,140 @@ +From cb611a80bd5a36d31bfc31212ebbf79aa86c6f08 Mon Sep 17 00:00:00 2001 +From: jikstra +Date: Tue, 20 Aug 2019 03:00:51 +0200 +Subject: [PATCH] Backport + https://github.com/WeAreROLI/JUCE/commit/4e0adb2af8b424c43d22bd431011c9a6c57d36b6 + to the bundled JUCE framework to make helm compile on gcc 9.1 again + +--- + .../juce_graphics/colour/juce_PixelFormats.h | 25 +--------- + .../native/juce_RenderingHelpers.h | 48 +------------------ + 2 files changed, 4 insertions(+), 69 deletions(-) + +diff --git a/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h b/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h +index 9be9ba09c..3535eab80 100644 +--- a/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h ++++ b/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h +@@ -105,23 +105,9 @@ class JUCE_API PixelARGB + + //============================================================================== + forcedinline uint8 getAlpha() const noexcept { return components.a; } +- forcedinline uint8 getRed() const noexcept { return components.r; } ++ forcedinline uint8 getRed() const noexcept { return components.r; } + forcedinline uint8 getGreen() const noexcept { return components.g; } +- forcedinline uint8 getBlue() const noexcept { return components.b; } +- +- #if JUCE_GCC +- // NB these are here as a workaround because GCC refuses to bind to packed values. +- forcedinline uint8& getAlpha() noexcept { return comps [indexA]; } +- forcedinline uint8& getRed() noexcept { return comps [indexR]; } +- forcedinline uint8& getGreen() noexcept { return comps [indexG]; } +- forcedinline uint8& getBlue() noexcept { return comps [indexB]; } +- #else +- forcedinline uint8& getAlpha() noexcept { return components.a; } +- forcedinline uint8& getRed() noexcept { return components.r; } +- forcedinline uint8& getGreen() noexcept { return components.g; } +- forcedinline uint8& getBlue() noexcept { return components.b; } +- #endif +- ++ forcedinline uint8 getBlue() const noexcept { return components.b; } + //============================================================================== + /** Copies another pixel colour over this one. + +@@ -340,9 +326,6 @@ class JUCE_API PixelARGB + { + uint32 internal; + Components components; +- #if JUCE_GCC +- uint8 comps[4]; // helper struct needed because gcc does not allow references to packed union members +- #endif + }; + } + #ifndef DOXYGEN +@@ -429,10 +412,6 @@ class JUCE_API PixelRGB + forcedinline uint8 getGreen() const noexcept { return g; } + forcedinline uint8 getBlue() const noexcept { return b; } + +- forcedinline uint8& getRed() noexcept { return r; } +- forcedinline uint8& getGreen() noexcept { return g; } +- forcedinline uint8& getBlue() noexcept { return b; } +- + //============================================================================== + /** Copies another pixel colour over this one. + +diff --git a/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h b/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h +index 1c4cd31ef..29519cb5a 100644 +--- a/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h ++++ b/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h +@@ -581,18 +581,10 @@ namespace EdgeTableFillers + : destData (image), sourceColour (colour) + { + if (sizeof (PixelType) == 3 && destData.pixelStride == sizeof (PixelType)) +- { + areRGBComponentsEqual = sourceColour.getRed() == sourceColour.getGreen() + && sourceColour.getGreen() == sourceColour.getBlue(); +- filler[0].set (sourceColour); +- filler[1].set (sourceColour); +- filler[2].set (sourceColour); +- filler[3].set (sourceColour); +- } + else +- { + areRGBComponentsEqual = false; +- } + } + + forcedinline void setEdgeTableYPos (const int y) noexcept +@@ -643,7 +635,6 @@ namespace EdgeTableFillers + const Image::BitmapData& destData; + PixelType* linePixels; + PixelARGB sourceColour; +- PixelRGB filler [4]; + bool areRGBComponentsEqual; + + forcedinline PixelType* getPixel (const int x) const noexcept +@@ -658,43 +649,8 @@ namespace EdgeTableFillers + + forcedinline void replaceLine (PixelRGB* dest, const PixelARGB colour, int width) const noexcept + { +- if (destData.pixelStride == sizeof (*dest)) +- { +- if (areRGBComponentsEqual) // if all the component values are the same, we can cheat.. +- { +- memset (dest, colour.getRed(), (size_t) width * 3); +- } +- else +- { +- if (width >> 5) +- { +- const int* const intFiller = reinterpret_cast (filler); +- +- while (width > 8 && (((pointer_sized_int) dest) & 7) != 0) +- { +- dest->set (colour); +- ++dest; +- --width; +- } +- +- while (width > 4) +- { +- int* d = reinterpret_cast (dest); +- *d++ = intFiller[0]; +- *d++ = intFiller[1]; +- *d++ = intFiller[2]; +- dest = reinterpret_cast (d); +- width -= 4; +- } +- } +- +- while (--width >= 0) +- { +- dest->set (colour); +- ++dest; +- } +- } +- } ++ if ((size_t) destData.pixelStride == sizeof (*dest) && areRGBComponentsEqual) ++ memset ((void*) dest, colour.getRed(), (size_t) width * 3); // if all the component values are the same, we can cheat.. + else + { + JUCE_PERFORM_PIXEL_OP_LOOP (set (colour)) -- 2.34.0