about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libeatmydata
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libeatmydata')
-rw-r--r--nixpkgs/pkgs/development/libraries/libeatmydata/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/libeatmydata/find-shell-lib.patch20
2 files changed, 43 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libeatmydata/default.nix b/nixpkgs/pkgs/development/libraries/libeatmydata/default.nix
new file mode 100644
index 000000000000..29ca85cdeb01
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libeatmydata/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "libeatmydata-105";
+
+  src = fetchurl {
+    url = "https://www.flamingspork.com/projects/libeatmydata/${name}.tar.gz";
+    sha256 = "1pd8sc73cgc41ldsvq6g8ics1m5k8gdcb91as9yg8z5jnrld1lmx";
+  };
+
+  patches = [ ./find-shell-lib.patch ];
+  patchFlags = "-p0";
+  postPatch = ''
+    substituteInPlace eatmydata.in --replace NIX_OUT_DIR $out
+  '';
+
+  meta = {
+    homepage = https://www.flamingspork.com/projects/libeatmydata/;
+    license = stdenv.lib.licenses.gpl3Plus;
+    description = "Small LD_PRELOAD library to disable fsync and friends";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libeatmydata/find-shell-lib.patch b/nixpkgs/pkgs/development/libraries/libeatmydata/find-shell-lib.patch
new file mode 100644
index 000000000000..a6320edda29d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libeatmydata/find-shell-lib.patch
@@ -0,0 +1,20 @@
+--- eatmydata.in	2020-02-01 18:10:59.618679823 -0800
++++ eatmydata.in.new	2020-02-01 18:08:25.092620247 -0800
+@@ -15,15 +15,8 @@
+ # You should have received a copy of the GNU General Public License
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ 
+-export `dpkg-architecture|grep DEB_BUILD_MULTIARCH`
+-
+-shlib="/usr/lib/$DEB_BUILD_MULTIARCH/eatmydata.sh"
+-if [ -f "$shlib" ]; then
+-    . "$shlib"
+-else
+-    echo "Unable to locate eatmydata shell library, it was not enabled" >&2
+-    exec "$@"
+-fi
++shlib="NIX_OUT_DIR/libexec/eatmydata.sh"
++. "$shlib"
+ 
+ usage()
+ {