From patchwork Wed May 10 17:46:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Morgan Smith X-Patchwork-Id: 49918 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 5601C27BBEE; Wed, 10 May 2023 18:48:23 +0100 (BST) 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=ham 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 142D927BBEC for ; Wed, 10 May 2023 18:48:22 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pwnv3-0004wO-Dc; Wed, 10 May 2023 13:48:05 -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 ) id 1pwnv1-0004vw-4v for guix-patches@gnu.org; Wed, 10 May 2023 13:48:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pwnv0-0004Ee-Sl for guix-patches@gnu.org; Wed, 10 May 2023 13:48:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pwnv0-0005Qa-Al for guix-patches@gnu.org; Wed, 10 May 2023 13:48:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63422] [PATCH 1/3] gnu: libfive: Fix install and wrap Studio. References: In-Reply-To: Resent-From: Morgan Smith Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 10 May 2023 17:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63422 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63422@debbugs.gnu.org Received: via spool by 63422-submit@debbugs.gnu.org id=B63422.168374085320677 (code B ref 63422); Wed, 10 May 2023 17:48:02 +0000 Received: (at 63422) by debbugs.gnu.org; 10 May 2023 17:47:33 +0000 Received: from localhost ([127.0.0.1]:48972 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwnuW-0005NR-LT for submit@debbugs.gnu.org; Wed, 10 May 2023 13:47:33 -0400 Received: from mail-bn1nam02olkn2073.outbound.protection.outlook.com ([40.92.15.73]:48662 helo=NAM02-BN1-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwnuU-0005NA-Oq for 63422@debbugs.gnu.org; Wed, 10 May 2023 13:47:32 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aW4la5p2FJK25UjJd+NfI1nMmeI+0zmIh1vgOavT2Ypwv1CboIxVjxroJeF+NiurriXTsqBMT4NLbslr5VpSSEW53Tf+EMzxGjKec9CPAj4rIaZ+xUDCiXewClQrE4qMOTfKAz8mHECWG+vGf6LrXLzgzYIXivH8J7Z6JJsHN6Lw+xoFLYN51mb71VuOuy5EGAttwQjSwyQkYV1sEZQJsBaIIDEOodbvpAqJFXWzqKUs1PvKtx9dTJaP90NH6qNvQLLhNZ6z4SThyMOWXHBR33C+wUq87aa3FP4N885TFhCJtnw8zPyJsXyAo5MTNoQZSHIihfxXYhZ3JZ5w1bPZcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xe5cfG/XZdHZWtOTfb4UQBBDRrsPjVrRn3RCqskDoOA=; b=bchzufm6JPVPEZSaBkeG9bB9nSgSbgQ1KWDmyt7fRgST0i10BVvlpQobOjpPCNbbK2jyfDaCMfDImnWBYSkQW53Z+gW+Olq5InF2/R8ObxWqKacqFPoKRScNjjWwc6qvE2+IZ5LYyKE28G/nZo6y12kEO7/ig5s+4/31PS9zDX8SR3MnL3JFWbEnCLfavxnSb0bajcR25mXP8MP0MCQosblnViQ3FTaUsI9oPihldCn31wBKSmOrS3gf0lwjuI/oacXoVeZG4RhqAXMxD+NOBTP8oDjDWRqbDZVA9AJ4S4ER20HHpVv5NqQOUc+NSAQkLf9WtbkbJHhvVZ9T2aZTRg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xe5cfG/XZdHZWtOTfb4UQBBDRrsPjVrRn3RCqskDoOA=; b=nAwEPOu4BFvtSry69YHyodPEPSFE9XVPJlEH92oyS1nJikEYPP6/wRCkPO6EptjzHh4Gz29szrvY+fR7d2uc3ThCuV17Y+nTm0Z+o05fybvK+59JYTs6jhq3LgE6F3QIbYKMEiThGEzZDI7nODwVaM79Wi1/2J6UzaX4hc3D+r8KJdR3mavWj1THBHLbwIwkcB+eG3264SnI5Owrb2qsm5OZQBjZ0Um07HoTQP8MUsjsPollSkuWNC984wnGhd2T6RPInvrwm6Z3aZ2r5F8I8Hq8NNfJpQKI33MIkwiTjDvghoBMYGO8E2i0bxYMzIIfJlidVNo0m4j7sP7pYt73Qg== Received: from DM5PR03MB3163.namprd03.prod.outlook.com (2603:10b6:4:40::24) by PH7PR03MB7439.namprd03.prod.outlook.com (2603:10b6:510:2e7::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.19; Wed, 10 May 2023 17:47:24 +0000 Received: from DM5PR03MB3163.namprd03.prod.outlook.com ([fe80::9a6e:a037:320a:19c6]) by DM5PR03MB3163.namprd03.prod.outlook.com ([fe80::9a6e:a037:320a:19c6%7]) with mapi id 15.20.6340.030; Wed, 10 May 2023 17:47:23 +0000 From: Morgan Smith Date: Wed, 10 May 2023 13:46:16 -0400 Message-ID: X-Mailer: git-send-email 2.39.2 X-TMN: [iefNkgb2k/odGNxh9oVbV8znX8zz0XZg] X-ClientProxiedBy: YQBPR0101CA0341.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:6b::7) To DM5PR03MB3163.namprd03.prod.outlook.com (2603:10b6:4:40::24) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR03MB3163:EE_|PH7PR03MB7439:EE_ X-MS-Office365-Filtering-Correlation-Id: d117b7fa-4ab0-48c2-812a-08db517e9c1d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VRQ7YcdLqSsr62w27Dy3F15P4xTlXHr+fqJnH37x1LEhH2ICW2lhhtKd3wOkVPQrxoCj1pyMKpjECLj7pCs48jKzkWymN7mSRkZcZeHdKREnlYSBHhLjEIDjs/xt9L6146n8IEaPe9RDhrOx0M9tF7P2iZv2TDi+X43P8umiC2JBCi/py1KoDFEXr+C4cFd6GNauDqQaYsEGFxp6Rzq89W70U5LNBQmCcQgimfzVKU5vNK8cthU3NxWgeRU9pJc/EksRK26HODfr6mKRqbZh4tIl/fyldvGUfcrW3iq/GQBrkfbMDz7eGw8bGmMY4FgxiAfV4voPPhEsOvL4XM49R1HG7qh8tyTIEOlXxeKjjYw15/arz3GieaOQI7a30M6AH8PCHm9QEbcOAG4k+/gr1smpGG97N3cOXml7wFDqrBPpM+CfXW6n3lyQbfA0owp2hz8s8J7uGe8WKT8CWktyuwivdO6V91RGdQwF21KZvtG+Xf1vUjWICp14cGx1WKL0uC8EUCtPe7nglydTAx/ChQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: f+DS7ipgPYLw1J2UAeKsfJ5tqjyVM6m6QXbOT9SD1uC30liN9hEEb7p3cOc631cWSjDglJCS0zvR/XesWKMttdwUvK9jUzwz34J5XxFnnLMyLDrqzLx+VF2HJhS6PLZNMm8SSWfBSDXSiQrKEWoeNpCKVH0BW1V/dhTM85v32spD/E0dwW0UbO9wJVWQV+cdlpjkTvRKD2cPmIVUqwPtLKedyi1IkjLQZOvXWqNULyCGy7e8VqgfOXHIOebgx6TDj9U3D6y8BS0PlJLl7O2Q6AAIQhVyZHHVtncD+4I1wvGKXi2LwytBmn1HHjsstGZOThH5+9I/G7n+In5UtIx0bGyJuVY4rgtxPt7bq+s79MnxWZ04TDb8+6qM/iVe24++G2XIHY2he7aqTYlbe9DkVObvVTO5CRLqrjZD0wZorgZ70NSDmh/H7WFC4XOHeiNMxcnkYmsN6AEC8XgqZ6yj/EDwVXsqoS5zmhx7mhHhIEbTS+ta56PGko4WMG6K2weLA9m5KjpoCPEz+NqGKBTktLcXR2NmxXVybfsQtGRyZynWXVpJHJVIlBWAm/vHS+nCYUblwq1hfSjdIFe1E6MqeHiCiZ0yPqJ7x5997jimetIM7u8TICaYIXv3ckSgYhSbQo8oQ/U+HtV6z7YZk4skPFu7TV70vWDw3WLisqHhNNKG5CSxLa1IfoNU5RrFws3R4GNjaWC8vFPaVi/9hXXy5Bu+JrAtikdIlnxUa3gvB1tVm62lmqs4zG/6Z2EjQxtU6sAR1F28BGcetk43hiljV9uIoA0QTFE7k/1o0XKMYTRxg/TAdi2wVW5Y+3jhY3wxW9VdHt7hJV6mmZjaomvCXiqFOh+KeSaSmo6lt2ipFWz74gkUFkneQkIuWiVrM539OU9Q5U1qx01XapZjhk4XJYPbVNs+tNWhskVajvA/djFedYixwOdxEouQjFVNGkFl8yGUkVYjG3x6rgtv7mLNvOViw+wPnlQynXAkaizFMHKwJ34I10XYaWIz4/35Q3r+2n2vuVGNJn2mOTpIk1yPx/RMikFRFG4mLm9ziHGVV25QEDgV+cTHCRpbXHTlDznJVOjCPIF+gyAKKXNJUYudwgTYByKIL0In8sqBbFXiWSRsnxHAI/Vi8HBkHcLxIZzJbcjftBb88fetPpezKPjWJgyyDYYsF2dUSYwFzZZ8bqvV6uEBH0ICXhxjtwIU0QHe+egRNFKoqdxLRIBC0I8hVxgP+fmQNgnLqZir/ODsHpA= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d117b7fa-4ab0-48c2-812a-08db517e9c1d X-MS-Exchange-CrossTenant-AuthSource: DM5PR03MB3163.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2023 17:47:23.3619 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7439 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-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches The old install phase didn't handle nested directories (which there are) and the cmake files didn't seem to install the go files in a way that guile would use so I just used the guile build system instead. Also Studio works much better when it know where the libraries are. * gnu/packages/engineering.scm (libfive) [imported-modules]: Add (guix build guile-build-system). [modules]: Add (guix build guile-build-system). [configure-flags]: Remove. [phases]: Remove phases 'fix-autocompilation and 'install-scm-files. Add phase 'do-not-build-guile-bindings and add phase 'guile-build which uses the guile build system. Add wrap-studio phase. [inputs]: Add bash-minimal for the wrapper. Use qtbase instead of qtbase-5 --- gnu/packages/engineering.scm | 47 ++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 15 deletions(-) base-commit: e0c35d1578c10a8fe27c8372f3a8bb5dd88b01b8 diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index a8261dfbc1..1f7fdf942f 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -20,7 +20,7 @@ ;;; Copyright © 2020, 2021 Ekaitz Zarraga ;;; Copyright © 2020 B. Wilson ;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego -;;; Copyright © 2020, 2021 Morgan Smith +;;; Copyright © 2020, 2021, 2023 Morgan Smith ;;; Copyright © 2021 qblade ;;; Copyright © 2021 Gerd Heber ;;; Copyright © 2021, 2022 Guillaume Le Vaillant @@ -908,17 +908,21 @@ (define-public libfive (build-system cmake-build-system) (arguments (list + #:imported-modules `((guix build guile-build-system) + ,@%cmake-build-system-modules) + #:modules '((guix build cmake-build-system) + ((guix build guile-build-system) #:prefix guile:) + (guix build utils)) #:test-target "libfive-test" - #:configure-flags - #~(list (string-append "-DGUILE_CCACHE_DIR=" - #$output "/lib/guile/3.0/site-ccache")) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'fix-autocompilation - (lambda _ (setenv "HOME" "/tmp"))) (add-after 'unpack 'remove-native-compilation (lambda _ (substitute* "CMakeLists.txt" (("-march=native") "")))) + (add-after 'unpack 'remove-environment-variable-override + (lambda _ + (substitute* "studio/src/guile/interpreter.cpp" + (("qputenv\\(\"GUILE_LOAD_COMPILED_PATH\".*") "")))) (add-after 'unpack 'fix-library-location (lambda _ (substitute* "libfive/bind/guile/libfive/lib.scm" @@ -926,19 +930,32 @@ (define-public libfive (string-append m "\n\"" #$output "/lib/\"")) (("\\(get-environment-variable \"LIBFIVE_STDLIB_DIR\"\\)" m) (string-append m "\n\"" #$output "/lib/\""))))) - (add-after 'install 'install-scm-files + (add-after 'unpack 'do-not-build-guile-bindings + (lambda _ + (delete-file "libfive/bind/guile/CMakeLists.txt") + (call-with-output-file + "libfive/bind/guile/CMakeLists.txt" + (lambda (port) + (display "add_custom_target(libfive-guile)\n" port))))) + (add-after 'build 'guile-build + (lambda args + (apply (assoc-ref guile:%standard-phases 'build) + #:source-directory "../source/libfive/bind/guile" + args))) + (add-after 'install 'wrap-studio (lambda _ - (for-each - (lambda (file) - (install-file file - (string-append #$output - "/share/guile/site/3.0/libfive"))) - (find-files "../source/libfive/bind/guile/libfive" - "\\.scm$"))))))) + (let* ((effective-version (guile:target-guile-effective-version)) + (scm (string-append #$output "/share/guile/site/" + effective-version)) + (go (string-append #$output "/lib/guile/" + effective-version "/site-ccache"))) + (wrap-program (string-append #$output "/bin/Studio") + `("GUILE_LOAD_PATH" ":" prefix (,scm)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go))))))))) (native-inputs (list pkg-config)) (inputs - (list boost libpng qtbase-5 eigen guile-3.0)) + (list boost libpng qtbase eigen guile-3.0 bash-minimal)) (home-page "https://libfive.com") (synopsis "Tool for programmatic computer-aided design") (description