diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/tools/system')
183 files changed, 6778 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/acct/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/acct/default.nix new file mode 100644 index 000000000000..dd4eb0d5d2b8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/acct/default.nix @@ -0,0 +1,30 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "acct-6.6.4"; + + src = fetchurl { + url = "mirror://gnu/acct/${name}.tar.gz"; + sha256 = "0gv6m8giazshvgpvwbng98chpas09myyfw1zr2y7hqxib0mvy5ac"; + }; + + doCheck = true; + + meta = with stdenv.lib; { + description = "GNU Accounting Utilities, login and process accounting utilities"; + + longDescription = '' + The GNU Accounting Utilities provide login and process accounting + utilities for GNU/Linux and other systems. It is a set of utilities + which reports and summarizes data about user connect times and process + execution statistics. + ''; + + license = licenses.gpl3Plus; + + homepage = "https://www.gnu.org/software/acct/"; + + maintainers = with maintainers; [ pSub ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/acpica-tools/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/acpica-tools/default.nix new file mode 100644 index 000000000000..62b1be619650 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/acpica-tools/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, bison, flex }: + +stdenv.mkDerivation rec { + pname = "acpica-tools"; + version = "20200430"; + + src = fetchurl { + url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz"; + sha256 = "0z19bniqsa8y0n1qrxmb6gz7m63jpwx22zgk5ablyriixhfpz07v"; + }; + + NIX_CFLAGS_COMPILE = "-O3"; + + enableParallelBuilding = true; + + buildFlags = [ + "acpibin" + "acpidump" + "acpiexec" + "acpihelp" + "acpinames" + "acpixtract" + ]; + + nativeBuildInputs = [ bison flex ]; + + installFlags = [ "PREFIX=${placeholder "out"}" ]; + + meta = with stdenv.lib; { + description = "ACPICA Tools"; + homepage = "https://www.acpica.org/"; + license = with licenses; [ gpl2 bsd3 ]; + platforms = platforms.linux; + maintainers = with maintainers; [ tadfisher ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/actkbd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/actkbd/default.nix new file mode 100644 index 000000000000..706b3700a415 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/actkbd/default.nix @@ -0,0 +1,34 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "actkbd-0.2.8"; + + src = fetchurl { + url = "http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/files/${name}.tar.bz2"; + sha256 = "1ipb7k5q7k7p54is96ij2n74jfa6xc0llb9lpjwxhsqviqxn9slm"; + }; + + preConfigure = '' + substituteInPlace Makefile \ + --replace /usr/local $out \ + --replace /etc $out/etc + ''; + + postInstall = '' + mkdir -p $out/share/doc/actkbd + cp -r README samples $out/share/doc/actkbd + ''; + + meta = with stdenv.lib; { + description = "A keyboard shortcut daemon"; + longDescription = '' + actkbd is a simple daemon that binds actions to keyboard events + directly on evdev interface (that is, no X11 required). It + recognises key combinations and can handle press, repeat and + release events. + ''; + license = licenses.gpl2; + homepage = "http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/"; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/amtterm/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/amtterm/default.nix new file mode 100644 index 000000000000..9050111fc17b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/amtterm/default.nix @@ -0,0 +1,28 @@ +{ fetchurl, stdenv, makeWrapper, perl, perlPackages }: + + +stdenv.mkDerivation rec { + pname = "amtterm"; + version = "1.6-1"; + + buildInputs = with perlPackages; [ perl SOAPLite ]; + nativeBuildInputs = [ makeWrapper ]; + + src = fetchurl { + url = "https://www.kraxel.org/cgit/amtterm/snapshot/${pname}-${version}.tar.gz"; + sha256 = "1jxcsqkag2bxmrnr4m6g88sln1j2d9liqlna57fj8kkc85316vlc"; + }; + + makeFlags = [ "prefix=$(out)" "STRIP=" ]; + + postInstall = + "wrapProgram $out/bin/amttool --prefix PERL5LIB : $PERL5LIB"; + + meta = with stdenv.lib; + { description = "Intel AMT® SoL client + tools"; + homepage = "https://www.kraxel.org/cgit/amtterm/"; + license = licenses.gpl2; + maintainers = [ maintainers.ehmry ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/at/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/at/default.nix new file mode 100644 index 000000000000..278b14cd1999 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/at/default.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchurl, fetchpatch, bison, flex, pam, perl +, sendmailPath ? "/run/wrappers/bin/sendmail" +, atWrapperPath ? "/run/wrappers/bin/at" +}: + +stdenv.mkDerivation rec { + pname = "at"; + version = "3.1.23"; + + src = fetchurl { + # Debian is apparently the last location where it can be found. + url = "mirror://debian/pool/main/a/at/at_${version}.orig.tar.gz"; + sha256 = "040pr2ivfbrhvrhzis97cpwfkzpr7nin33nc301aga5aajlhlicp"; + }; + + patches = [ + ./install.patch + (fetchpatch { + url = "https://raw.githubusercontent.com/riscv/riscv-poky/master/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch"; + sha256 = "1rk4hskp0c1jqkanzdxf873i6jgki3xhrm609fsam8an8sl1njnm"; + }) + ]; + + nativeBuildInputs = [ bison flex perl /* for `prove` (tests) */ ]; + + buildInputs = [ pam ]; + + preConfigure = + '' + export SENDMAIL=${sendmailPath} + # Purity: force atd.pid to be placed in /var/run regardless of + # whether it exists now. + substituteInPlace ./configure --replace "test -d /var/run" "true" + ''; + + configureFlags = [ + "--with-etcdir=/etc/at" + "--with-jobdir=/var/spool/atjobs" + "--with-atspool=/var/spool/atspool" + "--with-daemon_username=atd" + "--with-daemon_groupname=atd" + ]; + + doCheck = true; + + # Ensure that "batch" can invoke the setuid "at" wrapper, if it exists, or + # else we get permission errors (on NixOS). "batch" is a shell script, so + # when the kernel executes it it drops setuid perms. + postInstall = '' + sed -i "6i test -x ${atWrapperPath} && exec ${atWrapperPath} -qb now # exec doesn't return" "$out/bin/batch" + ''; + + meta = { + description = ''The classical Unix `at' job scheduling command''; + license = stdenv.lib.licenses.gpl2Plus; + homepage = "https://packages.qa.debian.org/at"; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/at/install.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/at/install.patch new file mode 100644 index 000000000000..41a35a789538 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/at/install.patch @@ -0,0 +1,54 @@ +--- at-3.1.14/Makefile.in 2013-09-08 14:43:53.000000000 +0200 ++++ at-3.1.14/Makefile.in 2014-07-27 20:42:04.017703443 +0200 +@@ -91,35 +91,28 @@ + $(CC) -c $(CFLAGS) $(DEFS) $*.c + + install: all +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir) +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) +- chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) +- touch $(IROOT)$(LFILE) +- chmod 600 $(IROOT)$(LFILE) +- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE) +- test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/ +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(IROOT)$(bindir) ++ $(INSTALL) -m 755 -d $(IROOT)$(bindir) ++ $(INSTALL) -m 755 -d $(IROOT)$(sbindir) ++ $(INSTALL) -m 755 -d $(IROOT)$(docdir) ++ $(INSTALL) -m 755 -d $(IROOT)$(atdocdir) ++ $(INSTALL) -m 0755 at $(IROOT)$(bindir) + $(LN_S) -f at $(IROOT)$(bindir)/atq + $(LN_S) -f at $(IROOT)$(bindir)/atrm +- $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir) +- $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/ ++ $(INSTALL) -m 755 batch $(IROOT)$(bindir) ++ $(INSTALL) -d -m 755 $(IROOT)$(man1dir) ++ $(INSTALL) -d -m 755 $(IROOT)$(man5dir) ++ $(INSTALL) -d -m 755 $(IROOT)$(man8dir) ++ $(INSTALL) -m 755 atd $(IROOT)$(sbindir) ++ $(INSTALL) -m 755 atrun $(IROOT)$(sbindir) ++ $(INSTALL) -m 644 at.1 $(IROOT)$(man1dir)/ + cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 +- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/ ++ $(INSTALL) -m 644 atd.8 $(IROOT)$(man8dir)/ + sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman +- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8 ++ $(INSTALL) -m 644 tmpman $(IROOT)$(man8dir)/atrun.8 + rm -f tmpman +- $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/ ++ $(INSTALL) -m 644 at.allow.5 $(IROOT)$(man5dir)/ + cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 +- $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir) ++ $(INSTALL) -m 644 $(DOCS) $(IROOT)$(atdocdir) + rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \ + $(IROOT)$(mandir)/cat1/atq.1* + rm -f $(IROOT)$(mandir)/cat1/atd.8* diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/augeas/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/augeas/default.nix new file mode 100644 index 000000000000..338b8f8ac453 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/augeas/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, readline, libxml2 }: + +stdenv.mkDerivation rec { + pname = "augeas"; + version = "1.12.0"; + + src = fetchurl { + url = "http://download.augeas.net/${pname}-${version}.tar.gz"; + sha256 = "11ybhb13wkkilsn7b416a1dn61m1xrq0lbdpkhp5w61jrk4l469j"; + }; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ readline libxml2 ]; + + meta = with stdenv.lib; { + description = "Configuration editing tool"; + license = licenses.lgpl2; + homepage = "http://augeas.net/"; + maintainers = with maintainers; [ offline ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/awstats/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/awstats/default.nix new file mode 100644 index 000000000000..9da6ac59f3de --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/awstats/default.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchurl, perlPackages, jdk }: + +perlPackages.buildPerlPackage rec { + pname = "awstats"; + version = "7.7"; + + src = fetchurl { + url = "mirror://sourceforge/awstats/${pname}-${version}.tar.gz"; + sha256 = "0z3p77jnpjilajs9yv87r8xla2x1gjqlvrhpbgbh5ih73386v3j2"; + }; + + postPatch = '' + substituteInPlace wwwroot/cgi-bin/awstats.pl \ + --replace /usr/share/awstats/ "$out/wwwroot/cgi-bin/" + ''; + + outputs = [ "bin" "out" "doc" ]; # bin just links the user-run executable + propagatedBuildOutputs = [ ]; # otherwise out propagates bin -> cycle + + buildInputs = with perlPackages; [ ]; # plugins will need some + + preConfigure = '' + touch Makefile.PL + patchShebangs . + ''; + + # build our own JAR + preBuild = '' + ( + cd wwwroot/classes/src + rm ../*.jar + PATH="${jdk}/bin" "$(type -P perl)" Makefile.pl + test -f ../*.jar + ) + ''; + + doCheck = false; + + installPhase = '' + mkdir "$out" + mv wwwroot "$out/wwwroot" + rm -r "$out/wwwroot/classes/src/" + + mkdir -p "$out/share/awstats" + mv tools "$out/share/awstats/tools" + + mkdir -p "$bin/bin" + ln -s "$out/wwwroot/cgi-bin/awstats.pl" "$bin/bin/awstats" + + mkdir -p "$doc/share/doc" + mv README.md docs/ + mv docs "$doc/share/doc/awstats" + ''; + + meta = with stdenv.lib; { + description = "Real-time logfile analyzer to get advanced statistics"; + homepage = "http://awstats.org"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + }; +} + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/bar/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/bar/default.nix new file mode 100644 index 000000000000..32945a24bb16 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/bar/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "bar-1.11.1"; + + src = fetchurl { + url = "mirror://sourceforge/project/clpbar/clpbar/bar-1.11.1/bar_1.11.1.tar.gz"; + sha256 = "00v5cb6vzizyyhflgr62d3k8dqc0rg6wdgfyyk11c0s0r32mw3zs"; + }; + + meta = { + description = "Console progress bar"; + homepage = "http://clpbar.sourceforge.net/"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.rdnetto ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/bfs/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/bfs/default.nix new file mode 100644 index 000000000000..c0755fafc06a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/bfs/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, libcap, acl }: + +stdenv.mkDerivation rec { + pname = "bfs"; + version = "2.1"; + + src = fetchFromGitHub { + repo = "bfs"; + owner = "tavianator"; + rev = version; + sha256 = "1iricyigm0rsc8fr91vk3krvyafbnp0y3ww1rjv94l6jbdl7rrlb"; + }; + + buildInputs = stdenv.lib.optionals stdenv.isLinux [ libcap acl ]; + + # Disable LTO on darwin. See https://github.com/NixOS/nixpkgs/issues/19098 + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace Makefile --replace "-flto -DNDEBUG" "-DNDEBUG" + ''; + + makeFlags = [ "PREFIX=$(out)" ]; + buildFlags = [ "release" ]; # "release" enables compiler optimizations + + meta = with stdenv.lib; { + description = "A breadth-first version of the UNIX find command"; + longDescription = '' + bfs is a variant of the UNIX find command that operates breadth-first rather than + depth-first. It is otherwise intended to be compatible with many versions of find. + ''; + homepage = "https://github.com/tavianator/bfs"; + license = licenses.bsd0; + platforms = platforms.unix; + maintainers = with maintainers; [ yesbox ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/bottom/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/bottom/default.nix new file mode 100644 index 000000000000..8c5e2833212c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/bottom/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, rustPlatform, darwin, installShellFiles }: + +rustPlatform.buildRustPackage rec { + pname = "bottom"; + version = "0.5.3"; + + src = fetchFromGitHub { + owner = "ClementTsang"; + repo = pname; + rev = version; + sha256 = "sha256-Gc2bL7KqDqab0hCCOi2rtEw+5r0bSETzTipLLdX/ipk="; + }; + + nativeBuildInputs = [ installShellFiles ]; + + buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.IOKit; + + cargoSha256 = "sha256-Bdkq3cTuziTQ7/BkvuBHbfuxRIXnz4h2OadoAGNTBc0="; + + doCheck = false; + + postInstall = '' + installShellCompletion $releaseDir/build/bottom-*/out/btm.{bash,fish} --zsh $releaseDir/build/bottom-*/out/_btm + ''; + + meta = with stdenv.lib; { + description = "A cross-platform graphical process/system monitor with a customizable interface"; + homepage = "https://github.com/ClementTsang/bottom"; + license = licenses.mit; + maintainers = with maintainers; [ berbiche ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/bpytop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/bpytop/default.nix new file mode 100644 index 000000000000..feaebc14e0ad --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/bpytop/default.nix @@ -0,0 +1,46 @@ +{ stdenv, python3Packages, fetchFromGitHub, makeWrapper, substituteAll }: + +stdenv.mkDerivation rec { + pname = "bpytop"; + version = "1.0.50"; + + src = fetchFromGitHub { + owner = "aristocratos"; + repo = pname; + rev = "v${version}"; + sha256 = "10j2g19sh2hl5lzbcllr862hkzr0mc1z8n24afzaycn1sphri8fc"; + }; + + buildInputs = [ makeWrapper ]; + propagatedBuildInputs = with python3Packages; [ python psutil ]; + + dontBuild = true; + + postPatch = '' + sed -i -e "s#/usr/\[local/\]#$out/#g" \ + -e "s#/usr/{td}#$out/#g" \ + -e "s#THEME_DIR: str = \"\"#THEME_DIR: str = \"$out/share/bpytop/themes\"#" \ + ./bpytop.py + ''; + + installPhase = '' + mkdir -p $out/{bin,libexec,share/bpytop}/ + cp -r ./themes $out/share/bpytop/ + cp ./bpytop.py $out/libexec/ + + makeWrapper ${python3Packages.python.interpreter} $out/bin/bpytop \ + --add-flags "$out/libexec/bpytop.py" \ + --prefix PYTHONPATH : "$PYTHONPATH" + ''; + + meta = with stdenv.lib; { + description = "A resource monitor; python port of bashtop"; + homepage = src.meta.homepage; + license = licenses.apsl20; + maintainers = with maintainers; [ aw ]; + platforms = with platforms; linux ++ freebsd ++ darwin; + + # https://github.com/NixOS/nixpkgs/pull/94625#issuecomment-668509399 + broken = stdenv.isDarwin; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/chase/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/chase/default.nix new file mode 100644 index 000000000000..c4396aad9ca6 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/chase/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl ,pkgconfig, libatomic_ops , boehmgc }: + +stdenv.mkDerivation rec { + pname = "chase"; + version = "0.5.2"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libatomic_ops boehmgc ] ; + src = fetchurl { + url = "mirror://debian/pool/main/c/chase/chase_${version}.orig.tar.gz"; + sha256 = "68d95c2d4dc45553b75790fcea4413b7204a2618dff148116ca9bdb0310d737f"; + }; + + doCheck = true; + makeFlags = [ "-e" ]; + makeFlagsArray="LIBS=-lgc"; + + meta = with stdenv.lib ; { + description = "Follow a symlink and print out its target file"; + longDescription = '' + A commandline program that chases symbolic filesystems links to the original file + ''; + homepage = "https://qa.debian.org/developer.php?login=rotty%40debian.org"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.polyrod ]; + platforms = platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/clinfo/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/clinfo/default.nix new file mode 100644 index 000000000000..9e9b4df80880 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/clinfo/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, ocl-icd, opencl-headers }: + +stdenv.mkDerivation rec { + pname = "clinfo"; + version = "3.0.20.11.20"; + + src = fetchFromGitHub { + owner = "Oblomov"; + repo = "clinfo"; + rev = version; + sha256 = "052xfkbmgfpalmhfwn0dj5114x2mzwz29y37qqhhsdpaxsz0y422"; + }; + + buildInputs = [ ocl-icd opencl-headers ]; + + NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ]; + + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + + meta = with stdenv.lib; { + description = "Print all known information about all available OpenCL platforms and devices in the system"; + homepage = "https://github.com/Oblomov/clinfo"; + license = licenses.cc0; + platforms = platforms.linux; + maintainers = with maintainers; [ athas ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/cm-rgb/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/cm-rgb/default.nix new file mode 100644 index 000000000000..acfe440b5d5c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/cm-rgb/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, buildPythonApplication +, fetchFromGitHub +, atk +, gobject-introspection +, wrapGAppsHook +, click +, hidapi +, psutil +, pygobject3 +}: + +buildPythonApplication rec { + pname = "cm-rgb"; + version = "0.3.4"; + + src = fetchFromGitHub { + owner = "gfduszynski"; + repo = pname; + rev = "v${version}"; + sha256 = "04brldaa2zpvzkcg43i5hpbj03d1nqrgiplm5nh4shn12cif19ag"; + }; + + nativeBuildInputs = [ + atk + + # Populate GI_TYPELIB_PATH + gobject-introspection + wrapGAppsHook + ]; + + propagatedBuildInputs = [ + click + hidapi + psutil + pygobject3 + ]; + + postInstall = '' + # Remove this line when/if this PR gets merged: + # https://github.com/gfduszynski/cm-rgb/pull/43 + install -m0755 scripts/cm-rgb-gui $out/bin/cm-rgb-gui + + mkdir -p $out/etc/udev/rules.d + echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2516", ATTR{idProduct}=="0051", TAG+="uaccess"' \ + > $out/etc/udev/rules.d/60-cm-rgb.rules + ''; + + meta = with stdenv.lib; { + description = "Control AMD Wraith Prism RGB LEDs"; + longDescription = '' + cm-rgb controls AMD Wraith Prism RGB LEDS. + + To permit non-root accounts to change use this utility on + NixOS, add this package to <literal>services.udev.packages</literal> + in <filename>configuration.nix</filename>. + ''; + homepage = "https://github.com/gfduszynski/cm-rgb"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ danieldk ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/data.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/data.nix new file mode 100644 index 000000000000..378eb62d6cc5 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/data.nix @@ -0,0 +1,14 @@ +{ stdenv, collectd }: + +stdenv.mkDerivation { + inherit (collectd) meta version; + + pname = "collectd-data"; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/share/collectd + cp ${collectd}/share/collectd/*.{db,conf} $out/share/collectd/ + ''; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/default.nix new file mode 100644 index 000000000000..278ab9056ad9 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, fetchpatch, darwin, callPackage +, autoreconfHook +, pkgconfig +, libtool +, ... +}@args: +let + plugins = callPackage ./plugins.nix args; +in +stdenv.mkDerivation rec { + version = "5.12.0"; + pname = "collectd"; + + src = fetchurl { + url = "https://collectd.org/files/${pname}-${version}.tar.bz2"; + sha256 = "1mh97afgq6qgmpvpr84zngh58m0sl1b4wimqgvvk376188q09bjv"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ + libtool + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.ApplicationServices + ] ++ plugins.buildInputs; + + configureFlags = [ + "--localstatedir=/var" + "--disable-werror" + ] ++ plugins.configureFlags; + + # do not create directories in /var during installPhase + postConfigure = '' + substituteInPlace Makefile --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/' '#' + ''; + + postInstall = '' + if [ -d $out/share/collectd/java ]; then + mv $out/share/collectd/java $out/share/ + fi + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Daemon which collects system performance statistics periodically"; + homepage = "https://collectd.org"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ bjornfor fpletz ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/plugins.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/plugins.nix new file mode 100644 index 000000000000..defeed4c8928 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/collectd/plugins.nix @@ -0,0 +1,350 @@ +{ stdenv +, curl +, darwin +, hiredis +, iptables +, jdk +, libatasmart +, libdbi +, libgcrypt +, libmemcached, cyrus_sasl +, libmodbus +, libmicrohttpd +, libmnl +, libmysqlclient +, libnotify, gdk-pixbuf +, liboping +, libpcap +, libsigrok +, libvirt +, libxml2 +, libapparmor, libcap_ng, numactl +, lvm2 +, lua +, lm_sensors +, mongoc +, mosquitto +, net-snmp +, perl +, postgresql +, protobufc +, python +, rabbitmq-c +, rdkafka +, riemann_c_client +, rrdtool +, udev +, varnish +, yajl +# Defaults to `null` for all supported plugins, +# list of plugin names for a custom build +, enabledPlugins ? null +, ... +}: + +let + # All plugins and their dependencies. + # Please help complete this! + plugins = { + aggregation = {}; + amqp = { + buildInputs = [ yajl ] ++ + stdenv.lib.optionals stdenv.isLinux [ rabbitmq-c ]; + }; + apache = { + buildInputs = [ curl ]; + }; + apcups = {}; + apple_sensors = {}; + aquaero = {}; + ascent = { + buildInputs = [ curl libxml2 ]; + }; + barometer = {}; + battery = { + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.IOKit + ]; + }; + bind = { + buildInputs = [ curl libxml2 ]; + }; + ceph = { + buildInputs = [ yajl ]; + }; + cgroups = {}; + chrony = {}; + conntrack = {}; + contextswitch = {}; + cpu = {}; + cpufreq = {}; + cpusleep = {}; + csv = {}; + curl = { + buildInputs = [ curl ]; + }; + curl_json = { + buildInputs = [ curl yajl ]; + }; + curl_xml = { + buildInputs = [ curl libxml2 ]; + }; + dbi = { + buildInputs = [ libdbi ]; + }; + df = {}; + disk = { + buildInputs = stdenv.lib.optionals stdenv.isLinux [ + udev + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.IOKit + ]; + }; + dns = { + buildInputs = [ libpcap ]; + }; + dpdkevents = {}; + dpdkstat = {}; + drbd = {}; + email = {}; + entropy = {}; + ethstat = {}; + exec = {}; + fhcount = {}; + filecount = {}; + fscache = {}; + gmond = {}; + gps = {}; + grpc = {}; + hddtemp = {}; + hugepages = {}; + intel_pmu = {}; + intel_rdt = {}; + interface = {}; + ipc = {}; + ipmi = {}; + iptables = { + buildInputs = [ + libpcap + ] ++ stdenv.lib.optionals stdenv.isLinux [ + iptables libmnl + ]; + }; + ipvs = {}; + irq = {}; + java = { + buildInputs = [ jdk libgcrypt libxml2 ]; + }; + load = {}; + logfile = {}; + log_logstash = { + buildInputs = [ yajl ]; + }; + lpar = {}; + lua = { + buildInputs = [ lua ]; + }; + lvm = {}; + madwifi = {}; + match_empty_counter = {}; + match_hashed = {}; + match_regex = {}; + match_timediff = {}; + match_value = {}; + mbmon = {}; + mcelog = {}; + md = {}; + memcachec = { + buildInputs = [ libmemcached cyrus_sasl ]; + }; + memcached = {}; + memory = {}; + mic = {}; + modbus = { + buildInputs = stdenv.lib.optionals stdenv.isLinux [ libmodbus ]; + }; + mqtt = { + buildInputs = [ mosquitto ]; + }; + multimeter = {}; + mysql = { + buildInputs = stdenv.lib.optionals (libmysqlclient != null) [ + libmysqlclient + ]; + }; + netapp = {}; + netlink = { + buildInputs = [ + libpcap + ] ++ stdenv.lib.optionals stdenv.isLinux [ + libmnl + ]; + }; + network = { + buildInputs = [ libgcrypt ]; + }; + nfs = {}; + nginx = { + buildInputs = [ curl ]; + }; + notify_desktop = { + buildInputs = [ libnotify gdk-pixbuf ]; + }; + notify_email = {}; + notify_nagios = {}; + ntpd = {}; + numa = {}; + nut = {}; + olsrd = {}; + onewire = {}; + openldap = {}; + openvpn = {}; + oracle = {}; + ovs_events = { + buildInputs = [ yajl ]; + }; + ovs_stats = { + buildInputs = [ yajl ]; + }; + perl = { + buildInputs = [ perl ]; + }; + pf = {}; + pinba = { + buildInputs = [ protobufc ]; + }; + ping = { + buildInputs = [ liboping ]; + }; + postgresql = { + buildInputs = [ postgresql ]; + }; + powerdns = {}; + processes = {}; + protocols = {}; + python = { + buildInputs = [ python ]; + }; + redis = { + buildInputs = [ hiredis ]; + }; + routeros = {}; + rrdcached = { + buildInputs = [ rrdtool libxml2 ]; + }; + rrdtool = { + buildInputs = [ rrdtool libxml2 ]; + }; + sensors = { + buildInputs = stdenv.lib.optionals stdenv.isLinux [ lm_sensors ]; + }; + serial = {}; + sigrok = { + buildInputs = stdenv.lib.optionals stdenv.isLinux [ libsigrok udev ]; + }; + smart = { + buildInputs = stdenv.lib.optionals stdenv.isLinux [ libatasmart udev ]; + }; + snmp = { + buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ]; + }; + snmp_agent = { + buildInputs = stdenv.lib.optionals stdenv.isLinux [ net-snmp ]; + }; + statsd = {}; + swap = {}; + synproxy = {}; + syslog = {}; + table = {}; + tail_csv = {}; + tail = {}; + tape = {}; + target_notification = {}; + target_replace = {}; + target_scale = {}; + target_set = {}; + target_v5upgrade = {}; + tcpconns = {}; + teamspeak2 = {}; + ted = {}; + thermal = {}; + threshold = {}; + tokyotyrant = {}; + turbostat = {}; + unixsock = {}; + uptime = {}; + users = {}; + uuid = {}; + varnish = { + buildInputs = [ curl varnish ]; + }; + virt = { + buildInputs = [ libvirt libxml2 yajl ] ++ + stdenv.lib.optionals stdenv.isLinux [ lvm2 udev + # those might be no longer required when https://github.com/NixOS/nixpkgs/pull/51767 + # is merged + libapparmor numactl libcap_ng + ]; + }; + vmem = {}; + vserver = {}; + wireless = {}; + write_graphite = {}; + write_http = { + buildInputs = [ curl yajl ]; + }; + write_kafka = { + buildInputs = [ yajl rdkafka ]; + }; + write_log = { + buildInputs = [ yajl ]; + }; + write_mongodb = { + buildInputs = [ mongoc ]; + }; + write_prometheus = { + buildInputs = [ protobufc libmicrohttpd ]; + }; + write_redis = { + buildInputs = [ hiredis ]; + }; + write_riemann = { + buildInputs = [ protobufc riemann_c_client ]; + }; + write_sensu = {}; + write_tsdb = {}; + xencpu = {}; + xmms = {}; + zfs_arc = {}; + zone = {}; + zookeeper = {}; + }; + + configureFlags = + if enabledPlugins == null + then [] + else (map (plugin: "--enable-${plugin}") enabledPlugins) ++ + (map (plugin: "--disable-${plugin}") + (builtins.filter (plugin: ! builtins.elem plugin enabledPlugins) + (builtins.attrNames plugins)) + ); + + pluginBuildInputs = plugin: + if ! builtins.hasAttr plugin plugins + then throw "Unknown collectd plugin: ${plugin}" + else + let + pluginAttrs = builtins.getAttr plugin plugins; + in + if pluginAttrs ? "buildInputs" + then pluginAttrs.buildInputs + else []; + + buildInputs = + if enabledPlugins == null + then builtins.concatMap pluginBuildInputs + (builtins.attrNames plugins) + else builtins.concatMap pluginBuildInputs enabledPlugins; +in { + inherit configureFlags buildInputs; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile new file mode 100644 index 000000000000..0d41bd279ccb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'colorls' diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock new file mode 100644 index 000000000000..d138a167ce74 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/Gemfile.lock @@ -0,0 +1,21 @@ +GEM + remote: https://rubygems.org/ + specs: + clocale (0.0.4) + colorls (1.4.2) + clocale (~> 0) + filesize (~> 0) + manpages (~> 0) + rainbow (>= 2.2, < 4.0) + filesize (0.2.0) + manpages (0.6.1) + rainbow (3.0.0) + +PLATFORMS + ruby + +DEPENDENCIES + colorls + +BUNDLED WITH + 2.1.4 diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/default.nix new file mode 100644 index 000000000000..8243590cd7d5 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/default.nix @@ -0,0 +1,18 @@ +{ lib, bundlerApp, ruby, bundlerUpdateScript }: + +bundlerApp { + pname = "colorls"; + + gemdir = ./.; + exes = [ "colorls" ]; + + passthru.updateScript = bundlerUpdateScript "colorls"; + + meta = with lib; { + description = "Prettified LS"; + homepage = "https://github.com/athityakumar/colorls"; + license = with licenses; mit; + maintainers = with maintainers; [ lukebfox nicknovitski cbley ]; + platforms = ruby.meta.platforms; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/gemset.nix new file mode 100644 index 000000000000..2e4a26ff9182 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/colorls/gemset.nix @@ -0,0 +1,53 @@ +{ + clocale = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "065pb7hzmd6zndbln4ag94bjpw3hsm71jagsgiqskpxhgrbq03jz"; + type = "gem"; + }; + version = "0.0.4"; + }; + colorls = { + dependencies = ["clocale" "filesize" "manpages" "rainbow"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sw377wklld5zn1la0smxc2bg4rph2xf9d0h3zmxhmds06lb92db"; + type = "gem"; + }; + version = "1.4.2"; + }; + filesize = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17p7rf1x7h3ivaznb4n4kmxnnzj25zaviryqgn2n12v2kmibhp8g"; + type = "gem"; + }; + version = "0.2.0"; + }; + manpages = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11p6ilnfda6af15ks3xiz2pr0hkvdvadnk1xm4ahqlf84dld3fnd"; + type = "gem"; + }; + version = "0.6.1"; + }; + rainbow = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; + type = "gem"; + }; + version = "3.0.0"; + }; +}
\ No newline at end of file diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/confd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/confd/default.nix new file mode 100644 index 000000000000..25f03e1a665f --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/confd/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "confd"; + version = "0.16.0"; + rev = "v${version}"; + + goPackagePath = "github.com/kelseyhightower/confd"; + subPackages = [ "./" ]; + + src = fetchFromGitHub { + inherit rev; + owner = "kelseyhightower"; + repo = "confd"; + sha256 = "0q7r6dkgirnmqi3rhqdaai88jqzw52l6jdrrwsf2qq0hva09961p"; + }; + + meta = { + description = "Manage local application configuration files using templates and data from etcd or consul"; + homepage = "https://github.com/kelseyhightower/confd"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.zimbatm ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/consul-template/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/consul-template/default.nix new file mode 100644 index 000000000000..69d5cd6bb736 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/consul-template/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "consul-template"; + version = "0.19.4"; + rev = "v${version}"; + + goPackagePath = "github.com/hashicorp/consul-template"; + + src = fetchFromGitHub { + inherit rev; + owner = "hashicorp"; + repo = "consul-template"; + sha256 = "06agjzpax45gw7s9b69cz9w523nx7ksikqcg0z0vipwrp7pwrydd"; + }; + + meta = with stdenv.lib; { + homepage = "https://github.com/hashicorp/consul-template/"; + description = "Generic template rendering and notifications with Consul"; + platforms = platforms.linux ++ platforms.darwin; + license = licenses.mpl20; + maintainers = with maintainers; [ pradeepchhetri ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/cron/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/cron/default.nix new file mode 100644 index 000000000000..9cde31205e1f --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/cron/default.nix @@ -0,0 +1,47 @@ +{stdenv, fetchurl, vim, sendmailPath ? "/usr/sbin/sendmail"}: + +stdenv.mkDerivation { + name = "cron-4.1"; + src = fetchurl { + url = "ftp://ftp.isc.org/isc/cron/cron_4.1.shar"; + sha256 = "16n3dras4b1jh7g958nz1k54pl9pg5fwb3fvjln8z67varvq6if4"; + }; + + unpackCmd = "(mkdir cron && cd cron && sh $curSrc)"; + + hardeningEnable = [ "pie" ]; + + preBuild = '' + # do not set sticky bit in /nix/store + substituteInPlace Makefile --replace ' -o root' ' ' --replace 111 755 --replace 4755 0755 + # do not strip during install, broken on cross and we'll do ourselves as needed + substituteInPlace Makefile --replace ' -s cron' ' cron' + makeFlags="DESTROOT=$out CC=$CC" + + # We want to ignore the $glibc/include/paths.h definition of + # sendmail path. + # Also set a usable default PATH (#16518). + cat >> pathnames.h <<__EOT__ + #undef _PATH_SENDMAIL + #define _PATH_SENDMAIL "${sendmailPath}" + + #undef _PATH_VI + #define _PATH_VI "${vim}/bin/vim" + + #undef _PATH_DEFPATH + #define _PATH_DEFPATH "/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin" + __EOT__ + + # Implicit saved uids do not work here due to way NixOS uses setuid wrappers + # (#16518). + echo "#undef HAVE_SAVED_UIDS" >> externs.h + ''; + + preInstall = "mkdir -p $out/bin $out/sbin $out/share/man/man1 $out/share/man/man5 $out/share/man/man8"; + + meta = with stdenv.lib; { + description = "Daemon for running commands at specific times (Vixie Cron)"; + license = licenses.bsd0; + platforms = with platforms; linux ++ darwin; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ctop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ctop/default.nix new file mode 100644 index 000000000000..2b538d66322f --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ctop/default.nix @@ -0,0 +1,26 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "ctop"; + version = "0.7.5"; + + src = fetchFromGitHub { + owner = "bcicen"; + repo = pname; + rev = "v${version}"; + sha256 = "0mm1gapnz67mwc346jr530xwpiajq1b2f295s8gz5nrb2a23mqln"; + }; + + vendorSha256 = "0a5rwnf251jbp7jz2ln8z9hqp0112c6kx0y09nncvlcki35qq9sh"; + + doCheck = false; + + buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.build=v${version}" ]; + + meta = with lib; { + description = "Top-like interface for container metrics"; + homepage = "https://ctop.sh/"; + license = licenses.mit; + maintainers = with maintainers; [ apeyroux marsam ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/daemon/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/daemon/default.nix new file mode 100644 index 000000000000..29f976998d53 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/daemon/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, perl }: + +stdenv.mkDerivation rec { + pname = "daemon"; + version = "0.7"; + + src = fetchurl { + url = "http://libslack.org/daemon/download/daemon-${version}.tar.gz"; + sha256 = "0b17zzl7bqnkn7a4pr3l6fxqfmxfld7izphrab5nvhc4wzng4spn"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + buildInputs = [ perl ]; + + meta = with stdenv.lib; { + description = "Turns other processes into daemons"; + longDescription = '' + Daemon turns other process into daemons. There are many tasks that need + to be performed to correctly set up a daemon process. This can be tedious. + Daemon performs these tasks for other processes. This is useful for + writing daemons in languages other than C, C++ or Perl (e.g. /bin/sh, + Java). + ''; + license = licenses.gpl2Plus; + maintainers = [ maintainers.sander ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/daemonize/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/daemonize/default.nix new file mode 100644 index 000000000000..a8685189b61c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/daemonize/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "daemonize"; + version = "1.7.8"; + + src = fetchurl { + url = "https://github.com/bmc/daemonize/archive/release-${version}.tar.gz"; + sha256 = "0q2c3i3si3k7wfhl6fyckkmkc81yp67pz52p3ggis79p4nczri10"; + }; + + meta = with stdenv.lib; { + description = "Runs a command as a Unix daemon"; + homepage = "http://software.clapper.org/daemonize/"; + license = licenses.bsd3; + platforms = with platforms; linux ++ freebsd ++ darwin; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/das_watchdog/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/das_watchdog/default.nix new file mode 100644 index 000000000000..8c1a5657991c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/das_watchdog/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchgit, libgtop, xmessage, which, pkgconfig }: + +stdenv.mkDerivation { + pname = "das_watchdog"; + version = "git-2015-09-12"; + + src = fetchgit { + url = "https://github.com/kmatheussen/das_watchdog.git"; + rev = "5ac0db0b98e5b4e690aca0aa7fb6ec60ceddcb06"; + sha256 = "02y1vfb3wh4908xjj1kpyf8kgxk29x8dw7yl3pnl220qz2gi99vr"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libgtop xmessage which ]; + + installPhase = '' + mkdir -p $out/bin/ + cp das_watchdog $out/bin/ + cp test_rt $out/bin/ + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/kmatheussen/das_watchdog"; + description = "A general watchdog for the linux operating system"; + longDescription = '' + It should run in the background at all times to ensure a realtime process + won't hang the machine."; + ''; + license = licenses.free; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/datefudge/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/datefudge/default.nix new file mode 100644 index 000000000000..819071f3f068 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/datefudge/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchgit, fetchpatch }: + +stdenv.mkDerivation rec { + pname = "datefudge"; + version = "1.24"; + + src = fetchgit { + url = "https://salsa.debian.org/debian/${pname}.git"; + rev = "debian/${version}"; + sha256 = "1nh433yx4y4djp0bs6aawqbwk7miq7fsbs9wpjlyh2k9dvil2lrm"; + }; + + postPatch = '' + substituteInPlace Makefile \ + --replace "/usr" "/" \ + --replace "-o root -g root" "" + substituteInPlace datefudge.sh \ + --replace "@LIBDIR@" "$out/lib/" + ''; + + installFlags = [ "DESTDIR=$(out)" ]; + + postInstall = "chmod +x $out/lib/datefudge/datefudge.so"; + + meta = with stdenv.lib; { + description = "Fake the system date"; + longDescription = '' + datefudge is a small utility that pretends that the system time is + different by pre-loading a small library which modifies the time, + gettimeofday and clock_gettime system calls. + ''; + homepage = "https://packages.qa.debian.org/d/datefudge.html"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/dcfldd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/dcfldd/default.nix new file mode 100644 index 000000000000..9ea7b485b96b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/dcfldd/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "dcfldd-1.3.4-1"; + + src = fetchurl { + url = "mirror://sourceforge/dcfldd/${name}.tar.gz"; + sha256 = "1y6mwsvm75f5jzxsjjk0yhf8xnpmz6y8qvcxfandavx59lc3l57m"; + }; + + buildInputs = [ ]; + + meta = with stdenv.lib; { + description = "An enhanced version of GNU dd"; + + homepage = "http://dcfldd.sourceforge.net/"; + + license = licenses.gpl2; + + platforms = platforms.all; + maintainers = with maintainers; [ qknight ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/dd_rescue/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/dd_rescue/default.nix new file mode 100644 index 000000000000..9962337de078 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/dd_rescue/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, autoconf }: + +stdenv.mkDerivation rec { + version = "1.99.8"; + pname = "dd_rescue"; + + src = fetchurl { + sha256 = "1gbxm8gr9sx5g1q9dycs21hkxikcy97q09lp1lvs59pnd9qpdnwh"; + url="http://www.garloff.de/kurt/linux/ddrescue/${pname}-${version}.tar.bz2"; + }; + + dd_rhelp_src = fetchurl { + url = "http://www.kalysto.org/pkg/dd_rhelp-0.3.0.tar.gz"; + sha256 = "0br6fs23ybmic3i5s1w4k4l8c2ph85ax94gfp2lzjpxbvl73cz1g"; + }; + + buildInputs = [ autoconf ]; + + preBuild = '' + substituteInPlace Makefile \ + --replace "\$(DESTDIR)/usr" "$out" \ + --replace "-o root" "" \ + --replace "-g root" "" + ''; + makeFlags = [ "LIBDIR=$out" ]; + + postInstall = '' + mkdir -p "$out/share/dd_rescue" "$out/bin" + tar xf "${dd_rhelp_src}" -C "$out/share/dd_rescue" + cp "$out/share/dd_rescue"/dd_rhelp*/dd_rhelp "$out/bin" + ''; + + meta = with stdenv.lib; { + description = "A tool to copy data from a damaged block device"; + maintainers = with maintainers; [ raskin domenkozar ]; + platforms = platforms.linux; + homepage = "http://www.garloff.de/kurt/linux/ddrescue/"; + license = licenses.gpl2Plus; + inherit version; + updateWalker = true; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescue/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescue/default.nix new file mode 100644 index 000000000000..8efcf22312fb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescue/default.nix @@ -0,0 +1,51 @@ +{ stdenv +, fetchurl, lzip +}: + +stdenv.mkDerivation rec { + name = "ddrescue-1.25"; + + src = fetchurl { + url = "mirror://gnu/ddrescue/${name}.tar.lz"; + sha256 = "0qqh38izl5ppap9a5izf3hijh94k65s3zbfkczd4b7x04syqwlyf"; + }; + + nativeBuildInputs = [ lzip ]; + + doCheck = true; # not cross; + configureFlags = [ "CXX=${stdenv.cc.targetPrefix}c++" ]; + + meta = with stdenv.lib; { + description = "GNU ddrescue, a data recovery tool"; + + longDescription = + '' GNU ddrescue is a data recovery tool. It copies data from one file + or block device (hard disc, cdrom, etc) to another, trying hard to + rescue data in case of read errors. + + The basic operation of ddrescue is fully automatic. That is, you + don't have to wait for an error, stop the program, read the log, run + it in reverse mode, etc. + + If you use the logfile feature of ddrescue, the data is rescued very + efficiently (only the needed blocks are read). Also you can + interrupt the rescue at any time and resume it later at the same + point. + + Automatic merging of backups: If you have two or more damaged copies + of a file, cdrom, etc, and run ddrescue on all of them, one at a + time, with the same output file, you will probably obtain a complete + and error-free file. This is so because the probability of having + damaged areas at the same places on different input files is very + low. Using the logfile, only the needed blocks are read from the + second and successive copies. + ''; + + homepage = "https://www.gnu.org/software/ddrescue/ddrescue.html"; + + license = licenses.gpl3Plus; + + platforms = platforms.all; + maintainers = with maintainers; [ domenkozar fpletz ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescueview/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescueview/default.nix new file mode 100644 index 000000000000..6c8e9c56cdc9 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrescueview/default.nix @@ -0,0 +1,42 @@ +{ stdenv, lib, fetchurl, fpc, lazarus, atk, cairo, gdk-pixbuf, glib, gtk2, libX11, pango }: + +let + versionBase = "0.4"; + versionSuffix = "alpha4"; +in stdenv.mkDerivation rec { + pname = "ddrescueview"; + version = "${versionBase}${versionSuffix}"; + name = "ddrescueview-0.4alpha4"; + + src = fetchurl { + name = "ddrescueview-${versionBase}${versionSuffix}.tar.xz"; + url = "mirror://sourceforge/ddrescueview/ddrescueview-source-${versionBase}~${versionSuffix}.tar.xz"; + sha256 = "0v159nlc0lrqznbbwi7zda619is5h2rjk55gz6cl807j0kd19ycc"; + }; + sourceRoot = "ddrescueview-source-${versionBase}~${versionSuffix}/source"; + + nativeBuildInputs = [ fpc lazarus ]; + + buildInputs = [ atk cairo gdk-pixbuf glib gtk2 libX11 pango ]; + + NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}"; + + buildPhase = '' + lazbuild --lazarusdir=${lazarus}/share/lazarus ddrescueview.lpi + ''; + + installPhase = '' + install -Dt $out/bin ddrescueview + cd ../resources/linux + mkdir -p "$out/share" + cp -ar applications icons man $out/share + ''; + + meta = with lib; { + description = "A tool to graphically examine ddrescue mapfiles"; + homepage = "https://sourceforge.net/projects/ddrescueview/"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ orivej ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ddrutility/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrutility/default.nix new file mode 100644 index 000000000000..bb24076ce7c8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ddrutility/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "ddrutility"; + version = "2.8"; + + src = fetchurl { + url = "mirror://sourceforge/ddrutility/${pname}-${version}.tar.gz"; + sha256 = "023g7f2sfv5cqk3iyss4awrw3b913sy5423mn5zvlyrri5hi2cac"; + }; + + postPatch = '' + substituteInPlace makefile --replace /usr/local "" + ''; + + makeFlags = [ "DESTDIR=$(out)" ]; + + meta = with stdenv.lib; { + description = "A set of utilities for hard drive data rescue"; + homepage = "https://sourceforge.net/projects/ddrutility/"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ orivej ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/dfc/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/dfc/default.nix new file mode 100644 index 000000000000..415b647befa0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/dfc/default.nix @@ -0,0 +1,21 @@ +{stdenv, fetchurl, cmake, gettext}: + +stdenv.mkDerivation rec { + pname = "dfc"; + version = "3.1.1"; + + src = fetchurl { + url = "https://projects.gw-computing.net/attachments/download/615/${pname}-${version}.tar.gz"; + sha256 = "0m1fd7l85ckb7bq4c5c3g257bkjglm8gq7x42pkmpp87fkknc94n"; + }; + + nativeBuildInputs = [ cmake gettext ]; + + meta = { + homepage = "https://projects.gw-computing.net/projects/dfc"; + description = "Displays file system space usage using graphs and colors"; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [qknight]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/di/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/di/default.nix new file mode 100644 index 000000000000..0a6ae26547bf --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/di/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "di"; + version = "4.48"; + + src = fetchurl { + url = "https://gentoo.com/${pname}/${pname}-${version}.tar.gz"; + sha256 = "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r"; + }; + + makeFlags = [ "INSTALL_DIR=$(out)" ]; + + meta = with stdenv.lib; { + description = "Disk information utility; displays everything 'df' does and more"; + homepage = "https://gentoo.com/di/"; + license = licenses.zlib; + updateWalker = true; + maintainers = with maintainers; [ manveru ]; + platforms = platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/disk-filltest/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/disk-filltest/default.nix new file mode 100644 index 000000000000..7bcf592012a4 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/disk-filltest/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "disk-filltest"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "bingmann"; + repo = "disk-filltest"; + rev = "v${version}"; + sha256 = "0qmcf5k5j7946wsbxrw4rqfj48mwl3r6kb4l3gppl97k7iyni6kj"; + }; + + preBuild = '' + substituteInPlace Makefile --replace 'prefix = /usr/local' 'prefix = $(out)' + ''; + + postInstall = '' + install -D -m0644 -t $out/share/doc COPYING README + mkdir -p $out/share/man; mv $out/man1 $out/share/man + ''; + + meta = with stdenv.lib; { + description = "Simple program to detect bad disks by filling them with random data"; + longDescription = '' + disk-filltest is a tool to check storage disks for coming + failures by write files with pseudo-random data to the current + directory until the disk is full, read the files again + and verify the sequence written. It also can measure + read/write speed while filling the disk. + ''; + homepage = "https://panthema.net/2013/disk-filltest"; + license = licenses.gpl3; + maintainers = with maintainers; [ caadar ]; + platforms = platforms.all; + }; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/dog/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/dog/default.nix new file mode 100644 index 000000000000..5063e3555bb1 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/dog/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "dog-1.7"; + + src = fetchurl { + url = "http://archive.debian.org/debian/pool/main/d/dog/dog_1.7.orig.tar.gz"; + sha256 = "3ef25907ec5d1dfb0df94c9388c020b593fbe162d7aaa9bd08f35d2a125af056"; + }; + + patchPhase = '' + substituteInPlace Makefile \ + --replace "gcc" "cc" + ''; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/man/man1 + cp dog.1 $out/man/man1 + cp dog $out/bin + ''; + + meta = with stdenv.lib; { + homepage = "http://lwn.net/Articles/421072/"; + description = "cat replacement"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ qknight ]; + platforms = platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/efibootmgr/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/efibootmgr/default.nix new file mode 100644 index 000000000000..dd898de0fc26 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/efibootmgr/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, efivar, popt }: + +stdenv.mkDerivation rec { + pname = "efibootmgr"; + version = "17"; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ efivar popt ]; + + src = fetchFromGitHub { + owner = "rhboot"; + repo = "efibootmgr"; + rev = version; + sha256 = "1niicijxg59rsmiw3rsjwy4bvi1n42dynvm01lnp9haixdzdpq03"; + }; + + patches = [ + (fetchpatch { + name = "remove-extra-decl.patch"; + url = "https://github.com/rhboot/efibootmgr/commit/99b578501643377e0b1994b2a068b790d189d5ad.patch"; + sha256 = "1sbijvlpv4khkix3vix9mbhzffj8lp8zpnbxm9gnzjz8yssz9p5h"; + }) + ]; + # We have no LTO here since commit 22284b07. + postPatch = if stdenv.isi686 then "sed '/^CFLAGS/s/-flto//' -i Make.defaults" else null; + + makeFlags = [ "EFIDIR=nixos" "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config" ]; + + installFlags = [ "prefix=$(out)" ]; + + meta = with stdenv.lib; { + description = "A Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager"; + homepage = "https://github.com/rhboot/efibootmgr"; + license = licenses.gpl2; + maintainers = with maintainers; [ ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/efivar/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/efivar/default.nix new file mode 100644 index 000000000000..ea0ed8afcfd0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/efivar/default.nix @@ -0,0 +1,64 @@ +{ stdenv, buildPackages, fetchFromGitHub, fetchurl, pkgconfig, popt }: + +stdenv.mkDerivation rec { + pname = "efivar"; + version = "37"; + + outputs = [ "bin" "out" "dev" "man" ]; + + src = fetchFromGitHub { + owner = "rhinstaller"; + repo = "efivar"; + rev = version; + sha256 = "1z2dw5x74wgvqgd8jvibfff0qhwkc53kxg54v12pzymyibagwf09"; + }; + patches = [ + (fetchurl { + name = "r13y.patch"; + url = "https://patch-diff.githubusercontent.com/raw/rhboot/efivar/pull/133.patch"; + sha256 = "038cwldb8sqnal5l6mhys92cqv8x7j8rgsl8i4fiv9ih9znw26i6"; + }) + (fetchurl { + name = "fix-misaligned-pointer.patch"; + url = "https://github.com/rhboot/efivar/commit/b98ba8921010d03f46704a476c69861515deb1ca.patch"; + sha256 = "0ni9mz7y40a2wf1d1q5n9y5dhcbydxvfdhqic7zsmgnaxs3a0p27"; + }) + (fetchurl { + name = "fix-gcc9-error.patch"; + url = "https://github.com/rhboot/efivar/commit/c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch"; + sha256 = "0lc38npydp069nlcga25wzzm204ww9l6mpjfn6wmhdfhn0pgjwky"; + }) + (fetchurl { + name = "remove_unused_variable.patch"; + url = "https://github.com/rhboot/efivar/commit/fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch"; + sha256 = "1xhy8v8ff9lyxb830n9hci2fbh7rfps6rwsqrjh4lw7316gwllsd"; + }) + (fetchurl { + name = "check_string_termination.patch"; + url = "https://github.com/rhboot/efivar/commit/4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch"; + sha256 = "1ajj11wwsvamfspq4naanvw08h63gr0g71q0dfbrrywrhc0jlmdw"; + }) + ]; + # We have no LTO here since commit 22284b07. + postPatch = if stdenv.isi686 then "sed '/^OPTIMIZE /s/-flto//' -i Make.defaults" else null; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ popt ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + makeFlags = [ + "prefix=$(out)" + "libdir=$(out)/lib" + "bindir=$(bin)/bin" + "mandir=$(man)/share/man" + "includedir=$(dev)/include" + "PCDIR=$(dev)/lib/pkgconfig" + ]; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "Tools and library to manipulate EFI variables"; + platforms = platforms.linux; + license = licenses.lgpl21; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/envconsul/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/envconsul/default.nix new file mode 100644 index 000000000000..09175f14609f --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/envconsul/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "envconsul"; + version = "0.7.3"; + rev = "v${version}"; + + goPackagePath = "github.com/hashicorp/envconsul"; + + src = fetchFromGitHub { + inherit rev; + owner = "hashicorp"; + repo = "envconsul"; + sha256 = "03cgxkyyynr067dg5b0lhvaxn60318fj9fh55p1n43vj5nrzgnbc"; + }; + + meta = with stdenv.lib; { + homepage = "https://github.com/hashicorp/envconsul/"; + description = "Read and set environmental variables for processes from Consul"; + platforms = platforms.linux ++ platforms.darwin; + license = licenses.mpl20; + maintainers = with maintainers; [ pradeepchhetri ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/evemu/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/evemu/default.nix new file mode 100644 index 000000000000..02f92a198909 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/evemu/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchgit, autoreconfHook, pkgconfig, pythonPackages +, libevdev +}: + +stdenv.mkDerivation rec { + pname = "evemu"; + version = "2.6.0"; + + # We could have downloaded a release tarball from cgit, but it changes hash + # each time it is downloaded :/ + src = fetchgit { + url = "git://git.freedesktop.org/git/evemu"; + rev = "refs/tags/v${version}"; + sha256 = "1m38fxwy2s82vb2qm9aqxinws12akmqqq7q66is931lc3awqkbah"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + + buildInputs = [ pythonPackages.python pythonPackages.evdev libevdev ]; + + meta = with stdenv.lib; { + description = "Records and replays device descriptions and events to emulate input devices through the kernel's input system"; + homepage = "https://www.freedesktop.org/wiki/Evemu/"; + repositories.git = "git://git.freedesktop.org/git/evemu"; + license = licenses.gpl2; + maintainers = [ maintainers.amorsillo ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/facter/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/facter/default.nix new file mode 100644 index 000000000000..2a101bba8865 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/facter/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, boost, cmake, cpp-hocon, curl, leatherman, libwhereami, libyamlcpp, openssl, ruby, util-linux }: + +stdenv.mkDerivation rec { + pname = "facter"; + version = "3.14.14"; + + src = fetchFromGitHub { + sha256 = "07pfa11i3nn2dk5g3c1qj3g7d2s8gd2fr0lmfijndaqxm7gjrn1a"; + rev = version; + repo = pname; + owner = "puppetlabs"; + }; + + CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isGNU "-fpermissive -Wno-error=catch-value"; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lblkid"; + + cmakeFlags = [ + "-DFACTER_RUBY=${ruby}/lib/libruby${stdenv.hostPlatform.extensions.sharedLibrary}" + "-DRUBY_LIB_INSTALL=${placeholder "out"}/lib/ruby" + ]; + + NIX_CFLAGS_COMPILE = "-Wno-error"; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ boost cpp-hocon curl leatherman libwhereami libyamlcpp openssl ruby util-linux ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "https://github.com/puppetlabs/facter"; + description = "A system inventory tool"; + license = licenses.asl20; + maintainers = [ maintainers.womfoo ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fakechroot/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fakechroot/default.nix new file mode 100644 index 000000000000..fc74644ab032 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fakechroot/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, perl }: + +stdenv.mkDerivation rec { + pname = "fakechroot"; + version = "2.20.1"; + + src = fetchFromGitHub { + owner = "dex4er"; + repo = pname; + rev = version; + sha256 = "0xgnwazrmrg4gm30xjxdn6sx3lhqvxahrh6gmy3yfswxc30pmg86"; + }; + + # Use patch from https://github.com/dex4er/fakechroot/pull/46 , remove once merged! + # Courtesy of one of our own, @copumpkin! + patches = [ + (fetchpatch { + url = "https://github.com/dex4er/fakechroot/pull/46/commits/dcc0cfe3941e328538f9e62b2c0b15430d393ec1.patch"; + sha256 = "1mk8j2njd94s7vf2wggi08xxxzx8dxrvdricl9cbspvkyp715w2m"; + # Don't bother trying to reconcile conflicts for NEWS entries, as they will continue to occur + # and are uninteresting as well as unimportant for our purposes (since NEWS never leaves the build env). + excludes = [ "NEWS.md" ]; + }) + ]; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ perl ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/dex4er/fakechroot"; + description = "Give a fake chroot environment through LD_PRELOAD"; + license = licenses.lgpl21; + maintainers = with maintainers; [offline]; + platforms = platforms.linux; + }; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/default.nix new file mode 100644 index 000000000000..c5765609a278 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, fetchpatch, getopt, libcap, gnused }: + +stdenv.mkDerivation rec { + version = "1.23"; + pname = "fakeroot"; + + src = fetchurl { + url = "http://http.debian.net/debian/pool/main/f/fakeroot/fakeroot_${version}.orig.tar.xz"; + sha256 = "1xpl0s2yjyjwlf832b6kbkaa5921liybaar13k7n45ckd9lxd700"; + }; + + patches = stdenv.lib.optional stdenv.isLinux ./einval.patch + # patchset from brew + ++ stdenv.lib.optionals stdenv.isDarwin [ + (fetchpatch { + name = "0001-Implement-openat-2-wrapper-which-handles-optional-ar.patch"; + url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=0001-Implement-openat-2-wrapper-which-handles-optional-ar.patch;att=1;bug=766649"; + sha256 = "1m6ggrqwqy0in264sxqk912vniipiw629dxq7kibakvsswfk6bkk"; + }) + (fetchpatch { + name = "0002-OS-X-10.10-introduced-id_t-int-in-gs-etpriority.patch"; + url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=0002-OS-X-10.10-introduced-id_t-int-in-gs-etpriority.patch;att=2;bug=766649"; + sha256 = "0rhayp42x4i1a6yc4d28kpshmf7lrmaprq64zfrjpdn4kbs0rkln"; + }) + (fetchpatch { + name = "fakeroot-always-pass-mode.patch"; + url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=2;bug=766649;filename=fakeroot-always-pass-mode.patch;msg=20"; + sha256 = "0i3zaca1v449dm9m1cq6wq4dy6hc2y04l05m9gg8d4y4swld637p"; + }) + ]; + + buildInputs = [ getopt gnused ] + ++ stdenv.lib.optional (!stdenv.isDarwin) libcap + ; + + postUnpack = '' + sed -i -e "s@getopt@$(type -p getopt)@g" -e "s@sed@$(type -p sed)@g" ${pname}-${version}/scripts/fakeroot.in + ''; + + meta = { + homepage = "https://salsa.debian.org/clint/fakeroot"; + description = "Give a fake root environment through LD_PRELOAD"; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = stdenv.lib.platforms.unix; + }; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/einval.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/einval.patch new file mode 100644 index 000000000000..f8d4fb83d137 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fakeroot/einval.patch @@ -0,0 +1,47 @@ +Ignore EINVAL errors. This matters within user namespaces. + +See: +https://github.com/NixOS/nixpkgs/issues/25901 +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802612 +https://github.com/NixOS/nixpkgs/issues/10496 + +diff --git a/libfakeroot.c b/libfakeroot.c +index 68a95fb..70da8bc 100644 +--- a/libfakeroot.c ++++ b/libfakeroot.c +@@ -792,7 +792,7 @@ int chown(const char *path, uid_t owner, gid_t group){ + r=next_lchown(path,owner,group); + else + r=0; +- if(r&&(errno==EPERM)) ++ if(r&&(errno==EPERM||errno==EINVAL)) + r=0; + + return r; +@@ -819,7 +819,7 @@ int lchown(const char *path, uid_t owner, gid_t group){ + r=next_lchown(path,owner,group); + else + r=0; +- if(r&&(errno==EPERM)) ++ if(r&&(errno==EPERM||errno==EINVAL)) + r=0; + + return r; +@@ -843,7 +843,7 @@ int fchown(int fd, uid_t owner, gid_t group){ + else + r=0; + +- if(r&&(errno==EPERM)) ++ if(r&&(errno==EPERM||errno==EINVAL)) + r=0; + + return r; +@@ -870,7 +870,7 @@ int fchownat(int dir_fd, const char *path, uid_t owner, gid_t group, int flags) + else + r=0; + +- if(r&&(errno==EPERM)) ++ if(r&&(errno==EPERM||errno==EINVAL)) + r=0; + + return r; diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/default.nix new file mode 100644 index 000000000000..59daac89bd44 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/default.nix @@ -0,0 +1,61 @@ +# restart using 'killall -TERM fcron; fcron -b +# use convert-fcrontab to update fcrontab files + +{ stdenv, fetchurl, perl, busybox, vim }: + +stdenv.mkDerivation rec { + pname = "fcron"; + version = "3.3.0"; + + src = fetchurl { + url = "http://fcron.free.fr/archives/${pname}-${version}.src.tar.gz"; + sha256 = "0q5b1fdq1rpsd4lj7v717x47pmn62hhm13394g0yxqi614xd7sls"; + }; + + buildInputs = [ perl ]; + + patches = [ ./relative-fcronsighup.patch ]; + + configureFlags = + [ "--with-sendmail=${busybox}/sbin/sendmail" + "--with-editor=${vim}/bin/vi" # TODO customizable + "--with-bootinstall=no" + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-rootname=root" + "--with-rootgroup=root" + "--disable-checks" + ]; + + installTargets = [ "install-staged" ]; # install does also try to change permissions of /etc/* files + + # fcron tries to install pid into system directory on install + installFlags = [ + "ETC=." + "PIDDIR=." + "PIDFILE=fcron.pid" + "REBOOT_LOCK=fcron.reboot" + "FIFODIR=." + "FIFOFILE=fcron.fifo" + "FCRONTABS=." + ]; + + preConfigure = '' + sed -i 's@/usr/bin/env perl@${perl}/bin/perl@g' configure script/* + # Don't let fcron create the group fcron, nix(os) should do this + sed -i '2s@.*@exit 0@' script/user-group + + # --with-bootinstall=no shoud do this, didn't work. So just exit the script before doing anything + sed -i '2s@.*@exit 0@' script/boot-install + + # also don't use chown or chgrp for documentation (or whatever) when installing + find -type f | xargs sed -i -e 's@^\(\s\)*chown@\1:@' -e 's@^\(\s\)*chgrp@\1:@' + ''; + + meta = with stdenv.lib; { + description="A command scheduler with extended capabilities over cron and anacron"; + homepage = "http://fcron.free.fr"; + license = licenses.gpl2; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/relative-fcronsighup.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/relative-fcronsighup.patch new file mode 100644 index 000000000000..c0bbfc1ee3ef --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fcron/relative-fcronsighup.patch @@ -0,0 +1,16 @@ +Use relative fcronsighup to prefer setuid executable over package binary. +--- fcron-3.2.1.orig/fcrontab.c 2016-06-26 17:02:48.000000000 +0200 ++++ fcron-3.2.1/fcrontab.c 2017-03-05 21:54:24.676871335 +0100 +@@ -154,10 +154,10 @@ + fcrontab_gid); + exit(ERR); + } +- execl(BINDIREX "/fcronsighup", BINDIREX "/fcronsighup", fcronconf, ++ execlp("fcronsighup", "fcronsighup", fcronconf, + NULL); + +- error_e("Could not exec " BINDIREX " fcronsighup"); ++ error_e("Could not exec fcronsighup"); + exit(ERR); + break; + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fdisk/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fdisk/default.nix new file mode 100644 index 000000000000..423b00bd5439 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fdisk/default.nix @@ -0,0 +1,29 @@ +{ fetchurl, stdenv, parted, libuuid, gettext, guile }: + +stdenv.mkDerivation rec { + name = "gnufdisk-2.0.0a"; # .0a1 seems broken, see https://lists.gnu.org/archive/html/bug-fdisk/2012-09/msg00000.html + + src = fetchurl { + url = "mirror://gnu/fdisk/${name}.tar.gz"; + sha256 = "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"; + }; + + buildInputs = [ parted libuuid gettext guile ]; + + doCheck = true; + + meta = { + description = "A command-line disk partitioning tool"; + + longDescription = '' + GNU fdisk provides alternatives to util-linux fdisk and util-linux + cfdisk. It uses GNU Parted. + ''; + + license = stdenv.lib.licenses.gpl3Plus; + + homepage = "https://www.gnu.org/software/fdisk/"; + + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/fio/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/fio/default.nix new file mode 100644 index 000000000000..e0dc69de0e43 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/fio/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchFromGitHub, makeWrapper +, libaio, python, zlib +, withGnuplot ? false, gnuplot ? null }: + +stdenv.mkDerivation rec { + pname = "fio"; + version = "3.25"; + + src = fetchFromGitHub { + owner = "axboe"; + repo = "fio"; + rev = "fio-${version}"; + sha256 = "1f20ihynwnz8jqqlr73i5glr8ziplz4mmcjgk340mj2yqqcnsqag"; + }; + + buildInputs = [ python zlib ] + ++ stdenv.lib.optional (!stdenv.isDarwin) libaio; + + nativeBuildInputs = [ makeWrapper ]; + + enableParallelBuilding = true; + + postPatch = '' + substituteInPlace Makefile \ + --replace "mandir = /usr/share/man" "mandir = \$(prefix)/man" \ + --replace "sharedir = /usr/share/fio" "sharedir = \$(prefix)/share/fio" + substituteInPlace tools/plot/fio2gnuplot --replace /usr/share/fio $out/share/fio + ''; + + postInstall = stdenv.lib.optionalString withGnuplot '' + wrapProgram $out/bin/fio2gnuplot \ + --prefix PATH : ${stdenv.lib.makeBinPath [ gnuplot ]} + ''; + + meta = with stdenv.lib; { + description = "Flexible IO Tester - an IO benchmark tool"; + homepage = "https://git.kernel.dk/cgit/fio/"; + license = licenses.gpl2; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile new file mode 100644 index 000000000000..e25e6d790fc0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "foreman" diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile.lock new file mode 100644 index 000000000000..a2a7824f7aa8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + foreman (0.78.0) + thor (~> 0.19.1) + thor (0.19.1) + +PLATFORMS + ruby + +DEPENDENCIES + foreman + +BUNDLED WITH + 2.1.4 diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/default.nix new file mode 100644 index 000000000000..ce2f20176290 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/default.nix @@ -0,0 +1,15 @@ +{ bundlerEnv, lib, ruby }: + +bundlerEnv { + inherit ruby; + pname = "foreman"; + gemdir = ./.; + + meta = with lib; { + description = "Process manager for applications with multiple components"; + homepage = "https://github.com/ddollar/foreman"; + license = licenses.mit; + maintainers = with maintainers; [ zimbatm ]; + platforms = ruby.meta.platforms; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/gemset.nix new file mode 100644 index 000000000000..b35bd15c9749 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foreman/gemset.nix @@ -0,0 +1,18 @@ +{ + thor = { + version = "0.19.1"; + source = { + type = "gem"; + remotes = ["https://rubygems.org"]; + sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; + }; + }; + foreman = { + version = "0.78.0"; + source = { + type = "gem"; + remotes = ["https://rubygems.org"]; + sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq"; + }; + }; +}
\ No newline at end of file diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/default.nix new file mode 100644 index 000000000000..96c54513ef1b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "foremost"; + version = "1.5.7"; + + src = fetchurl { + sha256 = "0d2zxw0ijg8cd3ksgm8cf8jg128zr5x7z779jar90g9f47pm882h"; + url = "http://foremost.sourceforge.net/pkg/${pname}-${version}.tar.gz"; + }; + + patches = [ ./makefile.patch ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + enableParallelBuilding = true; + + hardeningDisable = [ "format" ]; + + preInstall = '' + mkdir -p $out/{bin,share/man/man8} + ''; + + meta = with stdenv.lib; { + description = "Recover files based on their contents"; + longDescription = '' + Foremost is a console program to recover files based on their headers, + footers, and internal data structures. Foremost can work on image files, such + as those generated by dd, Safeback, Encase, etc, or directly on a drive. + The headers and footers can be specified by a configuration file or you can + use command line switches to specify built-in file types. These built-in types + look at the data structures of a given file format allowing for a more + reliable and faster recovery. + ''; + homepage = "http://foremost.sourceforge.net/"; + license = licenses.publicDomain; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/makefile.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/makefile.patch new file mode 100644 index 000000000000..6626c9520ec1 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/foremost/makefile.patch @@ -0,0 +1,23 @@ +--- a/Makefile 2015-04-21 00:40:46.949266581 +0200 ++++ b/Makefile 2015-04-21 00:41:38.637165883 +0200 +@@ -24,9 +24,9 @@ + RAW_FLAGS += -DVERSION=\"$(VERSION)\" + + # Where we get installed +-BIN = /usr/local/bin +-MAN = /usr/share/man/man8 +-CONF= /usr/local/etc ++BIN = $(PREFIX)/bin ++MAN = $(PREFIX)/share/man/man8 ++CONF= $(PREFIX)/etc + # Setup for compiling and cross-compiling for Windows + # The CR_ prefix refers to cross compiling from OSX to Windows + CR_CC = $(CR_BASE)/gcc +@@ -120,7 +120,6 @@ + install: goals + install -m 755 $(NAME) $(BIN) + install -m 444 $(MAN_PAGES) $(MAN) +- install -m 444 foremost.conf $(CONF) + macinstall: BIN = /usr/local/bin/ + macinstall: MAN = /usr/share/man/man1/ + macinstall: CONF = /usr/local/etc/ diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/freeipmi/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/freeipmi/default.nix new file mode 100644 index 000000000000..76654d145399 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/freeipmi/default.nix @@ -0,0 +1,44 @@ +{ fetchurl, stdenv, libgcrypt, readline, libgpgerror }: + +stdenv.mkDerivation rec { + version = "1.6.6"; + pname = "freeipmi"; + + src = fetchurl { + url = "mirror://gnu/freeipmi/${pname}-${version}.tar.gz"; + sha256 = "1ava5s0babfwx6dqi87phzyzjjgyah7avhljrxrjwn2cniwh38yg"; + }; + + buildInputs = [ libgcrypt readline libgpgerror ]; + + doCheck = true; + + meta = { + description = "Implementation of the Intelligent Platform Management Interface"; + + longDescription = + '' GNU FreeIPMI provides in-band and out-of-band IPMI software based on + the IPMI v1.5/2.0 specification. The IPMI specification defines a + set of interfaces for platform management and is implemented by a + number vendors for system management. The features of IPMI that + most users will be interested in are sensor monitoring, system event + monitoring, power control, and serial-over-LAN (SOL). The FreeIPMI + tools and libraries listed below should provide users with the + ability to access and utilize these and many other features. A + number of useful features for large HPC or cluster environments have + also been implemented into FreeIPMI. See the README or FAQ for more + info. + ''; + + homepage = "https://www.gnu.org/software/freeipmi/"; + downloadPage = "https://www.gnu.org/software/freeipmi/download.html"; + + license = stdenv.lib.licenses.gpl3Plus; + + maintainers = with stdenv.lib.maintainers; [ raskin ]; + platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice + + updateWalker = true; + inherit version; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/default.nix new file mode 100644 index 000000000000..6fdfd6e71909 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, gtk2, pkgconfig, libxml2, intltool, gettext }: + +stdenv.mkDerivation rec { + name = "gdmap-0.8.1"; + + src = fetchurl { + url = "mirror://sourceforge/gdmap/${name}.tar.gz"; + sha256 = "0nr8l88cg19zj585hczj8v73yh21k7j13xivhlzl8jdk0j0cj052"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ gtk2 libxml2 intltool gettext ]; + + patches = [ ./get_sensitive.patch ./set_flags.patch ]; + + hardeningDisable = [ "format" ]; + + NIX_LDFLAGS = "-lm"; + + meta = with stdenv.lib; { + homepage = "http://gdmap.sourceforge.net"; + description = "Recursive rectangle map of disk usage"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/get_sensitive.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/get_sensitive.patch new file mode 100644 index 000000000000..3cdb6291dfac --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/get_sensitive.patch @@ -0,0 +1,34 @@ +From 166de50914191303b232ec123cfbaadad521560c Mon Sep 17 00:00:00 2001 +From: Alexander Myltsev <avm@altlinux.ru> +Date: Wed, 21 Apr 2010 22:43:14 +0400 +Subject: [PATCH] GTK_WIDGET_SENSITIVE -> gtk_widget_get_sensitive + +--- + gdmap/src/gui_support.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/gui_support.c b/src/gui_support.c +index 3027e29..45272d3 100644 +--- a/src/gui_support.c ++++ b/src/gui_support.c +@@ -85,7 +85,7 @@ on_ebox_enter(GtkWidget* box, GdkEventCrossing* event, GtkLabel* label) { + const char* text; + + (void)event; +- if (GTK_WIDGET_SENSITIVE(label)) { ++ if (gtk_widget_get_sensitive(GTK_WIDGET(label))) { + char* temp; + + text = g_object_get_data(G_OBJECT(label), "label"); +@@ -129,7 +129,7 @@ static void on_clear_label(GtkWidget* widget) { + void ui_event_label_set_sensitive(GtkWidget* ebox, gboolean set) { + gpointer callback = g_object_get_data(G_OBJECT(ebox), "callback"); + GtkWidget* child = GTK_BIN(ebox)->child; +- if (GTK_WIDGET_SENSITIVE(child) == set) return; ++ if (gtk_widget_get_sensitive(child) == set) return; + + if (set && !callback) return; + gtk_widget_set_sensitive(child, set); +-- +1.7.3.3 + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/set_flags.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/set_flags.patch new file mode 100644 index 000000000000..388836f6e5f4 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gdmap/set_flags.patch @@ -0,0 +1,25 @@ +From 9a5537d2b0aba18438dd77a45354ac2e73eae23d Mon Sep 17 00:00:00 2001 +From: Alexander Myltsev <avm@altlinux.ru> +Date: Mon, 13 Dec 2010 23:24:30 +0300 +Subject: [PATCH] GTK_WIDGET_SET_FLAGS -> gtk_widget_set_can_focus + +--- + gdmap/src/gui_support.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/gui_support.c b/src/gui_support.c +index 45272d3..ca02d72 100644 +--- a/src/gui_support.c ++++ b/src/gui_support.c +@@ -164,7 +164,7 @@ GtkWidget* ui_create_event_label(const char* text, GCallback callback, + // GDK_FOCUS_CHANGE_MASK | + GDK_ENTER_NOTIFY_MASK | + GDK_LEAVE_NOTIFY_MASK); +- GTK_WIDGET_SET_FLAGS(ebox, GTK_CAN_FOCUS); ++ gtk_widget_set_can_focus(ebox, TRUE); + + gtk_widget_show(ebox); + +-- +1.7.3.3 + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/default.nix new file mode 100644 index 000000000000..48c68f8d2f2c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/default.nix @@ -0,0 +1,32 @@ +{ lib, buildGoPackage, fetchgit }: + +buildGoPackage rec { + pname = "gohai"; + version = "2018-05-23"; + rev = "60e13eaed98afa238ad6dfc98224c04fbb7b19b1"; + + goPackagePath = "github.com/DataDog/gohai"; + + src = fetchgit { + inherit rev; + url = "https://github.com/DataDog/gohai"; + sha256 = "15hdw195f6ayrmj1nbyfpfswdai1r1z3qjw927mbma7rwql24dkr"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "System information collector"; + homepage = "https://github.com/DataDog/gohai"; + license = licenses.mit; + maintainers = [ maintainers.tazjin ]; + platforms = platforms.unix; + repositories.git = "git://github.com/DataDog/gohai.git"; + + longDescription = '' + Gohai is a tool which collects an inventory of system + information. It is used by the Datadog agent to provide detailed + system metrics. + ''; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/deps.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/deps.nix new file mode 100644 index 000000000000..f6d63e460246 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gohai/deps.nix @@ -0,0 +1,30 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +[ + { + goPackagePath = "github.com/cihub/seelog"; + fetch = { + type = "git"; + url = "https://github.com/cihub/seelog"; + rev = "f561c5e57575bb1e0a2167028b7339b3a8d16fb4"; + sha256 = "0r3228hvgljgpaggj6b9mvxfsizfw25q2c1761wsvcif8gz49cvl"; + }; + } + { + goPackagePath = "github.com/shirou/gopsutil"; + fetch = { + type = "git"; + url = "https://github.com/shirou/gopsutil"; + rev = "eeb1d38d69593f121e060d24d17f7b1f0936b203"; + sha256 = "01qsznk599225gf4pld7p2m30p61y77mvzhrs6raxpk6wf7icp4w"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "77b0e4315053a57ed2962443614bdb28db152054"; + sha256 = "1024gcv1b40i2rgvpgyw2hgy1k5g7473pn29yavwysj37m1rrplp"; + }; + } +] diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/goreman/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/goreman/default.nix new file mode 100644 index 000000000000..22918f14145c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/goreman/default.nix @@ -0,0 +1,23 @@ +{ lib, buildGoPackage, fetchFromGitHub }: +buildGoPackage rec { + pname = "goreman"; + version = "0.2.1"; + + goPackagePath = "github.com/mattn/goreman"; + subPackages = ["."]; + + src = fetchFromGitHub { + owner = "mattn"; + repo = "goreman"; + rev = "v${version}"; + sha256 = "1h7ip788j7bkygahpp7ylgnrx9jrbhwjzqpjhd1pflmlaxcbflcy"; + }; + + meta = with lib; { + description = "foreman clone written in go language"; + homepage = "https://github.com/mattn/goreman"; + license = licenses.mit; + maintainers = with maintainers; [ zimbatm ]; + }; +} + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gotop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gotop/default.nix new file mode 100644 index 000000000000..f5d7ff4759e7 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gotop/default.nix @@ -0,0 +1,28 @@ +{ stdenv, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "gotop"; + version = "4.0.1"; + + src = fetchFromGitHub { + owner = "xxxserxxx"; + repo = pname; + rev = "v${version}"; + sha256 = "10qfzmq1wdgpvv319khzicalix1x4fqava0wry3bzz84k5c9dabs"; + }; + + runVend = true; + vendorSha256 = "09vdhdgj74ifdhl6rmxddkvk7ls26jn8gswzcxf9389zkjzi7822"; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + meta = with stdenv.lib; { + description = "A terminal based graphical activity monitor inspired by gtop and vtop"; + homepage = "https://github.com/xxxserxxx/gotop"; + license = licenses.agpl3; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gptfdisk/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gptfdisk/default.nix new file mode 100644 index 000000000000..613f63c3f044 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gptfdisk/default.nix @@ -0,0 +1,46 @@ +{ fetchurl, stdenv, libuuid, popt, icu, ncurses }: + +stdenv.mkDerivation rec { + pname = "gptfdisk"; + version = "1.0.5"; + + src = fetchurl { + # https://www.rodsbooks.com/gdisk/${name}.tar.gz also works, but the home + # page clearly implies a preference for using SourceForge's bandwidth: + url = "mirror://sourceforge/gptfdisk/${pname}-${version}.tar.gz"; + sha256 = "0bybgp30pqxb6x5krxazkq4drca0gz4inxj89fpyr204rn3kjz8f"; + }; + + postPatch = '' + patchShebangs gdisk_test.sh + '' + stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace Makefile.mac --replace \ + "-mmacosx-version-min=10.4" "-mmacosx-version-min=10.6" + substituteInPlace Makefile.mac --replace \ + " -arch i386" "" + substituteInPlace Makefile.mac --replace \ + " -I/opt/local/include -I /usr/local/include -I/opt/local/include" "" + substituteInPlace Makefile.mac --replace \ + "/opt/local/lib/libncurses.a" "${ncurses.out}/lib/libncurses.dylib" + ''; + + buildPhase = stdenv.lib.optionalString stdenv.isDarwin "make -f Makefile.mac"; + buildInputs = [ libuuid popt icu ncurses ]; + + installPhase = '' + mkdir -p $out/sbin + mkdir -p $out/share/man/man8 + for prog in gdisk sgdisk fixparts cgdisk + do + install -v -m755 $prog $out/sbin + install -v -m644 $prog.8 $out/share/man/man8 + done + ''; + + meta = with stdenv.lib; { + description = "Set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks"; + license = licenses.gpl2; + homepage = "https://www.rodsbooks.com/gdisk/"; + platforms = platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/gt5/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/gt5/default.nix new file mode 100644 index 000000000000..61d25f414bbd --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/gt5/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "gt5-1.4.0"; + + src = fetchurl { + url = "mirror://sourceforge/gt5/${name}.tar.gz"; + sha256 = "0gm0gzyp4d9rxqddbaskbz5zvmlhyr4nyb5x9g7x4abyyxqjlnkq"; + }; + + patchPhase = '' + sed 's/-o root -g root//' -i Makefile + ''; + + preConfigure = '' + makeFlags="$makeFlags PREFIX=$out" + ''; + + meta = { + description = "A diff-capable 'du' browser"; + homepage = "http://gt5.sourceforge.net/"; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hardinfo/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hardinfo/default.nix new file mode 100644 index 000000000000..fd8fb08cf293 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hardinfo/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, which, pkgconfig, gtk2, pcre, glib, libxml2 +, libsoup ? null +}: + +stdenv.mkDerivation rec { + pname = "hardinfo"; + version = "0.5.1"; + + src = fetchurl { + url = "mirror://sourceforge/project/hardinfo.berlios/hardinfo-${version}.tar.bz2"; + sha256 = "0yhvfc5icam3i4mphlz0m9d9d2irjw8mbsxq203x59wjgh6nrpx0"; + }; + + # Not adding 'hostname' command, the build shouldn't depend on what the build + # host is called. + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ which gtk2 pcre glib libxml2 libsoup ]; + + # Fixes '#error You must compile this program without "-O"' + hardeningDisable = [ "all" ]; + + # Ignore undefined references to a bunch of libsoup symbols + NIX_LDFLAGS = "--unresolved-symbol=ignore-all"; + + preConfigure = '' + patchShebangs configure + + # -std=gnu89 fixes build error, copied from + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757525 + sed -i -e "s/^CFLAGS = \(.*\)/CFLAGS = \1 -std=gnu89/" Makefile.in + + substituteInPlace ./arch/linux/common/modules.h --replace /sbin/modinfo modinfo + substituteInPlace ./arch/linux/common/os.h --replace /lib/libc.so.6 ${stdenv.glibc.out}/lib/libc.so.6 + ''; + + # Makefile supports DESTDIR but not PREFIX (it hardcodes $DESTDIR/usr/). + installFlags = [ "DESTDIR=$(out)" ]; + postInstall = '' + mv "$out/usr/"* "$out" + rmdir "$out/usr" + ''; + + meta = with stdenv.lib; { + homepage = "http://hardinfo.org/"; + description = "Display information about your hardware and operating system"; + license = licenses.gpl2; + maintainers = with maintainers; [ bjornfor ]; + platforms = [ "x86_64-linux" "i686-linux" ]; # ARMv7 and AArch64 are unsupported + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hardlink/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hardlink/default.nix new file mode 100644 index 000000000000..c0c6aa72d3ba --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hardlink/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, pcre2 }: + + +stdenv.mkDerivation { + pname = "hardlink"; + version = "1.3-4"; + + src = fetchurl { + url = "https://src.fedoraproject.org/cgit/rpms/hardlink.git/snapshot/hardlink-aa6325ac4e8100b8ac7d38c7f0bc2708e69bd855.tar.xz"; + sha256 = "0g4hyrnd9hpykbf06qvvp3s4yyk7flbd95gilkf7r3w9vqiagvs2"; + }; + + buildInputs = [ pcre2 ]; + NIX_CFLAGS_LINK = "-lpcre2-8"; + + buildPhase = '' + $CC -O2 hardlink.c -o hardlink $NIX_CFLAGS_LINK + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/man/man1 + cp -f hardlink $out/bin/hardlink + cp -f hardlink.1 $out/share/man/man1/hardlink.1 + ''; + + meta = with stdenv.lib; { + description = "Consolidate duplicate files via hardlinks"; + homepage = "https://pagure.io/hardlink"; + repositories.git = "https://src.fedoraproject.org/cgit/rpms/hardlink.git"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile new file mode 100644 index 000000000000..2c2e8f27e403 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'hiera-eyaml' diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile.lock new file mode 100644 index 000000000000..918df753a382 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/Gemfile.lock @@ -0,0 +1,17 @@ +GEM + remote: https://rubygems.org/ + specs: + hiera-eyaml (3.0.0) + highline (~> 1.6.19) + optimist + highline (1.6.21) + optimist (3.0.0) + +PLATFORMS + ruby + +DEPENDENCIES + hiera-eyaml + +BUNDLED WITH + 2.1.4 diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix new file mode 100644 index 000000000000..be6fb1c7462a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix @@ -0,0 +1,17 @@ +{ lib, bundlerEnv, ruby, bundlerUpdateScript }: + +bundlerEnv { + inherit ruby; + pname = "hiera-eyaml"; + gemdir = ./.; + + passthru.updateScript = bundlerUpdateScript "hiera-eyaml"; + + meta = with lib; { + description = "Per-value asymmetric encryption of sensitive data for Hiera"; + homepage = "https://github.com/TomPoulton/hiera-eyaml"; + license = licenses.mit; + maintainers = with maintainers; [ benley nicknovitski ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/gemset.nix new file mode 100644 index 000000000000..d5aa722e5fce --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hiera-eyaml/gemset.nix @@ -0,0 +1,31 @@ +{ + hiera-eyaml = { + dependencies = ["highline" "optimist"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "049rxnwyivqgyjl0sjg7cb2q44ic0wsml288caspd1ps8v31gl18"; + type = "gem"; + }; + version = "3.0.0"; + }; + highline = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1"; + type = "gem"; + }; + version = "1.6.21"; + }; + optimist = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j"; + type = "gem"; + }; + version = "3.0.0"; + }; +}
\ No newline at end of file diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/honcho/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/honcho/default.nix new file mode 100644 index 000000000000..eb96c3f46132 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/honcho/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, pythonPackages }: + +let + inherit (pythonPackages) python; + pname = "honcho"; + +in + +pythonPackages.buildPythonApplication rec { + name = "${pname}-${version}"; + version = "1.0.1"; + namePrefix = ""; + + src = fetchFromGitHub { + owner = "nickstenning"; + repo = "honcho"; + rev = "v${version}"; + sha256 = "11bd87474qpif20xdcn0ra1idj5k16ka51i658wfpxwc6nzsn92b"; + }; + + checkInputs = with pythonPackages; [ jinja2 pytest mock coverage ]; + + buildPhase = '' + ${python.interpreter} setup.py build + ''; + + installPhase = '' + mkdir -p "$out/${python.sitePackages}" + + export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH" + + ${python.interpreter} setup.py install \ + --install-lib=$out/${python.sitePackages} \ + --prefix="$out" + ''; + + checkPhase = '' + runHook preCheck + PATH=$out/bin:$PATH coverage run -m pytest + runHook postCheck + ''; + + meta = with stdenv.lib; { + description = "A Python clone of Foreman, a tool for managing Procfile-based applications"; + license = licenses.mit; + homepage = "https://github.com/nickstenning/honcho"; + maintainers = with maintainers; [ benley ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hostctl/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hostctl/default.nix new file mode 100644 index 000000000000..6f557e05cd12 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hostctl/default.nix @@ -0,0 +1,36 @@ +{ buildGoModule, fetchFromGitHub, lib, installShellFiles }: + +buildGoModule rec { + pname = "hostctl"; + version = "1.0.14"; + + src = fetchFromGitHub { + owner = "guumaster"; + repo = pname; + rev = "v${version}"; + sha256 = "02bjii97l4fy43v2rb93m9b0ad8y6mjvbvp4sz6a5n0w9dm1z1q9"; + }; + + vendorSha256 = "1lqk3cda0frqp2vwkqa4b3xkdw814wgkbr7g9r2mwxn85fpdcq5c"; + + buildFlagsArray = [ "-ldflags=-s -w -X github.com/guumaster/hostctl/cmd/hostctl/actions.version=${version}" ]; + + nativeBuildInputs = [ installShellFiles ]; + postInstall = '' + installShellCompletion --cmd hostctl \ + --bash <($out/bin/hostctl completion bash) \ + --zsh <($out/bin/hostctl completion zsh) + ''; + + meta = with lib; { + description = "Your dev tool to manage /etc/hosts like a pro!"; + longDescription = '' + This tool gives you more control over the use of your hosts file. + You can have multiple profiles and switch them on/off as you need. + ''; + homepage = "https://guumaster.github.io/hostctl/"; + license = licenses.mit; + maintainers = with maintainers; [ blaggacao ]; + }; +} + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/htop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/htop/default.nix new file mode 100644 index 000000000000..29f361195d5a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/htop/default.nix @@ -0,0 +1,28 @@ +{ lib, fetchFromGitHub, stdenv, autoreconfHook +, ncurses, IOKit +}: + +stdenv.mkDerivation rec { + pname = "htop"; + version = "3.0.2"; + + src = fetchFromGitHub { + owner = "htop-dev"; + repo = pname; + rev = version; + sha256 = "1qmqhbnc5yw4brd24yrp85k09770c1c00nl03mkv5pdz2bvqivk7"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + buildInputs = [ ncurses + ] ++ lib.optionals stdenv.isDarwin [ IOKit ]; + + meta = with stdenv.lib; { + description = "An interactive process viewer for Linux"; + homepage = "https://htop.dev"; + license = licenses.gpl2Only; + platforms = with platforms; linux ++ freebsd ++ openbsd ++ darwin; + maintainers = with maintainers; [ rob relrod ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/hwinfo/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/hwinfo/default.nix new file mode 100644 index 000000000000..7a212f5bbeeb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/hwinfo/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, libx86emu, flex, perl, libuuid }: + +stdenv.mkDerivation rec { + pname = "hwinfo"; + version = "21.71"; + + src = fetchFromGitHub { + owner = "opensuse"; + repo = "hwinfo"; + rev = version; + sha256 = "1g671fvkg6r30n9vwwlqpdd6yn6jf7n9ynjmslblk7kbnabzayby"; + }; + + patchPhase = '' + # VERSION and changelog are usually generated using Git + # unless HWINFO_VERSION is defined (see Makefile) + export HWINFO_VERSION="${version}" + sed -i 's|^\(TARGETS\s*=.*\)\<changelog\>\(.*\)$|\1\2|g' Makefile + + substituteInPlace Makefile --replace "/sbin" "/bin" --replace "/usr/" "/" + substituteInPlace src/isdn/cdb/Makefile --replace "lex isdn_cdb.lex" "flex isdn_cdb.lex" + substituteInPlace hwinfo.pc.in --replace "prefix=/usr" "prefix=$out" + ''; + + nativeBuildInputs = [ flex ]; + buildInputs = [ libx86emu perl libuuid ]; + + makeFlags = [ "LIBDIR=/lib" ]; + #enableParallelBuilding = true; + + installFlags = [ "DESTDIR=$(out)" ]; + + meta = with stdenv.lib; { + description = "Hardware detection tool from openSUSE"; + license = licenses.gpl2; + homepage = "https://github.com/openSUSE/hwinfo"; + maintainers = with maintainers; [ bobvanderlinden ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/idle3tools/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/idle3tools/default.nix new file mode 100644 index 000000000000..fa5234d8cbc3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/idle3tools/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "idle3-tools-0.9.1"; + + src = fetchurl { + url = "mirror://sourceforge/idle3-tools/idle3-tools-0.9.1.tgz"; + sha256 = "00ia7xq9yldxyl9gz0mr4xa568nav14p0fnv82f2rbbkg060cy4p"; + }; + + preInstall = '' + installFlags=DESTDIR=$out + ''; + + meta = { + homepage = "http://idle3-tools.sourceforge.net/"; + description = "Tool to get/set the infamous idle3 timer in WD HDDs"; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/illum/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/illum/default.nix new file mode 100644 index 000000000000..41fce9b9b912 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/illum/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchgit, pkgconfig, ninja, libevdev, libev }: + +stdenv.mkDerivation { + version = "0.4"; + pname = "illum"; + + src = fetchgit { + url = "https://github.com/jmesmon/illum.git"; + fetchSubmodules = true; + rev = "48ce8631346b1c88a901a8e4fa5fa7e8ffe8e418"; + sha256 = "05v3hz7n6b1mlhc6zqijblh1vpl0ja1y8y0lafw7mjdz03wxhfdb"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ninja libevdev libev ]; + + configurePhase = '' + bash ./configure + ''; + + installPhase = '' + mkdir -p $out/bin + mv illum-d $out/bin + ''; + + meta = { + homepage = "https://github.com/jmesmon/illum"; + description = "Daemon that wires button presses to screen backlight level"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.dancek ]; + license = stdenv.lib.licenses.agpl3; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default.nix new file mode 100644 index 000000000000..d407982bb673 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, bash }: + +stdenv.mkDerivation rec { + name = "incron-0.5.12"; + src = fetchFromGitHub { + owner = "ar-"; + repo = "incron"; + rev = name; + sha256 = "11d5f98cjafiv9h9zzzrw2s06s2fvdg8gp64km7mdprd2xmy6dih"; + }; + + patches = [ ./default_path.patch ]; + + prePatch = '' + sed -i "s|/bin/bash|${bash}/bin/bash|g" usertable.cpp + ''; + + installFlags = [ "PREFIX=$(out)" ]; + installTargets = [ "install-man" ]; + + preInstall = '' + mkdir -p $out/bin + + # make install doesn't work because setuid and permissions + # just manually install the binaries instead + cp incrond incrontab $out/bin/ + ''; + + meta = with stdenv.lib; { + description = "A cron-like daemon which handles filesystem events"; + homepage = "https://github.com/ar-/incron"; + license = licenses.gpl2; + maintainers = [ maintainers.aanderse ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default_path.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default_path.patch new file mode 100644 index 000000000000..ae173ea29e62 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/incron/default_path.patch @@ -0,0 +1,36 @@ +diff --git usertable.cpp usertable.cpp +index 11fd04b..a8681bd 100644 +--- a/usertable.cpp ++++ b/usertable.cpp +@@ -43,9 +43,6 @@ + #define DONT_FOLLOW(mask) (false) + #endif // IN_DONT_FOLLOW + +-// this is not enough, but... +-#define DEFAULT_PATH "/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin" +- + + PROC_MAP UserTable::s_procMap; + +@@ -597,12 +594,20 @@ void UserTable::RunAsUser(std::string cmd) const + if (clearenv() != 0) + goto failed; + ++ // try to recreate the user path as best as possible ++ std::string DEFAULT_PATH; ++ DEFAULT_PATH += "/run/wrappers/bin:"; ++ DEFAULT_PATH += pwd->pw_dir; ++ DEFAULT_PATH += "/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/etc/profiles/per-user/"; ++ DEFAULT_PATH += pwd->pw_name; ++ DEFAULT_PATH += "/bin"; ++ + if ( setenv("LOGNAME", pwd->pw_name, 1) != 0 + || setenv("USER", pwd->pw_name, 1) != 0 + || setenv("USERNAME", pwd->pw_name, 1) != 0 + || setenv("HOME", pwd->pw_dir, 1) != 0 + || setenv("SHELL", pwd->pw_shell, 1) != 0 +- || setenv("PATH", DEFAULT_PATH, 1) != 0) ++ || setenv("PATH", DEFAULT_PATH.c_str(), 1) != 0) + { + goto failed; + } diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/inxi/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/inxi/default.nix new file mode 100644 index 000000000000..e5747a09f9c5 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/inxi/default.nix @@ -0,0 +1,61 @@ +{ lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper +, ps, dnsutils # dig is recommended for multiple categories +, withRecommends ? false # Install (almost) all recommended tools (see --recommends) +, withRecommendedSystemPrograms ? withRecommends, util-linuxMinimal, dmidecode +, file, hddtemp, iproute, ipmitool, usbutils, kmod, lm_sensors, smartmontools +, binutils, tree, upower +, withRecommendedDisplayInformationPrograms ? withRecommends, glxinfo, xorg +}: + +let + prefixPath = programs: + "--prefix PATH ':' '${stdenv.lib.makeBinPath programs}'"; + recommendedSystemPrograms = lib.optionals withRecommendedSystemPrograms [ + util-linuxMinimal dmidecode file hddtemp iproute ipmitool usbutils kmod + lm_sensors smartmontools binutils tree upower + ]; + recommendedDisplayInformationPrograms = lib.optionals + withRecommendedDisplayInformationPrograms + ([ glxinfo ] ++ (with xorg; [ xdpyinfo xprop xrandr ])); + programs = [ ps dnsutils ] # Core programs + ++ recommendedSystemPrograms + ++ recommendedDisplayInformationPrograms; +in stdenv.mkDerivation rec { + pname = "inxi"; + version = "3.1.09-1"; + + src = fetchFromGitHub { + owner = "smxi"; + repo = "inxi"; + rev = version; + sha256 = "0m6s8kxjppy3jm39is5i1lbrah29cw86rq0vamvx46izbdyf84y5"; + }; + + buildInputs = [ perl makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + cp inxi $out/bin/ + wrapProgram $out/bin/inxi \ + --set PERL5LIB "${perlPackages.makePerlPath (with perlPackages; [ CpanelJSONXS ])}" \ + ${prefixPath programs} + mkdir -p $out/share/man/man1 + cp inxi.1 $out/share/man/man1/ + ''; + + meta = with stdenv.lib; { + description = "A full featured CLI system information tool"; + longDescription = '' + inxi is a command line system information script built for console and + IRC. It is also used a debugging tool for forum technical support to + quickly ascertain users' system configurations and hardware. inxi shows + system hardware, CPU, drivers, Xorg, Desktop, Kernel, gcc version(s), + Processes, RAM usage, and a wide variety of other useful information. + ''; + homepage = "https://smxi.org/docs/inxi.htm"; + changelog = "https://github.com/smxi/inxi/blob/${version}/inxi.changelog"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ primeos ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ioping/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ioping/default.nix new file mode 100644 index 000000000000..7b65739c1a8d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ioping/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, fetchpatch }: + +stdenv.mkDerivation rec { + pname = "ioping"; + version = "1.2"; + + src = fetchFromGitHub { + owner = "koct9i"; + repo = "ioping"; + rev = "v${version}"; + sha256 = "10bv36bqga8sdifxzywzzpjil7vmy62psirz7jbvlsq1bw71aiid"; + }; + + patches = [ + # add netdata support: https://github.com/koct9i/ioping/pull/41 + (fetchpatch { + url = "https://github.com/koct9i/ioping/commit/e7b818457ddb952cbcc13ae732ba0328f6eb73b3.patch"; + sha256 = "122ivp4rqsnjszjfn33z8li6glcjhy7689bgipi8cgs5q55j99gf"; + }) + ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + description = "Disk I/O latency measuring tool"; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.unix; + license = licenses.gpl3Plus; + homepage = "https://github.com/koct9i/ioping"; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/iops/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/iops/default.nix new file mode 100644 index 000000000000..cf34cb115f14 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/iops/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "iops"; + version = "0.1"; + + src = fetchurl { + url = "https://www.vanheusden.com/iops/${pname}-${version}.tgz"; + sha256 = "1knih6dwwiicycp5ml09bj3k8j7air9bng070sfnxwfv786y90bz"; + }; + + installPhase = '' + mkdir -p $out/bin + cp iops $out/bin + ''; + + meta = with stdenv.lib; { + description = "Measure I/O operations per second of a storage device"; + longDescription = '' + Iops lets you measure how many I/O operations per second a storage device can perform. + Usefull for determing e.g. the best RAID-setting of your storage device. + ''; + homepage = "http://www.vanheusden.com/iops/"; + license = licenses.gpl2; + maintainers = with maintainers; [ davidak ]; + platforms = platforms.linux; # build problems on Darwin + }; +} + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ior/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ior/default.nix new file mode 100644 index 000000000000..eff85589a1eb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ior/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, openmpi, perl, autoreconfHook }: + +stdenv.mkDerivation rec { + pname = "ior"; + version = "3.2.1"; + + src = fetchFromGitHub { + owner = "hpc"; + repo = pname; + rev = version; + sha256 = "036cg75c5vq6kijfv8f918vpm9sf1h7lyg6xr9fba7n0dwbbmycv"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ openmpi perl ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "https://ior.readthedocs.io/en/latest/"; + description = "Parallel file system I/O performance test"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ bzizou ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ipmitool/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmitool/default.nix new file mode 100644 index 000000000000..b5da2db67fe8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmitool/default.nix @@ -0,0 +1,50 @@ +{ stdenv, lib, fetchurl, openssl, fetchpatch, static ? false }: + +let + pkgname = "ipmitool"; + version = "1.8.18"; +in +stdenv.mkDerivation { + name = "${pkgname}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/${pkgname}/${pkgname}-${version}.tar.gz"; + sha256 = "0kfh8ny35rvwxwah4yv91a05qwpx74b5slq2lhrh71wz572va93m"; + }; + + patches = [ + (fetchpatch { + url = "https://sources.debian.org/data/main/i/ipmitool/1.8.18-6/debian/patches/0120-openssl1.1.patch"; + sha256 = "1xvsjxb782lzy72bnqqnsk3r5h4zl3na95s4pqn2qg7cic2mnbfk"; + }) + # Fix build on non-linux systems + (fetchpatch { + url = "https://github.com/ipmitool/ipmitool/commit/5db314f694f75c575cd7c9ffe9ee57aaf3a88866.patch"; + sha256 = "01niwrgajhrdhl441gzmw6v1r1yc3i8kn98db4b6smfn5fwdp1pa"; + }) + ]; + + buildInputs = [ openssl ]; + + configureFlags = [ + "--infodir=${placeholder "out"}/share/info" + "--mandir=${placeholder "out"}/share/man" + ] ++ stdenv.lib.optionals static [ + "LDFLAGS=-static" + "--enable-static" + "--disable-shared" + ] ++ stdenv.lib.optionals (!static) [ + "--enable-shared" + ]; + + makeFlags = stdenv.lib.optional static "AM_LDFLAGS=-all-static"; + dontDisableStatic = static; + + meta = with lib; { + description = ''Command-line interface to IPMI-enabled devices''; + license = licenses.bsd3; + homepage = "https://sourceforge.net/projects/ipmitool/"; + platforms = platforms.unix; + maintainers = with maintainers; [ fpletz ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.nix new file mode 100644 index 000000000000..17c28b3cd420 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, openssl }: + +stdenv.mkDerivation rec { + baseName = "ipmiutil"; + version = "3.1.6"; + name = "${baseName}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz"; + sha256 = "0jlfb4firph3hc0854n7cw7yjwlax3wdxn37r2jl0l94dj684548"; + }; + + buildInputs = [ openssl ]; + + preBuild = '' + sed -e "s@/usr@$out@g" -i Makefile */Makefile */*/Makefile + sed -e "s@/etc@$out/etc@g" -i Makefile */Makefile */*/Makefile + sed -e "s@/var@$out/var@g" -i Makefile */Makefile */*/Makefile + ''; + + NIX_CFLAGS_COMPILE = "-fno-stack-protector"; + + meta = with stdenv.lib; { + description = "An easy-to-use IPMI server management utility"; + homepage = "http://ipmiutil.sourceforge.net/"; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.linux; + license = licenses.bsd3; + downloadPage = "https://sourceforge.net/projects/ipmiutil/files/ipmiutil/"; + inherit version; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream new file mode 100644 index 000000000000..45e3a936825a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ipmiutil/default.upstream @@ -0,0 +1,4 @@ +url https://sourceforge.net/projects/ipmiutil/files/ +SF_version_tarball +SF_redirect +minimize_overwrite diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix new file mode 100644 index 000000000000..758942c05494 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl +, jdk +, ant, cunit, ncurses +}: + +stdenv.mkDerivation rec { + pname = "java-service-wrapper"; + version = "3.5.43"; + + src = fetchurl { + url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz"; + sha256 = "19cx3854rk7b2056z8pvxnf4simsg5js7czsy2bys7jl6vh2x02b"; + }; + + buildInputs = [ jdk ]; + nativeBuildInputs = [ ant cunit ncurses ]; + + buildPhase = '' + export ANT_HOME=${ant} + export JAVA_HOME=${jdk}/lib/openjdk/jre/ + export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME + export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar + + ${if stdenv.isi686 then "./build32.sh" else "./build64.sh"} + ''; + + installPhase = '' + mkdir -p $out/{bin,lib} + cp bin/wrapper $out/bin/wrapper + cp lib/wrapper.jar $out/lib/wrapper.jar + cp lib/libwrapper.so $out/lib/libwrapper.so + ''; + + meta = with stdenv.lib; { + description = "Enables a Java Application to be run as a Windows Service or Unix Daemon"; + homepage = "https://wrapper.tanukisoftware.com/"; + license = licenses.gpl2; + platforms = [ "x86_64-linux" "i686-linux" ]; + maintainers = [ maintainers.suhr ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/journalwatch/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/journalwatch/default.nix new file mode 100644 index 000000000000..b41196b85c91 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/journalwatch/default.nix @@ -0,0 +1,39 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder, systemd, pytest }: + +buildPythonPackage rec { + pname = "journalwatch"; + version = "1.1.0"; + disabled = pythonOlder "3.3"; + + src = fetchFromGitHub { + owner = "The-Compiler"; + repo = pname; + rev = "v${version}"; + sha512 = "11g2f1w9lfqw6zxxyg7qrqpb914s6w71j0gnpw7qr7cak2l5jlf2l39dlg30y55rw7jgmf0yg77wwzd0c430mq1n6q1v8w86g1rwkzb"; + }; + + # can be removed post 1.1.0 + postPatch = '' + substituteInPlace test_journalwatch.py \ + --replace "U Thu Jan 1 00:00:00 1970 prio foo [1337]" "U Thu Jan 1 00:00:00 1970 pprio foo [1337]" + ''; + + + doCheck = true; + checkInputs = [ pytest ]; + checkPhase = '' + pytest + ''; + + propagatedBuildInputs = [ + systemd + ]; + + + meta = with stdenv.lib; { + description = "journalwatch is a tool to find error messages in the systemd journal."; + homepage = "https://github.com/The-Compiler/journalwatch"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ florianjacob ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/jump/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/jump/default.nix new file mode 100644 index 000000000000..d91df3232c8a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/jump/default.nix @@ -0,0 +1,41 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + pname = "jump"; + version = "0.30.1"; + + src = fetchFromGitHub { + owner = "gsamokovarov"; + repo = pname; + rev = "v${version}"; + sha256 = "0mph3bqfjnw3yf0a6ml3ccmkr1shviwvvq4d04ky4gppfy6z51jy"; + }; + + vendorSha256 = "1500vim2lmkkls758pwhlx3piqbw6ap0nnhdwz9pcxih4s4as2nk"; + + doCheck = false; + + outputs = [ "out" "man"]; + postInstall = '' + install -D --mode=444 man/j.1 man/jump.1 -t $man/man/man1/ + + # generate completion scripts for jump + export HOME="$NIX_BUILD_TOP" + mkdir -p $out/share/{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions} + $out/bin/jump shell bash > "$out/share/bash-completion/completions/jump" + $out/bin/jump shell fish > $out/share/fish/vendor_completions.d/jump.fish + $out/bin/jump shell zsh > $out/share/zsh/site-functions/_jump + ''; + + meta = with lib; { + description = "Navigate directories faster by learning your habits"; + longDescription = '' + Jump integrates with the shell and learns about your + navigational habits by keeping track of the directories you visit. It + strives to give you the best directory for the shortest search term. + ''; + homepage = "https://github.com/gsamokovarov/jump"; + license = licenses.mit; + maintainers = with maintainers; [ sondr3 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/kmon/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/kmon/default.nix new file mode 100644 index 000000000000..502579bb931c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/kmon/default.nix @@ -0,0 +1,31 @@ +{ lib, fetchFromGitHub, rustPlatform, python3, libxcb }: + +rustPlatform.buildRustPackage rec { + pname = "kmon"; + version = "1.5.1"; + + src = fetchFromGitHub { + owner = "orhun"; + repo = pname; + rev = "v${version}"; + sha256 = "0j6w4rg2gybcy1cv812qixravy0z0xpp33snrng11q802zq3mkmq"; + }; + + cargoSha256 = "0x5s3yi5bv3h1k54lrgcvkpdkmfphvwhnrmk5lmk6xd9pxfh218p"; + + nativeBuildInputs = [ python3 ]; + + buildInputs = [ libxcb ]; + + postInstall = '' + install -D man/kmon.8 -t $out/share/man/man8/ + ''; + + meta = with lib; { + description = "Linux Kernel Manager and Activity Monitor"; + homepage = "https://github.com/orhun/kmon"; + license = with licenses; [ gpl3 ]; + platforms = platforms.linux; + maintainers = with maintainers; [ misuzu ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/krakenx/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/krakenx/default.nix new file mode 100644 index 000000000000..e5b1e3ec1c94 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/krakenx/default.nix @@ -0,0 +1,23 @@ +{ lib, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "krakenx"; + version = "0.0.3"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "1khw1rxra5hn7hwp16i6kgj89znq8vjsyly3r2dxx2z2bddil000"; + }; + + propagatedBuildInputs = lib.singleton python3Packages.pyusb; + + doCheck = false; # there are no tests + + meta = with lib; { + description = "Python script to control NZXT cooler Kraken X52/X62/X72"; + homepage = "https://github.com/KsenijaS/krakenx"; + license = licenses.gpl2; + maintainers = [ maintainers.willibutz ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ledmon/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ledmon/default.nix new file mode 100644 index 000000000000..6775a4711261 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ledmon/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, perl, udev, sg3_utils }: + +stdenv.mkDerivation rec { + pname = "ledmon"; + version = "0.92"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "ledmon"; + rev = "v${version}"; + sha256 = "1lz59606vf2sws5xwijxyffm8kxcf8p9qbdpczsq1b5mm3dk6lvp"; + }; + + nativeBuildInputs = [ + perl # for pod2man + ]; + buildInputs = [ udev sg3_utils ]; + + installTargets = [ "install" "install-systemd" ]; + + makeFlags = [ + "MAN_INSTDIR=${placeholder "out"}/share/man" + "SYSTEMD_SERVICE_INSTDIR=${placeholder "out"}/lib/systemd/system" + "LEDCTL_INSTDIR=${placeholder "out"}/sbin" + "LEDMON_INSTDIR=${placeholder "out"}/sbin" + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/intel/ledmon"; + description = "Enclosure LED Utilities"; + platforms = platforms.linux; + license = with licenses; [ gpl2 ]; + maintainers = with stdenv.lib.maintainers; [ sorki ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/loadwatch/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/loadwatch/default.nix new file mode 100644 index 000000000000..eb7f1e3bb59b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/loadwatch/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchgit, ... }: + +stdenv.mkDerivation { + name = "loadwatch-1.1-1-g6d2544c"; + src = fetchgit { + url = "git://woffs.de/git/fd/loadwatch.git"; + sha256 = "1bhw5ywvhyb6snidsnllfpdi1migy73wg2gchhsfbcpm8aaz9c9b"; + rev = "6d2544c0caaa8a64bbafc3f851e06b8056c30e6e"; + }; + installPhase = '' + mkdir -p $out/bin + install loadwatch lw-ctl $out/bin + ''; + meta = with stdenv.lib; { + description = "Run a program using only idle cycles"; + license = licenses.gpl2; + maintainers = with maintainers; [ woffs ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/localtime/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/localtime/default.nix new file mode 100644 index 000000000000..805a70c74e9e --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/localtime/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, buildGoPackage, m4 }: + +buildGoPackage rec { + name = "localtime-2017-11-07"; + + src = fetchFromGitHub { + owner = "Stebalien"; + repo = "localtime"; + rev = "2e7b4317c723406bd75b2a1d640219ab9f8090ce"; + sha256 = "04fyna8p7q7skzx9fzmncd6gx7x5pwa9jh8a84hpljlvj0kldfs8"; + }; + + goPackagePath = "github.com/Stebalien/localtime"; + + nativeBuildInputs = [ m4 ]; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + "BINDIR=${placeholder "out"}/bin" + ]; + + buildPhase = '' + cd go/src/${goPackagePath} + make $makeFlags + ''; + + installPhase = '' + make install $makeFlags + ''; + + meta = with stdenv.lib; { + description = "A daemon for keeping the system timezone up-to-date based on the current location"; + homepage = "https://github.com/Stebalien/localtime"; + platforms = platforms.linux; + license = licenses.gpl3; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/logcheck/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/logcheck/default.nix new file mode 100644 index 000000000000..71edfde9a0b3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/logcheck/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, lockfileProgs, perlPackages }: + +stdenv.mkDerivation rec { + pname = "logcheck"; + version = "1.3.20"; + _name = "logcheck_${version}"; + + src = fetchurl { + url = "mirror://debian/pool/main/l/logcheck/${_name}.tar.xz"; + sha256 = "1rmkvxhcwr9gb6z4dlgr6rrx5l70hshlxdggs6qx0w1ljcmx1dlz"; + }; + + prePatch = '' + # do not set sticky bit in nix store. + substituteInPlace Makefile --replace 2750 0750 + ''; + + preConfigure = '' + substituteInPlace src/logtail --replace "/usr/bin/perl" "${perlPackages.perl}/bin/perl" + substituteInPlace src/logtail2 --replace "/usr/bin/perl" "${perlPackages.perl}/bin/perl" + + sed -i -e 's|! -f /usr/bin/lockfile|! -f ${lockfileProgs}/bin/lockfile|' \ + -e 's|^\([ \t]*\)lockfile-|\1${lockfileProgs}/bin/lockfile-|' \ + -e "s|/usr/sbin/logtail2|$out/sbin/logtail2|" \ + -e 's|mime-construct|${perlPackages.mimeConstruct}/bin/mime-construct|' \ + -e 's|\$(run-parts --list "\$dir")|"$dir"/*|' src/logcheck + ''; + + makeFlags = [ + "DESTDIR=$(out)" + "SBINDIR=sbin" + "BINDIR=bin" + "SHAREDIR=share/logtail/detectrotate" + ]; + + meta = with stdenv.lib; { + description = "Mails anomalies in the system logfiles to the administrator"; + longDescription = '' + Mails anomalies in the system logfiles to the administrator. + + Logcheck helps spot problems and security violations in your logfiles automatically and will send the results to you by e-mail. + Logcheck was part of the Abacus Project of security tools, but this version has been rewritten. + ''; + homepage = "https://salsa.debian.org/debian/logcheck"; + license = licenses.gpl2; + maintainers = [ maintainers.bluescreen303 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/logrotate/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/logrotate/default.nix new file mode 100644 index 000000000000..4c891e3e5b33 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/logrotate/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, gzip, popt, autoreconfHook +, mailutils ? null +}: + +stdenv.mkDerivation rec { + pname = "logrotate"; + version = "3.17.0"; + + src = fetchFromGitHub { + owner = "logrotate"; + repo = "logrotate"; + rev = version; + sha256 = "133k4y24p918v4dva6dh70bdfv13jvwl2vlhq0mybrs3ripvnh4h"; + }; + + # Logrotate wants to access the 'mail' program; to be done. + patchPhase = '' + sed -i -e 's,[a-z/]\+gzip,${gzip}/bin/gzip,' \ + -e 's,[a-z/]\+gunzip,${gzip}/bin/gunzip,' configure.ac + + ${stdenv.lib.optionalString (mailutils != null) '' + sed -i -e 's,[a-z/]\+mail,${mailutils}/bin/mail,' configure.ac + ''} + ''; + + autoreconfPhase = '' + ./autogen.sh + ''; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ popt ]; + + meta = { + homepage = "https://fedorahosted.org/releases/l/o/logrotate/"; + description = "Rotates and compresses system logs"; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [ stdenv.lib.maintainers.viric ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/lr/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/lr/default.nix new file mode 100644 index 000000000000..8d2febbeb8af --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/lr/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "lr"; + version = "1.5.1"; + + src = fetchFromGitHub { + owner = "chneukirchen"; + repo = "lr"; + rev = "v${version}"; + sha256 = "1wv2acm4r5y5gg6f64v2hiwpg1f3lnr4fy1a9zssw77fmdc7ys3j"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/chneukirchen/lr"; + description = "List files recursively"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ vika_nezrimaya ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/lshw/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/lshw/default.nix new file mode 100644 index 000000000000..3d1a6ace08e4 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/lshw/default.nix @@ -0,0 +1,54 @@ +{ stdenv, lib, fetchurl, fetchpatch +, withGUI ? false, gtk2, pkgconfig, sqlite # compile GUI +}: + +let numVersion = "02.18"; # :( +in +stdenv.mkDerivation rec { + name = "lshw-${numVersion}b"; + version = numVersion; + + src = fetchurl { + url = "https://ezix.org/software/files/lshw-B.${version}.tar.gz"; + sha256 = "0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf"; + }; + + patches = [ + (fetchpatch { + # fix crash in scan_dmi_sysfs() when run as non-root + url = "https://github.com/lyonel/lshw/commit/fbdc6ab15f7eea0ddcd63da355356ef156dd0d96.patch"; + sha256 = "147wyr5m185f8swsmb4q1ahs9r1rycapbpa2548aqbv298bbish3"; + }) + (fetchpatch { + # support cross-compilation + url = "https://github.com/lyonel/lshw/commit/8486d25cea9b68794504fbd9e5c6e294bac6cb07.patch"; + sha256 = "08f0wnxsq0agvsc66bhc7lxvk564ir0pp8pg3cym6a621prb9lm0"; + }) + ]; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = lib.optionals withGUI [ gtk2 sqlite ]; + + # Fix version info. + preConfigure = '' + sed -e "s/return \"unknown\"/return \"${version}\"/" \ + -i src/core/version.cc + ''; + + makeFlags = [ "PREFIX=$(out)" ]; + + buildFlags = [ "all" ] ++ lib.optional withGUI "gui"; + + installTargets = [ "install" ] ++ lib.optional withGUI "install-gui"; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "https://ezix.org/project/wiki/HardwareLiSter"; + description = "Provide detailed information on the hardware configuration of the machine"; + license = licenses.gpl2; + maintainers = with maintainers; [ phreedom ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/default.nix new file mode 100644 index 000000000000..ca515cbdfd83 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/default.nix @@ -0,0 +1,38 @@ +{ fetchurl, stdenv, guile, which, ed, libtool }: + +stdenv.mkDerivation rec { + name = "mcron-1.0.6"; + + src = fetchurl { + url = "mirror://gnu/mcron/${name}.tar.gz"; + sha256 = "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"; + }; + + patches = [ ./install-vixie-programs.patch ]; + + # don't attempt to chmod +s files in the nix store + postPatch = '' + substituteInPlace makefile.in --replace "rwxs" "rwx" + ''; + + buildInputs = [ guile which ed libtool ]; + + doCheck = true; + + meta = { + description = "Flexible implementation of `cron' in Guile"; + + longDescription = '' + The GNU package mcron (Mellor's cron) is a 100% compatible + replacement for Vixie cron. It is written in pure Guile, and + allows configuration files to be written in scheme (as well as + Vixie's original format) for infinite flexibility in specifying + when jobs should be run. Mcron was written by Dale Mellor. + ''; + + homepage = "https://www.gnu.org/software/mcron/"; + + license = stdenv.lib.licenses.gpl3Plus; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/install-vixie-programs.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/install-vixie-programs.patch new file mode 100644 index 000000000000..d268ecb4a0ab --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/mcron/install-vixie-programs.patch @@ -0,0 +1,23 @@ +This patch allows us to install the Vixie-compatible binaries as +non-root without creating /var/run, etc. + +--- mcron-1.0.6/makefile.in 2010-06-19 20:44:17.000000000 +0200 ++++ mcron-1.0.6/makefile.in 2010-07-04 16:16:25.000000000 +0200 +@@ -1004,15 +1004,11 @@ mcron.c : main.scm crontab.scm makefile. + @rm -f mcron.escaped.scm > /dev/null 2>&1 + + install-exec-hook: +- @if [ "x@NO_VIXIE_CLOBBER@" != "xyes" -a "`id -u`" -eq "0" ]; then \ ++ @if [ "x@NO_VIXIE_CLOBBER@" != "xyes" ]; then \ + rm -f $(fpp)cron$(EXEEXT) > /dev/null 2>&1; \ + $(INSTALL) --mode='u=rwx' mcron$(EXEEXT) $(fpp)cron$(EXEEXT); \ + rm -f $(fpp)crontab$(EXEEXT) > /dev/null 2>&1; \ + $(INSTALL) --mode='u=rwxs,og=rx' mcron$(EXEEXT) $(fpp)crontab$(EXEEXT); \ +- $(INSTALL) -d --mode='u=rwx' $(DESTDIR)/var/cron; \ +- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)/var/run; \ +- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@; \ +- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@/mcron; \ + elif [ "x@NO_VIXIE_CLOBBER@" = "xyes" ]; then \ + echo "Not installing Vixie-style programs"; \ + else \ + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/memtester/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/memtester/default.nix new file mode 100644 index 000000000000..870d7e0dd1db --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/memtester/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "memtester"; + version = "4.5.0"; + + preConfigure = '' + echo "$CC" > conf-cc + echo "$CC" > conf-ld + ''; + + src = fetchurl { + url = "http://pyropus.ca/software/memtester/old-versions/memtester-${version}.tar.gz"; + sha256 = "0dxfwayns3hjjplkxkpkm1409lmjlpi4chcrahcvdbnl0q6jpmcf"; + }; + + installFlags = [ "INSTALLPATH=$(out)" ]; + + meta = with stdenv.lib; { + description = "A userspace utility for testing the memory subsystem for faults"; + homepage = "http://pyropus.ca/software/memtester/"; + license = licenses.gpl2; + maintainers = [ maintainers.dezgeg ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/default.nix new file mode 100644 index 000000000000..fac934f7bb25 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/default.nix @@ -0,0 +1,60 @@ +{ stdenv, lib, fetchFromGitiles, glibc, libcap, qemu }: + +let + dumpConstants = + if stdenv.buildPlatform == stdenv.hostPlatform then "./dump_constants" + else if stdenv.hostPlatform.isAarch32 then "qemu-arm dump_constants" + else if stdenv.hostPlatform.isAarch64 then "qemu-aarch64 dump_constants" + else if stdenv.hostPlatform.isx86_64 then "qemu-x86_64 dump_constants" + else throw "Unsupported host platform"; +in + +stdenv.mkDerivation rec { + pname = "minijail"; + version = "16"; + + src = fetchFromGitiles { + url = "https://android.googlesource.com/platform/external/minijail"; + rev = "linux-v${version}"; + sha256 = "0pxazds3w12c30msq6bxs4a9cbds0dkj6n3ca0i1wqvgz864yrgs"; + }; + + nativeBuildInputs = + lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) qemu; + buildInputs = [ libcap ]; + + makeFlags = [ "LIBDIR=$(out)/lib" ]; + dumpConstantsFlags = lib.optional (stdenv.hostPlatform.libc == "glibc") + "LDFLAGS=-L${glibc.static}/lib"; + + postPatch = '' + substituteInPlace common.mk --replace /bin/echo echo + patchShebangs platform2_preinstall.sh + ''; + + postBuild = '' + make $makeFlags $buildFlags $dumpConstantsFlags dump_constants + ${dumpConstants} > constants.json + ''; + + installPhase = '' + ./platform2_preinstall.sh ${version} $out/include/chromeos + + mkdir -p $out/lib/pkgconfig $out/include/chromeos $out/bin \ + $out/share/minijail + + cp -v *.so $out/lib + cp -v *.pc $out/lib/pkgconfig + cp -v libminijail.h scoped_minijail.h $out/include/chromeos + cp -v minijail0 $out/bin + cp -v constants.json $out/share/minijail + ''; + + meta = with lib; { + homepage = "https://android.googlesource.com/platform/external/minijail/"; + description = "Sandboxing library and application using Linux namespaces and capabilities"; + license = licenses.bsd3; + maintainers = with maintainers; [ pcarrier qyliss ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/tools.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/tools.nix new file mode 100644 index 000000000000..875ea0dbff95 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/minijail/tools.nix @@ -0,0 +1,13 @@ +{ buildPythonApplication, lib, minijail }: + +buildPythonApplication { + pname = "minijail-tools"; + inherit (minijail) version src; + + meta = with lib; { + homepage = "https://android.googlesource.com/platform/external/minijail/+/refs/heads/master/tools/"; + description = "A set of tools for minijail"; + license = licenses.asl20; + inherit (minijail.meta) maintainers platforms; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/mlc/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/mlc/default.nix new file mode 100644 index 000000000000..d055c98e04cb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/mlc/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, patchelf }: +stdenv.mkDerivation rec { + pname = "mlc"; + version = "3.9"; + + src = fetchurl { + url = "https://software.intel.com/content/dam/develop/external/us/en/protected/mlc_v${version}.tgz"; + sha256 = "1x7abm9hbv9hkqa3cgxz6l04m3ycyl40i4zgx1w819pc10n6dhdb"; + }; + + sourceRoot = "Linux"; + + installPhase = '' + install -Dm755 mlc $out/bin/mlc + ''; + + nativeBuildInputs = [ patchelf ]; + + fixupPhase = '' + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/mlc + ''; + + meta = with stdenv.lib; { + homepage = "https://software.intel.com/content/www/us/en/develop/articles/intelr-memory-latency-checker.html"; + description = "Intel Memory Latency Checker"; + license = licenses.unfree; + maintainers = with maintainers; [ basvandijk ]; + platforms = with platforms; linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/monit/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/monit/default.nix new file mode 100644 index 000000000000..3349749d62e8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/monit/default.nix @@ -0,0 +1,41 @@ +{ stdenv +, fetchurl, bison, flex +, zlib +, usePAM ? stdenv.hostPlatform.isLinux, pam +, useSSL ? true, openssl +}: + +stdenv.mkDerivation rec { + name = "monit-5.27.1"; + + src = fetchurl { + url = "${meta.homepage}dist/${name}.tar.gz"; + sha256 = "0lgdhif6x11fcpli0qn138rpdvrfnwmkzsy4lc9pas45c78hhx7m"; + }; + + nativeBuildInputs = [ bison flex ]; + buildInputs = [ zlib.dev ] ++ + stdenv.lib.optionals useSSL [ openssl ] ++ + stdenv.lib.optionals usePAM [ pam ]; + + configureFlags = [ + (stdenv.lib.withFeature usePAM "pam") + ] ++ (if useSSL then [ + "--with-ssl-incl-dir=${openssl.dev}/include" + "--with-ssl-lib-dir=${openssl.out}/lib" + ] else [ + "--without-ssl" + ]) ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # will need to check both these are true for musl + "libmonit_cv_setjmp_available=yes" + "libmonit_cv_vsnprintf_c99_conformant=yes" + ]; + + meta = { + homepage = "http://mmonit.com/monit/"; + description = "Monitoring system"; + license = stdenv.lib.licenses.agpl3; + maintainers = with stdenv.lib.maintainers; [ raskin wmertens ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/mq-cli/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/mq-cli/default.nix new file mode 100644 index 000000000000..a29e1630116d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/mq-cli/default.nix @@ -0,0 +1,24 @@ +{ fetchFromGitHub, lib, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "mq-cli"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "aprilabank"; + repo = "mq-cli"; + rev = "v${version}"; + sha256 = "02z85waj5jc312biv2qhbgplsggxgjmfmyv9v8b1ky0iq1mpxjw7"; + }; + + cargoSha256 = "19ccylnmmlm2d8kc178cffpjwrjlia6b4v3nzvxcs81a396ymr7b"; + + meta = with lib; { + description = "CLI tool to manage POSIX message queues"; + homepage = "https://github.com/aprilabank/mq-cli"; + license = licenses.mit; + maintainers = with maintainers; [ tazjin ]; + platforms = platforms.linux; + repositories.git = "git://github.com/aprilabank/mq-cli.git"; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/default.nix new file mode 100644 index 000000000000..8192dfe6c14d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/default.nix @@ -0,0 +1,84 @@ +{ stdenv, callPackage, fetchFromGitHub, autoreconfHook, pkgconfig +, CoreFoundation, IOKit, libossp_uuid +, curl, libcap, libuuid, lm_sensors, zlib, fetchpatch +, nixosTests +, withCups ? false, cups +, withDBengine ? true, libuv, lz4, judy +, withIpmi ? (!stdenv.isDarwin), freeipmi +, withNetfilter ? (!stdenv.isDarwin), libmnl, libnetfilter_acct +, withSsl ? true, openssl +, withDebug ? false +}: + +with stdenv.lib; + +let + go-d-plugin = callPackage ./go.d.plugin.nix {}; +in stdenv.mkDerivation rec { + version = "1.26.0"; + pname = "netdata"; + + src = fetchFromGitHub { + owner = "netdata"; + repo = "netdata"; + rev = "v${version}"; + sha256 = "0pvl1y1qscwp1chrbmk43xf9ddjxgfm0hcslbdbljjis7ng4gacg"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ curl.dev zlib.dev ] + ++ optionals stdenv.isDarwin [ CoreFoundation IOKit libossp_uuid ] + ++ optionals (!stdenv.isDarwin) [ libcap.dev libuuid.dev ] + ++ optionals withCups [ cups ] + ++ optionals withDBengine [ libuv lz4.dev judy ] + ++ optionals withIpmi [ freeipmi ] + ++ optionals withNetfilter [ libmnl libnetfilter_acct ] + ++ optionals withSsl [ openssl.dev ]; + + patches = [ + ./no-files-in-etc-and-var.patch + ]; + + NIX_CFLAGS_COMPILE = optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1"; + + postInstall = '' + ln -s ${go-d-plugin}/lib/netdata/conf.d/* $out/lib/netdata/conf.d + ln -s ${go-d-plugin}/bin/godplugin $out/libexec/netdata/plugins.d/go.d.plugin + '' + optionalString (!stdenv.isDarwin) '' + # rename this plugin so netdata will look for setuid wrapper + mv $out/libexec/netdata/plugins.d/apps.plugin \ + $out/libexec/netdata/plugins.d/apps.plugin.org + mv $out/libexec/netdata/plugins.d/perf.plugin \ + $out/libexec/netdata/plugins.d/perf.plugin.org + mv $out/libexec/netdata/plugins.d/slabinfo.plugin \ + $out/libexec/netdata/plugins.d/slabinfo.plugin.org + ${optionalString withIpmi '' + mv $out/libexec/netdata/plugins.d/freeipmi.plugin \ + $out/libexec/netdata/plugins.d/freeipmi.plugin.org + ''} + ''; + + preConfigure = optionalString (!stdenv.isDarwin) '' + substituteInPlace collectors/python.d.plugin/python_modules/third_party/lm_sensors.py \ + --replace 'ctypes.util.find_library("sensors")' '"${lm_sensors.out}/lib/libsensors${stdenv.hostPlatform.extensions.sharedLibrary}"' + ''; + + configureFlags = [ + "--localstatedir=/var" + "--sysconfdir=/etc" + ]; + + postFixup = '' + rm -r $out/sbin + ''; + + passthru.tests.netdata = nixosTests.netdata; + + meta = { + description = "Real-time performance monitoring tool"; + homepage = "https://www.netdata.cloud/"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = [ maintainers.lethalman ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix new file mode 100644 index 000000000000..3cf3a1b116bf --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/go.d.plugin.nix @@ -0,0 +1,31 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "netdata-go.d.plugin"; + version = "0.25.0"; + + src = fetchFromGitHub { + owner = "netdata"; + repo = "go.d.plugin"; + rev = "v${version}"; + sha256 = "0cp1asw10a8ndndzq8r57mncrm8521aw3x081vrlfqvhp6qahr3j"; + }; + + vendorSha256 = "16b6i9cpk8j7292qgjvida70rg7nixi6g94wayzikx01vmdbis5r"; + + doCheck = false; + + buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ]; + + postInstall = '' + mkdir -p $out/lib/netdata/conf.d + cp -r config/* $out/lib/netdata/conf.d + ''; + + meta = with lib; { + description = "Netdata orchestrator for data collection modules written in go"; + homepage = "https://github.com/netdata/go.d.plugin"; + license = licenses.gpl3; + maintainers = [ maintainers.lethalman ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch new file mode 100644 index 000000000000..594805fdf187 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch @@ -0,0 +1,129 @@ +From 4ecc1475be94a384c122594b5f7d455beb64a2f0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> +Date: Sat, 22 Feb 2020 06:42:14 +0000 +Subject: [PATCH] no files in etc and var +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jörg Thalheim <joerg@thalheim.io> +--- + collectors/Makefile.am | 2 +- + collectors/charts.d.plugin/Makefile.am | 2 +- + collectors/node.d.plugin/Makefile.am | 2 +- + collectors/python.d.plugin/Makefile.am | 2 +- + collectors/statsd.plugin/Makefile.am | 2 +- + health/Makefile.am | 2 +- + system/Makefile.am | 3 +-- + web/Makefile.am | 2 +- + 8 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/collectors/Makefile.am b/collectors/Makefile.am +index 9bb52958..c9799165 100644 +--- a/collectors/Makefile.am ++++ b/collectors/Makefile.am +@@ -32,7 +32,7 @@ usercustompluginsconfigdir=$(configdir)/custom-plugins.d + usergoconfigdir=$(configdir)/go.d + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(usercustompluginsconfigdir) + $(INSTALL) -d $(DESTDIR)$(usergoconfigdir) + +diff --git a/collectors/charts.d.plugin/Makefile.am b/collectors/charts.d.plugin/Makefile.am +index 03c7f0a9..01985db0 100644 +--- a/collectors/charts.d.plugin/Makefile.am ++++ b/collectors/charts.d.plugin/Makefile.am +@@ -34,7 +34,7 @@ dist_userchartsconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(userchartsconfigdir) + + chartsconfigdir=$(libconfigdir)/charts.d +diff --git a/collectors/node.d.plugin/Makefile.am b/collectors/node.d.plugin/Makefile.am +index c3142d43..95e32445 100644 +--- a/collectors/node.d.plugin/Makefile.am ++++ b/collectors/node.d.plugin/Makefile.am +@@ -26,7 +26,7 @@ dist_usernodeconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(usernodeconfigdir) + + nodeconfigdir=$(libconfigdir)/node.d +diff --git a/collectors/python.d.plugin/Makefile.am b/collectors/python.d.plugin/Makefile.am +index e678f86a..29a319da 100644 +--- a/collectors/python.d.plugin/Makefile.am ++++ b/collectors/python.d.plugin/Makefile.am +@@ -32,7 +32,7 @@ dist_userpythonconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(userpythonconfigdir) + + pythonconfigdir=$(libconfigdir)/python.d +diff --git a/collectors/statsd.plugin/Makefile.am b/collectors/statsd.plugin/Makefile.am +index b01302d1..f5b77da4 100644 +--- a/collectors/statsd.plugin/Makefile.am ++++ b/collectors/statsd.plugin/Makefile.am +@@ -17,5 +17,5 @@ dist_userstatsdconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir) +diff --git a/health/Makefile.am b/health/Makefile.am +index 853ed0d7..210330a6 100644 +--- a/health/Makefile.am ++++ b/health/Makefile.am +@@ -19,7 +19,7 @@ dist_userhealthconfig_DATA = \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(userhealthconfigdir) + + healthconfigdir=$(libconfigdir)/health.d +diff --git a/system/Makefile.am b/system/Makefile.am +index ad68c655..74f032f9 100644 +--- a/system/Makefile.am ++++ b/system/Makefile.am +@@ -17,11 +17,10 @@ include $(top_srcdir)/build/subst.inc + SUFFIXES = .in + + dist_config_SCRIPTS = \ +- edit-config \ + $(NULL) + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(configdir) + + nodist_noinst_DATA = \ +diff --git a/web/Makefile.am b/web/Makefile.am +index ccaccd76..16a2977e 100644 +--- a/web/Makefile.am ++++ b/web/Makefile.am +@@ -12,7 +12,7 @@ SUBDIRS = \ + usersslconfigdir=$(configdir)/ssl + + # Explicitly install directories to avoid permission issues due to umask +-install-exec-local: ++no-install-exec-local: + $(INSTALL) -d $(DESTDIR)$(usersslconfigdir) + + dist_noinst_DATA = \ +-- +2.25.0 + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/nq/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/nq/default.nix new file mode 100644 index 000000000000..9e6522b20284 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/nq/default.nix @@ -0,0 +1,25 @@ +{ stdenv, lib, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "nq"; + version = "0.3.1"; + src = fetchFromGitHub { + owner = "chneukirchen"; + repo = "nq"; + rev = "v${version}"; + sha256 = "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99"; + }; + makeFlags = [ "PREFIX=$(out)" ]; + postPatch = '' + sed -i tq \ + -e 's|\bfq\b|'$out'/bin/fq|g' \ + -e 's|\bnq\b|'$out'/bin/nq|g' + ''; + meta = with lib; { + description = "Unix command line queue utility"; + homepage = "https://github.com/chneukirchen/nq"; + license = licenses.publicDomain; + platforms = platforms.linux; + maintainers = with maintainers; [ cstrahan ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/nvtop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/nvtop/default.nix new file mode 100644 index 000000000000..1b826e6fab4f --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/nvtop/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, cmake, cudatoolkit, ncurses, addOpenGLRunpath }: + +stdenv.mkDerivation rec { + pname = "nvtop"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "Syllo"; + repo = "nvtop"; + rev = version; + sha256 = "1h24ppdz7l6l0znwbgir49f7r1fshzjavc6i5j33c6bvr318dpqb"; + }; + + cmakeFlags = [ + "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include" + "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so" + "-DCMAKE_BUILD_TYPE=Release" + ]; + + nativeBuildInputs = [ cmake addOpenGLRunpath ]; + buildInputs = [ ncurses cudatoolkit ]; + + postFixup = '' + addOpenGLRunpath $out/bin/nvtop + ''; + + meta = with stdenv.lib; { + description = "A (h)top like task monitor for NVIDIA GPUs"; + homepage = "https://github.com/Syllo/nvtop"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ willibutz ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/default.nix new file mode 100644 index 000000000000..34295c90ae43 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, opencl-clhpp, ocl-icd }: + +stdenv.mkDerivation { + name = "opencl-info-2014-02-21"; + + src = fetchFromGitHub { + owner = "marchv"; + repo = "opencl-info"; + rev = "3e53d001a98978feb865650cf0e93b045400c0d7"; + sha256 = "114lxgnjg40ivjjszkv4n3f3yq2lbrvywryvbazf20kqmdz7315l"; + }; + + patches = [ + # The cl.hpp header was removed from opencl-clhpp. This patch + # updates opencl-info to use the new cp2.hpp header. + # + # Submitted upstream: https://github.com/marchv/opencl-info/pull/2 + ./opencl-info-clhpp2.diff + ]; + + buildInputs = [ opencl-clhpp ocl-icd ]; + + NIX_LDFLAGS = "-lOpenCL"; + + installPhase = '' + install -Dm755 opencl-info $out/bin/opencl-info + ''; + + meta = with stdenv.lib; { + description = "A tool to dump OpenCL platform/device information"; + homepage = "https://github.com/marchv/opencl-info"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff b/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff new file mode 100644 index 000000000000..013222beebf7 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/opencl-info/opencl-info-clhpp2.diff @@ -0,0 +1,22 @@ +diff --git a/opencl-info.cpp b/opencl-info.cpp +index a23015d..a6de0c1 100644 +--- a/opencl-info.cpp ++++ b/opencl-info.cpp +@@ -7,7 +7,7 @@ + #if defined(__APPLE__) || defined(__MACOSX) + # include <OpenCL/cl.hpp> + #else +-# include <CL/cl.hpp> ++# include <CL/cl2.hpp> + #endif + + #include <iostream> +@@ -130,7 +130,7 @@ int main() { + PconstEnd; + P(device, CL_DEVICE_LOCAL_MEM_SIZE); + Pbool(device, CL_DEVICE_ERROR_CORRECTION_SUPPORT); +- Pbool(device, CL_DEVICE_HOST_UNIFIED_MEMORY); ++ // Pbool(device, CL_DEVICE_HOST_UNIFIED_MEMORY); /* Deprecated in 2.0 */ + P(device, CL_DEVICE_PROFILING_TIMER_RESOLUTION); + Pbool(device, CL_DEVICE_ENDIAN_LITTLE); + Pbool(device, CL_DEVICE_AVAILABLE); diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/pciutils/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/pciutils/default.nix new file mode 100644 index 000000000000..cf6616417ed0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/pciutils/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, pkgconfig, zlib, kmod, which +, static ? stdenv.targetPlatform.isStatic +, darwin ? null +}: + +stdenv.mkDerivation rec { + name = "pciutils-3.7.0"; # with release-date database + + src = fetchurl { + url = "mirror://kernel/software/utils/pciutils/${name}.tar.xz"; + sha256 = "1ss0rnfsx8gvqjxaji4mvbhf9xyih4cadmgadbwwv8mnx1xvjh4x"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ zlib kmod which ] ++ + stdenv.lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.IOKit; + + preConfigure = if stdenv.cc.isGNU then null else '' + substituteInPlace Makefile --replace 'CC=$(CROSS_COMPILE)gcc' "" + ''; + + makeFlags = [ + "SHARED=${if static then "no" else "yes"}" + "PREFIX=\${out}" + "STRIP=" + "HOST=${stdenv.hostPlatform.system}" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + "DNS=yes" + ]; + + installTargets = [ "install" "install-lib" ]; + + # Get rid of update-pciids as it won't work. + postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8"; + + meta = with stdenv.lib; { + homepage = "http://mj.ucw.cz/pciutils.html"; + description = "A collection of programs for inspecting and manipulating configuration of PCI devices"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = [ maintainers.vcunat ]; # not really, but someone should watch it + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/default.nix new file mode 100644 index 000000000000..436fa5cae6fc --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage { + pname = "pcstat-unstable"; + version = "2017-05-28"; + + goPackagePath = "github.com/tobert/pcstat"; + + src = fetchFromGitHub { + rev = "91a7346e5b462a61e876c0574cb1ba331a6a5ac5"; + owner = "tobert"; + repo = "pcstat"; + sha256 = "88853e42d16c05e580af4fb8aa815a84ea0fc43e3a25e19c85e649a5f5a2874c"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + description = "Page Cache stat: get page cache stats for files on Linux"; + homepage = "https://github.com/tobert/pcstat"; + license = licenses.asl20; + maintainers = with maintainers; [ aminechikhaoui ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/deps.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/deps.nix new file mode 100644 index 000000000000..809bde1122f3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/pcstat/deps.nix @@ -0,0 +1,11 @@ +[ + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "d38bf781f16e180a1b2ad82697d2f81d7b7ecfac"; + sha256 = "0eedd518ab68c6dfd431a41709d9888bbc13ed31ff64d69dcbd947442b3aaa04"; + }; + } +] diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/builder.sh b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/builder.sh new file mode 100644 index 000000000000..b5196e512f41 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/builder.sh @@ -0,0 +1,71 @@ +source $stdenv/setup + +export PLAN9=$out/plan9 +export PLAN9_TARGET=$PLAN9 + +plan9portLinkFlags() +{ + eval set -- "$NIX_LDFLAGS" + local flag + for flag in "$@"; do + printf ' -Wl,%s' "$flag" + done +} + +configurePhase() +{ + ( + echo CC9=\"$(command -v $CC)\" + echo CFLAGS=\"$NIX_CFLAGS_COMPILE\" + echo LDFLAGS=\"$(plan9portLinkFlags)\" + echo X11=\"${libXt_dev}/include\" + case "$system" in + x86_64-*) echo OBJTYPE=x86_64;; + i?86-*) echo OBJTYPE=386;; + *power*) echo OBJTYPE=power;; + *sparc*) echo OBJTYPE=sparc;; + esac + if [[ $system =~ .*linux.* ]]; then + echo SYSVERSION=2.6.x + fi + ) >config + + for f in `grep -l -r /usr/local/plan9`; do + sed "s,/usr/local/plan9,${PLAN9},g" -i $f + done +} + +buildPhase() +{ + mkdir -p $PLAN9 + + # Copy sources, some necessary bin scripts + cp -R * $PLAN9 + + local originalPath="$PATH" + export PATH="$PLAN9/bin:$PATH" + export NPROC=$NIX_BUILD_CORES + pushd src + ../dist/buildmk + mk clean + mk libs-nuke + mk all + mk -k install + if [[ -f $PLAN9/bin/quote1 ]]; then + cp $PLAN9/bin/quote1 $PLAN9/bin/'"' + cp $PLAN9/bin/quote2 $PLAN9/bin/'""' + fi + popd + export PATH="$originalPath" +} + +installPhase() +{ + # Copy the `9' utility. This way you can use + # $ 9 awk + # to use the plan 9 awk + mkdir $out/bin + ln -s $PLAN9/bin/9 $out/bin +} + +genericBuild diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-cfframework.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-cfframework.patch new file mode 100644 index 000000000000..01541af92e37 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-cfframework.patch @@ -0,0 +1,24 @@ +From d1f0bd3de7d3d54523aeefd9731ea850d20eaab4 Mon Sep 17 00:00:00 2001 +From: Jason Felice <jason.m.felice@gmail.com> +Date: Tue, 2 Jul 2019 13:19:23 -0400 +Subject: [PATCH] Need CoreFoundation + +--- + src/cmd/devdraw/cocoa-screen.m | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/cmd/devdraw/cocoa-screen.m b/src/cmd/devdraw/cocoa-screen.m +index 97128da2..0e380dd3 100644 +--- a/src/cmd/devdraw/cocoa-screen.m ++++ b/src/cmd/devdraw/cocoa-screen.m +@@ -56,6 +56,7 @@ + #endif + + AUTOFRAMEWORK(Cocoa) ++AUTOFRAMEWORK(CoreFoundation) + + #define LOG if(0)NSLog + #define panic sysfatal +-- +2.21.0 + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-sw_vers.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-sw_vers.patch new file mode 100644 index 000000000000..3e61c83e5403 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/darwin-sw_vers.patch @@ -0,0 +1,47 @@ +From d21d082275f04f88eabcc8ecdb03ee932c71ebf1 Mon Sep 17 00:00:00 2001 +From: Jason Felice <jason.m.felice@gmail.com> +Date: Mon, 1 Jul 2019 15:23:19 -0400 +Subject: [PATCH 2/3] Build for 10.12 + +--- + bin/osxvers | 3 +-- + src/cmd/devdraw/mkwsysrules.sh | 4 ++-- + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/bin/osxvers b/bin/osxvers +index 4af44da2..3be7e6e9 100755 +--- a/bin/osxvers ++++ b/bin/osxvers +@@ -2,6 +2,5 @@ + + u=`uname` + case "$u" in +-Darwin) +- sw_vers | awk '$1 == "ProductVersion:" {print $2}' | awk -F. '{printf("CFLAGS=$CFLAGS -DOSX_VERSION=%d%02d%02d\n", $1, $2, $3)}' ++Darwin) printf 'CFLAGS=$CFLAGS -DOSX_VERSION=101200\n';; + esac +diff --git a/src/cmd/devdraw/mkwsysrules.sh b/src/cmd/devdraw/mkwsysrules.sh +index e94afbd3..40e632db 100644 +--- a/src/cmd/devdraw/mkwsysrules.sh ++++ b/src/cmd/devdraw/mkwsysrules.sh +@@ -22,7 +22,7 @@ fi + + if [ "x$WSYSTYPE" = "x" ]; then + if [ "x`uname`" = "xDarwin" ]; then +- if sw_vers | grep 'ProductVersion: 10\.[0-5]\.' >/dev/null; then ++ if false; then + echo 1>&2 'OS X 10.5 and older are not supported' + exit 1 + else +@@ -54,7 +54,7 @@ if [ $WSYSTYPE = x11 ]; then + XO=`ls x11-*.c 2>/dev/null | sed 's/\.c$/.o/'` + echo 'WSYSOFILES=$WSYSOFILES '$XO + elif [ $WSYSTYPE = osx-cocoa ]; then +- if sw_vers|awk '/ProductVersion/{split($2,a,".");exit(a[2]<14)}' >/dev/null; then # 0 is true in sh. ++ if false; then + echo 'OBJCFLAGS=$OBJCFLAGS -fobjc-arc' + echo 'WSYSOFILES=$WSYSOFILES osx-draw.o cocoa-screen-metal-objc.o cocoa-srv.o cocoa-thread.o' + else +-- +2.21.0 + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/default.nix new file mode 100644 index 000000000000..8164dfa9136d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/plan9port/default.nix @@ -0,0 +1,95 @@ +{ stdenv, fetchFromGitHub, which +, darwin ? null +, xorgproto ? null +, libX11 +, libXext ? null +, libXt ? null +, fontconfig ? null +, freetype ? null +, perl ? null # For building web manuals +}: + +stdenv.mkDerivation { + pname = "plan9port"; + version = "2020-01-08"; + + src = fetchFromGitHub { + owner = "9fans"; + repo = "plan9port"; + rev = "cc3d97d52a72d7eaceb5b636bcdf81c3e19f7a2e"; + sha256 = "0gb55kj0gzx1kdhiwcrbr7xcgz1im21dyxgxhfhh6d0q9rw0c17g"; + }; + + patches = [ + ./darwin-sw_vers.patch + ./darwin-cfframework.patch + ]; + + postPatch = '' + #hardcoded path + substituteInPlace src/cmd/acme/acme.c \ + --replace /lib/font/bit $out/plan9/font + + #deprecated flags + find . -type f \ + -exec sed -i -e 's/_SVID_SOURCE/_DEFAULT_SOURCE/g' {} \; \ + -exec sed -i -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' {} \; + + substituteInPlace bin/9c \ + --replace 'which uniq' '${which}/bin/which uniq' + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + #add missing ctrl+c\z\x\v keybind for non-Darwin + substituteInPlace src/cmd/acme/text.c \ + --replace "case Kcmd+'c':" "case 0x03: case Kcmd+'c':" \ + --replace "case Kcmd+'z':" "case 0x1a: case Kcmd+'z':" \ + --replace "case Kcmd+'x':" "case 0x18: case Kcmd+'x':" \ + --replace "case Kcmd+'v':" "case 0x16: case Kcmd+'v':" + ''; + + buildInputs = [ + perl + ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ + xorgproto libX11 libXext libXt fontconfig + freetype # fontsrv wants ft2build.h provides system fonts for acme and sam. + ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + Carbon Cocoa IOKit Metal QuartzCore + ]); + + builder = ./builder.sh; + libXt_dev = libXt.dev; + + doInstallCheck = true; + installCheckPhase = '' + $out/bin/9 rc -c 'echo rc is working.' + + # 9l can find and use its libs + cd $TMP + cat >test.c <<EOF + #include <u.h> + #include <libc.h> + #include <thread.h> + void + threadmain(int argc, char **argv) + { + threadexitsall(nil); + } + EOF + $out/bin/9 9c -o test.o test.c + $out/bin/9 9l -o test test.o + ./test + ''; + + meta = with stdenv.lib; { + homepage = "https://9fans.github.io/plan9port/"; + description = "Plan 9 from User Space"; + longDescription = '' + Plan 9 from User Space (aka plan9port) is a port of many Plan 9 programs + from their native Plan 9 environment to Unix-like operating systems. + ''; + license = licenses.lpl-102; + maintainers = with maintainers; [ AndersonTorres bbarker + ftrvxmtrx kovirobi ]; + platforms = platforms.unix; + }; +} +# TODO: investigate the mouse chording support patch diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile new file mode 100644 index 000000000000..77e4bb430e96 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'procodile' diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile.lock new file mode 100644 index 000000000000..f53a07d6657c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + json (2.2.0) + procodile (1.0.23) + json + +PLATFORMS + ruby + +DEPENDENCIES + procodile + +BUNDLED WITH + 2.1.4 diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/default.nix new file mode 100644 index 000000000000..2751601b39b9 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/default.nix @@ -0,0 +1,17 @@ +{ lib, bundlerApp, bundlerUpdateScript }: + +bundlerApp { + pname = "procodile"; + gemdir = ./.; + exes = [ "procodile" ]; + + passthru.updateScript = bundlerUpdateScript "procodile"; + + meta = with lib; { + description = "Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)"; + homepage = "https://adam.ac/procodile"; + license = with licenses; mit; + maintainers = with maintainers; [ ravloony manveru nicknovitski ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/gemset.nix new file mode 100644 index 000000000000..36ec2a9cf185 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/procodile/gemset.nix @@ -0,0 +1,23 @@ +{ + json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; + type = "gem"; + }; + version = "2.2.0"; + }; + procodile = { + dependencies = ["json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "025pbr1kah7cgs527n5q56m5agaa2smzac4rpmpk619xg4r1rdhs"; + type = "gem"; + }; + version = "1.0.23"; + }; +}
\ No newline at end of file diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/proot/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/proot/default.nix new file mode 100644 index 000000000000..06147df093e6 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/proot/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchFromGitHub +, talloc, docutils, swig, python, coreutils, enablePython ? true }: + +stdenv.mkDerivation { + pname = "proot"; + version = "20190510"; + + src = fetchFromGitHub { + repo = "proot"; + owner = "proot-me"; + rev = "803e54d8a1b3d513108d3fc413ba6f7c80220b74"; + sha256 = "0gwzqm5wpscj3fchlv3qggf3zzn0v00s4crb5ciwljan1zrqadhy"; + }; + + postPatch = '' + substituteInPlace src/GNUmakefile \ + --replace /bin/echo ${coreutils}/bin/echo + # our cross machinery defines $CC and co just right + sed -i /CROSS_COMPILE/d src/GNUmakefile + ''; + + buildInputs = [ talloc ] ++ stdenv.lib.optional enablePython python; + nativeBuildInputs = [ docutils ] ++ stdenv.lib.optional enablePython swig; + + enableParallelBuilding = true; + + makeFlags = [ "-C src" ]; + + postBuild = '' + make -C doc proot/man.1 + ''; + + installFlags = [ "PREFIX=${placeholder "out"}" ]; + + postInstall = '' + install -Dm644 doc/proot/man.1 $out/share/man/man1/proot.1 + ''; + + meta = with stdenv.lib; { + homepage = "https://proot-me.github.io"; + description = "User-space implementation of chroot, mount --bind and binfmt_misc"; + platforms = platforms.linux; + license = licenses.gpl2; + maintainers = with maintainers; [ ianwookim makefu veprbl dtzWill ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ps_mem/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ps_mem/default.nix new file mode 100644 index 000000000000..45a33a1adb7b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ps_mem/default.nix @@ -0,0 +1,23 @@ +{ stdenv, pythonPackages, fetchFromGitHub }: + +let + version = "3.13"; + pname = "ps_mem"; +in pythonPackages.buildPythonApplication { + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "pixelb"; + repo = pname; + rev = "v${version}"; + sha256 = "0pgi9hvwfbkzvwicqlkwx4rwal1ikza018yxbwpnf7c80zw0zaw9"; + }; + + meta = with stdenv.lib; { + description = "A utility to accurately report the in core memory usage for a program"; + homepage = "https://github.com/pixelb/ps_mem"; + license = licenses.lgpl21; + maintainers = [ maintainers.gnidorah ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/psensor/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/psensor/default.nix new file mode 100644 index 000000000000..afbab3634438 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/psensor/default.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, fetchurl, pkgconfig, lm_sensors, libgtop, libatasmart, gtk3 +, libnotify, udisks2, libXNVCtrl, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "psensor"; + + version = "1.2.1"; + + src = fetchurl { + url = "https://wpitchoune.net/psensor/files/psensor-${version}.tar.gz"; + sha256 = "1ark901va79gfq5p8h8dqypjgm3f8crmj37520q3slwz2rfphkq8"; + }; + + nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; + + buildInputs = [ + lm_sensors libgtop libatasmart gtk3 libnotify udisks2 + ]; + + preConfigure = '' + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXNVCtrl}/include" + NIX_LDFLAGS="$NIX_LDFLAGS -L${libXNVCtrl}/lib" + ''; + + meta = with lib; { + description = "Graphical hardware monitoring application for Linux"; + homepage = "https://wpitchoune.net/psensor/"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ cstrahan ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/psstop/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/psstop/default.nix new file mode 100644 index 000000000000..3a5ee2b05813 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/psstop/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib }: + +stdenv.mkDerivation rec { + pname = "psstop"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "clearlinux"; + repo = "psstop"; + rev = "v${version}"; + sha256 = "03ir3jjpzm7q8n1qc5jr99hqarr9r529w1zb6f7q4wak2vfj7w9h"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + buildInputs = [ glib ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/clearlinux/psstop"; + description = "Show processes' memory usage by looking into pss"; # upstream summary + license = licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile new file mode 100644 index 000000000000..c9363ff3dbdf --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile @@ -0,0 +1,5 @@ +# frozen_string_literal: true +# A sample Gemfile +source "https://rubygems.org" + +gem "r10k" diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile.lock b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile.lock new file mode 100644 index 000000000000..9f55e273ef25 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/Gemfile.lock @@ -0,0 +1,48 @@ +GEM + remote: https://rubygems.org/ + specs: + colored2 (3.1.2) + cri (2.15.10) + faraday (0.17.3) + multipart-post (>= 1.2, < 3) + faraday_middleware (0.13.1) + faraday (>= 0.7.4, < 1.0) + fast_gettext (1.1.2) + gettext (3.2.9) + locale (>= 2.0.5) + text (>= 1.3.0) + gettext-setup (0.34) + fast_gettext (~> 1.1.0) + gettext (>= 3.0.2, < 3.3.0) + locale + locale (2.1.3) + log4r (1.1.10) + minitar (0.9) + multi_json (1.14.1) + multipart-post (2.1.1) + puppet_forge (2.3.3) + faraday (>= 0.9.0, < 0.18.0, != 0.13.1) + faraday_middleware (>= 0.9.0, < 0.14.0) + gettext-setup (~> 0.11) + minitar + semantic_puppet (~> 1.0) + r10k (3.4.1) + colored2 (= 3.1.2) + cri (>= 2.15.10, < 3.0.0) + fast_gettext (~> 1.1.0) + gettext (>= 3.0.2, < 3.3.0) + gettext-setup (~> 0.24) + log4r (= 1.1.10) + multi_json (~> 1.10) + puppet_forge (~> 2.3.0) + semantic_puppet (1.0.2) + text (1.3.1) + +PLATFORMS + ruby + +DEPENDENCIES + r10k + +BUNDLED WITH + 2.1.4 diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/default.nix new file mode 100644 index 000000000000..43d67eddf7db --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/default.nix @@ -0,0 +1,23 @@ +{ lib, bundlerApp, bundlerUpdateScript, makeWrapper, git, gnutar, gzip }: + +bundlerApp { + pname = "r10k"; + gemdir = ./.; + exes = [ "r10k" ]; + + buildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/r10k --prefix PATH : ${lib.makeBinPath [ git gnutar gzip ]} + ''; + + passthru.updateScript = bundlerUpdateScript "r10k"; + + meta = with lib; { + description = "Puppet environment and module deployment"; + homepage = "https://github.com/puppetlabs/r10k"; + license = licenses.asl20; + maintainers = with maintainers; [ zimbatm manveru nicknovitski ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/gemset.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/gemset.nix new file mode 100644 index 000000000000..d0e955d4cea9 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/r10k/gemset.nix @@ -0,0 +1,168 @@ +{ + colored2 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; + type = "gem"; + }; + version = "3.1.2"; + }; + cri = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h45kw2s4bjwgbfsrncs30av0j4zjync3wmcc6lpdnzbcxs7yms2"; + type = "gem"; + }; + version = "2.15.10"; + }; + faraday = { + dependencies = ["multipart-post"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13aghksmni2sl15y7wfpx6k5l3lfd8j9gdyqi6cbw6jgc7bqyyn2"; + type = "gem"; + }; + version = "0.17.3"; + }; + faraday_middleware = { + dependencies = ["faraday"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a93rs58bakqck7bcihasz66a1riy22h2zpwrpmb13gp8mw3wkmr"; + type = "gem"; + }; + version = "0.13.1"; + }; + fast_gettext = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ci71w9jb979c379c7vzm88nc3k6lf68kbrsgw9nlx5g4hng0s78"; + type = "gem"; + }; + version = "1.1.2"; + }; + gettext = { + dependencies = ["locale" "text"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr"; + type = "gem"; + }; + version = "3.2.9"; + }; + gettext-setup = { + dependencies = ["fast_gettext" "gettext" "locale"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vfnayz20xd8q0sz27816kvgia9z2dpj9fy7z15da239wmmnz7ga"; + type = "gem"; + }; + version = "0.34"; + }; + locale = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0997465kxvpxm92fiwc2b16l49mngk7b68g5k35ify0m3q0yxpdn"; + type = "gem"; + }; + version = "2.1.3"; + }; + log4r = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv"; + type = "gem"; + }; + version = "1.1.10"; + }; + minitar = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13"; + type = "gem"; + }; + version = "0.9"; + }; + multi_json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr"; + type = "gem"; + }; + version = "1.14.1"; + }; + multipart-post = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; + type = "gem"; + }; + version = "2.1.1"; + }; + puppet_forge = { + dependencies = ["faraday" "faraday_middleware" "gettext-setup" "minitar" "semantic_puppet"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lyd10ai27lxylywjxpwyxikx5hblsdchid3chymrrv55x217cny"; + type = "gem"; + }; + version = "2.3.3"; + }; + r10k = { + dependencies = ["colored2" "cri" "fast_gettext" "gettext" "gettext-setup" "log4r" "multi_json" "puppet_forge"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nlckw4yr2ph14i9h0blsdb5zmrzqh3aknkm0dg3hrcx8ygncai6"; + type = "gem"; + }; + version = "3.4.1"; + }; + semantic_puppet = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "046m45rdwpvfz77s7bxid27c89w329c1nj593p74wdd8kknf0nv0"; + type = "gem"; + }; + version = "1.0.2"; + }; + text = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"; + type = "gem"; + }; + version = "1.3.1"; + }; +}
\ No newline at end of file diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rocm-smi/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/rocm-smi/default.nix new file mode 100644 index 000000000000..1ed1d9135165 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rocm-smi/default.nix @@ -0,0 +1,30 @@ +{ lib, buildPythonApplication, fetchFromGitHub }: + +buildPythonApplication rec { + pname = "rocm-smi"; + version = "3.10.0"; + + src = fetchFromGitHub { + owner = "RadeonOpenCompute"; + repo = "ROC-smi"; + rev = "rocm-${version}"; + hash = "sha256-0QqaBMkqRVEl89x3hvWQGAgt7LbtMZPhuf7KenQYHaQ="; + }; + + format = "other"; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + install -Dm0755 rocm_smi.py $out/bin/rocm-smi + ''; + + meta = with lib; { + description = "System management interface for AMD GPUs supported by ROCm"; + homepage = "https://github.com/RadeonOpenCompute/ROC-smi"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ danieldk ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix new file mode 100644 index 000000000000..5078adbf3b7b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchFromGitHub, rofi, systemd, coreutils, util-linux, gawk, makeWrapper, jq +}: + +stdenv.mkDerivation rec { + pname = "rofi-systemd"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "IvanMalison"; + repo = "rofi-systemd"; + rev = "v${version}"; + sha256 = "0lgffb6rk1kf91j4j303lzpx8w2g9zy2gk99p8g8pk62a30c5asm"; + }; + + buildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/bin + cp -a rofi-systemd $out/bin/rofi-systemd + ''; + + wrapperPath = with stdenv.lib; makeBinPath [ + coreutils + gawk + jq + rofi + systemd + util-linux + ]; + + fixupPhase = '' + patchShebangs $out/bin + + wrapProgram $out/bin/rofi-systemd --prefix PATH : "${wrapperPath}" + ''; + + meta = { + description = "Control your systemd units using rofi"; + homepage = "https://github.com/IvanMalison/rofi-systemd"; + maintainers = with stdenv.lib.maintainers; [ imalison ]; + license = stdenv.lib.licenses.gpl3; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix new file mode 100644 index 000000000000..02462584c650 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rowhammer-test/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + name = "rowhammer-test-20150811"; + + src = fetchFromGitHub { + owner = "google"; + repo = "rowhammer-test"; + rev = "c1d2bd9f629281402c10bb10e52bc1f1faf59cc4"; # 2015-08-11 + sha256 = "1fbfcnm5gjish47wdvikcsgzlb5vnlfqlzzm6mwiw2j5qkq0914i"; + }; + + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isi686 "-Wno-error=format"; + + buildPhase = "sh -e make.sh"; + + installPhase = '' + mkdir -p $out/bin + cp rowhammer_test double_sided_rowhammer $out/bin + ''; + + meta = with stdenv.lib; { + description = "Test DRAM for bit flips caused by the rowhammer problem"; + homepage = "https://github.com/google/rowhammer-test"; + license = licenses.asl20; + maintainers = [ maintainers.viric ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/default.nix new file mode 100644 index 000000000000..7be7e5b3d379 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/default.nix @@ -0,0 +1,118 @@ +{ stdenv, fetchurl, pkgconfig, autoreconfHook, libestr, json_c, zlib, pythonPackages, fastJson +, libkrb5 ? null, systemd ? null, jemalloc ? null, libmysqlclient ? null, postgresql ? null +, libdbi ? null, net-snmp ? null, libuuid ? null, curl ? null, gnutls ? null +, libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null, libksi ? null +, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null +, libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null, mongoc ? null +, libmaxminddb ? null +, nixosTests ? null +}: + +with stdenv.lib; +let + mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}"; +in +stdenv.mkDerivation rec { + pname = "rsyslog"; + version = "8.2006.0"; + + src = fetchurl { + url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz"; + sha256 = "15wfhw2nmpiyjpp82jxqgcjy7wgbc2fswk5g6rbdqbvghrj9wn6r"; + }; + + #patches = [ ./fix-gnutls-detection.patch ]; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ + fastJson libestr json_c zlib pythonPackages.docutils libkrb5 jemalloc + postgresql libdbi net-snmp libuuid curl gnutls libgcrypt liblognorm openssl + librelp libksi liblogging libnet hadoop rdkafka libmongo-client czmq + rabbitmq-c hiredis mongoc libmaxminddb + ] ++ stdenv.lib.optional (libmysqlclient != null) libmysqlclient + ++ stdenv.lib.optional stdenv.isLinux systemd; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-systemdsystemunitdir=\${out}/etc/systemd/system" + (mkFlag true "largefile") + (mkFlag true "regexp") + (mkFlag (libkrb5 != null) "gssapi-krb5") + (mkFlag true "klog") + (mkFlag true "kmsg") + (mkFlag (systemd != null) "imjournal") + (mkFlag true "inet") + (mkFlag (jemalloc != null) "jemalloc") + (mkFlag true "unlimited-select") + (mkFlag false "debug") + (mkFlag false "debug-symbols") + (mkFlag true "debugless") + (mkFlag false "valgrind") + (mkFlag false "diagtools") + (mkFlag true "usertools") + (mkFlag (libmysqlclient != null) "mysql") + (mkFlag (postgresql != null) "pgsql") + (mkFlag (libdbi != null) "libdbi") + (mkFlag (net-snmp != null) "snmp") + (mkFlag (libuuid != null) "uuid") + (mkFlag (curl != null) "elasticsearch") + (mkFlag (gnutls != null) "gnutls") + (mkFlag (libgcrypt != null) "libgcrypt") + (mkFlag true "rsyslogrt") + (mkFlag true "rsyslogd") + (mkFlag true "mail") + (mkFlag (liblognorm != null) "mmnormalize") + (mkFlag (libmaxminddb != null) "mmdblookup") + (mkFlag true "mmjsonparse") + (mkFlag true "mmaudit") + (mkFlag true "mmanon") + (mkFlag true "mmutf8fix") + (mkFlag true "mmcount") + (mkFlag true "mmsequence") + (mkFlag true "mmfields") + (mkFlag true "mmpstrucdata") + (mkFlag (openssl != null) "mmrfc5424addhmac") + (mkFlag (librelp != null) "relp") + (mkFlag (libksi != null) "ksi-ls12") + (mkFlag (liblogging != null) "liblogging-stdlog") + (mkFlag (liblogging != null) "rfc3195") + (mkFlag true "imfile") + (mkFlag false "imsolaris") + (mkFlag true "imptcp") + (mkFlag true "impstats") + (mkFlag true "omprog") + (mkFlag (libnet != null) "omudpspoof") + (mkFlag true "omstdout") + (mkFlag (systemd != null) "omjournal") + (mkFlag true "pmlastmsg") + (mkFlag true "pmcisconames") + (mkFlag true "pmciscoios") + (mkFlag true "pmaixforwardedfrom") + (mkFlag true "pmsnare") + (mkFlag true "omruleset") + (mkFlag true "omuxsock") + (mkFlag true "mmsnmptrapd") + (mkFlag (hadoop != null) "omhdfs") + (mkFlag (rdkafka != null) "omkafka") + (mkFlag (libmongo-client != null) "ommongodb") + (mkFlag (czmq != null) "imczmq") + (mkFlag (czmq != null) "omczmq") + (mkFlag (rabbitmq-c != null) "omrabbitmq") + (mkFlag (hiredis != null) "omhiredis") + (mkFlag (curl != null) "omhttpfs") + (mkFlag true "generate-man-pages") + ]; + + passthru.tests = { + nixos-rsyslogd = nixosTests.rsyslogd; + }; + + meta = { + homepage = "https://www.rsyslog.com/"; + description = "Enhanced syslog implementation"; + changelog = "https://raw.githubusercontent.com/rsyslog/rsyslog/v${version}/ChangeLog"; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch new file mode 100644 index 000000000000..c8955ea57dc0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/rsyslog/fix-gnutls-detection.patch @@ -0,0 +1,60 @@ +From 588b4ca7412326abd51a5b2060eafbc04611e419 Mon Sep 17 00:00:00 2001 +From: Radovan Sroka <rsroka@redhat.com> +Date: Tue, 11 Aug 2015 17:09:15 +0200 +Subject: [PATCH] Fix detection of the GnuTLS package + +This commit fixes a number of issues that cropped up from these changes: +23c5b3e replace deprecated GnuTLS functions with newer ones if available +88f0651 bugfix: ommysql did not work when gnutls was enabled +ce560b6 build system: Failure action in AC_CHECK_LIB check for + +The solution is based on the assumption that the call to AC_CHECK_LIB() +was added purely to satisfy the subsequent calls to AC_CHECK_FUNCS(). +23c5b3e had the unintentional result of libgnutls being added to LIBS +and linked to undesired components. +The next commit removed libgnutls from LIBS which made the following +calls to AC_CHECK_FUNCS() nonfunctional. +Another commit made the processing not stop upon detecting a missing +component which, again, makes the calls to AC_CHECK_FUNCS() malfunction. + +The solution is to get rid of AC_CHECK_LIB() and temporarily override +LIBS for use by AC_CHECK_FUNCS(). +--- + configure.ac | 14 ++++---------- + 1 file changed, 4 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6f82f0c..ba3f791 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -763,18 +763,13 @@ AC_ARG_ENABLE(gnutls, + if test "x$enable_gnutls" = "xyes"; then + PKG_CHECK_MODULES(GNUTLS, gnutls >= 1.4.0) + AC_DEFINE([ENABLE_GNUTLS], [1], [Indicator that GnuTLS is present]) +- AC_CHECK_LIB( +- [gnutls], +- [gnutls_global_init], +- [ +- AC_DEFINE(HAVE_LIB_GNUTLS, 1, [gnutls is available]) +- ], +- [AC_MSG_WARN([gnutls_global_init function missing or not detected])], +- [] +- ) ++ save_libs=$LIBS ++ LIBS="$LIBS $GNUTLS_LIBS" + AC_CHECK_FUNCS(gnutls_certificate_set_retrieve_function,,) + AC_CHECK_FUNCS(gnutls_certificate_type_set_priority,,) ++ LIBS=$save_libs + fi ++ + AM_CONDITIONAL(ENABLE_GNUTLS, test x$enable_gnutls = xyes) + + # libgcrypt support +@@ -1655,7 +1650,6 @@ else + AC_MSG_NOTICE([Not running from git source]) + fi + +- + AM_CONDITIONAL(ENABLE_GENERATE_MAN_PAGES, test x$have_to_generate_man_pages = xyes) + + # rst2man diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/runit/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/runit/default.nix new file mode 100644 index 000000000000..acca0acf3ef9 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/runit/default.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchurl, darwin + +# Build runit-init as a static binary +, static ? false +}: + +stdenv.mkDerivation rec { + pname = "runit"; + version = "2.1.2"; + + src = fetchurl { + url = "http://smarden.org/runit/${pname}-${version}.tar.gz"; + sha256 = "065s8w62r6chjjs6m9hapcagy33m75nlnxb69vg0f4ngn061dl3g"; + }; + + patches = [ + ./fix-ar-ranlib.patch + ]; + + outputs = [ "out" "man" ]; + + sourceRoot = "admin/${pname}-${version}"; + + doCheck = true; + + buildInputs = stdenv.lib.optionals static [ stdenv.cc.libc stdenv.cc.libc.static ] ++ + stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.libs.utmp; + + postPatch = '' + sed -i "s,\(#define RUNIT\) .*,\1 \"$out/bin/runit\"," src/runit.h + # usernamespace sandbox of nix seems to conflict with runit's assumptions + # about unix users. Therefor skip the check + sed -i '/.\/chkshsgr/d' src/Makefile + '' + stdenv.lib.optionalString (!static) '' + sed -i 's,-static,,g' src/Makefile + ''; + + preBuild = '' + cd src + + # Both of these are originally hard-coded to gcc + echo ${stdenv.cc.targetPrefix}cc > conf-cc + echo ${stdenv.cc.targetPrefix}cc ${stdenv.lib.optionalString stdenv.isDarwin "-Xlinker -x "}> conf-ld + ''; + + installPhase = '' + mkdir -p $out/bin + cp -t $out/bin $(< ../package/commands) + + mkdir -p $man/share/man + cp -r ../man $man/share/man/man8 + ''; + + meta = with stdenv.lib; { + description = "UNIX init scheme with service supervision"; + license = licenses.bsd3; + homepage = "http://smarden.org/runit"; + maintainers = with maintainers; [ joachifm ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/runit/fix-ar-ranlib.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/runit/fix-ar-ranlib.patch new file mode 100644 index 000000000000..c65a037d5242 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/runit/fix-ar-ranlib.patch @@ -0,0 +1,18 @@ +--- runit-2.1.2/src/print-ar.sh ++++ runit-2.1.2/src/print-ar.sh +@@ -1,7 +1,7 @@ + cat warn-auto.sh + echo 'main="$1"; shift' + echo 'rm -f "$main"' +-echo 'ar cr "$main" ${1+"$@"}' ++echo '$AR cr "$main" ${1+"$@"}' + case "`cat systype`" in + sunos-5.*) ;; + unix_sv*) ;; +@@ -10,5 +10,5 @@ case "`cat systype`" in + dgux-*) ;; + hp-ux-*) ;; + sco*) ;; +- *) echo 'ranlib "$main"' ;; ++ *) echo '$RANLIB "$main"' ;; + esac diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/s-tui/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/s-tui/default.nix new file mode 100644 index 000000000000..1192a1762632 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/s-tui/default.nix @@ -0,0 +1,25 @@ +{ stdenv, python3Packages }: + +python3Packages.buildPythonPackage rec { + pname = "s-tui"; + version = "1.0.1"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "1gqrb2xxii43j7kszy7kvv4f6hr8ac4p0m9q8i1xs5fhsqcx186i"; + }; + + propagatedBuildInputs = with python3Packages; [ + urwid + psutil + ]; + + LC_ALL = "en_US.UTF-8"; + + meta = with stdenv.lib; { + homepage = "https://amanusk.github.io/s-tui/"; + description = "Stress-Terminal UI monitoring tool"; + license = licenses.gpl2; + maintainers = with maintainers; [ infinisil ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/s6-rc/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/s6-rc/default.nix new file mode 100644 index 000000000000..328dd3242d84 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/s6-rc/default.nix @@ -0,0 +1,42 @@ +{ stdenv, skawarePackages }: + +with skawarePackages; + +buildPackage { + pname = "s6-rc"; + version = "0.5.2.0"; + sha256 = "1qpygkajalaziszhwfv5rr6hc27q05z8dayyv7im06z6vndimchs"; + + description = "A service manager for s6-based systems"; + platforms = stdenv.lib.platforms.linux; + + outputs = [ "bin" "lib" "dev" "doc" "out" ]; + + configureFlags = [ + "--libdir=\${lib}/lib" + "--libexecdir=\${lib}/libexec" + "--dynlibdir=\${lib}/lib" + "--bindir=\${bin}/bin" + "--includedir=\${dev}/include" + "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps" + "--with-include=${skalibs.dev}/include" + "--with-include=${execline.dev}/include" + "--with-include=${s6.dev}/include" + "--with-lib=${skalibs.lib}/lib" + "--with-lib=${execline.lib}/lib" + "--with-lib=${s6.out}/lib" + "--with-dynlib=${skalibs.lib}/lib" + "--with-dynlib=${execline.lib}/lib" + "--with-dynlib=${s6.out}/lib" + ]; + + postInstall = '' + # remove all s6 executables from build directory + rm $(find -name "s6-rc-*" -type f -mindepth 1 -maxdepth 1 -executable) + rm s6-rc libs6rc.* + + mv doc $doc/share/doc/s6-rc/html + mv examples $doc/share/doc/s6-rc/examples + ''; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/s6/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/s6/default.nix new file mode 100644 index 000000000000..a0419c2d2ad4 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/s6/default.nix @@ -0,0 +1,42 @@ +{ skawarePackages }: + +with skawarePackages; + +buildPackage { + pname = "s6"; + version = "2.9.2.0"; + sha256 = "1pfxx50shncg2s47ic4kp02jh1cxfjq75j3mnxjagyzzz0mbfg9n"; + + description = "skarnet.org's small & secure supervision software suite"; + + # NOTE lib: cannot split lib from bin at the moment, + # since some parts of lib depend on executables in bin. + # (the `*_startf` functions in `libs6`) + outputs = [ /*"bin" "lib"*/ "out" "dev" "doc" ]; + + # TODO: nsss support + configureFlags = [ + "--libdir=\${out}/lib" + "--libexecdir=\${out}/libexec" + "--dynlibdir=\${out}/lib" + "--bindir=\${out}/bin" + "--includedir=\${dev}/include" + "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps" + "--with-include=${skalibs.dev}/include" + "--with-include=${execline.dev}/include" + "--with-lib=${skalibs.lib}/lib" + "--with-lib=${execline.lib}/lib" + "--with-dynlib=${skalibs.lib}/lib" + "--with-dynlib=${execline.lib}/lib" + ]; + + postInstall = '' + # remove all s6 executables from build directory + rm $(find -type f -mindepth 1 -maxdepth 1 -executable) + rm libs6.* + + mv doc $doc/share/doc/s6/html + mv examples $doc/share/doc/s6/examples + ''; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/safe-rm/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/safe-rm/default.nix new file mode 100644 index 000000000000..c188f066d180 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/safe-rm/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchgit, perl, coreutils }: + +stdenv.mkDerivation rec { + pname = "safe-rm"; + version = "0.12"; + + src = fetchgit { + url = "https://git.launchpad.net/safe-rm"; + rev = "refs/tags/${pname}-${version}"; + sha256 = "0zkmwxyl1870ar6jr9h537vmqgkckqs9jd1yv6m4qqzdsmg5gdbq"; + }; + + propagatedBuildInputs = [ perl coreutils ]; + + postFixup = '' + sed -e 's@/bin/rm@${coreutils}/bin/rm@' -i $out/bin/safe-rm + ''; + + installPhase = '' + mkdir -p $out/bin + cp safe-rm $out/bin + + mkdir -p $out/share/man/man1 + pod2man safe-rm > $out/share/man/man1/safe-rm.1 + ''; + + meta = with stdenv.lib; { + description = "Tool intended to prevent the accidental deletion of important files"; + homepage = "https://launchpad.net/safe-rm"; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = [ maintainers.koral ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/safecopy/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/safecopy/default.nix new file mode 100644 index 000000000000..e8db6a2fd39b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/safecopy/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "safecopy-1.7"; + + src = fetchurl { + url = "mirror://sourceforge/project/safecopy/safecopy/${name}/${name}.tar.gz"; + sha256 = "1zf4kk9r8za9pn4hzy1y3j02vrhl1rxfk5adyfq0w0k48xfyvys2"; + }; + + meta = { + description = "Data recovery tool for damaged hardware"; + + longDescription = + '' Safecopy is a data recovery tool which tries to extract as much data as possible from a + problematic (i.e. damaged sectors) source - like floppy drives, hard disk partitions, CDs, + tape devices, etc, where other tools like dd would fail due to I/O errors. + + Safecopy includes a low level IO layer to read CDROM disks in raw mode, and issue device + resets and other helpful low level operations on a number of other device classes. + ''; + + homepage = "http://safecopy.sourceforge.net"; + + license = stdenv.lib.licenses.gpl2Plus; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/setserial/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/setserial/default.nix new file mode 100644 index 000000000000..68ea32e1e8ac --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/setserial/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, groff }: + +stdenv.mkDerivation rec { + pname = "setserial"; + version = "2.17"; + + src = fetchurl { + url = "mirror://sourceforge/setserial/${pname}-${version}.tar.gz"; + sha256 = "0jkrnn3i8gbsl48k3civjmvxyv9rbm1qjha2cf2macdc439qfi3y"; + }; + + buildInputs = [ groff ]; + + installFlags = [ "DESTDIR=$(out)" ]; + + postConfigure = '' + sed -e s@/usr/man/@/share/man/@ -i Makefile + ''; + + preInstall = ''mkdir -p "$out/bin" "$out/share/man/man8"''; + + meta = { + description = "Serial port configuration utility"; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/sg3_utils/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/sg3_utils/default.nix new file mode 100644 index 000000000000..45e3287511a3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/sg3_utils/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "sg3_utils-1.45"; + + src = fetchurl { + url = "http://sg.danny.cz/sg/p/${name}.tgz"; + sha256 = "0qasc3qm4i8swjfaywiwpgz76gdxqvm47qycxgmprbsjmxqwk1qb"; + }; + + meta = with stdenv.lib; { + homepage = "http://sg.danny.cz/sg/"; + description = "Utilities that send SCSI commands to devices"; + platforms = platforms.linux; + license = with licenses; [ bsd2 gpl2Plus ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/sleuthkit/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/sleuthkit/default.nix new file mode 100644 index 000000000000..8dbc28d3a314 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/sleuthkit/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }: + +stdenv.mkDerivation rec { + version = "4.6.5"; + pname = "sleuthkit"; + + src = fetchFromGitHub { + owner = "sleuthkit"; + repo = "sleuthkit"; + rev = "${pname}-${version}"; + sha256 = "1q1cdixnfv9v4qlzza8xwdsyvq1vdw6gjgkd41yc1d57ldp1qm0c"; + }; + + postPatch = '' + substituteInPlace tsk/img/ewf.c --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset + ''; + + enableParallelBuilding = true; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ libewf afflib openssl zlib ]; + + # Hack to fix the RPATH. + preFixup = "rm -rf */.libs"; + + meta = { + description = "A forensic/data recovery tool"; + homepage = "https://www.sleuthkit.org/"; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.ipl10; + inherit version; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/default.nix new file mode 100644 index 000000000000..5d9196fcc163 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, autoreconfHook +, mailutils, inetutils +, IOKit ? null , ApplicationServices ? null }: + +let + version = "7.1"; + + dbrev = "5062"; + drivedbBranch = "RELEASE_7_0_DRIVEDB"; + driverdb = fetchurl { + url = "https://sourceforge.net/p/smartmontools/code/${dbrev}/tree/branches/${drivedbBranch}/smartmontools/drivedb.h?format=raw"; + sha256 = "0gggl55h9gq0z846ndhyd7xrpxh8lqfbidblx0598q2wlh9rvlww"; + name = "smartmontools-drivedb.h"; + }; + +in stdenv.mkDerivation rec { + pname = "smartmontools"; + inherit version; + + src = fetchurl { + url = "mirror://sourceforge/smartmontools/${pname}-${version}.tar.gz"; + sha256 = "0imqb7ka4ia5573w8rnpck571pjjc9698pdjcapy9cfyk4n4swrz"; + }; + + patches = [ ./smartmontools.patch ]; + postPatch = "cp -v ${driverdb} drivedb.h"; + + configureFlags = [ + "--with-scriptpath=${stdenv.lib.makeBinPath [ mailutils inetutils ]}" + ]; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [] ++ stdenv.lib.optionals stdenv.isDarwin [IOKit ApplicationServices]; + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Tools for monitoring the health of hard drives"; + homepage = "https://www.smartmontools.org/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ peti Frostman ]; + platforms = with platforms; linux ++ darwin; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/smartmontools.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/smartmontools.patch new file mode 100644 index 000000000000..144b2be2d334 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/smartmontools/smartmontools.patch @@ -0,0 +1,26 @@ +diff --git a/../smartmontools-6.5/configure b/./configure +index acb028a..5e2c7a1 100755 +--- a/../smartmontools-6.5/configure ++++ b/./configure +@@ -6703,7 +6703,7 @@ fi + ;; + *-*-darwin*) + os_deps='os_darwin.o' +- os_libs='-framework CoreFoundation -framework IOKit' ++ os_libs='-framework ApplicationServices -framework IOKit' + os_darwin=yes + os_man_filter=Darwin + ;; +diff --git a/../smartmontools-6.5/configure.ac b/./configure.ac +index 6bd61d7..32ff50c 100644 +--- a/../smartmontools-6.5/configure.ac ++++ b/./configure.ac +@@ -508,7 +508,7 @@ case "${host}" in + ;; + *-*-darwin*) + os_deps='os_darwin.o' +- os_libs='-framework CoreFoundation -framework IOKit' ++ os_libs='-framework ApplicationServices -framework IOKit' + os_darwin=yes + os_man_filter=Darwin + ;; diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/snooze/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/snooze/default.nix new file mode 100644 index 000000000000..fb1ceaf897b8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/snooze/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchFromGitHub }: +stdenv.mkDerivation rec { + pname = "snooze"; + version = "0.4"; + src = fetchFromGitHub { + owner = "leahneukirchen"; + repo = "snooze"; + rev = "v${version}"; + sha256 = "0a114brvvjf6vl7grviv0gd6gmikr447m8kq1wilp4yj51sfyxa9"; + }; + makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; + + meta = with stdenv.lib; { + description = "Tool for waiting until a particular time and then running a command"; + maintainers = with maintainers; [ kaction ]; + license = licenses.cc0; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/socklog/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/socklog/default.nix new file mode 100644 index 000000000000..cf7fbe5e9a13 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/socklog/default.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchurl }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + pname = "socklog"; + version = "2.1.0"; + + src = fetchurl { + url = "http://smarden.org/socklog/socklog-${version}.tar.gz"; + sha256 = "0mdlmhiq2j2fip7c4l669ams85yc3c1s1d89am7dl170grw9m1ma"; + }; + + sourceRoot = "admin/socklog-${version}"; + + outputs = [ "out" "man" "doc" ]; + + postPatch = '' + # Fails to run as user without supplementary groups + echo "int main() { return 0; }" >src/chkshsgr.c + + # Fixup implicit function declarations + sed -i src/pathexec_run.c -e '1i#include <unistd.h>' + sed -i src/prot.c -e '1i#include <unistd.h>' -e '2i#include <grp.h>' + sed -i src/seek_set.c -e '1i#include <unistd.h>' + ''; + + configurePhase = '' + echo "$NIX_CC/bin/cc $NIX_CFLAGS_COMPILE" >src/conf-cc + echo "$NIX_CC/bin/cc -s" >src/conf-ld + ''; + + buildPhase = ''package/compile''; + + installPhase = '' + mkdir -p $out/bin + mv command"/"* $out/bin + + for i in {1,8} ; do + mkdir -p $man/share/man/man$i + mv man"/"*.$i $man/share/man/man$i + done + + mkdir -p $doc/share/doc/socklog/html + mv doc/*.html $doc/share/doc/socklog/html/ + ''; + + checkPhase = ''package/check''; + + doCheck = true; + + meta = { + description = "System and kernel logging services"; + homepage = "http://smarden.org/socklog/"; + license = licenses.publicDomain; + platforms = platforms.unix; + maintainers = [ maintainers.joachifm ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/stress-ng/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/stress-ng/default.nix new file mode 100644 index 000000000000..9939f9ea1542 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/stress-ng/default.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchurl +, attr, judy, keyutils, libaio, libapparmor, libbsd, libcap, libgcrypt, lksctp-tools, zlib +}: + +stdenv.mkDerivation rec { + pname = "stress-ng"; + version = "0.11.19"; + + src = fetchurl { + url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz"; + sha256 = "0s08qahjc68h5qhnahmb9z19l51p5sw2pmzrlknq1j5900zpa2x5"; + }; + + postPatch = '' + sed -i '/\#include <bsd\/string.h>/i #undef HAVE_STRLCAT\n#undef HAVE_STRLCPY' stress-ng.h + ''; # needed because of Darwin patch on libbsd + + # All platforms inputs then Linux-only ones + buildInputs = [ judy libbsd libgcrypt zlib ] + ++ stdenv.lib.optionals stdenv.hostPlatform.isLinux [ + attr keyutils libaio libapparmor libcap lksctp-tools + ]; + + makeFlags = [ + "BINDIR=${placeholder "out"}/bin" + "MANDIR=${placeholder "out"}/share/man/man1" + "JOBDIR=${placeholder "out"}/share/stress-ng/example-jobs" + "BASHDIR=${placeholder "out"}/share/bash-completion/completions" + ]; + + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.hostPlatform.isMusl "-D_LINUX_SYSINFO_H=1"; + + # Won't build on i686 because the binary will be linked again in the + # install phase without checking the dependencies. This will prevent + # triggering the rebuild. Why this only happens on i686 remains a + # mystery, though. :-( + enableParallelBuilding = (!stdenv.isi686); + + meta = with stdenv.lib; { + description = "Stress test a computer system"; + longDescription = '' + stress-ng will stress test a computer system in various selectable ways. It + was designed to exercise various physical subsystems of a computer as well as + the various operating system kernel interfaces. Stress-ng features: + + * over 210 stress tests + * over 50 CPU specific stress tests that exercise floating point, integer, + bit manipulation and control flow + * over 20 virtual memory stress tests + * portable: builds on Linux, Solaris, *BSD, Minix, Android, MacOS X, + Debian Hurd, Haiku, Windows Subsystem for Linux and SunOs/Dilos with + gcc, clang, tcc and pcc. + + stress-ng was originally intended to make a machine work hard and trip hardware + issues such as thermal overruns as well as operating system bugs that only + occur when a system is being thrashed hard. Use stress-ng with caution as some + of the tests can make a system run hot on poorly designed hardware and also can + cause excessive system thrashing which may be difficult to stop. + + stress-ng can also measure test throughput rates; this can be useful to observe + performance changes across different operating system releases or types of + hardware. However, it has never been intended to be used as a precise benchmark + test suite, so do NOT use it in this manner. + ''; + homepage = "https://kernel.ubuntu.com/~cking/stress-ng/"; + downloadPage = "https://kernel.ubuntu.com/~cking/tarballs/stress-ng/"; + changelog = "https://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog?h=V${version}"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ c0bw3b ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/stress/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/stress/default.nix new file mode 100644 index 000000000000..1595e8347e15 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/stress/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "stress-1.0.4"; + + src = fetchurl { + url = "https://people.seas.harvard.edu/~apw/stress/${name}.tar.gz"; + sha256 = "0nw210jajk38m3y7h8s130ps2qsbz7j75wab07hi2r3hlz14yzh5"; + }; + + meta = with stdenv.lib; { + description = "Simple workload generator for POSIX systems. It imposes a configurable amount of CPU, memory, I/O, and disk stress on the system"; + license = licenses.gpl2; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/suid-chroot/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/suid-chroot/default.nix new file mode 100644 index 000000000000..9697748e056d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/suid-chroot/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "suid-chroot"; + version = "1.0.2"; + + src = fetchurl { + sha256 = "1a9xqhck0ikn8kfjk338h9v1yjn113gd83q0c50k78xa68xrnxjx"; + url = "http://myweb.tiscali.co.uk/scottrix/linux/download/${pname}-${version}.tar.bz2"; + }; + + postPatch = '' + substituteInPlace Makefile --replace /usr $out + sed -i -e '/chmod u+s/d' Makefile + ''; + + meta = with stdenv.lib; { + description = "Setuid-safe wrapper for chroot"; + license = licenses.gpl2Plus; + platforms = with platforms; unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/supervise/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/supervise/default.nix new file mode 100644 index 000000000000..cbf96818f486 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/supervise/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchzip }: + +stdenv.mkDerivation rec { + + pname = "supervise"; + version = "1.4.0"; + + src = fetchzip { + url = "https://github.com/catern/supervise/releases/download/v${version}/supervise-${version}.tar.gz"; + sha256 = "0jk6q2f67pfs18ah040lmsbvbrnjap7w04jjddsfn1j5bcrvs13x"; + }; + + meta = with stdenv.lib; { + homepage = "https://github.com/catern/supervise"; + description = "A minimal unprivileged process supervisor making use of modern Linux features"; + platforms = platforms.linux; + license = licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ catern ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/symlinks/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/symlinks/default.nix new file mode 100644 index 000000000000..93a6bbf0c75b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/symlinks/default.nix @@ -0,0 +1,27 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + pname = "symlinks"; + version = "1.4.3"; + + src = fetchurl { + url = "https://github.com/brandt/symlinks/archive/v${version}.tar.gz"; + sha256 = "1cihrd3dap52z1msdhhgda7b7wy1l5ysfvyba8yxb3zjk0l5n417"; + }; + + buildFlags = [ "CC=${stdenv.cc}/bin/cc" ]; + + installPhase = '' + mkdir -p $out/bin $out/share/man/man8 + cp symlinks $out/bin + cp symlinks.8 $out/share/man/man8 + ''; + + meta = with stdenv.lib; { + description = "Find and remedy problematic symbolic links on a system"; + homepage = "https://github.com/brandt/symlinks"; + license = licenses.mit; + maintainers = with maintainers; [ goibhniu ckauhaus ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix new file mode 100644 index 000000000000..5d802dbed7e5 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, syslogng +, eventlog, perl, python, yacc, protobufc, libivykis, libcap, czmq +}: + +stdenv.mkDerivation rec { + pname = "syslog-ng-incubator"; + version = "0.6.2"; + + src = fetchFromGitHub { + owner = "balabit"; + repo = "syslog-ng-incubator"; + rev = "${pname}-${version}"; + sha256 = "17y85cqcyfbp882gaii731cvz5bg1s8rgda271jh6kgnrz5rbd4s"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook yacc ]; + + buildInputs = [ + glib syslogng eventlog perl python protobufc libivykis libcap czmq + ]; + + configureFlags = [ + "--with-module-dir=$(out)/lib/syslog-ng" + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/balabit/syslog-ng-incubator"; + description = "A collection of tools and modules for syslog-ng"; + license = licenses.gpl2; + maintainers = []; + platforms = platforms.linux; + broken = true; # 2018-05-12 + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng/default.nix new file mode 100644 index 000000000000..eeb2a99740ee --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/syslog-ng/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchurl, openssl, libcap, curl, which +, eventlog, pkgconfig, glib, python, systemd, perl +, riemann_c_client, protobufc, pcre, libnet +, json_c, libuuid, libivykis, mongoc, rabbitmq-c +, libesmtp +}: + +stdenv.mkDerivation rec { + pname = "syslog-ng"; + version = "3.28.1"; + + src = fetchurl { + url = "https://github.com/${pname}/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz"; + sha256 = "1s56q8k69sdrqsh3y9lr4di01fqw7xb49wr0dz75jmz084yg8kmg"; + }; + + nativeBuildInputs = [ pkgconfig which ]; + + buildInputs = [ + libcap + curl + openssl + eventlog + glib + perl + python + systemd + riemann_c_client + protobufc + pcre + libnet + json_c + libuuid + libivykis + mongoc + rabbitmq-c + libesmtp + ]; + + configureFlags = [ + "--enable-manpages" + "--enable-dynamic-linking" + "--enable-systemd" + "--enable-smtp" + "--with-ivykis=system" + "--with-librabbitmq-client=system" + "--with-mongoc=system" + "--with-jsonc=system" + "--with-systemd-journal=system" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + ]; + + outputs = [ "out" "man" ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "https://www.syslog-ng.com"; + description = "Next-generation syslogd with advanced networking and filtering capabilities"; + license = licenses.gpl2; + maintainers = with maintainers; [ fpletz ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix new file mode 100644 index 000000000000..d10cbb197c50 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix @@ -0,0 +1,23 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "SystemdJournal2Gelf-unstable"; + version = "20200813"; + + src = fetchFromGitHub { + rev = "d389dc8583b752cbd37c389a55a6c82200e47394"; + owner = "parse-nl"; + repo = "SystemdJournal2Gelf"; + sha256 = "0p38r5kdfcn6n2d44dygrs5xgv51s5qlsfhzzwn16r3n6x91s62b"; + fetchSubmodules = true; + }; + + goPackagePath = "github.com/parse-nl/SystemdJournal2Gelf"; + + meta = with stdenv.lib; { + description = "Export entries from systemd's journal and send them to a graylog server using gelf"; + license = licenses.bsd2; + maintainers = with maintainers; [ fadenb fpletz ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/testdisk/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/testdisk/default.nix new file mode 100644 index 000000000000..bbece24bf655 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/testdisk/default.nix @@ -0,0 +1,68 @@ +{ mkDerivation +, stdenv +, fetchurl +, ncurses +, libuuid +, pkgconfig +, libjpeg +, zlib +, libewf +, enableNtfs ? !stdenv.isDarwin, ntfs3g ? null +, enableExtFs ? !stdenv.isDarwin, e2fsprogs ? null +, enableQt ? false, qtbase ? null, qttools ? null, qwt ? null +}: + +assert enableNtfs -> ntfs3g != null; +assert enableExtFs -> e2fsprogs != null; +assert enableQt -> qtbase != null; +assert enableQt -> qttools != null; +assert enableQt -> qwt != null; + +(if enableQt then mkDerivation else stdenv.mkDerivation) rec { + pname = "testdisk"; + version = "7.1"; + src = fetchurl { + url = "https://www.cgsecurity.org/testdisk-${version}.tar.bz2"; + sha256 = "1zlh44w67py416hkvw6nrfmjickc2d43v51vcli5p374d5sw84ql"; + }; + + enableParallelBuilding = true; + + buildInputs = [ + ncurses + libuuid + libjpeg + zlib + libewf + ] + ++ stdenv.lib.optional enableNtfs ntfs3g + ++ stdenv.lib.optional enableExtFs e2fsprogs + ++ stdenv.lib.optionals enableQt [ qtbase qttools qwt ]; + + nativeBuildInputs = [ pkgconfig ]; + + NIX_CFLAGS_COMPILE="-Wno-unused"; + + meta = with stdenv.lib; { + homepage = "https://www.cgsecurity.org/wiki/Main_Page"; + downloadPage = "https://www.cgsecurity.org/wiki/TestDisk_Download"; + description = "Data recovery utilities"; + longDescription = '' + TestDisk is a powerful free data recovery software. It was primarily + designed to help recover lost partitions and/or make non-booting disks + bootable again when these symptoms are caused by faulty software: certain + types of viruses or human error (such as accidentally deleting a + Partition Table). + + PhotoRec is a file data recovery software designed to recover lost files + including video, documents and archives from hard disks, CD-ROMs, and + lost pictures (thus the Photo Recovery name) from digital camera memory. + PhotoRec ignores the file system and goes after the underlying data, so + it will still work even if your media's file system has been severely + damaged or reformatted. + ''; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.all; + maintainers = with maintainers; [ fgaz eelco ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/thermald/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/thermald/default.nix new file mode 100644 index 000000000000..4c076db7b8c0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/thermald/default.nix @@ -0,0 +1,74 @@ +{ autoconf +, autoconf-archive +, automake +, dbus +, dbus-glib +, docbook_xml_dtd_412 +, docbook-xsl-nons +, fetchFromGitHub +, gtk-doc +, libevdev +, libtool +, libxml2 +, lzma +, pkgconfig +, stdenv +, upower +}: + +stdenv.mkDerivation rec { + pname = "thermald"; + version = "2.4.1"; + + outputs = [ "out" "devdoc" ]; + + src = fetchFromGitHub { + owner = "intel"; + repo = "thermal_daemon"; + rev = "v${version}"; + sha256 = "0rlac7v1b59m7gh767hkd8a0r4p001nd24786fnmryygbxynd2s6"; + }; + + nativeBuildInputs = [ + autoconf + autoconf-archive + automake + docbook-xsl-nons + docbook_xml_dtd_412 + gtk-doc + libtool + pkgconfig + ]; + + buildInputs = [ + dbus + dbus-glib + libevdev + libxml2 + lzma + upower + ]; + + configureFlags = [ + "--sysconfdir=${placeholder "out"}/etc" + "--localstatedir=/var" + "--enable-gtk-doc" + "--with-dbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d" + "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" + ]; + + preConfigure = "NO_CONFIGURE=1 ./autogen.sh"; + + postInstall = '' + cp ./data/thermal-conf.xml $out/etc/thermald/ + ''; + + meta = with stdenv.lib; { + description = "Thermal Daemon"; + homepage = "https://01.org/linux-thermal-daemon"; + changelog = "https://github.com/intel/thermal_daemon/blob/master/README.txt"; + license = licenses.gpl2Plus; + platforms = [ "x86_64-linux" "i686-linux" ]; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/thinkfan/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/thinkfan/default.nix new file mode 100644 index 000000000000..62c299cce7a3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/thinkfan/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, cmake, libyamlcpp, pkgconfig +, smartSupport ? false, libatasmart }: + +stdenv.mkDerivation rec { + pname = "thinkfan"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "vmatare"; + repo = "thinkfan"; + rev = version; + sha256 = "1fxd1w3z65glw6y04myn7ihgswkx6sqnkky159mik4n96pfrsvr5"; + }; + + cmakeFlags = [ + "-DCMAKE_INSTALL_DOCDIR=share/doc/${pname}" + "-DUSE_NVML=OFF" + ] ++ stdenv.lib.optional smartSupport "-DUSE_ATASMART=ON"; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ libyamlcpp ] ++ stdenv.lib.optional smartSupport libatasmart; + + installPhase = '' + runHook preInstall + + install -Dm755 {.,$out/bin}/thinkfan + + cd "$NIX_BUILD_TOP"; cd "$sourceRoot" # attempt to be a bit robust + install -Dm644 {.,$out/share/doc/thinkfan}/README + cp -R examples $out/share/doc/thinkfan + install -Dm644 {src,$out/share/man/man1}/thinkfan.1 + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "A minimalist fan control program"; + longDescription = "A minimalist fan control program. Originally designed +specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via +the sysfs hwmon interface (/sys/class/hwmon)."; + license = licenses.gpl3; + homepage = "https://github.com/vmatare/thinkfan"; + maintainers = with maintainers; [ domenkozar ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/throttled/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/throttled/default.nix new file mode 100644 index 000000000000..b19e4c471c00 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/throttled/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, python3Packages }: + +stdenv.mkDerivation rec { + pname = "throttled"; + version = "0.8"; + + src = fetchFromGitHub { + owner = "erpalma"; + repo = pname; + rev = "v${version}"; + sha256 = "0qw124gdgjqij3xhgg8j1mdsg6j0xg340as5qf8hd3gwc38sqi9x"; + }; + + nativeBuildInputs = [ python3Packages.wrapPython ]; + + pythonPath = with python3Packages; [ + configparser + dbus-python + pygobject3 + ]; + + # The upstream unit both assumes the install location, and tries to run in a virtualenv + postPatch = ''sed -e 's|ExecStart=.*|ExecStart=${placeholder "out"}/bin/lenovo_fix.py|' -i systemd/lenovo_fix.service''; + + installPhase = '' + runHook preInstall + install -D -m755 -t $out/bin lenovo_fix.py + install -D -t $out/bin lenovo_fix.py mmio.py + install -D -m644 -t $out/etc etc/* + install -D -m644 -t $out/lib/systemd/system systemd/* + runHook postInstall + ''; + + postFixup = ''wrapPythonPrograms''; + + meta = with stdenv.lib; { + description = "Fix for Intel CPU throttling issues"; + homepage = "https://github.com/erpalma/throttled"; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ michaelpj ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/tm/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/tm/default.nix new file mode 100644 index 000000000000..390eae4de50a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/tm/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + + name = "tm-0.4.1"; + + installPhase=''make install "PREFIX=$out"''; + + patchPhase = '' + sed -i 's@/usr/bin/install@install@g ; s/gcc/cc/g' Makefile + ''; + + src = fetchurl { + url = "http://vicerveza.homeunix.net/~viric/soft/tm/tm-0.4.1.tar.gz"; + sha256 = "3b389bc03b6964ad5ffa57a344b891fdbcf7c9b2604adda723a863f83657c4a0"; + }; + + meta = with stdenv.lib; { + homepage = "http://vicerveza.homeunix.net/~viric/soft/tm"; + description = "Terminal mixer - multiplexer for the i/o of terminal applications"; + license = licenses.gpl2; + maintainers = with maintainers; [ viric ]; + platforms = platforms.all; + }; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/tre-command/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/tre-command/default.nix new file mode 100644 index 000000000000..c3241a04587b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/tre-command/default.nix @@ -0,0 +1,28 @@ +{ rustPlatform, fetchFromGitHub, stdenv, installShellFiles }: + +rustPlatform.buildRustPackage rec { + pname = "tre-command"; + version = "0.3.3"; + + src = fetchFromGitHub { + owner = "dduan"; + repo = "tre"; + rev = "v${version}"; + sha256 = "10c8mpqzpw7m3vrm2vl2rx678z3c37hxpqyh3fn83dlh9f4f0j87"; + }; + + cargoSha256 = "0jd6cfs2zi2n34kirpsy12l76whaqwm1pkqa57w1ms5z658z07wj"; + + nativeBuildInputs = [ installShellFiles ]; + + preFixup = '' + installManPage manual/tre.1 + ''; + + meta = with stdenv.lib; { + description = "Tree command, improved"; + homepage = "https://github.com/dduan/tre"; + license = licenses.mit; + maintainers = [ maintainers.dduan ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/tree/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/tree/default.nix new file mode 100644 index 000000000000..24d11a9c0ee8 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/tree/default.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchurl }: + +let + version = "1.8.0"; + + # These settings are found in the Makefile, but there seems to be no + # way to select one ore the other setting other than editing the file + # manually, so we have to duplicate the know how here. + systemFlags = with stdenv; + if isDarwin then '' + CFLAGS="-O2 -Wall -fomit-frame-pointer" + LDFLAGS= + EXTRA_OBJS=strverscmp.o + '' else if isCygwin then '' + CFLAGS="-O2 -Wall -fomit-frame-pointer -DCYGWIN" + LDFLAGS=-s + TREE_DEST=tree.exe + EXTRA_OBJS=strverscmp.o + '' else if (isFreeBSD || isOpenBSD) then '' + CFLAGS="-O2 -Wall -fomit-frame-pointer" + LDFLAGS=-s + EXTRA_OBJS=strverscmp.o + '' else + ""; # use linux flags by default +in +stdenv.mkDerivation { + pname = "tree"; + inherit version; + + src = fetchurl { + url = "http://mama.indstate.edu/users/ice/tree/src/tree-${version}.tgz"; + sha256 = "1hmpz6k0mr6salv0nprvm1g0rdjva1kx03bdf1scw8a38d5mspbi"; + }; + + configurePhase = '' + sed -i Makefile -e 's|^OBJS=|OBJS=$(EXTRA_OBJS) |' + makeFlagsArray=( + prefix=$out + MANDIR=$out/share/man/man1 + ${systemFlags} + CC="$CC" + ) + ''; + + meta = { + homepage = "http://mama.indstate.edu/users/ice/tree/"; + description = "Command to produce a depth indented directory listing"; + license = stdenv.lib.licenses.gpl2; + + longDescription = '' + Tree is a recursive directory listing command that produces a + depth indented listing of files, which is colorized ala dircolors if + the LS_COLORS environment variable is set and output is to tty. + ''; + + platforms = stdenv.lib.platforms.all; + maintainers = [stdenv.lib.maintainers.peti]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/ts/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/ts/default.nix new file mode 100644 index 000000000000..4046b3638112 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/ts/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl +, sendmailPath ? "/run/wrappers/bin/sendmail" +}: + +stdenv.mkDerivation rec { + + name = "ts-1.0"; + + installPhase=''make install "PREFIX=$out"''; + + patchPhase = '' + sed -i s,/usr/sbin/sendmail,${sendmailPath}, mail.c ts.1 + ''; + + src = fetchurl { + url = "http://viric.name/~viric/soft/ts/${name}.tar.gz"; + sha256 = "15dkzczx10fhl0zs9bmcgkxfbwq2znc7bpscljm4rchbzx7y6lsg"; + }; + + meta = with stdenv.lib; { + homepage = "http://vicerveza.homeunix.net/~viric/soft/ts"; + description = "Task spooler - batch queue"; + license = licenses.gpl2; + maintainers = with maintainers; [ viric ]; + platforms = platforms.all; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/tuptime/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/tuptime/default.nix new file mode 100644 index 000000000000..213a79fe2700 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/tuptime/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchFromGitHub +, makeWrapper, installShellFiles +, python3, sqlite }: + +stdenv.mkDerivation rec { + pname = "tuptime"; + version = "5.0.1"; + + src = fetchFromGitHub { + owner = "rfrail3"; + repo = "tuptime"; + rev = version; + sha256 = "0nk3yyjavgmc435vj3f0siw4y5nwipsbcsvsf5m7mgvq0xi8f3ls"; + }; + + nativeBuildInputs = [ makeWrapper installShellFiles ]; + + buildInputs = [ python3 ]; + + outputs = [ "out" "man" ]; + + installPhase = '' + mkdir -p $out/bin + install -m 755 $src/src/tuptime $out/bin/ + + installManPage $src/src/man/tuptime.1 + + install -Dm 0755 $src/misc/scripts/db-tuptime-migrate-4.0-to-5.0.sh \ + $out/share/tuptime/db-tuptime-migrate-4.0-to-5.0.sh + ''; + + preFixup = '' + wrapProgram $out/share/tuptime/db-tuptime-migrate-4.0-to-5.0.sh \ + --prefix PATH : "${stdenv.lib.makeBinPath [ sqlite ]}" + ''; + + meta = with stdenv.lib; { + description = "Total uptime & downtime statistics utility"; + homepage = "https://github.com/rfrail3/tuptime"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = [ maintainers.evils ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/common.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/common.nix new file mode 100644 index 000000000000..7d5ee82dcf98 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/common.nix @@ -0,0 +1,39 @@ +{ version, sha256, installFiles }: +{ lib, mkDerivation, fetchFromGitHub, qtbase, qmake, cmake, zip }: + +mkDerivation rec { + passthru = { + inherit version; + inherit sha256; + inherit installFiles; + }; + pname = "uefitool"; + inherit version; + + src = fetchFromGitHub { + inherit sha256; + owner = "LongSoft"; + repo = pname; + rev = version; + }; + + buildInputs = [ qtbase ]; + nativeBuildInputs = [ qmake cmake zip ]; + + configurePhase = ":"; + buildPhase = "bash unixbuild.sh"; + + installPhase = '' + mkdir -p "$out"/bin + cp ${lib.concatStringsSep " " installFiles} "$out"/bin + ''; + + meta = with lib; { + description = "UEFI firmware image viewer and editor"; + homepage = "https://github.com/LongSoft/uefitool"; + license = licenses.bsd2; + maintainers = with maintainers; [ ajs124 ]; + # uefitool supposedly works on other platforms, but their build script only works on linux in nixpkgs + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/variants.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/variants.nix new file mode 100644 index 000000000000..0e8d7285aab6 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/uefitool/variants.nix @@ -0,0 +1,15 @@ +{ libsForQt5 }: +let + common = opts: libsForQt5.callPackage (import ./common.nix opts) {}; +in rec { + new-engine = common rec { + version = "A58"; + sha256 = "131hkyr07fg7rnr938yyj0gk528x3402dhisav221c27v84zb7pn"; + installFiles = [ "UEFITool/UEFITool" "UEFIFind/UEFIFind" "UEFIExtract/UEFIExtract" ]; + }; + old-engine = common rec { + version = "0.28.0"; + sha256 = "1n2hd2dysi5bv2iyq40phh1jxc48gdwzs414vfbxvcharcwapnja"; + installFiles = [ "UEFITool" "UEFIReplace/UEFIReplace" "UEFIPatch/UEFIPatch" ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/undaemonize/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/undaemonize/default.nix new file mode 100644 index 000000000000..e82ee18b8314 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/undaemonize/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + name = "undaemonize-2017-07-11"; + src = fetchFromGitHub { + repo = "undaemonize"; + owner = "nickstenning"; + rev = "a181cfd900851543ee1f85fe8f76bc8916b446d4"; + sha256 = "1fkrgj3xfhj820qagh5p0rabl8z2hpad6yp984v92h9pgbfwxs33"; + }; + installPhase = '' + install -D undaemonize $out/bin/undaemonize + ''; + meta = { + description = "Tiny helper utility to force programs which insist on daemonizing themselves to run in the foreground"; + homepage = "https://github.com/nickstenning/undaemonize"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.canndrew ]; + platforms = stdenv.lib.platforms.linux; + }; +} + diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/default.nix new file mode 100644 index 000000000000..e9224977542f --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, autoreconfHook }: + +stdenv.mkDerivation rec { + pname = "uptimed"; + version = "0.4.2"; + + src = fetchFromGitHub { + sha256 = "0wnnpjfxnycigqj6hag0n6p5piss8cv40y9jda72d9s4df5n91z8"; + rev = "v${version}"; + repo = "uptimed"; + owner = "rpodgorny"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + patches = [ ./no-var-spool-install.patch ]; + + meta = with stdenv.lib; { + description = "Uptime record daemon"; + longDescription = '' + An uptime record daemon keeping track of the highest uptimes a computer + system ever had. It uses the system boot time to keep sessions apart from + each other. Uptimed comes with a console front-end to parse the records, + which can also easily be used to show your records on a web page. + ''; + homepage = "https://github.com/rpodgorny/uptimed/"; + license = licenses.gpl2; + platforms = platforms.linux; + }; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/no-var-spool-install.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/no-var-spool-install.patch new file mode 100644 index 000000000000..f591aad4b504 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/uptimed/no-var-spool-install.patch @@ -0,0 +1,15 @@ +diff -rc uptimed-0.3.16/Makefile.am uptimed-0.3.16-new/Makefile.am +*** uptimed-0.3.16/Makefile.am 2009-01-02 00:46:00.000000000 +0100 +--- uptimed-0.3.16-new/Makefile.am 2009-09-16 09:24:29.952524967 +0200 +*************** +*** 8,16 **** + + AM_CFLAGS = @CFLAGS@ -DFILE_CONFIG=\"$(sysconfdir)/uptimed.conf\" + +- install-data-local: +- $(INSTALL) -d $(DESTDIR)/var/spool/uptimed +- + srpm: dist + @(rpmbuild -ts uptimed-$(PACKAGE_VERSION).tar.gz) + +--- 8,13 ---- diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/vbetool/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/vbetool/default.nix new file mode 100644 index 000000000000..dc2ec24e594a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/vbetool/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pciutils, libx86, zlib }: + +stdenv.mkDerivation rec { + pname = "vbetool"; + version = "1.1"; + + src = fetchurl { + url = "https://www.codon.org.uk/~mjg59/vbetool/download/${pname}-${version}.tar.gz"; + sha256 = "0m7rc9v8nz6w9x4x96maza139kin6lg4hscy6i13fna4672ds9jd"; + }; + + buildInputs = [ pciutils libx86 zlib ]; + + patchPhase = '' + substituteInPlace Makefile.in --replace '$(libdir)/libpci.a' "" + ''; + + configureFlags = [ "LDFLAGS=-lpci" ]; + + meta = with stdenv.lib; { + description = "Video BIOS execution tool"; + homepage = "http://www.codon.org.uk/~mjg59/vbetool/"; + maintainers = [ maintainers.raskin ]; + platforms = platforms.linux; + license = licenses.gpl2; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/default.nix new file mode 100644 index 000000000000..1391a2a5ed23 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitiles, pkgconfig, libuuid, openssl, libyaml, lzma }: + +stdenv.mkDerivation rec { + version = "20180311"; + checkout = "4c84e077858c809ee80a9a6f9b38185cf7dcded7"; + + pname = "vboot_reference"; + + src = fetchFromGitiles { + url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference"; + rev = checkout; + sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ openssl libuuid libyaml lzma ]; + + enableParallelBuilding = true; + + patches = [ ./dont_static_link.patch ]; + + # fix build with gcc9 + NIX_CFLAGS_COMPILE = [ "-Wno-error" ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace "ar qc" '${stdenv.cc.bintools.targetPrefix}ar qc' + ''; + + preBuild = '' + patchShebangs scripts + ''; + + makeFlags = [ + "DESTDIR=$(out)" + "HOST_ARCH=${stdenv.hostPlatform.parsed.cpu.name}" + ]; + + postInstall = '' + mkdir -p $out/share/vboot + cp -r tests/devkeys* $out/share/vboot/ + ''; + + meta = with stdenv.lib; { + description = "Chrome OS partitioning and kernel signing tools"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ lheckemann ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/dont_static_link.patch b/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/dont_static_link.patch new file mode 100644 index 000000000000..506b942e246e --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/vboot_reference/dont_static_link.patch @@ -0,0 +1,30 @@ +--- +--- a/Makefile ++++ b/Makefile +@@ -964,7 +964,7 @@ ${UTILLIB21}: ${UTILLIB21_OBJS} ${FWLIB2 + # Link tests for external repos + ${BUILD}/host/linktest/extern: ${HOSTLIB} + ${BUILD}/host/linktest/extern: LIBS = ${HOSTLIB} +-${BUILD}/host/linktest/extern: LDLIBS += -static ++#${BUILD}/host/linktest/extern: LDLIBS += -static + TEST_OBJS += ${BUILD}/host/linktest/extern.o + + .PHONY: hostlib +@@ -1056,7 +1056,7 @@ ${UTIL_BINS} ${UTIL_BINS_STATIC}: ${UTIL + ${UTIL_BINS} ${UTIL_BINS_STATIC}: LIBS = ${UTILLIB} + + # Utilities for auto-update toolkits must be statically linked. +-${UTIL_BINS_STATIC}: LDFLAGS += -static ++${UTIL_BINS_STATIC}: + + + .PHONY: utils +@@ -1089,7 +1089,7 @@ futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN} + + ${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB} + @${PRINTF} " LD $(subst ${BUILD}/,,$@)\n" +- ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS} ++ ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS} + + ${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS} + ${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/which/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/which/default.nix new file mode 100644 index 000000000000..79a50e43ed8b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/which/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "which-2.21"; + + src = fetchurl { + url = "mirror://gnu/which/${name}.tar.gz"; + sha256 = "1bgafvy3ypbhhfznwjv1lxmd6mci3x1byilnnkc7gcr486wlb8pl"; + }; + + meta = with stdenv.lib; { + homepage = "https://www.gnu.org/software/which/"; + description = "Shows the full path of (shell) commands"; + platforms = platforms.all; + license = licenses.gpl3; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/wsmancli/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/wsmancli/default.nix new file mode 100644 index 000000000000..79fb92d5bb2a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/wsmancli/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig +, openssl, openwsman }: + +stdenv.mkDerivation rec { + pname = "wsmancli"; + version = "2.6.0"; + + src = fetchFromGitHub { + owner = "Openwsman"; + repo = "wsmancli"; + rev = "v${version}"; + sha256 = "0a67fz9lj7xkyfqim6ai9kj7v6hzx94r1bg0g0l5dymgng648b9j"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + buildInputs = [ openwsman openssl ]; + + postPatch = '' + touch AUTHORS NEWS README + ''; + + meta = with stdenv.lib; { + description = "Openwsman command-line client"; + longDescription = '' + Openwsman provides a command-line tool, wsman, to perform basic + operations on the command-line. These operations include Get, Put, + Invoke, Identify, Delete, Create, and Enumerate. The command-line tool + also has several switches to allow for optional features of the + WS-Management specification and Testing. + ''; + downloadPage = "https://github.com/Openwsman/wsmancli/releases"; + inherit (openwsman.meta) homepage license maintainers platforms; + inherit version; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/xe/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/xe/default.nix new file mode 100644 index 000000000000..2464f624a28e --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/xe/default.nix @@ -0,0 +1,23 @@ +{ stdenv, lib, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "xe"; + version = "0.11"; + + src = fetchFromGitHub { + owner = "chneukirchen"; + repo = "xe"; + rev = "v${version}"; + sha256 = "04jr8f6jcijr0bsmn8ajm0aj35qh9my3xjsaq64h8lwg5bpyn29x"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + description = "Simple xargs and apply replacement"; + homepage = "https://github.com/chneukirchen/xe"; + license = licenses.publicDomain; + platforms = platforms.all; + maintainers = with maintainers; [ cstrahan ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/yeshup/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/yeshup/default.nix new file mode 100644 index 000000000000..3242eeaeebc5 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/yeshup/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "yeshup"; + version = "unstable-2013-10-29"; + + src = fetchFromGitHub { + owner = "RhysU"; + repo = "yeshup"; + rev = "5461a8f957c686ccd0240be3f0fd8124d7381b08"; + sha256 = "1wwbc158y46jsmdi1lp0m3dlbr9kvzvwxfvzj6646cpy9d6h21v9"; + }; + + installPhase = '' + mkdir -p $out/bin + cp -v yeshup $out/bin + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/RhysU/yeshup"; + platforms = platforms.linux; + license = licenses.cc-by-sa-30; # From Stackoverflow answer + maintainers = with maintainers; [ obadz ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/system/zenith/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/system/zenith/default.nix new file mode 100644 index 000000000000..35498c4cb563 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/system/zenith/default.nix @@ -0,0 +1,27 @@ +{ stdenv, rustPlatform, fetchFromGitHub, IOKit }: + +rustPlatform.buildRustPackage rec { + pname = "zenith"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "bvaisvil"; + repo = pname; + rev = version; + sha256 = "1cxmgpq07q6vfasnkx3grpx1y0f0dg6irb9kdn17nwrypy44l92d"; + }; + + cargoSha256 = "1kgjj11fwvlk700yp9046b3kiq9ay47fiwqpqfhmlbxw3lsh8qvq"; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ IOKit ]; + + meta = with stdenv.lib; { + description = "Sort of like top or htop but with zoom-able charts, network, and disk usage"; + homepage = "https://github.com/bvaisvil/zenith"; + license = licenses.mit; + maintainers = with maintainers; [ bbigras ]; + # doesn't build on aarch64 https://github.com/bvaisvil/zenith/issues/19 + # see https://github.com/NixOS/nixpkgs/pull/88616 + platforms = platforms.x86; + }; +} |