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:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
2
pkgs/tools/misc/3llo/Gemfile
Normal file
2
pkgs/tools/misc/3llo/Gemfile
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
source 'https://rubygems.org'
|
||||
gem '3llo', '1.3.1'
|
||||
27
pkgs/tools/misc/3llo/Gemfile.lock
Normal file
27
pkgs/tools/misc/3llo/Gemfile.lock
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
3llo (1.3.1)
|
||||
tty-prompt (~> 0.20)
|
||||
pastel (0.8.0)
|
||||
tty-color (~> 0.5)
|
||||
tty-color (0.6.0)
|
||||
tty-cursor (0.7.1)
|
||||
tty-prompt (0.23.1)
|
||||
pastel (~> 0.8)
|
||||
tty-reader (~> 0.8)
|
||||
tty-reader (0.9.0)
|
||||
tty-cursor (~> 0.7)
|
||||
tty-screen (~> 0.8)
|
||||
wisper (~> 2.0)
|
||||
tty-screen (0.8.1)
|
||||
wisper (2.0.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
3llo (= 1.3.1)
|
||||
|
||||
BUNDLED WITH
|
||||
2.2.33
|
||||
17
pkgs/tools/misc/3llo/default.nix
Normal file
17
pkgs/tools/misc/3llo/default.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ lib, ruby_3_0, bundlerApp, fetchpatch }:
|
||||
|
||||
bundlerApp {
|
||||
pname = "3llo";
|
||||
ruby = ruby_3_0;
|
||||
|
||||
gemdir = ./.;
|
||||
|
||||
exes = [ "3llo" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Trello interactive CLI on terminal";
|
||||
license = licenses.mit;
|
||||
homepage = "https://github.com/qcam/3llo";
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
86
pkgs/tools/misc/3llo/gemset.nix
Normal file
86
pkgs/tools/misc/3llo/gemset.nix
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
"3llo" = {
|
||||
dependencies = ["tty-prompt"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1w327skga2lpq9rbqqxy6w1r6k9k1l8prk5wmzrycvydn1wp7jk2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.1";
|
||||
};
|
||||
pastel = {
|
||||
dependencies = ["tty-color"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.0";
|
||||
};
|
||||
tty-color = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.6.0";
|
||||
};
|
||||
tty-cursor = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.7.1";
|
||||
};
|
||||
tty-prompt = {
|
||||
dependencies = ["pastel" "tty-reader"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1j4y8ik82azjxshgd4i1v4wwhsv3g9cngpygxqkkz69qaa8cxnzw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.23.1";
|
||||
};
|
||||
tty-reader = {
|
||||
dependencies = ["tty-cursor" "tty-screen" "wisper"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.0";
|
||||
};
|
||||
tty-screen = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.1";
|
||||
};
|
||||
wisper = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.1";
|
||||
};
|
||||
}
|
||||
42
pkgs/tools/misc/3mux/default.nix
Normal file
42
pkgs/tools/misc/3mux/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, makeWrapper }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "3mux";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aaronjanse";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-QT4QXTlJf2NfTqXE4GF759EoW6Ri12lxDyodyEFc+ag=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
vendorSha256 = "sha256-tbziQZIA1+b+ZtvA/865c8YQxn+r8HQy6Pqaac2kwcU=";
|
||||
|
||||
# This is a package used for internally testing 3mux. It's meant for
|
||||
# use by 3mux maintainers/contributors only.
|
||||
excludedPackages = [ "fuzz" ];
|
||||
|
||||
# 3mux needs to have itself in the path so users can run `3mux detach`.
|
||||
# This ensures that, while inside 3mux, the binary in the path is the
|
||||
# same version as the 3mux hosting the session. This also allows users
|
||||
# to use 3mux via `nix run nixpkgs#_3mux` (otherwise they'd get "command
|
||||
# not found").
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/3mux --prefix PATH : $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal multiplexer inspired by i3";
|
||||
longDescription = ''
|
||||
Terminal multiplexer with out-of-the-box support for search,
|
||||
mouse-controlled scrollback, and i3-like keybindings
|
||||
'';
|
||||
homepage = "https://github.com/aaronjanse/3mux";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ aaronjanse Br1ght0ne ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/misc/abduco/default.nix
Normal file
27
pkgs/tools/misc/abduco/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchFromGitHub, writeText, conf ? null }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "abduco";
|
||||
version = "2020-04-30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "martanne";
|
||||
repo = "abduco";
|
||||
rev = "8c32909a159aaa9484c82b71f05b7a73321eb491";
|
||||
sha256 = "0a3p8xljhpk7zh203s75248blfir15smgw5jmszwbmdpy4mqzd53";
|
||||
};
|
||||
|
||||
preBuild = lib.optionalString (conf != null)
|
||||
"cp ${writeText "config.def.h" conf} config.def.h";
|
||||
|
||||
installFlags = [ "install-completion" ];
|
||||
CFLAGS = lib.optionalString stdenv.isDarwin "-D_DARWIN_C_SOURCE";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://brain-dump.org/projects/abduco";
|
||||
license = licenses.isc;
|
||||
description = "Allows programs to be run independently from its controlling terminal";
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/misc/adafruit-ampy/default.nix
Normal file
26
pkgs/tools/misc/adafruit-ampy/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, python3 }:
|
||||
|
||||
with python3.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "adafruit-ampy";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "f4cba36f564096f2aafd173f7fbabb845365cc3bb3f41c37541edf98b58d3976";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools-scm ];
|
||||
propagatedBuildInputs = [ click python-dotenv pyserial ];
|
||||
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/pycampers/ampy";
|
||||
license = licenses.mit;
|
||||
description = "Utility to interact with a MicroPython board over a serial connection";
|
||||
maintainers = with maintainers; [ etu ];
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/misc/addic7ed-cli/default.nix
Normal file
30
pkgs/tools/misc/addic7ed-cli/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "addic7ed-cli";
|
||||
version = "1.4.6";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "182cpwxpdybsgl1nps850ysvvjbqlnx149kri4hxhgm58nqq0qf5";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
requests
|
||||
pyquery
|
||||
];
|
||||
|
||||
# Tests require network access
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "addic7ed_cli" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A commandline access to addic7ed subtitles";
|
||||
homepage = "https://github.com/BenoitZugmeyer/addic7ed-cli";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ aethelz ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/misc/addlicense/default.nix
Normal file
27
pkgs/tools/misc/addlicense/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "addlicense";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "addlicense";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Nv7Az3TDtd1P/QWjH92otSV9rIrc2l/mTbGUXhODi7Q=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-2mncc21ecpv17Xp8PA9GIodoaCxNBacbbya/shU8T9Y=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Ensures source code files have copyright license headers by scanning directory patterns recursively";
|
||||
homepage = "https://github.com/google/addlicense";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
};
|
||||
}
|
||||
34
pkgs/tools/misc/adrgen/default.nix
Normal file
34
pkgs/tools/misc/adrgen/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, testers
|
||||
, adrgen
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "adrgen";
|
||||
version = "0.4.0-beta";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "asiermarques";
|
||||
repo = "adrgen";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2ZE/orsfwL59Io09c4yfXt2enVmpSM/QHlUMgyd9RYQ=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-aDtUD+KKKSE0TpSi4+6HXSBMqF/TROZZhT0ox3a8Idk=";
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = adrgen;
|
||||
command = "adrgen version";
|
||||
version = "v${version}";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/asiermarques/adrgen";
|
||||
description = "A command-line tool for generating and managing Architecture Decision Records";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.ivar ];
|
||||
};
|
||||
}
|
||||
35
pkgs/tools/misc/aescrypt/default.nix
Normal file
35
pkgs/tools/misc/aescrypt/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchurl, libiconv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.16";
|
||||
pname = "aescrypt";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.aescrypt.com/download/v3/linux/${pname}-${version}.tgz";
|
||||
sha256 = "sha256-4uGS0LReq5dI7+Wel7ZWzFXx+utZWi93q4TUSw7AhNI=";
|
||||
};
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-liconv";
|
||||
|
||||
preBuild = ''
|
||||
substituteInPlace src/Makefile --replace "CC=gcc" "CC?=gcc"
|
||||
cd src
|
||||
'';
|
||||
|
||||
installPhase= ''
|
||||
mkdir -p $out/bin
|
||||
cp aescrypt $out/bin
|
||||
cp aescrypt_keygen $out/bin
|
||||
'';
|
||||
|
||||
buildInputs = [ libiconv ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Encrypt files with Advanced Encryption Standard (AES)";
|
||||
homepage = "https://www.aescrypt.com/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ lovek323 qknight ];
|
||||
platforms = lib.platforms.all;
|
||||
hydraPlatforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
28
pkgs/tools/misc/afetch/default.nix
Normal file
28
pkgs/tools/misc/afetch/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "afetch";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "13-CF";
|
||||
repo = "afetch";
|
||||
rev = "V${version}";
|
||||
sha256 = "sha256-bHP3DJpgh89AaCX4c1tQGaZ/PiWjArED1rMdszFUq+U=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fetch program written in C";
|
||||
homepage = "https://github.com/13-CF/afetch";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ dan4ik605743 jk ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
41
pkgs/tools/misc/agedu/default.nix
Normal file
41
pkgs/tools/misc/agedu/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, stdenv
|
||||
, fetchgit
|
||||
, cmake
|
||||
, halibut
|
||||
}:
|
||||
let
|
||||
date = "20211129";
|
||||
rev = "8cd63c5";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "agedu";
|
||||
version = "${date}.${rev}";
|
||||
|
||||
# upstream provides tarballs but it seems they disappear after the next version is released
|
||||
src = fetchgit {
|
||||
url = "https://git.tartarus.org/simon/agedu.git";
|
||||
inherit rev;
|
||||
hash = "sha256-5wqpL7wrFwIf6lxVte+GXLsXYY0/36EIAUepVNDCnSE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake halibut ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Unix utility for tracking down wasted disk space";
|
||||
longDescription = ''
|
||||
Most Unix file systems, in their default mode, helpfully record when a
|
||||
file was last accessed. So if you generated a large amount of data years
|
||||
ago, forgot to clean it up, and have never used it since, then it ought
|
||||
in principle to be possible to use those last-access time stamps to tell
|
||||
the difference between that and a large amount of data you're still
|
||||
using regularly.
|
||||
|
||||
agedu uses this information to tell you which files waste disk space when
|
||||
you haven't used them since a long time.
|
||||
'';
|
||||
homepage = "https://www.chiark.greenend.org.uk/~sgtatham/agedu/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ symphorien ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
67
pkgs/tools/misc/alarm-clock-applet/default.nix
Normal file
67
pkgs/tools/misc/alarm-clock-applet/default.nix
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, pkg-config
|
||||
, autoconf
|
||||
, automake111x
|
||||
, libtool
|
||||
|
||||
, glib
|
||||
, gtk2
|
||||
, gst_all_1
|
||||
, gnome2
|
||||
, gnome-icon-theme
|
||||
, libnotify
|
||||
, libxml2
|
||||
, libunique
|
||||
, intltool
|
||||
, gst_plugins ? with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly ]
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.3.4";
|
||||
pname = "alarm-clock-applet";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "joh";
|
||||
repo = "alarm-clock";
|
||||
rev = version;
|
||||
sha256 = "18blvgy8hmw3jidz7xrv9yiiilnzcj65m6wxhw58nrnbcqbpydwn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
intltool
|
||||
automake111x
|
||||
autoconf
|
||||
libtool
|
||||
|
||||
gnome2.gnome-common
|
||||
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
preConfigure = "./autogen.sh";
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk2
|
||||
gst_all_1.gstreamer
|
||||
gnome2.GConf
|
||||
gnome-icon-theme
|
||||
libnotify
|
||||
libxml2
|
||||
libunique
|
||||
] ++ gst_plugins;
|
||||
|
||||
propagatedUserEnvPkgs = [ gnome2.GConf.out ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://alarm-clock.pseudoberries.com/";
|
||||
description = "A fully-featured alarm clock for your GNOME panel or equivalent";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.rasendubi ];
|
||||
};
|
||||
}
|
||||
68
pkgs/tools/misc/android-tools/default.nix
Normal file
68
pkgs/tools/misc/android-tools/default.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch
|
||||
, cmake, perl, go, python3
|
||||
, protobuf, zlib, gtest, brotli, lz4, zstd, libusb1, pcre2, fmt_7
|
||||
}:
|
||||
|
||||
let
|
||||
pythonEnv = python3.withPackages(ps: [ ps.protobuf ]);
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "android-tools";
|
||||
version = "31.0.3p1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/nmeum/android-tools/releases/download/${version}/android-tools-${version}.tar.xz";
|
||||
sha256 = "1f2svy381r798hjinrc2xiwz13gkkqxfill343zvv8jqkn8rzxhf";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fmt 8 breaks the build but we can use fmt 7 from Nixpkgs:
|
||||
(fetchpatch {
|
||||
# Vendor google's version of fmtlib
|
||||
url = "https://github.com/nmeum/android-tools/commit/21061c1dfb006c22304053c1f6f9e48ae4cbe25a.patch";
|
||||
sha256 = "17mcsgfc3i8xq4hck0ppnzafh15aljxy7j2q4djcmwnvrkv9kx3s";
|
||||
revert = true;
|
||||
excludes = [ "vendor/fmtlib" ];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake perl go ];
|
||||
buildInputs = [ protobuf zlib gtest brotli lz4 zstd libusb1 pcre2 fmt_7 ];
|
||||
propagatedBuildInputs = [ pythonEnv ];
|
||||
|
||||
# Don't try to fetch any Go modules via the network:
|
||||
GOFLAGS = [ "-mod=vendor" ];
|
||||
|
||||
preConfigure = ''
|
||||
export GOCACHE=$TMPDIR/go-cache
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -Dm755 ../vendor/avb/avbtool.py -t $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Android SDK platform tools";
|
||||
longDescription = ''
|
||||
Android SDK Platform-Tools is a component for the Android SDK. It
|
||||
includes tools that interface with the Android platform, such as adb and
|
||||
fastboot. These tools are required for Android app development. They're
|
||||
also needed if you want to unlock your device bootloader and flash it
|
||||
with a new system image.
|
||||
Currently the following tools are supported:
|
||||
- adb
|
||||
- fastboot
|
||||
- mke2fs.android (required by fastboot)
|
||||
- simg2img, img2simg, append2simg
|
||||
- lpdump, lpmake, lpadd, lpflash, lpunpack
|
||||
- mkbootimg, unpack_bootimg, repack_bootimg
|
||||
'';
|
||||
# https://developer.android.com/studio/command-line#tools-platform
|
||||
# https://developer.android.com/studio/releases/platform-tools
|
||||
homepage = "https://github.com/nmeum/android-tools";
|
||||
license = with licenses; [ asl20 unicode-dfs-2015 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ primeos ];
|
||||
};
|
||||
}
|
||||
43
pkgs/tools/misc/antimicrox/default.nix
Normal file
43
pkgs/tools/misc/antimicrox/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ mkDerivation
|
||||
, lib
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
, pkg-config
|
||||
, SDL2
|
||||
, qttools
|
||||
, xorg
|
||||
, fetchFromGitHub
|
||||
, itstool
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "antimicrox";
|
||||
version = "3.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AntiMicroX";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Qn2XT/l3zx0u3twKsQr1cHbaRiLTglQf0WNx8tqtKro=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules pkg-config itstool ];
|
||||
buildInputs = [
|
||||
SDL2
|
||||
qttools
|
||||
xorg.libXtst
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace "/usr/lib/udev/rules.d/" "$out/lib/udev/rules.d/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GUI for mapping keyboard and mouse controls to a gamepad";
|
||||
inherit (src.meta) homepage;
|
||||
maintainers = with maintainers; [ sbruder ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
37
pkgs/tools/misc/anystyle-cli/Gemfile
Normal file
37
pkgs/tools/misc/anystyle-cli/Gemfile
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
source 'https://rubygems.org'
|
||||
gemspec
|
||||
|
||||
|
||||
group :development, :test do
|
||||
#gem 'anystyle-data', github: 'inukshuk/anystyle-data'
|
||||
#gem 'wapiti', github: 'inukshuk/wapiti-ruby'
|
||||
gem 'bibtex-ruby'
|
||||
gem 'rake'
|
||||
gem 'rspec', '~>3.0'
|
||||
gem 'language_detector', github: 'feedbackmine/language_detector'
|
||||
gem 'unicode-scripts'
|
||||
gem 'edtf'
|
||||
gem 'citeproc'
|
||||
gem 'unicode_utils' if RUBY_VERSION < '2.4'
|
||||
end
|
||||
|
||||
group :coverage do
|
||||
gem 'simplecov', require: false
|
||||
gem 'coveralls', require: false if ENV['CI']
|
||||
end
|
||||
|
||||
group :debug do
|
||||
gem 'byebug', require: false
|
||||
end
|
||||
|
||||
group :profile do
|
||||
gem 'ruby-prof', require: false
|
||||
gem 'gnuplot', require: false
|
||||
end
|
||||
|
||||
group :extra do
|
||||
gem 'lmdb'
|
||||
gem 'redis'
|
||||
gem 'redis-namespace'
|
||||
gem 'yard'
|
||||
end
|
||||
99
pkgs/tools/misc/anystyle-cli/Gemfile.lock
Normal file
99
pkgs/tools/misc/anystyle-cli/Gemfile.lock
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
GIT
|
||||
remote: https://github.com/feedbackmine/language_detector.git
|
||||
revision: 89102790194150b3a8110ce691f9989b8ce70f8d
|
||||
specs:
|
||||
language_detector (0.1.2)
|
||||
|
||||
PATH
|
||||
remote: .
|
||||
specs:
|
||||
anystyle (1.3.10)
|
||||
anystyle-data (~> 1.2)
|
||||
bibtex-ruby (~> 5.0)
|
||||
gli (~> 2.17)
|
||||
namae (~> 1.0)
|
||||
wapiti (~> 1.0, >= 1.0.2)
|
||||
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (6.0.3.2)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
zeitwerk (~> 2.2, >= 2.2.2)
|
||||
anystyle-data (1.2.0)
|
||||
bibtex-ruby (5.1.4)
|
||||
latex-decode (~> 0.0)
|
||||
builder (3.2.4)
|
||||
byebug (11.1.3)
|
||||
citeproc (1.0.10)
|
||||
namae (~> 1.0)
|
||||
concurrent-ruby (1.1.7)
|
||||
diff-lcs (1.4.4)
|
||||
docile (1.3.2)
|
||||
edtf (3.0.5)
|
||||
activesupport (>= 3.0, < 7.0)
|
||||
gli (2.19.2)
|
||||
gnuplot (2.6.2)
|
||||
i18n (1.8.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
latex-decode (0.3.1)
|
||||
lmdb (0.5.3)
|
||||
minitest (5.14.1)
|
||||
namae (1.0.1)
|
||||
rake (13.0.1)
|
||||
redis (4.2.1)
|
||||
redis-namespace (1.8.0)
|
||||
redis (>= 3.0.4)
|
||||
rspec (3.9.0)
|
||||
rspec-core (~> 3.9.0)
|
||||
rspec-expectations (~> 3.9.0)
|
||||
rspec-mocks (~> 3.9.0)
|
||||
rspec-core (3.9.2)
|
||||
rspec-support (~> 3.9.3)
|
||||
rspec-expectations (3.9.2)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.9.0)
|
||||
rspec-mocks (3.9.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.9.0)
|
||||
rspec-support (3.9.3)
|
||||
ruby-prof (1.4.1)
|
||||
simplecov (0.19.0)
|
||||
docile (~> 1.1)
|
||||
simplecov-html (~> 0.11)
|
||||
simplecov-html (0.12.2)
|
||||
thread_safe (0.3.6)
|
||||
tzinfo (1.2.7)
|
||||
thread_safe (~> 0.1)
|
||||
unicode-scripts (1.6.0)
|
||||
wapiti (1.0.7)
|
||||
builder (~> 3.2)
|
||||
yard (0.9.25)
|
||||
zeitwerk (2.4.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
anystyle!
|
||||
bibtex-ruby
|
||||
byebug
|
||||
citeproc
|
||||
edtf
|
||||
gnuplot
|
||||
language_detector!
|
||||
lmdb
|
||||
rake
|
||||
redis
|
||||
redis-namespace
|
||||
rspec (~> 3.0)
|
||||
ruby-prof
|
||||
simplecov
|
||||
unicode-scripts
|
||||
yard
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
52
pkgs/tools/misc/anystyle-cli/anystyle.gemspec
Normal file
52
pkgs/tools/misc/anystyle-cli/anystyle.gemspec
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
lib = File.expand_path('../lib/', __FILE__)
|
||||
$:.unshift lib unless $:.include?(lib)
|
||||
|
||||
require 'anystyle/version'
|
||||
|
||||
Gem::Specification.new do |s|
|
||||
s.name = 'anystyle'
|
||||
s.version = AnyStyle::VERSION.dup
|
||||
s.platform = Gem::Platform::RUBY
|
||||
s.authors = ['Sylvester Keil']
|
||||
s.email = ['http://sylvester.keil.or.at']
|
||||
s.homepage = 'http://anystyle.io'
|
||||
s.summary = 'Smart and fast bibliography parser.'
|
||||
s.description = 'A sophisticated parser for academic reference lists and bibliographies based on machine learning algorithms using conditional random fields.'
|
||||
s.license = 'BSD-2-Clause'
|
||||
s.executables = []
|
||||
s.require_path = 'lib'
|
||||
|
||||
s.required_ruby_version = '>= 2.2'
|
||||
|
||||
s.add_runtime_dependency('bibtex-ruby', '~>5.0')
|
||||
s.add_runtime_dependency('anystyle-data', '~>1.2')
|
||||
s.add_runtime_dependency('gli', '~>2.17')
|
||||
s.add_runtime_dependency('wapiti', '~>1.0', '>=1.0.2')
|
||||
s.add_runtime_dependency('namae', '~>1.0')
|
||||
|
||||
s.files =
|
||||
`git ls-files`.split("\n") - `git ls-files spec`.split("\n") - %w{
|
||||
.coveralls.yml
|
||||
.gitignore
|
||||
.rspec
|
||||
.simplecov
|
||||
.travis.yml
|
||||
Gemfile
|
||||
Rakefile
|
||||
appveyor.yml
|
||||
anystyle.gemspec
|
||||
res/core.xml
|
||||
}
|
||||
|
||||
s.rdoc_options = %w{
|
||||
--line-numbers
|
||||
--inline-source
|
||||
--title "AnyStyle"
|
||||
--main README.md
|
||||
}
|
||||
s.extra_rdoc_files = %w{README.md LICENSE}
|
||||
|
||||
end
|
||||
|
||||
# vim: syntax=ruby
|
||||
44
pkgs/tools/misc/anystyle-cli/default.nix
Normal file
44
pkgs/tools/misc/anystyle-cli/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib
|
||||
, buildRubyGem
|
||||
, bundlerEnv
|
||||
, ruby
|
||||
, poppler_utils
|
||||
}:
|
||||
let
|
||||
deps = bundlerEnv rec {
|
||||
name = "anystyle-cli-${version}";
|
||||
source.sha256 = lib.fakeSha256;
|
||||
version = "1.3.1";
|
||||
inherit ruby;
|
||||
gemdir = ./.;
|
||||
gemset = lib.recursiveUpdate (import ./gemset.nix) {
|
||||
anystyle.source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1w79zcia60nnnyrmyvpd10pmxrpk5c7lj9gmmblhwi8x5mfq9k0n";
|
||||
type = "gem";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
buildRubyGem rec {
|
||||
inherit ruby;
|
||||
gemName = "anystyle-cli";
|
||||
pname = gemName;
|
||||
version = "1.3.1";
|
||||
source.sha256 = "1a3ifwxwqkp5dnfk9r8qq8kgfb8k1pl7jjdghbb8ixbxz9ac7awy";
|
||||
|
||||
propagatedBuildInputs = [ deps ];
|
||||
|
||||
preFixup = ''
|
||||
wrapProgram $out/bin/anystyle --prefix PATH : ${poppler_utils}/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line interface to the AnyStyle Parser and Finder";
|
||||
homepage = "https://anystyle.io/";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ shamilton ];
|
||||
mainProgram = "anystyle";
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
1570
pkgs/tools/misc/anystyle-cli/gemset.nix
Normal file
1570
pkgs/tools/misc/anystyle-cli/gemset.nix
Normal file
File diff suppressed because it is too large
Load diff
28
pkgs/tools/misc/apkeep/default.nix
Normal file
28
pkgs/tools/misc/apkeep/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchCrate, rustPlatform, openssl, pkg-config, Security }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "apkeep";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-wFrpzemqBdhEO8cahSV9Qjw4HxCk+TgAVpGaa/IaO0Q=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-6DAzNiNHmzOwg7RlRCorUCW33FTYdfLf6PnTygcL1ok=";
|
||||
|
||||
prePatch = ''
|
||||
rm .cargo/config.toml
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A command-line tool for downloading APK files from various sources";
|
||||
homepage = "https://github.com/EFForg/apkeep";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jyooru ];
|
||||
};
|
||||
}
|
||||
21
pkgs/tools/misc/apparix/default.nix
Normal file
21
pkgs/tools/misc/apparix/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apparix";
|
||||
version = "11-062";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://micans.org/apparix/src/apparix-${version}.tar.gz";
|
||||
sha256 = "211bb5f67b32ba7c3e044a13e4e79eb998ca017538e9f4b06bc92d5953615235";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://micans.org/apparix";
|
||||
description = "Add directory bookmarks, distant listing, and distant editing to the command line";
|
||||
maintainers = with maintainers; [ ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
42
pkgs/tools/misc/apt-offline/default.nix
Normal file
42
pkgs/tools/misc/apt-offline/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, fetchFromGitHub, python3Packages, nix-update-script, gnupg }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "apt-offline";
|
||||
version = "1.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rickysarraf";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "RBf/QG0ewLS6gnQTBXi0I18z8QrxoBAqEXZ7dro9z5A=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace org.debian.apt.aptoffline.policy \
|
||||
--replace /usr/bin/ "$out/bin"
|
||||
|
||||
substituteInPlace apt_offline_core/AptOfflineCoreLib.py \
|
||||
--replace /usr/bin/gpgv "${gnupg}/bin/gpgv"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
rm "$out/bin/apt-offline-gui"
|
||||
rm "$out/bin/apt-offline-gui-pkexec"
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
pythonimportsCheck = [ "apt-offline" ];
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
attrPath = pname;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/rickysarraf/apt-offline";
|
||||
description = "Offline APT package manager";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
47
pkgs/tools/misc/aptly/default.nix
Normal file
47
pkgs/tools/misc/aptly/default.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{ lib, buildGoPackage, fetchFromGitHub, installShellFiles, makeWrapper, gnupg, bzip2, xz, graphviz }:
|
||||
|
||||
let
|
||||
|
||||
version = "1.4.0";
|
||||
rev = "v${version}";
|
||||
|
||||
aptlySrc = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "aptly-dev";
|
||||
repo = "aptly";
|
||||
sha256 = "06cq761r3bxybb9xn58jii0ggp79mcp3810z1r2z3xcvplwhwnhy";
|
||||
};
|
||||
|
||||
aptlyCompletionSrc = fetchFromGitHub {
|
||||
rev = "1.0.1";
|
||||
owner = "aptly-dev";
|
||||
repo = "aptly-bash-completion";
|
||||
sha256 = "0dkc4z687yk912lpv8rirv0nby7iny1zgdvnhdm5b47qmjr1sm5q";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
buildGoPackage {
|
||||
pname = "aptly";
|
||||
inherit version;
|
||||
|
||||
src = aptlySrc;
|
||||
|
||||
goPackagePath = "github.com/aptly-dev/aptly";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --bash ${aptlyCompletionSrc}/aptly
|
||||
wrapProgram "$out/bin/aptly" \
|
||||
--prefix PATH ":" "${lib.makeBinPath [ gnupg bzip2 xz graphviz ]}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.aptly.info";
|
||||
description = "Debian repository management tool";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.montag451 ];
|
||||
};
|
||||
}
|
||||
34
pkgs/tools/misc/aquosctl/default.nix
Normal file
34
pkgs/tools/misc/aquosctl/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "aquosctl";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname;
|
||||
version = "unstable-2014-04-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jdwhite";
|
||||
repo = pname;
|
||||
rev = "b5e48d9ef848188b97dfb24bfcc99d5196cab5f6";
|
||||
hash = "sha256-FA3LR58KMG5RzSxxnOkVw1+inM/gMGPtw5+JQwSHBYs=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm0755 aquosctl $out/bin/aquosctl
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Sharp Aquos television RS-232 control application";
|
||||
homepage = "https://github.com/jdwhite/aquosctl";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
79
pkgs/tools/misc/arch-install-scripts/default.nix
Normal file
79
pkgs/tools/misc/arch-install-scripts/default.nix
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
{ lib
|
||||
, resholve
|
||||
, fetchFromGitHub
|
||||
, asciidoc
|
||||
, bash
|
||||
, coreutils
|
||||
, gawk
|
||||
, gnum4
|
||||
, util-linux
|
||||
}:
|
||||
|
||||
resholve.mkDerivation rec {
|
||||
pname = "arch-install-scripts";
|
||||
version = "24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "archlinux";
|
||||
repo = "arch-install-scripts";
|
||||
rev = "v${version}";
|
||||
sha256 = "06rydiliis34lbz5fsayhbczs1xqi1a80jnhxafpjf6k3rfji6iq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ asciidoc gnum4 ];
|
||||
|
||||
preBuild = ''
|
||||
substituteInPlace ./Makefile \
|
||||
--replace "PREFIX = /usr/local" "PREFIX ?= /usr/local"
|
||||
|
||||
# https://github.com/archlinux/arch-install-scripts/pull/10
|
||||
substituteInPlace ./common \
|
||||
--replace "print '%s' \"\$1\"" "printf '%s' \"\$1\""
|
||||
'';
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
solutions = {
|
||||
# Give each solution a short name. This is what you'd use to
|
||||
# override its settings, and it shows in (some) error messages.
|
||||
profile = {
|
||||
# the only *required* arguments are the 3 below
|
||||
|
||||
# Specify 1 or more $out-relative script paths. Unlike many
|
||||
# builders, resholve.mkDerivation modifies the output files during
|
||||
# fixup (to correctly resolve in-package sourcing).
|
||||
scripts = [ "bin/arch-chroot" "bin/genfstab" "bin/pacstrap" ];
|
||||
|
||||
# "none" for no shebang, "${bash}/bin/bash" for bash, etc.
|
||||
interpreter = "${bash}/bin/bash";
|
||||
|
||||
# packages resholve should resolve executables from
|
||||
inputs = [ coreutils gawk util-linux ];
|
||||
|
||||
# TODO: no good way to resolve mount/umount in Nix builds for now
|
||||
# see https://github.com/abathur/resholve/issues/29
|
||||
fake = {
|
||||
external = [ "mount" "umount" ];
|
||||
};
|
||||
|
||||
# TODO: remove the execer lore override below after
|
||||
# https://github.com/abathur/binlore/issues/1
|
||||
execer = [
|
||||
"cannot:${util-linux}/bin/unshare"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Useful scripts for installing Arch Linux";
|
||||
longDescription = ''
|
||||
A small suite of scripts aimed at automating some menial tasks when installing Arch Linux.
|
||||
'';
|
||||
homepage = "https://github.com/archlinux/arch-install-scripts";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ yayayayaka ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
65
pkgs/tools/misc/archi/default.nix
Normal file
65
pkgs/tools/misc/archi/default.nix
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, fetchzip
|
||||
, autoPatchelfHook
|
||||
, makeWrapper
|
||||
, jdk
|
||||
, libsecret
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "Archi";
|
||||
version = "4.7.1";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://www.archimatetool.com/downloads/archi/Archi-Linux64-${version}.tgz";
|
||||
sha256 = "0sd57cfnh5q2p17sd86c8wgmqyipg29rz6iaa5brq8mwn8ps2fdw";
|
||||
}
|
||||
else if stdenv.hostPlatform.system == "x86_64-darwin" then
|
||||
fetchzip {
|
||||
url = "https://www.archimatetool.com/downloads/archi/Archi-Mac-${version}.zip";
|
||||
sha256 = "1h05lal5jnjwm30dbqvd6gisgrmf1an8xf34f01gs9pwqvqfvmxc";
|
||||
}
|
||||
else
|
||||
throw "Unsupported system";
|
||||
|
||||
buildInputs = [
|
||||
libsecret
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook;
|
||||
|
||||
installPhase =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
''
|
||||
mkdir -p $out/bin $out/libexec
|
||||
for f in configuration features p2 plugins Archi.ini; do
|
||||
cp -r $f $out/libexec
|
||||
done
|
||||
|
||||
install -D -m755 Archi $out/libexec/Archi
|
||||
makeWrapper $out/libexec/Archi $out/bin/Archi \
|
||||
--prefix PATH : ${jdk}/bin
|
||||
''
|
||||
else
|
||||
''
|
||||
mkdir -p "$out/Applications"
|
||||
mv Archi.app "$out/Applications/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "ArchiMate modelling toolkit";
|
||||
longDescription = ''
|
||||
Archi is an open source modelling toolkit to create ArchiMate
|
||||
models and sketches.
|
||||
'';
|
||||
homepage = "https://www.archimatetool.com/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ earldouglas ];
|
||||
};
|
||||
}
|
||||
41
pkgs/tools/misc/arp-scan/default.nix
Normal file
41
pkgs/tools/misc/arp-scan/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, libpcap, makeWrapper, perlPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "arp-scan";
|
||||
version = "1.9.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "royhills";
|
||||
repo = "arp-scan";
|
||||
rev = version;
|
||||
sha256 = "1mf7a4f9vzvnkiavc87aqyciswggsb4fpy7j05jxnvjyyxv3l7gp";
|
||||
};
|
||||
|
||||
perlModules = with perlPackages; [
|
||||
HTTPDate
|
||||
HTTPMessage
|
||||
LWP
|
||||
URI
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook makeWrapper ];
|
||||
buildInputs = [ perlPackages.perl libpcap ];
|
||||
|
||||
postInstall = ''
|
||||
for name in get-{oui,iab}; do
|
||||
wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makeFullPerlPath perlModules}"
|
||||
done;
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "ARP scanning and fingerprinting tool";
|
||||
longDescription = ''
|
||||
Arp-scan is a command-line tool that uses the ARP protocol to discover
|
||||
and fingerprint IP hosts on the local network.
|
||||
'';
|
||||
homepage = "http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ bjornfor mikoim r-burns ];
|
||||
};
|
||||
}
|
||||
13
pkgs/tools/misc/as-tree/cargo-lock.patch
Normal file
13
pkgs/tools/misc/as-tree/cargo-lock.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 991ecd8..9e94574 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -11,7 +11,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "as-tree"
|
||||
-version = "0.11.1"
|
||||
+version = "0.12.0"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"atty",
|
||||
27
pkgs/tools/misc/as-tree/default.nix
Normal file
27
pkgs/tools/misc/as-tree/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, fetchFromGitHub, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "as-tree";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jez";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0c0g32pkyhyvqpgvzlw9244c80npq6s8mxy3may7q4qyd7hi3dz5";
|
||||
};
|
||||
|
||||
cargoSha256 = "1m334shcja7kg134b7lnq1ksy67j5b5vblkzamrw06f6r1hkn1rc";
|
||||
# the upstream 0.12.0 release didn't update the Cargo.lock file properly
|
||||
# they have updated their release script, so this patch can be removed
|
||||
# when the next version is released.
|
||||
cargoPatches = [ ./cargo-lock.patch ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Print a list of paths as a tree of paths";
|
||||
homepage = "https://github.com/jez/as-tree";
|
||||
license = with licenses; [ blueOak100 ];
|
||||
maintainers = with maintainers; [ jshholland ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
23
pkgs/tools/misc/asciinema-scenario/default.nix
Normal file
23
pkgs/tools/misc/asciinema-scenario/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchCrate
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "asciinema-scenario";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-ubiVpKFU81Ot9V9oMexWSiUXHepoJ6nXtrWVAFhgcYw=";
|
||||
};
|
||||
|
||||
cargoSha256 = "1yf63w2findgqipvgmlkw3pqfkai7mvqp86jg40lvr0mpnvly2ny";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create asciinema videos from a text file";
|
||||
homepage = "https://github.com/garbas/asciinema-scenario/";
|
||||
maintainers = with maintainers; [ garbas ];
|
||||
license = with licenses; [ mit ];
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/misc/asciinema/default.nix
Normal file
26
pkgs/tools/misc/asciinema/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, python3Packages, fetchFromGitHub, glibcLocales }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "asciinema";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "asciinema";
|
||||
repo = "asciinema";
|
||||
rev = "v${version}";
|
||||
sha256 = "1alcz018jrrpasrmgs8nw775a6pf62xq2xgs54c4mb396prdqy4x";
|
||||
};
|
||||
|
||||
checkInputs = [ glibcLocales python3Packages.nose ];
|
||||
|
||||
checkPhase = ''
|
||||
LC_ALL=en_US.UTF-8 nosetests
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Terminal session recorder and the best companion of asciinema.org";
|
||||
homepage = "https://asciinema.org/";
|
||||
license = with lib.licenses; [ gpl3 ];
|
||||
};
|
||||
}
|
||||
|
||||
86
pkgs/tools/misc/asdf-vm/default.nix
Normal file
86
pkgs/tools/misc/asdf-vm/default.nix
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{ stdenv, lib, fetchFromGitHub, makeWrapper, installShellFiles, bash, coreutils, curl, git, writeScript }:
|
||||
|
||||
let
|
||||
asdfReshimFile = writeScript "asdf-reshim" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# asdf-vm create "shim" file like this:
|
||||
#
|
||||
# exec $ASDF_DIR/bin/asdf exec "node" "$@"
|
||||
#
|
||||
# So we should reshim all installed versions every time shell initialized,
|
||||
# because $out always change
|
||||
|
||||
asdfDir="''${ASDF_DIR:-$HOME/.asdf}"
|
||||
asdfDataDir="''${ASDF_DATA_DIR:-$HOME/.asdf}"
|
||||
|
||||
prevAsdfDirFilePath="$asdfDataDir/.nix-prev-asdf-dir-path"
|
||||
|
||||
if [ -r "$prevAsdfDirFilePath" ]; then
|
||||
prevAsdfDir="$(cat "$prevAsdfDirFilePath")"
|
||||
else
|
||||
prevAsdfDir=""
|
||||
fi
|
||||
|
||||
if [ "$prevAsdfDir" != "$asdfDir" ]; then
|
||||
rm -rf "$asdfDataDir"/shims
|
||||
"$asdfDir"/bin/asdf reshim
|
||||
echo "$asdfDir" > "$prevAsdfDirFilePath"
|
||||
fi
|
||||
'';
|
||||
|
||||
asdfPrepareFile = writeScript "asdf-prepare" ''
|
||||
ASDF_DIR="@asdfDir@"
|
||||
|
||||
source "$ASDF_DIR/asdf.sh"
|
||||
${asdfReshimFile}
|
||||
'';
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "asdf-vm";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "asdf-vm";
|
||||
repo = "asdf";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-yWQ74tVYBZszuuE3PaDB758kCjKO6oBOG/Z+T3+82po=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bash
|
||||
curl
|
||||
git
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/asdf-vm
|
||||
cp -r . $out/share/asdf-vm
|
||||
|
||||
mkdir -p $out/etc/profile.d
|
||||
substitute ${asdfPrepareFile} $out/etc/profile.d/asdf-prepare.sh \
|
||||
--replace "@asdfDir@" "$out/share/asdf-vm"
|
||||
|
||||
mkdir -p $out/bin
|
||||
makeWrapper $out/share/asdf-vm/bin/asdf $out/bin/asdf \
|
||||
--set ASDF_DIR $out/share/asdf-vm
|
||||
|
||||
installShellCompletion --cmd asdf \
|
||||
--zsh completions/_asdf \
|
||||
--fish completions/asdf.fish \
|
||||
--bash completions/asdf.bash
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extendable version manager with support for Ruby, Node.js, Erlang & more";
|
||||
homepage = "https://asdf-vm.com/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.c4605 ];
|
||||
mainProgram = "asdf";
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
45
pkgs/tools/misc/aspcud/default.nix
Normal file
45
pkgs/tools/misc/aspcud/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, boost
|
||||
, catch2
|
||||
, clasp
|
||||
, cmake
|
||||
, gringo
|
||||
, re2c
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.9.5";
|
||||
pname = "aspcud";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "potassco";
|
||||
repo = "aspcud";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-d04GPMoz6PMGq6iiul0zT1C9Mljdl9uJJ2C8MIwcmaw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
cp ${catch2}/include/catch2/catch.hpp libcudf/tests/catch.hpp
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ boost clasp gringo re2c ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DASPCUD_GRINGO_PATH=${gringo}/bin/gringo"
|
||||
"-DASPCUD_CLASP_PATH=${clasp}/bin/clasp"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Solver for package problems in CUDF format using ASP";
|
||||
homepage = "https://potassco.org/aspcud/";
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.hakuch ];
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
41
pkgs/tools/misc/atuin/default.nix
Normal file
41
pkgs/tools/misc/atuin/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, rustPlatform
|
||||
, libiconv
|
||||
, Security
|
||||
, SystemConfiguration
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "atuin";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ellie";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-tBOJkAQCL2YGEJ3gJPxBC0swMuwOQENnhLXyms8WW6g";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-P4jcJ6pl3ZGjiwNYfEjEiNVnE6mTDRUGl6gZW65Jn0I";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security SystemConfiguration ];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd atuin \
|
||||
--bash <($out/bin/atuin gen-completions -s bash) \
|
||||
--fish <($out/bin/atuin gen-completions -s fish) \
|
||||
--zsh <($out/bin/atuin gen-completions -s zsh)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Replacement for a shell history which records additional commands context with optional encrypted synchronization between machines";
|
||||
homepage = "https://github.com/ellie/atuin";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ onsails SuperSandro2000 sciencentistguy ];
|
||||
};
|
||||
}
|
||||
28
pkgs/tools/misc/audible-cli/default.nix
Normal file
28
pkgs/tools/misc/audible-cli/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, python3Packages, fetchFromGitHub }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "audible-cli";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mkb79";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0i71vwq2bhndndb0mlx21bc5jkv75cr60max5iaxk23agg3xpgwv";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ aiofiles audible click httpx pillow tabulate toml tqdm packaging setuptools ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "httpx==0.20.*" "httpx" \
|
||||
--replace "audible==0.7.2" "audible"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A command line interface for audible package. With the cli you can download your Audible books, cover, chapter files";
|
||||
license = licenses.agpl3;
|
||||
homepage = "https://github.com/mkb79/audible-cli";
|
||||
maintainers = with maintainers; [ jvanbruegge ];
|
||||
};
|
||||
}
|
||||
53
pkgs/tools/misc/autojump/default.nix
Normal file
53
pkgs/tools/misc/autojump/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python3, bash }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "autojump";
|
||||
version = "22.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wting";
|
||||
repo = "autojump";
|
||||
rev = "release-v${version}";
|
||||
sha256 = "1rgpsh70manr2dydna9da4x7p8ahii7dgdgwir5fka340n1wrcws";
|
||||
};
|
||||
|
||||
buildInputs = [ python3 bash ];
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
python ./install.py -d "$out" -p "" -z "$out/share/zsh/site-functions/"
|
||||
|
||||
chmod +x "$out/etc/profile.d/autojump.sh"
|
||||
install -Dt "$out/share/bash-completion/completions/" -m444 "$out/share/autojump/autojump.bash"
|
||||
install -Dt "$out/share/fish/vendor_conf.d/" -m444 "$out/share/autojump/autojump.fish"
|
||||
install -Dt "$out/share/zsh/site-functions/" -m444 "$out/share/autojump/autojump.zsh"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A `cd' command that learns";
|
||||
longDescription = ''
|
||||
One of the most used shell commands is “cd”. A quick survey
|
||||
among my friends revealed that between 10 and 20% of all
|
||||
commands they type are actually cd commands! Unfortunately,
|
||||
jumping from one part of your system to another with cd
|
||||
requires to enter almost the full path, which isn’t very
|
||||
practical and requires a lot of keystrokes.
|
||||
|
||||
Autojump is a faster way to navigate your filesystem. It
|
||||
works by maintaining a database of the directories you use the
|
||||
most from the command line. The jstat command shows you the
|
||||
current contents of the database. You need to work a little
|
||||
bit before the database becomes usable. Once your database
|
||||
is reasonably complete, you can “jump” to a directory by
|
||||
typing "j dirspec", where dirspec is a few characters of the
|
||||
directory you want to jump to. It will jump to the most used
|
||||
directory whose name matches the pattern given in dirspec.
|
||||
|
||||
Autojump supports tab-completion.
|
||||
'';
|
||||
homepage = "https://github.com/wting/autojump";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ domenkozar yurrriq ];
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/misc/automirror/default.nix
Normal file
26
pkgs/tools/misc/automirror/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{lib, stdenv, fetchFromGitHub, git, ronn}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "automirror";
|
||||
version = "49";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "schlomo";
|
||||
repo = "automirror";
|
||||
rev = "v${version}";
|
||||
sha256 = "1syyf7dcm8fbyw31cpgmacg80h7pg036dayaaf0svvdsk0hqlsch";
|
||||
};
|
||||
|
||||
patchPhase = "sed -i s#/usr##g Makefile";
|
||||
|
||||
buildInputs = [ git ronn ];
|
||||
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/schlomo/automirror";
|
||||
description = "Automatic Display Mirror";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
70
pkgs/tools/misc/autorandr/default.nix
Normal file
70
pkgs/tools/misc/autorandr/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{ lib, stdenv
|
||||
, python3Packages
|
||||
, fetchFromGitHub
|
||||
, systemd
|
||||
, xrandr
|
||||
, installShellFiles }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "autorandr";
|
||||
version = "1.12.1";
|
||||
|
||||
buildInputs = [ python3Packages.python ];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
# no wrapper, as autorandr --batch does os.environ.clear()
|
||||
buildPhase = ''
|
||||
substituteInPlace autorandr.py \
|
||||
--replace 'os.popen("xrandr' 'os.popen("${xrandr}/bin/xrandr' \
|
||||
--replace '["xrandr"]' '["${xrandr}/bin/xrandr"]'
|
||||
'';
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
make install TARGETS='autorandr' PREFIX=$out
|
||||
|
||||
# zsh completions exist but currently have no make target, use
|
||||
# installShellCompletions for both
|
||||
# see https://github.com/phillipberndt/autorandr/issues/197
|
||||
installShellCompletion --cmd autorandr \
|
||||
--bash contrib/bash_completion/autorandr \
|
||||
--zsh contrib/zsh_completion/_autorandr
|
||||
|
||||
make install TARGETS='autostart_config' PREFIX=$out DESTDIR=$out
|
||||
|
||||
make install TARGETS='manpage' PREFIX=$man
|
||||
|
||||
${if systemd != null then ''
|
||||
make install TARGETS='systemd udev' PREFIX=$out DESTDIR=$out \
|
||||
SYSTEMD_UNIT_DIR=/lib/systemd/system \
|
||||
UDEV_RULES_DIR=/etc/udev/rules.d
|
||||
substituteInPlace $out/etc/udev/rules.d/40-monitor-hotplug.rules \
|
||||
--replace /bin/systemctl "/run/current-system/systemd/bin/systemctl"
|
||||
'' else ''
|
||||
make install TARGETS='pmutils' DESTDIR=$out \
|
||||
PM_SLEEPHOOKS_DIR=/lib/pm-utils/sleep.d
|
||||
make install TARGETS='udev' PREFIX=$out DESTDIR=$out \
|
||||
UDEV_RULES_DIR=/etc/udev/rules.d
|
||||
''}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phillipberndt";
|
||||
repo = "autorandr";
|
||||
rev = version;
|
||||
sha256 = "sha256-7SNnbgV6PeseBD6wdilEIOfOL2KVDpnlkSn9SBgRhhM=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/phillipberndt/autorandr/";
|
||||
description = "Automatically select a display configuration based on connected devices";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ coroa globin ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/misc/autorevision/default.nix
Normal file
36
pkgs/tools/misc/autorevision/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, stdenv, fetchurl, asciidoc, libxml2, docbook_xml_dtd_45, libxslt
|
||||
, docbook_xsl, diffutils, coreutils, gnugrep, gnused
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "autorevision";
|
||||
version = "1.22";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Autorevision/autorevision/releases/download/v%2F${version}/autorevision-${version}.tgz";
|
||||
sha256 = "sha256-3ktLVC73m2xddq5BhxVKw/FJd6pZ5RVb7fv29dxUoRE=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
asciidoc libxml2 docbook_xml_dtd_45 libxslt docbook_xsl
|
||||
];
|
||||
|
||||
installFlags = [ "prefix=$(out)" ];
|
||||
|
||||
postInstall = ''
|
||||
sed -e "s|\<cmp\>|${diffutils}/bin/cmp|g" \
|
||||
-e "s|\<cat\>|${coreutils}/bin/cat|g" \
|
||||
-e "s|\<grep\>|${gnugrep}/bin/grep|g" \
|
||||
-e "s|\<sed\>|${gnused}/bin/sed|g" \
|
||||
-e "s|\<tee\>|${coreutils}/bin/tee|g" \
|
||||
-i "$out/bin/autorevision"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extracts revision metadata from your VCS repository";
|
||||
homepage = "https://autorevision.github.io/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
||||
49
pkgs/tools/misc/aws-mturk-clt/default.nix
Normal file
49
pkgs/tools/misc/aws-mturk-clt/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ lib, stdenv, fetchurl, jre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-mturk-clt";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://mturk.s3.amazonaws.com/CLTSource/aws-mturk-clt-${version}.tar.gz";
|
||||
sha256 = "00yyc7k3iygg83cknv9i2dsaxwpwzdkc8a2l9j56lg999hw3mqm3";
|
||||
};
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out
|
||||
cp -prvd bin $out/
|
||||
|
||||
for i in $out/bin/*.sh; do
|
||||
sed -i "$i" -e "s|^MTURK_CMD_HOME=.*|MTURK_CMD_HOME=$out\nexport JAVA_HOME=${jre}|"
|
||||
done
|
||||
|
||||
mkdir -p $out/lib
|
||||
cp -prvd lib/* $out/lib/
|
||||
''; # */
|
||||
|
||||
meta = {
|
||||
homepage = "https://requester.mturk.com/developer";
|
||||
description = "Command line tools for interacting with the Amazon Mechanical Turk";
|
||||
license = lib.licenses.amazonsl;
|
||||
|
||||
longDescription =
|
||||
''
|
||||
The Amazon Mechanical Turk is a crowdsourcing marketplace that
|
||||
allows users (“requesters”) to submit tasks to be performed by
|
||||
other humans (“workers”) for a small fee. This package
|
||||
contains command-line tools for submitting tasks, querying
|
||||
results, and so on.
|
||||
|
||||
The command-line tools expect a file
|
||||
<filename>mturk.properties<filename> in the current directory,
|
||||
which should contain the following:
|
||||
|
||||
<screen>
|
||||
access_key=[insert your access key here]
|
||||
secret_key=[insert your secret key here]
|
||||
service_url=http://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester
|
||||
</screen>
|
||||
'';
|
||||
};
|
||||
}
|
||||
51
pkgs/tools/misc/bandwidth/default.nix
Normal file
51
pkgs/tools/misc/bandwidth/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib, stdenv, fetchurl, nasm }:
|
||||
|
||||
let
|
||||
inherit (stdenv.hostPlatform.parsed.cpu) bits;
|
||||
arch = "bandwidth${toString bits}";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bandwidth";
|
||||
version = "1.11.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://zsmith.co/archives/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-mjtvQAOH9rv12XszGdD5hIX197er7Uc74WfVaP32TpM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's,ar ,$(AR) ,g' OOC/Makefile
|
||||
# Remove unnecessary -m32 for 32-bit targets
|
||||
sed -i 's,-m32,,g' OOC/Makefile
|
||||
# Fix wrong comment character
|
||||
sed -i 's,# 32,; 32,g' routines-x86-32bit.asm
|
||||
# Fix missing symbol exports for macOS clang
|
||||
echo global _VectorToVector128 >> routines-x86-64bit.asm
|
||||
echo global _VectorToVector256 >> routines-x86-64bit.asm
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ nasm ];
|
||||
|
||||
buildFlags = [
|
||||
"AR=${stdenv.cc.targetPrefix}ar"
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
"ARM_AS=${stdenv.cc.targetPrefix}as"
|
||||
"ARM_CC=$(CC)"
|
||||
"UNAMEPROC=${stdenv.hostPlatform.parsed.cpu.name}"
|
||||
"UNAMEMACHINE=${stdenv.hostPlatform.parsed.cpu.name}"
|
||||
arch
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp ${arch} $out/bin/bandwidth
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://zsmith.co/bandwidth.html";
|
||||
description = "Artificial benchmark for identifying weaknesses in the memory subsystem";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.x86 ++ platforms.arm ++ platforms.aarch64;
|
||||
maintainers = with maintainers; [ r-burns ];
|
||||
};
|
||||
}
|
||||
37
pkgs/tools/misc/barman/default.nix
Normal file
37
pkgs/tools/misc/barman/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ fetchFromGitHub
|
||||
, lib
|
||||
, python3Packages
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "barman";
|
||||
version = "2.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EnterpriseDB";
|
||||
repo = pname;
|
||||
rev = "release/${version}";
|
||||
sha256 = "0c4gcs4kglbb2qma4nlvw0ycj1wnsg934p9vs50dvqi9099hxkmb";
|
||||
};
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
mock
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
argcomplete
|
||||
azure-identity
|
||||
azure-storage-blob
|
||||
boto3
|
||||
psycopg2
|
||||
python-dateutil
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.pgbarman.org/";
|
||||
description = "Backup and Recovery Manager for PostgreSQL";
|
||||
maintainers = with maintainers; [ freezeboy ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/misc/bash_unit/default.nix
Normal file
27
pkgs/tools/misc/bash_unit/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ fetchFromGitHub
|
||||
, lib, stdenv
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bash_unit";
|
||||
version = "1.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pgrange";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-TtpVldIAqyv+apXmbI+1L0NgZxoKdc6Ffrl4WOqRI9c=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp bash_unit $out/bin/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bash unit testing enterprise edition framework for professionals";
|
||||
maintainers = with maintainers; [ pamplemousse ];
|
||||
platforms = platforms.all;
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/misc/bashcards/default.nix
Normal file
30
pkgs/tools/misc/bashcards/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bashcards";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rpearce";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1rpqrh0022sbrjvd55a0jvpdqhhka5msf8dsz6adbbmxy3xzgdid";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/man/man8
|
||||
cp bashcards.8 $out/share/man/man8/
|
||||
cp bashcards $out/bin/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Practice flashcards in bash";
|
||||
homepage = "https://github.com/rpearce/bashcards/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ rpearce ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
23
pkgs/tools/misc/bashplotlib/default.nix
Normal file
23
pkgs/tools/misc/bashplotlib/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, python3Packages, fetchFromGitHub }:
|
||||
|
||||
python3Packages.buildPythonApplication {
|
||||
pname = "bashplotlib";
|
||||
version = "2021-03-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "glamp";
|
||||
repo = "bashplotlib";
|
||||
rev = "db4065cfe65c0bf7c530e0e8b9328daf9593ad74";
|
||||
sha256 = "sha256-0S6mgy6k7CcqsDR1kE5xcXGidF1t061e+M+ZuP2Gk3c=";
|
||||
};
|
||||
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/glamp/bashplotlib";
|
||||
description = "Plotting in the terminal";
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
148
pkgs/tools/misc/bat-extras/default.nix
Normal file
148
pkgs/tools/misc/bat-extras/default.nix
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{ lib, stdenv, fetchFromGitHub, makeWrapper, bat
|
||||
# batdiff, batgrep, and batwatch
|
||||
, coreutils
|
||||
, getconf
|
||||
, less
|
||||
# batgrep
|
||||
, ripgrep
|
||||
# prettybat
|
||||
, withShFmt ? shfmt != null, shfmt ? null
|
||||
, withPrettier ? nodePackages?prettier, nodePackages ? null
|
||||
, withClangTools ? clang-tools != null, clang-tools ? null
|
||||
, withRustFmt ? rustfmt != null, rustfmt ? null
|
||||
# batwatch
|
||||
, withEntr ? entr != null, entr ? null
|
||||
# batdiff
|
||||
, gitMinimal
|
||||
, withDelta ? delta != null, delta ? null
|
||||
# batman
|
||||
, util-linux
|
||||
}:
|
||||
|
||||
let
|
||||
# Core derivation that all the others are based on.
|
||||
# This includes the complete source so the per-script derivations can run the tests.
|
||||
core = stdenv.mkDerivation rec {
|
||||
pname = "bat-extras";
|
||||
version = "2021.04.06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eth-p";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-MphI2n+oHZrw8bPohNGeGdST5LS1c6s/rKqtpcR9cLo=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# bat needs to be in the PATH during building so EXECUTABLE_BAT picks it up
|
||||
nativeBuildInputs = [ bat ];
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build test.sh test/shimexec .test-framework/bin/best.sh
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
bash ./build.sh --minify=none --no-verify
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# Run the library tests as they don't have external dependencies
|
||||
doCheck = true;
|
||||
checkInputs = lib.optionals stdenv.isDarwin [ getconf ];
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
# test list repeats suites. Unique them
|
||||
declare -A test_suites
|
||||
while read -r action arg _; do
|
||||
[[ "$action" == "test_suite" && "$arg" == lib_* ]] &&
|
||||
test_suites+=(["$arg"]=1)
|
||||
done <<<"$(bash ./test.sh --compiled --list --porcelain)"
|
||||
(( ''${#test_suites[@]} != 0 )) || {
|
||||
echo "Couldn't find any library test suites"
|
||||
exit 1
|
||||
}
|
||||
bash ./test.sh --compiled $(printf -- "--suite %q\n" "''${!test_suites[@]}")
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
cp -a . $out
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# A few random files have shebangs. Don't patch them, they don't make it into the final output.
|
||||
# The per-script derivations will go ahead and patch the files they actually install.
|
||||
dontPatchShebangs = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bash scripts that integrate bat with various command line tools";
|
||||
homepage = "https://github.com/eth-p/bat-extras";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ bbigras lilyball ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
script =
|
||||
name: # the name of the script
|
||||
dependencies: # the tools we need to prefix onto PATH
|
||||
stdenv.mkDerivation {
|
||||
pname = "${core.pname}-${name}";
|
||||
inherit (core) version;
|
||||
|
||||
src = core;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
# Make the dependencies available to the tests.
|
||||
buildInputs = dependencies;
|
||||
|
||||
# Patch shebangs now because our tests rely on them
|
||||
postPatch = ''
|
||||
patchShebangs --host bin/${name}
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true; # we've already built
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = lib.optionals stdenv.isDarwin [ getconf ];
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
bash ./test.sh --compiled --suite ${name}
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp -p bin/${name} $out/bin/${name}
|
||||
'' + lib.optionalString (dependencies != []) ''
|
||||
wrapProgram $out/bin/${name} \
|
||||
--prefix PATH : ${lib.makeBinPath dependencies}
|
||||
'' + ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# We already patched
|
||||
dontPatchShebangs = true;
|
||||
|
||||
inherit (core) meta;
|
||||
};
|
||||
optionalDep = cond: dep:
|
||||
assert cond -> dep != null;
|
||||
lib.optional cond dep;
|
||||
in
|
||||
{
|
||||
batdiff = script "batdiff" ([ less coreutils gitMinimal ] ++ optionalDep withDelta delta);
|
||||
batgrep = script "batgrep" [ less coreutils ripgrep ];
|
||||
batman = script "batman" [ util-linux ];
|
||||
batwatch = script "batwatch" ([ less coreutils ] ++ optionalDep withEntr entr);
|
||||
prettybat = script "prettybat" ([]
|
||||
++ optionalDep withShFmt shfmt
|
||||
++ optionalDep withPrettier nodePackages.prettier
|
||||
++ optionalDep withClangTools clang-tools
|
||||
++ optionalDep withRustFmt rustfmt);
|
||||
}
|
||||
63
pkgs/tools/misc/bat/default.nix
Normal file
63
pkgs/tools/misc/bat/default.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, less
|
||||
, Security
|
||||
, libiconv
|
||||
, installShellFiles
|
||||
, makeWrapper
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bat";
|
||||
version = "0.21.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sharkdp";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-eCk0oOHGZNqgqz+JJfIhjWdLgBTpBig+mggi1c3EUDk=";
|
||||
};
|
||||
cargoSha256 = "sha256-kYZxtiK9hnHBOMvRoHZK5kyXO9cg/gHBYuaITqKUpbE=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
|
||||
|
||||
postInstall = ''
|
||||
installManPage $releaseDir/build/bat-*/out/assets/manual/bat.1
|
||||
installShellCompletion $releaseDir/build/bat-*/out/assets/completions/bat.{bash,fish,zsh}
|
||||
'';
|
||||
|
||||
# Insert Nix-built `less` into PATH because the system-provided one may be too old to behave as
|
||||
# expected with certain flag combinations.
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/bat" \
|
||||
--prefix PATH : "${lib.makeBinPath [ less ]}"
|
||||
'';
|
||||
|
||||
checkFlags = [ "--skip=pager_more" "--skip=pager_most" ];
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
testFile=$(mktemp /tmp/bat-test.XXXX)
|
||||
echo -ne 'Foobar\n\n\n42' > $testFile
|
||||
$out/bin/bat -p $testFile | grep "Foobar"
|
||||
$out/bin/bat -p $testFile -r 4:4 | grep 42
|
||||
rm $testFile
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A cat(1) clone with syntax highlighting and Git integration";
|
||||
homepage = "https://github.com/sharkdp/bat";
|
||||
changelog = "https://github.com/sharkdp/bat/raw/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ asl20 /* or */ mit ];
|
||||
maintainers = with maintainers; [ dywedir lilyball zowoq SuperSandro2000 ];
|
||||
};
|
||||
}
|
||||
22
pkgs/tools/misc/bbe/default.nix
Normal file
22
pkgs/tools/misc/bbe/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, stdenv , fetchurl, autoreconfHook }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bbe";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/bbe-/${version}/bbe-${version}.tar.gz";
|
||||
sha256 = "1nyxdqi4425sffjrylh7gl57lrssyk4018afb7mvrnd6fmbszbms";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A sed-like editor for binary files";
|
||||
homepage = "http://bbe-.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.hhm ];
|
||||
};
|
||||
}
|
||||
169
pkgs/tools/misc/bc/cross-bc.patch
Normal file
169
pkgs/tools/misc/bc/cross-bc.patch
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
commit fdda59736ddc048cf38a2c7103f4f5d9eeaf995e
|
||||
Author: Ben Gamari <ben@smart-cactus.org>
|
||||
Date: Tue Oct 17 10:51:34 2017 -0400
|
||||
|
||||
Try implementing cross-compilation
|
||||
|
||||
diff --git a/bc/Makefile.am b/bc/Makefile.am
|
||||
index d9d412e..fdef633 100644
|
||||
--- a/bc/Makefile.am
|
||||
+++ b/bc/Makefile.am
|
||||
@@ -17,6 +17,7 @@ MAINTAINERCLEANFILES = Makefile.in bc.c bc.h scan.c \
|
||||
|
||||
AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../h
|
||||
LIBBC = ../lib/libbc.a
|
||||
+LIBBC_HOST = ../lib/libbc_host.a
|
||||
LIBL = @LEXLIB@
|
||||
LDADD = $(LIBBC) $(LIBL) @READLINELIB@
|
||||
|
||||
@@ -29,12 +30,20 @@ $(PROGRAMS): libmath.h $(LIBBC)
|
||||
scan.o: bc.h
|
||||
global.o: libmath.h
|
||||
+
|
||||
+main_host.c : main.c
|
||||
+ cp $< $@
|
||||
|
||||
-fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o
|
||||
+fbcOBJ = $(addsuffix _host,main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o)
|
||||
+
|
||||
+%.o_host : CC:=$(CC_FOR_BUILD)
|
||||
+
|
||||
+%.o_host : %.c
|
||||
+ $(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $<
|
||||
|
||||
-libmath.h: libmath.b $(fbcOBJ) $(LIBBC)
|
||||
+libmath.h: libmath.b $(fbcOBJ) $(LIBBC_HOST)
|
||||
echo '{0}' > libmath.h
|
||||
- $(MAKE) global.o
|
||||
- $(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS)
|
||||
+ $(MAKE) global.o_host
|
||||
+ $(CC_FOR_BUILD) -o fbc $(fbcOBJ) global.o_host $(LIBBC_HOST) $(LIBL) ${READLINELIB} $(LIBS)
|
||||
./fbc -c $(srcdir)/libmath.b </dev/null >libmath.h
|
||||
$(srcdir)/fix-libmath_h
|
||||
rm -f ./fbc ./global.o
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index fc74573..5cabb73 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -20,6 +20,7 @@ m4_define([dc_version], 1.4.1)
|
||||
|
||||
AC_INIT([bc],[bc_version])
|
||||
AC_CONFIG_SRCDIR(doc/bc.1)
|
||||
+AC_CONFIG_MACRO_DIR([m4])
|
||||
AM_INIT_AUTOMAKE([dist-bzip2])
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
@@ -35,6 +36,7 @@ AC_DEFINE([DC_COPYRIGHT],
|
||||
[Define the dc copyright line.])
|
||||
|
||||
AC_PROG_CC
|
||||
+AX_CC_FOR_BUILD
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
AM_PROG_LEX
|
||||
diff --git a/lib/Makefile.am b/lib/Makefile.am
|
||||
index ec4bf59..c670f5b 100644
|
||||
--- a/lib/Makefile.am
|
||||
+++ b/lib/Makefile.am
|
||||
@@ -1,5 +1,5 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
-noinst_LIBRARIES = libbc.a
|
||||
+noinst_LIBRARIES = libbc.a libbc_host.a
|
||||
|
||||
AM_CPPFLAGS = -I. -I.. -I$(srcdir)/../h
|
||||
|
||||
@@ -24,3 +24,11 @@ testmul: testmul.o number.o
|
||||
|
||||
specialnumber: newnumber.o
|
||||
cp newnumber.o number.o
|
||||
+
|
||||
+%.o_host : CC:=$(CC_FOR_BUILD)
|
||||
+%.o_host : %.c
|
||||
+ $(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $<
|
||||
+
|
||||
+libbc_host.a : $(addsuffix _host,$(libbc_a_OBJECTS))
|
||||
+ ar cru $@ $+
|
||||
+ ranlib $@
|
||||
diff --git a/m4/cc_for_build.m4 b/m4/cc_for_build.m4
|
||||
new file mode 100644
|
||||
index 0000000..c62ffad
|
||||
--- /dev/null
|
||||
+++ b/m4/cc_for_build.m4
|
||||
@@ -0,0 +1,77 @@
|
||||
+# ===========================================================================
|
||||
+# https://www.gnu.org/software/autoconf-archive/ax_cc_for_build.html
|
||||
+# ===========================================================================
|
||||
+#
|
||||
+# SYNOPSIS
|
||||
+#
|
||||
+# AX_CC_FOR_BUILD
|
||||
+#
|
||||
+# DESCRIPTION
|
||||
+#
|
||||
+# Find a build-time compiler. Sets CC_FOR_BUILD and EXEEXT_FOR_BUILD.
|
||||
+#
|
||||
+# LICENSE
|
||||
+#
|
||||
+# Copyright (c) 2010 Reuben Thomas <rrt@sc3d.org>
|
||||
+# Copyright (c) 1999 Richard Henderson <rth@redhat.com>
|
||||
+#
|
||||
+# This program is free software: you can redistribute it and/or modify it
|
||||
+# under the terms of the GNU General Public License as published by the
|
||||
+# Free Software Foundation, either version 3 of the License, or (at your
|
||||
+# option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful, but
|
||||
+# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
+# Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License along
|
||||
+# with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
+#
|
||||
+# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
+# gives unlimited permission to copy, distribute and modify the configure
|
||||
+# scripts that are the output of Autoconf when processing the Macro. You
|
||||
+# need not follow the terms of the GNU General Public License when using
|
||||
+# or distributing such scripts, even though portions of the text of the
|
||||
+# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
+# all other use of the material that constitutes the Autoconf Macro.
|
||||
+#
|
||||
+# This special exception to the GPL applies to versions of the Autoconf
|
||||
+# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
+# modified version of the Autoconf Macro, you may extend this special
|
||||
+# exception to the GPL to apply to your modified version as well.
|
||||
+
|
||||
+#serial 3
|
||||
+
|
||||
+dnl Get a default for CC_FOR_BUILD to put into Makefile.
|
||||
+AC_DEFUN([AX_CC_FOR_BUILD],
|
||||
+[# Put a plausible default for CC_FOR_BUILD in Makefile.
|
||||
+if test -z "$CC_FOR_BUILD"; then
|
||||
+ if test "x$cross_compiling" = "xno"; then
|
||||
+ CC_FOR_BUILD='$(CC)'
|
||||
+ else
|
||||
+ CC_FOR_BUILD=gcc
|
||||
+ fi
|
||||
+fi
|
||||
+AC_SUBST(CC_FOR_BUILD)
|
||||
+# Also set EXEEXT_FOR_BUILD.
|
||||
+if test "x$cross_compiling" = "xno"; then
|
||||
+ EXEEXT_FOR_BUILD='$(EXEEXT)'
|
||||
+else
|
||||
+ AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext,
|
||||
+ [rm -f conftest*
|
||||
+ echo 'int main () { return 0; }' > conftest.c
|
||||
+ bfd_cv_build_exeext=
|
||||
+ ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5
|
||||
+ for file in conftest.*; do
|
||||
+ case $file in
|
||||
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
|
||||
+ *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
|
||||
+ esac
|
||||
+ done
|
||||
+ rm -f conftest*
|
||||
+ test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no])
|
||||
+ EXEEXT_FOR_BUILD=""
|
||||
+ test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext}
|
||||
+fi
|
||||
+AC_SUBST(EXEEXT_FOR_BUILD)])dnl
|
||||
40
pkgs/tools/misc/bc/default.nix
Normal file
40
pkgs/tools/misc/bc/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ lib, stdenv, autoreconfHook, buildPackages
|
||||
, fetchurl, flex, readline, ed, texinfo
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bc";
|
||||
version = "1.07.1";
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/bc/${pname}-${version}.tar.gz";
|
||||
sha256 = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a";
|
||||
};
|
||||
|
||||
configureFlags = [ "--with-readline" ];
|
||||
|
||||
# As of 1.07 cross-compilation is quite complicated as the build system wants
|
||||
# to build a code generator, bc/fbc, on the build machine.
|
||||
patches = [ ./cross-bc.patch ];
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
nativeBuildInputs = [
|
||||
# Tools
|
||||
autoreconfHook ed flex texinfo
|
||||
# Libraries for build
|
||||
buildPackages.readline buildPackages.ncurses
|
||||
];
|
||||
buildInputs = [ readline flex ];
|
||||
|
||||
doCheck = true; # not cross
|
||||
|
||||
# Hack to make sure we never to the relaxation `$PATH` and hooks support for
|
||||
# compatability. This will be replaced with something clearer in a future
|
||||
# masss-rebuild.
|
||||
strictDeps = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "GNU software calculator";
|
||||
homepage = "https://www.gnu.org/software/bc/";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/misc/bcunit/default.nix
Normal file
27
pkgs/tools/misc/bcunit/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ cmake
|
||||
, fetchFromGitLab
|
||||
, lib, stdenv
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bcunit";
|
||||
version = "linphone-4.4.1";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.linphone.org";
|
||||
owner = "public";
|
||||
group = "BC";
|
||||
repo = pname;
|
||||
rev = "c5eebcc7f794e9567d3c72d15d3f28bffe6bfd0f";
|
||||
sha256 = "sha256-8DSfqHerx/V00SJjTSQaG9Rjqx330iG6sGivBDUvQfA=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Belledonne Communications' fork of CUnit test framework. Part of the Linphone project.";
|
||||
homepage = "https://gitlab.linphone.org/BC/public/bcunit";
|
||||
license = licenses.lgpl2Plus;
|
||||
maintainers = with maintainers; [ raskin jluttine ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
39
pkgs/tools/misc/bdf2psf/default.nix
Normal file
39
pkgs/tools/misc/bdf2psf/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, stdenv, fetchurl, perl, dpkg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bdf2psf";
|
||||
version = "1.207";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
|
||||
sha256 = "0k9dv4s44k1khrhr6acsb2sqr5iq3d03ync82nzan5j7mckzs76v";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
dpkg-deb -x $src .
|
||||
runHook postUnpack
|
||||
'';
|
||||
installPhase = "
|
||||
runHook preInstall
|
||||
substituteInPlace usr/bin/bdf2psf --replace /usr/bin/perl ${perl}/bin/perl
|
||||
mv usr $out
|
||||
runHook postInstall
|
||||
";
|
||||
|
||||
meta = with lib; {
|
||||
description = "BDF to PSF converter";
|
||||
homepage = "https://packages.debian.org/sid/bdf2psf";
|
||||
longDescription = ''
|
||||
Font converter to generate console fonts from BDF source fonts
|
||||
'';
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ rnhmjoj vrthra ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
23
pkgs/tools/misc/bdf2sfd/default.nix
Normal file
23
pkgs/tools/misc/bdf2sfd/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bdf2sfd";
|
||||
version = "1.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fcambus";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-q+FLmu2JCDTJ6zC8blkd27jAKWbNpPyKzmUj1bW1mfA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "BDF to SFD converter";
|
||||
homepage = "https://github.com/fcambus/bdf2sfd";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
};
|
||||
}
|
||||
20
pkgs/tools/misc/bdfresize/default.nix
Normal file
20
pkgs/tools/misc/bdfresize/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bdfresize";
|
||||
version = "1.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://openlab.ring.gr.jp/efont/dist/tools/bdfresize/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-RAz8BiCgI35GNSwUoHdMqj8wWXWbCiDe/vyU6EkIl6Y=";
|
||||
};
|
||||
|
||||
patches = [ ./remove-malloc-declaration.patch ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to resize BDF fonts";
|
||||
homepage = "http://openlab.ring.gr.jp/efont/dist/tools/bdfresize/";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ malvo ];
|
||||
};
|
||||
}
|
||||
11
pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch
Normal file
11
pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
Remove an unneeded declaration of malloc so gcc doesn't complain.
|
||||
--- a/charresize.c
|
||||
+++ b/charresize.c
|
||||
@@ -46,7 +46,6 @@ static int bit[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
|
||||
void
|
||||
processChar(void)
|
||||
{
|
||||
- char *malloc();
|
||||
char *srcimage;
|
||||
int *dstgray;
|
||||
|
||||
23
pkgs/tools/misc/beats/default.nix
Normal file
23
pkgs/tools/misc/beats/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "beats";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "j0hax";
|
||||
repo = "beats";
|
||||
rev = "v${version}";
|
||||
sha256 = "1rdvsqrjpily74y8vwch711401585xckb4p41cfwrmj6vf44jhif";
|
||||
};
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" "CC=cc" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/j0hax/beats";
|
||||
license = licenses.gpl3Only;
|
||||
description = "Swatch Internet Time implemented as a C program";
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.j0hax ];
|
||||
};
|
||||
}
|
||||
60
pkgs/tools/misc/bepasty/default.nix
Normal file
60
pkgs/tools/misc/bepasty/default.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{ python3
|
||||
, lib
|
||||
}:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = self: super : {
|
||||
xstatic-bootstrap = super.xstatic-bootstrap.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "3.3.7.1";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "0cgihyjb9rg6r2ddpzbjm31y0901vyc8m9h3v0zrhxydx1w9x50c";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
#We need to use buildPythonPackage here to get the PYTHONPATH build correctly.
|
||||
#This is needed for services.bepasty
|
||||
#https://github.com/NixOS/nixpkgs/pull/38300
|
||||
in with python.pkgs; buildPythonPackage rec {
|
||||
pname = "bepasty";
|
||||
version = "0.5.0";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
flask
|
||||
pygments
|
||||
setuptools
|
||||
xstatic
|
||||
xstatic-bootbox
|
||||
xstatic-bootstrap
|
||||
xstatic-jquery
|
||||
xstatic-jquery-file-upload
|
||||
xstatic-jquery-ui
|
||||
xstatic-pygments
|
||||
];
|
||||
|
||||
buildInputs = [ setuptools-scm ];
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1y3smw9620w2ia4zfsl2svb9j7mkfgc8z1bzjffyk1w5vryhwikh";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
selenium
|
||||
];
|
||||
|
||||
# No tests in sdist
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/bepasty/bepasty-server";
|
||||
description = "Binary pastebin server";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.makefu ];
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/misc/betterdiscord-installer/default.nix
Normal file
32
pkgs/tools/misc/betterdiscord-installer/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ appimageTools, lib, fetchurl }:
|
||||
let
|
||||
pname = "betterdiscord-installer";
|
||||
version = "1.0.0-beta";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/BetterDiscord/Installer/releases/download/v${version}/Betterdiscord-Linux.AppImage";
|
||||
sha256 = "103acb11qmvjmf6g9lgsfm5jyahfwfdqw0x9w6lmv1hzwbs26dsr";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract { inherit name src; };
|
||||
in appimageTools.wrapType2 {
|
||||
inherit name src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
|
||||
install -m 444 -D ${appimageContents}/betterdiscord.desktop -t $out/share/applications
|
||||
substituteInPlace $out/share/applications/betterdiscord.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Installer for BetterDiscord";
|
||||
homepage = "https://betterdiscord.app";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.ivar ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
42
pkgs/tools/misc/betterdiscordctl/default.nix
Normal file
42
pkgs/tools/misc/betterdiscordctl/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, stdenvNoCC, fetchFromGitHub }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "betterdiscordctl";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bb010g";
|
||||
repo = "betterdiscordctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "0p321rfcihz2779sdd6qfgpxgk5yd53d33vq5pvb50dbdgxww0bc";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace betterdiscordctl \
|
||||
--replace "DISABLE_SELF_UPGRADE=" "DISABLE_SELF_UPGRADE=yes"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/bin" "$out/share/doc/betterdiscordctl"
|
||||
install -Dm744 betterdiscordctl $out/bin/betterdiscordctl
|
||||
install -Dm644 README.md $out/share/doc/betterdiscordctl/README.md
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
$out/bin/betterdiscordctl --version
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/bb010g/betterdiscordctl";
|
||||
description = "A utility for managing BetterDiscord on Linux";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ivar bb010g ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
29
pkgs/tools/misc/bfetch/default.nix
Normal file
29
pkgs/tools/misc/bfetch/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenvNoCC, fetchFromGitHub, bash }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "bfetch";
|
||||
version = "unstable-2021-05-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NNBnh";
|
||||
repo = pname;
|
||||
rev = "ef88e9d3f815e5074efc8ef4b7f32be6818130f2";
|
||||
sha256 = "sha256-jS9zI8b+z3KbI+LeHFwIMJfEmAKSzO8HRZ2rk35hJCk=";
|
||||
};
|
||||
|
||||
buildInputs = [ bash ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --host bin/bfetch
|
||||
'';
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A SuperB general-purpose fetch displayer written in portable sh";
|
||||
homepage = "https://github.com/NNBnh/bfetch";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ fortuneteller2k ];
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/misc/bfr/default.nix
Normal file
27
pkgs/tools/misc/bfr/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchurl, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bfr";
|
||||
version = "1.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.sourcefiles.org/Utilities/Text_Utilities/bfr-${version}.tar.bz2";
|
||||
sha256 = "0fadfssvj9klj4dq9wdrzys1k2a1z2j0p6kgnfgbjv0n1bq6h4cy";
|
||||
};
|
||||
|
||||
patches =
|
||||
[ (fetchurl {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-misc/bfr/files/bfr-1.6-perl.patch";
|
||||
sha256 = "1pk9jm3c1qzs727lh0bw61w3qbykaqg4jblywf9pvq5bypk88qfj";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ perl ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A general-purpose command-line pipe buffer";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
21
pkgs/tools/misc/bibtex2html/default.nix
Normal file
21
pkgs/tools/misc/bibtex2html/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ lib, stdenv, fetchurl, ocaml, perl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "bibtex2html";
|
||||
version = "1.99";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.lri.fr/~filliatr/ftp/bibtex2html/bibtex2html-1.99.tar.gz";
|
||||
sha256 = "07gzrs4lfrkvbn48cgn2gn6c7cx3jsanakkrb2irj0gmjzfxl96j";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml perl ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A collection of tools for translating from BibTeX to HTML";
|
||||
homepage = "https://www.lri.fr/~filliatr/bibtex2html/";
|
||||
license = licenses.gpl2;
|
||||
platforms = ocaml.meta.platforms or [];
|
||||
maintainers = [ maintainers.scolobb ];
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/misc/bibtool/default.nix
Normal file
27
pkgs/tools/misc/bibtool/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchurl, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bibtool";
|
||||
version = "2.68";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.gerd-neugebauer.de/software/TeX/BibTool/BibTool-${version}.tar.gz";
|
||||
sha256 = "1ymq901ckaysq2n1bplk1064rb2njq9n30pii15w157y0lxcwd3i";
|
||||
};
|
||||
|
||||
# Perl for running test suite.
|
||||
buildInputs = [ perl ];
|
||||
|
||||
installTargets = [ "install" "install.man" ];
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool for manipulating BibTeX bibliographies";
|
||||
homepage = "http://www.gerd-neugebauer.de/software/TeX/BibTool/index.en.html";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.rycee ];
|
||||
};
|
||||
}
|
||||
42
pkgs/tools/misc/bibutils/default.nix
Normal file
42
pkgs/tools/misc/bibutils/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, static ? stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bibutils";
|
||||
version = "7.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/bibutils/bibutils_${version}_src.tgz";
|
||||
sha256 = "sha256-bgKK7x6Kaz5azvCYWEp7tocI81z+dAEbNBwR/qXktcM=";
|
||||
};
|
||||
|
||||
preConfigure = lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace lib/Makefile.dynamic \
|
||||
--replace '-Wl,-soname,$(SONAME)' ""
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
(if static then "--static" else "--dynamic")
|
||||
"--install-dir" "$(out)/bin"
|
||||
"--install-lib" "$(out)/lib"
|
||||
];
|
||||
dontAddPrefix = true;
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
preCheck = lib.optionalString stdenv.isDarwin ''
|
||||
export DYLD_LIBRARY_PATH=`pwd`/lib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bibliography format interconversion";
|
||||
longDescription = "The bibutils program set interconverts between various bibliography formats using a common MODS-format XML intermediate. For example, one can convert RIS-format files to Bibtex by doing two transformations: RIS->MODS->Bibtex. By using a common intermediate for N formats, only 2N programs are required and not N²-N. These programs operate on the command line and are styled after standard UNIX-like filters.";
|
||||
homepage = "https://sourceforge.net/p/bibutils/home/Bibutils/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.garrison ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
34
pkgs/tools/misc/birdfont/default.nix
Normal file
34
pkgs/tools/misc/birdfont/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, python3, xmlbird,
|
||||
cairo, gdk-pixbuf, libgee, glib, gtk3, webkitgtk, libnotify, sqlite, vala,
|
||||
gobject-introspection, gsettings-desktop-schemas, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "birdfont";
|
||||
version = "2.30.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://birdfont.org/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-aIhJXmzLY2Sw9mFe2AmLkXb+YRnFu1pMnFeDF+zfHRE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3 pkg-config vala gobject-introspection wrapGAppsHook ];
|
||||
buildInputs = [ xmlbird libgee cairo gdk-pixbuf glib gtk3 webkitgtk libnotify sqlite gsettings-desktop-schemas ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace install.py \
|
||||
--replace 'platform.version()' '"Nix"'
|
||||
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
buildPhase = "./build.py";
|
||||
|
||||
installPhase = "./install.py";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Font editor which can generate fonts in TTF, EOT, SVG and BIRDFONT format";
|
||||
homepage = "https://birdfont.org";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/misc/birdfont/xmlbird.nix
Normal file
32
pkgs/tools/misc/birdfont/xmlbird.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchurl, python3, pkg-config, vala, glib, gobject-introspection }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xmlbird";
|
||||
version = "1.2.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://birdfont.org/${pname}-releases/lib${pname}-${version}.tar.xz";
|
||||
sha256 = "15z4rvii3p54g2hasibjnf83c1702d84367fnl8pbisjqqrdcl04";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3 pkg-config vala gobject-introspection ];
|
||||
|
||||
buildInputs = [ glib ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace configure \
|
||||
--replace 'platform.dist()[0]' '"nix"'
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
buildPhase = "./build.py";
|
||||
|
||||
installPhase = "./install.py";
|
||||
|
||||
meta = with lib; {
|
||||
description = "XML parser for Vala and C programs";
|
||||
homepage = "https://birdfont.org/xmlbird.php";
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
};
|
||||
}
|
||||
24
pkgs/tools/misc/bitwise/default.nix
Normal file
24
pkgs/tools/misc/bitwise/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ lib, stdenv, fetchFromGitHub, ncurses, readline, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitwise";
|
||||
version = "0.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mellowcandle";
|
||||
repo = "bitwise";
|
||||
rev = "v${version}";
|
||||
sha256 = "18sz7bfpq83s2zhw7c35snz6k3b6rzad2mmfq2qwmyqwypbp1g7l";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses readline ];
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal based bitwise calculator in curses";
|
||||
homepage = "https://github.com/mellowcandle/bitwise";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = [ maintainers.whonore ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
45
pkgs/tools/misc/bkyml/default.nix
Normal file
45
pkgs/tools/misc/bkyml/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, python3
|
||||
}:
|
||||
|
||||
with python3.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "bkyml";
|
||||
version = "1.4.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "01kpx35572mp4xl2fjyvfk39jfgfjcyzymbifk76891kaqkjb7r9";
|
||||
};
|
||||
|
||||
# The pyscaffold is not a runtime dependency but just a python project bootstrapping tool. Thus,
|
||||
# instead of implement this package in nix we remove a dependency on it and fix up the version
|
||||
# of the package, that has been affected by the pyscaffold package dependency removal.
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "['pyscaffold>=3.0a0,<3.1a0'] + " "" \
|
||||
--replace "use_pyscaffold=True" ""
|
||||
substituteInPlace src/bkyml/skeleton.py --replace \
|
||||
"from bkyml import __version__" \
|
||||
"__version__ = \"${version}\""
|
||||
'';
|
||||
|
||||
# Don't run tests because they are broken when run within
|
||||
# buildPythonApplication for reasons I don't quite understand.
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "bkyml" ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ruamel-yaml
|
||||
setuptools
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/joscha/bkyml";
|
||||
description = "A CLI tool to generate a pipeline.yaml file for Buildkite on the fly.";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ olebedev ];
|
||||
};
|
||||
}
|
||||
22
pkgs/tools/misc/blflash/default.nix
Normal file
22
pkgs/tools/misc/blflash/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, fetchFromGitHub, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "blflash";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "spacemeowx2";
|
||||
repo = "blflash";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-hPScmivtugtZm848Itzg4Tb9rppZny+rKi3IBuUxxQY=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-/y3R8B2TOf8jeB9tcewoA9EGN6kj/EPMTjU6rfTF5Vc=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "An bl602 serial flasher written in Rust";
|
||||
homepage = "https://github.com/spacemeowx2/blflash";
|
||||
license = with licenses; [ mit asl20 ];
|
||||
maintainers = with maintainers; [ _0x4A6F ];
|
||||
};
|
||||
}
|
||||
45
pkgs/tools/misc/blink1-tool/default.nix
Normal file
45
pkgs/tools/misc/blink1-tool/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libusb1
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "blink1";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "todbot";
|
||||
repo = "blink1-tool";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-xuCjPSQUQ/KOcdsie/ndecUiEt+t46m4eI33PXJoAAY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "@git submodule update --init" "true"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libusb1 ];
|
||||
|
||||
makeFlags = [
|
||||
"GIT_TAG=v${version}"
|
||||
"USBLIB_TYPE=HIDAPI"
|
||||
"HIDAPI_TYPE=LIBUSB"
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
installFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line client for the blink(1) notification light";
|
||||
homepage = "https://blink1.thingm.com/";
|
||||
license = with licenses; [ cc-by-sa-40 ];
|
||||
maintainers = with maintainers; [ cransom ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/misc/bmap-tools/default.nix
Normal file
26
pkgs/tools/misc/bmap-tools/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, fetchFromGitHub, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "bmap-tools";
|
||||
version = "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "bmap-tools";
|
||||
rev = "v${version}";
|
||||
sha256 = "01xzrv5nvd2nvj91lz4x9s91y9825j9pj96z0ap6yvy3w2dgvkkl";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ six ];
|
||||
|
||||
# tests fail only on hydra.
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "bmap-related tools";
|
||||
homepage = "https://github.com/intel/bmap-tools";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.dezgeg ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
34
pkgs/tools/misc/bmon/default.nix
Normal file
34
pkgs/tools/misc/bmon/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, ncurses, libconfuse
|
||||
, libnl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bmon";
|
||||
version = "4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tgraf";
|
||||
repo = "bmon";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ilba872c09mnlvylslv4hqv6c9cz36l76q74rr99jvis1dg69gf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
||||
buildInputs = [ ncurses libconfuse ] ++ lib.optional stdenv.isLinux libnl;
|
||||
|
||||
preConfigure = ''
|
||||
# Must be an absolute path
|
||||
export PKG_CONFIG="$(command -v "$PKG_CONFIG")"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Network bandwidth monitor";
|
||||
homepage = "https://github.com/tgraf/bmon";
|
||||
# Licensed unter BSD and MIT
|
||||
# - https://github.com/tgraf/bmon/blob/master/LICENSE.BSD
|
||||
# - https://github.com/tgraf/bmon/blob/master/LICENSE.MIT
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ bjornfor pSub ];
|
||||
};
|
||||
}
|
||||
31
pkgs/tools/misc/bogofilter/default.nix
Normal file
31
pkgs/tools/misc/bogofilter/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{fetchurl, lib, stdenv, flex, db}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bogofilter";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/bogofilter/bogofilter-${version}.tar.bz2";
|
||||
sha256 = "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1";
|
||||
};
|
||||
|
||||
# FIXME: We would need `pax' as a "propagated build input" (for use
|
||||
# by the `bf_tar' script) but we don't have it currently.
|
||||
|
||||
buildInputs = [ flex db ];
|
||||
|
||||
doCheck = false; # needs "y" tool
|
||||
|
||||
meta = {
|
||||
homepage = "http://bogofilter.sourceforge.net/";
|
||||
longDescription = ''
|
||||
Bogofilter is a mail filter that classifies mail as spam or ham
|
||||
(non-spam) by a statistical analysis of the message's header and
|
||||
content (body). The program is able to learn from the user's
|
||||
classifications and corrections. It is based on a Bayesian
|
||||
filter.
|
||||
'';
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
25
pkgs/tools/misc/boltbrowser/default.nix
Normal file
25
pkgs/tools/misc/boltbrowser/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "boltbrowser";
|
||||
version = "2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "br0xen";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Obfhxe0AI5m4UTvs28PMOrBxWuwMW7FY4DMI80Ez0Ws=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-G47vTP2EBM0fa1lCma6gQGMlkb6xe620hYwZYcSpSPQ=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI Browser for BoltDB files";
|
||||
homepage = "https://github.com/br0xen/boltbrowser";
|
||||
license = with licenses; [ gpl3Only ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
22
pkgs/tools/misc/bottom-rs/default.nix
Normal file
22
pkgs/tools/misc/bottom-rs/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, rustPlatform, fetchCrate }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bottom-rs";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit version;
|
||||
crateName = "bottomify";
|
||||
sha256 = "sha256-R1zj+TFXoolonIFa1zJDd7CdrORfzAPlxJoJVYe9xdc=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-7xD65ookkK09XwCBH6fXqmWRYlmvpwAocojBg/dHzUI=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fantastic (maybe) CLI for translating between bottom and human-readable text";
|
||||
homepage = "https://github.com/bottom-software-foundation/bottom-rs";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ winter ];
|
||||
mainProgram = "bottomify";
|
||||
};
|
||||
}
|
||||
95
pkgs/tools/misc/brltty/default.nix
Normal file
95
pkgs/tools/misc/brltty/default.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, python3, bluez
|
||||
, tcl, acl, kmod, coreutils, shadow, util-linux, udev
|
||||
, alsaSupport ? stdenv.isLinux, alsa-lib
|
||||
, systemdSupport ? stdenv.isLinux, systemd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "brltty";
|
||||
version = "6.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://brltty.app/archive/${pname}-${version}.tar.gz";
|
||||
sha256 = "14psxwlvgyi2fj1zh8rfykyjcjaya8xa7yg574bxd8y8n49n8hvb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config python3.pkgs.cython tcl ];
|
||||
buildInputs = [ bluez ]
|
||||
++ lib.optional alsaSupport alsa-lib
|
||||
++ lib.optional systemdSupport systemd;
|
||||
|
||||
meta = {
|
||||
description = "Access software for a blind person using a braille display";
|
||||
longDescription = ''
|
||||
BRLTTY is a background process (daemon) which provides access to the Linux/Unix
|
||||
console (when in text mode) for a blind person using a refreshable braille display.
|
||||
It drives the braille display, and provides complete screen review functionality.
|
||||
Some speech capability has also been incorporated.
|
||||
'';
|
||||
homepage = "https://brltty.app";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ lib.maintainers.bramd ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"PYTHON_PREFIX=$(out)"
|
||||
"SYSTEMD_UNITS_DIRECTORY=$(out)/lib/systemd/system"
|
||||
"SYSTEMD_USERS_DIRECTORY=$(out)/lib/sysusers.d"
|
||||
"SYSTEMD_FILES_DIRECTORY=$(out)/lib/tmpfiles.d"
|
||||
"UDEV_LIBRARY_DIRECTORY=$(out)/lib/udev"
|
||||
"UDEV_RULES_TYPE=all"
|
||||
"POLKIT_POLICY_DIR=$(out)/share/polkit-1/actions"
|
||||
"POLKIT_RULE_DIR=$(out)/share/polkit-1/rules.d"
|
||||
];
|
||||
configureFlags = [
|
||||
"--with-writable-directory=/run/brltty"
|
||||
"--with-updatable-directory=/var/lib/brltty"
|
||||
"--with-api-socket-path=/var/lib/BrlAPI"
|
||||
];
|
||||
installFlags = [ "install-systemd" "install-udev" "install-polkit" ];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace configure --replace /sbin/ldconfig ldconfig
|
||||
|
||||
# Some script needs a working tclsh shebang
|
||||
patchShebangs .
|
||||
|
||||
# Skip impure operations
|
||||
substituteInPlace Programs/Makefile.in \
|
||||
--replace install-writable-directory "" \
|
||||
--replace install-apisoc-directory "" \
|
||||
--replace install-api-key ""
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Rewrite absolute paths
|
||||
substituteInPlace $out/bin/brltty-mkuser \
|
||||
--replace '/sbin/nologin' '${shadow}/bin/nologin'
|
||||
(
|
||||
cd $out/lib
|
||||
substituteInPlace systemd/system/brltty@.service \
|
||||
--replace '/usr/lib' "$out/lib" \
|
||||
--replace '/sbin/modprobe' '${kmod}/bin/modprobe'
|
||||
# Ensure the systemd-wrapper script uses the correct path to the brltty binary
|
||||
sed "/^Environment=\"BRLTTY_EXECUTABLE_ARGUMENTS.*/a Environment=\"BRLTTY_EXECUTABLE_PATH=$out/bin/brltty\"" -i systemd/system/brltty@.service
|
||||
substituteInPlace systemd/system/brltty-device@.service \
|
||||
--replace '/usr/bin/true' '${coreutils}/bin/true'
|
||||
substituteInPlace udev/rules.d/90-brltty-uinput.rules \
|
||||
--replace '/usr/bin/setfacl' '${acl}/bin/setfacl'
|
||||
substituteInPlace tmpfiles.d/brltty.conf \
|
||||
--replace "$out/etc" '/etc'
|
||||
|
||||
# Remove unused commands from udev rules
|
||||
sed '/initctl/d' -i udev/rules.d/90-brltty-device.rules
|
||||
# Remove pulse-access group from systemd unit and sysusers
|
||||
substituteInPlace systemd/system/brltty@.service \
|
||||
--replace 'SupplementaryGroups=pulse-access' '# SupplementaryGroups=pulse-access'
|
||||
substituteInPlace sysusers.d/brltty.conf \
|
||||
--replace 'm brltty pulse-access' '# m brltty pulse-access'
|
||||
)
|
||||
substituteInPlace $out/libexec/brltty/systemd-wrapper \
|
||||
--replace 'logger' "${util-linux}/bin/logger" \
|
||||
--replace 'udevadm' "${udev}/bin/udevadm"
|
||||
'';
|
||||
}
|
||||
36
pkgs/tools/misc/broadlink-cli/default.nix
Normal file
36
pkgs/tools/misc/broadlink-cli/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, python3Packages, fetchFromGitHub }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "broadlink-cli";
|
||||
version = "0.18.2";
|
||||
|
||||
# the tools are available as part of the source distribution from GH but
|
||||
# not pypi, so we have to fetch them here.
|
||||
src = fetchFromGitHub {
|
||||
owner = "mjg59";
|
||||
repo = "python-broadlink";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-JX+Io5EP1OgtP7T+UQtkfCPWE1rd3MTrCYRhU9C0+0c=";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
broadlink
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm555 -t $out/bin cli/broadlink_{cli,discovery}
|
||||
install -Dm444 -t $out/share/doc/broadlink cli/README.md
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tools for interfacing with Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs";
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
inherit (python3Packages.broadlink.meta) homepage license;
|
||||
};
|
||||
}
|
||||
88
pkgs/tools/misc/broot/default.nix
Normal file
88
pkgs/tools/misc/broot/default.nix
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchCrate
|
||||
, installShellFiles
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, libgit2
|
||||
, oniguruma
|
||||
, libiconv
|
||||
, Security
|
||||
, libxcb
|
||||
, zlib
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "broot";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-WCnTmb9EEFmA4nEBD3UzV3JfyHtJyJibMd85madoyto=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-FH+swtzO65fKWFLG3rDOysmbsVSjGFGeMiYtNQU62ww=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [ libgit2 oniguruma libxcb ] ++ lib.optionals stdenv.isDarwin [
|
||||
libiconv
|
||||
Security
|
||||
zlib
|
||||
];
|
||||
|
||||
RUSTONIG_SYSTEM_LIBONIG = true;
|
||||
|
||||
postPatch = ''
|
||||
# Fill the version stub in the man page. We can't fill the date
|
||||
# stub reproducibly.
|
||||
substitute man/page man/broot.1 \
|
||||
--replace "#version" "${version}"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Do not nag users about installing shell integration, since
|
||||
# it is impure.
|
||||
wrapProgram $out/bin/broot \
|
||||
--set BR_INSTALL no
|
||||
|
||||
# Install shell function for bash.
|
||||
$out/bin/broot --print-shell-function bash > br.bash
|
||||
install -Dm0444 -t $out/etc/profile.d br.bash
|
||||
|
||||
# Install shell function for zsh.
|
||||
$out/bin/broot --print-shell-function zsh > br.zsh
|
||||
install -Dm0444 br.zsh $out/share/zsh/site-functions/br
|
||||
|
||||
# Install shell function for fish
|
||||
$out/bin/broot --print-shell-function fish > br.fish
|
||||
install -Dm0444 -t $out/share/fish/vendor_functions.d br.fish
|
||||
|
||||
# install shell completion files
|
||||
OUT_DIR=$releaseDir/build/broot-*/out
|
||||
|
||||
installShellCompletion --bash $OUT_DIR/{br,broot}.bash
|
||||
installShellCompletion --fish $OUT_DIR/{br,broot}.fish
|
||||
installShellCompletion --zsh $OUT_DIR/{_br,_broot}
|
||||
|
||||
installManPage man/broot.1
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/broot --version | grep "${version}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
|
||||
homepage = "https://dystroy.org/broot/";
|
||||
changelog = "https://github.com/Canop/broot/releases/tag/v${version}";
|
||||
maintainers = with maintainers; [ dywedir ];
|
||||
license = with licenses; [ mit ];
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/misc/brotab/default.nix
Normal file
36
pkgs/tools/misc/brotab/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, fetchFromGitHub, glibcLocales, python }:
|
||||
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
version = "1.3.0";
|
||||
pname = "brotab";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "balta2ar";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1ja9qaf3rxm0chgzs5mpw973h7ibb454k9mbfbb2gl12gr9zllyw";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
requests
|
||||
flask
|
||||
psutil
|
||||
setuptools
|
||||
];
|
||||
|
||||
checkBuildInputs = with python.pkgs; [
|
||||
pytest
|
||||
];
|
||||
|
||||
# test_integration.py requires Chrome browser session
|
||||
checkPhase = ''
|
||||
${python.interpreter} -m unittest brotab/tests/test_{brotab,utils}.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/balta2ar/brotab";
|
||||
description = "Control your browser's tabs from the command line";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ doronbehar ];
|
||||
};
|
||||
}
|
||||
45
pkgs/tools/misc/bsp-layout/default.nix
Normal file
45
pkgs/tools/misc/bsp-layout/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, git
|
||||
, bc
|
||||
, bspwm
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bsp-layout";
|
||||
version = "unstable-2021-05-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phenax";
|
||||
repo = pname;
|
||||
rev = "726b850b79eabdc6f4d236cff52e434848cb55e3";
|
||||
sha256 = "1wqlzbz7l9vz37gin2zckrnxkkabnd7x5mi9pb0x96w4yhld5mx6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper git bc ];
|
||||
buildInputs = [ bspwm ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace $out/lib/bsp-layout/layout.sh --replace 'bc ' '${bc}/bin/bc '
|
||||
for layout in tall rtall wide rwide
|
||||
do
|
||||
substituteInPlace "$out/lib/bsp-layout/layouts/$layout.sh" --replace 'bc ' '${bc}/bin/bc '
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Manage layouts in bspwm";
|
||||
longDescription = ''
|
||||
bsp-layout is a dynamic layout manager for bspwm, written in bash.
|
||||
It provides layout options to fit most workflows.
|
||||
'';
|
||||
homepage = "https://github.com/phenax/bsp-layout";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ devins2518 totoroot ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
83
pkgs/tools/misc/btdu/default.nix
Normal file
83
pkgs/tools/misc/btdu/default.nix
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{stdenv, lib, fetchurl, dub, ncurses, ldc, zlib, removeReferencesTo }:
|
||||
|
||||
let
|
||||
_d_ae_ver = "0.0.3141";
|
||||
_d_btrfs_ver = "0.0.12";
|
||||
_d_ncurses_ver = "0.0.149";
|
||||
_d_emsi_containers_ver = "0.9.0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "btdu";
|
||||
version = "0.4.0";
|
||||
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
url = "https://github.com/CyberShadow/${pname}/archive/v${version}.tar.gz";
|
||||
sha256 = "1377d2ee14367deed6f0b17407a0de437450a4f381819265d98c38fbc05f792f";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://github.com/CyberShadow/ae/archive/v${_d_ae_ver}.tar.gz";
|
||||
sha256 = "5ae60c637050c11733da8a67735a43e16d6082d18b74ce64b04e24e42d8f5f5f";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://github.com/CyberShadow/d-btrfs/archive/v${_d_btrfs_ver}.tar.gz";
|
||||
sha256 = "cf2b1fa3e94a0aa239d465adbac239514838835283521d632f571948aa517f92";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://github.com/D-Programming-Deimos/ncurses/archive/v${_d_ncurses_ver}.tar.gz";
|
||||
sha256 = "2c8497f5dd93f9d3a05ca7ed57c4fcaee1e988fd25a24de106917ddf72f34646";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://github.com/dlang-community/containers/archive/v${_d_emsi_containers_ver}.tar.gz";
|
||||
sha256 = "5e256b84bbdbd2bd625cba0472ea27a1fde6d673d37a85fe971a20d52874acaa";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
postUnpack = ''
|
||||
mv ae-${_d_ae_ver} "ae"
|
||||
'';
|
||||
|
||||
|
||||
nativeBuildInputs = [ dub ldc ];
|
||||
buildInputs = [ ncurses zlib ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
mkdir home
|
||||
HOME="home" dub add-local ae ${_d_ae_ver}
|
||||
HOME="home" dub add-local d-btrfs-${_d_btrfs_ver} ${_d_btrfs_ver}
|
||||
HOME="home" dub add-local ncurses-${_d_ncurses_ver} ${_d_ncurses_ver}
|
||||
HOME="home" dub add-local containers-${_d_emsi_containers_ver} ${_d_emsi_containers_ver}
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
cd ${pname}-${version}
|
||||
HOME="../home" dub --skip-registry=all build -b release
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp btdu $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
${removeReferencesTo}/bin/remove-references-to -t ${ldc} $out/bin/btdu
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.py;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Sampling disk usage profiler for btrfs";
|
||||
homepage = "https://github.com/CyberShadow/btdu";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ atila ];
|
||||
};
|
||||
}
|
||||
82
pkgs/tools/misc/btdu/update.py
Executable file
82
pkgs/tools/misc/btdu/update.py
Executable file
|
|
@ -0,0 +1,82 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i python -p python39Packages.requests
|
||||
|
||||
import requests
|
||||
import subprocess
|
||||
|
||||
pkgbuild = requests.get('https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=btdu').text
|
||||
|
||||
def grabDepVersions(depDict, pkgbuild=pkgbuild):
|
||||
for line in pkgbuild.split('\n'):
|
||||
if depDict["string"] in line:
|
||||
start = len(depDict["string"]) + 1
|
||||
depDict["version"] = line[start:]
|
||||
break
|
||||
|
||||
def grabDepHashes(key,pkgbuild=pkgbuild):
|
||||
start = pkgbuild.find(key) + len(key)
|
||||
end = start+64
|
||||
hashes = []
|
||||
for i in range(5):
|
||||
hashes.append(pkgbuild[start:end])
|
||||
start = pkgbuild.find("'",end+1) + 1
|
||||
end = start+64
|
||||
return hashes
|
||||
|
||||
def findLine(key,derivation):
|
||||
count = 0
|
||||
lines = []
|
||||
for line in derivation:
|
||||
if key in line:
|
||||
lines.append(count)
|
||||
count += 1
|
||||
return lines
|
||||
|
||||
def updateVersions(btdu,ae,btrfs,ncurses,containers,derivation):
|
||||
key = "let"
|
||||
line = findLine(key,derivation)[0] + 1
|
||||
derivation[line+0] = f' _d_ae_ver = "{ae["version"]}";\n'
|
||||
derivation[line+1] = f' _d_btrfs_ver = "{btrfs["version"]}";\n'
|
||||
derivation[line+2] = f' _d_ncurses_ver = "{ncurses["version"]}";\n'
|
||||
derivation[line+3] = f' _d_emsi_containers_ver = "{containers["version"]}";\n'
|
||||
|
||||
key = "version = "
|
||||
line = findLine(key,derivation)[0]
|
||||
derivation[line] = f' version = "{btdu["version"]}";\n'
|
||||
|
||||
return derivation
|
||||
|
||||
def updateHashes(btdu,ae,btrfs,ncurses,containers,derivation):
|
||||
key = "sha256 = "
|
||||
hashLines = findLine(key,derivation)
|
||||
for i in range(len(hashes)):
|
||||
derivation[hashLines[i]] = f' sha256 = "{hashes[i]}";\n'
|
||||
|
||||
return derivation
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
btdu = {"string": "pkgver"}
|
||||
ae = {"string": "_d_ae_ver"}
|
||||
btrfs = {"string": "_d_btrfs_ver"}
|
||||
ncurses = {"string": "_d_ncurses_ver"}
|
||||
containers = {"string": "_d_emsi_containers_ver"}
|
||||
|
||||
grabDepVersions(btdu)
|
||||
grabDepVersions(ae)
|
||||
grabDepVersions(btrfs)
|
||||
grabDepVersions(ncurses)
|
||||
grabDepVersions(containers)
|
||||
|
||||
hashes = grabDepHashes("sha256sums=('")
|
||||
|
||||
nixpkgs = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode("utf-8").strip('\n')
|
||||
btduFolder = "/pkgs/tools/misc/btdu/"
|
||||
with open(nixpkgs + btduFolder + "default.nix", 'r') as arq:
|
||||
derivation = arq.readlines()
|
||||
|
||||
derivation = updateVersions(btdu,ae,btrfs,ncurses,containers,derivation)
|
||||
derivation = updateHashes(btdu,ae,btrfs,ncurses,containers,derivation)
|
||||
|
||||
with open(nixpkgs + btduFolder + "default.nix", 'w') as arq:
|
||||
arq.writelines(derivation)
|
||||
18
pkgs/tools/misc/buildtorrent/default.nix
Normal file
18
pkgs/tools/misc/buildtorrent/default.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "buildtorrent";
|
||||
version = "0.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://mathr.co.uk/blog/code/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-6OJ2R72ziHOsVw1GwalompKwG7Z/WQidHN0IeE9wUtA=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple commandline torrent creator";
|
||||
homepage = "https://mathr.co.uk/blog/torrent.html";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/misc/bunnyfetch/default.nix
Normal file
27
pkgs/tools/misc/bunnyfetch/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ buildGoModule, fetchFromGitHub, lib }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "bunnyfetch";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rosettea";
|
||||
repo = "bunnyfetch";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6MnjCXc9/8twdf8PHKsVJY1yWYwUf5R01vtQFJbyy7M=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-w+O1dU8t7uNvdlFnYhCdJCDixpWWZAnj9GrtsCbu9SM=";
|
||||
|
||||
# No upstream tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tiny system info fetch utility";
|
||||
homepage = "https://github.com/Rosettea/bunnyfetch";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ devins2518 ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "bunnyfetch";
|
||||
};
|
||||
}
|
||||
75
pkgs/tools/misc/byobu/default.nix
Normal file
75
pkgs/tools/misc/byobu/default.nix
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper
|
||||
, ncurses, python3, perl, textual-window-manager
|
||||
, gettext, vim, bc, screen }:
|
||||
|
||||
let
|
||||
pythonEnv = python3.withPackages (ps: with ps; [ snack ]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "5.133";
|
||||
pname = "byobu";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/byobu/trunk/${version}/+download/byobu_${version}.orig.tar.gz";
|
||||
sha256 = "0qvmmdnvwqbgbhn5c8asmrmjhclcl029py2d2zvmd7h5ij7s93jd";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ perl gettext ];
|
||||
propagatedBuildInputs = [ textual-window-manager screen ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace usr/bin/byobu-export.in \
|
||||
--replace "gettext" "${gettext}/bin/gettext"
|
||||
substituteInPlace usr/lib/byobu/menu \
|
||||
--replace "gettext" "${gettext}/bin/gettext"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Byobu does not compile its po files for some reason
|
||||
for po in po/*.po; do
|
||||
lang=''${po#po/}
|
||||
lang=''${lang%.po}
|
||||
# Path where byobu looks for translations as observed in the source code and strace
|
||||
mkdir -p $out/share/byobu/po/$lang/LC_MESSAGES/
|
||||
msgfmt $po -o $out/share/byobu/po/$lang/LC_MESSAGES/byobu.mo
|
||||
done
|
||||
|
||||
# Override the symlinks otherwise they mess with the wrapping
|
||||
cp --remove-destination $out/bin/byobu $out/bin/byobu-screen
|
||||
cp --remove-destination $out/bin/byobu $out/bin/byobu-tmux
|
||||
|
||||
for i in $out/bin/byobu*; do
|
||||
# We don't use the usual ".$package-wrapped" because arg0 within the shebang scripts
|
||||
# points to the filename and byobu matches against this to know which backend
|
||||
# to start with
|
||||
file=".$(basename $i)"
|
||||
mv $i $out/bin/$file
|
||||
makeWrapper "$out/bin/$file" "$out/bin/$(basename $i)" --argv0 $(basename $i) \
|
||||
--set BYOBU_PATH ${lib.escapeShellArg (lib.makeBinPath [ vim bc ])} \
|
||||
--set BYOBU_PYTHON "${pythonEnv}/bin/python"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://launchpad.net/byobu/";
|
||||
description = "Text-based window manager and terminal multiplexer";
|
||||
|
||||
longDescription =
|
||||
''Byobu is a GPLv3 open source text-based window manager and terminal multiplexer.
|
||||
It was originally designed to provide elegant enhancements to the otherwise functional,
|
||||
plain, practical GNU Screen, for the Ubuntu server distribution.
|
||||
Byobu now includes an enhanced profiles, convenient keybindings,
|
||||
configuration utilities, and toggle-able system status notifications for both
|
||||
the GNU Screen window manager and the more modern Tmux terminal multiplexer,
|
||||
and works on most Linux, BSD, and Mac distributions.
|
||||
'';
|
||||
|
||||
license = licenses.gpl3;
|
||||
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ qknight berbiche ];
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/misc/calamares-nixos-extensions/default.nix
Normal file
30
pkgs/tools/misc/calamares-nixos-extensions/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ stdenv, fetchFromGitHub, lib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "calamares-nixos-extensions";
|
||||
version = "0.3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "calamares-nixos-extensions";
|
||||
rev = version;
|
||||
sha256 = "MtqAOwlY5euVNAGRl2pRkbg/OolJPNOSQcR4DS5gFz4=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/{lib,share}/calamares
|
||||
cp -r modules $out/lib/calamares/
|
||||
cp -r config/* $out/share/calamares/
|
||||
cp -r branding $out/share/calamares/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Calamares modules for NixOS";
|
||||
homepage = "https://github.com/NixOS/calamares-nixos-extensions";
|
||||
license = with licenses; [ gpl3Plus bsd2 cc-by-40 cc-by-sa-40 cc0 ];
|
||||
maintainers = with maintainers; [ vlinkz ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
96
pkgs/tools/misc/calamares/default.nix
Normal file
96
pkgs/tools/misc/calamares/default.nix
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
{ lib, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore, kirigami2
|
||||
, kservice, libatasmart, libxcb, libyamlcpp, libpwquality, parted, polkit-qt, python
|
||||
, qtbase, qtquickcontrols, qtsvg, qttools, qtwebengine, util-linux, tzdata
|
||||
, ckbcomp, xkeyboard_config, mkDerivation
|
||||
, nixos-extensions ? false
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "calamares";
|
||||
version = "3.2.57";
|
||||
|
||||
# release including submodule
|
||||
src = fetchurl {
|
||||
url = "https://github.com/calamares/calamares/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "ef7f564ec2cd8baaf94a44982ce1db88c1192696617f21538d0b8472a63b4c2b";
|
||||
};
|
||||
|
||||
patches = lib.optionals nixos-extensions [
|
||||
# Modifies the users module to only set passwords of user and root
|
||||
# as the users will have already been created in the configuration.nix file
|
||||
./userjob.patch
|
||||
# Makes calamares search /run/current-system/sw/share/calamares/ for extra configuration files
|
||||
# as by default it only searches /usr/share/calamares/ and /nix/store/<hash>-calamares-<version>/share/calamares/
|
||||
# but calamares-nixos-extensions is not in either of these locations
|
||||
./nixos-extensions-paths.patch
|
||||
# Uses pkexec within modules in order to run calamares without root permissions as a whole
|
||||
# Also fixes storage check in the welcome module
|
||||
./nonroot.patch
|
||||
# Adds unfree qml to packagechooserq
|
||||
./unfreeq.patch
|
||||
# Modifies finished module to add some NixOS resources
|
||||
# Modifies packagechooser module to change the UI
|
||||
./uimod.patch
|
||||
# Remove options for unsupported partition types
|
||||
./partitions.patch
|
||||
# Fix setting the kayboard layout on GNOME wayland
|
||||
# By default the module uses the setxkbmap, which will not change the keyboard
|
||||
./waylandkbd.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
||||
buildInputs = [
|
||||
boost kparts.dev kpmcore.out kservice.dev kirigami2
|
||||
libatasmart libxcb libyamlcpp libpwquality parted polkit-qt python
|
||||
qtbase qtquickcontrols qtsvg qttools qtwebengine.dev util-linux
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DPYTHON_LIBRARY=${python}/lib/lib${python.libPrefix}.so"
|
||||
"-DPYTHON_INCLUDE_DIR=${python}/include/${python.libPrefix}"
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=True"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DWITH_PYTHONQT:BOOL=ON"
|
||||
];
|
||||
|
||||
POLKITQT-1_POLICY_FILES_INSTALL_DIR = "$(out)/share/polkit-1/actions";
|
||||
|
||||
postPatch = ''
|
||||
# Run calamares without root. Other patches make it functional as a normal user
|
||||
sed -e "s,pkexec calamares,calamares," \
|
||||
-i calamares.desktop
|
||||
|
||||
sed -e "s,X-AppStream-Ignore=true,&\nStartupWMClass=calamares," \
|
||||
-i calamares.desktop
|
||||
|
||||
# Fix desktop reference with wayland
|
||||
mv calamares.desktop io.calamares.calamares.desktop
|
||||
|
||||
sed -e "s,calamares.desktop,io.calamares.calamares.desktop," \
|
||||
-i CMakeLists.txt
|
||||
|
||||
sed -e "s,/usr/bin/calamares,$out/bin/calamares," \
|
||||
-i com.github.calamares.calamares.policy
|
||||
|
||||
sed -e 's,/usr/share/zoneinfo,${tzdata}/share/zoneinfo,' \
|
||||
-i src/modules/locale/SetTimezoneJob.cpp \
|
||||
-i src/libcalamares/locale/TimeZone.cpp
|
||||
|
||||
sed -e 's,/usr/share/X11/xkb/rules/base.lst,${xkeyboard_config}/share/X11/xkb/rules/base.lst,' \
|
||||
-i src/modules/keyboard/keyboardwidget/keyboardglobal.cpp
|
||||
|
||||
sed -e 's,"ckbcomp","${ckbcomp}/bin/ckbcomp",' \
|
||||
-i src/modules/keyboard/keyboardwidget/keyboardpreview.cpp
|
||||
|
||||
sed "s,\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR},''${out}/share/polkit-1/actions," \
|
||||
-i CMakeLists.txt
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Distribution-independent installer framework";
|
||||
homepage = "https://calamares.io/";
|
||||
license = with licenses; [ gpl3Plus bsd2 cc0 ];
|
||||
maintainers = with maintainers; [ manveru vlinkz ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
46
pkgs/tools/misc/calamares/nixos-extensions-paths.patch
Normal file
46
pkgs/tools/misc/calamares/nixos-extensions-paths.patch
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp
|
||||
index de709156f..a0b6c5faf 100644
|
||||
--- a/src/calamares/main.cpp
|
||||
+++ b/src/calamares/main.cpp
|
||||
@@ -131,6 +132,8 @@ main( int argc, char* argv[] )
|
||||
// TODO: umount anything in /tmp/calamares-... as an emergency save function
|
||||
#endif
|
||||
|
||||
+ CalamaresUtils::setNixosDirs();
|
||||
+
|
||||
bool is_debug = handle_args( a );
|
||||
|
||||
#ifdef WITH_KF5DBus
|
||||
diff --git a/src/libcalamares/utils/Dirs.cpp b/src/libcalamares/utils/Dirs.cpp
|
||||
index f333d6e64..6118fb412 100644
|
||||
--- a/src/libcalamares/utils/Dirs.cpp
|
||||
+++ b/src/libcalamares/utils/Dirs.cpp
|
||||
@@ -115,6 +116,14 @@ setXdgDirs()
|
||||
s_haveExtraDirs = !( s_extraConfigDirs.isEmpty() && s_extraDataDirs.isEmpty() );
|
||||
}
|
||||
|
||||
+void
|
||||
+setNixosDirs()
|
||||
+{
|
||||
+ s_extraConfigDirs << "/run/current-system/sw/share/calamares/";
|
||||
+ s_extraDataDirs << "/run/current-system/sw/share/calamares/";
|
||||
+ s_haveExtraDirs = !( s_extraConfigDirs.isEmpty() && s_extraDataDirs.isEmpty() );
|
||||
+}
|
||||
+
|
||||
QStringList
|
||||
extraConfigDirs()
|
||||
{
|
||||
diff --git a/src/libcalamares/utils/Dirs.h b/src/libcalamares/utils/Dirs.h
|
||||
index 445cbe1f1..da869d446 100644
|
||||
--- a/src/libcalamares/utils/Dirs.h
|
||||
+++ b/src/libcalamares/utils/Dirs.h
|
||||
@@ -50,6 +50,9 @@ DLLEXPORT bool isAppDataDirOverridden();
|
||||
/** @brief Setup extra config and data dirs from the XDG variables.
|
||||
*/
|
||||
DLLEXPORT void setXdgDirs();
|
||||
+/** @brief Setup extra config and data dirs fir NixOS.
|
||||
+ */
|
||||
+DLLEXPORT void setNixosDirs();
|
||||
/** @brief Are any extra directories configured? */
|
||||
DLLEXPORT bool haveExtraDirs();
|
||||
/** @brief XDG_CONFIG_DIRS, each guaranteed to end with / */
|
||||
105
pkgs/tools/misc/calamares/nonroot.patch
Normal file
105
pkgs/tools/misc/calamares/nonroot.patch
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
diff --git a/src/libcalamares/utils/Runner.cpp b/src/libcalamares/utils/Runner.cpp
|
||||
index c7146c2d7..e165d9a8f 100644
|
||||
--- a/src/libcalamares/utils/Runner.cpp
|
||||
+++ b/src/libcalamares/utils/Runner.cpp
|
||||
@@ -140,13 +140,13 @@ Calamares::Utils::Runner::run()
|
||||
}
|
||||
if ( m_location == RunLocation::RunInTarget )
|
||||
{
|
||||
- process.setProgram( "chroot" );
|
||||
- process.setArguments( QStringList { workingDirectory.absolutePath() } << m_command );
|
||||
+ process.setProgram( "pkexec" );
|
||||
+ process.setArguments( QStringList { "chroot" } + QStringList { workingDirectory.absolutePath() } << m_command );
|
||||
}
|
||||
else
|
||||
{
|
||||
- process.setProgram( "env" );
|
||||
- process.setArguments( m_command );
|
||||
+ process.setProgram( "pkexec" );
|
||||
+ process.setArguments( QStringList { "env" } + m_command );
|
||||
}
|
||||
|
||||
if ( m_output )
|
||||
diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py
|
||||
index a3318d1a0..5fbe202fd 100644
|
||||
--- a/src/modules/mount/main.py
|
||||
+++ b/src/modules/mount/main.py
|
||||
@@ -152,7 +152,8 @@ def mount_partition(root_mount_point, partition, partitions):
|
||||
|
||||
# Ensure that the created directory has the correct SELinux context on
|
||||
# SELinux-enabled systems.
|
||||
- os.makedirs(mount_point, exist_ok=True)
|
||||
+ subprocess.check_call(["pkexec", "mkdir", "-p", mount_point])
|
||||
+
|
||||
try:
|
||||
subprocess.call(['chcon', '--reference=' + raw_mount_point, mount_point])
|
||||
except FileNotFoundError as e:
|
||||
@@ -193,13 +194,13 @@ def mount_partition(root_mount_point, partition, partitions):
|
||||
for s in btrfs_subvolumes:
|
||||
if not s["subvolume"]:
|
||||
continue
|
||||
- os.makedirs(root_mount_point + os.path.dirname(s["subvolume"]), exist_ok=True)
|
||||
- subprocess.check_call(["btrfs", "subvolume", "create",
|
||||
+ subprocess.check_call(["pkexec", "mkdir", "-p", root_mount_point + os.path.dirname(s["subvolume"])])
|
||||
+ subprocess.check_call(["pkexec", "btrfs", "subvolume", "create",
|
||||
root_mount_point + s["subvolume"]])
|
||||
if s["mountPoint"] == "/":
|
||||
# insert the root subvolume into global storage
|
||||
libcalamares.globalstorage.insert("btrfsRootSubvolume", s["subvolume"])
|
||||
- subprocess.check_call(["umount", "-v", root_mount_point])
|
||||
+ subprocess.check_call(["pkexec", "umount", "-v", root_mount_point])
|
||||
|
||||
device = partition["device"]
|
||||
|
||||
diff --git a/src/modules/welcome/checker/GeneralRequirements.cpp b/src/modules/welcome/checker/GeneralRequirements.cpp
|
||||
index ca7219ca4..6ac682ba4 100644
|
||||
--- a/src/modules/welcome/checker/GeneralRequirements.cpp
|
||||
+++ b/src/modules/welcome/checker/GeneralRequirements.cpp
|
||||
@@ -371,10 +371,34 @@ GeneralRequirements::checkEnoughStorage( qint64 requiredSpace )
|
||||
cWarning() << "GeneralRequirements is configured without libparted.";
|
||||
return false;
|
||||
#else
|
||||
- return check_big_enough( requiredSpace );
|
||||
+ return big_enough( requiredSpace );
|
||||
#endif
|
||||
}
|
||||
|
||||
+bool
|
||||
+GeneralRequirements::big_enough( qint64 requiredSpace )
|
||||
+{
|
||||
+ FILE *fpipe;
|
||||
+ char command[128];
|
||||
+ snprintf(command, sizeof(command), "lsblk --bytes -no SIZE,TYPE | grep disk | awk '$1 > %llu {print $1}'", requiredSpace);
|
||||
+ char c = 0;
|
||||
+
|
||||
+ if (0 == (fpipe = (FILE*)popen(command, "r")))
|
||||
+ {
|
||||
+ cWarning() << "Failed to check storage size.";
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ while (fread(&c, sizeof c, 1, fpipe))
|
||||
+ {
|
||||
+ pclose(fpipe);
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ pclose(fpipe);
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
|
||||
bool
|
||||
GeneralRequirements::checkEnoughRam( qint64 requiredRam )
|
||||
diff --git a/src/modules/welcome/checker/GeneralRequirements.h b/src/modules/welcome/checker/GeneralRequirements.h
|
||||
index b6646da11..ea27324fa 100644
|
||||
--- a/src/modules/welcome/checker/GeneralRequirements.h
|
||||
+++ b/src/modules/welcome/checker/GeneralRequirements.h
|
||||
@@ -36,6 +36,7 @@ private:
|
||||
bool checkHasPower();
|
||||
bool checkHasInternet();
|
||||
bool checkIsRoot();
|
||||
+ bool big_enough( qint64 requiredSpace );
|
||||
|
||||
qreal m_requiredStorageGiB;
|
||||
qreal m_requiredRamGiB;
|
||||
28
pkgs/tools/misc/calamares/partitions.patch
Normal file
28
pkgs/tools/misc/calamares/partitions.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
diff --git a/src/modules/partition/gui/CreatePartitionDialog.cpp b/src/modules/partition/gui/CreatePartitionDialog.cpp
|
||||
index c5b17c69e..353b6f964 100644
|
||||
--- a/src/modules/partition/gui/CreatePartitionDialog.cpp
|
||||
+++ b/src/modules/partition/gui/CreatePartitionDialog.cpp
|
||||
@@ -107,7 +107,8 @@ CreatePartitionDialog::CreatePartitionDialog( Device* device,
|
||||
{
|
||||
// We need to ensure zfs is added to the list if the zfs module is enabled
|
||||
if ( ( fs->type() == FileSystem::Type::Zfs && Calamares::Settings::instance()->isModuleEnabled( "zfs" ) )
|
||||
- || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended ) )
|
||||
+ || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended
|
||||
+ && fs->type() != FileSystem::Luks && fs->type() != FileSystem::Luks2 && fs->type() != FileSystem::Minix ) )
|
||||
{
|
||||
fsNames << userVisibleFS( fs ); // This is put into the combobox
|
||||
if ( fs->type() == defaultFSType )
|
||||
diff --git a/src/modules/partition/gui/EditExistingPartitionDialog.cpp b/src/modules/partition/gui/EditExistingPartitionDialog.cpp
|
||||
index 0bc35cabe..3cf8a7fa2 100644
|
||||
--- a/src/modules/partition/gui/EditExistingPartitionDialog.cpp
|
||||
+++ b/src/modules/partition/gui/EditExistingPartitionDialog.cpp
|
||||
@@ -95,7 +95,8 @@ EditExistingPartitionDialog::EditExistingPartitionDialog( Device* device,
|
||||
{
|
||||
// We need to ensure zfs is added to the list if the zfs module is enabled
|
||||
if ( ( fs->type() == FileSystem::Type::Zfs && Calamares::Settings::instance()->isModuleEnabled( "zfs" ) )
|
||||
- || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended ) )
|
||||
+ || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended
|
||||
+ && fs->type() != FileSystem::Luks && fs->type() != FileSystem::Luks2 && fs->type() != FileSystem::Minix) )
|
||||
{
|
||||
fsNames << userVisibleFS( fs ); // For the combo box
|
||||
}
|
||||
85
pkgs/tools/misc/calamares/uimod.patch
Normal file
85
pkgs/tools/misc/calamares/uimod.patch
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
diff --git a/src/modules/finished/FinishedPage.cpp b/src/modules/finished/FinishedPage.cpp
|
||||
index 6c5f9ad16..24d75e07b 100644
|
||||
--- a/src/modules/finished/FinishedPage.cpp
|
||||
+++ b/src/modules/finished/FinishedPage.cpp
|
||||
@@ -71,7 +71,10 @@ FinishedPage::retranslate()
|
||||
{
|
||||
ui->mainText->setText( tr( "<h1>All done.</h1><br/>"
|
||||
"%1 has been set up on your computer.<br/>"
|
||||
- "You may now start using your new system." )
|
||||
+ "You may now start using your new system.<br/>"
|
||||
+ "You can change every setting later except the bootloader.<br/>"
|
||||
+ "Check the <a href=\"https://nixos.org/manual/nixos/stable/\">manual</a> for instructions on how to install software, upgrade the system or enable services.<br/>"
|
||||
+ "You can find ways to get in touch with the <a href=\"https://nixos.org/community/\">community on the website!</a>")
|
||||
.arg( branding->versionedName() ) );
|
||||
ui->restartCheckBox->setToolTip( tr( "<html><head/><body>"
|
||||
"<p>When this box is checked, your system will "
|
||||
@@ -84,7 +87,10 @@ FinishedPage::retranslate()
|
||||
ui->mainText->setText( tr( "<h1>All done.</h1><br/>"
|
||||
"%1 has been installed on your computer.<br/>"
|
||||
"You may now restart into your new system, or continue "
|
||||
- "using the %2 Live environment." )
|
||||
+ "using the %2 Live environment.<br/>"
|
||||
+ "You can change every setting later except the bootloader.<br/>"
|
||||
+ "Check the <a href=\"https://nixos.org/manual/nixos/stable/\">manual</a> for instructions on how to install software, upgrade the system or enable services.<br/>"
|
||||
+ "You can find ways to get in touch with the <a href=\"https://nixos.org/community/\">community on the website!</a>")
|
||||
.arg( branding->versionedName(), branding->productName() ) );
|
||||
ui->restartCheckBox->setToolTip( tr( "<html><head/><body>"
|
||||
"<p>When this box is checked, your system will "
|
||||
diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp
|
||||
index 721329c1b..164b9945e 100644
|
||||
--- a/src/modules/packagechooser/PackageChooserPage.cpp
|
||||
+++ b/src/modules/packagechooser/PackageChooserPage.cpp
|
||||
@@ -52,6 +52,7 @@ PackageChooserPage::currentChanged( const QModelIndex& index )
|
||||
if ( !index.isValid() || !ui->products->selectionModel()->hasSelection() )
|
||||
{
|
||||
ui->productName->setText( m_introduction.name.get() );
|
||||
+ ui->productName->setStyleSheet("font-weight: bold");
|
||||
ui->productScreenshot->setPixmap( m_introduction.screenshot );
|
||||
ui->productDescription->setText( m_introduction.description.get() );
|
||||
}
|
||||
diff --git a/src/modules/packagechooser/page_package.ui b/src/modules/packagechooser/page_package.ui
|
||||
index d021b08b3..fecfa3060 100644
|
||||
--- a/src/modules/packagechooser/page_package.ui
|
||||
+++ b/src/modules/packagechooser/page_package.ui
|
||||
@@ -38,19 +38,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</item>
|
||||
<item>
|
||||
- <layout class="QVBoxLayout" name="verticalLayout" stretch="1,30,1">
|
||||
+ <layout class="QVBoxLayout" name="verticalLayout" stretch="30,1,1">
|
||||
- <item>
|
||||
- <widget class="QLabel" name="productName">
|
||||
- <property name="sizePolicy">
|
||||
- <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
- <horstretch>0</horstretch>
|
||||
- <verstretch>0</verstretch>
|
||||
- </sizepolicy>
|
||||
- </property>
|
||||
- <property name="text">
|
||||
- <string>Product Name</string>
|
||||
- </property>
|
||||
- </widget>
|
||||
- </item>
|
||||
<item>
|
||||
<widget class="FixedAspectRatioLabel" name="productScreenshot">
|
||||
<property name="sizePolicy">
|
||||
@@ -67,6 +54,19 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
+ <item>
|
||||
+ <widget class="QLabel" name="productName">
|
||||
+ <property name="sizePolicy">
|
||||
+ <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
+ <horstretch>0</horstretch>
|
||||
+ <verstretch>0</verstretch>
|
||||
+ </sizepolicy>
|
||||
+ </property>
|
||||
+ <property name="text">
|
||||
+ <string>Product Name</string>
|
||||
+ </property>
|
||||
+ </widget>
|
||||
+ </item>
|
||||
<item>
|
||||
<widget class="QLabel" name="productDescription">
|
||||
<property name="sizePolicy">
|
||||
109
pkgs/tools/misc/calamares/unfreeq.patch
Normal file
109
pkgs/tools/misc/calamares/unfreeq.patch
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
diff --git a/src/modules/packagechooserq/packagechooserq.qrc b/src/modules/packagechooserq/packagechooserq.qrc
|
||||
index 1b892dce1..ee80a934b 100644
|
||||
--- a/src/modules/packagechooserq/packagechooserq.qrc
|
||||
+++ b/src/modules/packagechooserq/packagechooserq.qrc
|
||||
@@ -4,5 +4,6 @@
|
||||
<file>images/libreoffice.jpg</file>
|
||||
<file>images/no-selection.png</file>
|
||||
<file>images/plasma.png</file>
|
||||
+ <file>packagechooserq@unfree.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
diff --git a/src/modules/packagechooserq/packagechooserq@unfree.qml b/src/modules/packagechooserq/packagechooserq@unfree.qml
|
||||
new file mode 100644
|
||||
index 000000000..cb87d864a
|
||||
--- /dev/null
|
||||
+++ b/src/modules/packagechooserq/packagechooserq@unfree.qml
|
||||
@@ -0,0 +1,75 @@
|
||||
+/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
+ *
|
||||
+ * SPDX-FileCopyrightText: 2021 Anke Boersma <demm@kaosx.us>
|
||||
+ * SPDX-License-Identifier: GPL-3.0-or-later
|
||||
+ *
|
||||
+ * Calamares is Free Software: see the License-Identifier above.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+import io.calamares.core 1.0
|
||||
+import io.calamares.ui 1.0
|
||||
+
|
||||
+import QtQuick 2.15
|
||||
+import QtQuick.Controls 2.15
|
||||
+import QtQuick.Layouts 1.3
|
||||
+
|
||||
+Item {
|
||||
+
|
||||
+ SystemPalette {
|
||||
+ id: palette
|
||||
+ colorGroup: SystemPalette.Active
|
||||
+ }
|
||||
+
|
||||
+ width: parent.width
|
||||
+ height: parent.height
|
||||
+
|
||||
+ Rectangle {
|
||||
+ anchors.fill: parent
|
||||
+ color: palette.window
|
||||
+
|
||||
+ ButtonGroup {
|
||||
+ id: switchGroup
|
||||
+ }
|
||||
+
|
||||
+ Column {
|
||||
+ id: column
|
||||
+ anchors.centerIn: parent
|
||||
+ spacing: 5
|
||||
+
|
||||
+ Rectangle {
|
||||
+ width: 700
|
||||
+ height: 200
|
||||
+ color: palette.base
|
||||
+ radius: 10
|
||||
+ border.width: 0
|
||||
+ Text {
|
||||
+ color: palette.text
|
||||
+ width: 600
|
||||
+ height: 150
|
||||
+ anchors.centerIn: parent
|
||||
+ text: qsTr("NixOS is fully open source, but it also provides software packages with unfree licenses. By default unfree packages are not allowed, but you can enable it here. If you check this box, software installed might have additional End User License Agreements (EULAs) attached. If not enabled, some hardware might not work fully when no suitable open source drivers are available.<br/>")
|
||||
+ font.pointSize: 12
|
||||
+ wrapMode: Text.WordWrap
|
||||
+ }
|
||||
+
|
||||
+ CheckBox {
|
||||
+ id: element2
|
||||
+ anchors.horizontalCenter: parent.horizontalCenter
|
||||
+ y: 145
|
||||
+ text: qsTr("Allow unfree software")
|
||||
+ checked: false
|
||||
+
|
||||
+ onCheckedChanged: {
|
||||
+ if ( checked ) {
|
||||
+ config.packageChoice = "unfree"
|
||||
+ } else {
|
||||
+ config.packageChoice = "free"
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
diff --git a/src/modules/packagechooserq/unfree.conf b/src/modules/packagechooserq/unfree.conf
|
||||
new file mode 100644
|
||||
index 000000000..da79a8eac
|
||||
--- /dev/null
|
||||
+++ b/src/modules/packagechooserq/unfree.conf
|
||||
@@ -0,0 +1,11 @@
|
||||
+# SPDX-FileCopyrightText: no
|
||||
+# SPDX-License-Identifier: CC0-1.0
|
||||
+#
|
||||
+---
|
||||
+qmlLabel:
|
||||
+ label: "Unfree Software"
|
||||
+method: legacy
|
||||
+mode: required
|
||||
+labels:
|
||||
+ step: "Unfree Software"
|
||||
+packageChoice: free
|
||||
31
pkgs/tools/misc/calamares/userjob.patch
Normal file
31
pkgs/tools/misc/calamares/userjob.patch
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
diff --git a/src/modules/users/Config.cpp b/src/modules/users/Config.cpp
|
||||
index eedfd274d..0f3e78848 100644
|
||||
--- a/src/modules/users/Config.cpp
|
||||
+++ b/src/modules/users/Config.cpp
|
||||
@@ -972,26 +972,11 @@ Config::createJobs() const
|
||||
|
||||
Calamares::Job* j;
|
||||
|
||||
- if ( !m_sudoersGroup.isEmpty() )
|
||||
- {
|
||||
- j = new SetupSudoJob( m_sudoersGroup, m_sudoStyle );
|
||||
- jobs.append( Calamares::job_ptr( j ) );
|
||||
- }
|
||||
-
|
||||
- j = new SetupGroupsJob( this );
|
||||
- jobs.append( Calamares::job_ptr( j ) );
|
||||
-
|
||||
- j = new CreateUserJob( this );
|
||||
- jobs.append( Calamares::job_ptr( j ) );
|
||||
-
|
||||
j = new SetPasswordJob( loginName(), userPassword() );
|
||||
jobs.append( Calamares::job_ptr( j ) );
|
||||
|
||||
j = new SetPasswordJob( "root", rootPassword() );
|
||||
jobs.append( Calamares::job_ptr( j ) );
|
||||
|
||||
- j = new SetHostNameJob( this );
|
||||
- jobs.append( Calamares::job_ptr( j ) );
|
||||
-
|
||||
return jobs;
|
||||
}
|
||||
25
pkgs/tools/misc/calamares/waylandkbd.patch
Normal file
25
pkgs/tools/misc/calamares/waylandkbd.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
diff --git a/src/modules/keyboard/Config.cpp b/src/modules/keyboard/Config.cpp
|
||||
index 720588810..af0dd1c8d 100644
|
||||
--- a/src/modules/keyboard/Config.cpp
|
||||
+++ b/src/modules/keyboard/Config.cpp
|
||||
@@ -219,7 +219,10 @@ Config::xkbApply()
|
||||
{ m_additionalLayoutInfo.additionalVariant, m_selectedVariant },
|
||||
m_additionalLayoutInfo.groupSwitcher ) );
|
||||
|
||||
-
|
||||
+ QString xkbmap = QString( "[('xkb','%1\%2'),('xkb','%3\%4')]").arg(
|
||||
+ m_selectedLayout, ((!m_selectedVariant.isEmpty()) ? "+" + m_selectedVariant : ""),
|
||||
+ m_additionalLayoutInfo.additionalLayout, ((!m_additionalLayoutInfo.additionalVariant.isEmpty()) ? "+" + m_additionalLayoutInfo.additionalVariant : ""));
|
||||
+ QProcess::execute( "sh", { "-c", "if command -v gsettings; then gsettings set org.gnome.desktop.input-sources sources \"$0\"; fi", xkbmap });
|
||||
cDebug() << "xkbmap selection changed to: " << m_selectedLayout << '-' << m_selectedVariant << "(added "
|
||||
<< m_additionalLayoutInfo.additionalLayout << "-" << m_additionalLayoutInfo.additionalVariant
|
||||
<< " since current layout is not ASCII-capable)";
|
||||
@@ -227,6 +230,8 @@ Config::xkbApply()
|
||||
else
|
||||
{
|
||||
QProcess::execute( "setxkbmap", xkbmap_layout_args( m_selectedLayout, m_selectedVariant ) );
|
||||
+ QString xkbmap = QString( "[('xkb','%1\%2')]").arg( m_selectedLayout, ((!m_selectedVariant.isEmpty()) ? "+" + m_selectedVariant : "") );
|
||||
+ QProcess::execute( "sh", { "-c", "if command -v gsettings; then gsettings set org.gnome.desktop.input-sources sources \"$0\"; fi", xkbmap });
|
||||
cDebug() << "xkbmap selection changed to: " << m_selectedLayout << '-' << m_selectedVariant;
|
||||
}
|
||||
m_setxkbmapTimer.disconnect( this );
|
||||
30
pkgs/tools/misc/capture/default.nix
Normal file
30
pkgs/tools/misc/capture/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, slop, ffmpeg, fetchFromGitHub, makeWrapper}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "capture-unstable";
|
||||
version = "2019-03-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "buhman";
|
||||
repo = "capture";
|
||||
rev = "80dd9e7195aad5c132badef610f19509f3935b24";
|
||||
sha256 = "0zyyg4mvrny7cc2xgvfip97b6yc75ka5ni39rwls93971jbk83d6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 src/capture.sh $out/bin/capture
|
||||
|
||||
patchShebangs $out/bin/capture
|
||||
wrapProgram $out/bin/capture \
|
||||
--prefix PATH : '${lib.makeBinPath [ slop ffmpeg ]}'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A no bullshit screen capture tool";
|
||||
homepage = "https://github.com/buhman/capture";
|
||||
maintainers = [ maintainers.ar1a ];
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
28
pkgs/tools/misc/castty/default.nix
Normal file
28
pkgs/tools/misc/castty/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ stdenv, lib, fetchFromGitHub, libsoundio, lame }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "castty";
|
||||
version = "unstable-2020-11-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dhobsd";
|
||||
repo = "castty";
|
||||
rev = "333a2bafd96d56cd0bb91577ae5ba0f7d81b3d99";
|
||||
sha256 = "0p84ivwsp8ds4drn0hx2ax04gp0xyq6blj1iqfsmrs4slrajdmqs";
|
||||
};
|
||||
|
||||
buildInputs = [ libsoundio lame ];
|
||||
|
||||
makeFlags = [
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
"PREFIX=$(out)"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI tool to record audio-enabled screencasts of your terminal, for the web";
|
||||
homepage = "https://github.com/dhobsd/castty";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ iblech ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/misc/catimg/default.nix
Normal file
26
pkgs/tools/misc/catimg/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake } :
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "catimg";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "posva";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0a2dswbv4xddb2l2d55hc43lzvjwrjs5z9am7v6i0p0mi2fmc89s";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = {
|
||||
license = licenses.mit;
|
||||
homepage = "https://github.com/posva/catimg";
|
||||
description = "Insanely fast image printing in your terminal";
|
||||
maintainers = with maintainers; [ ryantm ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
}
|
||||
34
pkgs/tools/misc/ccze/default.nix
Normal file
34
pkgs/tools/misc/ccze/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoconf, ncurses, pcre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ccze";
|
||||
version = "0.2.1-2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "madhouse";
|
||||
repo = "ccze";
|
||||
rev = "ccze-${version}";
|
||||
hash = "sha256-LVwmbrq78mZcAEuAqjXTqLE5we83H9mcMPtxQx2Tn/c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoconf ];
|
||||
|
||||
buildInputs = [ ncurses pcre ];
|
||||
|
||||
preConfigure = ''
|
||||
autoheader
|
||||
autoconf
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast, modular log colorizer";
|
||||
longDescription = ''
|
||||
Fast log colorizer written in C, intended to be a drop-in replacement
|
||||
for the Perl colorize tool. Includes plugins for a variety of log
|
||||
formats (Apache, Postfix, Procmail, etc.).
|
||||
'';
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ malyn ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue