Merge remote-tracking branch 'lass/master'
This commit is contained in:
commit
c4bdac09df
2
ci.nix
2
ci.nix
@ -1,4 +1,4 @@
|
||||
# usage: nix-instantiate --eval --strict --json ./ci.nix
|
||||
# usage: nix-instantiate --eval --json --read-write-mode --strict ci.nix | jq .
|
||||
with import ./lib;
|
||||
let
|
||||
pkgs = import <nixpkgs> { overlays = [ (import ./submodules/nix-writers/pkgs) ]; };
|
||||
|
@ -30,6 +30,8 @@ let
|
||||
nix-instantiate --quiet -Q --eval --strict --json ./ci.nix
|
||||
'';
|
||||
|
||||
profileRoot = "/nix/var/nix/profiles/ci";
|
||||
|
||||
imp = {
|
||||
krebs.buildbot.master = {
|
||||
slaves = {
|
||||
@ -98,9 +100,16 @@ let
|
||||
self.addBuildSteps([steps.ShellCommand(
|
||||
name=str(new_step),
|
||||
command=[
|
||||
new_steps[new_step]
|
||||
"${pkgs.writeDash "build-stepper.sh" ''
|
||||
set -efu
|
||||
profile=${shell.escape profileRoot}/$build_name
|
||||
result=$("$build_script")
|
||||
${pkgs.nix}/bin/nix-env -p "$profile" --set "$result"
|
||||
''}"
|
||||
],
|
||||
env={
|
||||
"build_name": new_step,
|
||||
"build_script": new_steps[new_step],
|
||||
"NIX_REMOTE": "daemon",
|
||||
"NIX_PATH": "secrets=/var/src/stockholm/null:/var/src",
|
||||
},
|
||||
@ -163,6 +172,20 @@ let
|
||||
password = "lasspass";
|
||||
packages = with pkgs; [ gnumake jq nix populate gnutar lzma gzip ];
|
||||
};
|
||||
|
||||
system.activationScripts.buildbots-nix-profile = ''
|
||||
${pkgs.coreutils}/bin/mkdir -p ${shell.escape profileRoot}
|
||||
${pkgs.coreutils}/bin/chmod 0770 ${shell.escape profileRoot}
|
||||
${pkgs.coreutils}/bin/chgrp buildbots ${shell.escape profileRoot}
|
||||
'';
|
||||
|
||||
users = {
|
||||
groups.buildbots.gid = genid "buildbots";
|
||||
users = {
|
||||
buildbotMaster.extraGroups = [ "buildbots" ];
|
||||
buildbotSlave.extraGroups = [ "buildbots" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in out
|
||||
|
@ -1,122 +0,0 @@
|
||||
{ stdenv, writeScriptBin, lib, fetchurl, git, cacert
|
||||
, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps, gd
|
||||
, withMysql ? false
|
||||
, withPgsql ? false
|
||||
, withSqlite ? false, sqlite
|
||||
, withPam ? false, pam
|
||||
, withZlib ? true, zlib
|
||||
, withRiak ? false
|
||||
, withElixir ? false, elixir
|
||||
, withIconv ? true
|
||||
, withTools ? false
|
||||
, withRedis ? false
|
||||
}:
|
||||
|
||||
let
|
||||
fakegit = writeScriptBin "git" ''
|
||||
#! ${stdenv.shell} -e
|
||||
if [ "$1" = "describe" ]; then
|
||||
[ -r .rev ] && cat .rev || true
|
||||
fi
|
||||
'';
|
||||
|
||||
ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "18.01";
|
||||
name = "ejabberd-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
|
||||
sha256 = "01i2n8mlgw293jdf4172f9q8ca8m35vysjws791p7nynpfdb4cn6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ fakegit ];
|
||||
|
||||
buildInputs = [ erlang openssl expat libyaml gd ]
|
||||
++ lib.optional withSqlite sqlite
|
||||
++ lib.optional withPam pam
|
||||
++ lib.optional withZlib zlib
|
||||
++ lib.optional withElixir elixir
|
||||
;
|
||||
|
||||
# Apparently needed for Elixir
|
||||
LANG = "en_US.UTF-8";
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
name = "ejabberd-deps-${version}";
|
||||
|
||||
inherit src;
|
||||
|
||||
configureFlags = [ "--enable-all" "--with-sqlite3=${sqlite.dev}" ];
|
||||
|
||||
nativeBuildInputs = [ git erlang openssl expat libyaml sqlite pam zlib elixir ];
|
||||
|
||||
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
makeFlags = [ "deps" ];
|
||||
|
||||
phases = [ "unpackPhase" "configurePhase" "buildPhase" "installPhase" ];
|
||||
|
||||
installPhase = ''
|
||||
for i in deps/*; do
|
||||
( cd $i
|
||||
git reset --hard
|
||||
git clean -ffdx
|
||||
git describe --always --tags > .rev
|
||||
rm -rf .git
|
||||
)
|
||||
done
|
||||
rm deps/.got
|
||||
|
||||
cp -r deps $out
|
||||
'';
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "1v3h0c7kfifb6wsfxyv5j1wc7rlxbb7r0pgd4s340wiyxnllzzhk";
|
||||
};
|
||||
|
||||
configureFlags =
|
||||
[ (lib.enableFeature withMysql "mysql")
|
||||
(lib.enableFeature withPgsql "pgsql")
|
||||
(lib.enableFeature withSqlite "sqlite")
|
||||
(lib.enableFeature withPam "pam")
|
||||
(lib.enableFeature withZlib "zlib")
|
||||
(lib.enableFeature withRiak "riak")
|
||||
(lib.enableFeature withElixir "elixir")
|
||||
(lib.enableFeature withIconv "iconv")
|
||||
(lib.enableFeature withTools "tools")
|
||||
(lib.enableFeature withRedis "redis")
|
||||
] ++ lib.optional withSqlite "--with-sqlite3=${sqlite.dev}";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = [
|
||||
./ejabberdctl.patch
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
cp -r $deps deps
|
||||
chmod -R +w deps
|
||||
patchShebangs deps
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
sed -i \
|
||||
-e '2iexport PATH=${ctlpath}:$PATH' \
|
||||
-e 's,\(^ *FLOCK=\).*,\1${utillinux}/bin/flock,' \
|
||||
-e 's,\(^ *JOT=\).*,\1,' \
|
||||
-e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/ejabberdctl,' \
|
||||
$out/sbin/ejabberdctl
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Open-source XMPP application server written in Erlang";
|
||||
license = licenses.gpl2;
|
||||
homepage = http://www.ejabberd.im;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ sander abbradar ];
|
||||
broken = withElixir;
|
||||
};
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
--- a/ejabberdctl.template 1970-01-01 01:00:01.000000000 +0100
|
||||
+++ b/ejabberdctl.template 2018-04-24 23:06:54.127715441 +0200
|
||||
@@ -42,19 +42,18 @@
|
||||
esac
|
||||
|
||||
# parse command line parameters
|
||||
-for arg; do
|
||||
- case $arg in
|
||||
- -n|--node) ERLANG_NODE_ARG=$2; shift;;
|
||||
- -s|--spool) SPOOL_DIR=$2; shift;;
|
||||
- -l|--logs) LOGS_DIR=$2; shift;;
|
||||
- -f|--config) EJABBERD_CONFIG_PATH=$2; shift;;
|
||||
- -c|--ctl-config) EJABBERDCTL_CONFIG_PATH=$2; shift;;
|
||||
- -d|--config-dir) ETC_DIR=$2; shift;;
|
||||
- -t|--no-timeout) NO_TIMEOUT="--no-timeout";;
|
||||
- --) :;;
|
||||
+while test $# -gt 0; do
|
||||
+ case $1 in
|
||||
+ -n|--node) ERLANG_NODE_ARG=$2; shift 2;;
|
||||
+ -s|--spool) SPOOL_DIR=$2; shift 2;;
|
||||
+ -l|--logs) LOGS_DIR=$2; shift 2;;
|
||||
+ -f|--config) EJABBERD_CONFIG_PATH=$2; shift 2;;
|
||||
+ -c|--ctl-config) EJABBERDCTL_CONFIG_PATH=$2; shift 2;;
|
||||
+ -d|--config-dir) ETC_DIR=$2; shift 2;;
|
||||
+ -t|--no-timeout) NO_TIMEOUT="--no-timeout"; shift 1;;
|
||||
+ # --) :;; what is this for?
|
||||
*) break;;
|
||||
esac
|
||||
- shift
|
||||
done
|
||||
|
||||
# define ejabberd variables if not already defined from the command line
|
@ -87,7 +87,6 @@ in /* yaml */ ''
|
||||
mod_configure: {}
|
||||
mod_disco: {}
|
||||
mod_echo: {}
|
||||
mod_irc: {}
|
||||
mod_bosh: {}
|
||||
mod_last: {}
|
||||
mod_offline:
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit e2b29654251367545700154ffbac806705dd04c0
|
||||
Subproject commit ce37b2a9c2a438b7278e8e8ab045df34f00ad386
|
@ -76,6 +76,7 @@ let {
|
||||
};
|
||||
} // mapAttrs (_: recursiveUpdate { cgit.section = "3. Haskell libraries"; }) {
|
||||
blessings = {};
|
||||
hc = {};
|
||||
mime = {};
|
||||
quipper = {};
|
||||
scanner = {};
|
||||
|
@ -14,8 +14,25 @@ let {
|
||||
};
|
||||
|
||||
extra-runtimepath = concatMapStringsSep "," (pkg: "${pkg.rtp}") [
|
||||
# cannot use pkgs.vimPlugins.fzf-vim as it's missing :Rg
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "fzf-2018-11-14";
|
||||
src = pkgs.fetchgit {
|
||||
url = https://github.com/junegunn/fzf.vim;
|
||||
rev = "ad1833ecbc9153b6e34a4292dc089a58c4bcb8dc";
|
||||
sha256 = "1z2q71q6l9hq9fqfqpj1svhyk4yk1bzw1ljhksx4bnpz8gkfbx2m";
|
||||
};
|
||||
})
|
||||
pkgs.vimPlugins.fzfWrapper
|
||||
pkgs.vimPlugins.undotree
|
||||
pkgs.vimPlugins.vim-elixir
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-elixir-2018-08-17";
|
||||
src = pkgs.fetchgit {
|
||||
url = https://github.com/elixir-editors/vim-elixir;
|
||||
rev = "0a847f0faed5ba2d94bb3d51f355c50f37ba025b";
|
||||
sha256 = "1jl85wpgywhcvhgw02y8zpvqf0glr4i8522kxpvhsiacb1v1xh04";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-syntax-jq";
|
||||
src = pkgs.fetchgit {
|
||||
@ -309,6 +326,11 @@ let {
|
||||
paths = [
|
||||
(pkgs.writeDashBin "vim" ''
|
||||
set -efu
|
||||
export FZF_DEFAULT_COMMAND='${pkgs.ripgrep}/bin/rg --files'
|
||||
export PATH=$PATH:${makeBinPath [
|
||||
pkgs.fzf
|
||||
pkgs.ripgrep
|
||||
]}
|
||||
(umask 0077; exec ${pkgs.coreutils}/bin/mkdir -p ${toString need-dirs})
|
||||
exec ${pkgs.vim}/bin/vim "$@"
|
||||
'')
|
||||
@ -333,6 +355,7 @@ let {
|
||||
set shortmess+=I
|
||||
set showcmd
|
||||
set showmatch
|
||||
set timeoutlen=0
|
||||
set ttimeoutlen=0
|
||||
set undodir=${dirs.undodir}
|
||||
set undofile
|
||||
@ -385,5 +408,13 @@ let {
|
||||
noremap <esc>[c <nop> | noremap! <esc>[c <nop>
|
||||
noremap <esc>[d <nop> | noremap! <esc>[d <nop>
|
||||
vnoremap u <nop>
|
||||
|
||||
" fzf
|
||||
nnoremap <esc>q :Files<cr>
|
||||
nnoremap <esc>w :Rg<cr>
|
||||
|
||||
" edit alternate buffer
|
||||
" For some reason neither putting <ctrl>6 nor <ctrl>^ works here...
|
||||
nnoremap <esc>a
|
||||
'';
|
||||
}
|
||||
|
@ -87,7 +87,6 @@ in /* yaml */ ''
|
||||
mod_configure: {}
|
||||
mod_disco: {}
|
||||
mod_echo: {}
|
||||
mod_irc: {}
|
||||
mod_bosh: {}
|
||||
mod_last: {}
|
||||
mod_offline:
|
||||
|
37
tv/5pkgs/simple/hc.nix
Normal file
37
tv/5pkgs/simple/hc.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ coreutils, fetchgit, findutils, gawk, gnugrep, makeWrapper, qrencode, stdenv, texlive, utillinux, zbar }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "hc-${meta.version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://cgit.krebsco.de/hc";
|
||||
rev = "refs/tags/v${meta.version}";
|
||||
sha256 = "09349gja22p0j3xs082kp0fnaaada14bafszn4r3q7rg1id2slfb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildPhase = null;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
|
||||
cp $src/bin/hc $out/bin/hc
|
||||
|
||||
wrapProgram $out/bin/hc \
|
||||
--prefix PATH : ${stdenv.lib.makeBinPath [
|
||||
coreutils
|
||||
findutils
|
||||
gawk
|
||||
gnugrep
|
||||
qrencode
|
||||
texlive.combined.scheme-full
|
||||
utillinux
|
||||
zbar
|
||||
]}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
version = "1.0.0";
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user