uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,39 @@
{ lib, fetchFromGitHub, buildPythonApplication, fuse
, appdirs, colorama, python-dateutil, requests, requests-toolbelt
, fusepy, sqlalchemy, setuptools }:
buildPythonApplication rec {
pname = "acd_cli";
version = "0.3.2";
doCheck = false;
src = fetchFromGitHub {
owner = "yadayada";
repo = pname;
rev = version;
sha256 = "0a0fr632l24a3jmgla3b1vcm50ayfa9hdbp677ch1chwj5dq4zfp";
};
propagatedBuildInputs = [ appdirs colorama python-dateutil fusepy requests
requests-toolbelt setuptools sqlalchemy ];
makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${fuse}/lib/libfuse.so" ];
postFixup = ''
function lnOverBin() {
rm -f $out/bin/{$2,.$2-wrapped}
ln -s $out/bin/$1 $out/bin/$2
}
lnOverBin acd_cli.py acd-cli
lnOverBin acd_cli.py acd_cli
lnOverBin acd_cli.py acdcli
'';
meta = with lib; {
description = "A command line interface and FUSE filesystem for Amazon Cloud Drive";
homepage = "https://github.com/yadayada/acd_cli";
license = licenses.gpl2;
maintainers = with maintainers; [ edwtjo ];
};
}

View file

@ -0,0 +1,52 @@
{stdenv, lib, fetchFromGitHub, makeWrapper, gettext,
python3, rsync, cron, openssh, sshfs-fuse, encfs }:
let
python' = python3.withPackages (ps: with ps; [ dbus-python keyring ]);
apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
in stdenv.mkDerivation rec {
pname = "backintime-common";
version = "1.3.2";
src = fetchFromGitHub {
owner = "bit-team";
repo = "backintime";
rev = "v${version}";
sha256 = "sha256-7iTQZ7SiESsKK8F8BpLrRNkj8JhHo64kliaOvMvYGvw=";
};
nativeBuildInputs = [ makeWrapper gettext ];
buildInputs = [ python' ];
installFlags = [ "DEST=$(out)" ];
preConfigure = ''
cd common
substituteInPlace configure \
--replace "/.." "" \
--replace "share/backintime" "${python'.sitePackages}/backintime"
substituteInPlace "backintime" \
--replace "share" "${python'.sitePackages}"
'';
dontAddPrefix = true;
preFixup = ''
wrapProgram "$out/bin/backintime" \
--prefix PATH : ${apps}
'';
meta = {
homepage = "https://github.com/bit-team/backintime";
description = "Simple backup tool for Linux";
license = lib.licenses.gpl2;
maintainers = [ ];
platforms = lib.platforms.all;
longDescription = ''
Back In Time is a simple backup tool (on top of rsync) for Linux
inspired from flyback project and TimeVault. The backup is
done by taking snapshots of a specified set of directories.
'';
};
}

View file

@ -0,0 +1,26 @@
{ mkDerivation, backintime-common, python3 }:
let
python' = python3.withPackages (ps: with ps; [ pyqt5 backintime-common ]);
in
mkDerivation {
inherit (backintime-common)
version src installFlags meta dontAddPrefix nativeBuildInputs;
pname = "backintime-qt";
buildInputs = [ python' backintime-common ];
preConfigure = ''
cd qt
substituteInPlace configure \
--replace '"/../etc' '"/etc'
substituteInPlace qttools.py \
--replace "__file__, os.pardir, os.pardir" '"${backintime-common}/${python'.sitePackages}/backintime"'
'';
preFixup = ''
wrapQtApp "$out/bin/backintime-qt" \
--prefix PATH : "${backintime-common}/bin:$PATH"
'';
}

View file

@ -0,0 +1,65 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, python3
, sphinx
, acl
, curl
, fuse
, libselinux
, udev
, xz
, zstd
, fuseSupport ? true
, selinuxSupport ? true
, udevSupport ? true
, glibcLocales
, rsync
}:
stdenv.mkDerivation {
pname = "casync";
version = "2-226-gbd8898e";
src = fetchFromGitHub {
owner = "systemd";
repo = "casync";
rev = "bd8898ed92685e12022dd33a04c87786b5262344";
sha256 = "04ibglizjzyd7ih13q6m7ic78n0mzw9nfmb3zd1fcm9j62qlq11i";
};
buildInputs = [ acl curl xz zstd ]
++ lib.optionals (fuseSupport) [ fuse ]
++ lib.optionals (selinuxSupport) [ libselinux ]
++ lib.optionals (udevSupport) [ udev ];
nativeBuildInputs = [ meson ninja pkg-config python3 sphinx ];
checkInputs = [ glibcLocales rsync ];
postPatch = ''
for f in test/test-*.sh.in; do
patchShebangs $f
done
patchShebangs test/http-server.py
'';
PKG_CONFIG_UDEV_UDEVDIR = "lib/udev";
mesonFlags = lib.optionals (!fuseSupport) [ "-Dfuse=false" ]
++ lib.optionals (!udevSupport) [ "-Dudev=false" ]
++ lib.optionals (!selinuxSupport) [ "-Dselinux=false" ];
doCheck = true;
preCheck = ''
export LC_ALL="en_US.utf-8"
'';
meta = with lib; {
description = "Content-Addressable Data Synchronizer";
homepage = "https://github.com/systemd/casync";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ flokli ];
};
}

View file

@ -0,0 +1,27 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "desync";
version = "0.9.2";
src = fetchFromGitHub {
rev = "v${version}";
owner = "folbricht";
repo = "desync";
sha256 = "sha256-yGlf6Z38GnOWSc2pvt/u4arx5lCB0QpoqPdNamdL9b0=";
};
vendorSha256 = "sha256-c+Sz3WMKyzdEE/Hs+7dekQPn+62ddbmfvV21W0KeLDU=";
# nix builder doesn't have access to test data; tests fail for reasons unrelated to binary being bad.
doCheck = false;
meta = with lib; {
description = "Content-addressed binary distribution system";
longDescription = "An alternate implementation of the casync protocol and storage mechanism with a focus on production-readiness";
homepage = "https://github.com/folbricht/desync";
license = licenses.bsd3;
platforms = platforms.unix; # *may* work on Windows, but varies between releases.
maintainers = [ maintainers.chaduffy ];
};
}

View file

@ -0,0 +1,48 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, lua, pkg-config, rsync,
asciidoc, libxml2, docbook_xml_dtd_45, docbook_xsl, libxslt }:
stdenv.mkDerivation rec {
pname = "lsyncd";
version = "2.2.3";
src = fetchFromGitHub {
owner = "axkibe";
repo = "lsyncd";
rev = "release-${version}";
sha256 = "1hbsih5hfq9lhgnxm0wb5mrj6xmlk2l0i9a79wzd5f6cnjil9l3x";
};
patches = [
(fetchpatch {
sha256 = "0b0h2qxh73l502p7phf6qgl8576nf6fvqqp2x5wy3nz7sc9qb1z8";
name = "fix-non-versioned-lua-not-search-in-cmake.patch";
url = "https://github.com/axkibe/lsyncd/pull/500/commits/0af99d8d5ba35118e8799684a2d4a8ea4b0c6957.patch";
})
];
postPatch = ''
substituteInPlace default-rsync.lua \
--replace "/usr/bin/rsync" "${rsync}/bin/rsync"
'';
# Special flags needed on Darwin:
# https://github.com/axkibe/lsyncd/blob/42413cabbedca429d55a5378f6e830f191f3cc86/INSTALL#L51
cmakeFlags = lib.optional stdenv.isDarwin [ "-DWITH_INOTIFY=OFF" "-DWITH_FSEVENTS=ON" ];
dontUseCmakeBuildDir = true;
nativeBuildInputs = [ cmake ];
buildInputs = [
rsync
lua pkg-config
asciidoc libxml2 docbook_xml_dtd_45 docbook_xsl libxslt
];
meta = with lib; {
homepage = "https://github.com/axkibe/lsyncd";
description = "A utility that synchronizes local directories with remote targets";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = with maintainers; [ bobvanderlinden ];
};
}

View file

@ -0,0 +1,55 @@
{ stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, ldc
, installShellFiles
, pkg-config
, curl
, sqlite
, libnotify
, withSystemd ? stdenv.isLinux
, systemd
}:
stdenv.mkDerivation rec {
pname = "onedrive";
version = "2.4.17";
src = fetchFromGitHub {
owner = "abraunegg";
repo = pname;
rev = "v${version}";
hash = "sha256-+ADAPxAZNDqLKLz6rAProqSDINDiTZhc2trxJFFMQeA=";
};
nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
buildInputs = [
curl
sqlite
libnotify
] ++ lib.optional withSystemd systemd;
configureFlags = [
"--enable-notifications"
] ++ lib.optionals withSystemd [
"--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
"--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
];
# we could also pass --enable-completions to configure but we would then have to
# figure out the paths manually and pass those along.
postInstall = ''
installShellCompletion --bash --name ${pname} contrib/completions/complete.bash
installShellCompletion --zsh --name _${pname} contrib/completions/complete.zsh
'';
meta = with lib; {
description = "A complete tool to interact with OneDrive on Linux";
homepage = "https://github.com/abraunegg/onedrive";
license = licenses.gpl3Only;
maintainers = with maintainers; [ srgom peterhoeg ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,33 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, wrapQtAppsHook, qtbase }:
stdenv.mkDerivation rec {
pname = "rclone-browser";
version = "1.8.0";
src = fetchFromGitHub {
owner = "kapitainsky";
repo = "RcloneBrowser";
rev = version;
sha256 = "14ckkdypkfyiqpnz0y2b73wh1py554iyc3gnymj4smy0kg70ai33";
};
patches = [
# patch for Qt 5.15, https://github.com/kapitainsky/RcloneBrowser/pull/126
(fetchpatch {
url = "https://github.com/kapitainsky/RcloneBrowser/commit/ce9cf52e9c584a2cc85a5fa814b0fd7fa9cf0152.patch";
sha256 = "0nm42flmaq7mva9j4dpp18i1xcv8gr08zfyb9apz1zwn79h1w0c8";
})
];
nativeBuildInputs = [ cmake wrapQtAppsHook ];
buildInputs = [ qtbase ];
meta = with lib; {
inherit (src.meta) homepage;
description = "Graphical Frontend to Rclone written in Qt";
license = licenses.unlicense;
platforms = platforms.linux;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -0,0 +1,59 @@
{ lib, stdenv, buildGoModule, fetchFromGitHub, buildPackages, installShellFiles
, makeWrapper
, enableCmount ? true, fuse, macfuse-stubs
}:
buildGoModule rec {
pname = "rclone";
version = "1.58.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-Hh0IVNaLAUOmdYJ6cbYFyDCLwL+0HyZdRzKnXAT0CB8=";
};
vendorSha256 = "sha256-MPo1t1gzlrzAzbTOv/dSs2BH8NwlXmf6vo1DOFP2TrM=";
subPackages = [ "." ];
outputs = [ "out" "man" ];
buildInputs = lib.optional enableCmount (if stdenv.isDarwin then macfuse-stubs else fuse);
nativeBuildInputs = [ installShellFiles makeWrapper ];
tags = lib.optionals enableCmount [ "cmount" ];
ldflags = [ "-s" "-w" "-X github.com/rclone/rclone/fs.Version=${version}" ];
postInstall =
let
rcloneBin =
if stdenv.buildPlatform == stdenv.hostPlatform
then "$out"
else lib.getBin buildPackages.rclone;
in
''
installManPage rclone.1
for shell in bash zsh fish; do
${rcloneBin}/bin/rclone genautocomplete $shell rclone.$shell
installShellCompletion rclone.$shell
done
'' + lib.optionalString (enableCmount && !stdenv.isDarwin)
# use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount,
# as the setuid wrapper is required as non-root on NixOS.
''
wrapProgram $out/bin/rclone \
--suffix PATH : "${lib.makeBinPath [ fuse ] }" \
--prefix LD_LIBRARY_PATH : "${fuse}/lib"
'';
meta = with lib; {
description = "Command line program to sync files and directories to and from major cloud storage";
homepage = "https://rclone.org";
changelog = "https://github.com/rclone/rclone/blob/v${version}/docs/content/changelog.md";
license = licenses.mit;
maintainers = with maintainers; [ danielfullmer marsam SuperSandro2000 ];
};
}

View file

@ -0,0 +1,22 @@
{ lib, fetchurl, fetchpatch }:
rec {
version = "3.2.4";
src = fetchurl {
# signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5
url = "mirror://samba/rsync/src/rsync-${version}.tar.gz";
sha256 = "sha256-b3YYONCAUrC2V5z39nN9k+R/AfTaBMXSTTRHt/Kl+tE=";
};
upstreamPatchTarball = fetchurl {
# signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5
url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
sha256 = "sha256-cKWXWQr2xhzz0F1mNCn/n2D/4k5E+cc6TNxp69wTIqQ=";
};
meta = with lib; {
description = "Fast incremental file transfer utility";
homepage = "https://rsync.samba.org/";
license = licenses.gpl3Plus;
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,59 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, perl
, libiconv
, zlib
, popt
, enableACLs ? lib.meta.availableOn stdenv.hostPlatform acl
, acl
, enableLZ4 ? true
, lz4
, enableOpenSSL ? true
, openssl
, enableXXHash ? true
, xxHash
, enableZstd ? true
, zstd
, enableCopyDevicesPatch ? false
, nixosTests
}:
let
base = import ./base.nix { inherit lib fetchurl fetchpatch; };
in
stdenv.mkDerivation rec {
pname = "rsync";
version = base.version;
mainSrc = base.src;
patchesSrc = base.upstreamPatchTarball;
srcs = [ mainSrc ] ++ lib.optional enableCopyDevicesPatch patchesSrc;
patches = lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
buildInputs = [ libiconv zlib popt ]
++ lib.optional enableACLs acl
++ lib.optional enableZstd zstd
++ lib.optional enableLZ4 lz4
++ lib.optional enableOpenSSL openssl
++ lib.optional enableXXHash xxHash;
nativeBuildInputs = [ perl ];
configureFlags = [
"--with-nobody-group=nogroup"
# disable the included zlib explicitly as it otherwise still compiles and
# links them even.
"--with-included-zlib=no"
];
passthru.tests = { inherit (nixosTests) rsyncd; };
meta = base.meta // {
description = "A fast incremental file transfer utility";
maintainers = with lib.maintainers; [ ehmry kampfschlaefer ];
};
}

View file

@ -0,0 +1,33 @@
{ lib, stdenv, fetchurl, perl, rsync, fetchpatch }:
let
base = import ./base.nix { inherit lib fetchurl fetchpatch; };
in
stdenv.mkDerivation {
pname = "rrsync";
version = base.version;
src = base.src;
buildInputs = [ rsync perl ];
# Skip configure and build phases.
# We just want something from the support directory
dontConfigure = true;
dontBuild = true;
postPatch = ''
substituteInPlace support/rrsync --replace /usr/bin/rsync ${rsync}/bin/rsync
'';
installPhase = ''
mkdir -p $out/bin
cp support/rrsync $out/bin
chmod a+x $out/bin/rrsync
'';
meta = base.meta // {
description = "A helper to run rsync-only environments from ssh-logins";
maintainers = [ lib.maintainers.kampfschlaefer ];
};
}

View file

@ -0,0 +1,75 @@
{ lib
, stdenv
, fetchFromGitHub
, ocamlPackages
, fontschumachermisc
, xset
, makeWrapper
, ncurses
, gnugrep
, copyDesktopItems
, makeDesktopItem
, enableX11 ? true
}:
stdenv.mkDerivation rec {
pname = "unison";
version = "2.52.0";
src = fetchFromGitHub {
owner = "bcpierce00";
repo = "unison";
rev = "v${version}";
sha256 = "sha256-YCuXkHqY+JHsguvst2UkI/6YlFt3iTvchO8PQuS15nI=";
};
nativeBuildInputs = [ makeWrapper ]
++ lib.optional enableX11 copyDesktopItems;
buildInputs = [ ocamlPackages.ocaml ncurses ];
preBuild = lib.optionalString enableX11 ''
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${ocamlPackages.lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml
'' + ''
echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile
'';
makeFlags = [
"INSTALLDIR=$(out)/bin/"
"UISTYLE=${if enableX11 then "gtk2" else "text"}"
] ++ lib.optional (!ocamlPackages.ocaml.nativeCompilers) "NATIVE=false";
preInstall = ''
mkdir -p $out/bin
'';
postInstall = lib.optionalString enableX11 ''
for i in $(cd $out/bin && ls); do
wrapProgram $out/bin/$i \
--run "[ -n \"\$DISPLAY\" ] && (${xset}/bin/xset q | ${gnugrep}/bin/grep -q \"${fontschumachermisc}\" || ${xset}/bin/xset +fp \"${fontschumachermisc}/lib/X11/fonts/misc\")"
done
install -D $src/icons/U.svg $out/share/icons/hicolor/scalable/apps/unison.svg
'';
dontStrip = !ocamlPackages.ocaml.nativeCompilers;
desktopItems = lib.optional enableX11 (makeDesktopItem {
name = pname;
desktopName = "Unison";
comment = "Bidirectional file synchronizer";
genericName = "File synchronization tool";
exec = "unison";
icon = "unison";
categories = [ "Utility" "FileTools" "GTK" ];
startupNotify = true;
startupWMClass = "Unison";
});
meta = with lib; {
homepage = "https://www.cis.upenn.edu/~bcpierce/unison/";
description = "Bidirectional file synchronizer";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ viric ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,34 @@
{ stdenv, lib, fetchFromGitHub, cmake, folly, boost, gflags, glog, openssl, double-conversion, fmt }:
stdenv.mkDerivation {
pname = "wdt";
version = "unstable-2022-03-24";
src = fetchFromGitHub {
owner = "facebook";
repo = "wdt";
rev = "43319e59d0c77092468367cdadab37d12d7a2383";
sha256 = "sha256-MajYK2eTUbWhEql0iTlgW5yLg9xAGZQk+Dx4fNxFFqw=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ folly boost gflags glog openssl double-conversion fmt ];
# source is expected to be named wdt
# https://github.com/facebook/wdt/blob/43319e59d0c77092468367cdadab37d12d7a2383/CMakeLists.txt#L238
postUnpack = ''
ln -s $sourceRoot wdt
'';
cmakeFlags = [
"-DWDT_USE_SYSTEM_FOLLY=ON"
];
meta = with lib; {
description = "Warp speed Data Transfer";
homepage = "https://github.com/facebook/wdt";
license = licenses.bsd3;
maintainers = with maintainers; [ nickcao ];
platforms = [ "x86_64-linux" ];
};
}