Merge remote-tracking branch 'origin/master' into staging

This commit is contained in:
Matthew Bauer 2018-08-21 15:41:53 -05:00
commit 379fc894de
351 changed files with 5483 additions and 2969 deletions

View File

@ -15,13 +15,17 @@ stdenv.mkDerivation {
buildPhase = "ant"; buildPhase = "ant";
} }
</programlisting> </programlisting>
Note that <varname>jdk</varname> is an alias for the OpenJDK. Note that <varname>jdk</varname> is an alias for the OpenJDK (self-built
</para> where available, or pre-built via Zulu).
Platforms with OpenJDK not (yet) in Nixpkgs (<literal>Aarch32</literal>,
<literal>Aarch64</literal>) point to the (unfree)
<literal>oraclejdk</literal>.
</para>
<para> <para>
JAR files that are intended to be used by other packages should be installed JAR files that are intended to be used by other packages should be installed
in <filename>$out/share/java</filename>. The OpenJDK has a stdenv setup hook in <filename>$out/share/java</filename>. JDKs have a stdenv setup hook
that adds any JARs in the <filename>share/java</filename> directories of the that add any JARs in the <filename>share/java</filename> directories of the
build inputs to the <envar>CLASSPATH</envar> environment variable. For build inputs to the <envar>CLASSPATH</envar> environment variable. For
instance, if the package <literal>libfoo</literal> installs a JAR named instance, if the package <literal>libfoo</literal> installs a JAR named
<filename>foo.jar</filename> in its <filename>share/java</filename> <filename>foo.jar</filename> in its <filename>share/java</filename>
@ -57,7 +61,18 @@ installPhase =
<literal>${jre}/bin/java</literal> instead of <literal>${jre}/bin/java</literal> instead of
<literal>${jdk}/bin/java</literal>, you prevent your package from depending <literal>${jdk}/bin/java</literal>, you prevent your package from depending
on the JDK at runtime. on the JDK at runtime.
</para> </para>
<para>
Note all JDKs passthru <literal>home</literal>, so if your application
requires environment variables like <envar>JAVA_HOME</envar> being set, that
can be done in a generic fashion with the <literal>--set</literal> argument
of <literal>makeWrapper</literal>:
<programlisting>
--set JAVA_HOME ${jdk.home}
</programlisting>
</para>
<para> <para>
It is possible to use a different Java compiler than <command>javac</command> It is possible to use a different Java compiler than <command>javac</command>

View File

@ -195,9 +195,10 @@ rec {
let self = f self // { let self = f self // {
newScope = scope: newScope (self // scope); newScope = scope: newScope (self // scope);
callPackage = self.newScope {}; callPackage = self.newScope {};
# TODO(@Ericson2314): Haromonize argument order of `g` with everything else
overrideScope = g: overrideScope = g:
makeScope newScope makeScope newScope
(self_: let super = f self_; in super // g super self_); (lib.fixedPoints.extends (lib.flip g) f);
packages = f; packages = f;
}; };
in self; in self;

View File

@ -80,7 +80,7 @@ let
inherit (strings) concatStrings concatMapStrings concatImapStrings inherit (strings) concatStrings concatMapStrings concatImapStrings
intersperse concatStringsSep concatMapStringsSep intersperse concatStringsSep concatMapStringsSep
concatImapStringsSep makeSearchPath makeSearchPathOutput concatImapStringsSep makeSearchPath makeSearchPathOutput
makeLibraryPath makeBinPath makePerlPath optionalString makeLibraryPath makeBinPath makePerlPath makeFullPerlPath optionalString
hasPrefix hasSuffix stringToCharacters stringAsChars escape hasPrefix hasSuffix stringToCharacters stringAsChars escape
escapeShellArg escapeShellArgs replaceChars lowerChars escapeShellArg escapeShellArgs replaceChars lowerChars
upperChars toLower toUpper addContextFrom splitString upperChars toLower toUpper addContextFrom splitString

View File

@ -654,6 +654,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "wxWindows Library Licence, Version 3.1"; fullName = "wxWindows Library Licence, Version 3.1";
}; };
xfig = {
fullName = "xfig";
url = "http://mcj.sourceforge.net/authors.html#xfig";
};
zlib = spdx { zlib = spdx {
spdxId = "Zlib"; spdxId = "Zlib";
fullName = "zlib License"; fullName = "zlib License";

View File

@ -126,6 +126,15 @@ rec {
*/ */
makePerlPath = makeSearchPathOutput "lib" "lib/perl5/site_perl"; makePerlPath = makeSearchPathOutput "lib" "lib/perl5/site_perl";
/* Construct a perl search path recursively including all dependencies (such as $PERL5LIB)
Example:
pkgs = import <nixpkgs> { }
makeFullPerlPath [ pkgs.perlPackages.CGI ]
=> "/nix/store/fddivfrdc1xql02h9q500fpnqy12c74n-perl-CGI-4.38/lib/perl5/site_perl:/nix/store/8hsvdalmsxqkjg0c5ifigpf31vc4vsy2-perl-HTML-Parser-3.72/lib/perl5/site_perl:/nix/store/zhc7wh0xl8hz3y3f71nhlw1559iyvzld-perl-HTML-Tagset-3.20/lib/perl5/site_perl"
*/
makeFullPerlPath = deps: makePerlPath (lib.misc.closePropagation deps);
/* Depending on the boolean `cond', return either the given string /* Depending on the boolean `cond', return either the given string
or the empty string. Useful to concatenate against a bigger string. or the empty string. Useful to concatenate against a bigger string.

View File

@ -673,6 +673,11 @@
github = "changlinli"; github = "changlinli";
name = "Changlin Li"; name = "Changlin Li";
}; };
CharlesHD = {
email = "charleshdespointes@gmail.com";
github = "CharlesHD";
name = "Charles Huyghues-Despointes";
};
chaoflow = { chaoflow = {
email = "flo@chaoflow.net"; email = "flo@chaoflow.net";
github = "chaoflow"; github = "chaoflow";
@ -1590,6 +1595,11 @@
github = "havvy"; github = "havvy";
name = "Ryan Scheel"; name = "Ryan Scheel";
}; };
hax404 = {
email = "hax404foogit@hax404.de";
github = "hax404";
name = "Georg Haas";
};
hbunke = { hbunke = {
email = "bunke.hendrik@gmail.com"; email = "bunke.hendrik@gmail.com";
github = "hbunke"; github = "hbunke";
@ -1935,6 +1945,11 @@
github = "jonafato"; github = "jonafato";
name = "Jon Banafato"; name = "Jon Banafato";
}; };
jonathanreeve = {
email = "jon.reeve@gmail.com";
github = "JonathanReeve";
name = "Jonathan Reeve";
};
joncojonathan = { joncojonathan = {
email = "joncojonathan@gmail.com"; email = "joncojonathan@gmail.com";
github = "joncojonathan"; github = "joncojonathan";

View File

@ -326,10 +326,9 @@ Retype new UNIX password: ***
</screen> </screen>
<note> <note>
<para> <para>
To prevent the password prompt, set For unattended installations, it is possible to use
<code><xref linkend="opt-users.mutableUsers"/> = false;</code> in <command>nixos-install --no-root-passwd</command>
<filename>configuration.nix</filename>, which allows unattended in order to disable the password prompt entirely.
installation necessary in automation.
</para> </para>
</note> </note>
</para> </para>

View File

@ -6,16 +6,19 @@
, storePaths , storePaths
, volumeLabel , volumeLabel
, uuid ? "44444444-4444-4444-8888-888888888888" , uuid ? "44444444-4444-4444-8888-888888888888"
, e2fsprogs
, libfaketime
, perl
}: }:
let let
sdClosureInfo = pkgs.closureInfo { rootPaths = storePaths; }; sdClosureInfo = pkgs.buildPackages.closureInfo { rootPaths = storePaths; };
in in
pkgs.stdenv.mkDerivation { pkgs.stdenv.mkDerivation {
name = "ext4-fs.img"; name = "ext4-fs.img";
nativeBuildInputs = with pkgs; [e2fsprogs.bin libfaketime perl]; nativeBuildInputs = [e2fsprogs.bin libfaketime perl];
buildCommand = buildCommand =
'' ''

View File

@ -12,13 +12,12 @@
with lib; with lib;
let let
rootfsImage = import ../../../lib/make-ext4-fs.nix { rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({
inherit pkgs;
inherit (config.sdImage) storePaths; inherit (config.sdImage) storePaths;
volumeLabel = "NIXOS_SD"; volumeLabel = "NIXOS_SD";
} // optionalAttrs (config.sdImage.rootPartitionUUID != null) { } // optionalAttrs (config.sdImage.rootPartitionUUID != null) {
uuid = config.sdImage.rootPartitionUUID; uuid = config.sdImage.rootPartitionUUID;
}; });
in in
{ {
options.sdImage = { options.sdImage = {
@ -94,10 +93,10 @@ in
sdImage.storePaths = [ config.system.build.toplevel ]; sdImage.storePaths = [ config.system.build.toplevel ];
system.build.sdImage = pkgs.stdenv.mkDerivation { system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs, mtools, libfaketime, utillinux }: stdenv.mkDerivation {
name = config.sdImage.imageName; name = config.sdImage.imageName;
buildInputs = with pkgs; [ dosfstools e2fsprogs mtools libfaketime utillinux ]; nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux ];
buildCommand = '' buildCommand = ''
mkdir -p $out/nix-support $out/sd-image mkdir -p $out/nix-support $out/sd-image
@ -138,7 +137,7 @@ in
(cd boot; mcopy -bpsvm -i ../bootpart.img ./* ::) (cd boot; mcopy -bpsvm -i ../bootpart.img ./* ::)
dd conv=notrunc if=bootpart.img of=$img seek=$START count=$SECTORS dd conv=notrunc if=bootpart.img of=$img seek=$START count=$SECTORS
''; '';
}; }) {};
boot.postBootCommands = '' boot.postBootCommands = ''
# On the first boot do some maintenance tasks # On the first boot do some maintenance tasks

View File

@ -28,7 +28,7 @@ with lib;
++ (if pkgs.stdenv.system == "aarch64-linux" ++ (if pkgs.stdenv.system == "aarch64-linux"
then [] then []
else [ pkgs.grub2 pkgs.syslinux ]); else [ pkgs.grub2 pkgs.syslinux ]);
system.boot.loader.kernelFile = pkgs.stdenv.platform.kernelTarget; system.boot.loader.kernelFile = pkgs.stdenv.hostPlatform.platform.kernelTarget;
fileSystems."/" = fileSystems."/" =
{ fsType = "tmpfs"; { fsType = "tmpfs";
@ -86,7 +86,7 @@ with lib;
system.build.netbootIpxeScript = pkgs.writeTextDir "netboot.ipxe" '' system.build.netbootIpxeScript = pkgs.writeTextDir "netboot.ipxe" ''
#!ipxe #!ipxe
kernel ${pkgs.stdenv.platform.kernelTarget} init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} kernel ${pkgs.stdenv.hostPlatform.platform.kernelTarget} init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
initrd initrd initrd initrd
boot boot
''; '';

View File

@ -18,6 +18,16 @@ let
(boolFlag "secure" cfg.secure) (boolFlag "secure" cfg.secure)
(boolFlag "noupnp" cfg.noUPnP) (boolFlag "noupnp" cfg.noUPnP)
]; ];
stopScript = pkgs.writeScript "terraria-stop" ''
#!${pkgs.runtimeShell}
if ! [ -d "/proc/$1" ]; then
exit 0
fi
${getBin pkgs.tmux}/bin/tmux -S /var/lib/terraria/terraria.sock send-keys Enter exit Enter
${getBin pkgs.coreutils}/bin/tail --pid="$1" -f /dev/null
'';
in in
{ {
options = { options = {
@ -124,10 +134,10 @@ in
serviceConfig = { serviceConfig = {
User = "terraria"; User = "terraria";
Type = "oneshot"; Type = "forking";
RemainAfterExit = true; GuessMainPID = true;
ExecStart = "${getBin pkgs.tmux}/bin/tmux -S /var/lib/terraria/terraria.sock new -d ${pkgs.terraria-server}/bin/TerrariaServer ${concatStringsSep " " flags}"; ExecStart = "${getBin pkgs.tmux}/bin/tmux -S /var/lib/terraria/terraria.sock new -d ${pkgs.terraria-server}/bin/TerrariaServer ${concatStringsSep " " flags}";
ExecStop = "${getBin pkgs.tmux}/bin/tmux -S /var/lib/terraria/terraria.sock send-keys Enter \"exit\" Enter"; ExecStop = "${stopScript} $MAINPID";
}; };
postStart = '' postStart = ''

View File

@ -6,16 +6,30 @@ let
cfg = config.services.thermald; cfg = config.services.thermald;
in { in {
###### interface ###### interface
options = { options = {
services.thermald = { services.thermald = {
enable = mkOption { enable = mkOption {
default = false; default = false;
description = '' description = ''
Whether to enable thermald, the temperature management daemon. Whether to enable thermald, the temperature management daemon.
''; '';
}; };
};
}; debug = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable debug logging.
'';
};
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = "the thermald manual configuration file.";
};
};
};
###### implementation ###### implementation
config = mkIf cfg.enable { config = mkIf cfg.enable {
@ -24,7 +38,15 @@ in {
systemd.services.thermald = { systemd.services.thermald = {
description = "Thermal Daemon Service"; description = "Thermal Daemon Service";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
script = "exec ${pkgs.thermald}/sbin/thermald --no-daemon --dbus-enable"; serviceConfig = {
ExecStart = ''
${pkgs.thermald}/sbin/thermald \
--no-daemon \
${optionalString cfg.debug "--loglevel=debug"} \
${optionalString (cfg.configFile != null) "--config-file ${cfg.configFile}"} \
--dbus-enable
'';
};
}; };
}; };
} }

View File

@ -88,7 +88,7 @@ in
}; };
maxJobs = mkOption { maxJobs = mkOption {
type = types.int; type = types.either types.int (types.enum ["auto"]);
default = 1; default = 1;
example = 64; example = 64;
description = '' description = ''

View File

@ -1,121 +1,124 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
# TODO: support non-postgresql
with lib; with lib;
let let
cfg = config.services.redmine; cfg = config.services.redmine;
ruby = pkgs.ruby; bundle = "${pkgs.redmine}/share/redmine/bin/bundle";
databaseYml = '' databaseYml = pkgs.writeText "database.yml" ''
production: production:
adapter: postgresql adapter: ${cfg.database.type}
database: ${cfg.databaseName} database: ${cfg.database.name}
host: ${cfg.databaseHost} host: ${cfg.database.host}
password: ${cfg.databasePassword} port: ${toString cfg.database.port}
username: ${cfg.databaseUsername} username: ${cfg.database.user}
encoding: utf8 password: #dbpass#
''; '';
configurationYml = '' configurationYml = pkgs.writeText "configuration.yml" ''
default: default:
# Absolute path to the directory where attachments are stored. scm_subversion_command: ${pkgs.subversion}/bin/svn
# The default is the 'files' directory in your Redmine instance. scm_mercurial_command: ${pkgs.mercurial}/bin/hg
# Your Redmine instance needs to have write permission on this scm_git_command: ${pkgs.gitAndTools.git}/bin/git
# directory. scm_cvs_command: ${pkgs.cvs}/bin/cvs
# Examples: scm_bazaar_command: ${pkgs.bazaar}/bin/bzr
# attachments_storage_path: /var/redmine/files scm_darcs_command: ${pkgs.darcs}/bin/darcs
# attachments_storage_path: D:/redmine/files
attachments_storage_path: ${cfg.stateDir}/files
# Absolute path to the SCM commands errors (stderr) log file. ${cfg.extraConfig}
# The default is to log in the 'log' directory of your Redmine instance.
# Example:
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log
scm_stderr_log_file: ${cfg.stateDir}/redmine_scm_stderr.log
${cfg.extraConfig}
''; '';
unpackTheme = unpack "theme"; in
unpackPlugin = unpack "plugin";
unpack = id: (name: source:
pkgs.stdenv.mkDerivation {
name = "redmine-${id}-${name}";
buildInputs = [ pkgs.unzip ];
buildCommand = ''
mkdir -p $out
cd $out
unpackFile ${source}
'';
});
in {
{
options = { options = {
services.redmine = { services.redmine = {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = "Enable the Redmine service.";
Enable the redmine service. };
'';
user = mkOption {
type = types.str;
default = "redmine";
description = "User under which Redmine is ran.";
};
group = mkOption {
type = types.str;
default = "redmine";
description = "Group under which Redmine is ran.";
}; };
stateDir = mkOption { stateDir = mkOption {
type = types.str; type = types.str;
default = "/var/redmine"; default = "/var/lib/redmine";
description = "The state directory, logs and plugins are stored here"; description = "The state directory, logs and plugins are stored here.";
}; };
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Extra configuration in configuration.yml"; description = ''
Extra configuration in configuration.yml.
See https://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration
'';
}; };
themes = mkOption { database = {
type = types.attrsOf types.path; type = mkOption {
default = {}; type = types.enum [ "mysql2" "postgresql" ];
description = "Set of themes"; example = "postgresql";
}; default = "mysql2";
description = "Database engine to use.";
};
plugins = mkOption { host = mkOption {
type = types.attrsOf types.path; type = types.str;
default = {}; default = "127.0.0.1";
description = "Set of plugins"; description = "Database host address.";
}; };
#databaseType = mkOption { port = mkOption {
# type = types.str; type = types.int;
# default = "postgresql"; default = 3306;
# description = "Type of database"; description = "Database host port.";
#}; };
databaseHost = mkOption { name = mkOption {
type = types.str; type = types.str;
default = "127.0.0.1"; default = "redmine";
description = "Database hostname"; description = "Database name.";
}; };
databasePassword = mkOption { user = mkOption {
type = types.str; type = types.str;
default = ""; default = "redmine";
description = "Database user password"; description = "Database user.";
}; };
databaseName = mkOption { password = mkOption {
type = types.str; type = types.str;
default = "redmine"; default = "";
description = "Database name"; description = ''
}; The password corresponding to <option>database.user</option>.
Warning: this is stored in cleartext in the Nix store!
Use <option>database.passwordFile</option> instead.
'';
};
databaseUsername = mkOption { passwordFile = mkOption {
type = types.str; type = types.nullOr types.path;
default = "redmine"; default = null;
description = "Database user"; example = "/run/keys/redmine-dbpassword";
description = ''
A file containing the password corresponding to
<option>database.user</option>.
'';
};
}; };
}; };
}; };
@ -123,99 +126,106 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
assertions = [ assertions = [
{ assertion = cfg.databasePassword != ""; { assertion = cfg.database.passwordFile != null || cfg.database.password != "";
message = "services.redmine.databasePassword must be set"; message = "either services.redmine.database.passwordFile or services.redmine.database.password must be set";
} }
]; ];
users.users = [ environment.systemPackages = [ pkgs.redmine ];
{ name = "redmine";
group = "redmine";
uid = config.ids.uids.redmine;
} ];
users.groups = [
{ name = "redmine";
gid = config.ids.gids.redmine;
} ];
systemd.services.redmine = { systemd.services.redmine = {
after = [ "network.target" "postgresql.service" ]; after = [ "network.target" (if cfg.database.type == "mysql2" then "mysql.service" else "postgresql.service") ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
environment.RAILS_ENV = "production";
environment.RAILS_ETC = "${cfg.stateDir}/config";
environment.RAILS_LOG = "${cfg.stateDir}/log";
environment.RAILS_VAR = "${cfg.stateDir}/var";
environment.RAILS_CACHE = "${cfg.stateDir}/cache";
environment.RAILS_PLUGINS = "${cfg.stateDir}/plugins";
environment.RAILS_PUBLIC = "${cfg.stateDir}/public";
environment.RAILS_TMP = "${cfg.stateDir}/tmp";
environment.SCHEMA = "${cfg.stateDir}/cache/schema.db";
environment.HOME = "${pkgs.redmine}/share/redmine"; environment.HOME = "${pkgs.redmine}/share/redmine";
environment.RAILS_ENV = "production";
environment.RAILS_CACHE = "${cfg.stateDir}/cache";
environment.REDMINE_LANG = "en"; environment.REDMINE_LANG = "en";
environment.GEM_HOME = "${pkgs.redmine}/share/redmine/vendor/bundle/ruby/1.9.1"; environment.SCHEMA = "${cfg.stateDir}/cache/schema.db";
environment.GEM_PATH = "${pkgs.bundler}/${pkgs.bundler.ruby.gemPath}";
path = with pkgs; [ path = with pkgs; [
imagemagickBig imagemagickBig
subversion
mercurial
cvs
config.services.postgresql.package
bazaar bazaar
cvs
darcs
gitAndTools.git gitAndTools.git
# once we build binaries for darc enable it mercurial
#darcs subversion
]; ];
preStart = '' preStart = ''
# TODO: use env vars # start with a fresh config directory every time
for i in plugins public/plugin_assets db files log config cache var/files tmp; do rm -rf ${cfg.stateDir}/config
cp -r ${pkgs.redmine}/share/redmine/config.dist ${cfg.stateDir}/config
# create the basic state directory layout pkgs.redmine expects
mkdir -p /run/redmine
for i in config files log plugins tmp; do
mkdir -p ${cfg.stateDir}/$i mkdir -p ${cfg.stateDir}/$i
ln -fs ${cfg.stateDir}/$i /run/redmine/$i
done done
chown -R redmine:redmine ${cfg.stateDir} # ensure cache directory exists for db:migrate command
chmod -R 755 ${cfg.stateDir} mkdir -p ${cfg.stateDir}/cache
rm -rf ${cfg.stateDir}/public/* # link in the application configuration
cp -R ${pkgs.redmine}/share/redmine/public/* ${cfg.stateDir}/public/ ln -fs ${configurationYml} ${cfg.stateDir}/config/configuration.yml
for theme in ${concatStringsSep " " (mapAttrsToList unpackTheme cfg.themes)}; do
ln -fs $theme/* ${cfg.stateDir}/public/themes/
done
rm -rf ${cfg.stateDir}/plugins/* chmod -R ug+rwX,o-rwx+x ${cfg.stateDir}/
for plugin in ${concatStringsSep " " (mapAttrsToList unpackPlugin cfg.plugins)}; do
ln -fs $plugin/* ${cfg.stateDir}/plugins/''${plugin##*-redmine-plugin-}
done
ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.stateDir}/config/database.yml # handle database.passwordFile
ln -fs ${pkgs.writeText "configuration.yml" configurationYml} ${cfg.stateDir}/config/configuration.yml DBPASS=$(head -n1 ${cfg.database.passwordFile})
cp -f ${databaseYml} ${cfg.stateDir}/config/database.yml
sed -e "s,#dbpass#,$DBPASS,g" -i ${cfg.stateDir}/config/database.yml
chmod 440 ${cfg.stateDir}/config/database.yml
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then # generate a secret token if required
if ! test -e "${cfg.stateDir}/db-created"; then if ! test -e "${cfg.stateDir}/config/initializers/secret_token.rb"; then
psql postgres -c "CREATE ROLE redmine WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${cfg.databasePassword}'" ${bundle} exec rake generate_secret_token
${config.services.postgresql.package}/bin/createdb --owner redmine redmine || true chmod 440 ${cfg.stateDir}/config/initializers/secret_token.rb
touch "${cfg.stateDir}/db-created"
fi
fi fi
cd ${pkgs.redmine}/share/redmine/ # ensure everything is owned by ${cfg.user}
${ruby}/bin/rake db:migrate chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir}
${ruby}/bin/rake redmine:plugins:migrate
${ruby}/bin/rake redmine:load_default_data ${bundle} exec rake db:migrate
${ruby}/bin/rake generate_secret_token ${bundle} exec rake redmine:load_default_data
''; '';
serviceConfig = { serviceConfig = {
PermissionsStartOnly = true; # preStart must be run as root PermissionsStartOnly = true; # preStart must be run as root
Type = "simple"; Type = "simple";
User = "redmine"; User = cfg.user;
Group = "redmine"; Group = cfg.group;
TimeoutSec = "300"; TimeoutSec = "300";
WorkingDirectory = "${pkgs.redmine}/share/redmine"; WorkingDirectory = "${pkgs.redmine}/share/redmine";
ExecStart="${ruby}/bin/ruby ${pkgs.redmine}/share/redmine/script/rails server webrick -e production -P ${cfg.stateDir}/redmine.pid"; ExecStart="${bundle} exec rails server webrick -e production -P ${cfg.stateDir}/redmine.pid";
}; };
}; };
users.extraUsers = optionalAttrs (cfg.user == "redmine") (singleton
{ name = "redmine";
group = cfg.group;
home = cfg.stateDir;
createHome = true;
uid = config.ids.uids.redmine;
});
users.extraGroups = optionalAttrs (cfg.group == "redmine") (singleton
{ name = "redmine";
gid = config.ids.gids.redmine;
});
warnings = optional (cfg.database.password != "")
''config.services.redmine.database.password will be stored as plaintext
in the Nix store. Use database.passwordFile instead.'';
# Create database passwordFile default when password is configured.
services.redmine.database.passwordFile =
(mkDefault (toString (pkgs.writeTextFile {
name = "redmine-database-password";
text = cfg.database.password;
})));
}; };
} }

View File

@ -46,7 +46,7 @@ let
ln -s ${kernelPath} $out/kernel ln -s ${kernelPath} $out/kernel
ln -s ${config.system.modulesTree} $out/kernel-modules ln -s ${config.system.modulesTree} $out/kernel-modules
${optionalString (pkgs.stdenv.platform.kernelDTB or false) '' ${optionalString (pkgs.stdenv.hostPlatform.platform.kernelDTB or false) ''
ln -s ${config.boot.kernelPackages.kernel}/dtbs $out/dtbs ln -s ${config.boot.kernelPackages.kernel}/dtbs $out/dtbs
''} ''}
@ -74,7 +74,7 @@ let
echo -n "$configurationName" > $out/configuration-name echo -n "$configurationName" > $out/configuration-name
echo -n "systemd ${toString config.systemd.package.interfaceVersion}" > $out/init-interface-version echo -n "systemd ${toString config.systemd.package.interfaceVersion}" > $out/init-interface-version
echo -n "$nixosLabel" > $out/nixos-version echo -n "$nixosLabel" > $out/nixos-version
echo -n "$system" > $out/system echo -n "${pkgs.stdenv.hostPlatform.system}" > $out/system
mkdir $out/fine-tune mkdir $out/fine-tune
childCount=0 childCount=0
@ -175,7 +175,7 @@ in
system.boot.loader.kernelFile = mkOption { system.boot.loader.kernelFile = mkOption {
internal = true; internal = true;
default = pkgs.stdenv.platform.kernelTarget; default = pkgs.stdenv.hostPlatform.platform.kernelTarget;
type = types.str; type = types.str;
description = '' description = ''
Name of the kernel file to be passed to the bootloader. Name of the kernel file to be passed to the bootloader.

View File

@ -13,7 +13,7 @@ let
}; };
# Temporary check, for nixos to cope both with nixpkgs stdenv-updates and trunk # Temporary check, for nixos to cope both with nixpkgs stdenv-updates and trunk
platform = pkgs.stdenv.platform; inherit (pkgs.stdenv.hostPlatform) platform;
in in

View File

@ -15,7 +15,7 @@ let
inherit configTxt; inherit configTxt;
}; };
platform = pkgs.stdenv.platform; inherit (pkgs.stdenv.hostPlatform) platform;
builderUboot = import ./builder_uboot.nix { inherit config; inherit pkgs; inherit configTxt; }; builderUboot = import ./builder_uboot.nix { inherit config; inherit pkgs; inherit configTxt; };

View File

@ -83,7 +83,7 @@ let
in in
tarball // tarball //
{ meta = { { meta = {
description = "NixOS system tarball for ${system} - ${stdenv.platform.name}"; description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.platform.name}";
maintainers = map (x: lib.maintainers.${x}) maintainers; maintainers = map (x: lib.maintainers.${x}) maintainers;
}; };
inherit config; inherit config;
@ -106,7 +106,7 @@ let
let let
configEvaled = import lib/eval-config.nix config; configEvaled = import lib/eval-config.nix config;
build = configEvaled.config.system.build; build = configEvaled.config.system.build;
kernelTarget = configEvaled.pkgs.stdenv.platform.kernelTarget; kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.platform.kernelTarget;
in in
pkgs.symlinkJoin { pkgs.symlinkJoin {
name = "netboot"; name = "netboot";

View File

@ -2,7 +2,8 @@ import ./make-test.nix ({ pkgs, ... }:
let let
configDir = "/var/lib/foobar"; configDir = "/var/lib/foobar";
apiPassword = "secret"; apiPassword = "some_secret";
mqttPassword = "another_secret";
in { in {
name = "home-assistant"; name = "home-assistant";
@ -33,7 +34,9 @@ in {
}; };
frontend = { }; frontend = { };
http.api_password = apiPassword; http.api_password = apiPassword;
mqtt = { }; # Use hbmqtt as broker mqtt = { # Use hbmqtt as broker
password = mqttPassword;
};
binary_sensor = [ binary_sensor = [
{ {
platform = "mqtt"; platform = "mqtt";
@ -62,7 +65,7 @@ in {
# Toggle a binary sensor using MQTT # Toggle a binary sensor using MQTT
$hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"off\"'"); $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"off\"'");
$hass->waitUntilSucceeds("mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${apiPassword}' -m let_there_be_light"); $hass->waitUntilSucceeds("mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -m let_there_be_light");
$hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"on\"'"); $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"on\"'");
# Print log to ease debugging # Print log to ease debugging

View File

@ -3,12 +3,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.9.14"; version = "0.9.15";
name = "drumgizmo-${version}"; name = "drumgizmo-${version}";
src = fetchurl { src = fetchurl {
url = "https://www.drumgizmo.org/releases/${name}/${name}.tar.gz"; url = "https://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
sha256 = "1q2jghjz0ygaja8dgvxp914if8yyzpa204amdcwb9yyinpxsahz4"; sha256 = "13bgqyw74pq3ss63zd9bjmgr4dah792pcphyqmr7bnvrgfjr6bx6";
}; };
configureFlags = [ "--enable-lv2" ]; configureFlags = [ "--enable-lv2" ];

View File

@ -2,13 +2,13 @@
libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }: libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "4.0.17"; version = "4.0.18";
pname = "fldigi"; pname = "fldigi";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/${pname}/${name}.tar.gz"; url = "mirror://sourceforge/${pname}/${name}.tar.gz";
sha256 = "1z8w0dxfc2nm1iy1vv18s5s88ys9vvbqawjvhsymxj56jqjzzp4q"; sha256 = "0a3z9xj9gsa6fskiai9410kwqfb6156km59y36a31mhyddzk27p7";
}; };
buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio

View File

@ -1,12 +1,9 @@
{ stdenv, fetchurl, readline, patchelf, ncurses, qt48, libidn, expat, flac { stdenv, fetchurl
, libvorbis }: , flac, expat, libidn, qtbase, qtwebkit, libvorbis }:
assert stdenv.system == "x86_64-linux";
assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
let
archUrl = name: arch: "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/${name}_${arch}.deb";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "beta_1.0.243.1116-r0"; # friendly to nix-env version sorting algo version = "beta_1.0.467.4929-r0"; # friendly to nix-env version sorting algo
product = "google-musicmanager"; product = "google-musicmanager";
name = "${product}-${version}"; name = "${product}-${version}";
@ -16,37 +13,58 @@ stdenv.mkDerivation rec {
# curl http://dl.google.com/linux/musicmanager/deb/dists/stable/main/binary-amd64/Packages # curl http://dl.google.com/linux/musicmanager/deb/dists/stable/main/binary-amd64/Packages
# which will contain the links to all available *.debs for the arch. # which will contain the links to all available *.debs for the arch.
src = if stdenv.system == "x86_64-linux" src = fetchurl {
then fetchurl { url = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/${name}_amd64.deb";
url = archUrl name "amd64"; sha256 = "0yaprpbp44var88kdj1h11fqkhgcklixr69jyia49v9m22529gg2";
sha256 = "54f97f449136e173492d36084f2c01244b84f02d6e223fb8a40661093e0bec7c"; };
}
else fetchurl {
url = archUrl name "i386";
sha256 = "121a7939015e2270afa3f1c73554102e2b4f2e6a31482ff7be5e7c28dd101d3c";
};
unpackPhase = '' unpackPhase = ''
ar vx ${src} ar vx ${src}
tar -xvf data.tar.lzma tar xvf data.tar.xz
tar xvf control.tar.gz
''; '';
buildInputs = [ patchelf ]; prePatch = ''
sed -i "s@\(Exec=\).*@\1$out/bin/google-musicmanager@" opt/google/musicmanager/google-musicmanager.desktop
buildPhase = ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$out/opt/google/musicmanager:${stdenv.lib.makeLibraryPath [ readline ncurses stdenv.cc.libc.out qt48 stdenv.cc.cc libidn expat flac libvorbis ]}" opt/google/musicmanager/MusicManager
''; '';
dontPatchELF = true;
dontStrip = true;
installPhase = '' installPhase = ''
mkdir -p "$out" mkdir -p $out/bin
cp -r opt "$out" mkdir -p $out/lib
mkdir "$out/bin" mkdir -p $out/share/applications
ln -s "$out/opt/google/musicmanager/google-musicmanager" "$out/bin"
cp -r opt $out
find -name "*.so*" -exec cp "{}" $out/lib \;
ln -s $out/opt/google/musicmanager/google-musicmanager $out/bin
ln -s $out/opt/google/musicmanager/google-musicmanager.desktop $out/share/applications
for i in 16 32 48 128
do
iconDirectory=$out/usr/share/icons/hicolor/"$i"x"$i"/apps
mkdir -p $iconDirectory
ln -s $out/opt/google/musicmanager/product_logo_"$i".png $iconDirectory/google-musicmanager.png
done
'';
postFixup = ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$(patchelf --print-rpath $out/opt/google/musicmanager/minidump_upload):${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" \
$out/opt/google/musicmanager/minidump_upload
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$(patchelf --print-rpath $out/opt/google/musicmanager/MusicManager):$out/lib:${stdenv.lib.makeLibraryPath [
flac
expat
libidn
qtbase
qtwebkit
libvorbis
stdenv.cc.cc.lib
]}" \
$out/opt/google/musicmanager/MusicManager
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ir.lv2-${version}"; name = "ir.lv2-${version}";
version = "1.2.3"; version = "1.2.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tomszilagyi"; owner = "tomszilagyi";
repo = "ir.lv2"; repo = "ir.lv2";
rev = "${version}"; rev = "${version}";
sha256 = "16vy06qb0vgwg4yx15grzh5m2q3cbzm3jd0p37g2qb8rgvjhladg"; sha256 = "1p6makmgr898fakdxzl4agh48qqwgv1k1kwm8cgq187n0mhiknp6";
}; };
buildInputs = [ fftw gtk2 lv2 libsamplerate libsndfile zita-convolver ]; buildInputs = [ fftw gtk2 lv2 libsamplerate libsndfile zita-convolver ];
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
mkdir "$out/include" mkdir "$out/include"
mkdir -p "$out/share/doc" mkdir -p "$out/share/doc"
make PREFIX="$out" install make PREFIX="$out" INSTDIR="$out/lib/lv2" install
install -Dm755 convert4chan "$out/bin/convert4chan" install -Dm755 convert4chan "$out/bin/convert4chan"
''; '';

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "musescore-${version}"; name = "musescore-${version}";
version = "2.3.1"; version = "2.3.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "musescore"; owner = "musescore";
repo = "MuseScore"; repo = "MuseScore";
rev = "v${version}"; rev = "v${version}";
sha256 = "00inrw9g8g34g74bhg5gp0rr5nydhjraiyn7vpl7kaqi5yzmhawd"; sha256 = "0ncv0xfmq87plqa43cm0fpidlwzz1nq5s7h7139llrbc36yp3pr1";
}; };
cmakeFlags = [ cmakeFlags = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, qt5, alsaLib, libjack2 }: { stdenv, fetchurl, pkgconfig, qt5, alsaLib, libjack2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.5.1"; version = "0.5.2";
name = "qmidinet-${version}"; name = "qmidinet-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qmidinet/${name}.tar.gz"; url = "mirror://sourceforge/qmidinet/${name}.tar.gz";
sha256 = "1cvz8y63vdqfpxh7lq5qadqjcyhahbyq0py0qz6xrmpk5sxvy7ml"; sha256 = "0y2w3rymvc35r291sp2qaxn36wjwvxzk2iaw9y30q9fqc0vlpdns";
}; };
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];

View File

@ -3,12 +3,12 @@
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }: , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "20180803"; version = "20180812";
name = "x42-plugins-${version}"; name = "x42-plugins-${version}";
src = fetchurl { src = fetchurl {
url = "https://gareus.org/misc/x42-plugins/${name}.tar.xz"; url = "https://gareus.org/misc/x42-plugins/${name}.tar.xz";
sha256 = "1v7p6vnkcbzyvmcysabhmn603cndzx9mwzaw5dppy4wd687vhgis"; sha256 = "0gzwzxpa2k2w9c6j3pspwi9slfyd57wb192d6yqcg92pfmnxy9dz";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -18,9 +18,9 @@ let
sha256Hash = "016nyn1pqviy089hg0dq7m4cqb39fdxdcy4zknkaq7dmgv1dj6x9"; sha256Hash = "016nyn1pqviy089hg0dq7m4cqb39fdxdcy4zknkaq7dmgv1dj6x9";
}; };
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "3.3.0.4"; # "Android Studio 3.3 Canary 5" version = "3.3.0.5"; # "Android Studio 3.3 Canary 6"
build = "182.4928781"; build = "182.4954005";
sha256Hash = "110gh5ylgf1p8z0rdnvc6clkq3v721v6pjvll66a8v4zgz9ay8b4"; sha256Hash = "0b8ias75f3p5nrmgp7iqz4n4r4dbwhgagqmyc1fqfd36wbglyaf4";
}; };
in rec { in rec {
# Old alias # Old alias

View File

@ -202,6 +202,12 @@ self:
# missing OCaml # missing OCaml
utop = markBroken super.utop; utop = markBroken super.utop;
vdiff-magit =
(super.vdiff-magit.overrideAttrs (attrs: {
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
}));
# upstream issue: missing file header # upstream issue: missing file header
voca-builder = markBroken super.voca-builder; voca-builder = markBroken super.voca-builder;

View File

@ -194,6 +194,12 @@ self:
# missing OCaml # missing OCaml
utop = markBroken super.utop; utop = markBroken super.utop;
vdiff-magit =
(super.vdiff-magit.overrideAttrs (attrs: {
nativeBuildInputs =
(attrs.nativeBuildInputs or []) ++ [ external.git ];
}));
# upstream issue: missing file header # upstream issue: missing file header
voca-builder = markBroken super.voca-builder; voca-builder = markBroken super.voca-builder;

View File

@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
- Plugin interface - Plugin interface
''; '';
homepage = https://www.geany.org/; homepage = https://www.geany.org/;
license = "GPL"; license = licenses.gpl2;
maintainers = []; maintainers = [];
platforms = platforms.all; platforms = platforms.all;
}; };

View File

@ -1,7 +1,7 @@
{ runCommand, makeWrapper, geany, gnome2 }: { runCommand, makeWrapper, geany, gnome2 }:
let name = builtins.replaceStrings ["geany-"] ["geany-with-vte-"] geany.name; let name = builtins.replaceStrings ["geany-"] ["geany-with-vte-"] geany.name;
in in
runCommand "${name}" { nativeBuildInputs = [ makeWrapper ]; } " runCommand "${name}" { nativeBuildInputs = [ makeWrapper ]; inherit (geany.meta); } "
mkdir -p $out mkdir -p $out
ln -s ${geany}/share $out ln -s ${geany}/share $out
makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome2.vte}/lib makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome2.vte}/lib

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ghostwriter"; pname = "ghostwriter";
version = "1.7.2"; version = "1.7.3";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wereturtle"; owner = "wereturtle";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1zhzibn4g79i98mjfqspf3iac2biz3r18jf29g0izq5snn7xj0fc"; sha256 = "1xkxd59rw2dn6xphgcl06zzmfgs1zna2w0pxrk0f49ywffvkvs72";
}; };
nativeBuildInputs = [ qmake pkgconfig ]; nativeBuildInputs = [ qmake pkgconfig ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey, libiconv { stdenv, fetchFromGitHub, cmake, gettext, msgpack, libtermkey, libiconv
, libuv, luaPackages, ncurses, pkgconfig , libuv, luaPackages, ncurses, pkgconfig
, unibilium, xsel, gperf , unibilium, xsel, gperf
, libvterm-neovim , libvterm-neovim
@ -25,7 +25,7 @@ let
buildInputs = [ buildInputs = [
libtermkey libtermkey
libuv libuv
libmsgpack msgpack
ncurses ncurses
libvterm-neovim libvterm-neovim
unibilium unibilium

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, doxygen, makeWrapper { stdenv, fetchFromGitHub, cmake, doxygen, makeWrapper
, libmsgpack, neovim, pythonPackages, qtbase }: , msgpack, neovim, pythonPackages, qtbase }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "neovim-qt-${version}"; name = "neovim-qt-${version}";
@ -13,12 +13,11 @@ stdenv.mkDerivation rec {
}; };
cmakeFlags = [ cmakeFlags = [
"-DMSGPACK_INCLUDE_DIRS=${libmsgpack}/include" "-DUSE_SYSTEM_MSGPACK=1"
"-DMSGPACK_LIBRARIES=${libmsgpack}/lib/libmsgpackc.so"
]; ];
buildInputs = with pythonPackages; [ buildInputs = with pythonPackages; [
neovim qtbase libmsgpack neovim qtbase msgpack
] ++ (with pythonPackages; [ ] ++ (with pythonPackages; [
jinja2 msgpack python jinja2 msgpack python
]); ]);
@ -28,13 +27,12 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
preConfigure = '' preConfigure = ''
# avoid cmake trying to download libmsgpack
echo "" > third-party/CMakeLists.txt
# we rip out a number of tests that fail in the build env # we rip out a number of tests that fail in the build env
# the GUI tests will never work but the others should - they did before neovim 0.2.0 # the GUI tests will never work but the others should - they did before neovim 0.2.0
# was released # was released
sed -i test/CMakeLists.txt \ sed -i test/CMakeLists.txt \
-e '/^add_xtest_gui/d' \ -e '/^add_xtest_gui/d' \
-e '/tst_neovimobject/d' \
-e '/tst_neovimconnector/d' \ -e '/tst_neovimconnector/d' \
-e '/tst_callallmethods/d' \ -e '/tst_callallmethods/d' \
-e '/tst_encoding/d' -e '/tst_encoding/d'
@ -42,7 +40,14 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
postInstall = '' postInstall = if stdenv.isDarwin then ''
mkdir -p $out/Applications
mv $out/bin/nvim-qt.app $out/Applications
rmdir $out/bin || :
wrapProgram "$out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt" \
--prefix PATH : "${neovim}/bin"
'' else ''
wrapProgram "$out/bin/nvim-qt" \ wrapProgram "$out/bin/nvim-qt" \
--prefix PATH : "${neovim}/bin" --prefix PATH : "${neovim}/bin"
''; '';

View File

@ -4,16 +4,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "okteta-${version}"; name = "okteta-${version}";
version = "17.12.3"; version = "0.25.2";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/applications/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz";
sha256 = "03wsv83l1cay2dpcsksad124wzan7kh8zxdw1h0yicn398kdbck4"; sha256 = "00mw8gdqvn6vn6ir6kqnp7xi3lpn6iyp4f5aknxwq6mdcxgjmh1p";
}; };
nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ]; nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];
buildInputs = [ shared-mime-info ]; buildInputs = [ shared-mime-info ];
propagatedBuildInputs = [ propagatedBuildInputs = [
kconfig kconfig
kinit kinit
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
karchive karchive
kcrash kcrash
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ peterhoeg bkchr ]; maintainers = with maintainers; [ peterhoeg bkchr ];

View File

@ -1,8 +1,8 @@
{ stdenv, lib, fetchurl, unzip, atomEnv, makeDesktopItem, { stdenv, lib, fetchurl, unzip, atomEnv, makeDesktopItem,
gtk2, makeWrapper, libXScrnSaver, libxkbfile, libsecret }: gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }:
let let
version = "1.26.0"; version = "1.26.1";
channel = "stable"; channel = "stable";
plat = { plat = {
@ -12,9 +12,9 @@ let
}.${stdenv.system}; }.${stdenv.system};
sha256 = { sha256 = {
"i686-linux" = "fd150bee8e1be4f5461013b8fee19f855200d046643e4ea5387aad170ad5f12b"; "i686-linux" = "1g7kqbz6mrf8ngx2bnwpi9fifq5rjznxgsgwjb532z3nh92ypa8n";
"x86_64-linux" = "618ca429e23777ef6b512c0cbd78bc711a7cf6f58752d9f805ced1dc62abb8f0"; "x86_64-linux" = "02yldycakn5zxj1ji4nmhdyazqlkjqpzdj3g8j501c3j28pgiwjy";
"x86_64-darwin" = "07c2d678596e4e1f0bdf35b7d72a6d46851bf169d89f134fa73ff4f9007efbc3"; "x86_64-darwin" = "0pnsfkh20mj7pzqw7wlfd98jqc6a1mnsq1iira15n7fafqgj8zpl";
}.${stdenv.system}; }.${stdenv.system};
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
@ -49,8 +49,8 @@ in
}; };
buildInputs = if stdenv.system == "x86_64-darwin" buildInputs = if stdenv.system == "x86_64-darwin"
then [ unzip makeWrapper libXScrnSaver libsecret ] then [ unzip libXScrnSaver libsecret ]
else [ makeWrapper libXScrnSaver libxkbfile libsecret ]; else [ wrapGAppsHook libXScrnSaver libxkbfile libsecret ];
installPhase = installPhase =
if stdenv.system == "x86_64-darwin" then '' if stdenv.system == "x86_64-darwin" then ''

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "avocode-${version}"; name = "avocode-${version}";
version = "3.2.0"; version = "3.4.0";
src = fetchurl { src = fetchurl {
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip"; url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
sha256 = "111kcjqm8j2v941m2ly4ahhxalylnsvy5zmclj1f490japz2h1xy"; sha256 = "1dk4vgam9r5nl8dvpfwrn52gq6r4zxs4zz63p3c4gk73d8qnh4dl";
}; };
libPath = stdenv.lib.makeLibraryPath (with xorg; with gnome2; [ libPath = stdenv.lib.makeLibraryPath (with xorg; with gnome2; [

View File

@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z"; sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z";
}; };
preConfigure = ''
CC=${stdenv.cc.targetPrefix}cc
CXX=${stdenv.cc.targetPrefix}c++
'';
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ stdenv openexr libpng12 libjpeg ]; buildInputs = [ stdenv openexr libpng12 libjpeg ];

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, ghostscript, libpng } :
let
version = "3.2.7a";
in stdenv.mkDerivation {
name = "fig2dev-${version}";
src = fetchurl {
url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
sha256 = "0a7vkfl38fvkhg3na5gr9c4fskas9wbs84y9djg85nzwbshik8mx";
};
buildInputs = [ libpng ];
GSEXE="${ghostscript}/bin/gs";
meta = with stdenv.lib; {
description = "Tool to convert Xfig files to other formats";
homepage = http://mcj.sourceforge.net/;
license = licenses.xfig;
platforms = platforms.linux;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, autoreconfHook, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf, isocodes { stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf, isocodes
, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, poppler_data, libtiff , pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, poppler_data, libtiff
, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info , libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info
, python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2 , python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2
@ -9,14 +9,14 @@ let
inherit (python2Packages) pygtk wrapPython python; inherit (python2Packages) pygtk wrapPython python;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "gimp-${version}"; name = "gimp-${version}";
version = "2.10.4"; version = "2.10.6";
src = fetchurl { src = fetchurl {
url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2"; url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2";
sha256 = "14pi0q3wwkapy0inqxk1hjsa2h8lff1z4wgdsyrk29jaw66pdc7z"; sha256 = "07qh2ljbza2mph1gh8sicn27qihhj8hx3ivvry2874cfh8ghgj2f";
}; };
nativeBuildInputs = [ autoreconfHook pkgconfig intltool gettext wrapPython ]; nativeBuildInputs = [ pkgconfig intltool gettext wrapPython ];
propagatedBuildInputs = [ gegl ]; # needed by gimp-2.0.pc propagatedBuildInputs = [ gegl ]; # needed by gimp-2.0.pc
buildInputs = [ buildInputs = [
babl gegl gtk2 glib gdk_pixbuf pango cairo gexiv2 harfbuzz isocodes babl gegl gtk2 glib gdk_pixbuf pango cairo gexiv2 harfbuzz isocodes

View File

@ -1,28 +0,0 @@
source $stdenv/setup
makeFlags="XAWLIB=-lXaw3d BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults LIBDIR=$out/lib/X11 XFIGDOCDIR=$out/share/doc/xfig MANPATH=$out/man"
# We need chmod +wx on dirs, not just chmod +w
dontMakeSourcesWritable=1
postUnpack() {
find . -type d -exec chmod +x '{}' \;
}
preBuild() {
echo "#define XAW3D" >> Imakefile.tmp
echo "#define XAW3D1_5E" >> Imakefile.tmp
cat Imakefile >> Imakefile.tmp
mv Imakefile.tmp Imakefile
xmkmf
sed -e 's@[$][$]m@-- &@g' -i Makefile
}
installPhase() {
make install.all $makeFlags
wrapProgram $out/bin/xfig \
--set XAPPLRESDIR $out/etc/X11/app-defaults
}
genericBuild

View File

@ -1,47 +1,42 @@
{ stdenv, fetchurl, makeWrapper, imake { stdenv, fetchurl, xlibsWrapper, makeWrapper, libXpm
, xlibsWrapper, libXpm, libXmu, libXi, libXp, Xaw3d, libpng, libjpeg}: , libXmu, libXi, libXp, Xaw3d, fig2dev
}:
let version = "3.2.5b"; in let
stdenv.mkDerivation { version = "3.2.7a";
in stdenv.mkDerivation {
name = "xfig-${version}"; name = "xfig-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/mcj/xfig.${version}.full.tar.gz"; url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
sha256 = "1hl5x49sgc0vap411whhcq6qhvh4xbjg7jggv7ih9pplg5nwy0aw"; sha256 = "096zgp0bqnxhgxbrv2jjylrjz3pr4da0xxznlk2z7ffxr5pri2fa";
}; };
builder = ./builder.sh; postPatch = ''
sed -i 's:"fig2dev":"${fig2dev}/bin/fig2dev":' src/main.c
'';
buildInputs = [xlibsWrapper libXpm libXmu libXi libXp Xaw3d libpng libjpeg]; postInstall = ''
mkdir -p $out/share/X11/app-defaults
cp app-defaults/* $out/share/X11/app-defaults
nativeBuildInputs = [ imake makeWrapper ]; wrapProgram $out/bin/xfig \
--set XAPPLRESDIR $out/share/X11/app-defaults
'';
hardeningDisable = [ "format" ]; enableParallelBuilding = true;
NIX_CFLAGS_COMPILE = "-I${libXpm.dev}/include/X11"; nativeBuildInputs = [ makeWrapper ];
patches = buildInputs = [ xlibsWrapper libXpm libXmu libXi libXp Xaw3d ];
let
debPrefix = "http://patch-tracker.debian.org/patch/series/dl/xfig/1:3.2.5.b-3";
in
[
(fetchurl {
url = "${debPrefix}/35_CVE-2010-4262.patch";
sha256 = "1pj669sz49wzjvvm96gwbnani7wqi0ijh21imqdzqw47qxdv7zp5";
})
(fetchurl {
url = "${debPrefix}/13_remove_extra_libs.patch";
sha256 = "1qb14ay0c8xrjzhi21jl7sl8mdzxardldzpnflkzml774bbpn8av";
})
(fetchurl {
url = "${debPrefix}/36_libpng15.patch";
sha256 = "0jd5bqj7sj9bbnxg2d0y6zmv4ka4qif2x4zc84ngdqga5433anvn";
})
];
meta = { meta = with stdenv.lib; {
description = "An interactive drawing tool for X11"; description = "An interactive drawing tool for X11";
homepage = http://xfig.org; longDescription = ''
platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice Note that you need to have the <literal>netpbm</literal> tools
in your path to export bitmaps.
'';
inherit (fig2dev.meta) license homepage platforms;
}; };
} }

View File

@ -77,6 +77,7 @@ let
calendarsupport = callPackage ./calendarsupport.nix {}; calendarsupport = callPackage ./calendarsupport.nix {};
dolphin = callPackage ./dolphin.nix {}; dolphin = callPackage ./dolphin.nix {};
dolphin-plugins = callPackage ./dolphin-plugins.nix {}; dolphin-plugins = callPackage ./dolphin-plugins.nix {};
dragon = callPackage ./dragon.nix {};
eventviews = callPackage ./eventviews.nix {}; eventviews = callPackage ./eventviews.nix {};
ffmpegthumbs = callPackage ./ffmpegthumbs.nix { }; ffmpegthumbs = callPackage ./ffmpegthumbs.nix { };
filelight = callPackage ./filelight.nix {}; filelight = callPackage ./filelight.nix {};

View File

@ -0,0 +1,25 @@
{
mkDerivation, lib,
extra-cmake-modules, kdoctools,
baloo, baloo-widgets, kactivities, kbookmarks, kcmutils,
kcompletion, kconfig, kcoreaddons, kdelibs4support, kdbusaddons,
kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications,
kparts, ktexteditor, kwindowsystem, phonon, solid, phonon-backend-gstreamer
}:
mkDerivation {
name = "dragon";
meta = {
license = with lib.licenses; [ gpl2 fdl12 ];
description = "A simple media player for KDE";
maintainers = [ lib.maintainers.jonathanreeve ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
baloo baloo-widgets kactivities kbookmarks kcmutils kcompletion kconfig
kcoreaddons kdelibs4support kdbusaddons kfilemetadata ki18n kiconthemes
kinit kio knewstuff knotifications kparts ktexteditor kwindowsystem
phonon solid phonon-backend-gstreamer
];
outputs = [ "out" "dev" ];
}

View File

@ -1,28 +1,23 @@
{ stdenv, python3, fetchFromGitHub, fetchpatch }: { stdenv, python3, fetchFromGitHub, fetchpatch }:
with python3.pkgs; buildPythonApplication rec { with python3.pkgs; buildPythonApplication rec {
version = "3.7"; version = "3.8";
pname = "buku"; pname = "buku";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jarun"; owner = "jarun";
repo = "buku"; repo = "buku";
rev = "v${version}"; rev = "v${version}";
sha256 = "0qc6xkrhf2phaj9fhym19blr4rr2vllvnyljjz909xr4vsynvb41"; sha256 = "0gv26c4rr1akcaiff1nrwil03sv7d58mfxr86pgsw6nwld67ns0r";
};
patches = fetchpatch {
url = https://github.com/jarun/Buku/commit/495d6eac4d9371e8ce6d3f601e2bb9e5e74962b4.patch;
sha256 = "0py4l5qcgdzqr0iqmcc8ddld1bspk8iwypz4dcr88y70j86588gk";
}; };
checkInputs = [ checkInputs = [
pytestcov pytestcov
pytest-catchlog
hypothesis hypothesis
pytest pytest
pylint pylint
flake8 flake8
pyyaml
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -30,6 +25,14 @@ with python3.pkgs; buildPythonApplication rec {
beautifulsoup4 beautifulsoup4
requests requests
urllib3 urllib3
flask
flask-api
flask-bootstrap
flask-paginate
flask_wtf
arrow
werkzeug
click
]; ];
preCheck = '' preCheck = ''
@ -43,7 +46,7 @@ with python3.pkgs; buildPythonApplication rec {
--replace "self.assertEqual(url, 'https://www.google.com')" "" --replace "self.assertEqual(url, 'https://www.google.com')" ""
''; '';
installPhase = '' postInstall = ''
make install PREFIX=$out make install PREFIX=$out
mkdir -p $out/share/zsh/site-functions $out/share/bash-completion/completions $out/share/fish/vendor_completions.d mkdir -p $out/share/zsh/site-functions $out/share/bash-completion/completions $out/share/fish/vendor_completions.d

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "chirp-daily-${version}"; name = "chirp-daily-${version}";
version = "20180707"; version = "20180815";
src = fetchurl { src = fetchurl {
url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz"; url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
sha256 = "09siq74k0ss65ssck7i7h515dxp7fhdz5klc3y0yp9wajn706ic3"; sha256 = "0z3jh9sbszs8x0xjmkgxa3b1xnw3w9b13pml4i5apx3mj171npyv";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -0,0 +1,61 @@
{ stdenv, fetchFromGitHub, ncurses, hdate, lua5_2 }:
stdenv.mkDerivation rec {
version = "12010904";
name = "dozenal-${version}";
src = fetchFromGitHub {
owner = "dgoodmaniii";
repo = "dozenal";
rev = "v${version}";
sha256 = "1ic63gpdda762x6ks3al71dwgmsy2isicqyr2935bd245jx8s209";
};
makeFlags = [
# author do not use configure and prefix directly using $prefix
"prefix=$(out)"
# graphical version of dozdc requires xforms, which is not i nixpkgs so I turned it down
"XFORMS_FLAGS=-UXFORMS"
"LUALIB=-llua"
"bindir=$(prefix)/bin/"
];
# some include hardcodes the lua libraries path. This is a patch for that
patches = [ ./lua-header.patch ];
preBuild = "cd dozenal";
buildInputs = [ ncurses hdate lua5_2 ];
# I remove gdozdc, as I didn't figure all it's dependency yet.
postInstall = "rm $out/bin/gdozdc";
meta = {
description = "A complete suite of dozenal (base twelve) programs";
longDescription = ''
Programs
doz --- a converter; converts decimal numbers into dozenal. Accepts
input in standard or exponential notation (i.e., "1492.2" or "1.4922e3").
dec --- a converter; converts dozenal numbers into decimal. Accepts input
in standard or exponential notation (i.e., "X44;4" or "X;444e2").
dozword --- converts a dozenal number (integers only) into words,
according to the Pendlebury system.
dozdc --- a full-featured scientific calculator which works in the
dozenal base. RPN command line.
tgmconv --- a converter for all standard measurements; converts to and
from TGM, Imperial, customary, and SI metric.
dozpret --- a pretty-printer for dozenal numbers; inserts spacing (or
other characters) as desired, and can also transform transdecimal digits
from 'X' to 'E' into any character or sequence of characters desired.
dozdate --- a more-or-less drop-in replacement for GNU and BSD date, it
outputs the date and time in dozenal, as well as containing some TGM
extensions.
dozstring --- a simple byte converter; absorbs a string either from
standard input or a command line argument, leaving it identical but
for the numbers, which it converts into dozenal. Options for padding
and for not converting specific numbers.
doman --- a converter which takes a dozenal integer and
emits its equivalent in a non-place-value system, such as
Roman numerals. Arbitrary ranks and symbols may be used.
Defaults to dozenal Roman numerals.
'';
homepage = https://github.com/dgoodmaniii/dozenal/;
maintainers = with stdenv.lib.maintainers; [ CharlesHD ];
license = stdenv.lib.licenses.gpl3;
};
}

View File

@ -0,0 +1,16 @@
diff -ruN dozenal-12010904/dozenal/dozcal/call_lua.c dozenal-patched/dozenal/dozcal/call_lua.c
--- dozenal-12010904/dozenal/dozcal/call_lua.c 2017-09-04 19:25:01.000000000 +0200
+++ dozenal-patched/dozenal/dozcal/call_lua.c 2018-06-13 10:19:57.821950327 +0200
@@ -38,9 +38,9 @@
#include"utility.h"
#include"conv.h"
#include"proc_date.h"
-#include<lua5.2/lua.h>
-#include<lua5.2/lauxlib.h>
-#include<lua5.2/lualib.h>
+#include<lua.h>
+#include<lauxlib.h>
+#include<lualib.h>
void bail(lua_State *L, int err_code, char *filename);
int file_prefix(char **s, char *t);

View File

@ -7,7 +7,7 @@
let let
inherit (pythonPackages) python buildPythonApplication; inherit (pythonPackages) python buildPythonApplication;
in buildPythonApplication rec { in buildPythonApplication rec {
version = "4.2.8"; version = "5.0.0";
name = "gramps-${version}"; name = "gramps-${version}";
nativeBuildInputs = [ wrapGAppsHook ]; nativeBuildInputs = [ wrapGAppsHook ];
@ -20,7 +20,7 @@ in buildPythonApplication rec {
owner = "gramps-project"; owner = "gramps-project";
repo = "gramps"; repo = "gramps";
rev = "v${version}"; rev = "v${version}";
sha256 = "17y6rjvvcz7lwjck4f5nmhnn07i9k5vzk5dp1jk7j3ldxjagscsd"; sha256 = "056l4ihmd3gdsiv6wwv4ckgh8bfzd5nii6z4afsdn2nmjbj4hw9m";
}; };
pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ]; pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];

View File

@ -0,0 +1,16 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
version = "1.6.02";
name = "hdate-${version}";
src = fetchurl {
url = "https://sourceforge.net/projects/libhdate/files/libhdate/libhdate-${version}/libhdate-${version}.tar.bz2";
sha256 = "3c930a8deb57c01896dc37f0d7804e5a330ee8e88c4ff610b71f9d2b02c17762";
};
meta = {
description = "Hebrew calendar and solar astronomical times library and utilities";
homepage = https://sourceforge.net/projects/libhdate/;
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ CharlesHD ];
};
}

View File

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
name = "hugo-${version}"; name = "hugo-${version}";
version = "0.46"; version = "0.47.1";
goPackagePath = "github.com/gohugoio/hugo"; goPackagePath = "github.com/gohugoio/hugo";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "gohugoio"; owner = "gohugoio";
repo = "hugo"; repo = "hugo";
rev = "v${version}"; rev = "v${version}";
sha256 = "0w5xkb6s03hprb4v151gdk8zzsgvy0i406363j1w03bic8ajwgmj"; sha256 = "0n27vyg66jfx4lwswsmdlybly8c9gy5rk7yhy7wzs3rwzlqv1jzj";
}; };
goDeps = ./deps.nix; goDeps = ./deps.nix;

View File

@ -14,8 +14,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/BurntSushi/toml"; url = "https://github.com/BurntSushi/toml";
rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895"; rev = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005";
sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5"; sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
}; };
} }
{ {
@ -104,8 +104,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/disintegration/imaging"; url = "https://github.com/disintegration/imaging";
rev = "8021a62ea0dfe0ed2e6107f5ccd37e0d4a92a996"; rev = "0bd5694c78c9c3d9a3cd06a706a8f3c59296a9ac";
sha256 = "1c32sqfz78g9wxvpng8n9r404lf2lgjn9b24mg8y3rxylx29gks7"; sha256 = "1laxccmzi7q51zxn81ringmdwp8iaipivrl375yc3gq56d70sp0r";
}; };
} }
{ {
@ -140,8 +140,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/gobuffalo/envy"; url = "https://github.com/gobuffalo/envy";
rev = "2d0f467653f3d961ce9ada4d32a230bdcb3bfe11"; rev = "3c96536452167a705ca5a70b831d3810e1e10452";
sha256 = "0p9raqrsqg2z1hq2kbvbq5qcwqihjqf28xnfh62214p7ak9b9x8n"; sha256 = "0ixqpdmb7kjlarkv0qlbwnbr194sajx9flysnhcldzmciqgk5bqs";
}; };
} }
{ {
@ -149,8 +149,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/gobwas/glob"; url = "https://github.com/gobwas/glob";
rev = "f00a7392b43971b2fdb562418faab1f18da2067a"; rev = "f756513aec94125582ee6c0dc94179251ef87370";
sha256 = "1b7jnb7rx99na25lkm9m9jr583mv7y0lwp57w58sv7ir9iiilx29"; sha256 = "1pyzlvb950864syf2safazv39s7rpi08r7x2vby82kj9ykqgvhc4";
}; };
} }
{ {
@ -158,8 +158,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/gorilla/websocket"; url = "https://github.com/gorilla/websocket";
rev = "5ed622c449da6d44c3c8329331ff47a9e5844f71"; rev = "3ff3320c2a1756a3691521efc290b4701575147c";
sha256 = "1yhcwraijdk6lx7f6m9p6i1b3zfh2hq80l1nfpnckfn10gh72aw7"; sha256 = "1b0kpix2qxv3qiiq739nk9fjh453if0mcpr9gmlizicdpjp5alw2";
}; };
} }
{ {
@ -284,8 +284,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/nicksnyder/go-i18n"; url = "https://github.com/nicksnyder/go-i18n";
rev = "461e8b98df7454b4cb46a1611a6734f05ee331d0"; rev = "04f547cc50da4c144c5fdfd4495aef143637a236";
sha256 = "0aq1q06y6azsi6mfmary5xs7gmmg8fh8lhx1wbpdlqk11asm9rq0"; sha256 = "1h4ndn822k7i04h9k5dxm6c29mhhhqhl63vzpmz2l1k0zpj7xyd1";
}; };
} }
{ {
@ -311,8 +311,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/russross/blackfriday"; url = "https://github.com/russross/blackfriday";
rev = "11635eb403ff09dbc3a6b5a007ab5ab09151c229"; rev = "46c73eb196baff5bb07288f245b223bd1a30fba6";
sha256 = "14j8ibm6h9rydiwfp9b5c7rwhnx04yqyxv1a7p7rmfwyg4zd714n"; sha256 = "01z1jsdkac09cw95lqq4pahkw9xnini2mb956lvb772bby2x3dmj";
}; };
} }
{ {
@ -347,8 +347,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/spf13/cobra"; url = "https://github.com/spf13/cobra";
rev = "7c4570c3ebeb8129a1f7456d0908a8b676b6f9f1"; rev = "ff0d02e8555041edecbd0ce27f32c6ea4b214483";
sha256 = "16amh0prlzqrrbg5j629sg0f688nfzfgn9sair8jyybqampr3wc7"; sha256 = "1ilw6b2nir1bg7hmx8hrn60za37qqm18xvamv90fx5vxq85fsml9";
}; };
} }
{ {
@ -365,8 +365,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/spf13/jwalterweatherman"; url = "https://github.com/spf13/jwalterweatherman";
rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394"; rev = "14d3d4c518341bea657dd8a226f5121c0ff8c9f2";
sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h"; sha256 = "1f9154lijbz0kkgqwmbphykwl4adv4fvkx6n1p7fdq3x5j9g8i17";
}; };
} }
{ {
@ -383,8 +383,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/spf13/pflag"; url = "https://github.com/spf13/pflag";
rev = "3ebe029320b2676d667ae88da602a5f854788a8a"; rev = "947b89bd1b7dabfed991ac30e1a56f5193f0c88b";
sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp"; sha256 = "0n4h5cb07n96fcw9k8dwnj6yisf2x357lsiwjmrq6xr1vkzdlk8c";
}; };
} }
{ {
@ -392,8 +392,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/spf13/viper"; url = "https://github.com/spf13/viper";
rev = "d493c32b69b8c6f2377bf30bc4d70267ffbc0793"; rev = "907c19d40d9a6c9bb55f040ff4ae45271a4754b9";
sha256 = "1jq46790rkjn6c1887wz98dqjk792ij6wnrifzk1maglmfb061hh"; sha256 = "177ziws6mwxdlvicmgpv7w7zy5ri2wgnw2f2v3789b5skv9d6a6b";
}; };
} }
{ {
@ -401,8 +401,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/tdewolff/minify"; url = "https://github.com/tdewolff/minify";
rev = "cf3a1790b606e292e4a0ee82e949a4f0d1c7617d"; rev = "948b6490cf3cacab5f4d7474104c3d21bf6eda46";
sha256 = "1r496149l5iqzxkfcbll5dqcqxy4a7jjxvzm62c8hrybmwj574kn"; sha256 = "1js5l0405kbic53qgim0lj3crw7cc2a2sbga35h9qcnm8l3cx22f";
}; };
} }
{ {
@ -410,8 +410,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/tdewolff/parse"; url = "https://github.com/tdewolff/parse";
rev = "4ceb50b40fad068875f5b093c5df0619012dc544"; rev = "dd9676af8dd934a61082c5b3038e79626847fa32";
sha256 = "1ap76hdiabn41r7zxc7nq3n3ld7zqf97jaf71zlzzjrphi3fwrg1"; sha256 = "1hp9qh8knx3q57aw5qavsf7ia3mxm8ka0bk6kjkqkqq8k9jq97qk";
}; };
} }
{ {
@ -446,8 +446,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://go.googlesource.com/net"; url = "https://go.googlesource.com/net";
rev = "f4c29de78a2a91c00474a2e689954305c350adf9"; rev = "922f4815f713f213882e8ef45e0d315b164d705c";
sha256 = "02nibjrr1il8sxnr0w1s5fj7gz6ayhg3hsywf948qhc68n5adv8x"; sha256 = "1ci1rxk2d6hmfsjjc19n2sxhyn4jqr5ia3ykyah1h08p0pn7k52w";
}; };
} }
{ {
@ -464,8 +464,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://go.googlesource.com/sys"; url = "https://go.googlesource.com/sys";
rev = "3dc4335d56c789b04b0ba99b7a37249d9b614314"; rev = "4ea2f632f6e912459fe60b26b1749377f0d889d5";
sha256 = "1105b7jqzz8g2bfkdbkj2pdzq4vhfmhm42khir88vjqfd1l7ha31"; sha256 = "16pdi4mmjlcrjdcz7k559jqnsvkhdmff68bbqq7ii1lp8vrpqqmy";
}; };
} }
{ {
@ -473,8 +473,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://go.googlesource.com/text"; url = "https://go.googlesource.com/text";
rev = "96e34ec0e18a62a1e59880c7bf617b655efecb66"; rev = "6e3c4e7365ddcc329f090f96e4348398f6310088";
sha256 = "1n1p5zz0vyvlhac40hxml6c5xwpsw8rjx1pbls9381a0s19ncbdg"; sha256 = "1r511ncipn7sdlssn06fpzcpy4mp4spagni4ryxq86p2b0bi8pn4";
}; };
} }
{ {

View File

@ -7,7 +7,7 @@
with python3Packages; with python3Packages;
buildPythonApplication rec { buildPythonApplication rec {
version = "0.11.2"; version = "0.11.3";
name = "kitty-${version}"; name = "kitty-${version}";
format = "other"; format = "other";
@ -15,7 +15,7 @@ buildPythonApplication rec {
owner = "kovidgoyal"; owner = "kovidgoyal";
repo = "kitty"; repo = "kitty";
rev = "v${version}"; rev = "v${version}";
sha256 = "0vmxgyxrgaqijwd51ldd8pkz7jn9hdcfib1dqr0ai614286v69hw"; sha256 = "1fql8ayxvip8hgq9gy0dhqfvngv13gh5bf71vnc3agd80kzq1n73";
}; };
buildInputs = [ buildInputs = [

View File

@ -81,6 +81,11 @@ stdenv.mkDerivation rec {
cd ../../.. cd ../../..
''; '';
preConfigure = ''
CC=${stdenv.cc.targetPrefix}cc
CXX=${stdenv.cc.targetPrefix}c++
'';
configureFlags = [ configureFlags = [
"--disable-static" "--disable-static"
"--disable-staticbins" "--disable-staticbins"

View File

@ -6,13 +6,13 @@
let let
pname = "krusader"; pname = "krusader";
version = "2.7.0"; version = "2.7.1";
in mkDerivation rec { in mkDerivation rec {
name = "krusader-${version}"; name = "krusader-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/${name}.tar.xz"; url = "mirror://kde/stable/${pname}/${version}/${name}.tar.xz";
sha256 = "09ws3samxnjk0qi9pcfm2rmw0nr5mzn9pzpljgrdb5qj7cmm4hcb"; sha256 = "1svxj1qygyr3a4dkx0nh2d6r4q7pfj00brzghl94mf4q0rz4vhfm";
}; };
meta = with lib; { meta = with lib; {

View File

@ -0,0 +1,54 @@
{ stdenv, fetchurl, qtbase, qmake, makeDesktopItem, openjpeg, pkgconfig, fftw,
libpulseaudio, alsaLib, hamlib, libv4l, fftwFloat }:
stdenv.mkDerivation rec {
version = "9.2.6";
name = "qsstv-${version}";
src = fetchurl {
url = "http://users.telenet.be/on4qz/qsstv/downloads/qsstv_${version}.tar.gz";
sha256 = "0sx70yk389fq5djvjwnam6ics5knmg9b5x608bk2sjbfxkila108";
};
enableParallelBuilding = true;
nativeBuildInputs = [
qmake
pkgconfig
];
buildInputs = [ qtbase openjpeg fftw libpulseaudio alsaLib hamlib libv4l
fftwFloat ];
desktopItem = makeDesktopItem {
name = "QSSTV";
exec = "qsstv";
icon = "qsstv.png";
comment = "Qt-based slow-scan TV and fax";
desktopName = "QSSTV";
genericName = "qsstv";
categories = "Application;HamRadio;";
};
installPhase = ''
# Install binary to the right location
make install INSTALL_ROOT=$out
mv $out/usr/bin $out/
rm -r $out/usr
# Install desktop icon
install -D qsstv/icons/qsstv.png $out/share/pixmaps/qsstv.png
# Install desktop item
cp -rv ${desktopItem}/share $out
'';
meta = with stdenv.lib; {
description = "Qt-based slow-scan TV and fax";
homepage = http://users.telenet.be/on4qz/;
platforms = platforms.linux;
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ hax404 ];
};
}

View File

@ -1,23 +1,23 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus
, gsettings-desktop-schemas, desktop-file-utils, gettext, gtkd , gsettings-desktop-schemas, desktop-file-utils, gettext, gtkd, libsecret
, perlPackages, wrapGAppsHook, xdg_utils }: , perlPackages, wrapGAppsHook, xdg_utils }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tilix-${version}"; name = "tilix-${version}";
version = "1.8.1"; version = "1.8.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gnunn1"; owner = "gnunn1";
repo = "tilix"; repo = "tilix";
rev = "${version}"; rev = "${version}";
sha256 = "19dx3hlj40cqwph98pcifkm6axfszfr0v9k6sr3caw4ycml84ci1"; sha256 = "05x2nyyb5w3122j90g0f7lh9jl7xi1nk176sl01vl2ks7zar00dq";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
autoreconfHook dmd desktop-file-utils perlPackages.Po4a pkgconfig xdg_utils autoreconfHook dmd desktop-file-utils perlPackages.Po4a pkgconfig xdg_utils
wrapGAppsHook wrapGAppsHook
]; ];
buildInputs = [ gnome3.dconf gettext gsettings-desktop-schemas gtkd dbus ]; buildInputs = [ gnome3.dconf gettext gsettings-desktop-schemas gtkd dbus libsecret ];
preBuild = '' preBuild = ''
makeFlagsArray=( makeFlagsArray=(
@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
postInstall = with gnome3; '' postInstall = with gnome3; ''
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
wrapProgram $out/bin/tilix \
--prefix LD_LIBRARY_PATH ":" "${libsecret}/lib"
''; '';

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory. # This file is autogenerated from update.sh in the same directory.
{ {
beta = { beta = {
sha256 = "193sz96jrygixgzkaxx1vrpkhmnr6c7yzhsvv4p1qn0jymh2xd57"; sha256 = "0w5k1446j45796vj8p6kv5cdrkrxyr7rh8d8vavplfldbvg36bdw";
sha256bin64 = "0wwmfsxbphxqfw4g6jgxlr0p32vjf4h8yfd5zz36xpa79dryb8sv"; sha256bin64 = "0a7gmbcps3b85rhwgrvg41m9db2n3igwr4hncm7kcqnq5hr60v8s";
version = "68.0.3440.68"; version = "69.0.3497.32";
}; };
dev = { dev = {
sha256 = "102lqnl2m9cbcql6sghib1504fyicx7cgv0jkfx863jpzhrfrkcv"; sha256 = "15gk2jbjv3iy4hg4xm1f66x5jqfqh9f98wfzrcsd5ix3ki3f9g3c";
sha256bin64 = "1y3iy25b3cck7kz5g913z64x1wdj1znqbn049g8h82x3krp76bgx"; sha256bin64 = "1lir6q31dnjsbrz99bfx74r5j6f0c1a443ky1k0idbx6ysvr8nnm";
version = "69.0.3497.12"; version = "70.0.3521.2";
}; };
stable = { stable = {
sha256 = "0hcmnn72xj9p3y77cb6cnr1vz81hiqmksdi6nw7xqfw5cwr7h5yw"; sha256 = "1676y2axl5ihvv8jid2i9wp4i4awxzij5nwvd5zx98506l3088bh";
sha256bin64 = "0pa49yxj9s41mzhik7jixr4hwqanf31yzr1fsc6y5hkadbj7rwij"; sha256bin64 = "0d352maw1630g0hns3c0g0n95bp5iqh7nzs8bnv48kxz87snmpdj";
version = "68.0.3440.75"; version = "68.0.3440.106";
}; };
} }

View File

@ -135,7 +135,7 @@ stdenv.mkDerivation (rec {
'' else '' '' else ''
make -f client.mk configure-files make -f client.mk configure-files
configureScript="$(realpath ./configure)" configureScript="$(realpath ./configure)"
'') + '' '') + lib.optionalString (!isTorBrowserLike && lib.versionAtLeast version "53") ''
export MOZCONFIG=$(pwd)/mozconfig export MOZCONFIG=$(pwd)/mozconfig
# Set C flags for Rust's bindgen program. Unlike ordinary C # Set C flags for Rust's bindgen program. Unlike ordinary C
@ -184,8 +184,8 @@ stdenv.mkDerivation (rec {
"--disable-maintenance-service" "--disable-maintenance-service"
"--disable-gconf" "--disable-gconf"
"--enable-default-toolkit=${default-toolkit}" "--enable-default-toolkit=${default-toolkit}"
"--disable-xcode-checks"
] ]
++ lib.optional stdenv.isDarwin "--disable-xcode-checks"
++ lib.optional (lib.versionOlder version "61") "--enable-system-hunspell" ++ lib.optional (lib.versionOlder version "61") "--enable-system-hunspell"
++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [ ++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
# on i686-linux: --with-libclang-path is not available in this configuration # on i686-linux: --with-libclang-path is not available in this configuration

View File

@ -1,7 +1,7 @@
{ callPackage, stdenv }: { callPackage, stdenv }:
let let
stableVersion = "2.1.7"; stableVersion = "2.1.9";
# Currently there is no preview version. # Currently there is no preview version.
previewVersion = stableVersion; previewVersion = stableVersion;
addVersion = args: addVersion = args:
@ -10,8 +10,8 @@ let
in args // { inherit version branch; }; in args // { inherit version branch; };
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { }; mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
mkServer = args: callPackage (import ./server.nix (addVersion args)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
guiSrcHash = "10zf429zjzf7v4y9r7mmkp42kh5ppmqinhvwqzb7jmsrpv2cnxj6"; guiSrcHash = "0gpif6f7zqz2n8q3pkr8xv3fdc904hq69661w8f1fna360xvksd7";
serverSrcHash = "056swz6ygqdi37asah51v1yy0ky8q0p32vf7dxs697hd7nv78aqj"; serverSrcHash = "1y19jzyyz0sjjxkrpgr6z10irb47v7d8khdvk5nzmgnjfxv875yx";
in { in {
guiStable = mkGui { guiStable = mkGui {
stable = true; stable = true;

View File

@ -4,6 +4,16 @@
let let
pythonPackages = python3Packages; pythonPackages = python3Packages;
async-timeout = (stdenv.lib.overrideDerivation pythonPackages.async-timeout
(oldAttrs:
rec {
pname = "async-timeout";
version = "2.0.1";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "1l3kg062m02mph6rf9rdv8r5c5n356clxa6b6mrn0i77vk9g9kq0";
};
}));
aiohttp = (stdenv.lib.overrideDerivation pythonPackages.aiohttp aiohttp = (stdenv.lib.overrideDerivation pythonPackages.aiohttp
(oldAttrs: (oldAttrs:
rec { rec {
@ -13,6 +23,9 @@ let
inherit pname version; inherit pname version;
sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964"; sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964";
}; };
propagatedBuildInputs = [ async-timeout ]
++ (with pythonPackages; [ attrs chardet multidict yarl ])
++ stdenv.lib.optional (pythonPackages.pythonOlder "3.7") pythonPackages.idna-ssl;
})); }));
aiohttp-cors = (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors aiohttp-cors = (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors
(oldAttrs: (oldAttrs:

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake, libqmatrixclient }: { stdenv, lib, fetchFromGitHub, fetchpatch, qtbase, qtquickcontrols, cmake, libqmatrixclient }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "quaternion-${version}"; name = "quaternion-${version}";
@ -11,10 +11,18 @@ stdenv.mkDerivation rec {
sha256 = "0zrr4khbbdf5ziq65gi0cb1yb1d0y5rv18wld22w1x96f7fkmrib"; sha256 = "0zrr4khbbdf5ziq65gi0cb1yb1d0y5rv18wld22w1x96f7fkmrib";
}; };
buildInputs = [ qtbase qtquickcontrols libqmatrixclient ]; buildInputs = [ qtbase qtquickcontrols ];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
patches = [
# https://github.com/QMatrixClient/Quaternion/pull/400
(fetchpatch {
url = "https://github.com/QMatrixClient/Quaternion/commit/6cb29834efc343dc2bcf1db62cfad2dc4c121c54.patch";
sha256 = "0n7mgzzrvx9sa657rfb99i0mjh1k0sn5br344mknqy3wgqdr7s3x";
})
];
# libqmatrixclient is now compiled as a dynamic library but quarternion cannot use it yet # libqmatrixclient is now compiled as a dynamic library but quarternion cannot use it yet
# https://github.com/QMatrixClient/Quaternion/issues/239 # https://github.com/QMatrixClient/Quaternion/issues/239
postPatch = '' postPatch = ''
@ -22,7 +30,11 @@ stdenv.mkDerivation rec {
ln -s ${libqmatrixclient.src} lib ln -s ${libqmatrixclient.src} lib
''; '';
postInstall = '' postInstall = if stdenv.isDarwin then ''
mkdir -p $out/Applications
mv $out/bin/quaternion.app $out/Applications
rmdir $out/bin || :
'' else ''
substituteInPlace $out/share/applications/quaternion.desktop \ substituteInPlace $out/share/applications/quaternion.desktop \
--replace 'Exec=quaternion' "Exec=$out/bin/quaternion" --replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
''; '';

View File

@ -20,7 +20,7 @@
, speex , speex
, boost , boost
, opendht , opendht
, libmsgpack , msgpack
, gnutls , gnutls
, zlib , zlib
, jsoncpp , jsoncpp
@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
speex speex
boost boost
opendht opendht
libmsgpack msgpack
gnutls gnutls
zlib zlib
jsoncpp jsoncpp

View File

@ -3,11 +3,11 @@
let configFile = writeText "riot-config.json" conf; in let configFile = writeText "riot-config.json" conf; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name= "riot-web-${version}"; name= "riot-web-${version}";
version = "0.15.7"; version = "0.16.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
sha256 = "09sa2qcmns4b9by3hzmyppc6fi3845vppkal2ylrf2vi9yczb2ch"; sha256 = "1nl0ih5flhp57k96hv6nl5pzrm3r9piqmwzirz9nz8k9803mqp5m";
}; };
installPhase = '' installPhase = ''

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, dpkg, makeWrapper { stdenv, fetchurl, dpkg
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib, glibc, gnome2, gnome3 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib, glibc, gnome2, gnome3
, gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, xorg }: , gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg }:
let let
@ -68,7 +68,12 @@ in stdenv.mkDerivation {
inherit src; inherit src;
buildInputs = [ dpkg makeWrapper ]; nativeBuildInputs = [
wrapGAppsHook
glib # For setup hook populating GSETTINGS_SCHEMA_PATH
];
buildInputs = [ dpkg ];
unpackPhase = "true"; unpackPhase = "true";
installPhase = '' installPhase = ''
@ -78,6 +83,8 @@ in stdenv.mkDerivation {
rm -rf $out/opt $out/usr rm -rf $out/opt $out/usr
rm $out/bin/skypeforlinux rm $out/bin/skypeforlinux
ln -s "$out/share/skypeforlinux/skypeforlinux" "$out/bin/skypeforlinux"
# Otherwise it looks "suspicious" # Otherwise it looks "suspicious"
chmod -R g-w $out chmod -R g-w $out
''; '';
@ -88,8 +95,6 @@ in stdenv.mkDerivation {
patchelf --set-rpath ${rpath}:$out/share/skypeforlinux $file || true patchelf --set-rpath ${rpath}:$out/share/skypeforlinux $file || true
done done
ln -s "$out/share/skypeforlinux/skypeforlinux" "$out/bin/skypeforlinux"
# Fix the desktop link # Fix the desktop link
substituteInPlace $out/share/applications/skypeforlinux.desktop \ substituteInPlace $out/share/applications/skypeforlinux.desktop \
--replace /usr/bin/ $out/bin/ \ --replace /usr/bin/ $out/bin/ \

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, qmake, pkgconfig { stdenv, fetchFromGitHub, qmake, pkgconfig, makeWrapper
, qtbase, qttools, qtwebkit, sqlite , qtbase, qttools, qtwebkit, sqlite
}: }:
@ -13,9 +13,14 @@ stdenv.mkDerivation rec {
sha256 = "0xav9qr8n6310636nfbgx4iix65fs3ya5rz2isxsf38bkjm7r3pa"; sha256 = "0xav9qr8n6310636nfbgx4iix65fs3ya5rz2isxsf38bkjm7r3pa";
}; };
nativeBuildInputs = [ qmake pkgconfig ]; nativeBuildInputs = [ qmake pkgconfig makeWrapper ];
buildInputs = [ qtbase qttools qtwebkit sqlite.dev ]; buildInputs = [ qtbase qttools qtwebkit sqlite.dev ];
postFixup = ''
wrapProgram $out/bin/quiterss \
--prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A Qt-based RSS/Atom news feed reader"; description = "A Qt-based RSS/Atom news feed reader";
longDescription = '' longDescription = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "owncloud-client-${version}"; name = "owncloud-client-${version}";
version = "2.4.2"; version = "2.4.3";
src = fetchurl { src = fetchurl {
url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz"; url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
sha256 = "0pxga45fi7iyayy278hgl8x099isz6d7x1jq57p2m9qlsvfx8ap5"; sha256 = "1gz6xg1vm054ksrsakzfkzxgpskm0xkhsqwq0fj3i2kas09zzczk";
}; };
patches = [ ./find-sql.patch ]; patches = [ ./find-sql.patch ];

View File

@ -3,12 +3,12 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "6.7.0"; version = "6.7.1";
name = "frostwire-${version}"; name = "frostwire-${version}";
src = fetchurl { src = fetchurl {
url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.noarch.tar.gz"; url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.noarch.tar.gz";
sha256 = "1qvk4w2ly2nz3ibsd6qdxaqb3g1a3l9f5a15b5zpzhsziln1fbxf"; sha256 = "1crhiksgky65wvb4fvqablsvixj04hbaacz23mskwrc63n4jaz0p";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, pkgconfig { stdenv, fetchFromGitHub, fetchpatch, pkgconfig
, boost, libtorrentRasterbar, qtbase, qttools, qtsvg , boost, libtorrentRasterbar, qtbase, qttools, qtsvg
, debugSupport ? false # Debugging , debugSupport ? false # Debugging
, guiSupport ? true, dbus ? null # GUI (disable to run headless) , guiSupport ? true, dbus ? null # GUI (disable to run headless)
@ -19,6 +19,14 @@ stdenv.mkDerivation rec {
sha256 = "1756hr92rvh4xlf6bk2wl24ypczhwf1rv1pdq05flk118jciqb05"; sha256 = "1756hr92rvh4xlf6bk2wl24ypczhwf1rv1pdq05flk118jciqb05";
}; };
patches = [
(fetchpatch {
name = "fix-desktop-file-regression.patch";
url = "https://github.com/qbittorrent/qBittorrent/commit/078325a3eb85c286b9a3454192ed2deadeda604c.patch";
sha256 = "1xhpd4ncy2m9zxsllizkry2013ij0ii9p8b8jbb35sazw5p50c96";
})
];
# NOTE: 2018-05-31: CMake is working but it is not officially supported # NOTE: 2018-05-31: CMake is working but it is not officially supported
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -9,13 +9,13 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "resilio-sync-${version}"; name = "resilio-sync-${version}";
version = "2.5.12"; version = "2.6.0";
src = fetchurl { src = fetchurl {
url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz"; url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
sha256 = { sha256 = {
"x86_64-linux" = "176gf5704wh22kqig8n0gg83048w71grw7h37k2qvxjaf4vypnc7"; "x86_64-linux" = "0041axi9carspkfaxvyirfvsa29zz55al01x90nh93nzxvpvywsz";
"i686-linux" = "15m2s2cqrkpb7ladbwimbs9agqb4ww9jr4gf0ifjwzm2grv5ffnh"; "i686-linux" = "1ar36lp4f6a1z9i82g3gpak4q4ny09faqxdd59q1pvfzq25ypdhs";
}.${stdenv.system}; }.${stdenv.system};
}; };

View File

@ -5,14 +5,14 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "6.2.3"; version = "6.2.4";
name = "seafile-client-${version}"; name = "seafile-client-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "haiwen"; owner = "haiwen";
repo = "seafile-client"; repo = "seafile-client";
rev = "v${version}"; rev = "v${version}";
sha256 = "1wdpz7vxhn9mcc7kxhrz9c5dwd492akirz351wfi4xxy5np6p6kp"; sha256 = "0z5li1d7ipsm1mp0lk6mls220v4vlmsqm8ym8kxlkinqbmkky0hz";
}; };
nativeBuildInputs = [ pkgconfig cmake makeWrapper ]; nativeBuildInputs = [ pkgconfig cmake makeWrapper ];

View File

@ -11,11 +11,6 @@ let
else if stdenv.system == "x86_64-darwin" then "macos64" else if stdenv.system == "x86_64-darwin" then "macos64"
else throw "Unsupported system: ${stdenv.system}"; else throw "Unsupported system: ${stdenv.system}";
launcher = ''
#!${stdenv.shell}
exec ${jre}/bin/java -Xmx512m ${ stdenv.lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''} de.willuhn.jameica.Main "$@"
'';
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "jameica"; name = "jameica";
exec = "jameica"; exec = "jameica";
@ -56,24 +51,24 @@ stdenv.mkDerivation rec {
''; '';
installPhase = '' installPhase = ''
mkdir -p $out/libexec $out/lib $out/bin $out/share/applications mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,${name},java}/
# copy libraries except SWT # copy libraries except SWT
cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/lib/ cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/${name}/
# copy platform-specific SWT # copy platform-specific SWT
cp lib/swt/${swtSystem}/swt.jar $out/lib cp lib/swt/${swtSystem}/swt.jar $out/share/${name}/
install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/libexec/ install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/
install -Dm644 plugin.xml $out/libexec/ install -Dm644 plugin.xml $out/share/java/
install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png
cp ${desktopItem}/share/applications/* $out/share/applications/ cp ${desktopItem}/share/applications/* $out/share/applications/
echo "${launcher}" > $out/bin/jameica makeWrapper ${jre}/bin/java $out/bin/jameica \
chmod +x $out/bin/jameica --add-flags "-cp $out/share/java/jameica.jar:$out/share/${name}/* ${
wrapProgram $out/bin/jameica --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath buildInputs} \ stdenv.lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''
--set CLASSPATH "$out/libexec/jameica.jar:$out/lib/*" \ } de.willuhn.jameica.Main" \
--run "cd $out/libexec" --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath buildInputs} \
# jameica expects its working dir set to the "program directory" --run "cd $out/share/java/"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -6,13 +6,13 @@
mkDerivation rec { mkDerivation rec {
name = "stellarium-${version}"; name = "stellarium-${version}";
version = "0.18.1"; version = "0.18.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Stellarium"; owner = "Stellarium";
repo = "stellarium"; repo = "stellarium";
rev = "v${version}"; rev = "v${version}";
sha256 = "0srwi08azzzayf50dr4dr1zcdcc8hwribzv7xvb7hbp6xp51c813"; sha256 = "17764i52dmipaz62k5n23fyx07d7cjir0dgav0s5b6sjd8gbjwbf";
}; };
nativeBuildInputs = [ cmake perl ]; nativeBuildInputs = [ cmake perl ];

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bowtie2"; pname = "bowtie2";
version = "2.3.4.1"; version = "2.3.4.2";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "BenLangmead"; owner = "BenLangmead";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "07cvcy6483araayj41arjzpxjmf4fmn4iqyl6gp6zmrbzw72wwzj"; sha256 = "1gsfaf7rjg4nwhs7vc1vf63xd5r5v1yq58w7x3barycplzbvixzz";
}; };
buildInputs = [ zlib tbb ]; buildInputs = [ zlib tbb ];
@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
homepage = http://bowtie-bio.sf.net/bowtie2; homepage = http://bowtie-bio.sf.net/bowtie2;
maintainers = with maintainers; [ rybern ]; maintainers = with maintainers; [ rybern ];
platforms = platforms.all; platforms = platforms.all;
broken = stdenv.isAarch64;
}; };
} }

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "igv-${version}"; name = "igv-${version}";
version = "2.4.13"; version = "2.4.14";
src = fetchurl { src = fetchurl {
url = "https://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip"; url = "https://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip";
sha256 = "0cl6fs1v9rqkzjq4syx0m1pr71hbhvidwa3ym57pvz8ardfs3qa1"; sha256 = "0z9hk01czkdgi55b0qdvvi43jsqkkx6gl7wglamv425c6rklcvhc";
}; };
buildInputs = [ unzip jre ]; buildInputs = [ unzip jre ];

View File

@ -0,0 +1,37 @@
{stdenv, fetchFromGitHub, cmake, zlib, python2}:
stdenv.mkDerivation rec {
name = "strelka-${version}";
version = "2.9.5";
src = fetchFromGitHub {
owner = "Illumina";
repo = "strelka";
rev = "v${version}";
sha256 = "0x4a6nkx1jnyag9svghsdjz1fz6q7qx5pn77wphdfnk81f9yspf8";
};
buildInputs = [ cmake zlib python2 ];
preConfigure = ''
sed -i 's|/usr/bin/env python|${python2}/bin/python|' src/python/lib/makeRunScript.py
patchShebangs .
'';
postFixup = ''
pushd $out/lib/python/pyflow
sed -i 's|/bin/bash|${stdenv.shell}|' pyflowTaskWrapper.py
rm pyflowTaskWrapper.pyc
echo "import pyflowTaskWrapper" | python2
popd
'';
meta = with stdenv.lib; {
description = "Germline and small variant caller";
license = licenses.gpl3;
homepage = https://github.com/Illumina/strelka;
maintainers = with maintainers; [ jbedo ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -1,17 +1,19 @@
{ stdenv, fetchurl, which, gfortran, libGLU, xorg } : { stdenv, fetchurl, which, gfortran, libGLU, xorg } :
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "5.7"; version = "5.8.2";
name = "molden-${version}"; name = "molden-${version}";
src = fetchurl { src = fetchurl {
url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz"; url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz";
sha256 = "0gaq11gm09ax25lvgfrvxv9dxvi76hps116fp6k7sqgvdd68vf0s"; sha256 = "1lhjx8fa8xynnlk5g6ipvchhfnz6j5lgqxlsifx82pbbnbm6mps4";
}; };
nativeBuildInputs = [ which ]; nativeBuildInputs = [ which ];
buildInputs = [ gfortran libGLU xorg.libX11 xorg.libXmu ]; buildInputs = [ gfortran libGLU xorg.libX11 xorg.libXmu ];
patches = [ ./dont_register_file_types.patch ];
postPatch = '' postPatch = ''
substituteInPlace ./makefile --replace '-L/usr/X11R6/lib' "" \ substituteInPlace ./makefile --replace '-L/usr/X11R6/lib' "" \
--replace '-I/usr/X11R6/include' "" \ --replace '-I/usr/X11R6/include' "" \

View File

@ -0,0 +1,29 @@
diff --git a/makefile b/makefile
index 58a9e74..64615b6 100644
--- a/makefile
+++ b/makefile
@@ -32,8 +32,6 @@ os :=
ifeq ($(uname), Linux)
os := $(shell head -n 1 /etc/issue | cut -d" " -f1)
ifeq ($(os), Ubuntu)
- EXTEN = exten
- EXTENZ = exten2
LIBSG = -L/usr/X11R6/lib -lGLU -lGL -lX11 -lm
endif
ifeq ($(os), Debian)
@@ -278,7 +276,7 @@ LIBSOGL = -lglut -lGLU -lGL -lXmu -lX11 -lm
#
#LIBSG = -L/usr/X11R6/lib -Wl,-framework -Wl,GLUT -Wl,-framework -Wl,OpenGL -Wl,-framework -Wl,Cocoa -lGLU -lGL -lXmu -lX11 -lm
-all: molden gmolden ambfor/ambfor ambfor/ambmd surf/surf $(EXTEN)
+all: molden gmolden ambfor/ambfor ambfor/ambmd surf/surf
xwin.o: xwin.c rots.h
xwingl.o: xwin.c rots.h
@@ -344,5 +342,5 @@ exten:
exten2:
./register_extension.sh /usr/local/bin
-install: $(EXTENZ)
+install:
sudo install -t /usr/local/bin -m 755 molden gmolden ambfor/ambfor ambfor/ambmd surf/surf

View File

@ -3,7 +3,7 @@
}: }:
let let
version = "8.1"; version = "8.2";
fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; }; fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; };
in stdenv.mkDerivation { in stdenv.mkDerivation {
@ -11,7 +11,7 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz"; url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz";
sha256 = "0rxwvcp22364nnhwhqlr38w4rwv1yl60snxi2f8nqdflx1143n10"; sha256 = "0z74q17lzyga44m5pbsr1hmq12ly96y44pcz7glfvc4vbaq3jd8p";
}; };
nativeBuildInputs = [ perl procps fftw.dev ]; nativeBuildInputs = [ perl procps fftw.dev ];

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, makeDesktopItem { stdenv, fetchurl, makeDesktopItem
, python3, python3Packages , python3, python3Packages
, glew, freeglut, libpng, libxml2, tk, freetype, libmsgpack }: , glew, freeglut, libpng, libxml2, tk, freetype, msgpack }:
with stdenv.lib; with stdenv.lib;
@ -29,7 +29,7 @@ python3Packages.buildPythonApplication {
sha256 = "1qpacd5w4r9a0nm5iqmkd92ym3ai00dp7v61cwd6jgakk6wfps3s"; sha256 = "1qpacd5w4r9a0nm5iqmkd92ym3ai00dp7v61cwd6jgakk6wfps3s";
}; };
buildInputs = [ python3Packages.numpy glew freeglut libpng libxml2 tk freetype libmsgpack ]; buildInputs = [ python3Packages.numpy glew freeglut libpng libxml2 tk freetype msgpack ];
NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2"; NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
installPhase = '' installPhase = ''

View File

@ -0,0 +1,83 @@
{ stdenv, fetchurl, makeDesktopItem, patchelf
, libXrender, libXrandr, libXcursor, libX11, libXext, libXi, libxcb
, cups , libGL, glib, nss, nspr, expat, alsaLib
, qtbase, qtdeclarative, qtsvg, qtlocation, qtwebchannel, qtwebengine
}:
let
libPath = stdenv.lib.makeLibraryPath
[ libXrender libXrandr libXcursor libX11 libXext libXi libxcb
libGL glib nss nspr expat alsaLib
qtbase qtdeclarative qtsvg qtlocation qtwebchannel qtwebengine
];
in
stdenv.mkDerivation rec {
name = "eagle-${version}";
version = "9.1.2";
src = fetchurl {
url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz";
sha256 = "0y7ahl9z5a7l9cjk8hzmyv6ga8chlry5rr8v116q5mnsgs4i11an";
};
desktopItem = makeDesktopItem {
name = "eagle";
exec = "eagle";
icon = "eagle";
comment = "Schematic capture and PCB layout";
desktopName = "Eagle";
genericName = "Schematic editor";
categories = "Application;Development;";
};
buildInputs =
[ libXrender libXrandr libXcursor libX11 libXext libXi libxcb
libGL glib nss nspr expat alsaLib
qtbase qtdeclarative qtsvg qtlocation qtwebchannel qtwebengine
];
doConfigure = false;
doBuild = false;
installPhase = ''
# Extract eagle tarball
mkdir "$out"
tar -xzf "$src" -C "$out"
# Install manpage
mkdir -p "$out"/share/man/man1
ln -s "$out"/eagle-${version}/doc/eagle.1 "$out"/share/man/man1/eagle.1
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}:$out/eagle-${version}/lib:${stdenv.cc.cc.lib}/lib" \
"$out"/eagle-${version}/eagle
mkdir -p "$out"/bin
ln -s "$out"/eagle-${version}/eagle "$out"/bin/eagle
# Remove bundled libraries that are available in nixpkgs
# TODO: There still may be unused bundled libraries
rm "$out"/eagle-${version}/lib/libQt5*.so.5
rm "$out"/eagle-${version}/lib/{libxcb-*.so.*,libX*.so.*,libxshmfence.so.1}
rm "$out"/eagle-${version}/lib/{libEGL.so.1,libglapi.so.0,libgbm.so.1}
# No longer needed (we don't use the bundled Qt libraries)
rm -r "$out"/eagle-${version}/libexec
rm -r "$out"/eagle-${version}/plugins
# Make desktop item
mkdir -p "$out"/share/applications
cp "$desktopItem"/share/applications/* "$out"/share/applications/
mkdir -p "$out"/share/icons
ln -s "$out/eagle-${version}/bin/eagle-logo.png" "$out"/share/icons/eagle.png
'';
meta = with stdenv.lib; {
description = "Schematic editor and PCB layout tool from Autodesk (formerly CadSoft)";
homepage = https://www.autodesk.com/products/eagle/overview;
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = [ maintainers.rittelle ];
};
}

View File

@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
# Build LD_PRELOAD library that redirects license file access to the home # Build LD_PRELOAD library that redirects license file access to the home
# directory of the user # directory of the user
mkdir -p "$out"/lib mkdir -p "$out"/lib
gcc -shared -fPIC -DEAGLE_PATH=\"$out/eagle-${version}\" ${./eagle_fixer.c} -o "$out"/lib/eagle_fixer.so -ldl gcc -shared -fPIC -DEAGLE_PATH=\"$out/eagle-${version}\" ${./eagle7_fixer.c} -o "$out"/lib/eagle_fixer.so -ldl
# Make wrapper script # Make wrapper script
dynlinker="$(cat $NIX_CC/nix-support/dynamic-linker)" dynlinker="$(cat $NIX_CC/nix-support/dynamic-linker)"

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gtkwave-${version}"; name = "gtkwave-${version}";
version = "3.3.92"; version = "3.3.93";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gtkwave/${name}.tar.gz"; url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
sha256 = "08916gv5vl7dgvlsq098mxljbciby9miyh8jqwn1q8sfdhzvmxak"; sha256 = "0a92zlwvshp75k7cv11rc4ab11fzsy0a5qfvxkh0bjvrq1k946ys";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
configurePhase = '' configurePhase = ''
CC=${stdenv.cc.targetPrefix}cc
CXX=${stdenv.cc.targetPrefix}c++
# Set up picosat, so we can build 'aigbmc' # Set up picosat, so we can build 'aigbmc'
mkdir ../picosat mkdir ../picosat
ln -s ${picosat}/include/picosat/picosat.h ../picosat/picosat.h ln -s ${picosat}/include/picosat/picosat.h ../picosat/picosat.h

View File

@ -15,6 +15,11 @@ stdenv.mkDerivation rec {
# --disable-static actually enables static linking here... # --disable-static actually enables static linking here...
dontDisableStatic = true; dontDisableStatic = true;
preConfigure = ''
CC=${stdenv.cc.targetPrefix}gcc
CXX=${stdenv.cc.targetPrefix}g++
'';
makeFlags = [ "LEX=${flex}/bin/flex" ]; makeFlags = [ "LEX=${flex}/bin/flex" ];
preInstall = '' preInstall = ''

View File

@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
description = "GiNaC is Not a CAS"; description = "GiNaC is Not a CAS";
homepage = http://www.ginac.de/; homepage = http://www.ginac.de/;
maintainers = with maintainers; [ lovek323 ]; maintainers = with maintainers; [ lovek323 ];
license = licenses.gpl2;
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -26,5 +26,6 @@ stdenv.mkDerivation {
meta = { meta = {
homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf; homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf;
description = "A program to draw implicit surfaces and curves"; description = "A program to draw implicit surfaces and curves";
license = stdenv.lib.licenses.lgpl21;
}; };
} }

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "git-extras-${version}"; name = "git-extras-${version}";
version = "4.5.0"; version = "4.6.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/tj/git-extras/archive/${version}.tar.gz"; url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
sha256 = "059680bvblbhrlkybg1yisr5zq62pir1rnaxz5izhfsw2ng9s2fb"; sha256 = "1jp5wi2h4jqbrjv0iqa45s0f9h3n5k1dxs89jkhg5n5k9jjs7fp3";
}; };
dontBuild = true; dontBuild = true;

View File

@ -12,11 +12,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gitkraken-${version}"; name = "gitkraken-${version}";
version = "4.0.1"; version = "4.0.2";
src = fetchurl { src = fetchurl {
url = "https://release.gitkraken.com/linux/v${version}.deb"; url = "https://release.gitkraken.com/linux/v${version}.deb";
sha256 = "0y4r5d21mxwnwla9ggy9c4pm3zbz67yi9z06znkdz9x2chv1ci3n"; sha256 = "0dnckd75fcgc9wa4ivbnw2djmk4phzzr891snhxpsvb1dhlc7rgx";
}; };
libPath = makeLibraryPath [ libPath = makeLibraryPath [

View File

@ -104,4 +104,10 @@ stdenv.mkDerivation rec {
inherit rubyEnv; inherit rubyEnv;
ruby = rubyEnv.wrappedRuby; ruby = rubyEnv.wrappedRuby;
}; };
meta = with stdenv.lib; {
description = "Web-based Git-repository manager";
homepage = https://gitlab.com;
license = licenses.mit;
};
} }

View File

@ -1,100 +0,0 @@
Description: FHS through env vars
Forwarded: not-needed
Author: Jérémy Lal <kapouer@melix.org>
Last-Update: 2013-09-28
--- redmine.orig/app/models/attachment.rb
+++ redmine/app/models/attachment.rb
@@ -46,10 +46,10 @@ class Attachment < ActiveRecord::Base
"LEFT JOIN #{Project.table_name} ON #{Document.table_name}.project_id = #{Project.table_name}.id"}
cattr_accessor :storage_path
- @@storage_path = Redmine::Configuration['attachments_storage_path'] || File.join(Rails.root, "files")
+ @@storage_path = Redmine::Configuration['attachments_storage_path'] || ENV['RAILS_VAR'] ? File.join(ENV['RAILS_VAR'], "files") : File.join(Rails.root, "files")
cattr_accessor :thumbnails_storage_path
- @@thumbnails_storage_path = File.join(Rails.root, "tmp", "thumbnails")
+ @@thumbnails_storage_path = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], "thumbnails") : File.join(Rails.root, "tmp", "thumbnails")
before_save :files_to_final_location
after_destroy :delete_from_disk
--- redmine.orig/lib/redmine/configuration.rb
+++ redmine/lib/redmine/configuration.rb
@@ -32,7 +32,7 @@ module Redmine
# * <tt>:file</tt>: the configuration file to load (default: config/configuration.yml)
# * <tt>:env</tt>: the environment to load the configuration for (default: Rails.env)
def load(options={})
- filename = options[:file] || File.join(Rails.root, 'config', 'configuration.yml')
+ filename = options[:file] || ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'configuration.yml') : File.join(Rails.root, 'config', 'configuration.yml')
env = options[:env] || Rails.env
@config = @defaults.dup
@@ -103,7 +103,7 @@ module Redmine
end
def load_deprecated_email_configuration(env)
- deprecated_email_conf = File.join(Rails.root, 'config', 'email.yml')
+ deprecated_email_conf = ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'email.yml') : File.join(Rails.root, 'config', 'email.yml')
if File.file?(deprecated_email_conf)
warn "Storing outgoing emails configuration in config/email.yml is deprecated. You should now store it in config/configuration.yml using the email_delivery setting."
@config.merge!({'email_delivery' => load_from_yaml(deprecated_email_conf, env)})
--- redmine.orig/lib/redmine/export/pdf.rb
+++ redmine/lib/redmine/export/pdf.rb
@@ -38,7 +38,7 @@ module Redmine
attr_accessor :footer_date
def initialize(lang, orientation='P')
- @@k_path_cache = Rails.root.join('tmp', 'pdf')
+ @@k_path_cache = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], 'pdf') : Rails.root.join('tmp', 'pdf')
FileUtils.mkdir_p @@k_path_cache unless File::exist?(@@k_path_cache)
set_language_if_valid lang
pdf_encoding = l(:general_pdf_encoding).upcase
--- redmine.orig/config/application.rb
+++ redmine/config/application.rb
@@ -52,8 +63,21 @@ module RedmineApp
# Do not include all helpers
config.action_controller.include_all_helpers = false
+ # move tmp directory to RAILS_TMP
+ config.paths['tmp'] = ENV['RAILS_TMP']
+
config.session_store :cookie_store, :key => '_redmine_session'
+ # log path
+ config.paths['log'] = File.join(ENV['RAILS_LOG'], "#{Rails.env}.log") unless !ENV['RAILS_LOG']
+
+ config.paths['public'] = ENV['RAILS_PUBLIC'] unless !ENV['RAILS_PUBLIC']
+
+ config.cache_store = :file_store, File.join(ENV['RAILS_TMP'], "cache")
+
+ # Set Active Record's database.yml path
+ config.paths['config/database'] = File.join(ENV['RAILS_ETC'], 'database.yml') unless !ENV['RAILS_ETC']
+
if File.exists?(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
instance_eval File.read(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
end
--- redmine.orig/lib/plugins/rfpdf/lib/tcpdf.rb
+++ redmine/lib/plugins/rfpdf/lib/tcpdf.rb
@@ -89,10 +89,10 @@ class TCPDF
@@k_small_ratio = 2/3.0
cattr_accessor :k_path_cache
- @@k_path_cache = Rails.root.join('tmp')
+ @@k_path_cache = ENV['RAILS_TMP'] ? ENV['RAILS_TMP'] : Rails.root.join('tmp')
cattr_accessor :k_path_url_cache
- @@k_path_url_cache = Rails.root.join('tmp')
+ @@k_path_url_cache = ENV['RAILS_TMP'] ? ENV['RAILS_TMP'] : Rails.root.join('tmp')
attr_accessor :barcode
--- redmine.orig/lib/redmine/scm/adapters/abstract_adapter.rb
+++ redmine/lib/redmine/scm/adapters/abstract_adapter.rb
@@ -222,7 +222,7 @@ module Redmine
if @stderr_log_file.nil?
writable = false
path = Redmine::Configuration['scm_stderr_log_file'].presence
- path ||= Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s
+ path ||= ENV['RAILS_LOG'] ? File.join(ENV['RAILS_LOG'], "#{Rails.env}.scm.stderr.log").to_s : Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s
if File.exists?(path)
if File.file?(path) && File.writable?(path)
writable = true

View File

@ -1,72 +0,0 @@
Description: Externalize session config to yml in /etc
Forwarded: not-needed
Author: Jérémy Lal <kapouer@melix.org>
Last-Update: 2010-01-10
--- redmine.orig/lib/tasks/initializers.rake
+++ redmine/lib/tasks/initializers.rake
@@ -1,11 +1,12 @@
desc 'Generates a secret token for the application.'
+task :generate_secret_token do
-file 'config/initializers/secret_token.rb' do
- path = File.join(Rails.root, 'config', 'initializers', 'secret_token.rb')
- secret = SecureRandom.hex(40)
- File.open(path, 'w') do |f|
- f.write <<"EOF"
-# This file was generated by 'rake generate_secret_token', and should
+filename = ENV['YML_SESSION_FILENAME'] ? ENV['YML_SESSION_FILENAME'] : 'session.yml'
+path = File.join(ENV['RAILS_ETC'] ? ENV['RAILS_ETC'] : File.join(Rails.root, 'config'), filename)
+secret = SecureRandom.hex(40)
+File.open(path, 'w') do |f|
+ f.write <<"EOF"
+# This file was generated by 'rake generate_session_store',
# not be made visible to public.
# If you have a load-balancing Redmine cluster, you will need to use the
# same version of this file on each machine. And be sure to restart your
@@ -15,10 +18,18 @@ file 'config/initializers/secret_token.r
# change this key, all old sessions will become invalid! Make sure the
# secret is at least 30 characters and all random, no regular words or
# you'll be exposed to dictionary attacks.
-RedmineApp::Application.config.secret_token = '#{secret}'
+
+production:
+ key: _redmine_
+ secret: #{secret}
+
+development:
+ key: _redmine_
+ secret: #{secret}
+
+test:
+ key: _redmine_
+ secret: #{secret}
EOF
end
end
-
-desc 'Generates a secret token for the application.'
-task :generate_secret_token => ['config/initializers/secret_token.rb']
--- redmine.orig/config/application.rb
+++ redmine/config/application.rb
@@ -66,7 +66,20 @@ module RedmineApp
# move tmp directory to RAILS_TMP
config.paths['tmp'] = ENV['RAILS_TMP']
- config.session_store :cookie_store, :key => '_redmine_session'
+ # loads cookie based session session and secret keys
+ # this is needed here because initializers are loaded after plugins,
+ # and some plugins initialize ActionController which requires a secret to be set.
+ # crash if file not found
+ relativeUrlRoot = ENV['RAILS_RELATIVE_URL_ROOT']
+ filename = ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'session.yml') : File.join(File.dirname(__FILE__), '..', 'session.yml')
+ if File.exists?(filename)
+ sessionconfig = YAML::load_file(filename)
+ config.session_store :cookie_store, :key => sessionconfig[Rails.env]['key'], :path => (relativeUrlRoot.blank?) ? '/' : relativeUrlRoot
+ config.secret_token = sessionconfig[Rails.env]['secret']
+ else
+ # temporary settings before session.yml is created
+ config.session_store :cookie_store, :key => '_redmine_session', :path => (relativeUrlRoot.blank?) ? '/' : relativeUrlRoot
+ end
# log path
config.paths['log'] = File.join(ENV['RAILS_LOG'], "#{Rails.env}.log") unless !ENV['RAILS_LOG']

View File

@ -1,11 +0,0 @@
--- redmine.orig/lib/redmine/plugin.rb
+++ redmine/lib/redmine/plugin.rb
@@ -47,7 +47,7 @@ module Redmine #:nodoc:
self.directory = File.join(Rails.root, 'plugins')
cattr_accessor :public_directory
- self.public_directory = File.join(Rails.root, 'public', 'plugin_assets')
+ self.public_directory = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], 'plugin_assets') : File.join(Rails.root, 'public', 'plugin_assets')
@registered_plugins = {}
class << self

View File

@ -0,0 +1,120 @@
source 'https://rubygems.org'
if Gem::Version.new(Bundler::VERSION) < Gem::Version.new('1.5.0')
abort "Redmine requires Bundler 1.5.0 or higher (you're using #{Bundler::VERSION}).\nPlease update with 'gem update bundler'."
end
gem "rails", "4.2.8"
gem "addressable", "2.4.0" if RUBY_VERSION < "2.0"
if RUBY_VERSION < "2.1"
gem "public_suffix", (RUBY_VERSION < "2.0" ? "~> 1.4" : "~> 2.0.5")
end
gem "jquery-rails", "~> 3.1.4"
gem "coderay", "~> 1.1.1"
gem "request_store", "1.0.5"
gem "mime-types", (RUBY_VERSION >= "2.0" ? "~> 3.0" : "~> 2.99")
gem "protected_attributes"
gem "actionpack-xml_parser"
gem "roadie-rails", "~> 1.1.1"
gem "roadie", "~> 3.2.1"
gem "mimemagic"
gem "mail", "~> 2.6.4"
gem "nokogiri", (RUBY_VERSION >= "2.1" ? "~> 1.8.1" : "~> 1.6.8")
gem "i18n", "~> 0.7.0"
gem "ffi", "1.9.14", :platforms => :mingw if RUBY_VERSION < "2.0"
# Request at least rails-html-sanitizer 1.0.3 because of security advisories
gem "rails-html-sanitizer", ">= 1.0.3"
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
gem "rbpdf", "~> 1.19.3"
# Optional gem for LDAP authentication
group :ldap do
gem "net-ldap", "~> 0.12.0"
end
# Optional gem for OpenID authentication
group :openid do
gem "ruby-openid", "~> 2.3.0", :require => "openid"
gem "rack-openid"
end
platforms :mri, :mingw, :x64_mingw do
# Optional gem for exporting the gantt to a PNG file, not supported with jruby
group :rmagick do
gem "rmagick", ">= 2.14.0"
end
# Optional Markdown support, not for JRuby
group :markdown do
gem "redcarpet", "~> 3.4.0"
end
end
# Include database gems for the adapters found in the database
# configuration file
require 'erb'
require 'yaml'
# NixOS - manually added to ensure mysql and postgres will always be include
gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw]
gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
database_file = File.join(File.dirname(__FILE__), "config/database.yml")
if File.exist?(database_file)
database_config = YAML::load(ERB.new(IO.read(database_file)).result)
adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
if adapters.any?
adapters.each do |adapter|
case adapter
when 'mysql2'
gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw]
when /postgresql/
gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
when /sqlite3/
gem "sqlite3", (RUBY_VERSION < "2.0" && RUBY_PLATFORM =~ /mingw/ ? "1.3.12" : "~>1.3.12"),
:platforms => [:mri, :mingw, :x64_mingw]
when /sqlserver/
gem "tiny_tds", (RUBY_VERSION >= "2.0" ? "~> 1.0.5" : "~> 0.7.0"), :platforms => [:mri, :mingw, :x64_mingw]
gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw, :x64_mingw]
else
warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems")
end
end
else
warn("No adapter found in config/database.yml, please configure it first")
end
else
warn("Please configure your config/database.yml first")
end
# NixOS - manually removed because I couldn't figure out how to get "bundle exec rails server webrick -e production" to ignore these groups
#group :development do
# gem "rdoc", "~> 4.3"
# gem "yard"
#end
#group :test do
# gem "minitest"
# gem "rails-dom-testing"
# gem "mocha"
# gem "simplecov", "~> 0.9.1", :require => false
# # TODO: remove this after upgrading to Rails 5
# gem "test_after_commit", "~> 0.4.2"
# # For running UI tests
# gem "capybara"
# gem "selenium-webdriver", "~> 2.53.4"
#end
local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
if File.exists?(local_gemfile)
eval_gemfile local_gemfile
end
# Load plugins' Gemfiles
Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
eval_gemfile file
end

View File

@ -1,152 +1,162 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actionmailer (3.2.19) actionmailer (4.2.8)
actionpack (= 3.2.19) actionpack (= 4.2.8)
mail (~> 2.5.4) actionview (= 4.2.8)
actionpack (3.2.19) activejob (= 4.2.8)
activemodel (= 3.2.19) mail (~> 2.5, >= 2.5.4)
activesupport (= 3.2.19) rails-dom-testing (~> 1.0, >= 1.0.5)
builder (~> 3.0.0) actionpack (4.2.8)
actionview (= 4.2.8)
activesupport (= 4.2.8)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionpack-xml_parser (1.0.2)
actionpack (>= 4.0.0, < 5)
actionview (4.2.8)
activesupport (= 4.2.8)
builder (~> 3.1)
erubis (~> 2.7.0) erubis (~> 2.7.0)
journey (~> 1.0.4) rails-dom-testing (~> 1.0, >= 1.0.5)
rack (~> 1.4.5) rails-html-sanitizer (~> 1.0, >= 1.0.3)
rack-cache (~> 1.2) activejob (4.2.8)
rack-test (~> 0.6.1) activesupport (= 4.2.8)
sprockets (~> 2.2.1) globalid (>= 0.3.0)
activemodel (3.2.19) activemodel (4.2.8)
activesupport (= 3.2.19) activesupport (= 4.2.8)
builder (~> 3.0.0) builder (~> 3.1)
activerecord (3.2.19) activerecord (4.2.8)
activemodel (= 3.2.19) activemodel (= 4.2.8)
activesupport (= 3.2.19) activesupport (= 4.2.8)
arel (~> 3.0.2) arel (~> 6.0)
tzinfo (~> 0.3.29) activesupport (4.2.8)
activeresource (3.2.19) i18n (~> 0.7)
activemodel (= 3.2.19) minitest (~> 5.1)
activesupport (= 3.2.19) thread_safe (~> 0.3, >= 0.3.4)
activesupport (3.2.19) tzinfo (~> 1.1)
i18n (~> 0.6, >= 0.6.4) addressable (2.5.2)
multi_json (~> 1.0) public_suffix (>= 2.0.2, < 4.0)
arel (3.0.3) arel (6.0.4)
awesome_nested_set (2.1.6) builder (3.2.3)
activerecord (>= 3.0.0) coderay (1.1.2)
builder (3.0.0) concurrent-ruby (1.0.5)
capybara (2.1.0) crass (1.0.4)
mime-types (>= 1.16) css_parser (1.6.0)
nokogiri (>= 1.3.3) addressable
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
childprocess (0.5.5)
ffi (~> 1.0, >= 1.0.11)
coderay (1.1.0)
erubis (2.7.0) erubis (2.7.0)
fastercsv (1.5.5) globalid (0.4.1)
ffi (1.9.5) activesupport (>= 4.2.0)
hike (1.2.3) htmlentities (4.3.4)
i18n (0.6.11) i18n (0.7.0)
journey (1.0.4) jquery-rails (3.1.5)
jquery-rails (2.0.3) railties (>= 3.0, < 5.0)
railties (>= 3.1.0, < 5.0) thor (>= 0.14, < 2.0)
thor (~> 0.14) loofah (2.2.2)
json (1.8.3) crass (~> 1.0.2)
mail (2.5.4) nokogiri (>= 1.5.9)
mime-types (~> 1.16) mail (2.6.6)
treetop (~> 1.4.8) mime-types (>= 1.16, < 4)
metaclass (0.0.4) mime-types (3.2.2)
mime-types (1.25.1) mime-types-data (~> 3.2015)
mini_portile (0.6.0) mime-types-data (3.2018.0812)
mocha (1.0.0) mimemagic (0.3.2)
metaclass (~> 0.0.1) mini_portile2 (2.3.0)
multi_json (1.10.1) minitest (5.11.3)
net-ldap (0.3.1) mysql2 (0.4.10)
nokogiri (1.6.3.1) net-ldap (0.12.1)
mini_portile (= 0.6.0) nokogiri (1.8.4)
pg (0.17.1) mini_portile2 (~> 2.3.0)
polyglot (0.3.5) pg (0.18.4)
rack (1.4.5) protected_attributes (1.1.4)
rack-cache (1.2) activemodel (>= 4.0.1, < 5.0)
rack (>= 0.4) public_suffix (3.0.3)
rack (1.6.10)
rack-openid (1.4.2) rack-openid (1.4.2)
rack (>= 1.1.0) rack (>= 1.1.0)
ruby-openid (>= 2.1.8) ruby-openid (>= 2.1.8)
rack-ssl (1.3.4) rack-test (0.6.3)
rack
rack-test (0.6.2)
rack (>= 1.0) rack (>= 1.0)
rails (3.2.19) rails (4.2.8)
actionmailer (= 3.2.19) actionmailer (= 4.2.8)
actionpack (= 3.2.19) actionpack (= 4.2.8)
activerecord (= 3.2.19) actionview (= 4.2.8)
activeresource (= 3.2.19) activejob (= 4.2.8)
activesupport (= 3.2.19) activemodel (= 4.2.8)
bundler (~> 1.0) activerecord (= 4.2.8)
railties (= 3.2.19) activesupport (= 4.2.8)
railties (3.2.19) bundler (>= 1.3.0, < 2.0)
actionpack (= 3.2.19) railties (= 4.2.8)
activesupport (= 3.2.19) sprockets-rails
rack-ssl (~> 1.3.2) rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.9)
activesupport (>= 4.2.0, < 5.0)
nokogiri (~> 1.6)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.4)
loofah (~> 2.2, >= 2.2.2)
railties (4.2.8)
actionpack (= 4.2.8)
activesupport (= 4.2.8)
rake (>= 0.8.7) rake (>= 0.8.7)
rdoc (~> 3.4) thor (>= 0.18.1, < 2.0)
thor (>= 0.14.6, < 2.0) rake (12.3.1)
rake (10.1.1) rbpdf (1.19.5)
rdoc (3.12.2) htmlentities
json (~> 1.4) rbpdf-font (~> 1.19.0)
redcarpet (2.3.0) rbpdf-font (1.19.1)
rmagick (2.13.3) redcarpet (3.4.0)
request_store (1.0.5)
rmagick (2.16.0)
roadie (3.2.2)
css_parser (~> 1.4)
nokogiri (~> 1.5)
roadie-rails (1.1.1)
railties (>= 3.0, < 5.1)
roadie (~> 3.1)
ruby-openid (2.3.0) ruby-openid (2.3.0)
rubyzip (1.1.6) sprockets (3.7.2)
selenium-webdriver (2.43.0) concurrent-ruby (~> 1.0)
childprocess (~> 0.5) rack (> 1, < 3)
multi_json (~> 1.0) sprockets-rails (3.2.1)
rubyzip (~> 1.0) actionpack (>= 4.0)
websocket (~> 1.0) activesupport (>= 4.0)
shoulda (3.3.2) sprockets (>= 3.0.0)
shoulda-context (~> 1.0.1) thor (0.20.0)
shoulda-matchers (~> 1.4.1) thread_safe (0.3.6)
shoulda-context (1.0.2) tzinfo (1.2.5)
shoulda-matchers (1.4.1) thread_safe (~> 0.1)
activesupport (>= 3.0.0)
sprockets (2.2.2)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
thor (0.19.1)
tilt (1.4.1)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.41)
websocket (1.2.1)
xpath (2.0.0)
nokogiri (~> 1.3)
yard (0.8.7.4)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
activerecord-jdbc-adapter (~> 1.3.2) actionpack-xml_parser
activerecord-jdbcpostgresql-adapter coderay (~> 1.1.1)
awesome_nested_set (= 2.1.6) i18n (~> 0.7.0)
builder (= 3.0.0) jquery-rails (~> 3.1.4)
capybara (~> 2.1.0) mail (~> 2.6.4)
coderay (~> 1.1.0) mime-types (~> 3.0)
fastercsv (~> 1.5.0) mimemagic
jquery-rails (~> 2.0.2) mysql2 (~> 0.4.6)
mime-types net-ldap (~> 0.12.0)
mocha (~> 1.0.0) nokogiri (~> 1.8.1)
net-ldap (~> 0.3.1) pg (~> 0.18.1)
pg (>= 0.11.0) protected_attributes
rack-openid rack-openid
rails (= 3.2.19) rails (= 4.2.8)
rake (~> 10.1.1) rails-html-sanitizer (>= 1.0.3)
rdoc (>= 2.4.2) rbpdf (~> 1.19.3)
redcarpet (~> 2.3.0) redcarpet (~> 3.4.0)
rmagick (>= 2.0.0) request_store (= 1.0.5)
rmagick (>= 2.14.0)
roadie (~> 3.2.1)
roadie-rails (~> 1.1.1)
ruby-openid (~> 2.3.0) ruby-openid (~> 2.3.0)
selenium-webdriver tzinfo-data
shoulda (~> 3.3.2)
yard BUNDLED WITH
1.16.1

View File

@ -1,332 +0,0 @@
[
{
name = "actionmailer";
hash = "cd9f0b22f755b0adeae13cf949adaf63fa1c068c72d0a100572c6a11aecd3ba7";
url = "http://rubygems.org/downloads/actionmailer-3.2.19.gem";
version = "3.2.19";
}
{
name = "actionpack";
hash = "c58ca2342aff2062f4f478551ce46d81918ac93200bc62d099764d2cd7499fcd";
url = "http://rubygems.org/downloads/actionpack-3.2.19.gem";
version = "3.2.19";
}
{
name = "activemodel";
hash = "4ea3abf790eca9ee8228e9e2a465350e258294270a639b63f0e1dfad236fe70e";
url = "http://rubygems.org/downloads/activemodel-3.2.19.gem";
version = "3.2.19";
}
{
name = "activerecord";
hash = "052945ad510744aaa3e35a817a6f515a2316e7dd96df6460f75b36067bb60372";
url = "http://rubygems.org/downloads/activerecord-3.2.19.gem";
version = "3.2.19";
}
{
name = "activeresource";
hash = "8617d24537ca937cc67aac46aaa29782510d66136605426d0a23a3585a839daf";
url = "http://rubygems.org/downloads/activeresource-3.2.19.gem";
version = "3.2.19";
}
{
name = "activesupport";
hash = "2c837a59250da14b12a6b0cfb6774f0afae90aa749fd96ad4347344d8417ad3d";
url = "http://rubygems.org/downloads/activesupport-3.2.19.gem";
version = "3.2.19";
}
{
name = "arel";
hash = "c0006e2169deee3b8cc2d258296388822eeb2db59832450b9b7316e1387d0da4";
url = "http://rubygems.org/downloads/arel-3.0.3.gem";
version = "3.0.3";
}
{
name = "awesome_nested_set";
hash = "0dcd801aea5048f5ab907b62b4174b6763b191eaa4e1e11bb83f996f01349af8";
url = "http://rubygems.org/downloads/awesome_nested_set-2.1.6.gem";
version = "2.1.6";
}
{
name = "builder";
hash = "fbd3e15e5de02245f7d649b3415b2c2875cdc9a14dccde89aa30fc14a314618e";
url = "http://rubygems.org/downloads/builder-3.0.0.gem";
version = "3.0.0";
}
{
name = "capybara";
hash = "a9a19f8d6bb2dfcb1f05ea3e1727cb556d1cba0d234d1712b481e8d4f7bbb91e";
url = "http://rubygems.org/downloads/capybara-2.1.0.gem";
version = "2.1.0";
}
{
name = "childprocess";
hash = "9b583295a11932d2eeffa1e8f5b8fb2fb0064a2f0111ad98c3b752b94f80bf33";
url = "http://rubygems.org/downloads/childprocess-0.5.5.gem";
version = "0.5.5";
}
{
name = "coderay";
hash = "5a943c59e36f7ef9dd2677855735656413af02e3f302431e9c548aabe89f3c15";
url = "http://rubygems.org/downloads/coderay-1.1.0.gem";
version = "1.1.0";
}
{
name = "erubis";
hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba";
url = "http://rubygems.org/downloads/erubis-2.7.0.gem";
version = "2.7.0";
}
{
name = "fastercsv";
hash = "d098199e62e4e10eec436a9ea9b8c189dacd5c06f2825f00d1e0f1c29fdbc3b5";
url = "http://rubygems.org/downloads/fastercsv-1.5.5.gem";
version = "1.5.5";
}
{
name = "ffi";
hash = "0d2ef90163eef8545689e8dfc27fb1245a2d82e3500d587de1e38290629e662f";
url = "http://rubygems.org/downloads/ffi-1.9.5.gem";
version = "1.9.5";
}
{
name = "hike";
hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44";
url = "http://rubygems.org/downloads/hike-1.2.3.gem";
version = "1.2.3";
}
{
name = "i18n";
hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b";
url = "http://rubygems.org/downloads/i18n-0.6.11.gem";
version = "0.6.11";
}
{
name = "journey";
hash = "7454b8612530784000fbb17ea2df749a71b70702a0ac8ebef4a1e7f05aecc10f";
url = "http://rubygems.org/downloads/journey-1.0.4.gem";
version = "1.0.4";
}
{
name = "jquery-rails";
hash = "cc4eab342fb3b1fcbb2fc1c9a61b09ecd86d795b1f74d607994b0bc6fd5ef444";
url = "http://rubygems.org/downloads/jquery-rails-2.0.3.gem";
version = "2.0.3";
}
{
name = "json";
hash = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
url = "http://rubygems.org/downloads/json-1.8.3.gem";
version = "1.8.3";
}
{
name = "mail";
hash = "446585c38b062121252688dcc9cc70af1f470822e30db021bb97d185969e257c";
url = "http://rubygems.org/downloads/mail-2.5.4.gem";
version = "2.5.4";
}
{
name = "metaclass";
hash = "8569685c902108b1845be4e5794d646f2a8adcb0280d7651b600dab0844fe942";
url = "http://rubygems.org/downloads/metaclass-0.0.4.gem";
version = "0.0.4";
}
{
name = "mime-types";
hash = "88ef3c596481678710ffd4018fa40f1999b02d97babea39682ba7d5badd21f56";
url = "http://rubygems.org/downloads/mime-types-1.25.1.gem";
version = "1.25.1";
}
{
name = "mini_portile";
hash = "762b3e241362de24b2eb2bb1b98638399b931e9e51bece5f8e2df7611eb16c26";
url = "http://rubygems.org/downloads/mini_portile-0.6.0.gem";
version = "0.6.0";
}
{
name = "mocha";
hash = "788fd93c8009a7e0eebd155509953e5987f4681902aad666a294283baa09899a";
url = "http://rubygems.org/downloads/mocha-1.0.0.gem";
version = "1.0.0";
}
{
name = "multi_json";
hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2";
url = "http://rubygems.org/downloads/multi_json-1.10.1.gem";
version = "1.10.1";
}
{
name = "net-ldap";
hash = "953551665fb0d398740a72a26314c6d34bd70fa35419c96dc58351f17d9a5081";
url = "http://rubygems.org/downloads/net-ldap-0.3.1.gem";
version = "0.3.1";
}
{
name = "nokogiri";
hash = "91761a654439406b5bed71adf6092d49829e26332b4c0e7c8a23a2e628442585";
url = "http://rubygems.org/downloads/nokogiri-1.6.3.1.gem";
version = "1.6.3.1";
}
{
name = "pg";
hash = "e7933e8f7f184c28e820ed85ddfb3ad8a13933b2b2ab8656aa8f81cb0aa610a6";
url = "http://rubygems.org/downloads/pg-0.17.1.gem";
version = "0.17.1";
}
{
name = "polyglot";
hash = "59d66ef5e3c166431c39cb8b7c1d02af419051352f27912f6a43981b3def16af";
url = "http://rubygems.org/downloads/polyglot-0.3.5.gem";
version = "0.3.5";
}
{
name = "rack";
hash = "f7bf3faa8e09a2ff26475372de36a724e7470d6bdc33d189a0ec34b49605f308";
url = "http://rubygems.org/downloads/rack-1.4.5.gem";
version = "1.4.5";
}
{
name = "rack-cache";
hash = "02bfed05f8b3266db804f2fa445801636ca2c6d211a3137ec796f88af5756e1c";
url = "http://rubygems.org/downloads/rack-cache-1.2.gem";
version = "1.2";
}
{
name = "rack-openid";
hash = "8cd2305e738463a7da98791f9ac4df4cf3f6ed27908d982350430694ac2fe869";
url = "http://rubygems.org/downloads/rack-openid-1.4.2.gem";
version = "1.4.2";
}
{
name = "rack-ssl";
hash = "d703764fa2a0d44a2163d6add65be89f5dba4477d1959b90d3727682a9c37dcf";
url = "http://rubygems.org/downloads/rack-ssl-1.3.4.gem";
version = "1.3.4";
}
{
name = "rack-test";
hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306";
url = "http://rubygems.org/downloads/rack-test-0.6.2.gem";
version = "0.6.2";
}
{
name = "rails";
hash = "33b64cf78dfcf3206d961ce03e8fe6d260081da696e60da39d0b2a4a160fe22b";
url = "http://rubygems.org/downloads/rails-3.2.19.gem";
version = "3.2.19";
}
{
name = "railties";
hash = "c569009ee5c005190d208ac228087fdc094b10c6f0cf209f1d12c552b447cc10";
url = "http://rubygems.org/downloads/railties-3.2.19.gem";
version = "3.2.19";
}
{
name = "rake";
hash = "85e446590871dd3469c80dfe70a0296c20b76a9006af6b728c1f47d0b460412d";
url = "http://rubygems.org/downloads/rake-10.1.1.gem";
version = "10.1.1";
}
{
name = "rdoc";
hash = "a8e2b78f7e5ec4cc4716cd863975645f2f2377dc6db267a15e427e5fae2633ed";
url = "http://rubygems.org/downloads/rdoc-3.12.2.gem";
version = "3.12.2";
}
{
name = "redcarpet";
hash = "5c9bcc307fba97ff5a25eec74f08365c17e929d2a5c707db32d6fc99ec81f0b9";
url = "http://rubygems.org/downloads/redcarpet-2.3.0.gem";
version = "2.3.0";
}
{
name = "rmagick";
hash = "109f3b8be90afdea9abbdd2a79a955cd808b5cad65d937ed12676da22870d3b4";
url = "http://rubygems.org/downloads/rmagick-2.13.3.gem";
version = "2.13.3";
}
{
name = "ruby-openid";
hash = "f69ed004e95f7094e23bfd8bc9ebfb1dc88a7b46637252ca2907a1189870ea7b";
url = "http://rubygems.org/downloads/ruby-openid-2.3.0.gem";
version = "2.3.0";
}
{
name = "rubyzip";
hash = "a996435ee9698be6a09d3748f4d23ee15aaf45cbfef1749def165af6ea3c0a9e";
url = "http://rubygems.org/downloads/rubyzip-1.1.6.gem";
version = "1.1.6";
}
{
name = "selenium-webdriver";
hash = "09fe4374d1541cb45403ad1238c2d88129f3afb985218635af087a06c99a521a";
url = "http://rubygems.org/downloads/selenium-webdriver-2.43.0.gem";
version = "2.43.0";
}
{
name = "shoulda";
hash = "52e70b71cbfb7c01dace14e268a62d86c21ddd1e5ec0116c8b1e632d8e04e412";
url = "http://rubygems.org/downloads/shoulda-3.3.2.gem";
version = "3.3.2";
}
{
name = "shoulda-context";
hash = "ee5559aa13248c70fdec6868a3c144adf7438c904c59d1a76b04a002e5151de5";
url = "http://rubygems.org/downloads/shoulda-context-1.0.2.gem";
version = "1.0.2";
}
{
name = "shoulda-matchers";
hash = "c35693cbfa84213212dffbc2c87487427ef364927340151329a842f0a06086b9";
url = "http://rubygems.org/downloads/shoulda-matchers-1.4.1.gem";
version = "1.4.1";
}
{
name = "sprockets";
hash = "fae893b7e86e83c1936f6f2a64db3550510f86eabdd5fa9f0f23fb25d7e0cf96";
url = "http://rubygems.org/downloads/sprockets-2.2.2.gem";
version = "2.2.2";
}
{
name = "thor";
hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522";
url = "http://rubygems.org/downloads/thor-0.19.1.gem";
version = "0.19.1";
}
{
name = "tilt";
hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903";
url = "http://rubygems.org/downloads/tilt-1.4.1.gem";
version = "1.4.1";
}
{
name = "treetop";
hash = "ffa68f201c0f62c26b0a1d13233d73194400596964696843f87ebb5d812f12ff";
url = "http://rubygems.org/downloads/treetop-1.4.15.gem";
version = "1.4.15";
}
{
name = "tzinfo";
hash = "381b22fd1744a35d0a0239f563f505773681e626e6d900063b14cb9b1b68e98c";
url = "http://rubygems.org/downloads/tzinfo-0.3.41.gem";
version = "0.3.41";
}
{
name = "websocket";
hash = "e626c8c3e8593735d900265fb1fc3439fd06b394069860177d8f40733b12ae9e";
url = "http://rubygems.org/downloads/websocket-1.2.1.gem";
version = "1.2.1";
}
{
name = "xpath";
hash = "9ca4a1cc88d9ab16c591468cce7b5d00ee06a8a76b841f8438970c7a44c86c12";
url = "http://rubygems.org/downloads/xpath-2.0.0.gem";
version = "2.0.0";
}
{
name = "yard";
hash = "e65a26f9b9dc6e2aa9b1d1d2e1a45bee3edf540a6a7e6c30fa6aa1df7f7a29b4";
url = "http://rubygems.org/downloads/yard-0.8.7.4.gem";
version = "0.8.7.4";
}
]

View File

@ -1,6 +0,0 @@
to regenerate Gemfile.nix and Gemfile.lock you need to
% nix-build bootstrap.nix
% cp result/Gemfile.nix ./
% cp result/Gemfile.lock ./

View File

@ -1,47 +0,0 @@
{ pkgs ? import <nixpkgs> {}
}:
with pkgs;
let
in stdenv.mkDerivation rec {
version = "2.5.2";
name = "redmine-${version}";
__noChroot = true;
src = fetchurl {
url = "http://www.redmine.org/releases/${name}.tar.gz";
sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
ruby bundler libiconv libxslt libxml2
libffi imagemagickBig postgresql which stdenv
];
installPhase = ''
unset http_proxy
unset ftp_proxy
cp -R . $out
cp ${./generate_nix_requirements.rb} $out/generate_nix_requirements.rb
cd $out
cat > config/database.yml <<EOF
production:
adapter: postgresql
EOF
bundle config --local build.nokogiri --use-system-libraries \
--with-iconv-dir=${libiconv} \
--with-xslt-dir=${libxslt.out} \
--with-xml2-dir=${libxml2.out} \
--with-pkg-config \
--with-pg-config=${postgresql}/bin/pg_config
bundle install --verbose --without development test rmagick --path /tmp/redmine-${version}
HOME="/tmp/redmine-${version}" ruby generate_nix_requirements.rb
rm -R /tmp/gems
'';
}

View File

@ -1,74 +1,42 @@
{ stdenv, fetchurl, ruby, bundler, libiconv, libxslt, libxml2, pkgconfig, libffi, imagemagickBig, postgresql }: { stdenv, fetchurl, bundlerEnv, ruby }:
let let
gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile.nix); version = "3.4.6";
in stdenv.mkDerivation rec { rubyEnv = bundlerEnv {
version = "2.5.2"; name = "redmine-env-${version}";
name = "redmine-${version}";
src = fetchurl { inherit ruby;
url = "https://www.redmine.org/releases/${name}.tar.gz"; gemdir = ./.;
sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
}; };
in
stdenv.mkDerivation rec {
name = "redmine-${version}";
hardeningDisable = [ "format" ]; src = fetchurl {
url = "https://www.redmine.org/releases/${name}.tar.gz";
sha256 = "15akq6pn42w7cf7dg45xmvw06fixck1qznp7s8ix7nyxlmcyvcg3";
};
# taken from redmine (2.5.1-2~bpo70+3) in debian wheezy-backports buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
# needed to separate run-time and build-time directories
patches = [
./2002_FHS_through_env_vars.patch
./2004_FHS_plugins_assets.patch
./2003_externalize_session_config.patch
];
postPatch = '' buildPhase = ''
substituteInPlace lib/redmine/plugin.rb --replace "File.join(Rails.root, 'plugins')" "ENV['RAILS_PLUGINS']" mv config config.dist
substituteInPlace lib/redmine/plugin.rb --replace "File.join(Rails.root, 'plugins', id.to_s, 'db', 'migrate')" "File.join(ENV['RAILS_PLUGINS'], id.to_s, 'db', 'migrate')" '';
substituteInPlace config/routes.rb --replace '"plugins/*", Rails.root' 'ENV["RAILS_PLUGINS"] + "/*"'
'';
buildInputs = [ installPhase = ''
ruby bundler libiconv mkdir -p $out/share
libxslt libxml2 pkgconfig libffi cp -r . $out/share/redmine
imagemagickBig postgresql
];
installPhase = '' for i in config files log plugins tmp; do
mkdir -p $out/share/redmine/ rm -rf $out/share/redmine/$i
cp -R . $out/share/redmine/ ln -fs /run/redmine/$i $out/share/redmine/
cd $out/share/redmine done
ln -s ${./Gemfile.lock} Gemfile.lock '';
export HOME=$(pwd)
cat > config/database.yml <<EOF meta = with stdenv.lib; {
production: homepage = http://www.redmine.org/;
adapter: postgresql platforms = platforms.linux;
EOF maintainers = [ maintainers.garbas ];
license = licenses.gpl2;
mkdir -p vendor/cache };
${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)} }
bundle config build.nokogiri --use-system-libraries --with-iconv-dir="${libiconv}" --with-xslt-dir="${libxslt.dev}" --with-xml2-dir="${libxml2.dev}"
bundle install --verbose --local --deployment
# make sure we always load pg package
echo "gem \"pg\"" >> Gemfile
# make rails server happy
mkdir -p tmp/pids
# cleanup
rm config/database.yml
'';
meta = with stdenv.lib; {
homepage = http://www.redmine.org/;
platforms = platforms.linux;
maintainers = [ maintainers.garbas ];
license = licenses.gpl2;
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
};
}

Some files were not shown because too many files have changed in this diff Show More