From 4602e611fa0b6c1b35109a5e41f093d2f12a2fe1 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 2 May 2018 04:15:51 +0300 Subject: [PATCH] Revert "Revert "hfsprogs: init at 332.25"" This reverts commit 6c182dd14dea6a68dd80e780c763b76dfceae0a2. No reason to drop working code, for which there is no other alternative (in this case, formatting/checking HFS+ filesystems). --- pkgs/tools/filesystems/hfsprogs/default.nix | 45 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/tools/filesystems/hfsprogs/default.nix diff --git a/pkgs/tools/filesystems/hfsprogs/default.nix b/pkgs/tools/filesystems/hfsprogs/default.nix new file mode 100644 index 000000000000..25ec31ea698a --- /dev/null +++ b/pkgs/tools/filesystems/hfsprogs/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, openssl, libbsd }: + +let version = "332.25"; + package_name = "hfsprogs"; in +stdenv.mkDerivation rec { + name = "${package_name}-${version}"; + srcs = [ + (fetchurl { + url = "http://ftp.de.debian.org/debian/pool/main/h/hfsprogs/${package_name}_${version}-11.debian.tar.gz"; + sha256 = "62d9b8599c66ebffbc57ce5d776e20b41341130d9b27341d63bda08460ebde7c"; + }) + (fetchurl { + url = "https://opensource.apple.com/tarballs/diskdev_cmds/diskdev_cmds-${version}.tar.gz"; + sha256 = "74c9aeca899ed7f4bf155c65fc45bf0f250c0f6d57360ea953b1d536d9aa45e6"; + }) + ]; + + sourceRoot = "diskdev_cmds-" + version; + patches = [ "../debian/patches/*.patch" ]; + + buildInputs = [ openssl libbsd ]; + makefile = "Makefile.lnx"; + + # Inspired by PKGBUILD of https://www.archlinux.org/packages/community/x86_64/hfsprogs/ + installPhase = '' + # Create required package directories + install -m 755 -d "$out/bin" + install -m 755 -d "$out/share/${package_name}" + install -m 755 -d "$out/share/man/man8/" + # Copy executables + install -m 755 "newfs_hfs.tproj/newfs_hfs" "$out/bin/mkfs.hfsplus" + install -m 755 "fsck_hfs.tproj/fsck_hfs" "$out/bin/fsck.hfsplus" + # Copy shared data + install -m 644 "newfs_hfs.tproj/hfsbootdata.img" "$out/share/${package_name}/hfsbootdata" + # Copy man pages + install -m 644 "newfs_hfs.tproj/newfs_hfs.8" "$out/share/man/man8/mkfs.hfsplus.8" + install -m 644 "fsck_hfs.tproj/fsck_hfs.8" "$out/share/man/man8/fsck.hfsplus.8" + ''; + + meta = { + description = "HFS/HFS+ user space utils"; + license = stdenv.lib.licenses.apsl20; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6cf98f3f7a7c..3a327c8cd5c3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2917,6 +2917,8 @@ with pkgs; hiera-eyaml = callPackage ../tools/system/hiera-eyaml { }; + hfsprogs = callPackage ../tools/filesystems/hfsprogs { }; + highlight = callPackage ../tools/text/highlight ({ lua = lua5; } // lib.optionalAttrs stdenv.isDarwin {