From patchwork Tue Apr 29 15:31:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 42148 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 2CA8327BC4B; Tue, 29 Apr 2025 16:35:13 +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=-6.4 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,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 7C08127BC49 for ; Tue, 29 Apr 2025 16:35:12 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u9mzC-0002vU-AO; Tue, 29 Apr 2025 11:35:06 -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 1u9mz9-0002ue-QW for guix-patches@gnu.org; Tue, 29 Apr 2025 11:35:03 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u9mz9-0006lL-G0 for guix-patches@gnu.org; Tue, 29 Apr 2025 11:35:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=9suYX6bQhGhvMf2qaST/+nFqSz11aJEYPv2RWrL2JiA=; b=ZM32pN/Kq9rK71EbOVKRJx5o1LMOrGRyukZB4l7OUpbOpXmfLFAOtZ3EBTquBD16ZANr1g3v/IavSKmO+0iqGigfahoyVP/xVofFxBLbFmRE+nZMku7OotuuJ1JAZG6eEqsX1y1qiMQG27KzJdjPZFr5Ev7iiej+Ak8mLqrjD7IapN7Udt71vbySuFvre9CFvXBea9DfPc41wpMjVI+nuvGaFg55ANSHsP6DCnOsWlrElec7ml7ssYJA+47RdVJEq76NHalSBlQD+uQhIAFxfy4IAh/IPdPIz3lub80EaWv17eiMa/y/uE4/aXuxcK3YetPw/tisY2UZdM6JlxfdJA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1u9mz9-0006c2-AK; Tue, 29 Apr 2025 11:35:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#78102] [PATCH v2 3/3] gnu: Add redumper. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: maxim.cournoyer@gmail.com, gabriel@erlikon.ch, guix-patches@gnu.org Resent-Date: Tue, 29 Apr 2025 15:35:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78102 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 78102@debbugs.gnu.org Cc: Maxim Cournoyer , Maxim Cournoyer , Gabriel Wicki X-Debbugs-Original-Xcc: Maxim Cournoyer , Gabriel Wicki Received: via spool by 78102-submit@debbugs.gnu.org id=B78102.174594087925216 (code B ref 78102); Tue, 29 Apr 2025 15:35:03 +0000 Received: (at 78102) by debbugs.gnu.org; 29 Apr 2025 15:34:39 +0000 Received: from localhost ([127.0.0.1]:58186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9myk-0006Ya-Cy for submit@debbugs.gnu.org; Tue, 29 Apr 2025 11:34:39 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]:57451) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u9myh-0006Y8-Ck for 78102@debbugs.gnu.org; Tue, 29 Apr 2025 11:34:36 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-736c1cf75e4so5269513b3a.2 for <78102@debbugs.gnu.org>; Tue, 29 Apr 2025 08:34:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745940868; x=1746545668; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9suYX6bQhGhvMf2qaST/+nFqSz11aJEYPv2RWrL2JiA=; b=YYubBISMOwdRbsLMOYYtxW7ZDsgPxuoACqBwa+pA2tkpkw7eVfsL1cuBHjiQAx24Sh KQLQwzOnWZMLWTqNMXAAmXUyUzxvQuVuQvVMio2dffsj8gWHZj6wzSeZQ1GBjFKklsYG QMKSOcEmHy9R0rt6xUCyApgzOgnXKBeL76FBckKpVRv0QHcKEOJZPjqmLW8m+q2Fa/+y 7QNdSHquOuorbTKzx+z/nl9yjohFev0tjoT5IbMEl/G8btYDUwzB9x5BK+/Dlt4yak3f +5N290CMpDZBfyMmuo9ES298DcVGtmOssJos6/Ey1sqYJJBnrLADyqH4HieLF0UJuuqz 2NMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745940868; x=1746545668; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9suYX6bQhGhvMf2qaST/+nFqSz11aJEYPv2RWrL2JiA=; b=b+f7BIxJ2SfR9GFJkCm5ojVL7beh1pfIIjf5dP/ijd6IbfzV6OheoP47NbqG3wjlAe /XrM0UEzCpuBk/nnCARbnMDywbpChZ39B7PhuHylBbVr89xFTa6G0O8M1zz0iGgfhPef vy55GGOOMesVCBRqOIYN5II3tioYDY8m1rBggG3/Uf3JpCLxvDkeuxMW1cp7uZOd9FjP PZ6pAT3q2NIO+DTi+g2ODA5g9rLz7Lkcm3UDuI3ADWP7S9zmsCLT9T4RCJuhUpH+SoB+ TS5nX0/NO5GGe8BKkhffghbctbKlC86qlwvRim+Yg0B1sREWeYP+5cgFyBLsbTKS+Top /yaw== X-Gm-Message-State: AOJu0YyY/Y01Cv2lLlLM+PWlmNN+MRi0FAfUWPXPYYg5cV+3ciCzTURs MMg39mLUtBkKYVn1ANXKFdsXCexACJjBIlH/CLWtoSKz1O9sPRuu6doJfQ== X-Gm-Gg: ASbGncuj/xwRwWn6J+bqqYFE2Nh9UXa5HHiHWNpZA4ase8j8TAg2OKz/VB+Hsbjf/fa 1u+szGnTUnzVYHNQtubxL9mKt3pRXjDp5yUKiZ8io6yAThR0iIk/Tw9PYZwykUDMYVf8Inba9cg BgZV1cB469KL7i/AfrJCSym5+GUSX/sa+X40/WxaWum0ZGBttwLfMcr7whC8dQSiVYezqV2IEuM h2lTxPMob01JnLKyoDg6mWHgJCNKBhOfxUc8o+0lup31MvYj+FQm5oR2m7szEqVo8YYs0kMyUG4 3xECV1y3h60Oj9Q9dv/5cPW5if52jJQ/6nbNjK8zu3bqUJpnMB3PouCS1/aMPRj8nKxXy94= X-Google-Smtp-Source: AGHT+IGh24J4f0SfRtppVbvFJeBVZOa8Ywl3xYXHzsex6CC/J36f7WWeB89S20S0xf/has3Y0v0I+g== X-Received: by 2002:a05:6a00:4f85:b0:736:32d2:aa82 with SMTP id d2e1a72fcca58-740272324femr5422751b3a.23.1745940868396; Tue, 29 Apr 2025 08:34:28 -0700 (PDT) Received: from localhost.localdomain ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-73e25a6a420sm10303533b3a.107.2025.04.29.08.34.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 08:34:26 -0700 (PDT) From: Maxim Cournoyer Date: Wed, 30 Apr 2025 00:31:40 +0900 Message-ID: <7fc835e9456493c2d85fca94bfde7a87e25cbd29.1745940699.git.maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <7e9be31603f35d063e9568fe7650be901e671951.1745940699.git.maxim.cournoyer@gmail.com> References: <7e9be31603f35d063e9568fe7650be901e671951.1745940699.git.maxim.cournoyer@gmail.com> MIME-Version: 1.0 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 * gnu/packages/audio.scm (redumper): New variable. Change-Id: I3740c6941d1ab11ac38993775a8004618636513c --- I was not able to fix cross-compilation when using clang, as it fails to detect the glibc library objects needed. Here's an attempt: ;; The build system uses CMake modules features that are only available ;; when using Ninja. - #:configure-flags #~(list "-GNinja" - "-DREDUMPER_CLANG_USE_LIBCPP=ON" - (string-append "-DREDUMPER_VERSION_BUILD=" - #$version) - "-DCMAKE_BUILD_TYPE=Release") + #:configure-flags + #~(list "-GNinja" + "-DCMAKE_CXX_COMPILER=clang++" + #$@(if (%current-target-system) + (list (string-append "-DCMAKE_CXX_COMPILER_TARGET=" + (%current-target-system))) + '()) + "-DREDUMPER_CLANG_USE_LIBCPP=ON" + (string-append "-DREDUMPER_VERSION_BUILD=" + #$version) + "-DCMAKE_BUILD_TYPE=Release") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-build-system Which errors like: Run Build Command(s): /gnu/store/w02489mcgfg5mj9z4c6nmnh3185v5xlv-ninja-1.11.1/bin/ninja -v cmTC_aa843 [1/2] /gnu/store/dfi5zbk288grsj5xnxpcihyy235sb2zv-clang-toolchain-19.1.7/bin/clang++ --target=i686-linux-gnu -MD -MT CMakeFiles/cmTC_aa843.dir/testCXXCompiler.cxx.o -MF CMakeFiles/cmTC_aa843.dir/testCXXCompiler.cxx.o.d -o CMakeFiles/cmTC_aa843.dir/testCXXCompiler.cxx.o -c /tmp/guix-build-redumper-561.drv-0/build/CMakeFiles/CMakeScratch/TryCompile-he4ad3/testCXXCompiler.cxx [2/2] : && /gnu/store/dfi5zbk288grsj5xnxpcihyy235sb2zv-clang-toolchain-19.1.7/bin/clang++ --target=i686-linux-gnu CMakeFiles/cmTC_aa843.dir/testCXXCompiler.cxx.o -o cmTC_aa843 && : FAILED: cmTC_aa843 : && /gnu/store/dfi5zbk288grsj5xnxpcihyy235sb2zv-clang-toolchain-19.1.7/bin/clang++ --target=i686-linux-gnu CMakeFiles/cmTC_aa843.dir/testCXXCompiler.cxx.o -o cmTC_aa843 && : /gnu/store/m8nars4f5d5x0sfhdlz69nc5blfyym1q-binutils-cross-i686-linux-gnu-2.41/bin/i686-linux-gnu-ld: cannot find crtbeginS.o: No such file or directory /gnu/store/m8nars4f5d5x0sfhdlz69nc5blfyym1q-binutils-cross-i686-linux-gnu-2.41/bin/i686-linux-gnu-ld: cannot find -lstdc++: No such file or directory gnu/packages/audio.scm | 76 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 03867b2da36..3850b916ca5 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -126,6 +126,7 @@ (define-module (gnu packages audio) #:use-module (gnu packages music) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages ninja) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -4082,6 +4083,81 @@ (define-public libshout-idjc ;; GNU Library (not Lesser) General Public License. (license license:lgpl2.0+))) +(define-public redumper + (package + (name "redumper") + (version "561") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/superg/redumper") + (commit (string-append "build_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1r0wfi0fn3rq7s28p89rkgpgf567akd8z25l8r9sj7p4p3xp9m91")))) + (build-system cmake-build-system) + (arguments + (list + #:cmake cmake-next + #:build-type "Release" + ;; The build system uses CMake modules features that are only available + ;; when using Ninja. + #:configure-flags #~(list "-GNinja" + "-DREDUMPER_CLANG_USE_LIBCPP=ON" + (string-append "-DREDUMPER_VERSION_BUILD=" + #$version) + "-DCMAKE_BUILD_TYPE=Release") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-build-system + (lambda _ + ;; The CMAKE_SYSTEM_VERSION is undefined when cross-compiling. + (substitute* "CMakeLists.txt" + (("\\$\\{CMAKE_SYSTEM_VERSION}") + "\"${CMAKE_SYSTEM_VERSION}\"")))) + (add-after 'unpack 'adjust-CPLUS_INCLUDE_PATH + ;; The libcxx include/c++/v1 directory is not exposed via + ;; CPLUS_INCLUDE_PATH by default, causing errors like + ;; "fatal error: 'format' file not found". + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (setenv "CPLUS_INCLUDE_PATH" + (string-append + (search-input-directory inputs + "/include/c++/v1") + ":" (getenv "CPLUS_INCLUDE_PATH"))))) + (replace 'build + (lambda* (#:key parallel-build? #:allow-other-keys) + (invoke "cmake" "--build" "." + "-j" (number->string + (if parallel-build? + (parallel-job-count) + 1))))) + (replace 'check + (lambda* (#:key build-type parallel-tests? tests? + #:allow-other-keys) + (when tests? + (invoke "ctest" "-C" build-type + "-j" (number->string + (if parallel-tests? + (parallel-job-count) + 1)))))) + (replace 'install + (lambda _ + ;; There is no CMake install target; manually install the + ;; binary. + (install-file "redumper" + (string-append #$output "/bin"))))))) + (native-inputs (list ninja clang-toolchain-19)) + (inputs (list libcxx)) + (home-page "https://github.com/superg/redumper") + (synopsis "Low-level CD/DVD dumper") + (description "@command{redumper} is a low-level byte perfect CD disc +dumper. It supports incremental dumps, advanced SCSI/C2 repair, intelligent +audio CD offset detection, among other features. @command{redumper} is also a +general purpose DVD/HD-DVD/Blu-ray disc dumper.") + (license license:gpl3+))) + (define-public resample (package (name "resample")