From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id qOd4C4zgnWI8/QAAbAwnHQ (envelope-from ) for ; Mon, 06 Jun 2022 13:10:04 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id iGRsC4zgnWJtnAAAauVa8A (envelope-from ) for ; Mon, 06 Jun 2022 13:10:04 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id AFD2917D91 for ; Mon, 6 Jun 2022 13:10:03 +0200 (CEST) Received: from localhost ([::1]:51520 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nyAcU-0001IN-EU for larch@yhetil.org; Mon, 06 Jun 2022 07:10:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60896) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nyAUk-0003RI-QP for guix-patches@gnu.org; Mon, 06 Jun 2022 07:02:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:40600) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nyAUk-0003k2-HD for guix-patches@gnu.org; Mon, 06 Jun 2022 07:02:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nyAUk-0001Kd-EC for guix-patches@gnu.org; Mon, 06 Jun 2022 07:02:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55819] [PATCH 2/2] gnu: Add f3d. Resent-From: "Paul A. Patience" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 06 Jun 2022 11:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55819 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55819@debbugs.gnu.org Cc: "Paul A. Patience" Received: via spool by 55819-submit@debbugs.gnu.org id=B55819.16545133195098 (code B ref 55819); Mon, 06 Jun 2022 11:02:02 +0000 Received: (at 55819) by debbugs.gnu.org; 6 Jun 2022 11:01:59 +0000 Received: from localhost ([127.0.0.1]:34496 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nyAUc-0001K3-RP for submit@debbugs.gnu.org; Mon, 06 Jun 2022 07:01:59 -0400 Received: from mail-4323.proton.ch ([185.70.43.23]:43301) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nyAUY-0001JQ-Uh for 55819@debbugs.gnu.org; Mon, 06 Jun 2022 07:01:54 -0400 Date: Mon, 06 Jun 2022 11:01:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apatience.com; s=protonmail2; t=1654513304; x=1654772504; bh=fj1itBU5906VgMCUAzGchim4GX+/6GGUk7eYieVAVto=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:Feedback-ID:From:To:Cc:Date:Subject:Reply-To: Feedback-ID:Message-ID; b=LuGH2W1Kd5zJTPuNaW3rnzpko//8vexGvinq1HoFsh9/JuWJOX6BEset1q+8QD3jV /EtO094m/2ViMNlMUvfMeDyw2h+uZMyxUw/mq5XFxwag/wCO9xyRaMkV2tqrseJRTB GJ6jdgwPeP8kTuKngdTqmtfmkt/xBeFDbcYpFge4g5zoeKQJDYgu8GfI154FT8AqDL EGrVSMNMxIHUb1gZB5PkVP2ywaJIMOXaR0HTKgJtyRHG8TJG8B8i6mFvWI+SvfSXBn FlXIrfL6NniWgJ/oOZpNLH/h5auBW2utWNYdwwCx6DggeD5Ac3VxlVBf5gp8J9pLg5 wJgMdhJTJ6qHg== From: "Paul A. Patience" Message-ID: <20220606110125.902061-2-paul@apatience.com> In-Reply-To: <20220606110125.902061-1-paul@apatience.com> References: <20220606110125.902061-1-paul@apatience.com> Feedback-ID: 19227857:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: , Reply-To: "Paul A. Patience" Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1654513803; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=fj1itBU5906VgMCUAzGchim4GX+/6GGUk7eYieVAVto=; b=HKIcExcjjXcV9qIXxTQDnveorhfnoQcVBNYrFLK1khfv+KaQb7hnZRnt0XkdJtvlTh9nss G/TRR+1+TNndERWUtz3WSiHGjP9RL2R/4x8xYRKvfE5ITjGFYFqrAdLaiDAzjHgqSktRaZ yo2k4fxMd+X6KMqJO4WdfJShT0V0PwCEWuJlcmUiEf1pddZFpaiVO6VW1gJN08Qn/X8Zaw Wkd7mSJCZE7QT3tTW2Sz7LyOjOqQOOV3o6ML150Aj52dsocYGCcCtoT5dSfjXJ+blXxCot orEN0fIbVWlkgJghBPOthbxSJooLNA6Gnm0eqLwEqpqKpLb3zxvXIqBXZ/JnUQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1654513803; a=rsa-sha256; cv=none; b=Ji35eIGgDJQRaTGVStFpvRitMtO1Hr1RNYgYCGeqMYzexY4PN3Jdc+D5ygnD7BZIJHTbrM 0CFX7zisiKXkdBHe6wsjwT+SqhuikpIwiFPESWjT6M/2O0eDDVvFKvFcXxXyBYOb7gwUab hh29yAeLIHkd20sMf2c5c4c7EeAg+y3ctA68MY6TX8LLk4SuJjqBkL9CgQLhm2CxNLZ2q4 mizZ4ffhWOEBpDkVqR0anrdbf8KdVf1JbD5vf6ljSWqd/ntK/qUqQ/IQmSoXn6ORX2M8Fp 6gokHlLmY9y47u5K3hnq7Fwphy7f4OBSQwdIuFCSJ6SasFeML8ows6BT7TaU/w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=apatience.com header.s=protonmail2 header.b=LuGH2W1K; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 1.39 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=apatience.com header.s=protonmail2 header.b=LuGH2W1K; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: AFD2917D91 X-Spam-Score: 1.39 X-Migadu-Scanner: scn0.migadu.com X-TUID: Zk/Y8UkaigSu * gnu/packages/graphics.scm (f3d): New variable. --- gnu/packages/graphics.scm | 111 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 64286bf68d..d850a9cf06 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -30,6 +30,7 @@ ;;; Copyright =C2=A9 2022 Michael Rohleder ;;; Copyright =C2=A9 2022 John Kehayias ;;; Copyright =C2=A9 2022 Zheng Junjie <873216071@qq.com> +;;; Copyright =C2=A9 2022 Paul A. Patience ;;; ;;; This file is part of GNU Guix. ;;; @@ -2054,3 +2055,113 @@ (define-public monado such as VR and AR on mobile, PC/desktop, and any other device. Monado aim= s to be a complete and conforming implementation of the OpenXR API made by Khronos= .") (license license:boost1.0))) + +(define-public f3d + ;; There have been many improvements since the last tagged version (1.2.= 1, + ;; released in December 2021), including support for the Alembic file + ;; format. + (let ((commit "d80fd4558f1851a31d13dfbb62d7648b7b2d36f8") + (revision "0")) + (package + (name "f3d") + (version (git-version "1.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/f3d-app/f3d") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11lj63rfhqp0zwifl2d3rlp7cfbxgr2jb3j7pqh8lhsr2pa94f6s"))= )) + (build-system cmake-build-system) + (arguments + (list + ;; Many tests require files supplied by git-lfs. + ;; Also, some tests segfault (after an exception?) but the tested + ;; behavior, i.e., when the program is run manually, does not (for + ;; example, TestNonExistentConfigFile and TestInvalidConfigFile). + ;; Upstream is aware of occasionally flaky tests (see + ;; https://github.com/f3d-app/f3d/issues/92) but the tests run in = CI + ;; seem to be passing. + ;; Anyway, the program runs and is able to open at least STL files + ;; without issue. + #:tests? #f + #:configure-flags + #~(list (string-append "-DVTK_DIR=3D" #$output "/lib") + "-DBUILD_TESTING=3DOFF" + "-DF3D_MODULE_ALEMBIC=3DON" + "-DF3D_MODULE_ASSIMP=3DON" + "-DF3D_MODULE_OCCT=3DON" + ;; Prefer Guix's versioned documentation directory to F3D'= s + ;; unversioned one. + (string-append "-DCMAKE_INSTALL_DOCDIR=3D" #$output + "/share/doc/" #$name "-" #$version)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'adjust-titles-and-descriptions + (lambda _ + (substitute* '("CMakeLists.txt" + "resources/f3d.desktop.in" + "resources/io.github.f3d_app.f3d.metainfo.x= ml") + (("A fast and minimalist 3D viewer") + "Fast and minimalistic 3D viewer")) + (substitute* "resources/io.github.f3d_app.f3d.metainfo.xml= " + (("it is minimalist,") + "it is minimalistic,") + (("arguments in the command line\\.") + "arguments on the command line.")) + ;; Keep the title bar short. + (substitute* "application/F3DConfig.h.in" + (("AppTitle =3D \"@PROJECT_DESCRIPTION@\";") + "AppTitle =3D \"F3D\";")))) + (add-after 'unpack 'fix-typos + (lambda _ + (substitute* '("application/F3DOptionsParser.cxx" + "application/F3DStarter.cxx" + "cmake/testing.cmake" + "library/testing/TestSDKHelpers.h") + (("does not exists") + "does not exist")))) + ;; Skip checking for the relative-to-executable configuration = file + ;; (located in ../../argv[0]) when the user configuration file + ;; doesn't exist, because the check fails and prints a warning + ;; message upon each invocation of the program. + ;; Besides, the usefulness of this configuration file is uncle= ar, + ;; because F3D reads /etc/f3d/config.json as a fallback system + ;; configuration file. + (add-after 'unpack 'ignore-binary-config-file-dir + (lambda _ + (substitute* "application/F3DOptionsParser.cxx" + (("^ +filePath =3D .*->GetBinaryConfigFileDirectory\\(\\= ) .*") + ""))))))) + (inputs + (list alembic + assimp + double-conversion + eigen + expat + fontconfig + freetype + glew + hdf5 + imath + jsoncpp + libjpeg-turbo + libpng + libtiff + libx11 + lz4 + netcdf + opencascade-occt + vtk + zlib)) + (home-page "https://f3d-app.github.io/f3d/") + (synopsis "Fast and minimalistic 3D viewer") + (description "F3D (pronounced @samp{/f=C9=9Bd/}) is a VTK-based 3D v= iewer +following the KISS principle, so it is minimalistic, efficient, has no GUI= , +has simple interaction mechanisms and is fully controllable using argument= s on +the command line. It supports a range of file formats (including animated +glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and textu= ring +options.") + (license license:bsd-3)))) -- 2.36.0