Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-04-22 06:05:54 +00:00 committed by GitHub
commit dde5369c50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
88 changed files with 1432 additions and 356 deletions

View File

@ -0,0 +1,13 @@
# DLib {#dlib}
[DLib](http://dlib.net/) is a modern, C++-based toolkit which provides several machine learning algorithms.
## Compiling without AVX support {#compiling-without-avx-support}
Especially older CPUs don\'t support [AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions) (Advanced Vector Extensions) instructions that are used by DLib to optimize their algorithms.
On the affected hardware errors like `Illegal instruction` will occur. In those cases AVX support needs to be disabled:
```nix
self: super: { dlib = super.dlib.override { avxSupport = false; }; }
```

View File

@ -1,24 +0,0 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="dlib">
<title>DLib</title>
<para>
<link xlink:href="http://dlib.net/">DLib</link> is a modern, C++-based toolkit which provides several machine learning algorithms.
</para>
<section xml:id="compiling-without-avx-support">
<title>Compiling without AVX support</title>
<para>
Especially older CPUs don't support <link xlink:href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</link> (<abbrev>Advanced Vector Extensions</abbrev>) instructions that are used by DLib to optimize their algorithms.
</para>
<para>
On the affected hardware errors like <literal>Illegal instruction</literal> will occur. In those cases AVX support needs to be disabled:
<programlisting>self: super: {
dlib = super.dlib.override { avxSupport = false; };
}</programlisting>
</para>
</section>
</section>

View File

@ -17,3 +17,29 @@ following, it's a likely sign that you need to have macFUSE installed.
Referenced from: /nix/store/w8bi72bssv0bnxhwfw3xr1mvn7myf37x-sshfs-fuse-2.10/bin/sshfs
Reason: image not found
[1] 92299 abort /nix/store/w8bi72bssv0bnxhwfw3xr1mvn7myf37x-sshfs-fuse-2.10/bin/sshfs
Package maintainers may often encounter the following error when building FUSE
packages on macOS:
checking for fuse.h... no
configure: error: No fuse.h found.
This happens on autoconf based projects that uses `AC_CHECK_HEADERS` or
`AC_CHECK_LIBS` to detect libfuse, and will occur even when the `fuse` package
is included in `buildInputs`. It happens because libfuse headers throw an error
on macOS if the `FUSE_USE_VERSION` macro is undefined. Many proejcts do define
`FUSE_USE_VERSION`, but only inside C source files. This results in the above
error at configure time because the configure script would attempt to compile
sample FUSE programs without defining `FUSE_USE_VERSION`.
There are two possible solutions for this problem in Nixpkgs:
1. Pass `FUSE_USE_VERSION` to the configure script by adding
`CFLAGS=-DFUSE_USE_VERSION=25` in `configureFlags`. The actual value would
have to match the definition used in the upstream source code.
2. Remove `AC_CHECK_HEADERS` / `AC_CHECK_LIBS` for libfuse.
However, a better solution might be to fix the build script upstream to use
`PKG_CHECK_MODULES` instead. This approach wouldn't suffer from the problem that
`AC_CHECK_HEADERS`/`AC_CHECK_LIBS` has at the price of introducing a dependency
on pkg-config.

View File

@ -6,7 +6,7 @@
This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org.
</para>
<xi:include href="citrix.section.xml" />
<xi:include href="dlib.xml" />
<xi:include href="dlib.section.xml" />
<xi:include href="eclipse.section.xml" />
<xi:include href="elm.section.xml" />
<xi:include href="emacs.section.xml" />

View File

@ -6012,6 +6012,12 @@
githubId = 115218;
name = "Felix Richter";
};
malo = {
email = "mbourgon@gmail.com";
github = "malob";
githubId = 2914269;
name = "Malo Bourgon";
};
malyn = {
email = "malyn@strangeGizmo.com";
github = "malyn";
@ -8761,6 +8767,12 @@
githubId = 8534888;
name = "Savanni D'Gerinel";
};
sayanarijit = {
email = "sayanarijit@gmail.com";
github = "sayanarijit";
githubId = 11632726;
name = "Arijit Basu";
};
sb0 = {
email = "sb@m-labs.hk";
github = "sbourdeauducq";
@ -9473,6 +9485,12 @@
githubId = 187109;
name = "Bjarki Ágúst Guðmundsson";
};
suryasr007 = {
email = "94suryateja@gmail.com";
github = "suryasr007";
githubId = 10533926;
name = "Surya Teja V";
};
suvash = {
email = "suvash+nixpkgs@gmail.com";
github = "suvash";

View File

@ -460,6 +460,10 @@ def parse_args(editor: Editor):
default=30,
help="Number of concurrent processes to spawn.",
)
parser.add_argument(
"--no-commit", "-n", action="store_true", default=False,
help="Whether to autocommit changes"
)
return parser.parse_args()
@ -504,24 +508,30 @@ def update_plugins(editor: Editor):
redirects = update()
rewrite_input(args.input_file, editor.deprecated, redirects)
commit(nixpkgs_repo, f"{editor.name}Plugins: update", [args.outfile])
autocommit = not args.no_commit
if autocommit:
commit(nixpkgs_repo, f"{editor.name}Plugins: update", [args.outfile])
if redirects:
update()
commit(
nixpkgs_repo,
f"{editor.name}Plugins: resolve github repository redirects",
[args.outfile, args.input_file, editor.deprecated],
)
if autocommit:
commit(
nixpkgs_repo,
f"{editor.name}Plugins: resolve github repository redirects",
[args.outfile, args.input_file, editor.deprecated],
)
for plugin_line in args.add_plugins:
rewrite_input(args.input_file, editor.deprecated, append=(plugin_line + "\n",))
update()
plugin = fetch_plugin_from_pluginline(plugin_line)
commit(
nixpkgs_repo,
"{editor}Plugins.{name}: init at {version}".format(
editor=editor.name, name=plugin.normalized_name, version=plugin.version
),
[args.outfile, args.input_file],
)
if autocommit:
commit(
nixpkgs_repo,
"{editor}Plugins.{name}: init at {version}".format(
editor=editor.name, name=plugin.normalized_name, version=plugin.version
),
[args.outfile, args.input_file],
)

View File

@ -59,6 +59,18 @@ let
'';
};
environmentFiles = mkOption {
type = with types; listOf path;
default = [];
description = "Environment files for this container.";
example = literalExample ''
[
/path/to/.env
/path/to/.env.secret
]
'';
};
log-driver = mkOption {
type = types.str;
default = "journald";
@ -236,6 +248,7 @@ let
] ++ optional (container.entrypoint != null)
"--entrypoint=${escapeShellArg container.entrypoint}"
++ (mapAttrsToList (k: v: "-e ${escapeShellArg k}=${escapeShellArg v}") container.environment)
++ map (f: "--env-file ${escapeShellArg f}") container.environmentFiles
++ map (p: "-p ${escapeShellArg p}") container.ports
++ optional (container.user != null) "-u ${escapeShellArg container.user}"
++ map (v: "-v ${escapeShellArg v}") container.volumes

View File

@ -1,9 +1,9 @@
{ lib, stdenv
, fetchurl
, makeWrapper
, alsaLib
, perl
, withConplay ? !stdenv.targetPlatform.isWindows
}:
stdenv.mkDerivation rec {
@ -14,35 +14,36 @@ stdenv.mkDerivation rec {
sha256 = "sha256-UCqX4Nk1vn432YczgCHY8wG641wohPKoPVnEtSRm7wY=";
};
outputs = [ "out" "conplay" ];
outputs = [ "out" ] ++ lib.optionals withConplay [ "conplay" ];
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = lib.optionals withConplay [ makeWrapper ];
buildInputs = [ perl ] ++ lib.optional (!stdenv.isDarwin) alsaLib;
buildInputs = lib.optionals withConplay [ perl ]
++ lib.optionals (!stdenv.isDarwin && !stdenv.targetPlatform.isWindows) [ alsaLib ];
configureFlags = lib.optional
(stdenv.hostPlatform ? mpg123)
"--with-cpu=${stdenv.hostPlatform.mpg123.cpu}";
postInstall = ''
postInstall = lib.optionalString withConplay ''
mkdir -p $conplay/bin
mv scripts/conplay $conplay/bin/
'';
preFixup = ''
preFixup = lib.optionalString withConplay ''
patchShebangs $conplay/bin/conplay
'';
postFixup = ''
postFixup = lib.optionalString withConplay ''
wrapProgram $conplay/bin/conplay \
--prefix PATH : $out/bin
'';
meta = {
meta = with lib; {
description = "Fast console MPEG Audio Player and decoder library";
homepage = "http://mpg123.org";
license = lib.licenses.lgpl21;
maintainers = [ lib.maintainers.ftrvxmtrx ];
platforms = lib.platforms.unix;
homepage = "https://mpg123.org";
license = licenses.lgpl21;
maintainers = [ maintainers.ftrvxmtrx ];
platforms = platforms.all;
};
}

View File

@ -24,7 +24,7 @@ let
six
];
in mkDerivation rec {
version = "3.16.5";
version = "3.16.6";
pname = "qgis";
name = "${pname}-unwrapped-${version}";
@ -32,7 +32,7 @@ in mkDerivation rec {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "1xkvgj1v2jgp107jyh9xmk1dzbbqxwkqy69z56vsaa8lf9gwgn5h";
sha256 = "1vnz5kiyjircmhn4vq3fa5j2kvkxpwcsry7jc6nxl0w0dqx1zay1";
};
passthru = {

View File

@ -0,0 +1,22 @@
{ lib, rustPlatform, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
name = "xplr";
version = "0.5.4";
src = fetchFromGitHub {
owner = "sayanarijit";
repo = name;
rev = "v${version}";
sha256 = "0m28jhkvz46psxbv8g34v34m1znvj51gqizaxlmxbgh9fj3vyfdb";
};
cargoSha256 = "0q2k8bs32vxqbnjdh674waagpzpb9rxlwi4nggqlbzcmbqsy8n6k";
meta = with lib; {
description = "A hackable, minimal, fast TUI file explorer";
homepage = "https://github.com/sayanarijit/xplr";
license = licenses.mit;
maintainers = with maintainers; [ sayanarijit suryasr007 ];
};
}

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "waypoint";
version = "0.3.0";
version = "0.3.1";
src = fetchFromGitHub {
owner = "hashicorp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-lB9ELa/okNvtKFDP/vImEdYFJCKRgtAcpBG1kIoAysE=";
sha256 = "sha256-WzKUVfc7oGMh0TamL5b6gsm/BAfSCZ6EB3Hg4Tg/3Hw=";
};
deleteVendor = true;
@ -36,7 +36,7 @@ buildGoModule rec {
export HOME="$TMPDIR"
$out/bin/waypoint --help
$out/bin/waypoint version | grep "Waypoint v${version}"
$out/bin/waypoint version | grep "CLI: v${version}"
runHook postInstallCheck
'';

View File

@ -21,11 +21,11 @@
stdenv.mkDerivation rec {
pname = "zeek";
version = "4.0.0";
version = "4.0.1";
src = fetchurl {
url = "https://download.zeek.org/zeek-${version}.tar.gz";
sha256 = "0m7zy5k2595vf5xr2r4m75rfsdddigrv2hilm1c3zaif4srxmvpj";
sha256 = "0ficl4i012gfv4mdbdclgvi6gyq338gw9gb6k58k1drw8c7qk6k5";
};
nativeBuildInputs = [ cmake flex bison file ];

View File

@ -3,8 +3,8 @@
set -eou pipefail
latest_linux_version=$(curl --silent https://slack.com/downloads/linux | sed -n 's/.*Version \([0-9\.]\+\).*/\1/p')
latest_mac_version=$(curl --silent https://slack.com/downloads/mac | sed -n 's/.*Version \([0-9\.]\+\).*/\1/p')
latest_linux_version=$(curl -L --silent https://slack.com/downloads/linux | sed -n 's/.*Version \([0-9\.]\+\).*/\1/p')
latest_mac_version=$(curl -L --silent https://slack.com/downloads/mac | sed -n 's/.*Version \([0-9\.]\+\).*/\1/p')
# Double check that the latest mac and linux versions are in sync.
if [[ "$latest_linux_version" != "$latest_mac_version" ]]; then

View File

@ -20,13 +20,13 @@
mkDerivation rec {
pname = "nextcloud-client";
version = "3.1.3";
version = "3.2.0";
src = fetchFromGitHub {
owner = "nextcloud";
repo = "desktop";
rev = "v${version}";
sha256 = "sha256-8Ql6tOvWOjAvMJA87WlT9TbpnbciBsjDxRuYlMVi/m8=";
sha256 = "1nklsa2lx9ayjp8rk1mycjysqqmnq47djig0wygzna5mycl3ji06";
};
patches = [

View File

@ -1,6 +1,6 @@
{ lib, fetchFromGitHub, buildPythonApplication, fuse
, appdirs, colorama, dateutil, requests, requests_toolbelt
, fusepy, sqlalchemy }:
, fusepy, sqlalchemy, setuptools }:
buildPythonApplication rec {
pname = "acd_cli";
@ -16,7 +16,7 @@ buildPythonApplication rec {
};
propagatedBuildInputs = [ appdirs colorama dateutil fusepy requests
requests_toolbelt sqlalchemy ];
requests_toolbelt setuptools sqlalchemy ];
makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${fuse}/lib/libfuse.so" ];
@ -34,7 +34,6 @@ buildPythonApplication rec {
description = "A command line interface and FUSE filesystem for Amazon Cloud Drive";
homepage = "https://github.com/yadayada/acd_cli";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ edwtjo ];
};
}

View File

@ -1,18 +1,25 @@
{ lib, stdenv, fetchFromGitHub, gtk3, gnome-themes-extra, gtk-engine-murrine
, accentColor ? "default" }:
{ lib
, stdenvNoCC
, fetchFromGitHub
, gtk3
, gnome-themes-extra
, gtk-engine-murrine
, sassc
, accentColor ? "default"
}:
stdenv.mkDerivation rec {
stdenvNoCC.mkDerivation rec {
pname = "orchis";
version = "2021-02-28";
version = "2021-04-20";
src = fetchFromGitHub {
repo = "Orchis-theme";
owner = "vinceliuice";
rev = version;
sha256 = "sha256-HmC2e34n1eThFGgw9OzSgp5VFJOylyozpXgk9SO84+I=";
sha256 = "sha256-cCUmainVTqFztZGpL2z2Zj6zcE2SQBWrec6yNFUMo5M=";
};
nativeBuildInputs = [ gtk3 ];
nativeBuildInputs = [ gtk3 sassc ];
buildInputs = [ gnome-themes-extra ];

View File

@ -5,9 +5,9 @@
mkXfceDerivation {
category = "xfce";
pname = "xfce4-settings";
version = "4.16.0";
version = "4.16.1";
sha256 = "0iha3jm7vmgk6hq7z4l2r7w9qm5jraka0z580i8i83704kfx9g0y";
sha256 = "0mjhglfsqmiycpv98l09n2556288g2713n4pvxn0srivm017fdir";
postPatch = ''
for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "ace";
version = "6.5.11";
version = "7.0.1";
src = fetchurl {
url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
sha256 = "0fbbysy6aymys30zh5m2bygs84dwwjnbsdl9ipj1rvfrhq8jbylb";
url = "https://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
sha256 = "sha256-5nH5a0tBOcGfA07eeh9EjH0vgT3gTRWYHXoeO+QFQjQ=";
};
enableParallelBuilding = true;
@ -18,8 +18,9 @@ stdenv.mkDerivation rec {
"-Wno-error=format-security"
];
patchPhase = ''substituteInPlace ./MPC/prj_install.pl \
--replace /usr/bin/perl "${perl}/bin/perl"'';
postPatch = ''
patchShebangs ./MPC/prj_install.pl
'';
preConfigure = ''
export INSTALL_PREFIX=$out
@ -31,10 +32,10 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
homepage = "https://www.dre.vanderbilt.edu/~schmidt/ACE.html";
description = "ADAPTIVE Communication Environment";
homepage = "http://www.dre.vanderbilt.edu/~schmidt/ACE.html";
license = licenses.doc;
maintainers = with maintainers; [ nico202 ];
platforms = platforms.linux;
maintainers = [ maintainers.nico202 ];
};
}

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, zlib, curl, expat, fuse, openssl
, autoreconfHook, python3
, autoreconfHook, python3, libiconv
}:
stdenv.mkDerivation rec {
@ -15,7 +15,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ zlib curl expat openssl python3 ]
++ lib.optionals stdenv.isLinux [ fuse ];
++ lib.optionals (with stdenv; isLinux || isDarwin) [ fuse ]
++ lib.optionals stdenv.isDarwin [ libiconv ];
meta = {
homepage = "http://afflib.sourceforge.net/";

View File

@ -31,7 +31,15 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://savannah.nongnu.org/projects/attr/";
description = "Library and tools for manipulating extended attributes";
platforms = platforms.linux;
platforms = platforms.unix;
license = licenses.gpl2Plus;
# The build failure on Darwin will likely be solved after upgrading the
# macOS SDK in nixpkgs. Check the current SDK version in
# ../../../../os-specific/darwin/apple-sdk/default.nix to see if it has
# been updated to 10.13 or later. Once the requirements are met, building
# it should be straightforward as Homebrew was able to build it without
# patching.
broken = stdenv.isDarwin;
};
}

View File

@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
buildInputs = [ audiofile bzip2 glib libgcrypt zlib ];
enableParallelBuilding = true;
doCheck = true;
meta = with lib; {
homepage = "http://fuse-emulator.sourceforge.net/libspectrum.php";
description = "ZX Spectrum input and output support library";
license = licenses.gpl2Plus;
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ orivej ];
};
}

View File

@ -41,7 +41,6 @@ in stdenv.mkDerivation {
description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
license = licenses.bsd3;
maintainers = [ maintainers.phreedom ];
broken = stdenv.isDarwin;
platforms = platforms.unix;
};
}

View File

@ -1,54 +1,91 @@
{ lib, stdenv
, fetchurl, fetchFromGitHub, fetchpatch
, cmake, pkg-config, unzip, zlib, pcre, hdf5
, glog, boost, gflags, protobuf
{ lib
, stdenv
, fetchurl
, fetchFromGitHub
, cmake
, pkg-config
, unzip
, zlib
, pcre
, hdf5
, boost
, gflags
, protobuf
, config
, enableJPEG ? true, libjpeg
, enablePNG ? true, libpng
, enableTIFF ? true, libtiff
, enableWebP ? true, libwebp
, enableEXR ? !stdenv.isDarwin, openexr, ilmbase
, enableEigen ? true, eigen
, enableOpenblas ? true, openblas, blas, lapack
, enableContrib ? true
, enableJPEG ? true
, libjpeg
, enablePNG ? true
, libpng
, enableTIFF ? true
, libtiff
, enableWebP ? true
, libwebp
, enableEXR ? !stdenv.isDarwin
, openexr
, ilmbase
, enableEigen ? true
, eigen
, enableOpenblas ? true
, openblas
, enableContrib ? true
, enableCuda ? (config.cudaSupport or false) &&
stdenv.hostPlatform.isx86_64, cudatoolkit, nvidia-optical-flow-sdk
, enableCuda ? (config.cudaSupport or false) && stdenv.hostPlatform.isx86_64
, cudatoolkit
, nvidia-optical-flow-sdk
, enableUnfree ? false
, enableIpp ? false
, enablePython ? false, pythonPackages
, enableGtk2 ? false, gtk2
, enableGtk3 ? false, gtk3
, enableVtk ? false, vtk
, enableFfmpeg ? false, ffmpeg_3
, enableGStreamer ? false, gst_all_1
, enableTesseract ? false, tesseract, leptonica
, enableTbb ? false, tbb
, enableOvis ? false, ogre
, enableGPhoto2 ? false, libgphoto2
, enableDC1394 ? false, libdc1394
, enableDocs ? false, doxygen, graphviz-nox
, enableUnfree ? false
, enableIpp ? false
, enablePython ? false
, pythonPackages
, enableGtk2 ? false
, gtk2
, enableGtk3 ? false
, gtk3
, enableVtk ? false
, vtk
, enableFfmpeg ? true
, ffmpeg_3
, enableGStreamer ? true
, gst_all_1
, enableTesseract ? false
, tesseract
, leptonica
, enableTbb ? false
, tbb
, enableOvis ? false
, ogre
, enableGPhoto2 ? false
, libgphoto2
, enableDC1394 ? false
, libdc1394
, enableDocs ? false
, doxygen
, graphviz-nox
, AVFoundation, Cocoa, VideoDecodeAcceleration, CoreMedia, MediaToolbox, bzip2
, AVFoundation
, Cocoa
, VideoDecodeAcceleration
, CoreMedia
, MediaToolbox
, bzip2
}:
let
version = "4.3.0";
version = "4.5.2";
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv";
rev = version;
sha256 = "1r9bq9p1x99g2y8jvj9428sgqvljz75dm5vrfsma7hh5wjhz9775";
owner = "opencv";
repo = "opencv";
rev = version;
sha256 = "sha256-pxi1VBF4txvRqspdqvCsAQ3XKzl633/o3wyOgD9wid4=";
};
contribSrc = fetchFromGitHub {
owner = "opencv";
repo = "opencv_contrib";
rev = version;
sha256 = "068b4f95rlryab3mffxs2w6dnbmbhrnpsdgl007rxk4bwnz29y49";
owner = "opencv";
repo = "opencv_contrib";
rev = version;
sha256 = "sha256-iMenRTY+qeL7WRgnRuQbsHflYDakE7pWWSHeIjrg0Iw=";
};
# Contrib must be built in order to enable Tesseract support:
@ -57,35 +94,35 @@ let
# See opencv/3rdparty/ippicv/ippicv.cmake
ippicv = {
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv_3rdparty";
rev = "a56b6ac6f030c312b2dce17430eef13aed9af274";
owner = "opencv";
repo = "opencv_3rdparty";
rev = "a56b6ac6f030c312b2dce17430eef13aed9af274";
sha256 = "1msbkc3zixx61rcg6a04i1bcfhw1phgsrh93glq1n80hgsk3nbjq";
} + "/ippicv";
files = let name = platform : "ippicv_2019_${platform}_general_20180723.tgz"; in
files = let name = platform: "ippicv_2019_${platform}_general_20180723.tgz"; in
if stdenv.hostPlatform.system == "x86_64-linux" then
{ ${name "lnx_intel64"} = "c0bd78adb4156bbf552c1dfe90599607"; }
{ ${name "lnx_intel64"} = "c0bd78adb4156bbf552c1dfe90599607"; }
else if stdenv.hostPlatform.system == "i686-linux" then
{ ${name "lnx_ia32"} = "4f38432c30bfd6423164b7a24bbc98a0"; }
{ ${name "lnx_ia32"} = "4f38432c30bfd6423164b7a24bbc98a0"; }
else if stdenv.hostPlatform.system == "x86_64-darwin" then
{ ${name "mac_intel64"} = "fe6b2bb75ae0e3f19ad3ae1a31dfa4a2"; }
{ ${name "mac_intel64"} = "fe6b2bb75ae0e3f19ad3ae1a31dfa4a2"; }
else
throw "ICV is not available for this platform (or not yet supported by this package)";
throw "ICV is not available for this platform (or not yet supported by this package)";
dst = ".cache/ippicv";
};
# See opencv_contrib/modules/xfeatures2d/cmake/download_vgg.cmake
vgg = {
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv_3rdparty";
rev = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d";
owner = "opencv";
repo = "opencv_3rdparty";
rev = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d";
sha256 = "0r9fam8dplyqqsd3qgpnnfgf9l7lj44di19rxwbm8mxiw0rlcdvy";
};
files = {
"vgg_generated_48.i" = "e8d0dcd54d1bcfdc29203d011a797179";
"vgg_generated_64.i" = "7126a5d9a8884ebca5aea5d63d677225";
"vgg_generated_80.i" = "7cd47228edec52b6d82f46511af325c5";
"vgg_generated_48.i" = "e8d0dcd54d1bcfdc29203d011a797179";
"vgg_generated_64.i" = "7126a5d9a8884ebca5aea5d63d677225";
"vgg_generated_80.i" = "7cd47228edec52b6d82f46511af325c5";
"vgg_generated_120.i" = "151805e03568c9f490a5e3a872777b75";
};
dst = ".cache/xfeatures2d/vgg";
@ -94,19 +131,19 @@ let
# See opencv_contrib/modules/xfeatures2d/cmake/download_boostdesc.cmake
boostdesc = {
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv_3rdparty";
rev = "34e4206aef44d50e6bbcd0ab06354b52e7466d26";
owner = "opencv";
repo = "opencv_3rdparty";
rev = "34e4206aef44d50e6bbcd0ab06354b52e7466d26";
sha256 = "13yig1xhvgghvxspxmdidss5lqiikpjr0ddm83jsi0k85j92sn62";
};
files = {
"boostdesc_bgm.i" = "0ea90e7a8f3f7876d450e4149c97c74f";
"boostdesc_bgm_bi.i" = "232c966b13651bd0e46a1497b0852191";
"boostdesc_bgm_hd.i" = "324426a24fa56ad9c5b8e3e0b3e5303e";
"boostdesc_bgm.i" = "0ea90e7a8f3f7876d450e4149c97c74f";
"boostdesc_bgm_bi.i" = "232c966b13651bd0e46a1497b0852191";
"boostdesc_bgm_hd.i" = "324426a24fa56ad9c5b8e3e0b3e5303e";
"boostdesc_binboost_064.i" = "202e1b3e9fec871b04da31f7f016679f";
"boostdesc_binboost_128.i" = "98ea99d399965c03d555cef3ea502a0b";
"boostdesc_binboost_256.i" = "e6dcfa9f647779eb1ce446a8d759b6ea";
"boostdesc_lbgm.i" = "0ae0675534aa318d9668f2a179c2a052";
"boostdesc_lbgm.i" = "0ae0675534aa318d9668f2a179c2a052";
};
dst = ".cache/xfeatures2d/boostdesc";
};
@ -114,9 +151,9 @@ let
# See opencv_contrib/modules/face/CMakeLists.txt
face = {
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv_3rdparty";
rev = "8afa57abc8229d611c4937165d20e2a2d9fc5a12";
owner = "opencv";
repo = "opencv_3rdparty";
rev = "8afa57abc8229d611c4937165d20e2a2d9fc5a12";
sha256 = "061lsvqdidq9xa2hwrcvwi9ixflr2c2lfpc8drr159g68zi8bp4v";
};
files = {
@ -136,10 +173,27 @@ let
dst = ".cache/ade";
};
# See opencv/modules/wechat_qrcode/CMakeLists.txt
wechat_qrcode = {
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv_3rdparty";
rev = "a8b69ccc738421293254aec5ddb38bd523503252";
sha256 = "sha256-/n6zHwf0Rdc4v9o4rmETzow/HTv+81DnHP+nL56XiTY=";
};
files = {
"detect.caffemodel" = "238e2b2d6f3c18d6c3a30de0c31e23cf";
"detect.prototxt" = "6fb4976b32695f9f5c6305c19f12537d";
"sr.caffemodel" = "cbfcd60361a73beb8c583eea7e8e6664";
"sr.prototxt" = "69db99927a70df953b471daaba03fbef";
};
dst = ".cache/wechat_qrcode";
};
# See opencv/cmake/OpenCVDownload.cmake
installExtraFiles = extra : with lib; ''
installExtraFiles = extra: with lib; ''
mkdir -p "${extra.dst}"
'' + concatStrings (flip mapAttrsToList extra.files (name : md5 : ''
'' + concatStrings (flip mapAttrsToList extra.files (name: md5: ''
ln -s "${extra.src}/${name}" "${extra.dst}/${md5}-${name}"
''));
installExtraFile = extra: ''
@ -149,7 +203,7 @@ let
opencvFlag = name: enabled: "-DWITH_${name}=${printEnabled enabled}";
printEnabled = enabled : if enabled then "ON" else "OFF";
printEnabled = enabled: if enabled then "ON" else "OFF";
in
stdenv.mkDerivation {
@ -172,13 +226,15 @@ stdenv.mkDerivation {
preConfigure =
installExtraFile ade +
lib.optionalString enableIpp (installExtraFiles ippicv) + (
lib.optionalString buildContrib ''
cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/source/opencv_contrib")
lib.optionalString buildContrib ''
cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/source/opencv_contrib")
${installExtraFiles vgg}
${installExtraFiles boostdesc}
${installExtraFiles face}
'');
${installExtraFiles vgg}
${installExtraFiles boostdesc}
${installExtraFiles face}
${installExtraFiles wechat_qrcode}
''
);
postConfigure = ''
[ -e modules/core/version_string.inc ]
@ -186,7 +242,7 @@ stdenv.mkDerivation {
'';
buildInputs =
[ zlib pcre hdf5 glog boost gflags protobuf ]
[ zlib pcre hdf5 boost gflags protobuf ]
++ lib.optional enablePython pythonPackages.python
++ lib.optional enableGtk2 gtk2
++ lib.optional enableGtk3 gtk3
@ -198,7 +254,7 @@ stdenv.mkDerivation {
++ lib.optionals enableEXR [ openexr ilmbase ]
++ lib.optional enableFfmpeg ffmpeg_3
++ lib.optionals (enableFfmpeg && stdenv.isDarwin)
[ VideoDecodeAcceleration bzip2 ]
[ VideoDecodeAcceleration bzip2 ]
++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
++ lib.optional enableOvis ogre
++ lib.optional enableGPhoto2 libgphoto2
@ -274,15 +330,13 @@ stdenv.mkDerivation {
"$out/lib/pkgconfig/opencv4.pc"
'';
hardeningDisable = [ "bindnow" "relro" ];
passthru = lib.optionalAttrs enablePython { pythonPath = []; };
passthru = lib.optionalAttrs enablePython { pythonPath = [ ]; };
meta = with lib; {
description = "Open Computer Vision Library with more than 500 algorithms";
homepage = "https://opencv.org/";
license = with licenses; if enableUnfree then unfree else bsd3;
maintainers = with maintainers; [mdaiter basvandijk];
maintainers = with maintainers; [ mdaiter basvandijk ];
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -1,40 +1,17 @@
From 6d988c08e852379a163ecd20df8639196d84d014 Mon Sep 17 00:00:00 2001
From: Bernardo Meurer <meurerbernardo@gmail.com>
Date: Sun, 26 Apr 2020 14:50:25 -0700
Subject: [PATCH] cmake: don't use OpenCVFindOpenEXR
Use find_package for this.
---
CMakeLists.txt | 2 ++
cmake/OpenCVFindLibsGrfmt.cmake | 15 +++------------
2 files changed, 5 insertions(+), 12 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4c0b3880fc..0360469350 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,6 +14,8 @@ FATAL: In-source builds are not allowed.
")
endif()
+# the future!
+include(FindPkgConfig)
include(cmake/OpenCVMinDepVersions.cmake)
diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake
index 0beaf19317..4c5e46e615 100644
index 23a6ca6959..27e121943a 100644
--- a/cmake/OpenCVFindLibsGrfmt.cmake
+++ b/cmake/OpenCVFindLibsGrfmt.cmake
@@ -227,20 +227,11 @@ endif()
@@ -255,21 +255,12 @@ endif()
# --- OpenEXR (optional) ---
if(WITH_OPENEXR)
ocv_clear_vars(HAVE_OPENEXR)
- if(NOT BUILD_OPENEXR)
- ocv_clear_internal_cache_vars(OPENEXR_INCLUDE_PATHS OPENEXR_LIBRARIES OPENEXR_ILMIMF_LIBRARY OPENEXR_VERSION)
- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake")
- endif()
-
+ pkg_check_modules(OPENEXR OpenEXR)
if(OPENEXR_FOUND)
set(HAVE_OPENEXR YES)
- else()
@ -50,6 +27,3 @@ index 0beaf19317..4c5e46e615 100644
endif()
endif()
--
2.26.1

View File

@ -0,0 +1,31 @@
{ lib, stdenv, fetchFromGitHub, cmake, sqlite, cppcheck, gtest }:
stdenv.mkDerivation rec {
pname = "SQLiteCpp";
version = "3.1.1";
src = fetchFromGitHub {
owner = "SRombauts";
repo = pname;
rev = version;
sha256 = "1c2yyipiqswi5sf9xmpsgw6l1illzmcpkjm56agk6kl2hay23lgr";
};
nativeBuildInputs = [ cmake ];
checkInputs = [ cppcheck gtest ];
buildInputs = [ sqlite ];
doCheck = true;
cmakeFlags = [
"-DSQLITECPP_INTERNAL_SQLITE=OFF"
"-DSQLITECPP_BUILD_TESTS=ON"
];
meta = with lib; {
homepage = "http://srombauts.github.com/SQLiteCpp";
description = "C++ SQLite3 wrapper";
license = licenses.mit;
platforms = platforms.unix;
maintainers = [ maintainers.jbedo maintainers.doronbehar ];
};
}

View File

@ -7,12 +7,12 @@
buildPythonPackage rec {
pname = "faadelays";
version = "0.0.6";
version = "0.0.7";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "02z8p0n9d6n4l6v1m969009gxwmy5v14z108r4f3swd6yrk0h2xd";
sha256 = "sha256-osZqfSYlKPYZMelBR6YB331iRB4DTjCUlmX7pcrIiGk=";
};
propagatedBuildInputs = [ aiohttp ];

View File

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, pkgs
@ -18,7 +19,9 @@ buildPythonPackage rec {
# No tests included
doCheck = false;
patchPhase = ''
# On macOS, users are expected to install macFUSE. This means fusepy should
# be able to find libfuse in /usr/local/lib.
patchPhase = lib.optionalString (!stdenv.isDarwin) ''
substituteInPlace fuse.py --replace \
"find_library('fuse')" "'${pkgs.fuse}/lib/libfuse.so'"
'';

View File

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, click
@ -28,6 +29,8 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = lib.optionals stdenv.isDarwin [ "test_run_local_server" ];
meta = with lib; {
description = "Google Authentication Library: oauthlib integration";
homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib";

View File

@ -1,4 +1,5 @@
{ lib
{ stdenv
, lib
, buildPythonPackage
, fetchpatch
, fetchPypi
@ -48,6 +49,14 @@ buildPythonPackage rec {
"google.oauth2"
];
disabledTests = lib.optionals stdenv.isDarwin [
"test_request_with_timeout_success"
"test_request_with_timeout_failure"
"test_request_headers"
"test_request_error"
"test_request_basic"
];
meta = with lib; {
description = "Google Auth Python Library";
longDescription = ''

View File

@ -1,4 +1,5 @@
{ lib
{ stdenv
, lib
, buildPythonPackage
, fetchFromGitHub
, isPy27
@ -39,8 +40,10 @@ buildPythonPackage rec {
pytestCheckHook
];
# Don't run tests for Python 2.7
doCheck = !isPy27;
# Don't run tests for Python 2.7 or Darwin
# Nearly 50% of the test suite requires local network access
# which isn't allowed on sandboxed Darwin builds
doCheck = !(isPy27 || stdenv.isDarwin);
pytestFlagsArray = [ "--ignore python2" ];
pythonImportsCheck = [ "httplib2" ];

View File

@ -0,0 +1,25 @@
{ lib
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec {
pname = "ppdeep";
version = "20200505";
src = fetchPypi {
inherit pname version;
sha256 = "1zx1h0ff0wjjkgd0dzjv31i6ag09jw2p9vcssc1iplp60awlpixc";
};
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "ppdeep" ];
meta = with lib; {
description = "Python library for computing fuzzy hashes (ssdeep)";
homepage = "https://github.com/elceef/ppdeep";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -15,11 +15,11 @@
buildPythonPackage rec {
pname = "sagemaker";
version = "2.35.0";
version = "2.37.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-12YYUZbctM6oRaC7Sr/hOghAM+s/Cdm5XWHaVU5Gg6Q=";
sha256 = "sha256-96RDi32NHfhFvPeVRhG32EDQJTiwOXEwtSmFZGVBVk0=";
};
pythonImportsCheck = [

View File

@ -96,10 +96,19 @@ in buildPythonPackage {
# Unpack the wheel file.
wheel unpack --dest unpacked ./*.whl
# Tensorflow has a hard dependency on gast==0.2.2, but we relax it to
# gast==0.3.2.
substituteInPlace ./unpacked/tensorflow*/tensorflow_core/tools/pip_package/setup.py --replace "gast == 0.2.2" "gast == 0.3.2"
substituteInPlace ./unpacked/tensorflow*/tensorflow_*.dist-info/METADATA --replace "gast (==0.2.2)" "gast (==0.3.2)"
# Tensorflow wheels tightly constrain the versions of gast, tensorflow-estimator and scipy.
# This code relaxes these requirements:
substituteInPlace ./unpacked/tensorflow*/tensorflow_core/tools/pip_package/setup.py \
--replace "tensorflow_estimator >= 2.1.0rc0, < 2.2.0" "tensorflow_estimator" \
--replace "tensorboard >= 2.1.0, < 2.2.0" "tensorboard" \
--replace "gast == 0.2.2" "gast" \
--replace "scipy == 1.2.2" "scipy"
substituteInPlace ./unpacked/tensorflow*/tensorflow*.dist-info/METADATA \
--replace "gast (==0.2.2)" "gast" \
--replace "tensorflow-estimator (<2.2.0,>=2.1.0rc0)" "tensorflow_estimator" \
--replace "tensorboard (<2.2.0,>=2.1.0)" "tensorboard" \
--replace "scipy (==1.4.1)" "scipy"
# Pack the wheel file back up.
wheel pack ./unpacked/tensorflow*

View File

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "yeelight";
version = "0.6.0";
version = "0.6.1";
disabled = pythonOlder "3.4";
src = fetchFromGitLab {
owner = "stavros";
repo = "python-yeelight";
rev = "v${version}";
sha256 = "0yycc2pdqaa9y46jycvm0p6braps7ljg2vvljngdqj2l1a2jmv7x";
sha256 = "sha256-LB7A8E22hyqhVBElrOwtC3IPNkyQkU7ZJ1ScqaXQ6zs=";
};
propagatedBuildInputs = [

View File

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, jdk, ant, python2, python2Packages, watchman, bash, makeWrapper }:
{ lib, stdenv, fetchFromGitHub, jdk11, ant, python3, watchman, bash, makeWrapper }:
stdenv.mkDerivation rec {
pname = "buck";
version = "2019.10.17.01";
version = "2021.01.12.01";
src = fetchFromGitHub {
owner = "facebook";
repo = pname;
rev = "v${version}";
sha256 = "1irgp8yq1z11bq3b83yxvj35wqqq7y7b8q4d4y0hc05ac19ja0vj";
sha256 = "sha256-NFiMQ+cG93R10LlkfUMzZ4TnV0uO5G+8S5TiMI6hU5o=";
};
patches = [ ./pex-mtime.patch ];
@ -17,20 +17,21 @@ stdenv.mkDerivation rec {
grep -l -r '/bin/bash' --null | xargs -0 sed -i -e "s!/bin/bash!${bash}/bin/bash!g"
'';
buildInputs = [ jdk ant python2 watchman python2Packages.pywatchman ];
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper python3 jdk11 ant watchman ];
buildPhase = ''
# Set correct version, see https://github.com/facebook/buck/issues/2607
echo v${version} > .buckrelease
ant
PYTHONDONTWRITEBYTECODE=true ./bin/buck build -c buck.release_version=${version} buck
'';
installPhase = ''
install -D -m755 buck-out/gen/programs/buck.pex $out/bin/buck
install -D -m755 buck-out/gen/*/programs/buck.pex $out/bin/buck
wrapProgram $out/bin/buck \
--prefix PYTHONPATH : $PYTHONPATH \
--prefix PATH : "${lib.makeBinPath [jdk watchman]}"
--prefix PATH : "${lib.makeBinPath [ jdk11 watchman python3 ]}"
'';
meta = with lib; {

View File

@ -1,6 +1,8 @@
{ lib, stdenv, fetchFromGitHub, fuse3, pkg-config, pcre }:
{ lib, stdenv, fetchFromGitHub, fuse3, macfuse-stubs, pkg-config, pcre }:
stdenv.mkDerivation rec {
let
fuse = if stdenv.isDarwin then macfuse-stubs else fuse3;
in stdenv.mkDerivation rec {
pname = "tup";
version = "0.7.10";
outputs = [ "bin" "man" "out" ];
@ -13,7 +15,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ fuse3 pcre ];
buildInputs = [ fuse pcre ];
configurePhase = ''
sed -i 's/`git describe`/v${version}/g' src/tup/link.sh
@ -50,6 +52,13 @@ stdenv.mkDerivation rec {
homepage = "http://gittup.org/tup/";
license = licenses.gpl2;
maintainers = with maintainers; [ ehmry ];
platforms = platforms.linux ++ platforms.darwin;
platforms = platforms.unix;
# TODO: Remove once nixpkgs uses newer SDKs that supports '*at' functions.
# Probably MacOS SDK 10.13 or later. Check the current version in
# ../../../../os-specific/darwin/apple-sdk/default.nix
#
# https://github.com/gittup/tup/commit/3697c74
broken = stdenv.isDarwin;
};
}

View File

@ -0,0 +1,22 @@
{ buildGoModule, fetchFromGitHub, lib }:
buildGoModule rec {
pname = "esbuild";
version = "0.11.12";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
sha256 = "1mxj4mrq1zbvv25alnc3s36bhnnhghivgwp45a7m3cp1389ffcd1";
};
vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q";
meta = with lib; {
description = "An extremely fast JavaScript bundler";
homepage = "https://esbuild.github.io";
license = licenses.mit;
maintainers = with maintainers; [ lucus16 ];
};
}

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "metals";
version = "0.10.1";
version = "0.10.2";
deps = stdenv.mkDerivation {
name = "${pname}-deps-${version}";
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
'';
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "0z4ddnwx510hnx6w72fxmksmnwxg8p2nqxg7i7xix24gykgmgj5a";
outputHash = "1yck935pcj9cg3qxzrmvgd16afsckz8wgmzf2rlmii2c1glrbq9c";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -2,23 +2,19 @@
buildGoModule rec {
pname = "protoc-gen-twirp_php";
version = "0.6.0";
version = "0.7.1";
# fetchFromGitHub currently not possible, because go.mod and go.sum are export-ignored
src = fetchgit {
url = "https://github.com/twirphp/twirp.git";
rev = "v${version}";
sha256 = "sha256-WnvCdAJIMA4A+f7H61qcVbKNn23bNVOC15vMCEKc+CI=";
sha256 = "sha256-94GN/Gq3RXXg83eUsmIcdF4VuK4syCgD0Zkc5eDiVYE=";
};
vendorSha256 = "sha256-LIMxrWXlK7+JIRmtukdXPqfw8H991FCAOuyEf7ZLSTs=";
vendorSha256 = "sha256-gz4JELCffuh7dyFdBex8/SFZ1/PDXuC/93m3WNHwRss=";
subPackages = [ "protoc-gen-twirp_php" ];
preBuild = ''
go generate ./...
'';
meta = with lib; {
description = "PHP port of Twitch's Twirp RPC framework";
homepage = "https://github.com/twirphp/twirp";

View File

@ -257,12 +257,12 @@ let
barbar-nvim = buildVimPluginFrom2Nix {
pname = "barbar-nvim";
version = "2021-04-07";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "romgrk";
repo = "barbar.nvim";
rev = "c5c67f450921dec675b42c7f6f960169411dc7fc";
sha256 = "17gpmyqqskzmfvqilgdmcp5rb2ddgb8hvjz7ihfyaawp8sy11lv0";
rev = "54b4376d9a44b45f12b0f6f5bcc46f98b66782e1";
sha256 = "0nh4rgyix8mj3wag8wpcy68avyrh5ps89a842fqdd5x6054d3apv";
};
meta.homepage = "https://github.com/romgrk/barbar.nvim/";
};
@ -389,12 +389,12 @@ let
chadtree = buildVimPluginFrom2Nix {
pname = "chadtree";
version = "2021-04-20";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "chadtree";
rev = "c2cfde8a6b1966a2801fe167fc70a9bf07a9531e";
sha256 = "0g9vg18vg1gpkmas0rbsvvdqf8h6rbvwyd89awc7351rn9x3s69h";
rev = "ce0ac184e56d1a1865df1f0059ec01317f4210db";
sha256 = "13v1x0mxzm8fzmf8k6f3wjdx91yki6lqz40wh1897g5zvsfjfvvr";
};
meta.homepage = "https://github.com/ms-jpq/chadtree/";
};
@ -618,12 +618,12 @@ let
compe-tabnine = buildVimPluginFrom2Nix {
pname = "compe-tabnine";
version = "2021-04-18";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "tzachar";
repo = "compe-tabnine";
rev = "28c6bc60d39c5ccd326e29f5f949dc1869196fd7";
sha256 = "1dka7jy9ihigid943x26rjhawamwml7pi4z1hzjvawwf0vh73biz";
rev = "1e81624bb91e79e245832bc0a88a1c194097f641";
sha256 = "08cav97sj92vfl0y8kkn5kv5qxsfifb7xps3hndlg6vzbjci4vbr";
};
meta.homepage = "https://github.com/tzachar/compe-tabnine/";
};
@ -882,12 +882,12 @@ let
defx-nvim = buildVimPluginFrom2Nix {
pname = "defx-nvim";
version = "2021-04-11";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "Shougo";
repo = "defx.nvim";
rev = "94a655cd9993b152feb6de4d6168d234d4b3f14b";
sha256 = "0kram585pmj88gvfs71k50lgawg87qbiisw0plzp41hjrgs0ymkz";
rev = "3730b008158327d0068b8a9b19d57fd7459bb8b9";
sha256 = "0bc1gfwsms0mrxjfp7ia4r2rw1b95ih8xgkh02l9b30wp81xdfr3";
};
meta.homepage = "https://github.com/Shougo/defx.nvim/";
};
@ -1172,12 +1172,12 @@ let
deoplete-nvim = buildVimPluginFrom2Nix {
pname = "deoplete-nvim";
version = "2021-04-19";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "Shougo";
repo = "deoplete.nvim";
rev = "c136761eb87789ec4dc46961acf08af39ec32c3b";
sha256 = "1gk601x5a8hmyjvgddw1fd4gdjrfxwfz3z3y7w4186zk2bakciaw";
rev = "187b2bd2beb7802e66c93900430c29b4ab9c20c8";
sha256 = "0l6i6wybhdzbj6p0x86kygyirhnhc1fj67p4l83v3jdgypqy246a";
};
meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
};
@ -1629,6 +1629,18 @@ let
meta.homepage = "https://github.com/rhysd/git-messenger.vim/";
};
git-worktree-nvim = buildVimPluginFrom2Nix {
pname = "git-worktree-nvim";
version = "2021-04-19";
src = fetchFromGitHub {
owner = "ThePrimeagen";
repo = "git-worktree.nvim";
rev = "77c54ff659ec3eba0965e9a54e8569abd084b726";
sha256 = "0lraa4di5z5jm103bqzr804bjcxa49b131mhpgg4r40zpam9iip1";
};
meta.homepage = "https://github.com/ThePrimeagen/git-worktree.nvim/";
};
gitignore-vim = buildVimPluginFrom2Nix {
pname = "gitignore-vim";
version = "2014-03-16";
@ -1647,8 +1659,8 @@ let
src = fetchFromGitHub {
owner = "lewis6991";
repo = "gitsigns.nvim";
rev = "499e20ff35493801a50b6e3401fe793f7cdb5b4c";
sha256 = "0f1w858y9yvixdbpbnl37xfmy5fgi2p70pvdcy4xy60qjsckiglp";
rev = "6b7b666cc95f91c869b1ef266e10f06807f7ccf0";
sha256 = "1ya54gkig13adcjgwjmvyssnrdz82rcwimlwk5ff6qqivwcbpsjy";
};
meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
};
@ -3024,12 +3036,12 @@ let
nvim-autopairs = buildVimPluginFrom2Nix {
pname = "nvim-autopairs";
version = "2021-04-20";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "windwp";
repo = "nvim-autopairs";
rev = "bc18313bd533e8f63b08ba4315a0136368e5afa0";
sha256 = "0wwhlqf98jkc0ij1pp77cykjz7wh0xlwhh9wclkxva1g3ajcyq7d";
rev = "d83b441b1838a30941af6582e9cb19d93b560b71";
sha256 = "00h40qgkrydacsj5q8yv6g7m0835dqcxf66i1s2g32wssg6c1y5f";
};
meta.homepage = "https://github.com/windwp/nvim-autopairs/";
};
@ -3048,12 +3060,12 @@ let
nvim-bufferline-lua = buildVimPluginFrom2Nix {
pname = "nvim-bufferline-lua";
version = "2021-04-07";
version = "2021-04-20";
src = fetchFromGitHub {
owner = "akinsho";
repo = "nvim-bufferline.lua";
rev = "224f2627c471f319626fc7c1ab85f9d7d91bb98a";
sha256 = "0yxby3p82pjkz8n0vnavbhw0qlva8mfq3nqff4bf1sg9iw0jpfkm";
rev = "4ebab39af2376b850724dd29c29579c8e024abe6";
sha256 = "0k671d27m2p0lv4vr99lra740511234f8m6zl2ykkb1b197841cg";
};
meta.homepage = "https://github.com/akinsho/nvim-bufferline.lua/";
};
@ -3292,8 +3304,8 @@ let
src = fetchFromGitHub {
owner = "kyazdani42";
repo = "nvim-tree.lua";
rev = "983963779d6696c5b6b4aa14f874d85f00941b4e";
sha256 = "16viqhsh1xn5grv631i6fy5kav65g472yyyz0m4wy4gvi2mb7sf2";
rev = "796628a7651f9399637ad8376bab920fb10493cf";
sha256 = "1mb7ncp35yhzwzwp6l54dr1y3is705sa63hlx6bf5ny84q13kvxd";
};
meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
};
@ -3588,12 +3600,12 @@ let
plenary-nvim = buildVimPluginFrom2Nix {
pname = "plenary-nvim";
version = "2021-04-18";
version = "2021-04-20";
src = fetchFromGitHub {
owner = "nvim-lua";
repo = "plenary.nvim";
rev = "bf8038e837dfdf802ca1a294f5e6887fb798bc2a";
sha256 = "046vz06k78gpklzbmjjkp5ffs1i6znq277i5mnm8a264snf784xb";
rev = "1a31d076a097ac23c0110537a99b686874ae2cdc";
sha256 = "1ah2j5bxgg0mqa8nlc76f37apb9i6vx8i1c0vlmk144w9dfmxkis";
};
meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
};
@ -4455,12 +4467,12 @@ let
telescope-nvim = buildVimPluginFrom2Nix {
pname = "telescope-nvim";
version = "2021-04-17";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
rev = "f92b9b1fae70d5fac681a29f0df64549c399f18f";
sha256 = "176h2sy75hgykzw5kf1vhp29gxk180c3a1rl8rcms8vinn1b95d3";
rev = "3adeab2bed42597c8495fbe3a2376c746232f2e3";
sha256 = "0nnqlrzgmg50kdyjmbkr29dfn8ydvdamfihrw0nalvszhh577487";
};
meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
};
@ -5716,12 +5728,12 @@ let
vim-elixir = buildVimPluginFrom2Nix {
pname = "vim-elixir";
version = "2021-04-13";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "elixir-editors";
repo = "vim-elixir";
rev = "294a22cef85e8006fa84b02fc5fbd7a3b8c5abe3";
sha256 = "0rimmik9hs41bwzkjsgz5jbygg08nlrj0n4m451fpjmwsn0zaklb";
rev = "c3cb96e153728fbfd050173b4af19118b131f278";
sha256 = "1v0rgzpnpanics4zhx3y9m6ppa727yc0mvcx065jg2a2a1563sgy";
};
meta.homepage = "https://github.com/elixir-editors/vim-elixir/";
};
@ -6887,8 +6899,8 @@ let
src = fetchFromGitHub {
owner = "andymass";
repo = "vim-matchup";
rev = "5bdf7690ed9afda4684f30aa4b9e7a84827b6fdb";
sha256 = "1jbzaflx1y6c32m59irj5p29nd1p9krb3jgv6hi9w4002vp48f0y";
rev = "71b97bac53aa09760e8d8c36767c657b274c468d";
sha256 = "0ign21d8w6hcrbz9j6c0p1ff0y396wl7snm5dj81m7fck2287pj3";
};
meta.homepage = "https://github.com/andymass/vim-matchup/";
};
@ -8456,12 +8468,12 @@ let
vim-vsnip = buildVimPluginFrom2Nix {
pname = "vim-vsnip";
version = "2021-04-20";
version = "2021-04-21";
src = fetchFromGitHub {
owner = "hrsh7th";
repo = "vim-vsnip";
rev = "a501eb4c45fbd53e3d8eacb725263bad27174c38";
sha256 = "13fqpxanlk8y3adq3d1mw4wz5c86jhk72fcq97qw02d1g9lha2b2";
rev = "395d200728b467e141615f53afe564adc26985b9";
sha256 = "1g0fhdqr6qmqmhvm3amv22fqb1aacmvd0swmk38w25zzcbl4b4gy";
};
meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
};
@ -8744,12 +8756,12 @@ let
vimspector = buildVimPluginFrom2Nix {
pname = "vimspector";
version = "2021-04-15";
version = "2021-04-20";
src = fetchFromGitHub {
owner = "puremourning";
repo = "vimspector";
rev = "a9a26a5a60a7c1d221bc24f0e9f3a0451e76b11b";
sha256 = "18605fxh0ych1app90k730akxz1c1kf3lhl5apj6ygfdnpk0c1mh";
rev = "297c0bea56fd3afce5209f47f330880d759c8698";
sha256 = "04gkw01p5iiyj1xp9p446frg7f9szprm65gjs3w0s0akgbi5zp3g";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/puremourning/vimspector/";
@ -8938,12 +8950,12 @@ let
YouCompleteMe = buildVimPluginFrom2Nix {
pname = "YouCompleteMe";
version = "2021-04-19";
version = "2021-04-20";
src = fetchFromGitHub {
owner = "ycm-core";
repo = "YouCompleteMe";
rev = "a0a3e09dd25cda9951ccdb0eb534ed328fb3c96c";
sha256 = "1hamis4smj2qhg84gwid0ihy3pwhn8klcyg19f21sl8jlxbfb8a4";
rev = "c8acf70d23337047af6548dbb8337d3e3a0c0357";
sha256 = "0l24b07l1bdiwffpj2ajks879w69cjkn1adx9ak6pv98jlmsdzi1";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";

View File

@ -594,6 +594,7 @@ terryma/vim-multiple-cursors
tex/vimpreviewpandoc
Th3Whit3Wolf/one-nvim@main
theHamsta/nvim-dap-virtual-text
ThePrimeagen/git-worktree.nvim
ThePrimeagen/vim-apm
thinca/vim-ft-diff_fold
thinca/vim-prettyprint

View File

@ -11,11 +11,18 @@ stdenv.mkDerivation {
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ fuse ];
postPatch = lib.optionalString stdenv.isDarwin ''
# Fix the build on macOS with macFUSE installed
substituteInPlace configure.ac --replace \
'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' \
""
'';
meta = {
description = "Automounter in userspace";
homepage = "https://github.com/pcarrier/afuse";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.marcweber ];
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
};
}

View File

@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/johang/btfs";
license = licenses.gpl3;
maintainers = with maintainers; [ rnhmjoj ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -17,6 +17,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/intel/linux-sgx-driver/commit/276c5c6a064d22358542f5e0aa96b1c0ace5d695.patch";
sha256 = "sha256-PmchqYENIbnJ51G/tkdap/g20LUrJEoQ4rDtqy6hj24=";
})
# Fixes detection with kernel >= 5.11
(fetchpatch {
url = "https://github.com/intel/linux-sgx-driver/commit/ed2c256929962db1a8805db53bed09bb8f2f4de3.patch";
sha256 = "sha256-MRbgS4U8FTCP1J1n+rhsvbXxKDytfl6B7YlT9Izq05U=";
})
];
hardeningDisable = [ "pic" ];
@ -46,8 +51,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/intel/linux-sgx-driver";
license = with licenses; [ bsd3 /* OR */ gpl2Only ];
maintainers = with maintainers; [ oxalica ];
platforms = platforms.linux;
# The driver is already in kernel >= 5.11.0.
broken = kernelAtLeast "5.11.0";
platforms = [ "x86_64-linux" ];
};
}

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "nvme-cli";
version = "1.13";
version = "1.14";
src = fetchFromGitHub {
owner = "linux-nvme";
repo = "nvme-cli";
rev = "v${version}";
sha256 = "1d538kp841bjh8h8d9q7inqz56rdcwb3m78zfx8607ddykv7wcqb";
sha256 = "0dpadz945482srqpsbfx1bh7rc499fgpyzz1flhk9g9xjbpapkzc";
};
nativeBuildInputs = [ pkg-config ];
@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
'';
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos tavyc ];
maintainers = with maintainers; [ mic92 ];
};
}

View File

@ -6,6 +6,8 @@ lib.makeScope newScope (self: with self; {
clownfish = callPackage ./clownfish.nix { };
done = callPackage ./done.nix { };
# Fishtape 2.x and 3.x aren't compatible,
# but both versions are used in the tests of different other plugins.
fishtape = callPackage ./fishtape.nix { };

View File

@ -0,0 +1,25 @@
{ lib, buildFishPlugin, fetchFromGitHub, fishtape }:
buildFishPlugin rec {
pname = "done";
version = "1.16.1";
src = fetchFromGitHub {
owner = "franciscolourenco";
repo = "done";
rev = version;
sha256 = "NFysKzRZgDXXZW/sUlZNu7ZpMCKwbjAhIfspSK3UqCY=";
};
checkPlugins = [ fishtape ];
checkPhase = ''
fishtape test/done.fish
'';
meta = {
description = "Automatically receive notifications when long processes finish";
homepage = "https://github.com/franciscolourenco/done";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ malo ];
};
}

View File

@ -129,7 +129,7 @@ in
name = "cc-native";
nativeTools = true;
nativeLibc = true;
inherit nativePrefix;
inherit lib nativePrefix;
bintools = import ../../build-support/bintools-wrapper {
name = "bintools";
inherit stdenvNoCC nativePrefix;

View File

@ -24,6 +24,7 @@ bootStages ++ [
initialPath = (import ../common-path.nix) { pkgs = prevStage; };
cc = import ../../build-support/cc-wrapper {
inherit lib;
nativeTools = false;
nativePrefix = lib.optionalString hostPlatform.isSunOS "/usr";
nativeLibc = true;

View File

@ -10,6 +10,10 @@ stdenv.mkDerivation {
sha256 = "007s2idsn6bspmfxv1qabj39ggkgvn6gwdbhczwn04lb4c6gh3xc";
};
# Upstream development has stopped and is no longer accepting patches
# https://github.com/mischief/9pfs/pull/3
patches = [ ./fix-darwin-build.patch ];
preConfigure =
''
substituteInPlace Makefile --replace '-g bin' ""
@ -25,7 +29,7 @@ stdenv.mkDerivation {
homepage = "https://github.com/mischief/9pfs";
description = "FUSE-based client of the 9P network filesystem protocol";
maintainers = [ lib.maintainers.eelco ];
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
license = with lib.licenses; [ lpl-102 bsd2 ];
};
}

View File

@ -0,0 +1,47 @@
From 6b7863b51c97f8ecd9a93fc4347f8938f9b5c05f Mon Sep 17 00:00:00 2001
From: midchildan <git@midchildan.org>
Date: Tue, 30 Mar 2021 22:21:51 +0900
Subject: [PATCH] build: fix build for macOS
---
9pfs.c | 4 ++--
libc.h | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/9pfs.c b/9pfs.c
index 2c481bd..f5c487c 100644
--- a/9pfs.c
+++ b/9pfs.c
@@ -30,7 +30,7 @@
enum
{
CACHECTLSIZE = 8, /* sizeof("cleared\n") - 1 */
- MSIZE = 8192
+ MSIZE_9P = 8192
};
void dir2stat(struct stat*, Dir*);
@@ -505,7 +505,7 @@ main(int argc, char *argv[])
freeaddrinfo(ainfo);
init9p();
- msize = _9pversion(MSIZE);
+ msize = _9pversion(MSIZE_9P);
if(doauth){
authfid = _9pauth(AUTHFID, user, NULL);
ai = auth_proxy(authfid, auth_getkey, "proto=p9any role=client");
diff --git a/libc.h b/libc.h
index 099adba..aac03c5 100644
--- a/libc.h
+++ b/libc.h
@@ -61,6 +61,10 @@ typedef unsigned char uchar;
typedef unsigned long long uvlong;
typedef long long vlong;
+#ifndef __GLIBC__
+typedef unsigned long ulong;
+#endif
+
typedef
struct Qid
{

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fuse }:
{ lib, stdenv, fetchurl, fetchpatch, fuse }:
stdenv.mkDerivation rec {
name = "aefs-0.4pre259-8843b7c";
@ -8,12 +8,29 @@ stdenv.mkDerivation rec {
sha256 = "167hp58hmgdavg2mqn5dx1xgq24v08n8d6psf33jhbdabzx6a6zq";
};
patches = [
(fetchpatch {
url = "https://github.com/edolstra/aefs/commit/15d8df8b8d5dc1ee20d27a86c4d23163a67f3123.patch";
sha256 = "0k36hsyvf8a0ji2hpghgqff2fncj0pllxn8p0rs0aj4h7j2vp4iv";
})
];
# autoconf's AC_CHECK_HEADERS and AC_CHECK_LIBS fail to detect libfuse on
# Darwin if FUSE_USE_VERSION isn't set at configure time.
#
# NOTE: Make sure the value of FUSE_USE_VERSION specified here matches the
# actual version used in the source code:
#
# $ tar xf "$(nix-build -A aefs.src)"
# $ grep -R FUSE_USE_VERSION
configureFlags = lib.optional stdenv.isDarwin "CPPFLAGS=-DFUSE_USE_VERSION=26";
buildInputs = [ fuse ];
meta = with lib; {
homepage = "https://github.com/edolstra/aefs";
description = "A cryptographic filesystem implemented in userspace using FUSE";
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = [ maintainers.eelco ];
license = licenses.gpl2;
};

View File

@ -0,0 +1,21 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8b05ab0..81e31f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -236,16 +236,6 @@ endif()
if (''${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(MACOSX_BUNDLE_LIBS)
- if (OPENSSL_FOUND)
- list(APPEND MACOSX_BUNDLE_LIBS /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib)
- endif()
- if (TAGLIB_FOUND)
- list(APPEND MACOSX_BUNDLE_LIBS /usr/local/opt/taglib/lib/libtag.1.dylib)
- endif()
- if (FUSE_FOUND)
- list(APPEND MACOSX_BUNDLE_LIBS /usr/local/lib/libosxfuse.2.dylib)
- endif()
-
set(MACOSX_BUNDLE_LIBS_INSTALL)
set(MACOSX_BUNDLE_ROOT_DIR "''${CMAKE_INSTALL_PREFIX}/''${CMAKE_PROJECT_NAME}.app")
message(STATUS "bundle root dir: ''${MACOSX_BUNDLE_ROOT_DIR}")

View File

@ -1,4 +1,14 @@
{ lib, mkDerivation, fetchFromGitHub, cmake, fuse, readline, pkg-config, qtbase, qttools }:
{ lib
, stdenv
, mkDerivation
, fetchFromGitHub
, cmake
, fuse
, readline
, pkg-config
, qtbase
, qttools
, wrapQtAppsHook }:
mkDerivation rec {
pname = "android-file-transfer";
@ -11,14 +21,24 @@ mkDerivation rec {
sha256 = "125rq8ji83nw6chfw43i0h9c38hjqh1qjibb0gnf9wrigar9zc8b";
};
nativeBuildInputs = [ cmake readline pkg-config ];
patches = [ ./darwin-dont-vendor-dependencies.patch ];
nativeBuildInputs = [ cmake readline pkg-config wrapQtAppsHook ];
buildInputs = [ fuse qtbase qttools ];
postInstall = lib.optionalString stdenv.isDarwin ''
mkdir $out/Applications
mv $out/*.app $out/Applications
for f in $out/Applications/android-file-transfer.app/Contents/MacOS/*; do
wrapQtApp "$f"
done
'';
meta = with lib; {
description = "Reliable MTP client with minimalistic UI";
homepage = "https://whoozle.github.io/android-file-transfer-linux/";
license = licenses.lgpl21Plus;
maintainers = [ maintainers.xaverdh ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -17,6 +17,6 @@ stdenv.mkDerivation {
meta = {
description = "Gateway between FUSE and libarchive: allows mounting of cpio, .tar.gz, .tar.bz2 archives";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
};
}

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = "http://avf.sourceforge.net/";
description = "Virtual filesystem that allows browsing of compressed files";
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
license = lib.licenses.gpl2;
};
}

View File

@ -37,7 +37,10 @@ in stdenv.mkDerivation {
buildInputs = [ curl fuse libxml2 ];
nativeBuildInputs = [ pkg-config ];
buildFlags = [ "static" ];
buildFlags = [
"static"
"CC=${stdenv.cc.targetPrefix}cc"
] ++ lib.optional stdenv.isDarwin "CFLAGS=-D_BSD_SOURCE";
installPhase = ''
mkdir -p $out/bin
@ -55,6 +58,6 @@ in stdenv.mkDerivation {
'';
homepage = "https://github.com/drotiro/boxfs2";
license = licenses.gpl3;
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -25,6 +25,9 @@ stdenv.mkDerivation rec {
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryfs/files/cryfs-0.10.2-unbundle-libs.patch?id=192ac7421ddd4093125f4997898fb62e8a140a44";
sha256 = "0hzss5rawcjrh8iqzc40w5yjhxdqya4gbg6dzap70180s50mahzs";
})
# Backported from https://github.com/cryfs/cryfs/pull/378
./use-macfuse.patch
];
postPatch = ''
@ -48,16 +51,18 @@ stdenv.mkDerivation rec {
strictDeps = true;
buildInputs = [ boost cryptopp curl fuse openssl gtest ];
buildInputs = [ boost cryptopp curl fuse openssl ];
checkInputs = [ gtest ];
cmakeFlags = [
"-DCRYFS_UPDATE_CHECKS:BOOL=FALSE"
"-DBoost_USE_STATIC_LIBS:BOOL=FALSE" # this option is case sensitive
"-DUSE_SYSTEM_LIBS:BOOL=TRUE"
"-DBUILD_TESTING:BOOL=TRUE"
];
"-DBUILD_TESTING:BOOL=${if doCheck then "TRUE" else "FALSE"}"
] ++ lib.optional doCheck "-DCMAKE_PREFIX_PATH=${gtest.dev}/lib/cmake";
doCheck = (!stdenv.isDarwin); # Cryfs tests are broken on darwin
doCheck = true;
checkPhase = ''
# Skip CMakeFiles directory and tests depending on fuse (does not work well with sandboxing)
@ -73,6 +78,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.cryfs.org";
license = licenses.lgpl3;
maintainers = with maintainers; [ peterhoeg c0bw3b ];
platforms = with platforms; linux;
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,207 @@
diff --git a/.travisci/install.sh b/.travisci/install.sh
index 9057a75b..2929c360 100755
--- a/.travisci/install.sh
+++ b/.travisci/install.sh
@@ -6,12 +6,11 @@ set -e
if [ "${CXX}" == "g++" ]; then
# We need to uninstall oclint because it creates a /usr/local/include/c++ symlink that clashes with the gcc5 package
# see https://github.com/Homebrew/homebrew-core/issues/21172
- brew cask uninstall oclint
+ brew uninstall oclint
brew install gcc@7
fi
-brew cask install osxfuse
-brew install libomp
+brew install libomp pkg-config macfuse
# By default, travis only fetches the newest 50 commits. We need more in case we're further from the last version tag, so the build doesn't fail because it can't generate the version number.
git fetch --unshallow --tags
diff --git a/README.md b/README.md
index b0f4a684..7001119a 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ OSX
CryFS is distributed via Homebrew. Just do
- brew cask install osxfuse
+ brew install osxfuse
brew install cryfs
Windows (experimental)
@@ -45,6 +45,7 @@ Requirements
- Git (for getting the source code)
- GCC version >= 5.0 or Clang >= 4.0
- CMake version >= 3.0
+ - pkg-config (on Unix)
- libcurl4 (including development headers)
- Boost libraries version >= 1.65.1 (including development headers)
- filesystem
@@ -53,20 +54,20 @@ Requirements
- program_options
- thread
- SSL development libraries (including development headers, e.g. libssl-dev)
- - libFUSE version >= 2.8.6 (including development headers), on Mac OS X instead install osxfuse from https://osxfuse.github.io/
+ - libFUSE version >= 2.8.6 (including development headers), on Mac OS X instead install macFUSE from https://osxfuse.github.io/
- Python >= 2.7
- OpenMP
You can use the following commands to install these requirements
# Ubuntu
- $ sudo apt install git g++ cmake make libcurl4-openssl-dev libboost-filesystem-dev libboost-system-dev libboost-chrono-dev libboost-program-options-dev libboost-thread-dev libssl-dev libfuse-dev python
+ $ sudo apt install git g++ cmake make pkg-config libcurl4-openssl-dev libboost-filesystem-dev libboost-system-dev libboost-chrono-dev libboost-program-options-dev libboost-thread-dev libssl-dev libfuse-dev python
# Fedora
- sudo dnf install git gcc-c++ cmake make libcurl-devel boost-devel boost-static openssl-devel fuse-devel python
+ sudo dnf install git gcc-c++ cmake make pkgconf libcurl-devel boost-devel boost-static openssl-devel fuse-devel python
# Macintosh
- brew install cmake boost openssl libomp
+ brew install cmake pkg-config boost openssl libomp
Build & Install
---------------
@@ -116,17 +117,17 @@ On most systems, CMake should find the libraries automatically. However, that do
cmake .. -DBoost_USE_STATIC_LIBS=off
-2. **Fuse/Osxfuse library not found**
+2. **Fuse library not found**
Pass in the library path with
- cmake .. -DFUSE_LIB_PATH=/path/to/fuse/or/osxfuse
+ PKG_CONFIG_PATH=/path-to-fuse-or-macFUSE/lib/pkgconfig cmake ..
-3. **Fuse/Osxfuse headers not found**
+3. **Fuse headers not found**
Pass in the include path with
- cmake .. -DCMAKE_CXX_FLAGS="-I/path/to/fuse/or/osxfuse/headers"
+ PKG_CONFIG_PATH=/path-to-fuse-or-macFUSE/lib/pkgconfig cmake ..
4. **Openssl headers not found**
diff --git a/cmake-utils/utils.cmake b/cmake-utils/utils.cmake
index da4dff8c..66021c5c 100644
--- a/cmake-utils/utils.cmake
+++ b/cmake-utils/utils.cmake
@@ -157,33 +157,6 @@ function(require_clang_version VERSION)
endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endfunction(require_clang_version)
-##################################################
-# Find the location of a library and return its full path in OUTPUT_VARIABLE.
-# If PATH_VARIABLE points to a defined variable, then the library will only be searched in this path.
-# If PATH_VARIABLE points to a undefined variable, default system locations will be searched.
-#
-# Uses (the following will search for fuse in system locations by default, and if the user passes -DFUSE_LIB_PATH to cmake, it will only search in this path.
-# find_library_with_path(MYLIBRARY fuse FUSE_LIB_PATH)
-# target_link_library(target ${MYLIBRARY})
-##################################################
-function(find_library_with_path OUTPUT_VARIABLE LIBRARY_NAME PATH_VARIABLE)
- if(${PATH_VARIABLE})
- find_library(${OUTPUT_VARIABLE} ${LIBRARY_NAME} PATHS ${${PATH_VARIABLE}} NO_DEFAULT_PATH)
- if (${OUTPUT_VARIABLE} MATCHES NOTFOUND)
- message(FATAL_ERROR "Didn't find ${LIBRARY_NAME} in path specified by the ${PATH_VARIABLE} parameter (${${PATH_VARIABLE}}). Pass in the correct path or remove the parameter to try common system locations.")
- else(${OUTPUT_VARIABLE} MATCHES NOTFOUND)
- message(STATUS "Found ${LIBRARY_NAME} in user-defined path ${${PATH_VARIABLE}}")
- endif(${OUTPUT_VARIABLE} MATCHES NOTFOUND)
- else(${PATH_VARIABLE})
- find_library(${OUTPUT_VARIABLE} ${LIBRARY_NAME})
- if (${OUTPUT_VARIABLE} MATCHES NOTFOUND)
- message(FATAL_ERROR "Didn't find ${LIBRARY_NAME} library. If ${LIBRARY_NAME} is installed, try passing in the library location with -D${PATH_VARIABLE}=/path/to/${LIBRARY_NAME}/lib.")
- else(${OUTPUT_VARIABLE} MATCHES NOTFOUND)
- message(STATUS "Found ${LIBRARY_NAME} in system location")
- endif(${OUTPUT_VARIABLE} MATCHES NOTFOUND)
- endif(${PATH_VARIABLE})
-endfunction(find_library_with_path)
-
include(cmake-utils/TargetArch.cmake)
function(get_target_architecture output_var)
target_architecture(local_output_var)
diff --git a/src/fspp/fuse/CMakeLists.txt b/src/fspp/fuse/CMakeLists.txt
index b991bd72..8df3dbb7 100644
--- a/src/fspp/fuse/CMakeLists.txt
+++ b/src/fspp/fuse/CMakeLists.txt
@@ -35,12 +35,12 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
DESTINATION "${CMAKE_INSTALL_BINDIR}"
)
-elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- set(CMAKE_FIND_FRAMEWORK LAST)
- find_library_with_path(FUSE "osxfuse" FUSE_LIB_PATH)
- target_link_libraries(${PROJECT_NAME} PUBLIC ${FUSE})
-else() # Linux
- find_library_with_path(FUSE "fuse" FUSE_LIB_PATH)
- target_link_libraries(${PROJECT_NAME} PUBLIC ${FUSE})
+else() # Linux and macOS
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(Fuse REQUIRED IMPORTED_TARGET fuse)
+ target_link_libraries(${PROJECT_NAME} PUBLIC PkgConfig::Fuse)
endif()
+if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ set(CMAKE_FIND_FRAMEWORK LAST)
+endif()
diff --git a/src/fspp/fuse/Fuse.cpp b/src/fspp/fuse/Fuse.cpp
index 52cd5644..df0b400d 100644
--- a/src/fspp/fuse/Fuse.cpp
+++ b/src/fspp/fuse/Fuse.cpp
@@ -295,7 +295,7 @@ vector<char *> Fuse::_build_argv(const bf::path &mountdir, const vector<string>
// Make volume name default to mountdir on macOS
_add_fuse_option_if_not_exists(&argv, "volname", mountdir.filename().string());
#endif
- // TODO Also set read/write size for osxfuse. The options there are called differently.
+ // TODO Also set read/write size for macFUSE. The options there are called differently.
// large_read not necessary because reads are large anyhow. This option is only important for 2.4.
//argv.push_back(_create_c_string("-o"));
//argv.push_back(_create_c_string("large_read"));
diff --git a/src/fspp/fuse/params.h b/src/fspp/fuse/params.h
index 4a45ef79..9903ac82 100644
--- a/src/fspp/fuse/params.h
+++ b/src/fspp/fuse/params.h
@@ -3,14 +3,6 @@
#define MESSMER_FSPP_FUSE_PARAMS_H_
#define FUSE_USE_VERSION 26
-#if defined(__linux__) || defined(__FreeBSD__)
#include <fuse.h>
-#elif __APPLE__
-#include <osxfuse/fuse.h>
-#elif defined(_MSC_VER)
-#include <fuse.h> // Dokany fuse
-#else
-#error System not supported
-#endif
#endif
diff --git a/src/fspp/impl/FilesystemImpl.cpp b/src/fspp/impl/FilesystemImpl.cpp
index bc0ffbd7..23b28601 100644
--- a/src/fspp/impl/FilesystemImpl.cpp
+++ b/src/fspp/impl/FilesystemImpl.cpp
@@ -321,7 +321,7 @@ void FilesystemImpl::statfs(struct ::statvfs *fsstat) {
fsstat->f_namemax = stat.max_filename_length;
//f_frsize, f_favail, f_fsid and f_flag are ignored in fuse, see http://fuse.sourcearchive.com/documentation/2.7.0/structfuse__operations_4e765e29122e7b6b533dc99849a52655.html#4e765e29122e7b6b533dc99849a52655
- fsstat->f_frsize = fsstat->f_bsize; // even though this is supposed to be ignored, osxfuse needs it.
+ fsstat->f_frsize = fsstat->f_bsize; // even though this is supposed to be ignored, macFUSE needs it.
}
void FilesystemImpl::createSymlink(const bf::path &to, const bf::path &from, ::uid_t uid, ::gid_t gid) {
diff --git a/test/fspp/testutils/FuseThread.cpp b/test/fspp/testutils/FuseThread.cpp
index 277a2dac..7f3638db 100644
--- a/test/fspp/testutils/FuseThread.cpp
+++ b/test/fspp/testutils/FuseThread.cpp
@@ -23,7 +23,7 @@ void FuseThread::start(const bf::path &mountDir, const vector<string> &fuseOptio
//Wait until it is running (busy waiting is simple and doesn't hurt much here)
while(!_fuse->running()) {}
#ifdef __APPLE__
- // On Mac OS X, _fuse->running() returns true too early, because osxfuse calls init() when it's not ready yet. Give it a bit time.
+ // On Mac OS X, _fuse->running() returns true too early, because macFUSE calls init() when it's not ready yet. Give it a bit time.
std::this_thread::sleep_for(std::chrono::milliseconds(200));
#endif
}

View File

@ -1,4 +1,4 @@
{lib, stdenv, fetchurl, fuse, curl, pkg-config, glib, zlib}:
{ lib, stdenv, fetchurl, autoreconfHook, fuse, curl, pkg-config, glib, zlib }:
stdenv.mkDerivation {
name = "curlftpfs-0.9.2";
@ -6,8 +6,18 @@ stdenv.mkDerivation {
url = "mirror://sourceforge/curlftpfs/curlftpfs-0.9.2.tar.gz";
sha256 = "0n397hmv21jsr1j7zx3m21i7ryscdhkdsyqpvvns12q7qwwlgd2f";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [fuse curl glib zlib];
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ fuse curl glib zlib ];
CFLAGS = lib.optionalString stdenv.isDarwin "-D__off_t=off_t";
postPatch = lib.optionalString stdenv.isDarwin ''
# Fix the build on macOS with macFUSE installed. Needs autoreconfHook for
# this change to effect
substituteInPlace configure.ac --replace \
'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' \
""
'';
doCheck = false; # fails, doesn't work well too, btw
@ -15,7 +25,6 @@ stdenv.mkDerivation {
description = "Filesystem for accessing FTP hosts based on FUSE and libcurl";
homepage = "http://curlftpfs.sourceforge.net";
license = licenses.gpl2;
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cmake, fuse, zlib, bzip2, openssl, libxml2, icu, lzfse }:
{ lib, stdenv, fetchFromGitHub, cmake, fuse, zlib, bzip2, openssl, libxml2, icu, lzfse, libiconv }:
stdenv.mkDerivation rec {
pname = "darling-dmg";
@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake ];
buildInputs = [ fuse openssl zlib bzip2 libxml2 icu lzfse ];
buildInputs = [ fuse openssl zlib bzip2 libxml2 icu lzfse ]
++ lib.optionals stdenv.isDarwin [ libiconv ];
CXXFLAGS = [
"-DCOMPILE_WITH_LZFSE=1"
@ -22,8 +23,8 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://www.darlinghq.org/";
description = "Darling lets you open macOS dmgs on Linux";
platforms = platforms.linux;
license = licenses.gpl3;
platforms = platforms.unix;
license = licenses.gpl3Only;
maintainers = with maintainers; [ Luflosi ];
};
}

View File

@ -1,6 +1,8 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, pkg-config
, mbedtls
, fuse
}:
@ -17,7 +19,20 @@ stdenv.mkDerivation rec {
sha256 = "1ak68s1v5dwh8y2dy5zjybmrh0pnqralmyqzis67y21m87g47h2k";
};
nativeBuildInputs = [ cmake ];
patches = [
# This patch
# 1. adds support for the latest FUSE on macOS
# 2. uses pkg-config to find libfuse instead of searching in predetermined
# paths
#
# https://github.com/Aorimn/dislocker/pull/246
(fetchpatch {
url = "https://github.com/Aorimn/dislocker/commit/7744f87c75fcfeeb414d0957771042b10fb64e62.diff";
sha256 = "0bpyccbbfjsidsrd2q9qylb95nvi8g3glb3jss7xmhywj86bhzr5";
})
];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ fuse mbedtls ];
meta = with lib; {
@ -25,6 +40,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/aorimn/dislocker";
license = licenses.gpl2;
maintainers = with maintainers; [ elitak ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "An encrypted filesystem in user-space via FUSE";
homepage = "https://vgough.github.io/encfs";
license = with licenses; [ gpl3 lgpl3 ];
platforms = with platforms; linux;
license = with licenses; [ gpl3Plus lgpl3Plus ];
platforms = platforms.unix;
};
}

View File

@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
inherit (src.meta) homepage;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ dywedir ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -14,6 +14,12 @@ python3Packages.buildPythonApplication rec {
patchPhase = ''
# requirement checks are unnecessary at runtime
echo > requirements.txt
# NOTE: As of gitfs 0.5.2, The pygit2 release that upstream uses is a major
# version behind the one packaged in nixpkgs.
substituteInPlace gitfs/mounter.py --replace \
'from pygit2.remote import RemoteCallbacks' \
'from pygit2 import RemoteCallbacks'
'';
checkInputs = with python3Packages; [ pytest pytestcov mock ];
@ -31,7 +37,7 @@ python3Packages.buildPythonApplication rec {
'';
homepage = "https://github.com/PressLabs/gitfs";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.robbinch ];
};
}

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
maintainers = [ ];
};
}

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, curl, openssl, fuse, libxml2, json_c, file }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, curl, openssl, fuse, libxml2, json_c, file }:
stdenv.mkDerivation rec {
pname = "hubicfuse";
@ -11,6 +11,15 @@ stdenv.mkDerivation rec {
sha256 = "1x988hfffxgvqxh083pv3lj5031fz03sbgiiwrjpaiywfbhm8ffr";
};
patches = [
# Fix Darwin build
# https://github.com/TurboGit/hubicfuse/pull/159
(fetchpatch {
url = "https://github.com/TurboGit/hubicfuse/commit/b460f40d86bc281a21379158a7534dfb9f283786.patch";
sha256 = "0nqvcbrgbc5dms8fkz3brlj40yn48p36drabrnc26gvb3hydh5dl";
})
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ curl openssl fuse libxml2 json_c file ];
postInstall = ''
@ -22,7 +31,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/TurboGit/hubicfuse";
description = "FUSE-based filesystem to access hubic cloud storage";
platforms = platforms.linux;
platforms = platforms.unix;
license = licenses.mit;
maintainers = [ maintainers.jpierre03 ];
};

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
devices.
'';
license = licenses.lgpl21Plus;
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ infinisil ];
};
}

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, file, fuse, libmtp }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, file, fuse, libmtp }:
let version = "0.5"; in
stdenv.mkDerivation {
@ -12,14 +12,22 @@ stdenv.mkDerivation {
owner = "JasonFerrara";
};
patches = [
# Fix Darwin build (https://github.com/JasonFerrara/jmtpfs/pull/12)
(fetchpatch {
url = "https://github.com/JasonFerrara/jmtpfs/commit/b89084303477d1bc4dc9a887ba9cdd75221f497d.patch";
sha256 = "0s7x3jfk8i86rd5bwhj7mb1lffcdlpj9bd7b41s1768ady91rb29";
})
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ file fuse libmtp ];
meta = with lib; {
description = "A FUSE filesystem for MTP devices like Android phones";
homepage = "https://github.com/JasonFerrara/jmtpfs";
license = licenses.gpl3;
platforms = platforms.linux;
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = [ maintainers.coconnor ];
};
}

View File

@ -24,14 +24,30 @@ stdenv.mkDerivation rec {
buildInputs =
[ fuse libpcap zlib python ];
buildFlags = lib.optionals stdenv.isDarwin [ "CPPFLAGS=-UHAVE_STRUCT_STAT_ST_BIRTHTIME" ];
# Fix the build on macOS with macFUSE installed
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace configure --replace \
"/usr/local/lib/pkgconfig" "/nonexistent"
'';
preBuild = lib.optional stdenv.isDarwin ''
substituteInPlace config.h --replace \
"#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1" \
"#undef HAVE_STRUCT_STAT_ST_BIRTHTIME"
'';
postInstall = ''
substituteInPlace $out/sbin/mfscgiserv --replace "datapath=\"$out" "datapath=\""
'';
doCheck = true;
meta = with lib; {
homepage = "https://moosefs.com";
description = "Open Source, Petabyte, Fault-Tolerant, Highly Performing, Scalable Network Distributed File System";
platforms = platforms.linux;
platforms = platforms.unix;
license = licenses.gpl2;
maintainers = [ maintainers.mfossen ];
};

View File

@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
'';
homepage = "https://khenriks.github.io/mp3fs/";
license = licenses.gpl3Plus;
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
description = "FUSE for access Playstation 2 IOP IOPRP images and BIOS dumps";
homepage = "https://github.com/mlafeldt/romdirfs";
license = licenses.gpl3;
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ ];
};
}

View File

@ -16,6 +16,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ fuse curl expat ];
# AC_CHECK_DECLS doesn't work with clang
postPatch = lib.optionalString stdenv.cc.isClang ''
substituteInPlace configure.ac --replace \
'AC_CHECK_DECLS(fdatasync)' ""
'';
autoreconfPhase = ''
patchShebangs ./autogen.sh
./autogen.sh
@ -25,6 +31,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/archiecobbs/s3backer";
description = "FUSE-based single file backing store via Amazon S3";
license = licenses.gpl2Plus;
platforms = with platforms; linux;
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,188 @@
From 8c65c2219976c02a68e27c28156ec0c4c02857e0 Mon Sep 17 00:00:00 2001
From: midchildan <git@midchildan.org>
Date: Sun, 28 Mar 2021 23:39:59 +0900
Subject: [PATCH] Support the latest FUSE on macOS
This drops osxfuse support in favor of macFUSE. macFUSE is a newer
version of osxfuse that supports the latest release of macOS, and is a
rebranded version of the same project.
---
CMakeLists.txt | 8 ++----
LICENSE.md | 58 ++++++++++++++++++++------------------
README.md | 2 +-
sources/commands.cpp | 6 ----
4 files changed, 33 insertions(+), 41 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b5e57d..c176554 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,12 +18,8 @@ git_describe(GIT_VERSION --tags)
configure_file(${CMAKE_SOURCE_DIR}/sources/git-version.cpp.in ${CMAKE_BINARY_DIR}/git-version.cpp)
if (UNIX)
- find_path(FUSE_INCLUDE_DIR fuse.h PATHS /usr/local/include PATH_SUFFIXES osxfuse)
- if (APPLE)
- find_library(FUSE_LIBRARIES osxfuse PATHS /usr/local/lib)
- else()
- find_library(FUSE_LIBRARIES fuse PATHS /usr/local/lib)
- endif()
+ find_path(FUSE_INCLUDE_DIR fuse.h PATHS /usr/local/include)
+ find_library(FUSE_LIBRARIES fuse PATHS /usr/local/lib)
include_directories(${FUSE_INCLUDE_DIR})
link_libraries(${FUSE_LIBRARIES})
add_compile_options(-Wall -Wextra -Wno-unknown-pragmas)
diff --git a/LICENSE.md b/LICENSE.md
index a8f920c..b134532 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -758,13 +758,11 @@ Public License instead of this License.
------------------------------------------------------------------------------
-# [osxfuse] (https://github.com/osxfuse/osxfuse)
+# [macFUSE] (https://github.com/osxfuse/osxfuse)
-FUSE for macOS is a software developed by the osxfuse project and is covered
-under the following BSD-style license:
+macFUSE is covered under the following license:
- Copyright (c) 2011-2016 Benjamin Fleischer
- Copyright (c) 2011-2012 Erik Larsson
+ Copyright (c) 2011-2021 Benjamin Fleischer
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -775,9 +773,13 @@ under the following BSD-style license:
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- 3. Neither the name of osxfuse nor the names of its contributors may be used
- to endorse or promote products derived from this software without specific
- prior written permission.
+ 3. Neither the name of the copyright holder nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ 4. Redistributions in binary form, bundled with commercial software, are not
+ allowed without specific prior written permission. This includes the
+ automated download or installation or both of the binary form in the
+ context of commercial software.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -791,9 +793,9 @@ under the following BSD-style license:
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-FUSE for macOS is a fork of MacFUSE. MacFUSE has been developed by Google Inc..
-Additional information and the original source of MacFUSE are available on
-http://code.google.com/p/macfuse/. MacFUSE is covered under the following
+macFUSE is a fork of the legacy Google MacFUSE software. Additional information
+and the original source code of Google MacFUSE are available on
+http://code.google.com/p/macfuse/. Google MacFUSE is covered under the following
BSD-style license:
Copyright (c) 2007—2009 Google Inc.
@@ -830,9 +832,9 @@ BSD-style license:
Portions of this package were derived from code developed by other authors.
Please read further for specific details.
-* Unless otherwise noted, parts of the FUSE for macOS kernel extension contain
- code derived from the FreeBSD version of FUSE, which is covered under the
- following BSD-style license:
+* Unless otherwise noted, parts of the macFUSE kernel extension contain code
+ derived from the FreeBSD version of FUSE, which is covered under the following
+ BSD-style license:
Copyright (C) 2005 Csaba Henk. All rights reserved.
@@ -856,12 +858,13 @@ Please read further for specific details.
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-* Parts of the FUSE for macOS kernel extension contain code derived from Tuxera
- Inc.'s "rebel" branch. The original source of the "rebel" branch is available
- on https://github.com/tuxera. These modifications are covered under the
- following BSD-style license:
+* Parts of the macFUSE kernel extension contain code derived from Tuxera's
+ "rebel" branch. The original source code of the "rebel" branch is available on
+ https://github.com/tuxera. These modifications are covered under the following
+ BSD-style license:
Copyright (c) 2010 Tuxera Inc.
+ Copyright (c) 2011-2012 Erik Larsson
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -888,9 +891,9 @@ Please read further for specific details.
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-* Parts of FUSE for macOS contain code derived from Fuse4X. The original source
- of Fuse4X is available on https://github.com/fuse4x. Fuse4X is covered under
- the following BSD-style license:
+* Parts of macFUSE contain code derived from Fuse4X. The original source code of
+ Fuse4X is available on https://github.com/fuse4x. Fuse4X is covered under the
+ following BSD-style license:
Copyright (c) 2011 Anatol Pomozov
All rights reserved.
@@ -916,21 +919,20 @@ Please read further for specific details.
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-* Parts of the mount_osxfuse command-line program are covered under the Apple
+* Parts of the mount_macfuse command-line program are covered under the Apple
Public Source License (APSL). You can read the APSL at:
http://www.opensource.apple.com/license/apsl/
-* fuse_kernel.h is an unmodified copy of the interface header from the Linux
+* fuse_kernel.h is a modified copy of the interface header from the Linux
FUSE distribution (https://github.com/libfuse/libfuse). fuse_kernel.h can be
redistributed either under the GPL or under the BSD license. It is being
redistributed here under the BSD license.
-* fuse_nodehash.c is a slightly modified version of HashNode.c from an
- Apple Developer Technical Support (DTS) sample code example. The original
- source, which is available on
- http://developer.apple.com/library/mac/#samplecode/MFSLives/, has the
- following disclaimer:
+* fuse_nodehash.c is a modified version of HashNode.c from an Apple Developer
+ Technical Support (DTS) sample code example. The original source, which is
+ available on http://developer.apple.com/library/mac/#samplecode/MFSLives/,
+ has the following disclaimer:
Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple
Computer, Inc. Apple") in consideration of your agreement to the following
diff --git a/README.md b/README.md
index 9085e96..6fe3592 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ There are already many encrypting filesystem in widespread use. Some notable one
### macOS
-Install with [Homebrew](https://brew.sh). [osxfuse](https://osxfuse.github.io) has to be installed beforehand.
+Install with [Homebrew](https://brew.sh). [macFUSE](https://osxfuse.github.io) has to be installed beforehand.
```
brew install securefs
```
diff --git a/sources/commands.cpp b/sources/commands.cpp
index a371212..862602b 100644
--- a/sources/commands.cpp
+++ b/sources/commands.cpp
@@ -1252,12 +1252,6 @@ class VersionCommand : public CommandBase
printf("WinFsp %u.%u\n", vn >> 16, vn & 0xFFFFu);
}
}
-#elif defined(__APPLE__)
- typedef const char* version_function(void);
- auto osx_version_func
- = reinterpret_cast<version_function*>(::dlsym(RTLD_DEFAULT, "osxfuse_version"));
- if (osx_version_func)
- printf("osxfuse %s\n", osx_version_func());
#else
typedef int version_function(void);
auto fuse_version_func

View File

@ -14,6 +14,12 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
patches = [
# Make it build with macFUSE
# Backported from https://github.com/netheril96/securefs/pull/114
./add-macfuse-support.patch
];
nativeBuildInputs = [ cmake ];
buildInputs = [ fuse ];
@ -31,6 +37,6 @@ stdenv.mkDerivation rec {
contents.
'';
license = with licenses; [ bsd2 mit ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -19,6 +19,17 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ qyliss ];
platforms = platforms.unix;
# TODO: Remove once nixpkgs uses newer SDKs that supports '*at' functions.
# Probably macOS SDK 10.13 or later. Check the current version in
# ../../../../os-specific/darwin/apple-sdk/default.nix
#
# From the build logs:
#
# > Undefined symbols for architecture x86_64:
# > "_utimensat", referenced from:
# > _set_attribs in rdsquashfs-restore_fstree.o
# > ld: symbol(s) not found for architecture x86_64
broken = stdenv.isDarwin;
};
}

View File

@ -8,10 +8,6 @@ stdenv.mkDerivation rec {
pname = "squashfuse";
version = "0.1.103";
# platforms.darwin should be supported : see PLATFORMS file in src.
# we could use a nix fuseProvider, and let the derivation choose the OS
# specific implementation.
src = fetchFromGitHub {
owner = "vasi";
repo = pname;
@ -26,7 +22,7 @@ stdenv.mkDerivation rec {
description = "FUSE filesystem to mount squashfs archives";
homepage = "https://github.com/vasi/squashfuse";
maintainers = [ ];
platforms = platforms.linux;
platforms = platforms.unix;
license = "BSD-2-Clause";
};
}

View File

@ -1,14 +1,26 @@
{ lib, stdenv, fetchurl, automake, autoconf, subversion, fuse, apr, perl }:
{ lib, stdenv, fetchurl, autoreconfHook, subversion, fuse, apr, perl }:
stdenv.mkDerivation {
name = "svnfs-0.4";
stdenv.mkDerivation rec {
pname = "svnfs";
version = "0.4";
src = fetchurl {
url = "http://www.jmadden.eu/wp-content/uploads/svnfs/svnfs-0.4.tgz";
url = "http://www.jmadden.eu/wp-content/uploads/svnfs/svnfs-${version}.tgz";
sha256 = "1lrzjr0812lrnkkwk60bws9k1hq2iibphm0nhqyv26axdsygkfky";
};
buildInputs = [automake autoconf subversion fuse apr perl];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ subversion fuse apr perl ];
# autoconf's AC_CHECK_HEADERS and AC_CHECK_LIBS fail to detect libfuse on
# Darwin if FUSE_USE_VERSION isn't set at configure time.
#
# NOTE: Make sure the value of FUSE_USE_VERSION specified here matches the
# actual version used in the source code:
#
# $ tar xf "$(nix-build -A svnfs.src)"
# $ grep -R FUSE_USE_VERSION
configureFlags = lib.optionals stdenv.isDarwin [ "CFLAGS=-DFUSE_USE_VERSION=25" ];
# why is this required?
preConfigure=''
@ -21,8 +33,8 @@ stdenv.mkDerivation {
meta = {
description = "FUSE filesystem for accessing Subversion repositories";
homepage = "http://www.jmadden.eu/index.php/svnfs/";
license = lib.licenses.gpl2;
license = lib.licenses.gpl2Only;
maintainers = [lib.maintainers.marcweber];
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
};
}

View File

@ -1,4 +1,4 @@
{ lib, buildGoPackage, fetchFromGitHub, fuse, installShellFiles }:
{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
buildGoPackage rec {
pname = "tmsu";
@ -14,7 +14,6 @@ buildGoPackage rec {
goDeps = ./deps.nix;
buildInputs = [ fuse ];
nativeBuildInputs = [ installShellFiles ];
preBuild = ''
@ -24,7 +23,10 @@ buildGoPackage rec {
'';
postInstall = ''
mv $out/bin/{TMSU,tmsu}
# can't do "mv TMSU tmsu" on case-insensitive filesystems
mv $out/bin/{TMSU,tmsu.tmp}
mv $out/bin/{tmsu.tmp,tmsu}
cp src/misc/bin/* $out/bin/
installManPage src/misc/man/tmsu.1
installShellCompletion --zsh src/misc/zsh/_tmsu
@ -34,7 +36,7 @@ buildGoPackage rec {
homepage = "http://www.tmsu.org";
description = "A tool for tagging your files using a virtual filesystem";
maintainers = with maintainers; [ pSub ];
license = licenses.gpl3;
platforms = platforms.linux;
license = licenses.gpl3Plus;
platforms = platforms.unix;
};
}

View File

@ -5,8 +5,8 @@
fetch = {
type = "git";
url = "https://github.com/hanwen/go-fuse";
rev = "730713460d4fc41afdc2533bd37ff60c94c0c586";
sha256 = "1y44d08fxyis99s6jxdr6dbbw5kv3wb8lkhq3xmr886i4w41lz03";
rev = "0f728ba15b38579efefc3dc47821882ca18ffea7";
sha256 = "05ymw2pp58avf19wvi0cgdzqf3d88k1jdf6ldj4hmhbkm3waqf7l";
};
}
{

View File

@ -1,18 +1,27 @@
{lib, stdenv, fetchurl, glib, neon, fuse, pkg-config}:
{lib, stdenv, fetchurl, glib, neon, fuse, autoreconfHook, pkg-config}:
stdenv.mkDerivation rec {
pname = "wdfs-fuse";
version = "1.4.2";
stdenv.mkDerivation {
name = "wdfs-fuse-1.4.2";
src = fetchurl {
url = "http://noedler.de/projekte/wdfs/wdfs-1.4.2.tar.gz";
url = "http://noedler.de/projekte/wdfs/wdfs-${version}.tar.gz";
sha256 = "fcf2e1584568b07c7f3683a983a9be26fae6534b8109e09167e5dff9114ba2e5";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [fuse glib neon];
postPatch = lib.optionalString stdenv.isDarwin ''
# Fix the build on macOS with macFUSE installed. Needs autoreconfHook to
# take effect.
substituteInPlace configure.ac --replace \
'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' ""
'';
meta = with lib; {
homepage = "http://noedler.de/projekte/wdfs/";
license = licenses.gpl2;
license = licenses.gpl2Plus;
description = "User-space filesystem that allows to mount a webdav share";
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,39 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, rustPlatform
, Security
}:
rustPlatform.buildRustPackage rec {
pname = "anevicon";
version = "0.1.0";
src = fetchFromGitHub {
owner = "rozgo";
repo = pname;
rev = "v${version}";
sha256 = "1m3ci7g7nn28p6x5m85av3ljgszwlg55f1hmgjnarc6bas5bapl7";
};
cargoSha256 = "1g15v13ysx09fy0b8qddw5fwql2pvwzc2g2h1ndhzpxvfy7fzpr1";
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
cargoPatches = [
# Add Cargo.lock file, https://github.com/rozgo/anevicon/pull/1
(fetchpatch {
name = "cargo-lock-file.patch";
url = "https://github.com/rozgo/anevicon/commit/205440a0863aaea34394f30f4255fa0bb1704aed.patch";
sha256 = "02syzm7irn4slr3s5dwwhvg1qx8fdplwlhza8gfkc6ajl7vdc7ri";
})
];
meta = with lib; {
description = "UDP-based load generator";
homepage = "https://github.com/rozgo/anevicon";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,37 @@
{ lib
, fetchFromGitHub
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "dnstwist";
version = "20201228";
disabled = python3.pythonOlder "3.6";
src = fetchFromGitHub {
owner = "elceef";
repo = pname;
rev = version;
sha256 = "0bxshi1p0va2f449v6vsm8bav5caa3r3pyknj3zf4n5rvk6say70";
};
propagatedBuildInputs = with python3.pkgs; [
dnspython
GeoIP
ppdeep
requests
tld
whois
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "dnstwist" ];
meta = with lib; {
description = "Domain name permutation engine for detecting homograph phishing attacks";
homepage = "https://github.com/elceef/dnstwist";
license = with licenses; [ gpl3Only ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,50 @@
{ lib
, stdenv
, fetchFromGitHub
, installShellFiles
, libcap
, openssl
, pkg-config
, rustPlatform
, Security
, zlib
}:
rustPlatform.buildRustPackage rec {
pname = "badtouch";
version = "0.7.3";
src = fetchFromGitHub {
owner = "kpcyrd";
repo = pname;
rev = "v${version}";
sha256 = "05dzwx9y8zh0y9zd4mibp02255qphc6iqy916fkm3ahaw0rg84h3";
};
cargoSha256 = "0mmglgz037dk3g7qagf1dyss5hvvsdy0m5m1h6c3rk5bp5kjzg87";
nativeBuildInputs = [
installShellFiles
pkg-config
];
buildInputs = [
libcap
zlib
openssl
] ++ lib.optional stdenv.isDarwin Security;
postInstall = ''
installManPage docs/${pname}.1
'';
# Tests requires access to httpin.org
doCheck = false;
meta = with lib; {
description = "Scriptable network authentication cracker";
homepage = "https://github.com/kpcyrd/badtouch";
license = with licenses; [ gpl3Only ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,27 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "wprecon";
version = "1.6.3a";
src = fetchFromGitHub {
owner = "blackbinn";
repo = pname;
rev = version;
sha256 = "0gqi4799ha3mf8r7ini0wj4ilkfsh80vnnxijfv9a343r6z5w0dn";
};
vendorSha256 = "1sab58shspll96rqy1rp659s0yikqdcx59z9b88d6p4w8a98ns87";
meta = with lib; {
description = "WordPress vulnerability recognition tool";
homepage = "https://github.com/blackbinn/wprecon";
# License Zero Noncommercial Public License 2.0.1
# https://github.com/blackbinn/wprecon/blob/master/LICENSE
license = with licenses; [ unfree ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, rustPlatform
, Security
, libiconv, Security
}:
rustPlatform.buildRustPackage rec {
@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-opRinhTmhZxpAwHNiVOLXL8boQf09Y1NXrWQ6HWQYQ0=";
buildInputs = lib.optional stdenv.isDarwin Security;
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
meta = with lib; {
description = "A code search-and-replace tool";

View File

@ -1347,6 +1347,8 @@ in
enpass = callPackage ../tools/security/enpass { };
esbuild = callPackage ../development/tools/esbuild { };
essentia-extractor = callPackage ../tools/audio/essentia-extractor { };
esh = callPackage ../tools/text/esh { };
@ -1598,6 +1600,10 @@ in
novacomd = callPackage ../development/mobile/webos/novacomd.nix { };
};
anevicon = callPackage ../tools/networking/anevicon {
inherit (darwin.apple_sdk.frameworks) Security;
};
apprise = with python3Packages; toPythonApplication apprise;
aria2 = callPackage ../tools/networking/aria2 {
@ -1666,6 +1672,10 @@ in
backblaze-b2 = callPackage ../development/tools/backblaze-b2 { };
badtouch = callPackage ../tools/security/badtouch {
inherit (darwin.apple_sdk.frameworks) Security;
};
bandwhich = callPackage ../tools/networking/bandwhich {
inherit (darwin.apple_sdk.frameworks) Security;
};
@ -9297,6 +9307,8 @@ in
xe = callPackage ../tools/system/xe { };
xplr = callPackage ../applications/misc/xplr {};
testdisk = libsForQt5.callPackage ../tools/system/testdisk { };
testdisk-qt = testdisk.override { enableQt = true; };
@ -12440,9 +12452,7 @@ in
wxGTK = wxGTK30;
};
buck = callPackage ../development/tools/build-managers/buck {
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
buck = callPackage ../development/tools/build-managers/buck { };
buildkite-agent = buildkite-agent3;
buildkite-agent2 = throw "pkgs.buildkite-agent2 has been discontinued. Please use pkgs.buildkite-agent (v3.x)";
@ -17520,6 +17530,8 @@ in
sqlar = callPackage ../development/libraries/sqlite/sqlar.nix { };
sqlitecpp = callPackage ../development/libraries/sqlitecpp { };
sqlite-interactive = appendToName "interactive" (sqlite.override { interactive = true; }).bin;
sqlite-jdbc = callPackage ../servers/sql/sqlite/jdbc { };
@ -21869,7 +21881,7 @@ in
acd-cli = callPackage ../applications/networking/sync/acd_cli {
inherit (python3Packages)
buildPythonApplication appdirs colorama dateutil
requests requests_toolbelt sqlalchemy fusepy;
requests requests_toolbelt setuptools sqlalchemy fusepy;
};
adobe-reader = pkgsi686Linux.callPackage ../applications/misc/adobe-reader { };
@ -30297,7 +30309,9 @@ in
rmount = callPackage ../tools/filesystems/rmount {};
romdirfs = callPackage ../tools/filesystems/romdirfs {};
romdirfs = callPackage ../tools/filesystems/romdirfs {
stdenv = gccStdenv;
};
rss-glx = callPackage ../misc/screensavers/rss-glx { };
@ -30639,6 +30653,8 @@ in
wordpress = callPackage ../servers/web-apps/wordpress { };
wprecon = callPackage ../tools/security/wprecon { };
wraith = callPackage ../applications/networking/irc/wraith {
openssl = openssl_1_0_2;
};
@ -30923,6 +30939,8 @@ in
inherit (darwin) libresolv;
};
dnstwist = callPackage ../tools/networking/dnstwist {};
dsniff = callPackage ../tools/networking/dsniff {};
wal-g = callPackage ../tools/backup/wal-g { };

View File

@ -4890,6 +4890,8 @@ in {
pkuseg = callPackage ../development/python-modules/pkuseg { };
ppdeep = callPackage ../development/python-modules/ppdeep { };
pynndescent = callPackage ../development/python-modules/pynndescent { };
pynuki = callPackage ../development/python-modules/pynuki { };