Merge remote-tracking branch 'origin/master' into staging
This commit is contained in:
commit
379fc894de
|
@ -15,13 +15,17 @@ stdenv.mkDerivation {
|
|||
buildPhase = "ant";
|
||||
}
|
||||
</programlisting>
|
||||
Note that <varname>jdk</varname> is an alias for the OpenJDK.
|
||||
</para>
|
||||
Note that <varname>jdk</varname> is an alias for the OpenJDK (self-built
|
||||
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>
|
||||
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
|
||||
that adds any JARs in the <filename>share/java</filename> directories of the
|
||||
in <filename>$out/share/java</filename>. JDKs have a stdenv setup hook
|
||||
that add any JARs in the <filename>share/java</filename> directories of the
|
||||
build inputs to the <envar>CLASSPATH</envar> environment variable. For
|
||||
instance, if the package <literal>libfoo</literal> installs a JAR named
|
||||
<filename>foo.jar</filename> in its <filename>share/java</filename>
|
||||
|
@ -57,7 +61,18 @@ installPhase =
|
|||
<literal>${jre}/bin/java</literal> instead of
|
||||
<literal>${jdk}/bin/java</literal>, you prevent your package from depending
|
||||
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>
|
||||
It is possible to use a different Java compiler than <command>javac</command>
|
||||
|
|
|
@ -195,9 +195,10 @@ rec {
|
|||
let self = f self // {
|
||||
newScope = scope: newScope (self // scope);
|
||||
callPackage = self.newScope {};
|
||||
# TODO(@Ericson2314): Haromonize argument order of `g` with everything else
|
||||
overrideScope = g:
|
||||
makeScope newScope
|
||||
(self_: let super = f self_; in super // g super self_);
|
||||
(lib.fixedPoints.extends (lib.flip g) f);
|
||||
packages = f;
|
||||
};
|
||||
in self;
|
||||
|
|
|
@ -80,7 +80,7 @@ let
|
|||
inherit (strings) concatStrings concatMapStrings concatImapStrings
|
||||
intersperse concatStringsSep concatMapStringsSep
|
||||
concatImapStringsSep makeSearchPath makeSearchPathOutput
|
||||
makeLibraryPath makeBinPath makePerlPath optionalString
|
||||
makeLibraryPath makeBinPath makePerlPath makeFullPerlPath optionalString
|
||||
hasPrefix hasSuffix stringToCharacters stringAsChars escape
|
||||
escapeShellArg escapeShellArgs replaceChars lowerChars
|
||||
upperChars toLower toUpper addContextFrom splitString
|
||||
|
|
|
@ -654,6 +654,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
|||
fullName = "wxWindows Library Licence, Version 3.1";
|
||||
};
|
||||
|
||||
xfig = {
|
||||
fullName = "xfig";
|
||||
url = "http://mcj.sourceforge.net/authors.html#xfig";
|
||||
};
|
||||
|
||||
zlib = spdx {
|
||||
spdxId = "Zlib";
|
||||
fullName = "zlib License";
|
||||
|
|
|
@ -126,6 +126,15 @@ rec {
|
|||
*/
|
||||
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
|
||||
or the empty string. Useful to concatenate against a bigger string.
|
||||
|
||||
|
|
|
@ -673,6 +673,11 @@
|
|||
github = "changlinli";
|
||||
name = "Changlin Li";
|
||||
};
|
||||
CharlesHD = {
|
||||
email = "charleshdespointes@gmail.com";
|
||||
github = "CharlesHD";
|
||||
name = "Charles Huyghues-Despointes";
|
||||
};
|
||||
chaoflow = {
|
||||
email = "flo@chaoflow.net";
|
||||
github = "chaoflow";
|
||||
|
@ -1590,6 +1595,11 @@
|
|||
github = "havvy";
|
||||
name = "Ryan Scheel";
|
||||
};
|
||||
hax404 = {
|
||||
email = "hax404foogit@hax404.de";
|
||||
github = "hax404";
|
||||
name = "Georg Haas";
|
||||
};
|
||||
hbunke = {
|
||||
email = "bunke.hendrik@gmail.com";
|
||||
github = "hbunke";
|
||||
|
@ -1935,6 +1945,11 @@
|
|||
github = "jonafato";
|
||||
name = "Jon Banafato";
|
||||
};
|
||||
jonathanreeve = {
|
||||
email = "jon.reeve@gmail.com";
|
||||
github = "JonathanReeve";
|
||||
name = "Jonathan Reeve";
|
||||
};
|
||||
joncojonathan = {
|
||||
email = "joncojonathan@gmail.com";
|
||||
github = "joncojonathan";
|
||||
|
|
|
@ -326,10 +326,9 @@ Retype new UNIX password: ***
|
|||
</screen>
|
||||
<note>
|
||||
<para>
|
||||
To prevent the password prompt, set
|
||||
<code><xref linkend="opt-users.mutableUsers"/> = false;</code> in
|
||||
<filename>configuration.nix</filename>, which allows unattended
|
||||
installation necessary in automation.
|
||||
For unattended installations, it is possible to use
|
||||
<command>nixos-install --no-root-passwd</command>
|
||||
in order to disable the password prompt entirely.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
|
|
|
@ -6,16 +6,19 @@
|
|||
, storePaths
|
||||
, volumeLabel
|
||||
, uuid ? "44444444-4444-4444-8888-888888888888"
|
||||
, e2fsprogs
|
||||
, libfaketime
|
||||
, perl
|
||||
}:
|
||||
|
||||
let
|
||||
sdClosureInfo = pkgs.closureInfo { rootPaths = storePaths; };
|
||||
sdClosureInfo = pkgs.buildPackages.closureInfo { rootPaths = storePaths; };
|
||||
in
|
||||
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "ext4-fs.img";
|
||||
|
||||
nativeBuildInputs = with pkgs; [e2fsprogs.bin libfaketime perl];
|
||||
nativeBuildInputs = [e2fsprogs.bin libfaketime perl];
|
||||
|
||||
buildCommand =
|
||||
''
|
||||
|
|
|
@ -12,13 +12,12 @@
|
|||
with lib;
|
||||
|
||||
let
|
||||
rootfsImage = import ../../../lib/make-ext4-fs.nix {
|
||||
inherit pkgs;
|
||||
rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({
|
||||
inherit (config.sdImage) storePaths;
|
||||
volumeLabel = "NIXOS_SD";
|
||||
} // optionalAttrs (config.sdImage.rootPartitionUUID != null) {
|
||||
uuid = config.sdImage.rootPartitionUUID;
|
||||
};
|
||||
});
|
||||
in
|
||||
{
|
||||
options.sdImage = {
|
||||
|
@ -94,10 +93,10 @@ in
|
|||
|
||||
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;
|
||||
|
||||
buildInputs = with pkgs; [ dosfstools e2fsprogs mtools libfaketime utillinux ];
|
||||
nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux ];
|
||||
|
||||
buildCommand = ''
|
||||
mkdir -p $out/nix-support $out/sd-image
|
||||
|
@ -138,7 +137,7 @@ in
|
|||
(cd boot; mcopy -bpsvm -i ../bootpart.img ./* ::)
|
||||
dd conv=notrunc if=bootpart.img of=$img seek=$START count=$SECTORS
|
||||
'';
|
||||
};
|
||||
}) {};
|
||||
|
||||
boot.postBootCommands = ''
|
||||
# On the first boot do some maintenance tasks
|
||||
|
|
|
@ -28,7 +28,7 @@ with lib;
|
|||
++ (if pkgs.stdenv.system == "aarch64-linux"
|
||||
then []
|
||||
else [ pkgs.grub2 pkgs.syslinux ]);
|
||||
system.boot.loader.kernelFile = pkgs.stdenv.platform.kernelTarget;
|
||||
system.boot.loader.kernelFile = pkgs.stdenv.hostPlatform.platform.kernelTarget;
|
||||
|
||||
fileSystems."/" =
|
||||
{ fsType = "tmpfs";
|
||||
|
@ -86,7 +86,7 @@ with lib;
|
|||
|
||||
system.build.netbootIpxeScript = pkgs.writeTextDir "netboot.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
|
||||
boot
|
||||
'';
|
||||
|
|
|
@ -18,6 +18,16 @@ let
|
|||
(boolFlag "secure" cfg.secure)
|
||||
(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
|
||||
{
|
||||
options = {
|
||||
|
@ -124,10 +134,10 @@ in
|
|||
|
||||
serviceConfig = {
|
||||
User = "terraria";
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
Type = "forking";
|
||||
GuessMainPID = true;
|
||||
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 = ''
|
||||
|
|
|
@ -6,16 +6,30 @@ let
|
|||
cfg = config.services.thermald;
|
||||
in {
|
||||
###### interface
|
||||
options = {
|
||||
services.thermald = {
|
||||
options = {
|
||||
services.thermald = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
description = ''
|
||||
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
|
||||
config = mkIf cfg.enable {
|
||||
|
@ -24,7 +38,15 @@ in {
|
|||
systemd.services.thermald = {
|
||||
description = "Thermal Daemon Service";
|
||||
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
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ in
|
|||
};
|
||||
|
||||
maxJobs = mkOption {
|
||||
type = types.int;
|
||||
type = types.either types.int (types.enum ["auto"]);
|
||||
default = 1;
|
||||
example = 64;
|
||||
description = ''
|
||||
|
|
|
@ -1,121 +1,124 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
# TODO: support non-postgresql
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.redmine;
|
||||
|
||||
ruby = pkgs.ruby;
|
||||
bundle = "${pkgs.redmine}/share/redmine/bin/bundle";
|
||||
|
||||
databaseYml = ''
|
||||
databaseYml = pkgs.writeText "database.yml" ''
|
||||
production:
|
||||
adapter: postgresql
|
||||
database: ${cfg.databaseName}
|
||||
host: ${cfg.databaseHost}
|
||||
password: ${cfg.databasePassword}
|
||||
username: ${cfg.databaseUsername}
|
||||
encoding: utf8
|
||||
adapter: ${cfg.database.type}
|
||||
database: ${cfg.database.name}
|
||||
host: ${cfg.database.host}
|
||||
port: ${toString cfg.database.port}
|
||||
username: ${cfg.database.user}
|
||||
password: #dbpass#
|
||||
'';
|
||||
|
||||
configurationYml = ''
|
||||
configurationYml = pkgs.writeText "configuration.yml" ''
|
||||
default:
|
||||
# Absolute path to the directory where attachments are stored.
|
||||
# The default is the 'files' directory in your Redmine instance.
|
||||
# Your Redmine instance needs to have write permission on this
|
||||
# directory.
|
||||
# Examples:
|
||||
# attachments_storage_path: /var/redmine/files
|
||||
# attachments_storage_path: D:/redmine/files
|
||||
attachments_storage_path: ${cfg.stateDir}/files
|
||||
scm_subversion_command: ${pkgs.subversion}/bin/svn
|
||||
scm_mercurial_command: ${pkgs.mercurial}/bin/hg
|
||||
scm_git_command: ${pkgs.gitAndTools.git}/bin/git
|
||||
scm_cvs_command: ${pkgs.cvs}/bin/cvs
|
||||
scm_bazaar_command: ${pkgs.bazaar}/bin/bzr
|
||||
scm_darcs_command: ${pkgs.darcs}/bin/darcs
|
||||
|
||||
# Absolute path to the SCM commands errors (stderr) log file.
|
||||
# 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}
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
unpackTheme = unpack "theme";
|
||||
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 {
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
services.redmine = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable the redmine service.
|
||||
'';
|
||||
description = "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 {
|
||||
type = types.str;
|
||||
default = "/var/redmine";
|
||||
description = "The state directory, logs and plugins are stored here";
|
||||
default = "/var/lib/redmine";
|
||||
description = "The state directory, logs and plugins are stored here.";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
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 {
|
||||
type = types.attrsOf types.path;
|
||||
default = {};
|
||||
description = "Set of themes";
|
||||
};
|
||||
database = {
|
||||
type = mkOption {
|
||||
type = types.enum [ "mysql2" "postgresql" ];
|
||||
example = "postgresql";
|
||||
default = "mysql2";
|
||||
description = "Database engine to use.";
|
||||
};
|
||||
|
||||
plugins = mkOption {
|
||||
type = types.attrsOf types.path;
|
||||
default = {};
|
||||
description = "Set of plugins";
|
||||
};
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = "Database host address.";
|
||||
};
|
||||
|
||||
#databaseType = mkOption {
|
||||
# type = types.str;
|
||||
# default = "postgresql";
|
||||
# description = "Type of database";
|
||||
#};
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 3306;
|
||||
description = "Database host port.";
|
||||
};
|
||||
|
||||
databaseHost = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = "Database hostname";
|
||||
};
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
default = "redmine";
|
||||
description = "Database name.";
|
||||
};
|
||||
|
||||
databasePassword = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Database user password";
|
||||
};
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "redmine";
|
||||
description = "Database user.";
|
||||
};
|
||||
|
||||
databaseName = mkOption {
|
||||
type = types.str;
|
||||
default = "redmine";
|
||||
description = "Database name";
|
||||
};
|
||||
password = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
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 {
|
||||
type = types.str;
|
||||
default = "redmine";
|
||||
description = "Database user";
|
||||
passwordFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
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 {
|
||||
|
||||
assertions = [
|
||||
{ assertion = cfg.databasePassword != "";
|
||||
message = "services.redmine.databasePassword must be set";
|
||||
{ assertion = cfg.database.passwordFile != null || cfg.database.password != "";
|
||||
message = "either services.redmine.database.passwordFile or services.redmine.database.password must be set";
|
||||
}
|
||||
];
|
||||
|
||||
users.users = [
|
||||
{ name = "redmine";
|
||||
group = "redmine";
|
||||
uid = config.ids.uids.redmine;
|
||||
} ];
|
||||
|
||||
users.groups = [
|
||||
{ name = "redmine";
|
||||
gid = config.ids.gids.redmine;
|
||||
} ];
|
||||
environment.systemPackages = [ pkgs.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" ];
|
||||
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.RAILS_ENV = "production";
|
||||
environment.RAILS_CACHE = "${cfg.stateDir}/cache";
|
||||
environment.REDMINE_LANG = "en";
|
||||
environment.GEM_HOME = "${pkgs.redmine}/share/redmine/vendor/bundle/ruby/1.9.1";
|
||||
environment.GEM_PATH = "${pkgs.bundler}/${pkgs.bundler.ruby.gemPath}";
|
||||
environment.SCHEMA = "${cfg.stateDir}/cache/schema.db";
|
||||
path = with pkgs; [
|
||||
imagemagickBig
|
||||
subversion
|
||||
mercurial
|
||||
cvs
|
||||
config.services.postgresql.package
|
||||
bazaar
|
||||
cvs
|
||||
darcs
|
||||
gitAndTools.git
|
||||
# once we build binaries for darc enable it
|
||||
#darcs
|
||||
mercurial
|
||||
subversion
|
||||
];
|
||||
preStart = ''
|
||||
# TODO: use env vars
|
||||
for i in plugins public/plugin_assets db files log config cache var/files tmp; do
|
||||
# start with a fresh config directory every time
|
||||
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
|
||||
ln -fs ${cfg.stateDir}/$i /run/redmine/$i
|
||||
done
|
||||
|
||||
chown -R redmine:redmine ${cfg.stateDir}
|
||||
chmod -R 755 ${cfg.stateDir}
|
||||
# ensure cache directory exists for db:migrate command
|
||||
mkdir -p ${cfg.stateDir}/cache
|
||||
|
||||
rm -rf ${cfg.stateDir}/public/*
|
||||
cp -R ${pkgs.redmine}/share/redmine/public/* ${cfg.stateDir}/public/
|
||||
for theme in ${concatStringsSep " " (mapAttrsToList unpackTheme cfg.themes)}; do
|
||||
ln -fs $theme/* ${cfg.stateDir}/public/themes/
|
||||
done
|
||||
# link in the application configuration
|
||||
ln -fs ${configurationYml} ${cfg.stateDir}/config/configuration.yml
|
||||
|
||||
rm -rf ${cfg.stateDir}/plugins/*
|
||||
for plugin in ${concatStringsSep " " (mapAttrsToList unpackPlugin cfg.plugins)}; do
|
||||
ln -fs $plugin/* ${cfg.stateDir}/plugins/''${plugin##*-redmine-plugin-}
|
||||
done
|
||||
chmod -R ug+rwX,o-rwx+x ${cfg.stateDir}/
|
||||
|
||||
ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.stateDir}/config/database.yml
|
||||
ln -fs ${pkgs.writeText "configuration.yml" configurationYml} ${cfg.stateDir}/config/configuration.yml
|
||||
# handle database.passwordFile
|
||||
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
|
||||
if ! test -e "${cfg.stateDir}/db-created"; then
|
||||
psql postgres -c "CREATE ROLE redmine WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${cfg.databasePassword}'"
|
||||
${config.services.postgresql.package}/bin/createdb --owner redmine redmine || true
|
||||
touch "${cfg.stateDir}/db-created"
|
||||
fi
|
||||
# generate a secret token if required
|
||||
if ! test -e "${cfg.stateDir}/config/initializers/secret_token.rb"; then
|
||||
${bundle} exec rake generate_secret_token
|
||||
chmod 440 ${cfg.stateDir}/config/initializers/secret_token.rb
|
||||
fi
|
||||
|
||||
cd ${pkgs.redmine}/share/redmine/
|
||||
${ruby}/bin/rake db:migrate
|
||||
${ruby}/bin/rake redmine:plugins:migrate
|
||||
${ruby}/bin/rake redmine:load_default_data
|
||||
${ruby}/bin/rake generate_secret_token
|
||||
# ensure everything is owned by ${cfg.user}
|
||||
chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir}
|
||||
|
||||
${bundle} exec rake db:migrate
|
||||
${bundle} exec rake redmine:load_default_data
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
PermissionsStartOnly = true; # preStart must be run as root
|
||||
Type = "simple";
|
||||
User = "redmine";
|
||||
Group = "redmine";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
TimeoutSec = "300";
|
||||
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;
|
||||
})));
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ let
|
|||
|
||||
ln -s ${kernelPath} $out/kernel
|
||||
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
|
||||
''}
|
||||
|
||||
|
@ -74,7 +74,7 @@ let
|
|||
echo -n "$configurationName" > $out/configuration-name
|
||||
echo -n "systemd ${toString config.systemd.package.interfaceVersion}" > $out/init-interface-version
|
||||
echo -n "$nixosLabel" > $out/nixos-version
|
||||
echo -n "$system" > $out/system
|
||||
echo -n "${pkgs.stdenv.hostPlatform.system}" > $out/system
|
||||
|
||||
mkdir $out/fine-tune
|
||||
childCount=0
|
||||
|
@ -175,7 +175,7 @@ in
|
|||
|
||||
system.boot.loader.kernelFile = mkOption {
|
||||
internal = true;
|
||||
default = pkgs.stdenv.platform.kernelTarget;
|
||||
default = pkgs.stdenv.hostPlatform.platform.kernelTarget;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Name of the kernel file to be passed to the bootloader.
|
||||
|
|
|
@ -13,7 +13,7 @@ let
|
|||
};
|
||||
|
||||
# Temporary check, for nixos to cope both with nixpkgs stdenv-updates and trunk
|
||||
platform = pkgs.stdenv.platform;
|
||||
inherit (pkgs.stdenv.hostPlatform) platform;
|
||||
|
||||
in
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ let
|
|||
inherit configTxt;
|
||||
};
|
||||
|
||||
platform = pkgs.stdenv.platform;
|
||||
inherit (pkgs.stdenv.hostPlatform) platform;
|
||||
|
||||
builderUboot = import ./builder_uboot.nix { inherit config; inherit pkgs; inherit configTxt; };
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ let
|
|||
in
|
||||
tarball //
|
||||
{ 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;
|
||||
};
|
||||
inherit config;
|
||||
|
@ -106,7 +106,7 @@ let
|
|||
let
|
||||
configEvaled = import lib/eval-config.nix config;
|
||||
build = configEvaled.config.system.build;
|
||||
kernelTarget = configEvaled.pkgs.stdenv.platform.kernelTarget;
|
||||
kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.platform.kernelTarget;
|
||||
in
|
||||
pkgs.symlinkJoin {
|
||||
name = "netboot";
|
||||
|
|
|
@ -2,7 +2,8 @@ import ./make-test.nix ({ pkgs, ... }:
|
|||
|
||||
let
|
||||
configDir = "/var/lib/foobar";
|
||||
apiPassword = "secret";
|
||||
apiPassword = "some_secret";
|
||||
mqttPassword = "another_secret";
|
||||
|
||||
in {
|
||||
name = "home-assistant";
|
||||
|
@ -33,7 +34,9 @@ in {
|
|||
};
|
||||
frontend = { };
|
||||
http.api_password = apiPassword;
|
||||
mqtt = { }; # Use hbmqtt as broker
|
||||
mqtt = { # Use hbmqtt as broker
|
||||
password = mqttPassword;
|
||||
};
|
||||
binary_sensor = [
|
||||
{
|
||||
platform = "mqtt";
|
||||
|
@ -62,7 +65,7 @@ in {
|
|||
|
||||
# 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->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\"'");
|
||||
|
||||
# Print log to ease debugging
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.9.14";
|
||||
version = "0.9.15";
|
||||
name = "drumgizmo-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
|
||||
sha256 = "1q2jghjz0ygaja8dgvxp914if8yyzpa204amdcwb9yyinpxsahz4";
|
||||
sha256 = "13bgqyw74pq3ss63zd9bjmgr4dah792pcphyqmr7bnvrgfjr6bx6";
|
||||
};
|
||||
|
||||
configureFlags = [ "--enable-lv2" ];
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.0.17";
|
||||
version = "4.0.18";
|
||||
pname = "fldigi";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${name}.tar.gz";
|
||||
sha256 = "1z8w0dxfc2nm1iy1vv18s5s88ys9vvbqawjvhsymxj56jqjzzp4q";
|
||||
sha256 = "0a3z9xj9gsa6fskiai9410kwqfb6156km59y36a31mhyddzk27p7";
|
||||
};
|
||||
|
||||
buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
{ stdenv, fetchurl, readline, patchelf, ncurses, qt48, libidn, expat, flac
|
||||
, libvorbis }:
|
||||
{ stdenv, fetchurl
|
||||
, 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 {
|
||||
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";
|
||||
name = "${product}-${version}";
|
||||
|
||||
|
@ -16,37 +13,58 @@ stdenv.mkDerivation rec {
|
|||
# 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.
|
||||
|
||||
src = if stdenv.system == "x86_64-linux"
|
||||
then fetchurl {
|
||||
url = archUrl name "amd64";
|
||||
sha256 = "54f97f449136e173492d36084f2c01244b84f02d6e223fb8a40661093e0bec7c";
|
||||
}
|
||||
else fetchurl {
|
||||
url = archUrl name "i386";
|
||||
sha256 = "121a7939015e2270afa3f1c73554102e2b4f2e6a31482ff7be5e7c28dd101d3c";
|
||||
};
|
||||
src = fetchurl {
|
||||
url = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/${name}_amd64.deb";
|
||||
sha256 = "0yaprpbp44var88kdj1h11fqkhgcklixr69jyia49v9m22529gg2";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
ar vx ${src}
|
||||
tar -xvf data.tar.lzma
|
||||
tar xvf data.tar.xz
|
||||
tar xvf control.tar.gz
|
||||
'';
|
||||
|
||||
buildInputs = [ patchelf ];
|
||||
|
||||
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
|
||||
prePatch = ''
|
||||
sed -i "s@\(Exec=\).*@\1$out/bin/google-musicmanager@" opt/google/musicmanager/google-musicmanager.desktop
|
||||
'';
|
||||
|
||||
dontPatchELF = true;
|
||||
dontStrip = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out"
|
||||
cp -r opt "$out"
|
||||
mkdir "$out/bin"
|
||||
ln -s "$out/opt/google/musicmanager/google-musicmanager" "$out/bin"
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/lib
|
||||
mkdir -p $out/share/applications
|
||||
|
||||
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; {
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ir.lv2-${version}";
|
||||
version = "1.2.3";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tomszilagyi";
|
||||
repo = "ir.lv2";
|
||||
rev = "${version}";
|
||||
sha256 = "16vy06qb0vgwg4yx15grzh5m2q3cbzm3jd0p37g2qb8rgvjhladg";
|
||||
sha256 = "1p6makmgr898fakdxzl4agh48qqwgv1k1kwm8cgq187n0mhiknp6";
|
||||
};
|
||||
|
||||
buildInputs = [ fftw gtk2 lv2 libsamplerate libsndfile zita-convolver ];
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
|||
mkdir "$out/include"
|
||||
mkdir -p "$out/share/doc"
|
||||
|
||||
make PREFIX="$out" install
|
||||
make PREFIX="$out" INSTDIR="$out/lib/lv2" install
|
||||
install -Dm755 convert4chan "$out/bin/convert4chan"
|
||||
'';
|
||||
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "musescore-${version}";
|
||||
version = "2.3.1";
|
||||
version = "2.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "musescore";
|
||||
repo = "MuseScore";
|
||||
rev = "v${version}";
|
||||
sha256 = "00inrw9g8g34g74bhg5gp0rr5nydhjraiyn7vpl7kaqi5yzmhawd";
|
||||
sha256 = "0ncv0xfmq87plqa43cm0fpidlwzz1nq5s7h7139llrbc36yp3pr1";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ stdenv, fetchurl, pkgconfig, qt5, alsaLib, libjack2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.5.1";
|
||||
version = "0.5.2";
|
||||
name = "qmidinet-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qmidinet/${name}.tar.gz";
|
||||
sha256 = "1cvz8y63vdqfpxh7lq5qadqjcyhahbyq0py0qz6xrmpk5sxvy7ml";
|
||||
sha256 = "0y2w3rymvc35r291sp2qaxn36wjwvxzk2iaw9y30q9fqc0vlpdns";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20180803";
|
||||
version = "20180812";
|
||||
name = "x42-plugins-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gareus.org/misc/x42-plugins/${name}.tar.xz";
|
||||
sha256 = "1v7p6vnkcbzyvmcysabhmn603cndzx9mwzaw5dppy4wd687vhgis";
|
||||
sha256 = "0gzwzxpa2k2w9c6j3pspwi9slfyd57wb192d6yqcg92pfmnxy9dz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
|
@ -18,9 +18,9 @@ let
|
|||
sha256Hash = "016nyn1pqviy089hg0dq7m4cqb39fdxdcy4zknkaq7dmgv1dj6x9";
|
||||
};
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.3.0.4"; # "Android Studio 3.3 Canary 5"
|
||||
build = "182.4928781";
|
||||
sha256Hash = "110gh5ylgf1p8z0rdnvc6clkq3v721v6pjvll66a8v4zgz9ay8b4";
|
||||
version = "3.3.0.5"; # "Android Studio 3.3 Canary 6"
|
||||
build = "182.4954005";
|
||||
sha256Hash = "0b8ias75f3p5nrmgp7iqz4n4r4dbwhgagqmyc1fqfd36wbglyaf4";
|
||||
};
|
||||
in rec {
|
||||
# Old alias
|
||||
|
|
|
@ -202,6 +202,12 @@ self:
|
|||
# missing OCaml
|
||||
utop = markBroken super.utop;
|
||||
|
||||
vdiff-magit =
|
||||
(super.vdiff-magit.overrideAttrs (attrs: {
|
||||
nativeBuildInputs =
|
||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||
}));
|
||||
|
||||
# upstream issue: missing file header
|
||||
voca-builder = markBroken super.voca-builder;
|
||||
|
||||
|
|
|
@ -194,6 +194,12 @@ self:
|
|||
# missing OCaml
|
||||
utop = markBroken super.utop;
|
||||
|
||||
vdiff-magit =
|
||||
(super.vdiff-magit.overrideAttrs (attrs: {
|
||||
nativeBuildInputs =
|
||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||
}));
|
||||
|
||||
# upstream issue: missing file header
|
||||
voca-builder = markBroken super.voca-builder;
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
|
|||
- Plugin interface
|
||||
'';
|
||||
homepage = https://www.geany.org/;
|
||||
license = "GPL";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ runCommand, makeWrapper, geany, gnome2 }:
|
||||
let name = builtins.replaceStrings ["geany-"] ["geany-with-vte-"] geany.name;
|
||||
in
|
||||
runCommand "${name}" { nativeBuildInputs = [ makeWrapper ]; } "
|
||||
runCommand "${name}" { nativeBuildInputs = [ makeWrapper ]; inherit (geany.meta); } "
|
||||
mkdir -p $out
|
||||
ln -s ${geany}/share $out
|
||||
makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome2.vte}/lib
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghostwriter";
|
||||
version = "1.7.2";
|
||||
version = "1.7.3";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wereturtle";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1zhzibn4g79i98mjfqspf3iac2biz3r18jf29g0izq5snn7xj0fc";
|
||||
sha256 = "1xkxd59rw2dn6xphgcl06zzmfgs1zna2w0pxrk0f49ywffvkvs72";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake pkgconfig ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey, libiconv
|
||||
{ stdenv, fetchFromGitHub, cmake, gettext, msgpack, libtermkey, libiconv
|
||||
, libuv, luaPackages, ncurses, pkgconfig
|
||||
, unibilium, xsel, gperf
|
||||
, libvterm-neovim
|
||||
|
@ -25,7 +25,7 @@ let
|
|||
buildInputs = [
|
||||
libtermkey
|
||||
libuv
|
||||
libmsgpack
|
||||
msgpack
|
||||
ncurses
|
||||
libvterm-neovim
|
||||
unibilium
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchFromGitHub, cmake, doxygen, makeWrapper
|
||||
, libmsgpack, neovim, pythonPackages, qtbase }:
|
||||
, msgpack, neovim, pythonPackages, qtbase }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "neovim-qt-${version}";
|
||||
|
@ -13,12 +13,11 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DMSGPACK_INCLUDE_DIRS=${libmsgpack}/include"
|
||||
"-DMSGPACK_LIBRARIES=${libmsgpack}/lib/libmsgpackc.so"
|
||||
"-DUSE_SYSTEM_MSGPACK=1"
|
||||
];
|
||||
|
||||
buildInputs = with pythonPackages; [
|
||||
neovim qtbase libmsgpack
|
||||
neovim qtbase msgpack
|
||||
] ++ (with pythonPackages; [
|
||||
jinja2 msgpack python
|
||||
]);
|
||||
|
@ -28,13 +27,12 @@ stdenv.mkDerivation rec {
|
|||
enableParallelBuilding = true;
|
||||
|
||||
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
|
||||
# the GUI tests will never work but the others should - they did before neovim 0.2.0
|
||||
# was released
|
||||
sed -i test/CMakeLists.txt \
|
||||
-e '/^add_xtest_gui/d' \
|
||||
-e '/tst_neovimobject/d' \
|
||||
-e '/tst_neovimconnector/d' \
|
||||
-e '/tst_callallmethods/d' \
|
||||
-e '/tst_encoding/d'
|
||||
|
@ -42,7 +40,14 @@ stdenv.mkDerivation rec {
|
|||
|
||||
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" \
|
||||
--prefix PATH : "${neovim}/bin"
|
||||
'';
|
||||
|
|
|
@ -4,16 +4,16 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "okteta-${version}";
|
||||
version = "17.12.3";
|
||||
version = "0.25.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/applications/${version}/src/${name}.tar.xz";
|
||||
sha256 = "03wsv83l1cay2dpcsksad124wzan7kh8zxdw1h0yicn398kdbck4";
|
||||
url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz";
|
||||
sha256 = "00mw8gdqvn6vn6ir6kqnp7xi3lpn6iyp4f5aknxwq6mdcxgjmh1p";
|
||||
};
|
||||
|
||||
|
||||
nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];
|
||||
buildInputs = [ shared-mime-info ];
|
||||
|
||||
|
||||
propagatedBuildInputs = [
|
||||
kconfig
|
||||
kinit
|
||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||
karchive
|
||||
kcrash
|
||||
];
|
||||
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ peterhoeg bkchr ];
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ stdenv, lib, fetchurl, unzip, atomEnv, makeDesktopItem,
|
||||
gtk2, makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
|
||||
gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }:
|
||||
|
||||
let
|
||||
version = "1.26.0";
|
||||
version = "1.26.1";
|
||||
channel = "stable";
|
||||
|
||||
plat = {
|
||||
|
@ -12,9 +12,9 @@ let
|
|||
}.${stdenv.system};
|
||||
|
||||
sha256 = {
|
||||
"i686-linux" = "fd150bee8e1be4f5461013b8fee19f855200d046643e4ea5387aad170ad5f12b";
|
||||
"x86_64-linux" = "618ca429e23777ef6b512c0cbd78bc711a7cf6f58752d9f805ced1dc62abb8f0";
|
||||
"x86_64-darwin" = "07c2d678596e4e1f0bdf35b7d72a6d46851bf169d89f134fa73ff4f9007efbc3";
|
||||
"i686-linux" = "1g7kqbz6mrf8ngx2bnwpi9fifq5rjznxgsgwjb532z3nh92ypa8n";
|
||||
"x86_64-linux" = "02yldycakn5zxj1ji4nmhdyazqlkjqpzdj3g8j501c3j28pgiwjy";
|
||||
"x86_64-darwin" = "0pnsfkh20mj7pzqw7wlfd98jqc6a1mnsq1iira15n7fafqgj8zpl";
|
||||
}.${stdenv.system};
|
||||
|
||||
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"
|
||||
then [ unzip makeWrapper libXScrnSaver libsecret ]
|
||||
else [ makeWrapper libXScrnSaver libxkbfile libsecret ];
|
||||
then [ unzip libXScrnSaver libsecret ]
|
||||
else [ wrapGAppsHook libXScrnSaver libxkbfile libsecret ];
|
||||
|
||||
installPhase =
|
||||
if stdenv.system == "x86_64-darwin" then ''
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "avocode-${version}";
|
||||
version = "3.2.0";
|
||||
version = "3.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
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; [
|
||||
|
|
|
@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
CC=${stdenv.cc.targetPrefix}cc
|
||||
CXX=${stdenv.cc.targetPrefix}c++
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ stdenv openexr libpng12 libjpeg ];
|
||||
|
||||
|
|
25
pkgs/applications/graphics/fig2dev/default.nix
Normal file
25
pkgs/applications/graphics/fig2dev/default.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
|
|
@ -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
|
||||
, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info
|
||||
, python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2
|
||||
|
@ -9,14 +9,14 @@ let
|
|||
inherit (python2Packages) pygtk wrapPython python;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "gimp-${version}";
|
||||
version = "2.10.4";
|
||||
version = "2.10.6";
|
||||
|
||||
src = fetchurl {
|
||||
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
|
||||
buildInputs = [
|
||||
babl gegl gtk2 glib gdk_pixbuf pango cairo gexiv2 harfbuzz isocodes
|
||||
|
|
|
@ -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
|
|
@ -1,47 +1,42 @@
|
|||
{ stdenv, fetchurl, makeWrapper, imake
|
||||
, xlibsWrapper, libXpm, libXmu, libXi, libXp, Xaw3d, libpng, libjpeg}:
|
||||
{ stdenv, fetchurl, xlibsWrapper, makeWrapper, libXpm
|
||||
, libXmu, libXi, libXp, Xaw3d, fig2dev
|
||||
}:
|
||||
|
||||
let version = "3.2.5b"; in
|
||||
stdenv.mkDerivation {
|
||||
let
|
||||
version = "3.2.7a";
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = "xfig-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/mcj/xfig.${version}.full.tar.gz";
|
||||
sha256 = "1hl5x49sgc0vap411whhcq6qhvh4xbjg7jggv7ih9pplg5nwy0aw";
|
||||
url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
|
||||
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 =
|
||||
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";
|
||||
})
|
||||
];
|
||||
buildInputs = [ xlibsWrapper libXpm libXmu libXi libXp Xaw3d ];
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "An interactive drawing tool for X11";
|
||||
homepage = http://xfig.org;
|
||||
platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
|
||||
longDescription = ''
|
||||
Note that you need to have the <literal>netpbm</literal> tools
|
||||
in your path to export bitmaps.
|
||||
'';
|
||||
inherit (fig2dev.meta) license homepage platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -77,6 +77,7 @@ let
|
|||
calendarsupport = callPackage ./calendarsupport.nix {};
|
||||
dolphin = callPackage ./dolphin.nix {};
|
||||
dolphin-plugins = callPackage ./dolphin-plugins.nix {};
|
||||
dragon = callPackage ./dragon.nix {};
|
||||
eventviews = callPackage ./eventviews.nix {};
|
||||
ffmpegthumbs = callPackage ./ffmpegthumbs.nix { };
|
||||
filelight = callPackage ./filelight.nix {};
|
||||
|
|
25
pkgs/applications/kde/dragon.nix
Normal file
25
pkgs/applications/kde/dragon.nix
Normal 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" ];
|
||||
}
|
|
@ -1,28 +1,23 @@
|
|||
{ stdenv, python3, fetchFromGitHub, fetchpatch }:
|
||||
|
||||
with python3.pkgs; buildPythonApplication rec {
|
||||
version = "3.7";
|
||||
version = "3.8";
|
||||
pname = "buku";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jarun";
|
||||
repo = "buku";
|
||||
rev = "v${version}";
|
||||
sha256 = "0qc6xkrhf2phaj9fhym19blr4rr2vllvnyljjz909xr4vsynvb41";
|
||||
};
|
||||
|
||||
patches = fetchpatch {
|
||||
url = https://github.com/jarun/Buku/commit/495d6eac4d9371e8ce6d3f601e2bb9e5e74962b4.patch;
|
||||
sha256 = "0py4l5qcgdzqr0iqmcc8ddld1bspk8iwypz4dcr88y70j86588gk";
|
||||
sha256 = "0gv26c4rr1akcaiff1nrwil03sv7d58mfxr86pgsw6nwld67ns0r";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
pytestcov
|
||||
pytest-catchlog
|
||||
hypothesis
|
||||
pytest
|
||||
pylint
|
||||
flake8
|
||||
pyyaml
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -30,6 +25,14 @@ with python3.pkgs; buildPythonApplication rec {
|
|||
beautifulsoup4
|
||||
requests
|
||||
urllib3
|
||||
flask
|
||||
flask-api
|
||||
flask-bootstrap
|
||||
flask-paginate
|
||||
flask_wtf
|
||||
arrow
|
||||
werkzeug
|
||||
click
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
|
@ -43,7 +46,7 @@ with python3.pkgs; buildPythonApplication rec {
|
|||
--replace "self.assertEqual(url, 'https://www.google.com')" ""
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
postInstall = ''
|
||||
make install PREFIX=$out
|
||||
|
||||
mkdir -p $out/share/zsh/site-functions $out/share/bash-completion/completions $out/share/fish/vendor_completions.d
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "chirp-daily-${version}";
|
||||
version = "20180707";
|
||||
version = "20180815";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
|
||||
sha256 = "09siq74k0ss65ssck7i7h515dxp7fhdz5klc3y0yp9wajn706ic3";
|
||||
sha256 = "0z3jh9sbszs8x0xjmkgxa3b1xnw3w9b13pml4i5apx3mj171npyv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
61
pkgs/applications/misc/dozenal/default.nix
Normal file
61
pkgs/applications/misc/dozenal/default.nix
Normal 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;
|
||||
};
|
||||
}
|
16
pkgs/applications/misc/dozenal/lua-header.patch
Normal file
16
pkgs/applications/misc/dozenal/lua-header.patch
Normal 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);
|
|
@ -7,7 +7,7 @@
|
|||
let
|
||||
inherit (pythonPackages) python buildPythonApplication;
|
||||
in buildPythonApplication rec {
|
||||
version = "4.2.8";
|
||||
version = "5.0.0";
|
||||
name = "gramps-${version}";
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
|
@ -20,7 +20,7 @@ in buildPythonApplication rec {
|
|||
owner = "gramps-project";
|
||||
repo = "gramps";
|
||||
rev = "v${version}";
|
||||
sha256 = "17y6rjvvcz7lwjck4f5nmhnn07i9k5vzk5dp1jk7j3ldxjagscsd";
|
||||
sha256 = "056l4ihmd3gdsiv6wwv4ckgh8bfzd5nii6z4afsdn2nmjbj4hw9m";
|
||||
};
|
||||
|
||||
pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
|
||||
|
|
16
pkgs/applications/misc/hdate/default.nix
Normal file
16
pkgs/applications/misc/hdate/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoPackage rec {
|
||||
name = "hugo-${version}";
|
||||
version = "0.46";
|
||||
version = "0.47.1";
|
||||
|
||||
goPackagePath = "github.com/gohugoio/hugo";
|
||||
|
||||
|
@ -10,7 +10,7 @@ buildGoPackage rec {
|
|||
owner = "gohugoio";
|
||||
repo = "hugo";
|
||||
rev = "v${version}";
|
||||
sha256 = "0w5xkb6s03hprb4v151gdk8zzsgvy0i406363j1w03bic8ajwgmj";
|
||||
sha256 = "0n27vyg66jfx4lwswsmdlybly8c9gy5rk7yhy7wzs3rwzlqv1jzj";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
|
64
pkgs/applications/misc/hugo/deps.nix
generated
64
pkgs/applications/misc/hugo/deps.nix
generated
|
@ -14,8 +14,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/BurntSushi/toml";
|
||||
rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
|
||||
sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
|
||||
rev = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005";
|
||||
sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -104,8 +104,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/disintegration/imaging";
|
||||
rev = "8021a62ea0dfe0ed2e6107f5ccd37e0d4a92a996";
|
||||
sha256 = "1c32sqfz78g9wxvpng8n9r404lf2lgjn9b24mg8y3rxylx29gks7";
|
||||
rev = "0bd5694c78c9c3d9a3cd06a706a8f3c59296a9ac";
|
||||
sha256 = "1laxccmzi7q51zxn81ringmdwp8iaipivrl375yc3gq56d70sp0r";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -140,8 +140,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/gobuffalo/envy";
|
||||
rev = "2d0f467653f3d961ce9ada4d32a230bdcb3bfe11";
|
||||
sha256 = "0p9raqrsqg2z1hq2kbvbq5qcwqihjqf28xnfh62214p7ak9b9x8n";
|
||||
rev = "3c96536452167a705ca5a70b831d3810e1e10452";
|
||||
sha256 = "0ixqpdmb7kjlarkv0qlbwnbr194sajx9flysnhcldzmciqgk5bqs";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -149,8 +149,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/gobwas/glob";
|
||||
rev = "f00a7392b43971b2fdb562418faab1f18da2067a";
|
||||
sha256 = "1b7jnb7rx99na25lkm9m9jr583mv7y0lwp57w58sv7ir9iiilx29";
|
||||
rev = "f756513aec94125582ee6c0dc94179251ef87370";
|
||||
sha256 = "1pyzlvb950864syf2safazv39s7rpi08r7x2vby82kj9ykqgvhc4";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -158,8 +158,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/gorilla/websocket";
|
||||
rev = "5ed622c449da6d44c3c8329331ff47a9e5844f71";
|
||||
sha256 = "1yhcwraijdk6lx7f6m9p6i1b3zfh2hq80l1nfpnckfn10gh72aw7";
|
||||
rev = "3ff3320c2a1756a3691521efc290b4701575147c";
|
||||
sha256 = "1b0kpix2qxv3qiiq739nk9fjh453if0mcpr9gmlizicdpjp5alw2";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -284,8 +284,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/nicksnyder/go-i18n";
|
||||
rev = "461e8b98df7454b4cb46a1611a6734f05ee331d0";
|
||||
sha256 = "0aq1q06y6azsi6mfmary5xs7gmmg8fh8lhx1wbpdlqk11asm9rq0";
|
||||
rev = "04f547cc50da4c144c5fdfd4495aef143637a236";
|
||||
sha256 = "1h4ndn822k7i04h9k5dxm6c29mhhhqhl63vzpmz2l1k0zpj7xyd1";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -311,8 +311,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/russross/blackfriday";
|
||||
rev = "11635eb403ff09dbc3a6b5a007ab5ab09151c229";
|
||||
sha256 = "14j8ibm6h9rydiwfp9b5c7rwhnx04yqyxv1a7p7rmfwyg4zd714n";
|
||||
rev = "46c73eb196baff5bb07288f245b223bd1a30fba6";
|
||||
sha256 = "01z1jsdkac09cw95lqq4pahkw9xnini2mb956lvb772bby2x3dmj";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -347,8 +347,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/spf13/cobra";
|
||||
rev = "7c4570c3ebeb8129a1f7456d0908a8b676b6f9f1";
|
||||
sha256 = "16amh0prlzqrrbg5j629sg0f688nfzfgn9sair8jyybqampr3wc7";
|
||||
rev = "ff0d02e8555041edecbd0ce27f32c6ea4b214483";
|
||||
sha256 = "1ilw6b2nir1bg7hmx8hrn60za37qqm18xvamv90fx5vxq85fsml9";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -365,8 +365,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/spf13/jwalterweatherman";
|
||||
rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394";
|
||||
sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h";
|
||||
rev = "14d3d4c518341bea657dd8a226f5121c0ff8c9f2";
|
||||
sha256 = "1f9154lijbz0kkgqwmbphykwl4adv4fvkx6n1p7fdq3x5j9g8i17";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -383,8 +383,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/spf13/pflag";
|
||||
rev = "3ebe029320b2676d667ae88da602a5f854788a8a";
|
||||
sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp";
|
||||
rev = "947b89bd1b7dabfed991ac30e1a56f5193f0c88b";
|
||||
sha256 = "0n4h5cb07n96fcw9k8dwnj6yisf2x357lsiwjmrq6xr1vkzdlk8c";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -392,8 +392,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/spf13/viper";
|
||||
rev = "d493c32b69b8c6f2377bf30bc4d70267ffbc0793";
|
||||
sha256 = "1jq46790rkjn6c1887wz98dqjk792ij6wnrifzk1maglmfb061hh";
|
||||
rev = "907c19d40d9a6c9bb55f040ff4ae45271a4754b9";
|
||||
sha256 = "177ziws6mwxdlvicmgpv7w7zy5ri2wgnw2f2v3789b5skv9d6a6b";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -401,8 +401,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/tdewolff/minify";
|
||||
rev = "cf3a1790b606e292e4a0ee82e949a4f0d1c7617d";
|
||||
sha256 = "1r496149l5iqzxkfcbll5dqcqxy4a7jjxvzm62c8hrybmwj574kn";
|
||||
rev = "948b6490cf3cacab5f4d7474104c3d21bf6eda46";
|
||||
sha256 = "1js5l0405kbic53qgim0lj3crw7cc2a2sbga35h9qcnm8l3cx22f";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -410,8 +410,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/tdewolff/parse";
|
||||
rev = "4ceb50b40fad068875f5b093c5df0619012dc544";
|
||||
sha256 = "1ap76hdiabn41r7zxc7nq3n3ld7zqf97jaf71zlzzjrphi3fwrg1";
|
||||
rev = "dd9676af8dd934a61082c5b3038e79626847fa32";
|
||||
sha256 = "1hp9qh8knx3q57aw5qavsf7ia3mxm8ka0bk6kjkqkqq8k9jq97qk";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -446,8 +446,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/net";
|
||||
rev = "f4c29de78a2a91c00474a2e689954305c350adf9";
|
||||
sha256 = "02nibjrr1il8sxnr0w1s5fj7gz6ayhg3hsywf948qhc68n5adv8x";
|
||||
rev = "922f4815f713f213882e8ef45e0d315b164d705c";
|
||||
sha256 = "1ci1rxk2d6hmfsjjc19n2sxhyn4jqr5ia3ykyah1h08p0pn7k52w";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -464,8 +464,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sys";
|
||||
rev = "3dc4335d56c789b04b0ba99b7a37249d9b614314";
|
||||
sha256 = "1105b7jqzz8g2bfkdbkj2pdzq4vhfmhm42khir88vjqfd1l7ha31";
|
||||
rev = "4ea2f632f6e912459fe60b26b1749377f0d889d5";
|
||||
sha256 = "16pdi4mmjlcrjdcz7k559jqnsvkhdmff68bbqq7ii1lp8vrpqqmy";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -473,8 +473,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/text";
|
||||
rev = "96e34ec0e18a62a1e59880c7bf617b655efecb66";
|
||||
sha256 = "1n1p5zz0vyvlhac40hxml6c5xwpsw8rjx1pbls9381a0s19ncbdg";
|
||||
rev = "6e3c4e7365ddcc329f090f96e4348398f6310088";
|
||||
sha256 = "1r511ncipn7sdlssn06fpzcpy4mp4spagni4ryxq86p2b0bi8pn4";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
version = "0.11.2";
|
||||
version = "0.11.3";
|
||||
name = "kitty-${version}";
|
||||
format = "other";
|
||||
|
||||
|
@ -15,7 +15,7 @@ buildPythonApplication rec {
|
|||
owner = "kovidgoyal";
|
||||
repo = "kitty";
|
||||
rev = "v${version}";
|
||||
sha256 = "0vmxgyxrgaqijwd51ldd8pkz7jn9hdcfib1dqr0ai614286v69hw";
|
||||
sha256 = "1fql8ayxvip8hgq9gy0dhqfvngv13gh5bf71vnc3agd80kzq1n73";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -81,6 +81,11 @@ stdenv.mkDerivation rec {
|
|||
cd ../../..
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
CC=${stdenv.cc.targetPrefix}cc
|
||||
CXX=${stdenv.cc.targetPrefix}c++
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--disable-static"
|
||||
"--disable-staticbins"
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
let
|
||||
pname = "krusader";
|
||||
version = "2.7.0";
|
||||
version = "2.7.1";
|
||||
in mkDerivation rec {
|
||||
name = "krusader-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/${pname}/${version}/${name}.tar.xz";
|
||||
sha256 = "09ws3samxnjk0qi9pcfm2rmw0nr5mzn9pzpljgrdb5qj7cmm4hcb";
|
||||
sha256 = "1svxj1qygyr3a4dkx0nh2d6r4q7pfj00brzghl94mf4q0rz4vhfm";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
54
pkgs/applications/misc/qsstv/default.nix
Normal file
54
pkgs/applications/misc/qsstv/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,23 +1,23 @@
|
|||
{ 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 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tilix-${version}";
|
||||
version = "1.8.1";
|
||||
version = "1.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnunn1";
|
||||
repo = "tilix";
|
||||
rev = "${version}";
|
||||
sha256 = "19dx3hlj40cqwph98pcifkm6axfszfr0v9k6sr3caw4ycml84ci1";
|
||||
sha256 = "05x2nyyb5w3122j90g0f7lh9jl7xi1nk176sl01vl2ks7zar00dq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook dmd desktop-file-utils perlPackages.Po4a pkgconfig xdg_utils
|
||||
wrapGAppsHook
|
||||
];
|
||||
buildInputs = [ gnome3.dconf gettext gsettings-desktop-schemas gtkd dbus ];
|
||||
buildInputs = [ gnome3.dconf gettext gsettings-desktop-schemas gtkd dbus libsecret ];
|
||||
|
||||
preBuild = ''
|
||||
makeFlagsArray=(
|
||||
|
@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
postInstall = with gnome3; ''
|
||||
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
|
||||
|
||||
wrapProgram $out/bin/tilix \
|
||||
--prefix LD_LIBRARY_PATH ":" "${libsecret}/lib"
|
||||
'';
|
||||
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
# This file is autogenerated from update.sh in the same directory.
|
||||
{
|
||||
beta = {
|
||||
sha256 = "193sz96jrygixgzkaxx1vrpkhmnr6c7yzhsvv4p1qn0jymh2xd57";
|
||||
sha256bin64 = "0wwmfsxbphxqfw4g6jgxlr0p32vjf4h8yfd5zz36xpa79dryb8sv";
|
||||
version = "68.0.3440.68";
|
||||
sha256 = "0w5k1446j45796vj8p6kv5cdrkrxyr7rh8d8vavplfldbvg36bdw";
|
||||
sha256bin64 = "0a7gmbcps3b85rhwgrvg41m9db2n3igwr4hncm7kcqnq5hr60v8s";
|
||||
version = "69.0.3497.32";
|
||||
};
|
||||
dev = {
|
||||
sha256 = "102lqnl2m9cbcql6sghib1504fyicx7cgv0jkfx863jpzhrfrkcv";
|
||||
sha256bin64 = "1y3iy25b3cck7kz5g913z64x1wdj1znqbn049g8h82x3krp76bgx";
|
||||
version = "69.0.3497.12";
|
||||
sha256 = "15gk2jbjv3iy4hg4xm1f66x5jqfqh9f98wfzrcsd5ix3ki3f9g3c";
|
||||
sha256bin64 = "1lir6q31dnjsbrz99bfx74r5j6f0c1a443ky1k0idbx6ysvr8nnm";
|
||||
version = "70.0.3521.2";
|
||||
};
|
||||
stable = {
|
||||
sha256 = "0hcmnn72xj9p3y77cb6cnr1vz81hiqmksdi6nw7xqfw5cwr7h5yw";
|
||||
sha256bin64 = "0pa49yxj9s41mzhik7jixr4hwqanf31yzr1fsc6y5hkadbj7rwij";
|
||||
version = "68.0.3440.75";
|
||||
sha256 = "1676y2axl5ihvv8jid2i9wp4i4awxzij5nwvd5zx98506l3088bh";
|
||||
sha256bin64 = "0d352maw1630g0hns3c0g0n95bp5iqh7nzs8bnv48kxz87snmpdj";
|
||||
version = "68.0.3440.106";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -135,7 +135,7 @@ stdenv.mkDerivation (rec {
|
|||
'' else ''
|
||||
make -f client.mk configure-files
|
||||
configureScript="$(realpath ./configure)"
|
||||
'') + ''
|
||||
'') + lib.optionalString (!isTorBrowserLike && lib.versionAtLeast version "53") ''
|
||||
export MOZCONFIG=$(pwd)/mozconfig
|
||||
|
||||
# Set C flags for Rust's bindgen program. Unlike ordinary C
|
||||
|
@ -184,8 +184,8 @@ stdenv.mkDerivation (rec {
|
|||
"--disable-maintenance-service"
|
||||
"--disable-gconf"
|
||||
"--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.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
|
||||
# on i686-linux: --with-libclang-path is not available in this configuration
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ callPackage, stdenv }:
|
||||
|
||||
let
|
||||
stableVersion = "2.1.7";
|
||||
stableVersion = "2.1.9";
|
||||
# Currently there is no preview version.
|
||||
previewVersion = stableVersion;
|
||||
addVersion = args:
|
||||
|
@ -10,8 +10,8 @@ let
|
|||
in args // { inherit version branch; };
|
||||
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
|
||||
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
|
||||
guiSrcHash = "10zf429zjzf7v4y9r7mmkp42kh5ppmqinhvwqzb7jmsrpv2cnxj6";
|
||||
serverSrcHash = "056swz6ygqdi37asah51v1yy0ky8q0p32vf7dxs697hd7nv78aqj";
|
||||
guiSrcHash = "0gpif6f7zqz2n8q3pkr8xv3fdc904hq69661w8f1fna360xvksd7";
|
||||
serverSrcHash = "1y19jzyyz0sjjxkrpgr6z10irb47v7d8khdvk5nzmgnjfxv875yx";
|
||||
in {
|
||||
guiStable = mkGui {
|
||||
stable = true;
|
||||
|
|
|
@ -4,6 +4,16 @@
|
|||
|
||||
let
|
||||
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
|
||||
(oldAttrs:
|
||||
rec {
|
||||
|
@ -13,6 +23,9 @@ let
|
|||
inherit pname version;
|
||||
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
|
||||
(oldAttrs:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake, libqmatrixclient }:
|
||||
{ stdenv, lib, fetchFromGitHub, fetchpatch, qtbase, qtquickcontrols, cmake, libqmatrixclient }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "quaternion-${version}";
|
||||
|
@ -11,10 +11,18 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0zrr4khbbdf5ziq65gi0cb1yb1d0y5rv18wld22w1x96f7fkmrib";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qtquickcontrols libqmatrixclient ];
|
||||
buildInputs = [ qtbase qtquickcontrols ];
|
||||
|
||||
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
|
||||
# https://github.com/QMatrixClient/Quaternion/issues/239
|
||||
postPatch = ''
|
||||
|
@ -22,7 +30,11 @@ stdenv.mkDerivation rec {
|
|||
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 \
|
||||
--replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
|
||||
'';
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
, speex
|
||||
, boost
|
||||
, opendht
|
||||
, libmsgpack
|
||||
, msgpack
|
||||
, gnutls
|
||||
, zlib
|
||||
, jsoncpp
|
||||
|
@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
|
|||
speex
|
||||
boost
|
||||
opendht
|
||||
libmsgpack
|
||||
msgpack
|
||||
gnutls
|
||||
zlib
|
||||
jsoncpp
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
let configFile = writeText "riot-config.json" conf; in
|
||||
stdenv.mkDerivation rec {
|
||||
name= "riot-web-${version}";
|
||||
version = "0.15.7";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
|
||||
sha256 = "09sa2qcmns4b9by3hzmyppc6fi3845vppkal2ylrf2vi9yczb2ch";
|
||||
sha256 = "1nl0ih5flhp57k96hv6nl5pzrm3r9piqmwzirz9nz8k9803mqp5m";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -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
|
||||
, gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, xorg }:
|
||||
, gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg }:
|
||||
|
||||
let
|
||||
|
||||
|
@ -68,7 +68,12 @@ in stdenv.mkDerivation {
|
|||
|
||||
inherit src;
|
||||
|
||||
buildInputs = [ dpkg makeWrapper ];
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
glib # For setup hook populating GSETTINGS_SCHEMA_PATH
|
||||
];
|
||||
|
||||
buildInputs = [ dpkg ];
|
||||
|
||||
unpackPhase = "true";
|
||||
installPhase = ''
|
||||
|
@ -78,6 +83,8 @@ in stdenv.mkDerivation {
|
|||
rm -rf $out/opt $out/usr
|
||||
rm $out/bin/skypeforlinux
|
||||
|
||||
ln -s "$out/share/skypeforlinux/skypeforlinux" "$out/bin/skypeforlinux"
|
||||
|
||||
# Otherwise it looks "suspicious"
|
||||
chmod -R g-w $out
|
||||
'';
|
||||
|
@ -88,8 +95,6 @@ in stdenv.mkDerivation {
|
|||
patchelf --set-rpath ${rpath}:$out/share/skypeforlinux $file || true
|
||||
done
|
||||
|
||||
ln -s "$out/share/skypeforlinux/skypeforlinux" "$out/bin/skypeforlinux"
|
||||
|
||||
# Fix the desktop link
|
||||
substituteInPlace $out/share/applications/skypeforlinux.desktop \
|
||||
--replace /usr/bin/ $out/bin/ \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, qmake, pkgconfig
|
||||
{ stdenv, fetchFromGitHub, qmake, pkgconfig, makeWrapper
|
||||
, qtbase, qttools, qtwebkit, sqlite
|
||||
}:
|
||||
|
||||
|
@ -13,9 +13,14 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0xav9qr8n6310636nfbgx4iix65fs3ya5rz2isxsf38bkjm7r3pa";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake pkgconfig ];
|
||||
nativeBuildInputs = [ qmake pkgconfig makeWrapper ];
|
||||
buildInputs = [ qtbase qttools qtwebkit sqlite.dev ];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/quiterss \
|
||||
--prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A Qt-based RSS/Atom news feed reader";
|
||||
longDescription = ''
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "owncloud-client-${version}";
|
||||
version = "2.4.2";
|
||||
version = "2.4.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
|
||||
sha256 = "0pxga45fi7iyayy278hgl8x099isz6d7x1jq57p2m9qlsvfx8ap5";
|
||||
sha256 = "1gz6xg1vm054ksrsakzfkzxgpskm0xkhsqwq0fj3i2kas09zzczk";
|
||||
};
|
||||
|
||||
patches = [ ./find-sql.patch ];
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.7.0";
|
||||
version = "6.7.1";
|
||||
name = "frostwire-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.noarch.tar.gz";
|
||||
sha256 = "1qvk4w2ly2nz3ibsd6qdxaqb3g1a3l9f5a15b5zpzhsziln1fbxf";
|
||||
sha256 = "1crhiksgky65wvb4fvqablsvixj04hbaacz23mskwrc63n4jaz0p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, pkgconfig
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig
|
||||
, boost, libtorrentRasterbar, qtbase, qttools, qtsvg
|
||||
, debugSupport ? false # Debugging
|
||||
, guiSupport ? true, dbus ? null # GUI (disable to run headless)
|
||||
|
@ -19,6 +19,14 @@ stdenv.mkDerivation rec {
|
|||
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
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
|
|
|
@ -9,13 +9,13 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "resilio-sync-${version}";
|
||||
version = "2.5.12";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
|
||||
sha256 = {
|
||||
"x86_64-linux" = "176gf5704wh22kqig8n0gg83048w71grw7h37k2qvxjaf4vypnc7";
|
||||
"i686-linux" = "15m2s2cqrkpb7ladbwimbs9agqb4ww9jr4gf0ifjwzm2grv5ffnh";
|
||||
"x86_64-linux" = "0041axi9carspkfaxvyirfvsa29zz55al01x90nh93nzxvpvywsz";
|
||||
"i686-linux" = "1ar36lp4f6a1z9i82g3gpak4q4ny09faqxdd59q1pvfzq25ypdhs";
|
||||
}.${stdenv.system};
|
||||
};
|
||||
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.2.3";
|
||||
version = "6.2.4";
|
||||
name = "seafile-client-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seafile-client";
|
||||
rev = "v${version}";
|
||||
sha256 = "1wdpz7vxhn9mcc7kxhrz9c5dwd492akirz351wfi4xxy5np6p6kp";
|
||||
sha256 = "0z5li1d7ipsm1mp0lk6mls220v4vlmsqm8ym8kxlkinqbmkky0hz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake makeWrapper ];
|
||||
|
|
|
@ -11,11 +11,6 @@ let
|
|||
else if stdenv.system == "x86_64-darwin" then "macos64"
|
||||
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 {
|
||||
name = "jameica";
|
||||
exec = "jameica";
|
||||
|
@ -56,24 +51,24 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
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
|
||||
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
|
||||
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 plugin.xml $out/libexec/
|
||||
install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/
|
||||
install -Dm644 plugin.xml $out/share/java/
|
||||
install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png
|
||||
cp ${desktopItem}/share/applications/* $out/share/applications/
|
||||
|
||||
echo "${launcher}" > $out/bin/jameica
|
||||
chmod +x $out/bin/jameica
|
||||
wrapProgram $out/bin/jameica --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath buildInputs} \
|
||||
--set CLASSPATH "$out/libexec/jameica.jar:$out/lib/*" \
|
||||
--run "cd $out/libexec"
|
||||
# jameica expects its working dir set to the "program directory"
|
||||
makeWrapper ${jre}/bin/java $out/bin/jameica \
|
||||
--add-flags "-cp $out/share/java/jameica.jar:$out/share/${name}/* ${
|
||||
stdenv.lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''
|
||||
} de.willuhn.jameica.Main" \
|
||||
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath buildInputs} \
|
||||
--run "cd $out/share/java/"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
name = "stellarium-${version}";
|
||||
version = "0.18.1";
|
||||
version = "0.18.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Stellarium";
|
||||
repo = "stellarium";
|
||||
rev = "v${version}";
|
||||
sha256 = "0srwi08azzzayf50dr4dr1zcdcc8hwribzv7xvb7hbp6xp51c813";
|
||||
sha256 = "17764i52dmipaz62k5n23fyx07d7cjir0dgav0s5b6sjd8gbjwbf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bowtie2";
|
||||
version = "2.3.4.1";
|
||||
version = "2.3.4.2";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BenLangmead";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "07cvcy6483araayj41arjzpxjmf4fmn4iqyl6gp6zmrbzw72wwzj";
|
||||
sha256 = "1gsfaf7rjg4nwhs7vc1vf63xd5r5v1yq58w7x3barycplzbvixzz";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib tbb ];
|
||||
|
@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://bowtie-bio.sf.net/bowtie2;
|
||||
maintainers = with maintainers; [ rybern ];
|
||||
platforms = platforms.all;
|
||||
broken = stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "igv-${version}";
|
||||
version = "2.4.13";
|
||||
version = "2.4.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip";
|
||||
sha256 = "0cl6fs1v9rqkzjq4syx0m1pr71hbhvidwa3ym57pvz8ardfs3qa1";
|
||||
sha256 = "0z9hk01czkdgi55b0qdvvi43jsqkkx6gl7wglamv425c6rklcvhc";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip jre ];
|
||||
|
|
37
pkgs/applications/science/biology/strelka/default.nix
Normal file
37
pkgs/applications/science/biology/strelka/default.nix
Normal 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" ];
|
||||
};
|
||||
|
||||
}
|
|
@ -1,17 +1,19 @@
|
|||
{ stdenv, fetchurl, which, gfortran, libGLU, xorg } :
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "5.7";
|
||||
version = "5.8.2";
|
||||
name = "molden-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz";
|
||||
sha256 = "0gaq11gm09ax25lvgfrvxv9dxvi76hps116fp6k7sqgvdd68vf0s";
|
||||
sha256 = "1lhjx8fa8xynnlk5g6ipvchhfnz6j5lgqxlsifx82pbbnbm6mps4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ which ];
|
||||
buildInputs = [ gfortran libGLU xorg.libX11 xorg.libXmu ];
|
||||
|
||||
patches = [ ./dont_register_file_types.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./makefile --replace '-L/usr/X11R6/lib' "" \
|
||||
--replace '-I/usr/X11R6/include' "" \
|
||||
|
|
|
@ -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
|
|
@ -3,7 +3,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "8.1";
|
||||
version = "8.2";
|
||||
fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; };
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
|
@ -11,7 +11,7 @@ in stdenv.mkDerivation {
|
|||
|
||||
src = fetchurl {
|
||||
url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz";
|
||||
sha256 = "0rxwvcp22364nnhwhqlr38w4rwv1yl60snxi2f8nqdflx1143n10";
|
||||
sha256 = "0z74q17lzyga44m5pbsr1hmq12ly96y44pcz7glfvc4vbaq3jd8p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl procps fftw.dev ];
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchurl, makeDesktopItem
|
||||
, python3, python3Packages
|
||||
, glew, freeglut, libpng, libxml2, tk, freetype, libmsgpack }:
|
||||
, glew, freeglut, libpng, libxml2, tk, freetype, msgpack }:
|
||||
|
||||
|
||||
with stdenv.lib;
|
||||
|
@ -29,7 +29,7 @@ python3Packages.buildPythonApplication {
|
|||
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";
|
||||
|
||||
installPhase = ''
|
||||
|
|
83
pkgs/applications/science/electronics/eagle/eagle.nix
Normal file
83
pkgs/applications/science/electronics/eagle/eagle.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
|
|||
# Build LD_PRELOAD library that redirects license file access to the home
|
||||
# directory of the user
|
||||
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
|
||||
dynlinker="$(cat $NIX_CC/nix-support/dynamic-linker)"
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gtkwave-${version}";
|
||||
version = "3.3.92";
|
||||
version = "3.3.93";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
|
||||
sha256 = "08916gv5vl7dgvlsq098mxljbciby9miyh8jqwn1q8sfdhzvmxak";
|
||||
sha256 = "0a92zlwvshp75k7cv11rc4ab11fzsy0a5qfvxkh0bjvrq1k946ys";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
|
@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
|
|||
enableParallelBuilding = true;
|
||||
|
||||
configurePhase = ''
|
||||
CC=${stdenv.cc.targetPrefix}cc
|
||||
CXX=${stdenv.cc.targetPrefix}c++
|
||||
|
||||
# Set up picosat, so we can build 'aigbmc'
|
||||
mkdir ../picosat
|
||||
ln -s ${picosat}/include/picosat/picosat.h ../picosat/picosat.h
|
||||
|
|
|
@ -15,6 +15,11 @@ stdenv.mkDerivation rec {
|
|||
# --disable-static actually enables static linking here...
|
||||
dontDisableStatic = true;
|
||||
|
||||
preConfigure = ''
|
||||
CC=${stdenv.cc.targetPrefix}gcc
|
||||
CXX=${stdenv.cc.targetPrefix}g++
|
||||
'';
|
||||
|
||||
makeFlags = [ "LEX=${flex}/bin/flex" ];
|
||||
|
||||
preInstall = ''
|
||||
|
|
|
@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
|
|||
description = "GiNaC is Not a CAS";
|
||||
homepage = http://www.ginac.de/;
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -26,5 +26,6 @@ stdenv.mkDerivation {
|
|||
meta = {
|
||||
homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf;
|
||||
description = "A program to draw implicit surfaces and curves";
|
||||
license = stdenv.lib.licenses.lgpl21;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "git-extras-${version}";
|
||||
version = "4.5.0";
|
||||
version = "4.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
|
||||
sha256 = "059680bvblbhrlkybg1yisr5zq62pir1rnaxz5izhfsw2ng9s2fb";
|
||||
sha256 = "1jp5wi2h4jqbrjv0iqa45s0f9h3n5k1dxs89jkhg5n5k9jjs7fp3";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
|
|
@ -12,11 +12,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gitkraken-${version}";
|
||||
version = "4.0.1";
|
||||
version = "4.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://release.gitkraken.com/linux/v${version}.deb";
|
||||
sha256 = "0y4r5d21mxwnwla9ggy9c4pm3zbz67yi9z06znkdz9x2chv1ci3n";
|
||||
sha256 = "0dnckd75fcgc9wa4ivbnw2djmk4phzzr891snhxpsvb1dhlc7rgx";
|
||||
};
|
||||
|
||||
libPath = makeLibraryPath [
|
||||
|
|
|
@ -104,4 +104,10 @@ stdenv.mkDerivation rec {
|
|||
inherit rubyEnv;
|
||||
ruby = rubyEnv.wrappedRuby;
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Web-based Git-repository manager";
|
||||
homepage = https://gitlab.com;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
|
@ -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']
|
|
@ -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
|
120
pkgs/applications/version-management/redmine/Gemfile
Normal file
120
pkgs/applications/version-management/redmine/Gemfile
Normal 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
|
|
@ -1,152 +1,162 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actionmailer (3.2.19)
|
||||
actionpack (= 3.2.19)
|
||||
mail (~> 2.5.4)
|
||||
actionpack (3.2.19)
|
||||
activemodel (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
builder (~> 3.0.0)
|
||||
actionmailer (4.2.8)
|
||||
actionpack (= 4.2.8)
|
||||
actionview (= 4.2.8)
|
||||
activejob (= 4.2.8)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||
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)
|
||||
journey (~> 1.0.4)
|
||||
rack (~> 1.4.5)
|
||||
rack-cache (~> 1.2)
|
||||
rack-test (~> 0.6.1)
|
||||
sprockets (~> 2.2.1)
|
||||
activemodel (3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
builder (~> 3.0.0)
|
||||
activerecord (3.2.19)
|
||||
activemodel (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
arel (~> 3.0.2)
|
||||
tzinfo (~> 0.3.29)
|
||||
activeresource (3.2.19)
|
||||
activemodel (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
activesupport (3.2.19)
|
||||
i18n (~> 0.6, >= 0.6.4)
|
||||
multi_json (~> 1.0)
|
||||
arel (3.0.3)
|
||||
awesome_nested_set (2.1.6)
|
||||
activerecord (>= 3.0.0)
|
||||
builder (3.0.0)
|
||||
capybara (2.1.0)
|
||||
mime-types (>= 1.16)
|
||||
nokogiri (>= 1.3.3)
|
||||
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)
|
||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||
activejob (4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
globalid (>= 0.3.0)
|
||||
activemodel (4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
builder (~> 3.1)
|
||||
activerecord (4.2.8)
|
||||
activemodel (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
arel (~> 6.0)
|
||||
activesupport (4.2.8)
|
||||
i18n (~> 0.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.5.2)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
arel (6.0.4)
|
||||
builder (3.2.3)
|
||||
coderay (1.1.2)
|
||||
concurrent-ruby (1.0.5)
|
||||
crass (1.0.4)
|
||||
css_parser (1.6.0)
|
||||
addressable
|
||||
erubis (2.7.0)
|
||||
fastercsv (1.5.5)
|
||||
ffi (1.9.5)
|
||||
hike (1.2.3)
|
||||
i18n (0.6.11)
|
||||
journey (1.0.4)
|
||||
jquery-rails (2.0.3)
|
||||
railties (>= 3.1.0, < 5.0)
|
||||
thor (~> 0.14)
|
||||
json (1.8.3)
|
||||
mail (2.5.4)
|
||||
mime-types (~> 1.16)
|
||||
treetop (~> 1.4.8)
|
||||
metaclass (0.0.4)
|
||||
mime-types (1.25.1)
|
||||
mini_portile (0.6.0)
|
||||
mocha (1.0.0)
|
||||
metaclass (~> 0.0.1)
|
||||
multi_json (1.10.1)
|
||||
net-ldap (0.3.1)
|
||||
nokogiri (1.6.3.1)
|
||||
mini_portile (= 0.6.0)
|
||||
pg (0.17.1)
|
||||
polyglot (0.3.5)
|
||||
rack (1.4.5)
|
||||
rack-cache (1.2)
|
||||
rack (>= 0.4)
|
||||
globalid (0.4.1)
|
||||
activesupport (>= 4.2.0)
|
||||
htmlentities (4.3.4)
|
||||
i18n (0.7.0)
|
||||
jquery-rails (3.1.5)
|
||||
railties (>= 3.0, < 5.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
loofah (2.2.2)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
mail (2.6.6)
|
||||
mime-types (>= 1.16, < 4)
|
||||
mime-types (3.2.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2018.0812)
|
||||
mimemagic (0.3.2)
|
||||
mini_portile2 (2.3.0)
|
||||
minitest (5.11.3)
|
||||
mysql2 (0.4.10)
|
||||
net-ldap (0.12.1)
|
||||
nokogiri (1.8.4)
|
||||
mini_portile2 (~> 2.3.0)
|
||||
pg (0.18.4)
|
||||
protected_attributes (1.1.4)
|
||||
activemodel (>= 4.0.1, < 5.0)
|
||||
public_suffix (3.0.3)
|
||||
rack (1.6.10)
|
||||
rack-openid (1.4.2)
|
||||
rack (>= 1.1.0)
|
||||
ruby-openid (>= 2.1.8)
|
||||
rack-ssl (1.3.4)
|
||||
rack
|
||||
rack-test (0.6.2)
|
||||
rack-test (0.6.3)
|
||||
rack (>= 1.0)
|
||||
rails (3.2.19)
|
||||
actionmailer (= 3.2.19)
|
||||
actionpack (= 3.2.19)
|
||||
activerecord (= 3.2.19)
|
||||
activeresource (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
bundler (~> 1.0)
|
||||
railties (= 3.2.19)
|
||||
railties (3.2.19)
|
||||
actionpack (= 3.2.19)
|
||||
activesupport (= 3.2.19)
|
||||
rack-ssl (~> 1.3.2)
|
||||
rails (4.2.8)
|
||||
actionmailer (= 4.2.8)
|
||||
actionpack (= 4.2.8)
|
||||
actionview (= 4.2.8)
|
||||
activejob (= 4.2.8)
|
||||
activemodel (= 4.2.8)
|
||||
activerecord (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
bundler (>= 1.3.0, < 2.0)
|
||||
railties (= 4.2.8)
|
||||
sprockets-rails
|
||||
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)
|
||||
rdoc (~> 3.4)
|
||||
thor (>= 0.14.6, < 2.0)
|
||||
rake (10.1.1)
|
||||
rdoc (3.12.2)
|
||||
json (~> 1.4)
|
||||
redcarpet (2.3.0)
|
||||
rmagick (2.13.3)
|
||||
thor (>= 0.18.1, < 2.0)
|
||||
rake (12.3.1)
|
||||
rbpdf (1.19.5)
|
||||
htmlentities
|
||||
rbpdf-font (~> 1.19.0)
|
||||
rbpdf-font (1.19.1)
|
||||
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)
|
||||
rubyzip (1.1.6)
|
||||
selenium-webdriver (2.43.0)
|
||||
childprocess (~> 0.5)
|
||||
multi_json (~> 1.0)
|
||||
rubyzip (~> 1.0)
|
||||
websocket (~> 1.0)
|
||||
shoulda (3.3.2)
|
||||
shoulda-context (~> 1.0.1)
|
||||
shoulda-matchers (~> 1.4.1)
|
||||
shoulda-context (1.0.2)
|
||||
shoulda-matchers (1.4.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)
|
||||
sprockets (3.7.2)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
sprockets-rails (3.2.1)
|
||||
actionpack (>= 4.0)
|
||||
activesupport (>= 4.0)
|
||||
sprockets (>= 3.0.0)
|
||||
thor (0.20.0)
|
||||
thread_safe (0.3.6)
|
||||
tzinfo (1.2.5)
|
||||
thread_safe (~> 0.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
activerecord-jdbc-adapter (~> 1.3.2)
|
||||
activerecord-jdbcpostgresql-adapter
|
||||
awesome_nested_set (= 2.1.6)
|
||||
builder (= 3.0.0)
|
||||
capybara (~> 2.1.0)
|
||||
coderay (~> 1.1.0)
|
||||
fastercsv (~> 1.5.0)
|
||||
jquery-rails (~> 2.0.2)
|
||||
mime-types
|
||||
mocha (~> 1.0.0)
|
||||
net-ldap (~> 0.3.1)
|
||||
pg (>= 0.11.0)
|
||||
actionpack-xml_parser
|
||||
coderay (~> 1.1.1)
|
||||
i18n (~> 0.7.0)
|
||||
jquery-rails (~> 3.1.4)
|
||||
mail (~> 2.6.4)
|
||||
mime-types (~> 3.0)
|
||||
mimemagic
|
||||
mysql2 (~> 0.4.6)
|
||||
net-ldap (~> 0.12.0)
|
||||
nokogiri (~> 1.8.1)
|
||||
pg (~> 0.18.1)
|
||||
protected_attributes
|
||||
rack-openid
|
||||
rails (= 3.2.19)
|
||||
rake (~> 10.1.1)
|
||||
rdoc (>= 2.4.2)
|
||||
redcarpet (~> 2.3.0)
|
||||
rmagick (>= 2.0.0)
|
||||
rails (= 4.2.8)
|
||||
rails-html-sanitizer (>= 1.0.3)
|
||||
rbpdf (~> 1.19.3)
|
||||
redcarpet (~> 3.4.0)
|
||||
request_store (= 1.0.5)
|
||||
rmagick (>= 2.14.0)
|
||||
roadie (~> 3.2.1)
|
||||
roadie-rails (~> 1.1.1)
|
||||
ruby-openid (~> 2.3.0)
|
||||
selenium-webdriver
|
||||
shoulda (~> 3.3.2)
|
||||
yard
|
||||
tzinfo-data
|
||||
|
||||
BUNDLED WITH
|
||||
1.16.1
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
]
|
|
@ -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 ./
|
||||
|
|
@ -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
|
||||
'';
|
||||
}
|
|
@ -1,74 +1,42 @@
|
|||
{ stdenv, fetchurl, ruby, bundler, libiconv, libxslt, libxml2, pkgconfig, libffi, imagemagickBig, postgresql }:
|
||||
{ stdenv, fetchurl, bundlerEnv, ruby }:
|
||||
|
||||
let
|
||||
gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile.nix);
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "2.5.2";
|
||||
name = "redmine-${version}";
|
||||
version = "3.4.6";
|
||||
rubyEnv = bundlerEnv {
|
||||
name = "redmine-env-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.redmine.org/releases/${name}.tar.gz";
|
||||
sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
|
||||
inherit ruby;
|
||||
gemdir = ./.;
|
||||
};
|
||||
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
|
||||
# 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
|
||||
];
|
||||
buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace lib/redmine/plugin.rb --replace "File.join(Rails.root, 'plugins')" "ENV['RAILS_PLUGINS']"
|
||||
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"] + "/*"'
|
||||
'';
|
||||
buildPhase = ''
|
||||
mv config config.dist
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
ruby bundler libiconv
|
||||
libxslt libxml2 pkgconfig libffi
|
||||
imagemagickBig postgresql
|
||||
];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share
|
||||
cp -r . $out/share/redmine
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/redmine/
|
||||
cp -R . $out/share/redmine/
|
||||
cd $out/share/redmine
|
||||
ln -s ${./Gemfile.lock} Gemfile.lock
|
||||
export HOME=$(pwd)
|
||||
for i in config files log plugins tmp; do
|
||||
rm -rf $out/share/redmine/$i
|
||||
ln -fs /run/redmine/$i $out/share/redmine/
|
||||
done
|
||||
'';
|
||||
|
||||
cat > config/database.yml <<EOF
|
||||
production:
|
||||
adapter: postgresql
|
||||
EOF
|
||||
|
||||
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;
|
||||
};
|
||||
}
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.redmine.org/;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.garbas ];
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue