treewide: Fix indentation in strings

The indentation stripping semantics of strings are fairly bad and have a
few gotchas where the resulting string has not the intended indentation.
This commit fixes most if not all such instances in Nixpkgs.

I tried to strive a balance between keeping the diff small and
reformatting/refactoring the code to look better. In general,
reformatting should be left to Nixfmt.

Note that this causes a lot of rebuilds by design. All changes need to
be thoroughly vetted and reviewed for correctness. There is no automatic
way to prove correctness.

List of files to fix generated by running
https://gerrit.lix.systems/c/lix/+/2092 on Nixpkgs and looking at the
warnings.
This commit is contained in:
piegames 2024-10-21 19:58:13 +02:00
parent d5627dfcd4
commit 68927918d0
82 changed files with 551 additions and 512 deletions

View File

@ -49,8 +49,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
description = ''A real-time graphical programming environment for description = ''A real-time graphical programming environment for audio, video, and graphical processing'';
audio, video, and graphical processing'';
homepage = "http://puredata.info"; homepage = "http://puredata.info";
license = licenses.bsd3; license = licenses.bsd3;
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;

View File

@ -36,10 +36,12 @@ stdenv.mkDerivation rec {
doInstallCheck = true; doInstallCheck = true;
installCheckPhase = ''( installCheckPhase = ''
set -x (
test -e $out/bin/setBfreeUI set -x;
)''; test -e $out/bin/setBfreeUI
)
'';
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -99,8 +99,8 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://libresprite.github.io/"; homepage = "https://libresprite.github.io/";
description = "Animated sprite editor & pixel art tool, fork of Aseprite"; description = "Animated sprite editor & pixel art tool, fork of Aseprite";
license = licenses.gpl2Only; license = licenses.gpl2Only;
longDescription = longDescription = ''
''LibreSprite is a program to create animated sprites. Its main features are: LibreSprite is a program to create animated sprites. Its main features are:
- Sprites are composed by layers & frames (as separated concepts). - Sprites are composed by layers & frames (as separated concepts).
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale. - Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.

View File

@ -43,25 +43,25 @@ rec {
meta = { meta = {
description = "WYSIWYW editing platform with special features for scientists"; description = "WYSIWYW editing platform with special features for scientists";
longDescription = longDescription = ''
'' GNU TeXmacs is a free wysiwyw (what you see is what you want) GNU TeXmacs is a free wysiwyw (what you see is what you want)
editing platform with special features for scientists. The software editing platform with special features for scientists. The software
aims to provide a unified and user friendly framework for editing aims to provide a unified and user friendly framework for editing
structured documents with different types of content (text, structured documents with different types of content (text,
graphics, mathematics, interactive content, etc.). The rendering graphics, mathematics, interactive content, etc.). The rendering
engine uses high-quality typesetting algorithms so as to produce engine uses high-quality typesetting algorithms so as to produce
professionally looking documents, which can either be printed out or professionally looking documents, which can either be printed out or
presented from a laptop. presented from a laptop.
The software includes a text editor with support for mathematical The software includes a text editor with support for mathematical
formulas, a small technical picture editor and a tool for making formulas, a small technical picture editor and a tool for making
presentations from a laptop. Moreover, TeXmacs can be used as an presentations from a laptop. Moreover, TeXmacs can be used as an
interface for many external systems for computer algebra, numerical interface for many external systems for computer algebra, numerical
analysis, statistics, etc. New presentation styles can be written analysis, statistics, etc. New presentation styles can be written
by the user and new features can be added to the editor using the by the user and new features can be added to the editor using the
Scheme extension language. A native spreadsheet and tools for Scheme extension language. A native spreadsheet and tools for
collaborative authoring are planned for later. collaborative authoring are planned for later.
''; '';
homepage = "http://texmacs.org/"; homepage = "http://texmacs.org/";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
}; };

View File

@ -16,18 +16,18 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Optical character recognition (OCR) program & library"; description = "Optical character recognition (OCR) program & library";
longDescription = longDescription = ''
'' GNU Ocrad is an OCR (Optical Character Recognition) program based on GNU Ocrad is an OCR (Optical Character Recognition) program based on
a feature extraction method. It reads images in pbm (bitmap), pgm a feature extraction method. It reads images in pbm (bitmap), pgm
(greyscale) or ppm (color) formats and produces text in byte (8-bit) (greyscale) or ppm (color) formats and produces text in byte (8-bit)
or UTF-8 formats. or UTF-8 formats.
Also includes a layout analyser able to separate the columns or Also includes a layout analyser able to separate the columns or
blocks of text normally found on printed pages. blocks of text normally found on printed pages.
Ocrad can be used as a stand-alone console application, or as a Ocrad can be used as a stand-alone console application, or as a
backend to other programs. backend to other programs.
''; '';
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ pSub ]; maintainers = with maintainers; [ pSub ];

View File

@ -47,13 +47,13 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Fast and simple image viewer"; description = "Fast and simple image viewer";
longDescription = longDescription = ''
'' Viewnior is insipred by big projects like Eye of Gnome, because of it's Viewnior is insipred by big projects like Eye of Gnome, because of it's
usability and richness,and by GPicView, because of it's lightweight design and usability and richness,and by GPicView, because of it's lightweight design and
minimal interface. So here comes Viewnior - small and light, with no compromise minimal interface. So here comes Viewnior - small and light, with no compromise
with the quality of it's functions. The program is made with better integration with the quality of it's functions. The program is made with better integration
in mind (follows Gnome HIG2). in mind (follows Gnome HIG2).
''; '';
license = licenses.gpl3; license = licenses.gpl3;
homepage = "https://siyanpanayotov.com/project/viewnior/"; homepage = "https://siyanpanayotov.com/project/viewnior/";
maintainers = with maintainers; [ smironov artturin ]; maintainers = with maintainers; [ smironov artturin ];

View File

@ -9,9 +9,10 @@ mkDerivation {
homepage = "https://apps.kde.org/picmi/"; homepage = "https://apps.kde.org/picmi/";
description = "Nonogram game"; description = "Nonogram game";
mainProgram = "picmi"; mainProgram = "picmi";
longDescription = ''The goal is to reveal the hidden pattern in the board by coloring or longDescription = ''
The goal is to reveal the hidden pattern in the board by coloring or
leaving blank the cells in a grid according to numbers given at the side of the grid. leaving blank the cells in a grid according to numbers given at the side of the grid.
''; '';
maintainers = with maintainers; [ freezeboy ]; maintainers = with maintainers; [ freezeboy ];
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -34,16 +34,16 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Lexical database for the English language"; description = "Lexical database for the English language";
longDescription = longDescription = ''
'' WordNet® is a large lexical database of English. Nouns, verbs, WordNet® is a large lexical database of English. Nouns, verbs,
adjectives and adverbs are grouped into sets of cognitive synonyms adjectives and adverbs are grouped into sets of cognitive synonyms
(synsets), each expressing a distinct concept. Synsets are (synsets), each expressing a distinct concept. Synsets are
interlinked by means of conceptual-semantic and lexical relations. interlinked by means of conceptual-semantic and lexical relations.
The resulting network of meaningfully related words and concepts can The resulting network of meaningfully related words and concepts can
be navigated with the browser. WordNet is also freely and publicly be navigated with the browser. WordNet is also freely and publicly
available for download. WordNet's structure makes it a useful tool available for download. WordNet's structure makes it a useful tool
for computational linguistics and natural language processing. for computational linguistics and natural language processing.
''; '';
homepage = "https://wordnet.princeton.edu/"; homepage = "https://wordnet.princeton.edu/";
license = { license = {

View File

@ -16,14 +16,14 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Amateur radio logging program"; description = "Amateur radio logging program";
longDescription = longDescription = ''
'' Xlog is an amateur radio logging program. Xlog is an amateur radio logging program.
It supports cabrillo, ADIF, trlog (format also used by tlf), It supports cabrillo, ADIF, trlog (format also used by tlf),
and EDI (ARRL VHF/UHF contest format) and can import twlog, editest and OH1AA logbook files. and EDI (ARRL VHF/UHF contest format) and can import twlog, editest and OH1AA logbook files.
Xlog is able to do DXCC lookups and will display country information, CQ and ITU zone, Xlog is able to do DXCC lookups and will display country information, CQ and ITU zone,
location in latitude and longitude and distance and heading in kilometers or miles, location in latitude and longitude and distance and heading in kilometers or miles,
both for short and long path. both for short and long path.
''; '';
homepage = "https://www.nongnu.org/xlog"; homepage = "https://www.nongnu.org/xlog";
maintainers = [ maintainers.mafo ]; maintainers = [ maintainers.mafo ];
license = licenses.gpl3; license = licenses.gpl3;

View File

@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
description = "sets the X root window to an image of the Earth"; description = "sets the X root window to an image of the Earth";
mainProgram = "xearth"; mainProgram = "xearth";
homepage = "https://xearth.org"; homepage = "https://xearth.org";
longDescription = longDescription = ''
'' Xearth sets the X root window to an image of the Earth, as seen from your favorite vantage point in space, Xearth sets the X root window to an image of the Earth, as seen from your favorite vantage point in space,
correctly shaded for the current position of the Sun. correctly shaded for the current position of the Sun.
By default, xearth updates the displayed image every five minutes. By default, xearth updates the displayed image every five minutes.
''; '';
maintainers = [ maintainers.mafo ]; maintainers = [ maintainers.mafo ];
license = { license = {
fullName = "xearth license"; fullName = "xearth license";

View File

@ -96,8 +96,7 @@ stdenv.mkDerivation rec {
doCheck = false; doCheck = false;
meta = with lib; { meta = with lib; {
description = ''Basic Local Alignment Search Tool (BLAST) finds regions of description = ''Basic Local Alignment Search Tool (BLAST) finds regions of similarity between biological sequences'';
similarity between biological sequences'';
homepage = "https://blast.ncbi.nlm.nih.gov/Blast.cgi"; homepage = "https://blast.ncbi.nlm.nih.gov/Blast.cgi";
license = licenses.publicDomain; license = licenses.publicDomain;

View File

@ -43,9 +43,11 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; { meta = with lib; {
description = "Computational Morphometry Toolkit"; description = "Computational Morphometry Toolkit";
mainProgram = "cmtk"; mainProgram = "cmtk";
longDescription = ''A software toolkit for computational morphometry of longDescription = ''
A software toolkit for computational morphometry of
biomedical images, CMTK comprises a set of command line tools and a biomedical images, CMTK comprises a set of command line tools and a
back-end general-purpose library for processing and I/O''; back-end general-purpose library for processing and I/O
'';
maintainers = with maintainers; [ tbenst ]; maintainers = with maintainers; [ tbenst ];
platforms = platforms.all; platforms = platforms.all;
license = licenses.gpl3Plus; license = licenses.gpl3Plus;

View File

@ -19,11 +19,13 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "European Molecular Biology Open Software Suite"; description = "European Molecular Biology Open Software Suite";
longDescription = ''EMBOSS is a free Open Source software analysis package longDescription = ''
specially developed for the needs of the molecular biology (e.g. EMBnet) EMBOSS is a free Open Source software analysis package
user community, including libraries. The software automatically copes with specially developed for the needs of the molecular biology (e.g. EMBnet)
data in a variety of formats and even allows transparent retrieval of user community, including libraries. The software automatically copes with
sequence data from the web.''; data in a variety of formats and even allows transparent retrieval of
sequence data from the web.
'';
license = lib.licenses.gpl2; license = lib.licenses.gpl2;
homepage = "https://emboss.sourceforge.net/"; homepage = "https://emboss.sourceforge.net/";
}; };

View File

@ -33,13 +33,13 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Visualization framework for the analysis and visualization of relational data"; description = "Visualization framework for the analysis and visualization of relational data";
longDescription = longDescription = ''
'' Tulip is an information visualization framework dedicated to the Tulip is an information visualization framework dedicated to the
analysis and visualization of relational data. Tulip aims to analysis and visualization of relational data. Tulip aims to
provide the developer with a complete library, supporting the design provide the developer with a complete library, supporting the design
of interactive information visualization applications for relational of interactive information visualization applications for relational
data that can be tailored to the problems he or she is addressing. data that can be tailored to the problems he or she is addressing.
''; '';
homepage = "http://tulip.labri.fr/"; homepage = "http://tulip.labri.fr/";

View File

@ -26,13 +26,13 @@ stdenv.mkDerivation rec {
meta = { meta = {
homepage = "https://www.gnu.org/software/rcs/"; homepage = "https://www.gnu.org/software/rcs/";
description = "Revision control system"; description = "Revision control system";
longDescription = longDescription = ''
'' The GNU Revision Control System (RCS) manages multiple revisions of The GNU Revision Control System (RCS) manages multiple revisions of
files. RCS automates the storing, retrieval, logging, files. RCS automates the storing, retrieval, logging,
identification, and merging of revisions. RCS is useful for text identification, and merging of revisions. RCS is useful for text
that is revised frequently, including source code, programs, that is revised frequently, including source code, programs,
documentation, graphics, papers, and form letters. documentation, graphics, papers, and form letters.
''; '';
license = lib.licenses.gpl3Plus; license = lib.licenses.gpl3Plus;
maintainers = [ ]; maintainers = [ ];

View File

@ -49,7 +49,7 @@ let
# feature, but rather to make the program more robustly self- # feature, but rather to make the program more robustly self-
# contained. # contained.
postInstall = ''${o.postInstall or ""} postInstall = o.postInstall or "" + ''
mkdir -p $out/libexec mkdir -p $out/libexec
mv $out/bin/arion $out/libexec mv $out/bin/arion $out/libexec
makeWrapper $out/libexec/arion $out/bin/arion \ makeWrapper $out/libexec/arion $out/bin/arion \

View File

@ -289,6 +289,7 @@ lib.warnIf (buildFlags != "" || buildFlagsArray != "")
"`buildFlags`/`buildFlagsArray` are deprecated and will be removed in the 24.11 release. Use the `ldflags` and/or `tags` attributes instead" "`buildFlags`/`buildFlagsArray` are deprecated and will be removed in the 24.11 release. Use the `ldflags` and/or `tags` attributes instead"
lib.warnIf (builtins.elem "-buildid=" ldflags) "`-buildid=` is set by default as ldflag by buildGoModule" lib.warnIf (builtins.elem "-buildid=" ldflags) "`-buildid=` is set by default as ldflag by buildGoModule"
lib.warnIf (builtins.elem "-trimpath" GOFLAGS) "`-trimpath` is added by default to GOFLAGS by buildGoModule when allowGoReference isn't set to true" lib.warnIf (builtins.elem "-trimpath" GOFLAGS) "`-trimpath` is added by default to GOFLAGS by buildGoModule when allowGoReference isn't set to true"
lib.warn '''buildGoPackage' is deprecated and will be removed for the 25.05 release. lib.warn ''
Please use 'buildGoModule' instead. Tips for migration can be found in the Go section of the nixpkgs manual.'' 'buildGoPackage' is deprecated and will be removed for the 25.05 release.
Please use 'buildGoModule' instead. Tips for migration can be found in the Go section of the nixpkgs manual.''
package package

View File

@ -51,9 +51,7 @@ let
lib.pipe attrs [ lib.pipe attrs [
(lib.mapAttrsToList renderFunc) (lib.mapAttrsToList renderFunc)
(builtins.filter (v: v != "")) (builtins.filter (v: v != ""))
(builtins.concatStringsSep "\n") (lib.concatLines)
(section: ''${section}
'')
]; ];
variablesSectionRendered = renderSomething renderVariable variables; variablesSectionRendered = renderSomething renderVariable variables;

View File

@ -160,7 +160,8 @@ stdenv.mkDerivation (
# Build out of source tree and make the source tree read-only. This # Build out of source tree and make the source tree read-only. This
# helps catch violations of the GNU Coding Standards (info # helps catch violations of the GNU Coding Standards (info
# "(standards) Configuration"), like `make distcheck' does. # "(standards) Configuration"), like `make distcheck' does.
'' mkdir "../build" ''
mkdir "../build"
cd "../build" cd "../build"
configureScript="../$sourceRoot/configure" configureScript="../$sourceRoot/configure"
chmod -R a-w "../$sourceRoot" chmod -R a-w "../$sourceRoot"

View File

@ -86,9 +86,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
env.NIX_CFLAGS_COMPILE = '' -I${librem}/include/rem -I${gsm}/include/gsm env.NIX_CFLAGS_COMPILE = ''
-I${librem}/include/rem -I${gsm}/include/gsm
-DHAVE_INTTYPES_H -D__GLIBC__ -DHAVE_INTTYPES_H -D__GLIBC__
-D__need_timeval -D__need_timespec -D__need_time_t ''; -D__need_timeval -D__need_timespec -D__need_time_t
'';
doInstallCheck = true; doInstallCheck = true;
# CMake feature detection is prone to breakage between upgrades: # CMake feature detection is prone to breakage between upgrades:

View File

@ -27,14 +27,16 @@ stdenv.mkDerivation (finalAttrs: {
description = "Collection of computer vision methods for solving geometric vision problems"; description = "Collection of computer vision methods for solving geometric vision problems";
homepage = "https://github.com/laurentkneip/opengv"; homepage = "https://github.com/laurentkneip/opengv";
license = lib.licenses.bsd2; license = lib.licenses.bsd2;
longDescription = ''OpenGV is a collection of computer vision methods for solving longDescription = ''
OpenGV is a collection of computer vision methods for solving
geometric vision problems. It contains absolute-pose, relative-pose, geometric vision problems. It contains absolute-pose, relative-pose,
triangulation, and point-cloud alignment methods for the calibrated triangulation, and point-cloud alignment methods for the calibrated
case. All problems can be solved with central or non-central cameras, case. All problems can be solved with central or non-central cameras,
and embedded into a random sample consensus or nonlinear optimization and embedded into a random sample consensus or nonlinear optimization
context. Matlab and Python interfaces are implemented as well. The link context. Matlab and Python interfaces are implemented as well. The link
to the above pages also shows links to precompiled Matlab mex-libraries. to the above pages also shows links to precompiled Matlab mex-libraries.
Please consult the documentation for more information.''; Please consult the documentation for more information.
'';
maintainers = [ lib.maintainers.locochoco ]; maintainers = [ lib.maintainers.locochoco ];
platforms = lib.platforms.all; platforms = lib.platforms.all;
}; };

View File

@ -19,8 +19,7 @@ stdenvNoCC.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
description = ''Typeface designed to mimic the national park service description = ''Typeface designed to mimic the national park service signs that are carved using a router bit'';
signs that are carved using a router bit'';
homepage = "https://nationalparktypeface.com/"; homepage = "https://nationalparktypeface.com/";
license = licenses.ofl; license = licenses.ofl;
maintainers = [ ]; maintainers = [ ];

View File

@ -36,10 +36,11 @@ in stdenv.mkDerivation {
meta = with lib; { meta = with lib; {
description = "Monospace bitmap font aimed at programmers"; description = "Monospace bitmap font aimed at programmers";
longDescription = ''Tamsyn is a monospace bitmap font, primarily aimed at longDescription = ''
programmers. It was derived from Gilles Boccon-Gibod's MonteCarlo. Tamsyn Tamsyn is a monospace bitmap font, primarily aimed at
font was further inspired by Gohufont, Terminus, Dina, Proggy, Fixedsys, and programmers. It was derived from Gilles Boccon-Gibod's MonteCarlo. Tamsyn
Consolas. font was further inspired by Gohufont, Terminus, Dina, Proggy, Fixedsys, and
Consolas.
''; '';
homepage = "http://www.fial.com/~scott/tamsyn-font/"; homepage = "http://www.fial.com/~scott/tamsyn-font/";
downloadPage = "http://www.fial.com/~scott/tamsyn-font/download"; downloadPage = "http://www.fial.com/~scott/tamsyn-font/download";

View File

@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
# For libuv on darwin # For libuv on darwin
lib.optionalString stdenv.hostPlatform.isDarwin '' lib.optionalString stdenv.hostPlatform.isDarwin ''
export LIBTOOLIZE=libtoolize export LIBTOOLIZE=libtoolize
'' + '' + ''
# Help libgc's configure. # Help libgc's configure.
'' export CXXCPP="$CXX -E" export CXXCPP="$CXX -E"
''; '';
patchPhase = '' patchPhase = ''

View File

@ -93,13 +93,13 @@ stdenv.mkDerivation {
meta = with lib; { meta = with lib; {
description = "MIT/GNU Scheme, a native code Scheme compiler"; description = "MIT/GNU Scheme, a native code Scheme compiler";
longDescription = longDescription = ''
'' MIT/GNU Scheme is an implementation of the Scheme programming MIT/GNU Scheme is an implementation of the Scheme programming
language, providing an interpreter, compiler, source-code debugger, language, providing an interpreter, compiler, source-code debugger,
integrated Emacs-like editor, and a large runtime library. MIT/GNU integrated Emacs-like editor, and a large runtime library. MIT/GNU
Scheme is best suited to programming large applications with a rapid Scheme is best suited to programming large applications with a rapid
development cycle. development cycle.
''; '';
homepage = "https://www.gnu.org/software/mit-scheme/"; homepage = "https://www.gnu.org/software/mit-scheme/";

View File

@ -39,14 +39,16 @@ stdenv.mkDerivation rec {
]; ];
# tinycc configure flags copied from the tinycc derivation. # tinycc configure flags copied from the tinycc derivation.
postConfigure = ''( postConfigure = ''
cd contrib/tinycc (
./configure --cc=cc \ cd contrib/tinycc;
--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker) \ ./configure --cc=cc \
--crtprefix=${lib.getLib stdenv.cc.libc}/lib \ --elfinterp=$(< $NIX_CC/nix-support/dynamic-linker) \
--sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include \ --crtprefix=${lib.getLib stdenv.cc.libc}/lib \
--libpaths=${lib.getLib stdenv.cc.libc}/lib --sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include \
)''; --libpaths=${lib.getLib stdenv.cc.libc}/lib
)
'';
postInstall = '' postInstall = ''
wrapProgram $out/bin/mkcl --prefix PATH : "${gcc}/bin" wrapProgram $out/bin/mkcl --prefix PATH : "${gcc}/bin"

View File

@ -118,10 +118,12 @@ let
platformDir = "linux64ARMv8"; platformDir = "linux64ARMv8";
vmName = "squeak.cog.spur"; vmName = "squeak.cog.spur";
scriptName = "squeak"; scriptName = "squeak";
configureFlagsArray = ''( configureFlagsArray = ''
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -DCOGMTVM=0 -DDUAL_MAPPED_CODE_ZONE=1" (
LIBS="-lrt" CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -DCOGMTVM=0 -DDUAL_MAPPED_CODE_ZONE=1"
)''; LIBS="-lrt"
)
'';
configureFlags = [ configureFlags = [
"--with-vmversion=5.0" "--with-vmversion=5.0"
"--with-src=src/spur64.cog" "--with-src=src/spur64.cog"
@ -134,9 +136,11 @@ let
platformDir = "linux64ARMv8"; platformDir = "linux64ARMv8";
vmName = "squeak.stack.spur"; vmName = "squeak.stack.spur";
scriptName = "squeak"; scriptName = "squeak";
configureFlagsArray = ''( configureFlagsArray = ''
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -D__ARM_ARCH_ISA_A64 -DARM64 -D__arm__ -D__arm64__ -D__aarch64__" (
)''; CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -D__ARM_ARCH_ISA_A64 -DARM64 -D__arm__ -D__arm64__ -D__aarch64__"
)
'';
configureFlags = [ configureFlags = [
"--with-vmversion=5.0" "--with-vmversion=5.0"
"--with-src=src/spur64.stack" "--with-src=src/spur64.stack"
@ -151,9 +155,11 @@ let
platformDir = "linux64x64"; platformDir = "linux64x64";
vmName = "newspeak.cog.spur"; vmName = "newspeak.cog.spur";
scriptName = "newspeak"; scriptName = "newspeak";
configureFlagsArray = ''( configureFlagsArray = ''
CFLAGS="-DNDEBUG -DDEBUGVM=0" (
)''; CFLAGS="-DNDEBUG -DDEBUGVM=0"
)
'';
configureFlags = [ configureFlags = [
"--with-vmversion=5.0" "--with-vmversion=5.0"
"--with-src=src/spur64.cog.newspeak" "--with-src=src/spur64.cog.newspeak"
@ -166,9 +172,11 @@ let
platformDir = "linux64x64"; platformDir = "linux64x64";
vmName = "squeak.cog.spur"; vmName = "squeak.cog.spur";
scriptName = "squeak"; scriptName = "squeak";
configureFlagsArray = ''( configureFlagsArray = ''
CFLAGS="-DNDEBUG -DDEBUGVM=0 -DCOGMTVM=0" (
)''; CFLAGS="-DNDEBUG -DDEBUGVM=0 -DCOGMTVM=0"
)
'';
configureFlags = [ configureFlags = [
"--with-vmversion=5.0" "--with-vmversion=5.0"
"--with-src=src/spur64.cog" "--with-src=src/spur64.cog"

View File

@ -92,14 +92,15 @@ stdenv.mkDerivation (rec {
# make: *** [Makefile:222: test-full-programs-release] Killed: 9 # make: *** [Makefile:222: test-full-programs-release] Killed: 9
doCheck = !stdenv.hostPlatform.isDarwin; doCheck = !stdenv.hostPlatform.isDarwin;
installPhase = "make config=release prefix=$out " installPhase = ''
+ lib.optionalString stdenv.hostPlatform.isDarwin ("bits=64 " + (lib.optionalString (!lto) "lto=no ")) make config=release prefix=$out ${
+ '' install lib.optionalString stdenv.hostPlatform.isDarwin ("bits=64 " + (lib.optionalString (!lto) "lto=no "))
} install
wrapProgram $out/bin/ponyc \ wrapProgram $out/bin/ponyc \
--prefix PATH ":" "${stdenv.cc}/bin" \ --prefix PATH ":" "${stdenv.cc}/bin" \
--set-default CC "$CC" \ --set-default CC "$CC" \
--prefix PONYPATH : "${lib.makeLibraryPath [ pcre2 openssl (placeholder "out") ]}" --prefix PONYPATH : "${lib.makeLibraryPath [ pcre2 openssl (placeholder "out") ]}"
''; '';
# Stripping breaks linking for ponyc # Stripping breaks linking for ponyc
dontStrip = true; dontStrip = true;

View File

@ -20,16 +20,16 @@ stdenv.mkDerivation rec {
homepage = "https://rgbds.gbdev.io/"; homepage = "https://rgbds.gbdev.io/";
description = "Free assembler/linker package for the Game Boy and Game Boy Color"; description = "Free assembler/linker package for the Game Boy and Game Boy Color";
license = licenses.mit; license = licenses.mit;
longDescription = longDescription = ''
''RGBDS (Rednex Game Boy Development System) is a free assembler/linker package for the Game Boy and Game Boy Color. It consists of: RGBDS (Rednex Game Boy Development System) is a free assembler/linker package for the Game Boy and Game Boy Color. It consists of:
- rgbasm (assembler) - rgbasm (assembler)
- rgblink (linker) - rgblink (linker)
- rgbfix (checksum/header fixer) - rgbfix (checksum/header fixer)
- rgbgfx (PNGtoGame Boy graphics converter) - rgbgfx (PNGtoGame Boy graphics converter)
This is a fork of the original RGBDS which aims to make the programs more like other UNIX tools. This is a fork of the original RGBDS which aims to make the programs more like other UNIX tools.
''; '';
maintainers = with maintainers; [ matthewbauer NieDzejkob ]; maintainers = with maintainers; [ matthewbauer NieDzejkob ];
platforms = platforms.all; platforms = platforms.all;
}; };

View File

@ -71,9 +71,9 @@ let
extraLibraries' = if extraLibraries == [] then [] else throw extraLibraries' = if extraLibraries == [] then [] else throw
"option 'extraLibraries' removed - use 'with*' options (e.g., 'withJava'), or overrideAttrs to inject extra build dependencies"; "option 'extraLibraries' removed - use 'with*' options (e.g., 'withJava'), or overrideAttrs to inject extra build dependencies";
packInstall = swiplPath: pack: packInstall = swiplPath: pack: ''
''${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/extra-pack\"), silent(true), interactive(false), git(false)])." -t "halt." ${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/extra-pack\"), silent(true), interactive(false), git(false)])." -t "halt."
''; '';
withGui' = withGui && !stdenv.hostPlatform.isDarwin; withGui' = withGui && !stdenv.hostPlatform.isDarwin;
optionalDependencies = [] optionalDependencies = []
++ (lib.optional withDb db) ++ (lib.optional withDb db)

View File

@ -62,8 +62,8 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "GNU Linear Programming Kit"; description = "GNU Linear Programming Kit";
longDescription = longDescription = ''
'' The GNU Linear Programming Kit is intended for solving large The GNU Linear Programming Kit is intended for solving large
scale linear programming problems by means of the revised scale linear programming problems by means of the revised
simplex method. It is a set of routines written in the ANSI C simplex method. It is a set of routines written in the ANSI C
programming language and organized in the form of a library. programming language and organized in the form of a library.

View File

@ -26,12 +26,12 @@ stdenv.mkDerivation (finalAttrs: {
description = "GNU SASL, Simple Authentication and Security Layer library"; description = "GNU SASL, Simple Authentication and Security Layer library";
mainProgram = "gsasl"; mainProgram = "gsasl";
longDescription = longDescription = ''
'' GNU SASL is a library that implements the IETF Simple GNU SASL is a library that implements the IETF Simple
Authentication and Security Layer (SASL) framework and Authentication and Security Layer (SASL) framework and
some SASL mechanisms. SASL is used in network servers some SASL mechanisms. SASL is used in network servers
(e.g. IMAP, SMTP, etc.) to authenticate peers. (e.g. IMAP, SMTP, etc.) to authenticate peers.
''; '';
homepage = "https://www.gnu.org/software/gsasl/"; homepage = "https://www.gnu.org/software/gsasl/";
license = lib.licenses.gpl3Plus; license = lib.licenses.gpl3Plus;

View File

@ -24,13 +24,13 @@ stdenv.mkDerivation rec {
description = "Image viewer widget for GTK"; description = "Image viewer widget for GTK";
longDescription = longDescription = ''
'' GtkImageView is a simple image viewer widget for GTK. Similar to GtkImageView is a simple image viewer widget for GTK. Similar to
the image viewer panes in gThumb or Eye of Gnome. It makes writing the image viewer panes in gThumb or Eye of Gnome. It makes writing
image viewing and editing applications easy. Among its features image viewing and editing applications easy. Among its features
are: mouse and keyboard zooming; scrolling and dragging; adjustable are: mouse and keyboard zooming; scrolling and dragging; adjustable
interpolation; GIF animation support. interpolation; GIF animation support.
''; '';
license = lib.licenses.lgpl2Plus; license = lib.licenses.lgpl2Plus;

View File

@ -44,11 +44,11 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Implementation of JavaScript written in Java"; description = "Implementation of JavaScript written in Java";
longDescription = longDescription = ''
'' Rhino is an open-source implementation of JavaScript written Rhino is an open-source implementation of JavaScript written
entirely in Java. It is typically embedded into Java applications entirely in Java. It is typically embedded into Java applications
to provide scripting to end users. to provide scripting to end users.
''; '';
homepage = "http://www.mozilla.org/rhino/"; homepage = "http://www.mozilla.org/rhino/";

View File

@ -36,20 +36,20 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Tools & library for data backup and distributed storage"; description = "Tools & library for data backup and distributed storage";
longDescription = longDescription = ''
'' Libchop is a set of utilities and library for data backup and Libchop is a set of utilities and library for data backup and
distributed storage. Its main application is chop-backup, an distributed storage. Its main application is chop-backup, an
encrypted backup program that supports data integrity checks, encrypted backup program that supports data integrity checks,
versioning at little cost, distribution among several sites, versioning at little cost, distribution among several sites,
selective sharing of stored data, adaptive compression, and more. selective sharing of stored data, adaptive compression, and more.
The library itself, which chop-backup builds upon, implements The library itself, which chop-backup builds upon, implements
storage techniques such as content-based addressing, content hash storage techniques such as content-based addressing, content hash
keys, Merkle trees, similarity detection, and lossless compression. keys, Merkle trees, similarity detection, and lossless compression.
It makes it easy to combine them in different ways. The It makes it easy to combine them in different ways. The
chop-archiver and chop-block-server tools, illustrated in the chop-archiver and chop-block-server tools, illustrated in the
manual, provide direct access to these facilities from the command manual, provide direct access to these facilities from the command
line. It is written in C and has Guile (Scheme) bindings. line. It is written in C and has Guile (Scheme) bindings.
''; '';
homepage = "https://www.nongnu.org/libchop/"; homepage = "https://www.nongnu.org/libchop/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;

View File

@ -44,11 +44,11 @@ stdenv.mkDerivation rec {
}) })
]; ];
preConfigure = preConfigure = ''
'' echo "patching installation directory in \`extractor.c'..." echo "patching installation directory in \`extractor.c'..."
sed -i "src/main/extractor.c" \ sed -i "src/main/extractor.c" \
-e "s|pexe[[:blank:]]*=.*$|pexe = strdup(\"$out/lib/\");|g" -e "s|pexe[[:blank:]]*=.*$|pexe = strdup(\"$out/lib/\");|g"
''; '';
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
@ -71,26 +71,26 @@ stdenv.mkDerivation rec {
description = "Simple library for keyword extraction"; description = "Simple library for keyword extraction";
mainProgram = "extract"; mainProgram = "extract";
longDescription = longDescription = ''
'' GNU libextractor is a library used to extract meta-data from files GNU libextractor is a library used to extract meta-data from files
of arbitrary type. It is designed to use helper-libraries to perform of arbitrary type. It is designed to use helper-libraries to perform
the actual extraction, and to be trivially extendable by linking the actual extraction, and to be trivially extendable by linking
against external extractors for additional file types. against external extractors for additional file types.
The goal is to provide developers of file-sharing networks or The goal is to provide developers of file-sharing networks or
WWW-indexing bots with a universal library to obtain simple keywords WWW-indexing bots with a universal library to obtain simple keywords
to match against queries. libextractor contains a shell-command to match against queries. libextractor contains a shell-command
extract that, similar to the well-known file command, can extract extract that, similar to the well-known file command, can extract
meta-data from a file an print the results to stdout. meta-data from a file an print the results to stdout.
Currently, libextractor supports the following formats: HTML, PDF, Currently, libextractor supports the following formats: HTML, PDF,
PS, OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), DVI, PS, OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), DVI,
MAN, FLAC, MP3 (ID3v1 and ID3v2), NSF(E) (NES music), SID (C64 MAN, FLAC, MP3 (ID3v1 and ID3v2), NSF(E) (NES music), SID (C64
music), OGG, WAV, EXIV2, JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ), music), OGG, WAV, EXIV2, JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ),
ZIP, ELF, S3M (Scream Tracker 3), XM (eXtended Module), IT (Impulse ZIP, ELF, S3M (Scream Tracker 3), XM (eXtended Module), IT (Impulse
Tracker), FLV, REAL, RIFF (AVI), MPEG, QT and ASF. Also, various Tracker), FLV, REAL, RIFF (AVI), MPEG, QT and ASF. Also, various
additional MIME types are detected. additional MIME types are detected.
''; '';
license = licenses.gpl3Plus; license = licenses.gpl3Plus;

View File

@ -16,11 +16,13 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
homepage = "https://xiph.org/fishsound/"; homepage = "https://xiph.org/fishsound/";
description = "Simple programming interface for decoding and encoding audio data using Xiph.org codecs (FLAC, Speex and Vorbis)"; description = "Simple programming interface for decoding and encoding audio data using Xiph.org codecs (FLAC, Speex and Vorbis)";
longDescription = ''libfishsound by itself is designed to handle raw codec streams from a lower level layer such as UDP datagrams. When these codecs are used in files, they are commonly encapsulated in Ogg to produce Ogg FLAC, Speex and Ogg Vorbis files. longDescription = ''
libfishsound by itself is designed to handle raw codec streams from a lower level layer such as UDP datagrams. When these codecs are used in files, they are commonly encapsulated in Ogg to produce Ogg FLAC, Speex and Ogg Vorbis files.
libfishsound is a wrapper around the existing codec libraries and provides a consistent, higher-level programming interface. It has been designed for use in a wide variety of applications; it has no direct dependencies on Ogg encapsulation, though it is most commonly used in conjunction with liboggz to decode or encode FLAC, Speex or Vorbis audio tracks in Ogg files, including Ogg Theora and Annodex. libfishsound is a wrapper around the existing codec libraries and provides a consistent, higher-level programming interface. It has been designed for use in a wide variety of applications; it has no direct dependencies on Ogg encapsulation, though it is most commonly used in conjunction with liboggz to decode or encode FLAC, Speex or Vorbis audio tracks in Ogg files, including Ogg Theora and Annodex.
FishSound has been developed and tested on GNU/Linux, Darwin/MacOSX and Win32. It probably also works on other Unix-like systems via GNU autoconf. For Win32: nmake Makefiles, Visual Studio .NET 2003 solution files and Visual C++ 6.0 workspace files are all provided in the source distribution.''; FishSound has been developed and tested on GNU/Linux, Darwin/MacOSX and Win32. It probably also works on other Unix-like systems via GNU autoconf. For Win32: nmake Makefiles, Visual Studio .NET 2003 solution files and Visual C++ 6.0 workspace files are all provided in the source distribution.
'';
platforms = platforms.unix; platforms = platforms.unix;
license = licenses.bsd3; license = licenses.bsd3;
}; };

View File

@ -50,12 +50,13 @@ stdenv.mkDerivation rec {
homepage = "http://www.clutter-project.org/"; homepage = "http://www.clutter-project.org/";
description = "Clutter-based toolkit"; description = "Clutter-based toolkit";
mainProgram = "mx-create-image-cache"; mainProgram = "mx-create-image-cache";
longDescription = longDescription = ''
''Mx is a widget toolkit using Clutter that provides a set of standard Mx is a widget toolkit using Clutter that provides a set of standard
interface elements, including buttons, progress bars, scroll bars and interface elements, including buttons, progress bars, scroll bars and
others. It also implements some standard managers. One other interesting others. It also implements some standard managers. One other interesting
feature is the possibility setting style properties from a CSS format feature is the possibility setting style properties from a CSS format
file.''; file.
'';
license = licenses.lgpl21; license = licenses.lgpl21;
maintainers = [ ]; maintainers = [ ];
platforms = with platforms; linux; platforms = with platforms; linux;

View File

@ -31,11 +31,11 @@ stdenv.mkDerivation rec {
homepage = "https://web.archive.org/web/20161204100704/http://etla.net/libstroke/"; homepage = "https://web.archive.org/web/20161204100704/http://etla.net/libstroke/";
license = lib.licenses.gpl2; license = lib.licenses.gpl2;
longDescription = longDescription = ''
'' libstroke, last updated in 2001, still successfully provides a basic libstroke, last updated in 2001, still successfully provides a basic
gesture recognition engine based around a 3x3 grid. It's simple and gesture recognition engine based around a 3x3 grid. It's simple and
easy to work with, and notably used by FVWM. easy to work with, and notably used by FVWM.
''; '';
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };

View File

@ -20,10 +20,11 @@ stdenv.mkDerivation {
--replace g++ c++ --replace g++ c++
''; '';
env.NIX_CFLAGS_COMPILE = ''-I${ilmbase.dev}/include/OpenEXR env.NIX_CFLAGS_COMPILE = ''
-I${openexr.dev}/include/OpenEXR -I${ilmbase.dev}/include/OpenEXR
-I${openfx.dev}/include/OpenFX -I${openexr.dev}/include/OpenEXR
''; -I${openfx.dev}/include/OpenFX
'';
buildInputs = [ re2 openfx zlib ilmbase libGLU libGL openexr ]; buildInputs = [ re2 openfx zlib ilmbase libGLU libGL openexr ];

View File

@ -11,30 +11,30 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib bzip2 ]; buildInputs = [ zlib bzip2 ];
postInstall = postInstall = ''
'' sed -i "$out/lib/pkgconfig/tokyocabinet.pc" \ sed -i "$out/lib/pkgconfig/tokyocabinet.pc" \
-e 's|-lz|-L${zlib.out}/lib -lz|g; -e 's|-lz|-L${zlib.out}/lib -lz|g;
s|-lbz2|-L${bzip2.out}/lib -lbz2|g' s|-lbz2|-L${bzip2.out}/lib -lbz2|g'
''; '';
meta = { meta = {
description = "Tokyo Cabinet: a modern implementation of DBM"; description = "Tokyo Cabinet: a modern implementation of DBM";
longDescription = longDescription = ''
'' Tokyo Cabinet is a library of routines for managing a database. The Tokyo Cabinet is a library of routines for managing a database. The
database is a simple data file containing records, each is a pair of database is a simple data file containing records, each is a pair of
a key and a value. Every key and value is serial bytes with a key and a value. Every key and value is serial bytes with
variable length. Both binary data and character string can be used variable length. Both binary data and character string can be used
as a key and a value. There is neither concept of data tables nor as a key and a value. There is neither concept of data tables nor
data types. Records are organized in hash table, B+ tree, or data types. Records are organized in hash table, B+ tree, or
fixed-length array. fixed-length array.
Tokyo Cabinet is developed as the successor of GDBM and QDBM on the Tokyo Cabinet is developed as the successor of GDBM and QDBM on the
following purposes. They are achieved and Tokyo Cabinet replaces following purposes. They are achieved and Tokyo Cabinet replaces
conventional DBM products: improves space efficiency, improves time conventional DBM products: improves space efficiency, improves time
efficiency, improves parallelism, improves usability, improves efficiency, improves parallelism, improves usability, improves
robustness, supports 64-bit architecture. robustness, supports 64-bit architecture.
''; '';
license = lib.licenses.lgpl2Plus; license = lib.licenses.lgpl2Plus;

View File

@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Network interface of the Tokyo Cabinet DBM"; description = "Network interface of the Tokyo Cabinet DBM";
longDescription = longDescription = ''
'' Tokyo Tyrant is a package of network interface to the DBM called Tokyo Tyrant is a package of network interface to the DBM called
Tokyo Cabinet. Though the DBM has high performance, you might Tokyo Cabinet. Though the DBM has high performance, you might
bother in case that multiple processes share the same database, or bother in case that multiple processes share the same database, or
remote processes access the database. Thus, Tokyo Tyrant is remote processes access the database. Thus, Tokyo Tyrant is

View File

@ -29,12 +29,14 @@ stdenv.mkDerivation rec {
broken = stdenv.hostPlatform.isDarwin; broken = stdenv.hostPlatform.isDarwin;
description = "Vector and matrix math library implemented using C++ templates"; description = "Vector and matrix math library implemented using C++ templates";
longDescription = ''vmmlib is a vector and matrix math library implemented longDescription = ''
using C++ templates. Its basic functionality includes a vector vmmlib is a vector and matrix math library implemented
and a matrix class, with additional functionality for the using C++ templates. Its basic functionality includes a vector
often-used 3d and 4d vectors and 3x3 and 4x4 matrices. and a matrix class, with additional functionality for the
More advanced functionality include solvers, frustum often-used 3d and 4d vectors and 3x3 and 4x4 matrices.
computations and frustum culling classes, and spatial data structures''; More advanced functionality include solvers, frustum
computations and frustum culling classes, and spatial data structures
'';
license = licenses.bsd2; license = licenses.bsd2;
homepage = "https://github.com/VMML/vmmlib/"; homepage = "https://github.com/VMML/vmmlib/";

View File

@ -91,7 +91,7 @@ stdenv.mkDerivation ({
# Do the building # Do the building
export LD=/usr/bin/clang # To avoid problem with -isysroot parameter that is unrecognized by the stock ld. Comparison with an impure build shows that it uses clang instead. Ugly, but it works export LD=/usr/bin/clang # To avoid problem with -isysroot parameter that is unrecognized by the stock ld. Comparison with an impure build shows that it uses clang instead. Ugly, but it works
xcodebuild -target ${_target} -configuration ${_configuration} ${lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${lib.optionalString (generateIPA || generateXCArchive) "-archivePath \"${name}.xcarchive\" archive"} ${lib.optionalString release '' PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName-db"''} ${xcodeFlags} xcodebuild -target ${_target} -configuration ${_configuration} ${lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${lib.optionalString (generateIPA || generateXCArchive) "-archivePath \"${name}.xcarchive\" archive"} ${lib.optionalString release ''PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName-db"''} ${xcodeFlags}
${lib.optionalString release '' ${lib.optionalString release ''
${lib.optionalString generateIPA '' ${lib.optionalString generateIPA ''

View File

@ -54,15 +54,17 @@ buildDunePackage rec {
homepage = "http://ocsigen.org/eliom/"; homepage = "http://ocsigen.org/eliom/";
description = "OCaml Framework for programming Web sites and client/server Web applications"; description = "OCaml Framework for programming Web sites and client/server Web applications";
longDescription = ''Eliom is a framework for programming Web sites longDescription = ''
and client/server Web applications. It introduces new concepts to Eliom is a framework for programming Web sites
simplify programming common behaviours and uses advanced static and client/server Web applications. It introduces new concepts to
typing features of OCaml to check many properties of the Web site simplify programming common behaviours and uses advanced static
at compile time. If you want to write a Web application, Eliom typing features of OCaml to check many properties of the Web site
makes possible to write the whole application as a single program at compile time. If you want to write a Web application, Eliom
(client and server parts). A syntax extension is used to makes possible to write the whole application as a single program
distinguish both parts and the client side is compiled to JS using (client and server parts). A syntax extension is used to
Ocsigen Js_of_ocaml.''; distinguish both parts and the client side is compiled to JS using
Ocsigen Js_of_ocaml.
'';
license = lib.licenses.lgpl21; license = lib.licenses.lgpl21;

View File

@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "C code complexity measurement tool"; description = "C code complexity measurement tool";
longDescription = longDescription = ''
'' GNU Complexity is a tool designed for analyzing the complexity of C GNU Complexity is a tool designed for analyzing the complexity of C
program functions. It is very similar to the McCabe scoring, but program functions. It is very similar to the McCabe scoring, but
addresses several issues not considered in that scoring scheme. addresses several issues not considered in that scoring scheme.
''; '';
license = lib.licenses.gpl3Plus; license = lib.licenses.gpl3Plus;

View File

@ -17,13 +17,13 @@ stdenv.mkDerivation rec {
description = "C preprocessor directive indenter"; description = "C preprocessor directive indenter";
mainProgram = "cppi"; mainProgram = "cppi";
longDescription = longDescription = ''
'' GNU cppi indents C preprocessor directives to reflect their nesting GNU cppi indents C preprocessor directives to reflect their nesting
and ensure that there is exactly one space character between each #if, and ensure that there is exactly one space character between each #if,
#elif, #define directive and the following token. The number of #elif, #define directive and the following token. The number of
spaces between the `#' and the following directive must correspond spaces between the `#' and the following directive must correspond
to the level of nesting of that directive. to the level of nesting of that directive.
''; '';
license = lib.licenses.gpl3Plus; license = lib.licenses.gpl3Plus;

View File

@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
rev = "VERSION_${underscoreVersion}"; rev = "VERSION_${underscoreVersion}";
sha256 = "0ha6r7bcgf6pcn5gbd2sl7835givhda1jql49c232f1iair1yqyp"; sha256 = "0ha6r7bcgf6pcn5gbd2sl7835givhda1jql49c232f1iair1yqyp";
}; };
patchPhase = ''substituteInPlace configure \ patchPhase = ''
--replace /usr/local / substituteInPlace configure \
--replace /usr/local /
''; '';
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View File

@ -34,8 +34,10 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Simple retro style arcade side-scroller game"; description = "Simple retro style arcade side-scroller game";
longDescription = '' FLTrator is a simple retro style arcade side-scroller game in which you steer a spaceship through a landscape with hostile rockets and other obstacles. longDescription = ''
It has ten different levels and a level editor to create new levels or modify the existing.''; # from https://libregamewiki.org/FLTrator FLTrator is a simple retro style arcade side-scroller game in which you steer a spaceship through a landscape with hostile rockets and other obstacles.
It has ten different levels and a level editor to create new levels or modify the existing.
''; # from https://libregamewiki.org/FLTrator
homepage = "https://fltrator.sourceforge.net/"; homepage = "https://fltrator.sourceforge.net/";
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.marius851000 ]; maintainers = [ maintainers.marius851000 ];

View File

@ -189,10 +189,10 @@ stdenv.mkDerivation {
--add-flags "-jar $out/share/mindustry.jar" \ --add-flags "-jar $out/share/mindustry.jar" \
${lib.optionalString stdenv.hostPlatform.isLinux "--suffix PATH : ${lib.makeBinPath [zenity]}"} \ ${lib.optionalString stdenv.hostPlatform.isLinux "--suffix PATH : ${lib.makeBinPath [zenity]}"} \
--suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [libpulseaudio alsa-lib libjack2]} \ --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [libpulseaudio alsa-lib libjack2]} \
--set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/'' + lib.optionalString enableWayland '' \ --set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/ ${lib.optionalString enableWayland ''
--set SDL_VIDEODRIVER wayland \ --set SDL_VIDEODRIVER wayland \
--set SDL_VIDEO_WAYLAND_WMCLASS Mindustry --set SDL_VIDEO_WAYLAND_WMCLASS Mindustry
'' + '' ''}
# Retain runtime depends to prevent them from being cleaned up. # Retain runtime depends to prevent them from being cleaned up.
# Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there, # Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there,

View File

@ -22,8 +22,7 @@ stdenv.mkDerivation {
preConfigure = "substituteInPlace Makefile --replace /usr/local $out"; preConfigure = "substituteInPlace Makefile --replace /usr/local $out";
meta = with lib; { meta = with lib; {
description = ''A FUSE filesystem intended to be used description = "A FUSE filesystem intended to be used like Apache mod_rewrite";
like Apache mod_rewrite'';
homepage = "https://github.com/sloonz/rewritefs"; homepage = "https://github.com/sloonz/rewritefs";
license = licenses.gpl2Only; license = licenses.gpl2Only;
maintainers = with maintainers; [ rnhmjoj ]; maintainers = with maintainers; [ rnhmjoj ];

View File

@ -13,7 +13,7 @@
let let
link_arguments = map link_arguments = map
(x: '' "${x.filename}" '') (x: ''"${x.filename}" '')
dictlist; dictlist;
databases = lib.concatStrings (map databases = lib.concatStrings (map
(x: (x:

View File

@ -24,10 +24,11 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "dictd-compatible version of WordNet"; description = "dictd-compatible version of WordNet";
longDescription = longDescription = ''
'' WordNet® is a large lexical database of English. This package makes WordNet® is a large lexical database of English. This package makes
the wordnet data available to dictd and by extension for lookup with the wordnet data available to dictd and by extension for lookup with
the dict command. ''; the dict command.
'';
homepage = "https://wordnet.princeton.edu/"; homepage = "https://wordnet.princeton.edu/";

View File

@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Program invocation and execution supervisor"; description = "Program invocation and execution supervisor";
longDescription = longDescription = ''
'' The name Pies (pronounced "p-yes") stands for Program Invocation and The name Pies (pronounced "p-yes") stands for Program Invocation and
Execution Supervisor. This utility starts and controls execution of Execution Supervisor. This utility starts and controls execution of
external programs, called components. Each component is a external programs, called components. Each component is a
stand-alone program, which is executed in the foreground. Upon stand-alone program, which is executed in the foreground. Upon

View File

@ -30,12 +30,12 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "User-space NFSv3 file system server"; description = "User-space NFSv3 file system server";
longDescription = longDescription = ''
'' UNFS3 is a user-space implementation of the NFSv3 server UNFS3 is a user-space implementation of the NFSv3 server
specification. It provides a daemon for the MOUNT and NFS specification. It provides a daemon for the MOUNT and NFS
protocols, which are used by NFS clients for accessing files on the protocols, which are used by NFS clients for accessing files on the
server. server.
''; '';
# The old http://unfs3.sourceforge.net/ has a <meta> # The old http://unfs3.sourceforge.net/ has a <meta>
# http-equiv="refresh" pointing here, so we can assume that # http-equiv="refresh" pointing here, so we can assume that

View File

@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
broken = stdenv.hostPlatform.isDarwin; broken = stdenv.hostPlatform.isDarwin;
description = "Restricted User Shell"; description = "Restricted User Shell";
longDescription = longDescription = ''
'' GNU Rush is a Restricted User Shell, designed for sites GNU Rush is a Restricted User Shell, designed for sites
providing limited remote access to their resources, such as providing limited remote access to their resources, such as
svn or git repositories, scp, or the like. Using a svn or git repositories, scp, or the like. Using a
sophisticated configuration file, Rush gives you complete sophisticated configuration file, Rush gives you complete

View File

@ -83,16 +83,18 @@ multiStdenv.mkDerivation (finalAttrs: {
}; };
# Unpack subproject sources # Unpack subproject sources
postUnpack = ''( postUnpack = ''
cd "$sourceRoot/subprojects" (
cp -R --no-preserve=mode,ownership ${asio} asio cd "$sourceRoot/subprojects"
cp -R --no-preserve=mode,ownership ${bitsery} bitsery cp -R --no-preserve=mode,ownership ${asio} asio
cp -R --no-preserve=mode,ownership ${clap} clap cp -R --no-preserve=mode,ownership ${bitsery} bitsery
cp -R --no-preserve=mode,ownership ${function2} function2 cp -R --no-preserve=mode,ownership ${clap} clap
cp -R --no-preserve=mode,ownership ${ghc_filesystem} ghc_filesystem cp -R --no-preserve=mode,ownership ${function2} function2
cp -R --no-preserve=mode,ownership ${tomlplusplus} tomlplusplus cp -R --no-preserve=mode,ownership ${ghc_filesystem} ghc_filesystem
cp -R --no-preserve=mode,ownership ${vst3} vst3 cp -R --no-preserve=mode,ownership ${tomlplusplus} tomlplusplus
)''; cp -R --no-preserve=mode,ownership ${vst3} vst3
)
'';
patches = [ patches = [
# Hard code bitbridge & runtime dependencies # Hard code bitbridge & runtime dependencies

View File

@ -16,13 +16,13 @@ stdenv.mkDerivation rec {
asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
]; ];
installPhase = installPhase = ''
'' mkdir -p "$out/bin" mkdir -p "$out/bin"
cp -v httpfs2 "$out/bin" cp -v httpfs2 "$out/bin"
mkdir -p "$out/share/man/man1" mkdir -p "$out/share/man/man1"
cp -v *.1 "$out/share/man/man1" cp -v *.1 "$out/share/man/man1"
''; '';
meta = { meta = {
description = "FUSE-based HTTP filesystem for Linux"; description = "FUSE-based HTTP filesystem for Linux";

View File

@ -107,15 +107,17 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [ "out" "doc" "man" ]; outputs = [ "out" "doc" "man" ];
# Unpack subproject sources # Unpack subproject sources
postUnpack = ''( postUnpack = ''
cd "$sourceRoot/subprojects" (
${lib.optionalString finalAttrs.finalPackage.doCheck '' cd "$sourceRoot/subprojects"
cp -R --no-preserve=mode,ownership ${cmocka.src} cmocka ${lib.optionalString finalAttrs.finalPackage.doCheck ''
''} cp -R --no-preserve=mode,ownership ${cmocka.src} cmocka
cp -R --no-preserve=mode,ownership ${implot.src} implot-${implot.version} ''}
cp -R --no-preserve=mode,ownership ${imgui.src} imgui-${imgui.version} cp -R --no-preserve=mode,ownership ${implot.src} implot-${implot.version}
cp -R --no-preserve=mode,ownership ${vulkan-headers.src} Vulkan-Headers-${vulkan-headers.version} cp -R --no-preserve=mode,ownership ${imgui.src} imgui-${imgui.version}
)''; cp -R --no-preserve=mode,ownership ${vulkan-headers.src} Vulkan-Headers-${vulkan-headers.version}
)
'';
patches = [ patches = [
# Add @libraryPath@ template variable to fix loading the preload # Add @libraryPath@ template variable to fix loading the preload

View File

@ -37,21 +37,21 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Powerful C/C++ library for exporting 2D vector graphics"; description = "Powerful C/C++ library for exporting 2D vector graphics";
longDescription = longDescription = ''
'' The GNU plotutils package contains software for both programmers and The GNU plotutils package contains software for both programmers and
technical users. Its centerpiece is libplot, a powerful C/C++ technical users. Its centerpiece is libplot, a powerful C/C++
function library for exporting 2-D vector graphics in many file function library for exporting 2-D vector graphics in many file
formats, both vector and raster. It can also do vector graphics formats, both vector and raster. It can also do vector graphics
animations. animations.
libplot is device-independent in the sense that its API (application libplot is device-independent in the sense that its API (application
programming interface) does not depend on the type of graphics file programming interface) does not depend on the type of graphics file
to be exported. to be exported.
Besides libplot, the package contains command-line programs for Besides libplot, the package contains command-line programs for
plotting scientific data. Many of them use libplot to export plotting scientific data. Many of them use libplot to export
graphics. graphics.
''; '';
homepage = "https://www.gnu.org/software/plotutils/"; homepage = "https://www.gnu.org/software/plotutils/";

View File

@ -46,14 +46,15 @@ stdenv.mkDerivation (finalAttrs: {
# the installPhase wants to put files into $HOME. I let it put the files # the installPhase wants to put files into $HOME. I let it put the files
# to $TMPDIR, so they don't get into the $out # to $TMPDIR, so they don't get into the $out
postPatch = '' cd unix postPatch = ''
./prebuild.sh cd unix
cd .. ./prebuild.sh
sed -i -e 's/^povconfuser.*/povconfuser=$(TMPDIR)\/povray/' Makefile.{am,in} cd ..
sed -i -e 's/^povuser.*/povuser=$(TMPDIR)\/.povray/' Makefile.{am,in} sed -i -e 's/^povconfuser.*/povconfuser=$(TMPDIR)\/povray/' Makefile.{am,in}
sed -i -e 's/^povowner.*/povowner=nobody/' Makefile.{am,in} sed -i -e 's/^povuser.*/povuser=$(TMPDIR)\/.povray/' Makefile.{am,in}
sed -i -e 's/^povgroup.*/povgroup=nogroup/' Makefile.{am,in} sed -i -e 's/^povowner.*/povowner=nobody/' Makefile.{am,in}
''; sed -i -e 's/^povgroup.*/povgroup=nogroup/' Makefile.{am,in}
'';
configureFlags = [ configureFlags = [
"COMPILED_BY=NixOS" "COMPILED_BY=NixOS"

View File

@ -97,8 +97,8 @@ stdenv.mkDerivation rec {
separateDebugInfo = !xenSupport; separateDebugInfo = !xenSupport;
preConfigure = preConfigure = ''
'' for i in "tests/util/"*.in for i in "tests/util/"*.in
do do
sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g' sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g'
done done
@ -184,17 +184,17 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "GNU GRUB, the Grand Unified Boot Loader"; description = "GNU GRUB, the Grand Unified Boot Loader";
longDescription = longDescription = ''
'' GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand
Unified Bootloader, which was originally designed and implemented by Unified Bootloader, which was originally designed and implemented by
Erich Stefan Boleyn. Erich Stefan Boleyn.
Briefly, the boot loader is the first software program that runs when a Briefly, the boot loader is the first software program that runs when a
computer starts. It is responsible for loading and transferring computer starts. It is responsible for loading and transferring
control to the operating system kernel software (such as the Hurd or control to the operating system kernel software (such as the Hurd or
the Linux). The kernel, in turn, initializes the rest of the the Linux). The kernel, in turn, initializes the rest of the
operating system (e.g., GNU). operating system (e.g., GNU).
''; '';
homepage = "https://www.gnu.org/software/grub/"; homepage = "https://www.gnu.org/software/grub/";

View File

@ -34,8 +34,8 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "PvGrub image for use for booting PV Xen guests"; description = "PvGrub image for use for booting PV Xen guests";
longDescription = longDescription = ''
'' This package provides a PvGrub image for booting Para-Virtualized (PV) This package provides a PvGrub image for booting Para-Virtualized (PV)
Xen guests Xen guests
''; '';

View File

@ -32,23 +32,23 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Shell tool for executing jobs in parallel"; description = "Shell tool for executing jobs in parallel";
longDescription = longDescription = ''
'' GNU Parallel is a shell tool for executing jobs in parallel. A job GNU Parallel is a shell tool for executing jobs in parallel. A job
is typically a single command or a small script that has to be run is typically a single command or a small script that has to be run
for each of the lines in the input. The typical input is a list of for each of the lines in the input. The typical input is a list of
files, a list of hosts, a list of users, or a list of tables. files, a list of hosts, a list of users, or a list of tables.
If you use xargs today you will find GNU Parallel very easy to use. If you use xargs today you will find GNU Parallel very easy to use.
If you write loops in shell, you will find GNU Parallel may be able If you write loops in shell, you will find GNU Parallel may be able
to replace most of the loops and make them run faster by running to replace most of the loops and make them run faster by running
jobs in parallel. If you use ppss or pexec you will find GNU jobs in parallel. If you use ppss or pexec you will find GNU
Parallel will often make the command easier to read. Parallel will often make the command easier to read.
GNU Parallel makes sure output from the commands is the same output GNU Parallel makes sure output from the commands is the same output
as you would get had you run the commands sequentially. This makes as you would get had you run the commands sequentially. This makes
it possible to use output from GNU Parallel as input for other it possible to use output from GNU Parallel as input for other
programs. programs.
''; '';
homepage = "https://www.gnu.org/software/parallel/"; homepage = "https://www.gnu.org/software/parallel/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.all; platforms = platforms.all;

View File

@ -41,27 +41,27 @@ stdenv.mkDerivation rec {
description = "Window manager that multiplexes a physical terminal"; description = "Window manager that multiplexes a physical terminal";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
longDescription = longDescription = ''
'' GNU Screen is a full-screen window manager that multiplexes a physical GNU Screen is a full-screen window manager that multiplexes a physical
terminal between several processes, typically interactive shells. terminal between several processes, typically interactive shells.
Each virtual terminal provides the functions of the DEC VT100 Each virtual terminal provides the functions of the DEC VT100
terminal and, in addition, several control functions from the ANSI terminal and, in addition, several control functions from the ANSI
X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line
and support for multiple character sets). There is a scrollback and support for multiple character sets). There is a scrollback
history buffer for each virtual terminal and a copy-and-paste history buffer for each virtual terminal and a copy-and-paste
mechanism that allows the user to move text regions between windows. mechanism that allows the user to move text regions between windows.
When screen is called, it creates a single window with a shell in it When screen is called, it creates a single window with a shell in it
(or the specified command) and then gets out of your way so that you (or the specified command) and then gets out of your way so that you
can use the program as you normally would. Then, at any time, you can use the program as you normally would. Then, at any time, you
can create new (full-screen) windows with other programs in them can create new (full-screen) windows with other programs in them
(including more shells), kill the current window, view a list of the (including more shells), kill the current window, view a list of the
active windows, turn output logging on and off, copy text between active windows, turn output logging on and off, copy text between
windows, view the scrollback history, switch between windows, etc. windows, view the scrollback history, switch between windows, etc.
All windows run their programs completely independent of each other. All windows run their programs completely independent of each other.
Programs continue to run when their window is currently not visible Programs continue to run when their window is currently not visible
and even when the whole screen session is detached from the users and even when the whole screen session is detached from the users
terminal. terminal.
''; '';
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ ]; maintainers = [ ];

View File

@ -32,11 +32,11 @@ stdenv.mkDerivation rec {
description = "Display serial port modem status lines"; description = "Display serial port modem status lines";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
longDescription = longDescription = ''
'' Statserial displays a table of the signals on a standard 9-pin or Statserial displays a table of the signals on a standard 9-pin or
25-pin serial port, and indicates the status of the handshaking lines. It 25-pin serial port, and indicates the status of the handshaking lines. It
can be useful for debugging problems with serial ports or modems. can be useful for debugging problems with serial ports or modems.
''; '';
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ rps ]; maintainers = with maintainers; [ rps ];

View File

@ -36,12 +36,12 @@ stdenv.mkDerivation (finalAttrs: {
description = "Unix-unix cp over serial line, also includes cu program"; description = "Unix-unix cp over serial line, also includes cu program";
mainProgram = "uucp"; mainProgram = "uucp";
longDescription = longDescription = ''
'' Taylor UUCP is a free implementation of UUCP and is the standard Taylor UUCP is a free implementation of UUCP and is the standard
UUCP used on the GNU system. If you don't know what UUCP is chances UUCP used on the GNU system. If you don't know what UUCP is chances
are, nowadays, that you won't need it. If you do need it, you've are, nowadays, that you won't need it. If you do need it, you've
just found one of the finest UUCP implementations available. just found one of the finest UUCP implementations available.
''; '';
homepage = "https://www.gnu.org/software/uucp/uucp.html"; homepage = "https://www.gnu.org/software/uucp/uucp.html";

View File

@ -25,16 +25,18 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Clients for ARGUS"; description = "Clients for ARGUS";
longDescription = ''Clients for Audit Record Generation and longDescription = ''
Utilization System (ARGUS). The Argus Project is focused on developing all Clients for Audit Record Generation and
aspects of large scale network situtational awareness derived from Utilization System (ARGUS). The Argus Project is focused on developing all
network activity audit. Argus, itself, is next-generation network aspects of large scale network situtational awareness derived from
flow technology, processing packets, either on the wire or in network activity audit. Argus, itself, is next-generation network
captures, into advanced network flow data. The data, its models, flow technology, processing packets, either on the wire or in
formats, and attributes are designed to support Network captures, into advanced network flow data. The data, its models,
Operations, Performance and Security Management. If you need to formats, and attributes are designed to support Network
know what is going on in your network, right now or historically, Operations, Performance and Security Management. If you need to
you will find Argus a useful tool. ''; know what is going on in your network, right now or historically,
you will find Argus a useful tool.
'';
homepage = "http://qosient.com/argus"; homepage = "http://qosient.com/argus";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ leenaars ]; maintainers = with maintainers; [ leenaars ];

View File

@ -29,15 +29,17 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Audit Record Generation and Utilization System for networks"; description = "Audit Record Generation and Utilization System for networks";
longDescription = ''The Argus Project is focused on developing all longDescription = ''
aspects of large scale network situtational awareness derived from The Argus Project is focused on developing all
network activity audit. Argus, itself, is next-generation network aspects of large scale network situtational awareness derived from
flow technology, processing packets, either on the wire or in network activity audit. Argus, itself, is next-generation network
captures, into advanced network flow data. The data, its models, flow technology, processing packets, either on the wire or in
formats, and attributes are designed to support Network captures, into advanced network flow data. The data, its models,
Operations, Performance and Security Management. If you need to formats, and attributes are designed to support Network
know what is going on in your network, right now or historically, Operations, Performance and Security Management. If you need to
you will find Argus a useful tool. ''; know what is going on in your network, right now or historically,
you will find Argus a useful tool.
'';
homepage = "http://qosient.com/argus"; homepage = "http://qosient.com/argus";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ leenaars ]; maintainers = with maintainers; [ leenaars ];

View File

@ -103,8 +103,8 @@ in buildGoModule rec {
cp -R $src/pkg/status/templates $out/share/datadog-agent cp -R $src/pkg/status/templates $out/share/datadog-agent
wrapProgram "$out/bin/agent" \ wrapProgram "$out/bin/agent" \
--set PYTHONPATH "$out/${python.sitePackages}"'' + lib.optionalString withSystemd '' \ --set PYTHONPATH "$out/${python.sitePackages}"''
--prefix LD_LIBRARY_PATH : '' + lib.makeLibraryPath [ (lib.getLib systemd) rtloader ]; + lib.optionalString withSystemd " --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ (lib.getLib systemd) rtloader ]}";
passthru.tests.version = testers.testVersion { passthru.tests.version = testers.testVersion {
package = datadog-agent; package = datadog-agent;

View File

@ -24,8 +24,8 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Command-line RTMP client"; description = "Command-line RTMP client";
longDescription = longDescription = ''
'' flvstreamer is an open source command-line RTMP client intended to flvstreamer is an open source command-line RTMP client intended to
stream audio or video content from all types of flash or rtmp servers. stream audio or video content from all types of flash or rtmp servers.
''; '';

View File

@ -76,12 +76,12 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Collection of common network programs"; description = "Collection of common network programs";
longDescription = longDescription = ''
'' The GNU network utilities suite provides the The GNU network utilities suite provides the
following tools: ftp(d), hostname, ifconfig, inetd, logger, ping, rcp, following tools: ftp(d), hostname, ifconfig, inetd, logger, ping, rcp,
rexec(d), rlogin(d), rsh(d), syslogd, talk(d), telnet(d), tftp(d), rexec(d), rlogin(d), rsh(d), syslogd, talk(d), telnet(d), tftp(d),
traceroute, uucpd, and whois. traceroute, uucpd, and whois.
''; '';
homepage = "https://www.gnu.org/software/inetutils/"; homepage = "https://www.gnu.org/software/inetutils/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;

View File

@ -75,12 +75,12 @@ stdenv.mkDerivation rec {
description = "Tool for retrieving files using HTTP, HTTPS, and FTP"; description = "Tool for retrieving files using HTTP, HTTPS, and FTP";
homepage = "https://www.gnu.org/software/wget/"; homepage = "https://www.gnu.org/software/wget/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
longDescription = longDescription = ''
'' GNU Wget is a free software package for retrieving files using HTTP, GNU Wget is a free software package for retrieving files using HTTP,
HTTPS and FTP, the most widely-used Internet protocols. It is a HTTPS and FTP, the most widely-used Internet protocols. It is a
non-interactive commandline tool, so it may easily be called from non-interactive commandline tool, so it may easily be called from
scripts, cron jobs, terminals without X-Windows support, etc. scripts, cron jobs, terminals without X-Windows support, etc.
''; '';
mainProgram = "wget"; mainProgram = "wget";
maintainers = with maintainers; [ fpletz ]; maintainers = with maintainers; [ fpletz ];
platforms = platforms.all; platforms = platforms.all;

View File

@ -23,8 +23,8 @@ stdenv.mkDerivation {
meta = with lib; { meta = with lib; {
description = "PC/SC IFD Handler based on libnfc"; description = "PC/SC IFD Handler based on libnfc";
mainProgram = "ifdnfc-activate"; mainProgram = "ifdnfc-activate";
longDescription = longDescription = ''
'' libnfc Interface Plugin to be used in <code>services.pcscd.plugins</code>. libnfc Interface Plugin to be used in <code>services.pcscd.plugins</code>.
It provides support for all readers which are not supported by ccid but by libnfc. It provides support for all readers which are not supported by ccid but by libnfc.
For activating your reader you need to run For activating your reader you need to run

View File

@ -26,12 +26,12 @@ python3Packages.buildPythonApplication {
description = "PGP Individual UID Signer (PIUS), quickly and easily sign UIDs on a set of PGP keys"; description = "PGP Individual UID Signer (PIUS), quickly and easily sign UIDs on a set of PGP keys";
longDescription = longDescription = ''
'' This software will allow you to quickly and easily sign each UID on This software will allow you to quickly and easily sign each UID on
a set of PGP keys. It is designed to take the pain out of the a set of PGP keys. It is designed to take the pain out of the
sign-all-the-keys part of PGP Keysigning Party while adding security sign-all-the-keys part of PGP Keysigning Party while adding security
to the process. to the process.
''; '';
license = lib.licenses.gpl2Only; license = lib.licenses.gpl2Only;

View File

@ -19,28 +19,28 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "GNU ddrescue, a data recovery tool"; description = "GNU ddrescue, a data recovery tool";
longDescription = longDescription = ''
'' GNU ddrescue is a data recovery tool. It copies data from one file 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 or block device (hard disc, cdrom, etc) to another, trying hard to
rescue data in case of read errors. rescue data in case of read errors.
The basic operation of ddrescue is fully automatic. That is, you 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 don't have to wait for an error, stop the program, read the log, run
it in reverse mode, etc. it in reverse mode, etc.
If you use the logfile feature of ddrescue, the data is rescued very If you use the logfile feature of ddrescue, the data is rescued very
efficiently (only the needed blocks are read). Also you can efficiently (only the needed blocks are read). Also you can
interrupt the rescue at any time and resume it later at the same interrupt the rescue at any time and resume it later at the same
point. point.
Automatic merging of backups: If you have two or more damaged copies 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 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 time, with the same output file, you will probably obtain a complete
and error-free file. This is so because the probability of having and error-free file. This is so because the probability of having
damaged areas at the same places on different input files is very damaged areas at the same places on different input files is very
low. Using the logfile, only the needed blocks are read from the low. Using the logfile, only the needed blocks are read from the
second and successive copies. second and successive copies.
''; '';
homepage = "https://www.gnu.org/software/ddrescue/ddrescue.html"; homepage = "https://www.gnu.org/software/ddrescue/ddrescue.html";

View File

@ -21,19 +21,19 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Implementation of the Intelligent Platform Management Interface"; description = "Implementation of the Intelligent Platform Management Interface";
longDescription = longDescription = ''
'' GNU FreeIPMI provides in-band and out-of-band IPMI software based on 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 the IPMI v1.5/2.0 specification. The IPMI specification defines a
set of interfaces for platform management and is implemented by a set of interfaces for platform management and is implemented by a
number vendors for system management. The features of IPMI that number vendors for system management. The features of IPMI that
most users will be interested in are sensor monitoring, system event most users will be interested in are sensor monitoring, system event
monitoring, power control, and serial-over-LAN (SOL). The FreeIPMI monitoring, power control, and serial-over-LAN (SOL). The FreeIPMI
tools and libraries listed below should provide users with the tools and libraries listed below should provide users with the
ability to access and utilize these and many other features. A ability to access and utilize these and many other features. A
number of useful features for large HPC or cluster environments have number of useful features for large HPC or cluster environments have
also been implemented into FreeIPMI. See the README or FAQ for more also been implemented into FreeIPMI. See the README or FAQ for more
info. info.
''; '';
homepage = "https://www.gnu.org/software/freeipmi/"; homepage = "https://www.gnu.org/software/freeipmi/";
downloadPage = "https://www.gnu.org/software/freeipmi/download.html"; downloadPage = "https://www.gnu.org/software/freeipmi/download.html";

View File

@ -29,7 +29,7 @@ buildGoModule rec {
''; '';
# Install icons # Install icons
postInstall = '' make install DESTDIR=$out ''; postInstall = ''make install DESTDIR=$out'';
meta = with lib; { meta = with lib; {
description = "Gopsutil-based command to display system usage info"; description = "Gopsutil-based command to display system usage info";

View File

@ -12,14 +12,14 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Data recovery tool for damaged hardware"; description = "Data recovery tool for damaged hardware";
longDescription = longDescription = ''
'' Safecopy is a data recovery tool which tries to extract as much data as possible from a 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, 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. 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 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. resets and other helpful low level operations on a number of other device classes.
''; '';
homepage = "https://safecopy.sourceforge.net"; homepage = "https://safecopy.sourceforge.net";

View File

@ -31,16 +31,16 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Converter from ASCII to PostScript, HTML, or RTF"; description = "Converter from ASCII to PostScript, HTML, or RTF";
longDescription = longDescription = ''
'' GNU Enscript converts ASCII files to PostScript, HTML, or RTF and GNU Enscript converts ASCII files to PostScript, HTML, or RTF and
stores generated output to a file or sends it directly to the stores generated output to a file or sends it directly to the
printer. It includes features for `pretty-printing' printer. It includes features for `pretty-printing'
(language-sensitive code highlighting) in several programming (language-sensitive code highlighting) in several programming
languages. languages.
Enscript can be easily extended to handle different output media and Enscript can be easily extended to handle different output media and
it has many options that can be used to customize printouts. it has many options that can be used to customize printouts.
''; '';
license = lib.licenses.gpl3Plus; license = lib.licenses.gpl3Plus;

View File

@ -47,11 +47,11 @@ stdenv.mkDerivation rec {
description = "GNU Patch, a program to apply differences to files"; description = "GNU Patch, a program to apply differences to files";
mainProgram = "patch"; mainProgram = "patch";
longDescription = longDescription = ''
'' GNU Patch takes a patch file containing a difference listing GNU Patch takes a patch file containing a difference listing
produced by the diff program and applies those differences to one or produced by the diff program and applies those differences to one or
more original files, producing patched versions. more original files, producing patched versions.
''; '';
homepage = "https://savannah.gnu.org/projects/patch"; homepage = "https://savannah.gnu.org/projects/patch";

View File

@ -66,10 +66,9 @@ rec {
echo "Compiling a custom test" echo "Compiling a custom test"
set -x set -x
emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 xmllint.o \ emcc -O2 -s EMULATE_FUNCTION_POINTER_CASTS=1 xmllint.o \
./.libs/'' ./.libs/${
+ pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isDarwin "libxml2.dylib " if pkgs.stdenv.hostPlatform.isDarwin then "libxml2.dylib" else "libxml2.a"
+ pkgs.lib.optionalString (!pkgs.stdenv.hostPlatform.isDarwin) "libxml2.a " } `pkg-config zlib --cflags` `pkg-config zlib --libs` -o ./xmllint.test.js \
+ '' `pkg-config zlib --cflags` `pkg-config zlib --libs` -o ./xmllint.test.js \
--embed-file ./test/xmlid/id_err1.xml --embed-file ./test/xmlid/id_err1.xml
echo "Using node to execute the test which basically outputs an error on stderr which we grep for" echo "Using node to execute the test which basically outputs an error on stderr which we grep for"