Skip to content

Commit

Permalink
automatic merge by nix-conf
Browse files Browse the repository at this point in the history
Merged branches:
- amc-my-patches
- nullmailer-int
- gcalcli-fix-import
- ucspi-tcp-ipv6-support
- gnuplot-info
- nixos-rebuild-dont-reexec
- amc-fix-lib
  • Loading branch information
nix-conf committed Jan 13, 2024
8 parents 9b19f5e + 326ab39 + b3b09c5 + 0c5a169 + 0e4ef72 + 2b59501 + 454c080 + b94b151 commit 7684898
Show file tree
Hide file tree
Showing 9 changed files with 183 additions and 54 deletions.
8 changes: 4 additions & 4 deletions nixos/modules/services/mail/nullmailer.nix
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ with lib;
};

maxpause = mkOption {
type = types.nullOr types.str;
type = with types; nullOr (oneOf [ str int ]);
default = null;
description = lib.mdDoc ''
The maximum time to pause between successive queue runs, in seconds.
Expand All @@ -138,7 +138,7 @@ with lib;
};

pausetime = mkOption {
type = types.nullOr types.str;
type = with types; nullOr (oneOf [ str int ]);
default = null;
description = lib.mdDoc ''
The minimum time to pause between successive queue runs when there
Expand Down Expand Up @@ -168,7 +168,7 @@ with lib;
};

sendtimeout = mkOption {
type = types.nullOr types.str;
type = with types; nullOr (oneOf [ str int ]);
default = null;
description = lib.mdDoc ''
The time to wait for a remote module listed above to complete sending
Expand All @@ -194,7 +194,7 @@ with lib;
environment = {
systemPackages = [ pkgs.nullmailer ];
etc = let
validAttrs = filterAttrs (name: value: value != null) cfg.config;
validAttrs = lib.mapAttrs (_: toString) (filterAttrs (_: value: value != null) cfg.config);
in
(foldl' (as: name: as // { "nullmailer/${name}".text = validAttrs.${name}; }) {} (attrNames validAttrs))
// optionalAttrs (cfg.remotesFile != null) { "nullmailer/remotes".source = cfg.remotesFile; };
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
From 20c120c57a65eb0ab9203cb347bb78b664b80974 Mon Sep 17 00:00:00 2001
From: Michal Sojka <[email protected]>
Date: Sun, 21 Jan 2018 23:13:00 +0100
Subject: [PATCH 1/2] AMC-TXT: New global option ShowGroupText

When this option is enabled (default), the text after group start/end
marks i.e., after "*(" or "*)", is shown in the printed tests. This is
the same behavior as before this commit.

By setting this option to 0, no group marks are generated. This is
useful if groups are used merely as containers for similar questions
and have numquestions=1 option. In this case, it makes little sense to
add group text before and after every question.
---
AMC-perl/AMC/Filter/plain.pm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/AMC-perl/AMC/Filter/plain.pm b/AMC-perl/AMC/Filter/plain.pm
index 5970266d..e0f7d4be 100644
--- a/AMC-perl/AMC/Filter/plain.pm
+++ b/AMC-perl/AMC/Filter/plain.pm
@@ -63,6 +63,7 @@ sub new {
TitleWidth
Pages
RandomSeed
+ ShowGroupText
PreAssociation PreAssociationKey PreAssociationName
/
];
@@ -75,6 +76,7 @@ sub new {
CompleteMulti SeparateAnswerSheet AutoMarks
Arabic
ManualDuplex SingleSided
+ ShowGroupText
/
];

@@ -119,6 +121,7 @@ sub new {
namefieldlinespace => '.5em',
titlewidth => ".47\\linewidth",
randomseed => "1527384",
+ showgrouptext => 1,
lang => '',
code => 0,
'latex-preambule' => '',
@@ -487,7 +490,7 @@ sub read_file {
if (/^\s*\*([\(\)])(?:\[([^]]*)\])?\s*(.*)/) {
my $action = $1;
my $options = $2;
- my $text = $3;
+ my $text=$self->{'options'}->{'showgrouptext'} ? $3 : "";
debug "Group A=" . printable($action) . " O=" . printable($options);
my %oo = $self->read_options($options);
if ( $action eq '(' ) {
--
2.34.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
From bed560fcf352343d75f8a4c719d2710c60420672 Mon Sep 17 00:00:00 2001
From: Michal Sojka <[email protected]>
Date: Fri, 25 Jan 2019 18:26:26 +0100
Subject: [PATCH 2/2] Test 8-page alignment

---
AMC-buildpdf.cc | 2 ++
AMC-perl/AMC/Annotate.pm | 11 +++++++++++
2 files changed, 13 insertions(+)

diff --git a/AMC-buildpdf.cc b/AMC-buildpdf.cc
index 73dea3ca..a4549e57 100644
--- a/AMC-buildpdf.cc
+++ b/AMC-buildpdf.cc
@@ -89,6 +89,8 @@ int main(int argc, char** argv )
processing_error = PDF.load_pdf(command + 9);
} else if(sscanf(command, "page pdf %ld", &i) == 1) {
processing_error = PDF.new_page_from_pdf(i);
+ } else if(strcmp(command, "page empty") == 0) {
+ processing_error = PDF.next_page();
} else if(strcmp(command, "matrix identity") == 0) {
PDF.identity_matrix();
} else if(sscanf(command, "matrix %lf %lf %lf %lf %lf %lf",
diff --git a/AMC-perl/AMC/Annotate.pm b/AMC-perl/AMC/Annotate.pm
index 6e15af59..cbb49f37 100644
--- a/AMC-perl/AMC/Annotate.pm
+++ b/AMC-perl/AMC/Annotate.pm
@@ -1036,6 +1036,14 @@ sub student_draw_page {
}
}

+sub draw_empty_page {
+ my ($self,$page)=@_;
+
+ debug "Drawing empty page #$page";
+
+ $self->command("page empty");
+}
+
# process a student copy

sub process_student {
@@ -1077,6 +1085,9 @@ sub process_student {
for my $page ( $self->student_pages($student) ) {
$self->student_draw_page( $student, $page );
}
+ for (my $i = $self->student_pages($student); $i % 8 != 0; $i++) {
+ $self->draw_empty_page($i+1);
+ }

$self->{data}->end_transaction('aOST');
}
--
2.34.1

53 changes: 28 additions & 25 deletions pkgs/applications/misc/auto-multiple-choice/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -37,37 +37,39 @@ stdenv.mkDerivation (finalAttrs: rec {

makeFlags = [
"PERLPATH=${perl}/bin/perl"
# We *need* to pass DESTDIR, as the Makefile ignores PREFIX.
"DESTDIR=$(out)"
# Relative paths.
"BINDIR=/bin"
"PERLDIR=/share/perl5"
"MODSDIR=/lib" # At runtime, AMC will test for that dir before
# defaulting to the "portable" strategy we use, so this test
# *must* fail. *But* this variable cannot be set to anything but
# "/lib" , because that name is hardcoded in the main executable
# and this variable controls both both the path AMC will check at
# runtime, AND the path where the actual modules will be stored at
# build-time. This has been reported upstream as
# https://project.auto-multiple-choice.net/issues/872
"TEXDIR=/tex/latex/" # what texlive.combine expects
"TEXDOCDIR=/share/doc/texmf/" # TODO where to put this?
"MAN1DIR=/share/man/man1"
"DESKTOPDIR=/share/applications"
"METAINFODIR=/share/metainfo"
"ICONSDIR=/share/auto-multiple-choice/icons"
"APPICONDIR=/share/icons/hicolor"
"LOCALEDIR=/share/locale"
"MODELSDIR=/share/auto-multiple-choice/models"
"DOCDIR=/share/doc/auto-multiple-choice"
"SHARED_MIMEINFO_DIR=/share/mime/packages"
"LANG_GTKSOURCEVIEW_DIR=/share/gtksourceview-4/language-specs"
# We *need* to set DESTDIR as empty and use absolute paths below,
# because the Makefile ignores PREFIX and MODSDIR is required to
# be an absolute path to not trigger "portable distribution" check
# in auto-multiple-choice.in.
"DESTDIR="
# Set variables from Makefile.conf to absolute paths
"BINDIR=${placeholder "out"}/bin"
"PERLDIR=${placeholder "out"}/share/perl5"
"MODSDIR=${placeholder "out"}/lib"
"TEXDIR=${placeholder "out"}/tex/latex/" # what texlive.combine expects
"TEXDOCDIR=${placeholder "out"}/share/doc/texmf/" # TODO where to put this?
"MAN1DIR=${placeholder "out"}/share/man/man1"
"DESKTOPDIR=${placeholder "out"}/share/applications"
"METAINFODIR=${placeholder "out"}/share/metainfo"
"ICONSDIR=${placeholder "out"}/share/auto-multiple-choice/icons"
"CSSDIR=${placeholder "out"}/share/auto-multiple-choice/gtk"
"APPICONDIR=${placeholder "out"}/share/icons/hicolor"
"LOCALEDIR=${placeholder "out"}/share/locale"
"MODELSDIR=${placeholder "out"}/share/auto-multiple-choice/models"
"DOCDIR=${placeholder "out"}/share/doc/auto-multiple-choice"
"SHARED_MIMEINFO_DIR=${placeholder "out"}/share/mime/packages"
"LANG_GTKSOURCEVIEW_DIR=${placeholder "out"}/share/gtksourceview-4/language-specs"
# Pretend to be redhat so `install` doesn't try to chown/chgrp.
"SYSTEM_TYPE=rpm"
"GCC=${stdenv.cc.targetPrefix}cc"
"GCC_PP=${stdenv.cc.targetPrefix}c++"
];

patches = [
./0001-AMC-TXT-New-global-option-ShowGroupText.patch
./0002-Test-8-page-alignment.patch
];

preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
Expand All @@ -93,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: rec {
XMLWriter
]}:"$out/share/perl5 \
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--prefix PATH : "$out/bin" \
--set TEXINPUTS ":.:$out/tex/latex"
'';

Expand Down
6 changes: 3 additions & 3 deletions pkgs/applications/misc/gcalcli/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ with python3.pkgs;

buildPythonApplication rec {
pname = "gcalcli";
version = "4.3.0";
version = "4.3.0+pr599";

src = fetchFromGitHub {
owner = "insanum";
repo = pname;
rev = "v${version}";
sha256 = "0s5fhcmz3n0dwh3vkqr4aigi59q43v03ch5jhh6v75149icwr0df";
rev = "d8378f7ec92b160012d867e51ceb5c73af1cc4b0"; # https://github.com/insanum/gcalcli/pull/599
sha256 = "sha256-V4oqetDg56YksjYd/yjB7wH+t+mvxSmExVSYEFUhD/0=";
};

postPatch = lib.optionalString stdenv.isLinux ''
Expand Down
9 changes: 6 additions & 3 deletions pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -397,9 +397,12 @@ if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast ]]; then
SHOULD_REEXEC=1
fi
else
runCmd nix "${flakeFlags[@]}" build --out-link "${tmpDir}/nixos-rebuild" "$flake#$flakeAttr.config.system.build.nixos-rebuild" "${extraBuildFlags[@]}" "${lockFlags[@]}"
if p=$(readlink -e "${tmpDir}/nixos-rebuild"); then
SHOULD_REEXEC=1
targetSystem=$(runCmd nix eval --raw "$flake#$flakeAttr.pkgs.system")
if [[ $(nix show-config --json | jq -r '.system.value') == $targetSystem ]]; then
runCmd nix "${flakeFlags[@]}" build --out-link "${tmpDir}/nixos-rebuild" "$flake#$flakeAttr.config.system.build.nixos-rebuild" "${extraBuildFlags[@]}" "${lockFlags[@]}"
if p=$(readlink -e "${tmpDir}/nixos-rebuild"); then
SHOULD_REEXEC=1
fi
fi
fi

Expand Down
12 changes: 11 additions & 1 deletion pkgs/tools/graphics/gnuplot/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
, gnused ? null
, coreutils ? null
, withQt ? false, mkDerivation, qttools, qtbase, qtsvg
, enableInfo ? true, emacs
}:

assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null);
Expand All @@ -28,7 +29,12 @@ in
sha256 = "sha256-Y1oo8Jk/arDRF54HKtObgTnQf1Ejf4Qdk8bC/0sXWOw=";
};

nativeBuildInputs = [ makeWrapper pkg-config texinfo ] ++ lib.optional withQt qttools;
outputs = [ "out" ] ++ lib.optional enableInfo "info";

nativeBuildInputs =
[ makeWrapper pkg-config texinfo ]
++ lib.optional withQt qttools
++ lib.optional enableInfo emacs;

buildInputs =
[ cairo gd libcerf pango readline zlib ]
Expand Down Expand Up @@ -74,6 +80,10 @@ in

enableParallelBuilding = true;

installTargets =
[ "install" ]
++ lib.optional enableInfo "install-info";

meta = with lib; {
homepage = "http://www.gnuplot.info/";
description = "A portable command-line driven graphing utility for many platforms";
Expand Down
22 changes: 19 additions & 3 deletions pkgs/tools/networking/ucspi-tcp/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{ lib, stdenv, fetchurl }:

{ lib, stdenv, fetchurl
, ipv6Support ? true
}:
stdenv.mkDerivation rec {
pname = "ucspi-tcp";
version = "0.88";
Expand All @@ -15,7 +16,11 @@ stdenv.mkDerivation rec {
url = "http://ftp.de.debian.org/debian/pool/main/u/ucspi-tcp/ucspi-tcp_0.88-3.diff.gz";
sha256 = "0mzmhz8hjkrs0khmkzs5i0s1kgmgaqz07h493bd5jj5fm5njxln6";
})
./remove-setuid.patch
] ++ lib.optional ipv6Support [
(fetchurl {
url = "https://salsa.debian.org/debian/ucspi-tcp/-/raw/debian/1%250.88-7/debian/ipv6-support.patch";
sha256 = "sha256-sFOVWJBsnLNZhsOH+TFmYt7NyMwJfbtSg/qCKEAyaQI=";
})
];

# Apply Debian patches
Expand All @@ -24,6 +29,9 @@ stdenv.mkDerivation rec {
echo "Applying patch $fname"
patch < "$fname"
done
# Remove setuid
substituteInPlace hier.c --replace ',02755);' ',0755);'
'';

# The build system is weird; 'make install' doesn't install anything, instead
Expand All @@ -46,6 +54,14 @@ stdenv.mkDerivation rec {
# run the newly built installer
./install
'' + lib.optionalString ipv6Support ''
# Replicate Debian's man install logic (some man pages from
# ipv6-support.patch will be overwritten below by
# debian/ucspi-tcp-man/*.1).
rm -rf "$out/usr/man/man5" # don't include tcp-environ(5)
mv -v "$out"/man/man1/*.1 "$out/share/man/man1/"
'' + ''
# Install Debian man pages (upstream has none)
cp debian/ucspi-tcp-man/*.1 "$out/share/man/man1"
'';
Expand Down
15 changes: 0 additions & 15 deletions pkgs/tools/networking/ucspi-tcp/remove-setuid.patch

This file was deleted.

0 comments on commit 7684898

Please sign in to comment.