summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorQuentin Vaucher <quentin.vaucher@protonmail.com>2019-10-06 11:40:23 +0200
committerworldofpeace <worldofpeace@protonmail.ch>2019-10-07 12:56:53 -0400
commitb99357eabd8db12c24d58bb15ffa281d1eebbcb7 (patch)
tree27401564779b23b9d175e18d0028cae8ef157c2e /pkgs
parent4434c123f427f8a5470ef2a14b290f13d8291d5e (diff)
formatter: init at 0.3.0
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/misc/formatter/default.nix70
-rw-r--r--pkgs/applications/misc/formatter/fix-paths.patch53
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 125 insertions, 0 deletions
diff --git a/pkgs/applications/misc/formatter/default.nix b/pkgs/applications/misc/formatter/default.nix
new file mode 100644
index 000000000000..11e7a4e5241a
--- /dev/null
+++ b/pkgs/applications/misc/formatter/default.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkgconfig
+, pantheon
+, python3
+, substituteAll
+, glib
+, gtk3
+, dosfstools
+, e2fsprogs
+, exfat
+, hfsprogs
+, ntfs3g
+, libgee
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+ pname = "formatter";
+ version = "0.3.0";
+
+ src = fetchFromGitHub {
+ owner = "Djaler";
+ repo = "Formatter";
+ rev = version;
+ sha256 = "145742dk16736zxj30rzn61h4k0xpggfsbqkxllxd302mgbmxlzq";
+ };
+
+ patches = [
+ (substituteAll {
+ src = ./fix-paths.patch;
+ ext4 = "${e2fsprogs}/bin/mkfs.ext4";
+ exfat = "${exfat}/bin/mkfs.exfat";
+ fat = "${dosfstools}/bin/mkfs.fat";
+ ntfs = "${ntfs3g}/bin/mkfs.ntfs";
+ hfsplus = "${hfsprogs}/bin/mkfs.hfsplus";
+ })
+ ];
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pantheon.vala
+ pkgconfig
+ python3
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ glib
+ gtk3
+ libgee
+ pantheon.granite
+ ];
+
+ postPatch = ''
+ chmod +x meson/post_install.py
+ patchShebangs meson/post_install.py
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A simple formatter designed for elementary OS";
+ homepage = "https://github.com/Djaler/Formatter";
+ maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
+ platforms = platforms.linux;
+ license = licenses.lgpl2Plus;
+ };
+}
diff --git a/pkgs/applications/misc/formatter/fix-paths.patch b/pkgs/applications/misc/formatter/fix-paths.patch
new file mode 100644
index 000000000000..67c1d2b43ccc
--- /dev/null
+++ b/pkgs/applications/misc/formatter/fix-paths.patch
@@ -0,0 +1,53 @@
+diff --git a/src/Objects/DeviceFormatter.vala b/src/Objects/DeviceFormatter.vala
+index cf6a3b8..0de10a9 100644
+--- a/src/Objects/DeviceFormatter.vala
++++ b/src/Objects/DeviceFormatter.vala
+@@ -62,42 +62,42 @@ namespace Formatter {
+ string drive_identifier = drive.get_identifier ("unix-device");
+ switch (filesystem) {
+ case Formatter.Filesystems.EXT4:
+- spawn_args = {"pkexec", "mkfs.ext4", drive_identifier, "-F"};
++ spawn_args = {"pkexec", "@ext4@", drive_identifier, "-F"};
+ if (label != "") {
+ spawn_args += "-L";
+ spawn_args += label;
+ }
+ break;
+ case Formatter.Filesystems.EXFAT:
+- spawn_args = {"pkexec", "mkfs.exfat", drive_identifier};
++ spawn_args = {"pkexec", "@exfat@", drive_identifier};
+ if (label != "") {
+ spawn_args += "-n";
+ spawn_args += label;
+ }
+ break;
+ case Formatter.Filesystems.FAT16:
+- spawn_args = {"pkexec", "mkfs.fat", "-F16", "-I", drive_identifier};
++ spawn_args = {"pkexec", "@fat@", "-F16", "-I", drive_identifier};
+ if (label != "") {
+ spawn_args += "-n";
+ spawn_args += label;
+ }
+ break;
+ case Formatter.Filesystems.FAT32:
+- spawn_args = {"pkexec", "mkfs.fat", "-F32", "-I", drive_identifier};
++ spawn_args = {"pkexec", "@fat@", "-F32", "-I", drive_identifier};
+ if (label != "") {
+ spawn_args += "-n";
+ spawn_args += label;
+ }
+ break;
+ case Formatter.Filesystems.NTFS:
+- spawn_args = {"pkexec", "mkfs.ntfs", drive_identifier, "-f", "-F"};
++ spawn_args = {"pkexec", "@ntfs@", drive_identifier, "-f", "-F"};
+ if (label != "") {
+ spawn_args += "-L";
+ spawn_args += label;
+ }
+ break;
+ case Formatter.Filesystems.HFS_PLUS:
+- spawn_args = {"pkexec", "mkfs.hfsplus", drive_identifier};
++ spawn_args = {"pkexec", "@hfsplus@", drive_identifier};
+ if (label != "") {
+ spawn_args += "-v";
+ spawn_args += label;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 67a338e5a793..b01e75138d79 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18504,6 +18504,8 @@ in
fomp = callPackage ../applications/audio/fomp { };
+ formatter = callPackage ../applications/misc/formatter { };
+
fractal = callPackage ../applications/networking/instant-messengers/fractal { };
freecad = qt5.callPackage ../applications/graphics/freecad { mpi = openmpi; };