nixpkgs/pkgs/by-name/pa/parted/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

72 lines
1.9 KiB
Nix

{ lib, stdenv
, fetchurl
, lvm2
, libuuid
, gettext
, readline
, dosfstools
, e2fsprogs
, perl
, python3
, util-linux
, check
, enableStatic ? stdenv.hostPlatform.isStatic
}:
stdenv.mkDerivation rec {
pname = "parted";
version = "3.6";
src = fetchurl {
url = "mirror://gnu/parted/parted-${version}.tar.xz";
sha256 = "sha256-O0Pb4zzKD5oYYB66tWt4UrEo7Bo986mzDM3l5zNZ5hI=";
};
outputs = [ "out" "dev" "man" "info" ];
postPatch = ''
patchShebangs tests
'';
buildInputs = [ libuuid ]
++ lib.optional (readline != null) readline
++ lib.optional (gettext != null) gettext
++ lib.optional (lvm2 != null) lvm2;
configureFlags =
(if (readline != null)
then [ "--with-readline" ]
else [ "--without-readline" ])
++ lib.optional (lvm2 == null) "--disable-device-mapper"
++ lib.optional enableStatic "--enable-static";
# Tests were previously failing due to Hydra running builds as uid 0.
# That should hopefully be fixed now.
doCheck = !stdenv.hostPlatform.isMusl; /* translation test */
nativeCheckInputs = [ check dosfstools e2fsprogs perl python3 util-linux ];
meta = {
description = "Create, destroy, resize, check, and copy partitions";
longDescription = ''
GNU Parted is an industrial-strength package for creating, destroying,
resizing, checking and copying partitions, and the file systems on
them. This is useful for creating space for new operating systems,
reorganising disk usage, copying data on hard disks and disk imaging.
It contains a library, libparted, and a command-line frontend, parted,
which also serves as a sample implementation and script backend.
'';
homepage = "https://www.gnu.org/software/parted/";
license = lib.licenses.gpl3Plus;
maintainers = [
# Add your name here!
];
# GNU Parted requires libuuid, which is part of util-linux-ng.
platforms = lib.platforms.linux;
};
}