Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions pkgs/by-name/lt/ltfs/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchFromGitHub,
autoconf,
automake,
autoreconfHook,
fuse,
icu78,
net-snmp,
libuuid,
libtool,
libxml2,
pkg-config,
}:

stdenv.mkDerivation (finalAttrs: {
version = "2.4.8.4-10522";
pname = "ltfs";
Comment on lines +18 to +19

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
version = "2.4.8.4-10522";
pname = "ltfs";
pname = "ltfs";
version = "2.4.8.4-10522";

strictDeps = true;
__structuredAttrs = true;

src = fetchFromGitHub {
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
owner = "LinearTapeFileSystem";
repo = "ltfs";
hash = "sha256-E3qMdZL7UF/phUjayxLGBLpDG9rDXzG5cFECY+tlNlM=";
Comment on lines +24 to +28

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
owner = "LinearTapeFileSystem";
repo = "ltfs";
hash = "sha256-E3qMdZL7UF/phUjayxLGBLpDG9rDXzG5cFECY+tlNlM=";
owner = "LinearTapeFileSystem";
repo = "ltfs";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-E3qMdZL7UF/phUjayxLGBLpDG9rDXzG5cFECY+tlNlM=";

};

nativeBuildInputs = [
autoconf
automake
Comment on lines +32 to +33

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
autoconf
automake

autoreconfHook
icu78
libtool

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
libtool

Those things are already in autoreconfHook

net-snmp
pkg-config
];

buildInputs = [
fuse

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is currently an ongoing effort to deprecate and remove all use of fuse 2: #526161

There is an upstream PR that adds fuse3 support, maybe you could use it as a patch?

icu78
libuuid
libxml2
];

configureFlags = [
"CFLAGS=-Wno-declaration-after-statement"
"--enable-fast"
];

meta = {
description = "Reference implementation of the open-source tape filesystem standard ltfs";
homepage = "https://github.com/LinearTapeFileSystem/ltfs";
license = lib.licenses.bsd3;
platforms = with lib.platforms; linux ++ darwin ++ freebsd ++ netbsd;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
platforms = with lib.platforms; linux ++ darwin ++ freebsd ++ netbsd;
platforms = lib.platforms.unix;

Seems like you have all the major players anyway (not a blocking change, but one you should consider).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lib.platforms is and has for a long time been in a weird state where catchalls like unix and all include all sorts of platforms you would not expect. lib.platforms.unix implies that you expect the package to work on operating systems like redox where fuse just isn't available. I tend to ignore it when the original PR contains this (fixing the problem would need some sort of giant treewide and herculean effort anyway), but I don't think we should encourage being less precise.

broken = stdenv.hostPlatform.isDarwin;
maintainers = with lib.maintainers; [ implr ];
};
})
Loading